summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-02-17 22:45:31 -0300
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-02-17 22:45:31 -0300
commit27a90a9d957b56dac972c9df0febb6262fb90dce (patch)
tree79251bdfb00539a1ddf1592d80eacd47971dcf24 /libre
parent87b9cca463a1dbf2b5026c9dc770b5591b2d3fdc (diff)
parent8185891e28635bdb83fdf4ba4391030912dae596 (diff)
Merge branch 'master' of gparabola:abslibre/abslibre-pre-mips64el
Conflicts: libre/audacious-plugins-libre/PKGBUILD libre/linux-libre/PKGBUILD
Diffstat (limited to 'libre')
-rw-r--r--libre/abiword-libre/PKGBUILD91
-rw-r--r--libre/abiword-libre/abiword-2.8.6-glib-2.31.patch40
-rw-r--r--libre/abiword-libre/abiword-2.8.6-libpng15.patch100
-rw-r--r--libre/abiword-libre/abiword-2.8.6-no-undefined.patch21
-rw-r--r--libre/abiword-libre/abiword.install12
-rw-r--r--libre/abiword-libre/compat_libwpg_0_9.patch371
-rw-r--r--libre/abiword-libre/liberation-fonts.patch1694
-rw-r--r--libre/abs/PKGBUILD42
-rw-r--r--libre/abuse-libre/PKGBUILD79
-rw-r--r--libre/abuse-libre/abuse.install13
-rw-r--r--libre/abuse-libre/abuse.sh15
-rw-r--r--libre/abuse-libre/default.abuserc37
-rw-r--r--libre/abuse-libre/default.gamma.lsp1
-rw-r--r--libre/abuse-libre/non-claudio.patch122
-rw-r--r--libre/acpi_call-libre-lts/PKGBUILD44
-rw-r--r--libre/acpi_call-libre-lts/acpi_call.install14
-rw-r--r--libre/acpi_call-libre/PKGBUILD45
-rw-r--r--libre/acpi_call-libre/acpi_call.install14
-rw-r--r--libre/angband-libre/PKGBUILD62
-rw-r--r--libre/angband-libre/libre.patch814
-rw-r--r--libre/arora-libre/PKGBUILD56
-rw-r--r--libre/arora-libre/duckduckgo-html.xml8
-rw-r--r--libre/arora-libre/install12
-rw-r--r--libre/arora-libre/libre.patch30
-rw-r--r--libre/arora-libre/searchengines.qrc8
-rw-r--r--libre/arora-libre/seeks-search.xml11
-rw-r--r--libre/arora-libre/wikipedia-en.xml1
-rw-r--r--libre/arora-libre/yacy.xml28
-rw-r--r--libre/ath9k-htc-firmware/LICENSE33
-rw-r--r--libre/ath9k-htc-firmware/PKGBUILD75
-rw-r--r--libre/atool-libre/PKGBUILD53
-rw-r--r--libre/atool-libre/atool.changelog18
-rw-r--r--libre/atool-libre/rePKGBUILD27
-rw-r--r--libre/audacious-plugins-libre/PKGBUILD4
-rw-r--r--libre/audex-libre/PKGBUILD49
-rw-r--r--libre/audex-libre/audex.install12
-rw-r--r--libre/audex-libre/gcc47.patch13
-rw-r--r--libre/audex-libre/google_regex.patch14
-rw-r--r--libre/audio-convert-libre/ChangeLog5
-rw-r--r--libre/audio-convert-libre/PKGBUILD33
-rw-r--r--libre/avidemux-libre/PKGBUILD125
-rw-r--r--libre/avidemux-libre/PKGBUILD.WIP94
-rw-r--r--libre/avidemux-libre/avidemux.install11
-rw-r--r--libre/bbswitch-libre/bbswitch.install12
-rw-r--r--libre/bfgminer-libre/PKGBUILD48
-rw-r--r--libre/bfgminer-libre/change-kernel-path.patch98
-rw-r--r--libre/bfgminer-libre/remove-dangerous-rpath.patch11
-rw-r--r--libre/bitlbee-libre/PKGBUILD65
-rw-r--r--libre/bitlbee-libre/bitlbee.install22
-rw-r--r--libre/bitlbee-libre/bitlbee.tmpfiles1
-rw-r--r--libre/bitlbee-libre/xinetd12
-rw-r--r--libre/blackbox-libre/PKGBUILD49
-rw-r--r--libre/blackbox-libre/bbdock.patch16
-rw-r--r--libre/blackbox-libre/bsetbg-feh.patch23
-rw-r--r--libre/blackbox-libre/gcc4.3.patch111
-rw-r--r--libre/blackbox-libre/menu112
-rw-r--r--libre/blackbox-libre/textpropertytostring-unconditional.patch28
-rw-r--r--libre/blender-addon-luxrender/PKGBUILD43
-rw-r--r--libre/blender-libre/PKGBUILD214
-rw-r--r--libre/blender-libre/blender-libre.install13
-rw-r--r--libre/bogofilter-libre/PKGBUILD49
-rw-r--r--libre/bumblebee-libre/PKGBUILD68
-rw-r--r--libre/bumblebee-libre/bumblebee.install16
-rw-r--r--libre/bumblebee-libre/libre.patch154
-rw-r--r--libre/calibre-libre/PKGBUILD20
-rw-r--r--libre/calibre-libre/calibre-mount-helper28
-rw-r--r--libre/calibre-libre/calibre.install12
-rw-r--r--libre/calibre-libre/desktop_integration.patch120
-rw-r--r--libre/cdrkit-libre/PKGBUILD59
-rw-r--r--libre/clementine-libre/PKGBUILD4
-rw-r--r--libre/clementine-libre/clementine.install15
-rw-r--r--libre/clementine-libre/moognu.pngbin0 -> 610 bytes
-rw-r--r--libre/clementine-libre/remove-nonfree-artwork-and-spotify.patch701
-rw-r--r--libre/crosstool-ng/PKGBUILD33
-rw-r--r--libre/crosstool-ng/libc_ports_short_name.patch102
-rw-r--r--libre/cups-filters-libre/PKGBUILD8
-rw-r--r--libre/cups-filters-libre/cups-browsed.service10
-rw-r--r--libre/cups-filters-libre/poppler_buildfix.diff276
-rw-r--r--libre/distcc-nozeroconf/PKGBUILD60
-rw-r--r--libre/distcc-nozeroconf/distccd.conf.d7
-rw-r--r--libre/distcc-nozeroconf/distccd.service12
-rw-r--r--libre/doublecmd-libre/PKGBUILD79
-rw-r--r--libre/doublecmd-libre/doublecmd.install34
-rwxr-xr-xlibre/dpkg/compare26
-rw-r--r--libre/dpkg/compare.mk8
-rw-r--r--libre/dvdrip-libre/PKGBUILD55
-rw-r--r--libre/dvdrip-libre/dvdrip.desktop8
-rw-r--r--libre/dvdrip-libre/dvdrip.install11
-rw-r--r--libre/dvdrip-libre/libre.patch81
-rw-r--r--libre/dvdrtools-libre/PKGBUILD55
-rw-r--r--libre/ecasound-libre/PKGBUILD6
-rw-r--r--libre/ecasound-libre/ruby2.patch12
-rw-r--r--libre/epdfview-libre/PKGBUILD59
-rw-r--r--libre/epdfview-libre/epdfview-0.1.8-glib2-headers.patch13
-rw-r--r--libre/epdfview-libre/epdfview-0.1.8-modern-cups.patch74
-rw-r--r--libre/epdfview-libre/epdfview-0.1.8-swap-the-blue-and-red-channel.patch60
-rw-r--r--libre/epdfview-libre/epdfview.install12
-rw-r--r--libre/epiphany-libre/PKGBUILD55
-rw-r--r--libre/epiphany-libre/epiphany.install13
-rw-r--r--libre/file-roller-libre/PKGBUILD42
-rw-r--r--libre/file-roller-libre/bug708854.patch92
-rw-r--r--libre/file-roller-libre/bug709035.patch43
-rw-r--r--libre/file-roller-libre/file-roller.install13
-rw-r--r--libre/file-roller-libre/rePKGBUILD26
-rw-r--r--libre/filesystem/PKGBUILD134
-rw-r--r--libre/filesystem/crypttab17
-rw-r--r--libre/filesystem/filesystem.install53
-rw-r--r--libre/filesystem/fstab4
-rw-r--r--libre/filesystem/group35
-rw-r--r--libre/filesystem/gshadow35
-rw-r--r--libre/filesystem/host.conf8
-rw-r--r--libre/filesystem/hosts9
-rw-r--r--libre/filesystem/issue2
-rw-r--r--libre/filesystem/ld.so.conf7
-rw-r--r--libre/filesystem/locale.sh28
-rw-r--r--libre/filesystem/modprobe.d.usb-load-ehci-first2
-rw-r--r--libre/filesystem/motd0
-rw-r--r--libre/filesystem/nsswitch.conf19
-rw-r--r--libre/filesystem/os-release8
-rw-r--r--libre/filesystem/parabola.7.txt91
-rw-r--r--libre/filesystem/passwd9
-rw-r--r--libre/filesystem/profile27
-rw-r--r--libre/filesystem/resolv.conf8
-rw-r--r--libre/filesystem/securetty15
-rw-r--r--libre/filesystem/shadow9
-rw-r--r--libre/filesystem/shells8
-rw-r--r--libre/ghostscript-libre/PKGBUILD92
-rw-r--r--libre/gloobus-preview-libre/fix-gtksource-include.patch39
-rw-r--r--libre/gloobus-preview-libre/fix-unoconv.patch46
-rw-r--r--libre/gloobus-preview-libre/gloobus-preview-usr-bsdtar-for-rar.patch57
-rw-r--r--libre/gloobus-preview-libre/gloobus-preview.install12
-rw-r--r--libre/gloobus-preview-libre/use-xdg-open.patch20
-rw-r--r--libre/gnome-menus/PKGBUILD36
-rw-r--r--libre/gnome-menus/menus.patch25
-rw-r--r--libre/gnormalize-libre/PKGBUILD62
-rw-r--r--libre/gnormalize-libre/gnormalize.desktop9
-rw-r--r--libre/gnormalize-libre/gnormalize.install14
-rw-r--r--libre/gnu-ghostscript/PKGBUILD89
-rw-r--r--libre/grub-legacy/040_all_grub-0.96-nxstack.patch623
-rw-r--r--libre/grub-legacy/05-grub-0.97-initrdaddr.diff16
-rw-r--r--libre/grub-legacy/PKGBUILD97
-rw-r--r--libre/grub-legacy/automake-pkglib.patch48
-rw-r--r--libre/grub-legacy/ext4.patch263
-rw-r--r--libre/grub-legacy/grub-0.97-ldflags-objcopy-remove-build-id.patch196
-rw-r--r--libre/grub-legacy/grub-inode-size.patch100
-rw-r--r--libre/grub-legacy/grub.install20
-rw-r--r--libre/grub-legacy/i2o.patch45
-rw-r--r--libre/grub-legacy/install-grub204
-rw-r--r--libre/grub-legacy/intelmac.patch67
-rw-r--r--libre/grub-legacy/menu.lst43
-rw-r--r--libre/grub-legacy/more-raid.patch100
-rw-r--r--libre/grub-legacy/special-devices.patch18
-rw-r--r--libre/grub/0069-Backport-gnulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch50
-rw-r--r--libre/grub/09_parabola178
-rw-r--r--libre/grub/10_linux.in.patch31
-rw-r--r--libre/grub/60_memtest86+32
-rw-r--r--libre/grub/PKGBUILD275
-rw-r--r--libre/grub/grub-2.00-fix-docs.patch21
-rw-r--r--libre/grub/grub-2.00-mkinitcpio-0.15.patch11
-rw-r--r--libre/grub/grub-2.00.5086-fix-lvm-parsing.patch54
-rw-r--r--libre/grub/grub-add-GRUB_COLOR_variables.patch32
-rw-r--r--libre/grub/grub.default47
-rw-r--r--libre/grub/grub.install33
-rw-r--r--libre/grub/parabola_grub_mkconfig_fixes.patch170
-rw-r--r--libre/gst-plugins-bad-libre/PKGBUILD47
-rw-r--r--libre/gstreamer0.10-bad-libre/PKGBUILD71
-rw-r--r--libre/gstreamer0.10-bad-libre/disable-assrender-test.patch11
-rw-r--r--libre/gstreamer0.10-bad-libre/disable-camerabin-test.patch10
-rw-r--r--libre/gstreamer0.10-bad-libre/gstreamer0.10-bad-plugins.install11
-rw-r--r--libre/gummiboot/PKGBUILD51
-rw-r--r--libre/gummiboot/gummiboot.install13
-rw-r--r--libre/gummiboot/loader.conf2
-rw-r--r--libre/gummiboot/parabola.conf7
-rw-r--r--libre/gummiboot/splash-parabola.bmpbin0 -> 470410 bytes
-rw-r--r--libre/h-client/PKGBUILD35
-rw-r--r--libre/hardinfo/PKGBUILD34
-rw-r--r--libre/hardinfo/fixsensors.patch13
-rw-r--r--libre/hardinfo/hardinfo.distro1
-rw-r--r--libre/hexchat-libre/PKGBUILD47
-rw-r--r--libre/hexchat-libre/hexchat.install14
-rw-r--r--libre/hplip-libre/cups-1.6-buildfix.diff392
-rw-r--r--libre/hplip-libre/disable_upgrade.patch14
-rw-r--r--libre/hplip-libre/hp-mkuri.patch11
-rw-r--r--libre/hplip-libre/hplip-CVE-2013-4325.patch22
-rw-r--r--libre/hplip-libre/hplip.install18
-rw-r--r--libre/hplip-libre/hplip_typo.patch11
-rw-r--r--libre/hydrogen-libre/PKGBUILD64
-rw-r--r--libre/hydrogen-libre/hydrogen.install9
-rw-r--r--libre/hydrogen-libre/install.patch12
-rw-r--r--libre/hydrogen-libre/lrdf_raptor2.patch11
-rw-r--r--libre/icecat-adblock-plus/PKGBUILD35
-rw-r--r--libre/icecat-firebug/PKGBUILD30
-rw-r--r--libre/icecat-l10n/Makefile38
-rw-r--r--libre/icecat-l10n/PKGBUILD173
-rw-r--r--libre/icecat-l10n/region.properties26
-rw-r--r--libre/icecat-noscript/PKGBUILD6
-rw-r--r--libre/icecat-raismth/PKGBUILD28
-rw-r--r--libre/icecat-spell-ru/PKGBUILD31
-rw-r--r--libre/icecat/PKGBUILD188
-rw-r--r--libre/icecat/gcc47.patch75
-rw-r--r--libre/icecat/icecat-20.0.1-fixed-loading-icon.pngbin0 -> 12184 bytes
-rw-r--r--libre/icecat/icecat-install-dir.patch30
-rw-r--r--libre/icecat/icecat-safe.desktop78
-rw-r--r--libre/icecat/icecat.desktop78
-rw-r--r--libre/icecat/icecat.install13
-rw-r--r--libre/icecat/libre.patch82
-rw-r--r--libre/icecat/mozconfig39
-rw-r--r--libre/icecat/mozconfig.pgo3
-rw-r--r--libre/icecat/vendor.js12
-rw-r--r--libre/icecat/xulrunner-copy-stub.patch11
-rw-r--r--libre/icedove-l10n/PKGBUILD115
-rw-r--r--libre/icedove-l10n/brand.dtd4
-rw-r--r--libre/icedove-l10n/brand.properties3
-rw-r--r--libre/icedove-libre/PKGBUILD136
-rw-r--r--libre/icedove-libre/icedove.desktop13
-rw-r--r--libre/icedove-libre/icedove.install12
-rw-r--r--libre/icedove-libre/mozconfig46
-rw-r--r--libre/icedove-libre/vendor.js9
-rw-r--r--libre/iceweasel-adblock-plus/PKGBUILD35
-rw-r--r--libre/iceweasel-firebug/PKGBUILD30
-rw-r--r--libre/iceweasel-l10n/Makefile59
-rw-r--r--libre/iceweasel-l10n/PKGBUILD155
-rw-r--r--libre/iceweasel-l10n/region.properties26
-rw-r--r--libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch287
-rw-r--r--libre/iceweasel-libre/Fixup-Reset-Firefox-after-bad-merge.patch108
-rw-r--r--libre/iceweasel-libre/PKGBUILD244
-rw-r--r--libre/iceweasel-libre/gnu_headshadow.pngbin0 -> 6785 bytes
-rw-r--r--libre/iceweasel-libre/iceweasel-20.0.1-fixed-loading-icon.pngbin0 -> 12184 bytes
-rw-r--r--libre/iceweasel-libre/iceweasel-install-dir.patch29
-rw-r--r--libre/iceweasel-libre/iceweasel.desktop105
-rw-r--r--libre/iceweasel-libre/iceweasel.install13
-rw-r--r--libre/iceweasel-libre/libre.patch891
-rw-r--r--libre/iceweasel-libre/mozconfig38
-rw-r--r--libre/iceweasel-libre/mozconfig.pgo3
-rw-r--r--libre/iceweasel-libre/vendor.js22
-rw-r--r--libre/iceweasel-noscript/PKGBUILD6
-rw-r--r--libre/iceweasel-raismth/PKGBUILD28
-rw-r--r--libre/iceweasel-spell-ru/PKGBUILD31
-rw-r--r--libre/jquery-ui/PKGBUILD31
-rw-r--r--libre/jquery/PKGBUILD29
-rw-r--r--libre/kdebase-konqueror-libre/PKGBUILD54
-rw-r--r--libre/kdebase-konqueror-libre/kdebase-konqueror.install12
-rw-r--r--libre/kdebase-konqueror-libre/konq-about-fsdg.diff33
-rw-r--r--libre/kdebase-runtime-libre/PKGBUILD8
-rw-r--r--libre/kdebase-runtime-libre/duckduckgo_html.desktop113
-rw-r--r--libre/kdebase-runtime-libre/duckduckgo_lite.desktop113
-rw-r--r--libre/kdebase-runtime-libre/kdebase-runtime.install13
-rw-r--r--libre/kdelibs-libre/PKGBUILD67
-rw-r--r--libre/kdelibs-libre/fix-xfreepixmap-call.patch24
-rw-r--r--libre/kdelibs-libre/kde-applications-menu.patch22
-rw-r--r--libre/kdelibs-libre/kdelibs.install13
-rw-r--r--libre/kdelibs-libre/khtml-fsdg.diff50
-rw-r--r--libre/kdelibs-libre/qt4.patch11
-rw-r--r--libre/kdelibs-libre/security-fix.patch32
-rw-r--r--libre/kdenetwork-kopete-libre/PKGBUILD47
-rw-r--r--libre/kdenetwork-kopete-libre/kdenetwork-kopete.install12
-rw-r--r--libre/kdenetwork-kopete-libre/kdenetwork.install11
-rw-r--r--libre/kdepim-libre/PKGBUILD282
-rw-r--r--libre/kdepim-libre/fix-completion.patch182
-rw-r--r--libre/kdepim-libre/kdepim-akregator.install12
-rw-r--r--libre/kdepim-libre/kdepim-kleopatra.install12
-rw-r--r--libre/kdepim-libre/kdepim-kmail.install12
-rw-r--r--libre/kdepim-libre/kdepim-knode.install12
-rw-r--r--libre/kdepim-libre/kdepim-korganizer.install12
-rw-r--r--libre/kdepim-libre/kdepim-ktnef.install12
-rw-r--r--libre/kdepim-libre/kdepim.install11
-rw-r--r--libre/kdeutils-ark-libre/PKGBUILD45
-rw-r--r--libre/kdeutils-ark-libre/ark-unar-06.patch236
-rw-r--r--libre/kdeutils-ark-libre/kdeutils-ark.install12
-rw-r--r--libre/kile-libre/PKGBUILD43
-rw-r--r--libre/kile-libre/kile.install13
-rw-r--r--libre/kile-libre/no-acroread.patch97
-rw-r--r--libre/libclc-svn/PKGBUILD33
-rw-r--r--libre/libquicktime-libre/PKGBUILD42
-rw-r--r--libre/libquicktime-libre/ffmpeg2.0.patch135
-rw-r--r--libre/libretools/PKGBUILD11
-rw-r--r--libre/licenses-libre/PKGBUILD134
-rw-r--r--libre/licenses-libre/ZopePublicLicense.txt54
-rw-r--r--libre/licenses-libre/cc-by-3.0.txt60
-rw-r--r--libre/licenses-libre/cc-by-sa-3.0.txt63
-rw-r--r--libre/licenses-libre/cc-readme.txt10
-rw-r--r--libre/licenses-libre/cddl-1.0.txt377
-rw-r--r--libre/licenses-libre/cpl-1.0.txt217
-rw-r--r--libre/licenses-libre/eclipse-1.0.txt88
-rw-r--r--libre/licenses-libre/perlartistic.txt151
-rw-r--r--libre/licenses-libre/python-2.txt193
-rw-r--r--libre/licenses-libre/w3c.txt76
-rw-r--r--libre/liferea-libre/PKGBUILD4
-rw-r--r--libre/liferea-libre/libnotify-0.7.patch21
-rw-r--r--libre/liferea-libre/liferea.install21
-rw-r--r--libre/liferea-libre/remove-non-free-suggestions.patch50
-rw-r--r--libre/linux-libre-api-headers/PKGBUILD44
-rw-r--r--libre/linux-libre-firmware/PKGBUILD61
-rw-r--r--libre/linux-libre-lts/Kbuild19
-rw-r--r--libre/linux-libre-lts/Kbuild.platforms6
-rw-r--r--libre/linux-libre-lts/PKGBUILD27
-rw-r--r--libre/linux-libre-lts/boot-logo.patch23163
-rw-r--r--libre/linux-libre-lts/change-default-console-loglevel.patch12
-rw-r--r--libre/linux-libre-lts/config.i6866308
-rw-r--r--libre/linux-libre-lts/config.x86_646109
-rw-r--r--libre/linux-libre-lts/criu-no-expert.patch22
-rw-r--r--libre/linux-libre-lts/linux-libre-lts.install35
-rw-r--r--libre/linux-libre-lts/linux-libre-lts.preset14
-rw-r--r--libre/linux-libre-manpages/PKGBUILD31
-rw-r--r--libre/linux-libre-tools/cpupower.default29
-rw-r--r--libre/linux-libre-tools/cpupower.install13
-rw-r--r--libre/linux-libre-tools/cpupower.service10
-rw-r--r--libre/linux-libre-tools/cpupower.systemd32
-rw-r--r--libre/linux-libre-tools/usbipd.service9
-rw-r--r--libre/linux-libre/0001-x86-x32-Correct-invalid-use-of-user-timespec-in-the-.patch80
-rw-r--r--libre/linux-libre/ChangeLog39
-rw-r--r--libre/linux-libre/Kbuild19
-rw-r--r--libre/linux-libre/Kbuild.platforms6
-rw-r--r--libre/linux-libre/PKGBUILD13
-rw-r--r--libre/linux-libre/boot-logo.patch23167
-rw-r--r--libre/linux-libre/change-default-console-loglevel.patch12
-rw-r--r--libre/linux-libre/config.i6866463
-rw-r--r--libre/linux-libre/config.x86_646263
-rw-r--r--libre/linux-libre/criu-no-expert.patch22
-rw-r--r--libre/linux-libre/linux-libre.install35
-rw-r--r--libre/linux-libre/linux-libre.preset14
-rw-r--r--libre/linux-libre/logo_linux_clut224.ppm861
-rw-r--r--libre/linux-libre/logo_linux_mono.pbm159
-rw-r--r--libre/linux-libre/logo_linux_vga16.ppm18724
-rw-r--r--libre/linux-libre/nfs-check-gssd-running-before-krb5i-auth.patch48
-rw-r--r--libre/linux-libre/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch50
-rw-r--r--libre/linux-libre/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch32
-rw-r--r--libre/linux-libre/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch96
-rw-r--r--libre/linux-libre/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch233
-rw-r--r--libre/linux-libre/sunrpc-replace-gssd_running-with-more-reliable-check.patch139
-rw-r--r--libre/lirc-libre/PKGBUILD6
-rw-r--r--libre/lirc-libre/irexec.service11
-rw-r--r--libre/lirc-libre/kernel-2.6.39.patch54
-rw-r--r--libre/lirc-libre/linux-3.8.patch80
-rw-r--r--libre/lirc-libre/lirc-utils.install7
-rw-r--r--libre/lirc-libre/lirc.install16
-rw-r--r--libre/lirc-libre/lirc.logrotate5
-rw-r--r--libre/lirc-libre/lirc.service12
-rw-r--r--libre/lirc-libre/lirc.tmpfiles1
-rw-r--r--libre/lirc-libre/lirc_atiusb-kfifo.patch31
-rw-r--r--libre/lirc-libre/lirc_wpc8769l.patch88
-rw-r--r--libre/lirc-libre/lircd-handle-large-config.patch39
-rw-r--r--libre/lirc-libre/lircm.service12
-rw-r--r--libre/lsb-release/PKGBUILD44
-rw-r--r--libre/lsb-release/lsb-release.install12
-rw-r--r--libre/lsb-release/lsb_release_description.patch11
-rw-r--r--libre/luxrender-libre/PKGBUILD59
-rw-r--r--libre/luxrender-libre/force_python3.diff12
-rw-r--r--libre/makepkg-git/PKGBUILD49
-rw-r--r--libre/mate-document-viewer-libre/PKGBUILD51
-rw-r--r--libre/mate-document-viewer-libre/mate-document-viewer.install13
-rw-r--r--libre/mate-file-archiver-libre/PKGBUILD51
-rw-r--r--libre/mate-file-archiver-libre/fr-rpm-bsdtar.patch60
-rw-r--r--libre/mate-file-archiver-libre/mate-file-archiver.install13
-rw-r--r--libre/mc-libre/PKGBUILD72
-rw-r--r--libre/mcomix-libre/PKGBUILD50
-rw-r--r--libre/mcomix-libre/mcomix.install30
-rw-r--r--libre/mesa-demos-libre/LICENSE82
-rw-r--r--libre/mesa-demos-libre/PKGBUILD46
-rw-r--r--libre/mesa-demos-libre/mesa-demos-libre.patch114
-rw-r--r--libre/mesa-libcl/PKGBUILD51
-rw-r--r--libre/midori-libre-gtk3/PKGBUILD66
-rw-r--r--libre/midori-libre-gtk3/midori.install14
-rw-r--r--libre/midori-libre/PKGBUILD66
-rw-r--r--libre/midori-libre/midori.install14
-rw-r--r--libre/mime-types/PKGBUILD23
-rw-r--r--libre/mime-types/parabola.patch7
-rw-r--r--libre/mkisolinux/PKGBUILD28
-rw-r--r--libre/mkisolinux/boot.msg15
-rwxr-xr-xlibre/mkisolinux/mkisolinux116
-rw-r--r--libre/mkisolinux/mkisolinux.conf39
-rw-r--r--libre/mkisolinux/options.msg6
-rw-r--r--libre/mkpxelinux/PKGBUILD27
-rw-r--r--libre/mkpxelinux/boot.msg14
-rwxr-xr-xlibre/mkpxelinux/mkpxelinux91
-rw-r--r--libre/mkpxelinux/mkpxelinux.conf37
-rw-r--r--libre/mkpxelinux/options.msg6
-rw-r--r--libre/mksyslinux/PKGBUILD26
-rw-r--r--libre/mksyslinux/boot.msg15
-rwxr-xr-xlibre/mksyslinux/mksyslinux144
-rw-r--r--libre/mksyslinux/mksyslinux.conf34
-rw-r--r--libre/mksyslinux/options.msg6
-rw-r--r--libre/mozilla-searchplugins/PKGBUILD42
-rw-r--r--libre/mozilla-searchplugins/duckduckgo-html.xml17
-rw-r--r--libre/mozilla-searchplugins/duckduckgo-lite.xml17
-rw-r--r--libre/mozilla-searchplugins/internet-archive.xml12
-rw-r--r--libre/mozilla-searchplugins/parabola-packages.xml9
-rw-r--r--libre/mozilla-searchplugins/parabola-wiki-en.xml10
-rw-r--r--libre/mozilla-searchplugins/yacy.xml28
-rw-r--r--libre/mplayer-libre/cdio-includes.patch43
-rw-r--r--libre/mplayer-libre/include-samba-4.0.patch12
-rw-r--r--libre/mplayer-libre/mplayer.desktop22
-rw-r--r--libre/mplayer-libre/mplayer.install11
-rw-r--r--libre/mplayer-libre/mplayer.pngbin0 -> 1982 bytes
-rw-r--r--libre/mplayer-vaapi-libre/cdio-includes.patch43
-rw-r--r--libre/mplayer-vaapi-libre/mplayer-vaapi.install11
-rw-r--r--libre/mplayer-vaapi-libre/subreader-fix-srt-parsing.patch40
-rw-r--r--libre/mplayer-vaapi-libre/tweak-desktop-file.patch14
-rw-r--r--libre/netsurf-libre/PKGBUILD126
-rw-r--r--libre/netsurf-libre/netsurf.install13
-rw-r--r--libre/netsurf-libre/netsurf.sh7
-rw-r--r--libre/ogmrip-libre/PKGBUILD47
-rw-r--r--libre/ogmrip-libre/ogmrip.changelog33
-rw-r--r--libre/ogmrip-libre/ogmrip.install11
-rw-r--r--libre/opencollada/PKGBUILD51
-rw-r--r--libre/opencolorio/PKGBUILD42
-rw-r--r--libre/openexr-libre/PKGBUILD62
-rw-r--r--libre/openexr-libre/gcc43.patch11
-rw-r--r--libre/openimageio/PKGBUILD82
-rw-r--r--libre/openshadinglanguage/PKGBUILD100
-rw-r--r--libre/openshadinglanguage/llvm.patch331
-rw-r--r--libre/openshot-libre/PKGBUILD28
-rw-r--r--libre/openshot-libre/openshot.install12
-rw-r--r--libre/oss-libre/PKGBUILD104
-rw-r--r--libre/oss-libre/linux-3.8.patch40
-rw-r--r--libre/oss-libre/oss.install25
-rw-r--r--libre/oss-libre/oss.service12
-rw-r--r--libre/oss-libre/remove-hal.patch20
-rw-r--r--libre/oss-libre/rm-init-scripts.patch52
-rw-r--r--libre/oss-libre/soundon.patch28
-rw-r--r--libre/p7zip-libre/7zFM.desktop9
-rw-r--r--libre/p7zip-libre/9.04-makefile.patch19
-rw-r--r--libre/p7zip-libre/PKGBUILD84
-rw-r--r--libre/p7zip-libre/install13
-rw-r--r--libre/p7zip-libre/p7zip-libre.patch6540
-rw-r--r--libre/pacman-mirrorlist-libre/PKGBUILD25
-rw-r--r--libre/pacman/PKGBUILD98
-rw-r--r--libre/pacman/makepkg.conf140
-rw-r--r--libre/pacman/pacman.conf.i686103
-rw-r--r--libre/pacman/pacman.conf.mips64el103
-rw-r--r--libre/pacman/pacman.conf.x86_64118
-rw-r--r--libre/parabola-keyring/PKGBUILD19
-rw-r--r--libre/parabola-keyring/parabola-keyring.install11
-rw-r--r--libre/parabola-themes-slim/PKGBUILD23
-rw-r--r--libre/parabola-xdg-menu/PKGBUILD52
-rw-r--r--libre/parabolaiso-data/PKGBUILD29
-rw-r--r--libre/parabolaiso/PKGBUILD23
-rw-r--r--libre/pngcrush/PKGBUILD26
-rw-r--r--libre/povray-libre/PKGBUILD73
-rw-r--r--libre/povray-libre/povray3.7.0_rc3-user-conf.patch27
-rw-r--r--libre/psi/PKGBUILD35
-rw-r--r--libre/psi/parabola.patch54
-rw-r--r--libre/psi/psi.install12
-rw-r--r--libre/psutils-libre/PKGBUILD57
-rw-r--r--libre/psutils-libre/libre.patch41
-rw-r--r--libre/psutils-libre/psutils-1.17.diff33
-rw-r--r--libre/python-pgpdump/PKGBUILD27
-rw-r--r--libre/python2-bencode/PKGBUILD24
-rw-r--r--libre/python2-bencode/bittorrent-osl.txt510
-rw-r--r--libre/python2-cssmin-fredj/PKGBUILD33
-rw-r--r--libre/python2-django-countries/PKGBUILD32
-rw-r--r--libre/python2-jsmin/PKGBUILD27
-rw-r--r--libre/python2-ply/PKGBUILD16
-rw-r--r--libre/python2-reportlab-libre/PKGBUILD52
-rw-r--r--libre/python2-reportlab-libre/free-fonts.patch144
-rw-r--r--libre/qupzilla-libre/PKGBUILD88
-rw-r--r--libre/qupzilla-libre/qupzilla.install12
-rw-r--r--libre/qupzilla-libre/searchenginesmanager.cpp.sed19
-rw-r--r--libre/qupzilla-libre/speeddial.cpp.sed4
-rw-r--r--libre/qupzilla-libre/start.html.sed1
-rw-r--r--libre/reflector/PKGBUILD43
-rw-r--r--libre/reflector/rebranding.patch63
-rw-r--r--libre/ronn/PKGBUILD34
-rw-r--r--libre/rp-pppoe-libre/PKGBUILD54
-rw-r--r--libre/rp-pppoe-libre/adsl35
-rw-r--r--libre/rp-pppoe-libre/adsl.service10
-rw-r--r--libre/rp-pppoe-libre/kmode.patch19
-rw-r--r--libre/rp-pppoe-libre/rp-pppoe-libre.patch110
-rw-r--r--libre/rp-pppoe-libre/rp-pppoe.install12
-rw-r--r--libre/ruby-hpricot/PKGBUILD27
-rw-r--r--libre/ruby-mustache/PKGBUILD33
-rw-r--r--libre/ruby-rdiscount/PKGBUILD36
-rw-r--r--libre/sdl-libre/PKGBUILD65
-rw-r--r--libre/sdl-libre/fix_joystick_misc_axes.diff13
-rw-r--r--libre/sdl-libre/libre.patch578
-rw-r--r--libre/sdl-libre/libsdl-1.2.15-resizing.patch63
-rw-r--r--libre/sdl-libre/sdl-1.2.14-disable-mmx.patch13
-rw-r--r--libre/sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch23
-rw-r--r--libre/sdl-libre/sdl_x11sym.patch12
-rw-r--r--libre/sh-roundup/PKGBUILD44
-rw-r--r--libre/sh-roundup/makefile-fix.patch11
-rw-r--r--libre/soundkonverter-libre/PKGBUILD52
-rw-r--r--libre/soundkonverter-libre/soundkonverter.install12
-rw-r--r--libre/spectrwm-libre/LICENSE47
-rw-r--r--libre/spectrwm-libre/PKGBUILD77
-rw-r--r--libre/spectrwm-libre/baraction.sh82
-rw-r--r--libre/spectrwm-libre/spectrwm-no-preload2
-rw-r--r--libre/spectrwm-libre/swmhack_path.patch27
-rw-r--r--libre/stuntrally-data-libre/PKGBUILD74
-rw-r--r--libre/stuntrally-data-libre/libre.patch72
-rw-r--r--libre/syslinux/PKGBUILD199
-rw-r--r--libre/syslinux/splash.pngbin0 -> 11947 bytes
-rw-r--r--libre/syslinux/splash.xcfbin0 -> 30757 bytes
-rw-r--r--libre/syslinux/syslinux-6.00-efi-export-kbdmap.patch38
-rw-r--r--libre/syslinux/syslinux-6.00-efi-fix-libcom32.patch45
-rw-r--r--libre/syslinux/syslinux-6.02-fix-bios-isolinux.patch12
-rw-r--r--libre/syslinux/syslinux-6.02-fix-chainloading.patch47
-rw-r--r--libre/syslinux/syslinux-6.02-fix-efi-ovmf.patch621
-rw-r--r--libre/syslinux/syslinux-dont-build-dos-windows-targets.patch12
-rw-r--r--libre/syslinux/syslinux-install_update453
-rw-r--r--libre/syslinux/syslinux.cfg78
-rw-r--r--libre/syslinux/syslinux.install43
-rw-r--r--libre/texlive-bin-libre/09-texlive-fonts.conf9
-rw-r--r--libre/texlive-bin-libre/PKGBUILD304
-rw-r--r--libre/texlive-bin-libre/fix-fontforge-encoding.patch12
-rw-r--r--libre/texlive-bin-libre/luatex-poppler-0.20.patch77
-rw-r--r--libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch23
-rw-r--r--libre/texlive-bin-libre/poppler-0.20.patch22
-rw-r--r--libre/texlive-bin-libre/texlive.install50
-rw-r--r--libre/texlive-bin-libre/texmf.cnf724
-rw-r--r--libre/texlive-core-libre/09-texlive-fonts.conf9
-rw-r--r--libre/texlive-core-libre/PKGBUILD318
-rw-r--r--libre/texlive-core-libre/texlive-core.maps46
-rw-r--r--libre/texlive-core-libre/texlive.install58
-rw-r--r--libre/texlive-core-libre/texmf.cnf782
-rw-r--r--libre/texlive-fontsextra-libre/PKGBUILD70
-rw-r--r--libre/texlive-fontsextra-libre/texlive-fontsextra.maps134
-rw-r--r--libre/texlive-fontsextra-libre/texlive.install52
-rw-r--r--libre/texlive-latexextra-libre/PKGBUILD91
-rw-r--r--libre/texlive-latexextra-libre/texlive-latexextra.maps3
-rw-r--r--libre/texlive-latexextra-libre/texlive.install52
-rw-r--r--libre/tokyocabinet/PKGBUILD36
-rw-r--r--libre/tp_smapi-libre-lts/PKGBUILD4
-rw-r--r--libre/tp_smapi-libre-lts/tp_smapi-lts.install13
-rw-r--r--libre/tp_smapi-libre/tp_smapi.install13
-rw-r--r--libre/unar/PKGBUILD43
-rw-r--r--libre/unar/libz.patch13
-rw-r--r--libre/unar/native_obj_exceptions.patch22
-rw-r--r--libre/unzip-libre/PKGBUILD57
-rw-r--r--libre/unzip-libre/match.patch472
-rw-r--r--libre/usermin/PKGBUILD129
-rw-r--r--libre/usermin/usermin.install34
-rw-r--r--libre/usermin/usermin.service9
-rw-r--r--libre/vhba-module-libre/60-vhba.rules1
-rw-r--r--libre/vhba-module-libre/vhba-module.install22
-rw-r--r--libre/vim-runtime/PKGBUILD105
-rw-r--r--libre/vim-runtime/parabola.vim27
-rw-r--r--libre/vim-runtime/vimrc16
-rw-r--r--libre/vim/PKGBUILD227
-rw-r--r--libre/vim/gvim.desktop63
-rw-r--r--libre/vim/gvim.install11
-rw-r--r--libre/vim/parabola.vim27
-rw-r--r--libre/vim/vimrc16
-rw-r--r--libre/webmin/PKGBUILD216
-rw-r--r--libre/webmin/webmin.install35
-rw-r--r--libre/webmin/webmin.service11
-rw-r--r--libre/wings3d-libre/PKGBUILD65
-rw-r--r--libre/wings3d-libre/wings3d.install14
-rw-r--r--libre/wings3d-libre/wings3d.pngbin0 -> 25466 bytes
-rw-r--r--libre/wings3d-libre/wings3d.sh2
-rw-r--r--libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch110
-rw-r--r--libre/xarchiver-libre/xarchiver-0.5.2-rpm2cpio.patch84
-rw-r--r--libre/xarchiver-libre/xarchiver-0.5.2-segfault-open-with.patch15
-rw-r--r--libre/xarchiver-libre/xarchiver.install12
-rw-r--r--libre/xbmc-libre/ChangeLog69
-rw-r--r--libre/xbmc-libre/PKGBUILD4
-rw-r--r--libre/xbmc-libre/xbmc.service13
-rw-r--r--libre/xchat-libre/ChangeLog49
-rw-r--r--libre/xchat-libre/PKGBUILD68
-rw-r--r--libre/xchat-libre/no-firefox.patch16
-rw-r--r--libre/xchat-libre/remove-non-free-suggestion.patch12
-rw-r--r--libre/xchat-libre/xchat-2.8.8-glib-2.31.patch62
-rw-r--r--libre/xchat-libre/xchat-2.8.8-libnotify07.patch24
-rw-r--r--libre/xchat-libre/xchat-2.8.8-link-against-libnotify.patch343
-rw-r--r--libre/xchat-libre/xchat.install11
-rw-r--r--libre/xmlstarlet/PKGBUILD29
-rw-r--r--libre/xorg-fonts-100dpi-libre/PKGBUILD40
-rw-r--r--libre/xorg-fonts-100dpi-libre/xfonts.install15
-rw-r--r--libre/xorg-fonts-75dpi-libre/PKGBUILD37
-rw-r--r--libre/xorg-fonts-75dpi-libre/xfonts.install15
-rw-r--r--libre/xorg-fonts-type1-libre/PKGBUILD46
-rw-r--r--libre/xorg-fonts-type1-libre/xfonts.install15
-rw-r--r--libre/xscreensaver-libre/LICENSE10
-rw-r--r--libre/xscreensaver-libre/PKGBUILD56
-rw-r--r--libre/xscreensaver-libre/xscreensaver-add-electricsheep.diff10
-rw-r--r--libre/xsp/PKGBUILD58
-rw-r--r--libre/xsp/xsp.conf.d10
-rw-r--r--libre/xsp/xsp.install37
-rw-r--r--libre/xsp/xsp.rc.d40
-rw-r--r--libre/xsp/xsp.service8
-rw-r--r--libre/xsp/xsp.webapp8
-rw-r--r--libre/your-freedom/PKGBUILD25
-rw-r--r--libre/your-freedom/your-freedom.install32
-rw-r--r--libre/your-freedom_emu/PKGBUILD24
-rw-r--r--libre/your-freedom_emu/your-freedom_emu.install27
585 files changed, 133186 insertions, 243 deletions
diff --git a/libre/abiword-libre/PKGBUILD b/libre/abiword-libre/PKGBUILD
new file mode 100644
index 000000000..301ffd497
--- /dev/null
+++ b/libre/abiword-libre/PKGBUILD
@@ -0,0 +1,91 @@
+# $Id: PKGBUILD 203024 2014-01-01 19:07:24Z andyrtr $
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Maël Lavault <moimael@neuf.fr>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgbase=abiword
+pkgbase=abiword-libre
+pkgname=('abiword-libre' 'abiword-libre-plugins')
+pkgver=3.0.0
+pkgrel=1.1
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL')
+url='http://www.abisource.com'
+makedepends=('pkgconfig' 'asio' 'boost' 'fribidi' 'goffice' 'libwmf' 'wv'
+ 'link-grammar' 'gtkmathview' 'aiksaurus' 'libxslt' 'enchant'
+ 'libots' 'libwpg' 'librsvg' 'loudmouth' 'libsoup' 'psiconv'
+ 'redland' 'libical')
+options=('!makeflags')
+source=(http://abisource.com/downloads/$_pkgbase/$pkgver/source/$_pkgbase-$pkgver.tar.gz
+ liberation-fonts.patch)
+md5sums=('8d9c41cff3a8fbef8d0c835c65600e65'
+ 'e7ef4d436469ae4b24b0f784b09ab023')
+
+prepare() {
+ cd $_pkgbase-$pkgver
+
+ # Replace nonfree fonts support to liberation fonts
+ patch -Np1 -i "${srcdir}/liberation-fonts.patch"
+}
+
+build() {
+ cd $_pkgbase-$pkgver
+
+# Collab plugin is somehow broken:
+# part service
+#In file included from ./../../../backends/service/xp/RealmConnection.h:33:0,
+# from ./../../../backends/service/xp/AbiCollabSaveInterceptor.h:23,
+# from ./../../../backends/service/xp/ServiceAccountHandler.h:33,
+# from ServiceUnixAccountHandler.h:23,
+# from ServiceUnixAccountHandler.cpp:20:
+#./../../../core/sync/xp/SynchronizedQueue.h:32:1: error: expected class-name before '{' token
+# {
+# part tcp
+#In file included from ./../../../backends/tcp/xp/IOServerHandler.h:29:0,
+# from ./../../../backends/tcp/xp/TCPAccountHandler.h:25,
+# from TCPUnixAccountHandler.h:22,
+# from TCPUnixAccountHandler.cpp:20:
+#./../../../backends/tcp/xp/Session.h:34:63: error: expected class-name before ',' token
+# class Session : public Synchronizer, public boost::noncopyable, public boost::enable_shared_from_this<Session>
+
+ ./configure --prefix=/usr \
+ --enable-shared \
+ --disable-static \
+ --enable-clipart \
+ --enable-templates \
+ --disable-builtin-plugins \
+ --enable-plugins \
+ --disable-collab-backend-service \
+ --disable-collab-backend-tcp
+ make
+}
+
+package_abiword-libre() {
+ pkgdesc='Fully-featured word processor, without nonfree fonts support'
+ depends=('fribidi' 'wv' 'goffice' 'librsvg' 'enchant' 'desktop-file-utils'
+ 'redland' 'libical' 'gtk-update-icon-cache')
+ install=$_pkgbase.install
+ optdepends=('abiword-libre-plugins')
+ conflicts=("abiword-libre-plugins<${pkgver}-${pkgrel}" 'abiword')
+ replaces=('abiword')
+ provides=("abiword=$pkgver")
+
+ cd $_pkgbase-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ # split out plugins, there's no Makefile target for a clean way
+ mkdir ${srcdir}/_pluginsdir
+ mv "$pkgdir"/usr/lib/abiword-${pkgver%.*}/plugins ${srcdir}/_pluginsdir
+}
+
+package_abiword-libre-plugins() {
+ pkgdesc='Additional plugins for Abiword, without nonfree fonts support'
+ depends=("abiword-libre=${pkgver}-${pkgrel}" 'loudmouth' 'libwpg' 'libwmf' 'link-grammar'
+ 'gtkmathview' 'aiksaurus' 'libxslt' 'libsoup' 'libots' 'libgsf' 'psiconv')
+ conflicts=('abiword-plugins')
+ replaces=('abiword-plugins')
+ provides=("abiword-plugins=$pkgver")
+
+ install -dm755 ${pkgdir}/usr/lib/abiword-${pkgver%.*}
+ mv ${srcdir}/_pluginsdir/plugins ${pkgdir}/usr/lib/abiword-${pkgver%.*}/
+}
diff --git a/libre/abiword-libre/abiword-2.8.6-glib-2.31.patch b/libre/abiword-libre/abiword-2.8.6-glib-2.31.patch
new file mode 100644
index 000000000..8b938cc25
--- /dev/null
+++ b/libre/abiword-libre/abiword-2.8.6-glib-2.31.patch
@@ -0,0 +1,40 @@
+------------------------------------------------------------------------
+r30479 | hub | 2011-11-29 00:39:09 -0500 (Tue, 29 Nov 2011) | 2 lines
+Changed paths:
+ M /abiword/trunk/src/af/util/xp/ut_go_file.h
+
+Bug 13197: only import glib.h
+Patch by Dominique Leuenberger.
+------------------------------------------------------------------------
+r30602 | hub | 2012-01-30 02:00:38 -0500 (Mon, 30 Jan 2012) | 2 lines
+Changed paths:
+ M /abiword/trunk/goffice-bits/goffice/app/goffice-app.h
+
+Bug 13247 - Fix glib headers. Patch by Funda Wang
+(safe to backport)
+------------------------------------------------------------------------
+Index: src/af/util/xp/ut_go_file.h
+===================================================================
+--- src/af/util/xp/ut_go_file.h (revision 30478)
++++ src/af/util/xp/ut_go_file.h (revision 30479)
+@@ -31,7 +31,6 @@
+
+ #include <glib.h>
+ #include <gsf/gsf.h>
+-#include <glib/gerror.h>
+ #include <time.h>
+
+ G_BEGIN_DECLS
+Index: goffice-bits/goffice/app/goffice-app.h
+===================================================================
+--- goffice-bits/goffice/app/goffice-app.h (revision 30601)
++++ goffice-bits/goffice/app/goffice-app.h (revision 30602)
+@@ -22,7 +22,7 @@
+ #ifndef GOFFICE_APP_H
+ #define GOFFICE_APP_H
+
+-#include <glib/gmacros.h>
++#include <glib.h>
+
+ G_BEGIN_DECLS
+
diff --git a/libre/abiword-libre/abiword-2.8.6-libpng15.patch b/libre/abiword-libre/abiword-2.8.6-libpng15.patch
new file mode 100644
index 000000000..7eded4c83
--- /dev/null
+++ b/libre/abiword-libre/abiword-2.8.6-libpng15.patch
@@ -0,0 +1,100 @@
+$NetBSD: patch-plugins_bmp_xp_ie__impGraphic__BMP.cpp,v 1.1 2011/02/01 10:48:15 wiz Exp $
+
+Fix build with png-1.5.
+
+--- plugins/bmp/xp/ie_impGraphic_BMP.cpp.orig 2009-06-25 04:02:06.000000000 +0000
++++ plugins/bmp/xp/ie_impGraphic_BMP.cpp
+@@ -191,7 +191,10 @@ UT_Error IE_ImpGraphic_BMP::_convertGrap
+
+ /* Clean Up Memory Used */
+
+- FREEP(m_pPNGInfo->palette);
++ png_colorp palette;
++ int num_palette;
++ png_get_PLTE( m_pPNG, m_pPNGInfo, &palette, &num_palette );
++ FREEP(palette);
+ DELETEP(pBB);
+ png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+
+@@ -313,7 +316,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P
+ * the normal method of doing things with libpng). REQUIRED unless you
+ * set up your own error handlers in the png_create_read_struct() earlier.
+ */
+- if (setjmp(m_pPNG->jmpbuf))
++ if (setjmp(png_jmpbuf(m_pPNG)))
+ {
+ /* Free all of the memory associated with the png_ptr and info_ptr */
+ png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+@@ -332,7 +335,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P
+ UT_Error IE_ImpGraphic_BMP::Convert_BMP_Pallet(UT_ByteBuf* pBB)
+ {
+ /* Reset error handling for libpng */
+- if (setjmp(m_pPNG->jmpbuf))
++ if (setjmp(png_jmpbuf(m_pPNG)))
+ {
+ png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+ return UT_ERROR;
+@@ -372,7 +375,7 @@ UT_Error IE_ImpGraphic_BMP::Initialize_P
+ UT_Error IE_ImpGraphic_BMP::Convert_BMP(UT_ByteBuf* pBB)
+ {
+ /* Reset error handling for libpng */
+- if (setjmp(m_pPNG->jmpbuf))
++ if (setjmp(png_jmpbuf(m_pPNG)))
+ {
+ png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+ return UT_ERROR;
+
+$NetBSD: patch-plugins_garble_xp_abiword-garble-png.cpp,v 1.1 2011/02/01 10:48:15 wiz Exp $
+
+Fix build with png-1.5.
+
+--- plugins/garble/xp/abiword-garble-png.cpp.orig 2009-09-05 15:34:44.000000000 +0000
++++ plugins/garble/xp/abiword-garble-png.cpp
+@@ -79,7 +79,7 @@ bool abiword_document::garble_png( void*
+ png_set_strip_alpha( png_ptr );
+ png_set_interlace_handling( png_ptr );
+ png_set_bgr( png_ptr );
+- rowbytes = info_ptr->rowbytes;
++ rowbytes = png_get_rowbytes( png_ptr, info_ptr );
+ png_destroy_read_struct( &png_ptr, &info_ptr, NULL );
+ }
+
+$NetBSD: patch-af,v 1.12 2011/01/15 15:07:11 wiz Exp $
+
+Fix build with png-1.5.
+
+--- src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp.orig 2009-07-01 04:02:04.000000000 +0000
++++ src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp
+@@ -185,7 +185,7 @@ UT_Error IE_ImpGraphic_GdkPixbuf::import
+ /** needed for the stejmp context */
+ UT_Error IE_ImpGraphic_GdkPixbuf::_png_write(GdkPixbuf * pixbuf)
+ {
+- if (setjmp(m_pPNG->jmpbuf))
++ if (setjmp(png_jmpbuf(m_pPNG)))
+ {
+ DELETEP(m_pPngBB);
+ png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+@@ -446,7 +446,7 @@ UT_Error IE_ImpGraphic_GdkPixbuf::Initia
+ * the normal method of doing things with libpng). REQUIRED unless you
+ * set up your own error handlers in the png_create_read_struct() earlier.
+ */
+- if (setjmp(m_pPNG->jmpbuf))
++ if (setjmp(png_jmpbuf(m_pPNG)))
+ {
+ /* Free all of the memory associated with the png_ptr and info_ptr */
+ png_destroy_write_struct(&m_pPNG, &m_pPNGInfo);
+$NetBSD: patch-ae,v 1.21 2011/01/15 15:07:11 wiz Exp $
+
+Fix build with png-1.5.
+
+--- src/af/util/xp/ut_png.cpp.orig 2008-02-24 03:33:07.000000000 +0000
++++ src/af/util/xp/ut_png.cpp
+@@ -71,7 +71,7 @@ bool UT_PNG_getDimensions(const UT_ByteB
+ * the normal method of doing things with libpng). REQUIRED unless you
+ * set up your own error handlers in the png_create_read_struct() earlier.
+ */
+- if (setjmp(png_ptr->jmpbuf))
++ if (setjmp(png_jmpbuf(png_ptr)))
+ {
+ /* Free all of the memory associated with the png_ptr and info_ptr */
+ png_destroy_read_struct(&png_ptr, &info_ptr, static_cast<png_infopp>(NULL));
diff --git a/libre/abiword-libre/abiword-2.8.6-no-undefined.patch b/libre/abiword-libre/abiword-2.8.6-no-undefined.patch
new file mode 100644
index 000000000..c07000edb
--- /dev/null
+++ b/libre/abiword-libre/abiword-2.8.6-no-undefined.patch
@@ -0,0 +1,21 @@
+diff -u -r abiword-2.8.6.orig/src/Makefile.am abiword-2.8.6/src/Makefile.am
+--- abiword-2.8.6.orig/src/Makefile.am 2009-09-09 15:11:01.000000000 +0200
++++ abiword-2.8.6/src/Makefile.am 2011-08-02 23:35:51.904761961 +0200
+@@ -107,7 +107,7 @@
+
+ AbiWord_LDFLAGS = \
+ $(DEPS_LIBS) \
+- --no-undefined \
++ -Wl,--no-undefined \
+ -avoid-version \
+ -export-dynamic \
+ -headerpad_max_install_names
+@@ -129,7 +129,7 @@
+
+ abiword_LDFLAGS = \
+ $(platform_ldflags) \
+- --no-undefined \
++ -Wl,--no-undefined \
+ -avoid-version \
+ -export-dynamic
+
diff --git a/libre/abiword-libre/abiword.install b/libre/abiword-libre/abiword.install
new file mode 100644
index 000000000..cc4abc0b6
--- /dev/null
+++ b/libre/abiword-libre/abiword.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/libre/abiword-libre/compat_libwpg_0_9.patch b/libre/abiword-libre/compat_libwpg_0_9.patch
new file mode 100644
index 000000000..cf36e188e
--- /dev/null
+++ b/libre/abiword-libre/compat_libwpg_0_9.patch
@@ -0,0 +1,371 @@
+diff -Nur abiword-2.8.6.orig//plugin-configure.m4 abiword-2.8.6/plugin-configure.m4
+--- abiword-2.8.6.orig//plugin-configure.m4 2010-06-13 14:17:27.000000000 -0700
++++ abiword-2.8.6/plugin-configure.m4 2010-12-06 13:59:43.083048588 -0800
+@@ -794,7 +794,7 @@
+ AC_SUBST([OPENXML_LIBS])
+
+
+-wpg_pkgs="$gsf_req libwpg-0.1 >= 0.1.0 libwpd-0.8 >= 0.8.0"
++wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0"
+ wpg_deps="no"
+
+ if test "$enable_wpg" != ""; then
+@@ -1497,8 +1497,8 @@
+ AC_SUBST([EML_LIBS])
+
+
+-wordperfect_pkgs="libwpd-0.8 >= 0.8.0 $gsf_req"
+-wordperfect_wps_pkgs='libwps-0.1 >= 0.1.0'
++wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req"
++wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0'
+ wordperfect_deps="no"
+
+ WORDPERFECT_CFLAGS=
+diff -Nur abiword-2.8.6.orig//plugins/wordperfect/plugin.m4 abiword-2.8.6/plugins/wordperfect/plugin.m4
+--- abiword-2.8.6.orig//plugins/wordperfect/plugin.m4 2010-05-30 07:50:46.000000000 -0700
++++ abiword-2.8.6/plugins/wordperfect/plugin.m4 2010-12-06 13:59:53.929715254 -0800
+@@ -1,6 +1,6 @@
+
+-wordperfect_pkgs="libwpd-0.8 >= 0.8.0 $gsf_req"
+-wordperfect_wps_pkgs='libwps-0.1 >= 0.1.0'
++wordperfect_pkgs="libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0 $gsf_req"
++wordperfect_wps_pkgs='libwps-0.2 >= 0.1.0'
+ wordperfect_deps="no"
+
+ WORDPERFECT_CFLAGS=
+diff -Nur abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.cpp abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.cpp
+--- abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.cpp 2010-02-06 13:06:11.000000000 -0800
++++ abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.cpp 2010-12-06 13:59:53.926381921 -0800
+@@ -60,7 +60,7 @@
+
+ // Stream class
+
+-#include <libwpd/WPXStream.h>
++#include <libwpd-stream/libwpd-stream.h>
+
+ #include <gsf/gsf-input.h>
+ #include <gsf/gsf-infile.h>
+@@ -70,12 +70,7 @@
+ #include <libwps/libwps.h>
+ #endif
+
+-class AbiWordperfectInputStream :
+-#ifdef HAVE_LIBWPS
+- public WPSInputStream
+-#else
+- public WPXInputStream
+-#endif
++class AbiWordperfectInputStream : public WPXInputStream
+ {
+ public:
+ AbiWordperfectInputStream(GsfInput *input);
+@@ -86,7 +81,7 @@
+
+ virtual WPXInputStream * getDocumentOLEStream(const char * name);
+
+- virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead);
++ virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead);
+ virtual int seek(long offset, WPX_SEEK_TYPE seekType);
+ virtual long tell();
+ virtual bool atEOS();
+@@ -98,11 +93,7 @@
+ };
+
+ AbiWordperfectInputStream::AbiWordperfectInputStream(GsfInput *input) :
+-#ifdef HAVE_LIBWPS
+- WPSInputStream(),
+-#else
+- WPXInputStream(true),
+-#endif
++ WPXInputStream(),
+ m_input(input),
+ m_ole(NULL)
+ {
+@@ -117,9 +108,9 @@
+ g_object_unref(G_OBJECT(m_input));
+ }
+
+-const uint8_t * AbiWordperfectInputStream::read(size_t numBytes, size_t &numBytesRead)
++const unsigned char * AbiWordperfectInputStream::read(unsigned long numBytes, unsigned long &numBytesRead)
+ {
+- const uint8_t *buf = gsf_input_read(m_input, numBytes, NULL);
++ const unsigned char *buf = gsf_input_read(m_input, numBytes, NULL);
+
+ if (buf == NULL)
+ numBytesRead = 0;
+@@ -256,19 +247,12 @@
+ {
+ AbiWordperfectInputStream gsfInput(input);
+
+- WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput, true);
++ WPDConfidence confidence = WPDocument::isFileFormatSupported(&gsfInput);
+
+ switch (confidence)
+ {
+ case WPD_CONFIDENCE_NONE:
+- // libwpd > 0.7.1 reports POOR if the text file is plain text (that _could_ be a WP4x document)
+- // however, we'll let the text importer handle such cases
+- case WPD_CONFIDENCE_POOR:
+ return UT_CONFIDENCE_ZILCH;
+- case WPD_CONFIDENCE_LIKELY:
+- return UT_CONFIDENCE_SOSO;
+- case WPD_CONFIDENCE_GOOD:
+- return UT_CONFIDENCE_GOOD;
+ case WPD_CONFIDENCE_EXCELLENT:
+ return UT_CONFIDENCE_PERFECT;
+ default:
+@@ -328,7 +312,7 @@
+ UT_Error IE_Imp_WordPerfect::_loadFile(GsfInput * input)
+ {
+ AbiWordperfectInputStream gsfInput(input);
+- WPDResult error = WPDocument::parse(&gsfInput, static_cast<WPXHLListenerImpl *>(this));
++ WPDResult error = WPDocument::parse(&gsfInput, static_cast<WPXDocumentInterface *>(this), NULL);
+
+ if (error != WPD_OK)
+ {
+@@ -381,9 +365,9 @@
+ float marginLeft = 1.0f, marginRight = 1.0f;
+
+ if (propList["fo:margin-left"])
+- marginLeft = propList["fo:margin-left"]->getFloat();
++ marginLeft = propList["fo:margin-left"]->getDouble();
+ if (propList["fo:margin-right"])
+- marginRight = propList["fo:margin-right"]->getFloat();
++ marginRight = propList["fo:margin-right"]->getDouble();
+
+ if (marginLeft != m_leftPageMargin || marginRight != m_rightPageMargin /* || */
+ /* marginTop != m_marginBottom || marginBottom != m_marginBottom */ )
+@@ -456,15 +440,15 @@
+ float marginTop = 0.0f, marginBottom = 0.0f;
+ float marginLeft = 0.0f, marginRight = 0.0f, textIndent = 0.0f;
+ if (propList["fo:margin-top"])
+- marginTop = propList["fo:margin-top"]->getFloat();
++ marginTop = propList["fo:margin-top"]->getDouble();
+ if (propList["fo:margin-bottom"])
+- marginBottom = propList["fo:margin-bottom"]->getFloat();
++ marginBottom = propList["fo:margin-bottom"]->getDouble();
+ if (propList["fo:margin-left"])
+- marginLeft = propList["fo:margin-left"]->getFloat();
++ marginLeft = propList["fo:margin-left"]->getDouble();
+ if (propList["fo:margin-right"])
+- marginRight = propList["fo:margin-right"]->getFloat();
++ marginRight = propList["fo:margin-right"]->getDouble();
+ if (propList["fo:text-indent"])
+- textIndent = propList["fo:text-indent"]->getFloat();
++ textIndent = propList["fo:text-indent"]->getDouble();
+
+ m_topMargin = marginTop;
+ m_bottomMargin = marginBottom;
+@@ -487,7 +471,7 @@
+
+ float lineSpacing = 1.0f;
+ if (propList["fo:line-height"])
+- lineSpacing = propList["fo:line-height"]->getFloat();
++ lineSpacing = propList["fo:line-height"]->getDouble();
+
+ UT_String tmpBuffer;
+ UT_String_sprintf(tmpBuffer, "; margin-top:%.4fin; margin-bottom:%.4fin; margin-left:%.4fin; margin-right:%.4fin; text-indent:%.4fin; line-height:%.4f",
+@@ -504,7 +488,7 @@
+ propBuffer += tmpBuffer;
+ if (i()["style:position"])
+ {
+- UT_String_sprintf(tmpBuffer, "%.4fin", i()["style:position"]->getFloat());
++ UT_String_sprintf(tmpBuffer, "%.4fin", i()["style:position"]->getDouble());
+ propBuffer += tmpBuffer;
+ }
+
+@@ -640,9 +624,9 @@
+
+ // TODO: support spaceAfter
+ if (propList["fo:margin-left"])
+- marginLeft = propList["fo:margin-left"]->getFloat();
++ marginLeft = propList["fo:margin-left"]->getDouble();
+ if (propList["fo:margin-right"])
+- marginRight = propList["fo:margin-right"]->getFloat();
++ marginRight = propList["fo:margin-right"]->getDouble();
+
+ if (marginLeft != m_leftSectionMargin || marginRight != m_rightSectionMargin || m_sectionColumnsCount != columnsCount)
+ m_bSectionChanged = true;
+@@ -709,9 +693,9 @@
+ if (propList["style:num-format"])
+ listType = propList["style:num-format"]->getStr().cstr()[0];
+ if (propList["text:space-before"])
+- listLeftOffset = propList["text:space-before"]->getFloat();
++ listLeftOffset = propList["text:space-before"]->getDouble();
+ if (propList["text:min-label-width"])
+- listMinLabelWidth = propList["text:min-label-width"]->getFloat();
++ listMinLabelWidth = propList["text:min-label-width"]->getDouble();
+
+ if (!m_pCurrentListDefinition ||
+ m_pCurrentListDefinition->getOutlineHash() != listID ||
+@@ -749,9 +733,9 @@
+ if (propList["libwpd:level"])
+ level = propList["libwpd:level"]->getInt();
+ if (propList["text:space-before"])
+- listLeftOffset = propList["text:space-before"]->getFloat();
++ listLeftOffset = propList["text:space-before"]->getDouble();
+ if (propList["text:min-label-width"])
+- listMinLabelWidth = propList["text:min-label-width"]->getFloat();
++ listMinLabelWidth = propList["text:min-label-width"]->getDouble();
+
+ if (!m_pCurrentListDefinition || m_pCurrentListDefinition->getOutlineHash() != listID)
+ {
+@@ -871,10 +855,10 @@
+
+ UT_String_sprintf(tempBuffer, "margin-left:%.4fin; ", m_pCurrentListDefinition->getListLeftOffset(m_iCurrentListLevel)
+ + m_pCurrentListDefinition->getListMinLabelWidth(m_iCurrentListLevel)
+- - (propList["fo:text-indent"] ? propList["fo:text-indent"]->getFloat() : 0.0f));
++ - (propList["fo:text-indent"] ? propList["fo:text-indent"]->getDouble() : 0.0f));
+ propBuffer += tempBuffer;
+ UT_String_sprintf(tempBuffer, "text-indent:%.4fin", - m_pCurrentListDefinition->getListMinLabelWidth(m_iCurrentListLevel)
+- + (propList["fo:text-indent"] ? propList["fo:text-indent"]->getFloat() : 0.0f));
++ + (propList["fo:text-indent"] ? propList["fo:text-indent"]->getDouble() : 0.0f));
+ propBuffer += tempBuffer;
+
+ listAttribs[attribsCount++] = PT_PROPS_ATTRIBUTE_NAME;
+@@ -1263,7 +1247,7 @@
+ virtual UT_Error _loadFile(GsfInput * input)
+ {
+ AbiWordperfectInputStream gsfInput(input);
+- WPSResult error = WPSDocument::parse(&gsfInput, static_cast<WPXHLListenerImpl *>(this));
++ WPSResult error = WPSDocument::parse(&gsfInput, static_cast<WPXDocumentInterface *>(this));
+
+ if (error != WPS_OK)
+ {
+@@ -1302,18 +1286,12 @@
+ {
+ AbiWordperfectInputStream gsfInput(input);
+
+- WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput, true);
++ WPSConfidence confidence = WPSDocument::isFileFormatSupported(&gsfInput);
+
+ switch (confidence)
+ {
+ case WPS_CONFIDENCE_NONE:
+ return UT_CONFIDENCE_ZILCH;
+- case WPS_CONFIDENCE_POOR:
+- return UT_CONFIDENCE_POOR;
+- case WPS_CONFIDENCE_LIKELY:
+- return UT_CONFIDENCE_SOSO;
+- case WPS_CONFIDENCE_GOOD:
+- return UT_CONFIDENCE_GOOD;
+ case WPS_CONFIDENCE_EXCELLENT:
+ return UT_CONFIDENCE_PERFECT;
+ default:
+diff -Nur abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.h abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.h
+--- abiword-2.8.6.orig//plugins/wordperfect/xp/ie_imp_WordPerfect.h 2009-06-19 01:55:49.000000000 -0700
++++ abiword-2.8.6/plugins/wordperfect/xp/ie_imp_WordPerfect.h 2010-12-06 13:59:53.929715254 -0800
+@@ -30,13 +30,7 @@
+ #define IE_IMP_WP_H
+
+ #include <stdio.h>
+-#ifdef _WIN32
+-#define POINT WPX_POINT
+-#endif
+ #include <libwpd/libwpd.h>
+-#ifdef _WIN32
+-#undef POINT
+-#endif
+ #include "ie_imp.h"
+ #include "ut_string.h"
+ #include "ut_string_class.h"
+@@ -98,7 +92,7 @@
+ IE_Imp ** ppie);
+ };
+
+-class IE_Imp_WordPerfect : public IE_Imp, public WPXHLListenerImpl
++class IE_Imp_WordPerfect : public IE_Imp, public WPXDocumentInterface
+ {
+ public:
+ IE_Imp_WordPerfect(PD_Document * pDocument);
+@@ -154,6 +148,21 @@
+ virtual void insertCoveredTableCell(const WPXPropertyList & /*propList*/) {}
+ virtual void closeTable();
+
++ virtual void definePageStyle(const WPXPropertyList&) {}
++ virtual void defineParagraphStyle(const WPXPropertyList&, const WPXPropertyListVector&) {}
++ virtual void defineCharacterStyle(const WPXPropertyList&) {}
++ virtual void defineSectionStyle(const WPXPropertyList&, const WPXPropertyListVector&) {}
++ virtual void insertSpace() {}
++ virtual void insertField(const WPXString&, const WPXPropertyList&) {}
++ virtual void openComment(const WPXPropertyList&) {}
++ virtual void closeComment() {}
++ virtual void openTextBox(const WPXPropertyList&) {}
++ virtual void closeTextBox() {}
++ virtual void openFrame(const WPXPropertyList&) {}
++ virtual void closeFrame() {}
++ virtual void insertBinaryObject(const WPXPropertyList&, const WPXBinaryData&) {}
++ virtual void insertEquation(const WPXPropertyList&, const WPXString&) {}
++
+
+ protected:
+ virtual UT_Error _loadFile(GsfInput * input);
+diff -Nur abiword-2.8.6.orig//plugins/wpg/plugin.m4 abiword-2.8.6/plugins/wpg/plugin.m4
+--- abiword-2.8.6.orig//plugins/wpg/plugin.m4 2010-05-30 07:50:46.000000000 -0700
++++ abiword-2.8.6/plugins/wpg/plugin.m4 2010-12-06 13:59:53.929715254 -0800
+@@ -1,5 +1,5 @@
+
+-wpg_pkgs="$gsf_req libwpg-0.1 >= 0.1.0 libwpd-0.8 >= 0.8.0"
++wpg_pkgs="$gsf_req libwpg-0.2 >= 0.2.0 libwpd-0.9 >= 0.9.0 libwpd-stream-0.9 >= 0.9.0"
+ wpg_deps="no"
+
+ if test "$enable_wpg" != ""; then
+diff -Nur abiword-2.8.6.orig//plugins/wpg/xp/ie_impGraphic_WPG.cpp abiword-2.8.6/plugins/wpg/xp/ie_impGraphic_WPG.cpp
+--- abiword-2.8.6.orig//plugins/wpg/xp/ie_impGraphic_WPG.cpp 2008-08-15 14:52:32.000000000 -0700
++++ abiword-2.8.6/plugins/wpg/xp/ie_impGraphic_WPG.cpp 2010-12-06 13:59:53.923048588 -0800
+@@ -31,11 +31,10 @@
+ #include <gsf/gsf-input-memory.h>
+ #include <gsf/gsf-input-stdio.h>
+ #include <gsf/gsf-infile-msole.h>
+-#include <libwpd/WPXStream.h>
++#include <libwpd-stream/libwpd-stream.h>
+ #include "xap_Module.h"
+
+ using libwpg::WPGraphics;
+-using libwpg::WPGString;
+
+ ABI_PLUGIN_DECLARE("WPG")
+
+@@ -48,7 +47,7 @@
+ virtual bool isOLEStream();
+ virtual WPXInputStream * getDocumentOLEStream();
+ virtual WPXInputStream * getDocumentOLEStream(const char * name);
+- virtual const uint8_t *read(size_t numBytes, size_t &numBytesRead);
++ virtual const unsigned char *read(unsigned long numBytes, unsigned long &numBytesRead);
+ virtual int seek(long offset, WPX_SEEK_TYPE seekType);
+ virtual long tell();
+ virtual bool atEOS();
+@@ -60,7 +59,7 @@
+ };
+
+ AbiWordPerfectGraphicsInputStream::AbiWordPerfectGraphicsInputStream(GsfInput *input) :
+- WPXInputStream(true),
++ WPXInputStream(),
+ m_input(input),
+ m_ole(NULL)
+ {
+@@ -75,9 +74,9 @@
+ g_object_unref(G_OBJECT(m_input));
+ }
+
+-const uint8_t * AbiWordPerfectGraphicsInputStream::read(size_t numBytes, size_t &numBytesRead)
++const unsigned char * AbiWordPerfectGraphicsInputStream::read(unsigned long numBytes, unsigned long &numBytesRead)
+ {
+- const uint8_t *buf = gsf_input_read(m_input, numBytes, NULL);
++ const unsigned char *buf = gsf_input_read(m_input, numBytes, NULL);
+
+ if (buf == NULL)
+ numBytesRead = 0;
+@@ -245,10 +244,10 @@
+ UT_Error IE_Imp_WordPerfectGraphics::importGraphic(GsfInput *input, FG_Graphic **ppfg)
+ {
+ AbiWordPerfectGraphicsInputStream gsfInput(input);
+- WPGString svgOutput;
++ WPXString svgOutput;
+ if (WPGraphics::generateSVG(&gsfInput, svgOutput))
+ {
+- GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.length(), false);
++ GsfInput * svgInput = gsf_input_memory_new((const guint8*)svgOutput.cstr(), svgOutput.len(), false);
+ UT_Error result = IE_ImpGraphic::loadGraphic(svgInput, IE_ImpGraphic::fileTypeForSuffix(".svg"), ppfg);
+ g_object_unref(svgInput);
+ return result;
diff --git a/libre/abiword-libre/liberation-fonts.patch b/libre/abiword-libre/liberation-fonts.patch
new file mode 100644
index 000000000..1660c3ead
--- /dev/null
+++ b/libre/abiword-libre/liberation-fonts.patch
@@ -0,0 +1,1694 @@
+diff --git a/plugins/latex/xp/ie_exp_LaTeX.cpp b/plugins/latex/xp/ie_exp_LaTeX.cpp
+index f3d56c6..d5a77ef 100644
+--- a/plugins/latex/xp/ie_exp_LaTeX.cpp
++++ b/plugins/latex/xp/ie_exp_LaTeX.cpp
+@@ -1046,7 +1046,7 @@ void s_LaTeX_Listener::_openSpan(PT_AttrPropIndex api)
+ m_pie->write("\\texttt{");
+ m_NumCloseBrackets++;
+ }
+- if (!strcmp("Arial", szValue) ||
++ if (!strcmp("Liberation Sans", szValue) ||
+ !strcmp("Helvetic", szValue) ||
+ !strcmp("Luxi Sans",szValue)) {
+ m_pie->write("\\textsf{");
+diff --git a/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp b/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp
+index ed167dc..e0831c9 100644
+--- a/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp
++++ b/plugins/opendocument/imp/xp/ODi_FontFaceDecls.cpp
+@@ -59,7 +59,7 @@ void ODi_FontFaceDecls::startElement (const gchar* pName,
+ fontFamily = pFontFamily;
+
+ if (pFontFamily && (pFontFamily[0] == '\'') && (pFontFamily[strlen(pFontFamily)-1] == '\'')) {
+- // e.g.: Turns a "'Times New Roman'" into a "Times New Roman".
++ // e.g.: Turns a "'Liberation Serif'" into a "Liberation Serif".
+ // OpenOffice.org sometimes adds those extra "'" surrounding the
+ // font family name if it's composed by more than one word.
+ m_fontFamilies[pStyleName] =
+diff --git a/plugins/openwriter/xp/ie_exp_OpenWriter.cpp b/plugins/openwriter/xp/ie_exp_OpenWriter.cpp
+index 1fab89a..a399c59 100644
+--- a/plugins/openwriter/xp/ie_exp_OpenWriter.cpp
++++ b/plugins/openwriter/xp/ie_exp_OpenWriter.cpp
+@@ -900,12 +900,12 @@ bool OO_StylesWriter::writeStyles(PD_Document * pDoc, GsfOutfile * oo, OO_Styles
+ {
+ "<office:styles>\n",
+ "<style:default-style style:family=\"graphics\">\n",
+- "<style:properties draw:start-line-spacing-horizontal=\"0.283cm\" draw:start-line-spacing-vertical=\"0.283cm\" draw:end-line-spacing-horizontal=\"0.283cm\" draw:end-line-spacing-vertical=\"0.283cm\" fo:color=\"#000000\" style:font-name=\"Nimbus Roman No9 L\" fo:font-size=\"12pt\" fo:language=\"en\" fo:country=\"US\" style:font-name-asian=\"HG Mincho Light J\" style:font-size-asian=\"12pt\" style:language-asian=\"none\" style:country-asian=\"none\" style:font-name-complex=\"Arial Unicode MS\" style:font-size-complex=\"12pt\" style:language-complex=\"none\" style:country-complex=\"none\" style:text-autospace=\"ideograph-alpha\" style:punctuation-wrap=\"simple\" style:line-break=\"strict\">\n",
++ "<style:properties draw:start-line-spacing-horizontal=\"0.283cm\" draw:start-line-spacing-vertical=\"0.283cm\" draw:end-line-spacing-horizontal=\"0.283cm\" draw:end-line-spacing-vertical=\"0.283cm\" fo:color=\"#000000\" style:font-name=\"Nimbus Roman No9 L\" fo:font-size=\"12pt\" fo:language=\"en\" fo:country=\"US\" style:font-name-asian=\"HG Mincho Light J\" style:font-size-asian=\"12pt\" style:language-asian=\"none\" style:country-asian=\"none\" style:font-name-complex=\"Liberation Sans\" style:font-size-complex=\"12pt\" style:language-complex=\"none\" style:country-complex=\"none\" style:text-autospace=\"ideograph-alpha\" style:punctuation-wrap=\"simple\" style:line-break=\"strict\">\n",
+ "<style:tab-stops/>\n",
+ "</style:properties>\n",
+ "</style:default-style>\n",
+ "<style:default-style style:family=\"paragraph\">\n",
+- "<style:properties fo:color=\"#000000\" style:font-name=\"Nimbus Roman No9 L\" fo:font-size=\"12pt\" fo:language=\"en\" fo:country=\"US\" style:font-name-asian=\"HG Mincho Light J\" style:font-size-asian=\"12pt\" style:language-asian=\"none\" style:country-asian=\"none\" style:font-name-complex=\"Arial Unicode MS\" style:font-size-complex=\"12pt\" style:language-complex=\"none\" style:country-complex=\"none\" fo:hyphenate=\"false\" fo:hyphenation-remain-char-count=\"2\" fo:hyphenation-push-char-count=\"2\" fo:hyphenation-ladder-count=\"no-limit\" style:text-autospace=\"ideograph-alpha\" style:punctuation-wrap=\"hanging\" style:line-break=\"strict\" style:tab-stop-distance=\"2.205cm\"/>\n",
++ "<style:properties fo:color=\"#000000\" style:font-name=\"Nimbus Roman No9 L\" fo:font-size=\"12pt\" fo:language=\"en\" fo:country=\"US\" style:font-name-asian=\"HG Mincho Light J\" style:font-size-asian=\"12pt\" style:language-asian=\"none\" style:country-asian=\"none\" style:font-name-complex=\"Liberation Sans\" style:font-size-complex=\"12pt\" style:language-complex=\"none\" style:country-complex=\"none\" fo:hyphenate=\"false\" fo:hyphenation-remain-char-count=\"2\" fo:hyphenation-push-char-count=\"2\" fo:hyphenation-ladder-count=\"no-limit\" style:text-autospace=\"ideograph-alpha\" style:punctuation-wrap=\"hanging\" style:line-break=\"strict\" style:tab-stop-distance=\"2.205cm\"/>\n",
+ "</style:default-style>\n"
+ };
+
+diff --git a/plugins/openxml/common/xp/OXML_FontManager.cpp b/plugins/openxml/common/xp/OXML_FontManager.cpp
+index 41b719d..2c53c1a 100644
+--- a/plugins/openxml/common/xp/OXML_FontManager.cpp
++++ b/plugins/openxml/common/xp/OXML_FontManager.cpp
+@@ -34,7 +34,7 @@
+ #include <string>
+
+ OXML_FontManager::OXML_FontManager() :
+- m_defaultFont("Times New Roman")
++ m_defaultFont("Liberation Serif")
+ {
+ m_major_rts.clear();
+ m_minor_rts.clear();
+diff --git a/plugins/openxml/common/xp/OXML_List.cpp b/plugins/openxml/common/xp/OXML_List.cpp
+index 5bcb47a..88dba7e 100644
+--- a/plugins/openxml/common/xp/OXML_List.cpp
++++ b/plugins/openxml/common/xp/OXML_List.cpp
+@@ -258,7 +258,7 @@ UT_Error OXML_List::serialize(IE_Exp_OpenXML* exporter)
+ txt = txt.replace(index+1, 1, 1, '1'+i);
+ }
+
+- std::string fontFamily("Times New Roman");
++ std::string fontFamily("Liberation Serif");
+ const gchar* listType = "bullet";
+ switch(type)
+ {
+diff --git a/plugins/passepartout/xp/ie_exp_Passepartout.cpp b/plugins/passepartout/xp/ie_exp_Passepartout.cpp
+index e18e7f1..eec9367 100644
+--- a/plugins/passepartout/xp/ie_exp_Passepartout.cpp
++++ b/plugins/passepartout/xp/ie_exp_Passepartout.cpp
+@@ -318,7 +318,7 @@ void Passepartout_Listener::_openBlock(PT_AttrPropIndex api)
+ }
+ else
+ {
+- TempStr = UT_UTF8String_sprintf(" font-family=\"%s\"", "Times New Roman" );
++ TempStr = UT_UTF8String_sprintf(" font-family=\"%s\"", "Liberation Serif" );
+ m_pie->write(TempStr.utf8_str());
+ }
+
+@@ -426,7 +426,7 @@ void Passepartout_Listener::_openFont(PT_AttrPropIndex api)
+ }
+ else
+ {
+- TempStr = UT_UTF8String_sprintf(" font-family=\"%s\"", "Times New Roman" );
++ TempStr = UT_UTF8String_sprintf(" font-family=\"%s\"", "Liberation Serif" );
+ m_pie->write(TempStr.utf8_str());
+ }
+
+diff --git a/plugins/t602/xp/ie_imp_T602.cpp b/plugins/t602/xp/ie_imp_T602.cpp
+index a57a9e2..f7f2301 100644
+--- a/plugins/t602/xp/ie_imp_T602.cpp
++++ b/plugins/t602/xp/ie_imp_T602.cpp
+@@ -620,7 +620,7 @@ switch (c)
+ case 0x01:
+ m_sfont ^=1;
+ if (m_sfont & 1)
+- { m_size=static_cast<int>(0.8*m_basesize); m_family="Arial";
++ { m_size=static_cast<int>(0.8*m_basesize); m_family="Liberation Sans";
+ /* FIXME? -> .profile?*/ }
+ else
+ { m_size=m_basesize; m_family=m_basefamily; }
+diff --git a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp
+index 4c8d23c..6bcfd6d 100644
+--- a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp
++++ b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp
+@@ -234,7 +234,7 @@ GR_Font * GR_UnixCairoGraphics::getGUIFont(void)
+ const char *guiFontName = pango_font_description_get_family(tempStyle->font_desc);
+ #endif
+ if (!guiFontName)
+- guiFontName = "'Times New Roman'";
++ guiFontName = "'Liberation Serif'";
+
+ UT_UTF8String s = XAP_EncodingManager::get_instance()->getLanguageISOName();
+
+diff --git a/src/af/gr/xp/gr_CairoGraphics.cpp b/src/af/gr/xp/gr_CairoGraphics.cpp
+index 224b883..38ef911 100644
+--- a/src/af/gr/xp/gr_CairoGraphics.cpp
++++ b/src/af/gr/xp/gr_CairoGraphics.cpp
+@@ -776,8 +776,8 @@ bool GR_CairoGraphics::shape(GR_ShapingInfo & si, GR_RenderInfo *& ri)
+
+ /*
+ * Pango does a royally bad job of the font substitution in
+- * pango_itemize(): it will happily return 'Times New Roman' as
+- * font when we have requested 'Arial', even though the latter is
++ * pango_itemize(): it will happily return 'Liberation Serif' as
++ * font when we have requested 'Liberation Sans', even though the latter is
+ * present and has the necessary coverage. Consequently we have to
+ * do the font substitution manually even on the first shapping.
+ *
+@@ -3054,7 +3054,7 @@ GR_Font * GR_CairoGraphics::getDefaultFont(GR_Font::FontFamilyEnum f,
+
+ case GR_Font::FF_Technical:
+ case GR_Font::FF_BiDi:
+- pszFontFamily = "Arial";
++ pszFontFamily = "Liberation Sans";
+ break;
+
+ default:
+diff --git a/src/af/util/xp/ut_misc.cpp b/src/af/util/xp/ut_misc.cpp
+index 52246c3..bcd5a6d 100644
+--- a/src/af/util/xp/ut_misc.cpp
++++ b/src/af/util/xp/ut_misc.cpp
+@@ -570,7 +570,7 @@ const gchar ** UT_setPropsToValue(const gchar ** props, const gchar * value)
+ }
+
+ /*!
+- splits the xml property string (font-size:24pt;font-face:Arial') into names and values
++ splits the xml property string (font-size:24pt;font-face:Liberation Sans') into names and values
+ and stores them in an array
+
+ the caller has to delete[] the array; the process is destructive to props
+diff --git a/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib b/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib
+index f21c815..e284cc9 100644
+--- a/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib
++++ b/src/af/xap/cocoa/xap_CocoaToolPalette.nib/keyedobjects.nib
+@@ -10910,7 +10910,7 @@
+ <integer>624</integer>
+ </dict>
+ </dict>
+- <string>Times New Roman</string>
++ <string>Liberation Serif</string>
+ <string>_popUpItemAction:</string>
+ <dict>
+ <key>$class</key>
+diff --git a/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp b/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp
+index bf94333..f77b40b 100644
+--- a/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp
++++ b/src/af/xap/gtk/xap_UnixDlg_FileOpenSaveAs.cpp
+@@ -904,7 +904,7 @@ gint XAP_UnixDialog_FileOpenSaveAs::previewPicture (void)
+
+ const gchar * file_name = gtk_file_chooser_get_uri (m_FC);
+
+- GR_Font * fnt = pGr->findFont("Times New Roman",
++ GR_Font * fnt = pGr->findFont("Liberation Serif",
+ "normal", "", "normal",
+ "", "12pt",
+ pSS->getLanguageName());
+diff --git a/src/af/xap/win/xap_Win32Dlg_About.cpp b/src/af/xap/win/xap_Win32Dlg_About.cpp
+index 2cc4aa6..3aec3f0 100644
+--- a/src/af/xap/win/xap_Win32Dlg_About.cpp
++++ b/src/af/xap/win/xap_Win32Dlg_About.cpp
+@@ -289,7 +289,7 @@ void XAP_Win32Dialog_About::runModal(XAP_Frame * pFrame)
+ lf.lfWeight = 0;
+ HFONT hfontSmall = CreateFontIndirectW(&lf);
+
+- wcscpy(lf.lfFaceName, L"Arial");
++ wcscpy(lf.lfFaceName, L"Liberation Sans");
+ lf.lfHeight = 36;
+ lf.lfWeight = FW_BOLD;
+ HFONT hfontHeading = CreateFontIndirectW(&lf);
+diff --git a/src/af/xap/xp/xap_Dlg_FontChooser.cpp b/src/af/xap/xp/xap_Dlg_FontChooser.cpp
+index 56ad605..8a89eb5 100644
+--- a/src/af/xap/xp/xap_Dlg_FontChooser.cpp
++++ b/src/af/xap/xp/xap_Dlg_FontChooser.cpp
+@@ -570,7 +570,7 @@ void XAP_Preview_FontPreview::draw(const UT_Rect *clip)
+ std::string sWeight = getVal("font-weight");
+
+ if(sFamily.empty())
+- sFamily = "Times New Roman";
++ sFamily = "Liberation Serif";
+
+ if(sStyle.empty())
+ sStyle = "normal";
+diff --git a/src/af/xap/xp/xap_Dlg_Zoom.cpp b/src/af/xap/xp/xap_Dlg_Zoom.cpp
+index 25f1a38..c025206 100644
+--- a/src/af/xap/xp/xap_Dlg_Zoom.cpp
++++ b/src/af/xap/xp/xap_Dlg_Zoom.cpp
+@@ -124,7 +124,7 @@ void XAP_Dialog_Zoom::_createPreviewFromGC(GR_Graphics * gc,
+ UT_ASSERT(m_zoomPreview);
+
+ m_zoomPreview->setWindowSize(width, height);
+- m_zoomPreview->setString("10-pt Times New Roman");
++ m_zoomPreview->setString("10-pt Liberation Serif");
+ m_zoomPreview->setFont(XAP_Preview_Zoom::font_NORMAL);
+ m_zoomPreview->setZoomPercent(m_zoomPercent);
+
+diff --git a/src/af/xap/xp/xap_Preview_Zoom.cpp b/src/af/xap/xp/xap_Preview_Zoom.cpp
+index 3ac69e1..0fdae0e 100644
+--- a/src/af/xap/xp/xap_Preview_Zoom.cpp
++++ b/src/af/xap/xp/xap_Preview_Zoom.cpp
+@@ -63,7 +63,7 @@ void XAP_Preview_Zoom::setFont(XAP_Preview_Zoom::tFont f)
+ {
+ case XAP_Preview_Zoom::font_NORMAL:
+ sprintf (fontString, "%dpt", (10 * m_zoomPercent / 100));
+- found = m_gc->findFont("Times New Roman",
++ found = m_gc->findFont("Liberation Serif",
+ "normal", "", "normal",
+ "", fontString,
+ NULL);
+diff --git a/src/text/fmt/xp/fl_BlockLayout.cpp b/src/text/fmt/xp/fl_BlockLayout.cpp
+index f56e1f5..f0d8dd5 100644
+--- a/src/text/fmt/xp/fl_BlockLayout.cpp
++++ b/src/text/fmt/xp/fl_BlockLayout.cpp
+@@ -10260,7 +10260,7 @@ void fl_BlockLayout::StartList( const gchar * style, pf_Frag_Strux* prevSDH)
+ szDec=".";
+ if(!szFont)
+ {
+- szFont = "Times New Roman";
++ szFont = "Liberation Serif";
+ UT_ASSERT(UT_SHOULD_NOT_HAPPEN);
+ }
+ }
+diff --git a/src/text/fmt/xp/fp_Line.cpp b/src/text/fmt/xp/fp_Line.cpp
+index 8be126c..ede4ddd 100644
+--- a/src/text/fmt/xp/fp_Line.cpp
++++ b/src/text/fmt/xp/fp_Line.cpp
+@@ -1856,7 +1856,7 @@ void fp_Line::_doClearScreenFromRunToEnd(UT_sint32 runIndex)
+ pRun = m_vecRuns.getNthItem(_getRunLogIndx(runIndex));
+
+ // Handle case where character extends behind the left side
+- // like italic Times New Roman f. Clear a litle bit before if
++ // like italic Liberation Serif f. Clear a litle bit before if
+ // there is clear screen there
+ UT_sint32 j = runIndex - 1;
+
+diff --git a/src/text/fmt/xp/fp_TextRun.cpp b/src/text/fmt/xp/fp_TextRun.cpp
+index 0e93665..ddb46cb 100644
+--- a/src/text/fmt/xp/fp_TextRun.cpp
++++ b/src/text/fmt/xp/fp_TextRun.cpp
+@@ -1442,7 +1442,7 @@ void fp_TextRun::_clearScreen(bool /* bFullLineHeightRect */)
+
+ //
+ // Handle case where character extend behind the left side
+- // like italic Times New Roman f
++ // like italic Liberation Serif f
+ //
+ fp_Line * thisLine = getLine();
+ fp_Run * pPrev = getPrevRun();
+diff --git a/src/text/fmt/xp/fv_View.cpp b/src/text/fmt/xp/fv_View.cpp
+index 38cf5cf..360f99d 100644
+--- a/src/text/fmt/xp/fv_View.cpp
++++ b/src/text/fmt/xp/fv_View.cpp
+@@ -586,9 +586,9 @@ FV_View::FV_View(XAP_App * pApp, void* pParentData, FL_DocLayout* pLayout)
+ s += pCountry;
+ }
+
+- // do a fuzzy match for Times New Roman
++ // do a fuzzy match for Liberation Serif
+ const char * pszFamily =
+- GR_Graphics::findNearestFont ("Times New Roman",
++ GR_Graphics::findNearestFont ("Liberation Serif",
+ "normal", "normal",
+ "normal", "normal",
+ "12pt", s.utf8_str());
+diff --git a/src/text/ptbl/xp/pp_Property.cpp b/src/text/ptbl/xp/pp_Property.cpp
+index 2c9a27b..c191b38 100644
+--- a/src/text/ptbl/xp/pp_Property.cpp
++++ b/src/text/ptbl/xp/pp_Property.cpp
+@@ -104,7 +104,7 @@ static PP_Property _props[] =
+
+ { "field-color", "dcdcdc", true, NULL, PP_LEVEL_FIELD},
+ { "field-font", "NULL", true, NULL, PP_LEVEL_FIELD},
+- { "font-family", "Times New Roman", true, NULL, PP_LEVEL_CHAR},
++ { "font-family", "Liberation Serif", true, NULL, PP_LEVEL_CHAR},
+ { "font-size", "12pt", true, NULL, PP_LEVEL_CHAR}, // MS word defaults to 10pt, but it just seems too small
+ { "font-stretch", "normal", true, NULL, PP_LEVEL_CHAR},
+ { "font-style", "normal", true, NULL, PP_LEVEL_CHAR},
+diff --git a/src/text/ptbl/xp/pp_Revision.cpp b/src/text/ptbl/xp/pp_Revision.cpp
+index 47a9976..ebfc7f5 100644
+--- a/src/text/ptbl/xp/pp_Revision.cpp
++++ b/src/text/ptbl/xp/pp_Revision.cpp
+@@ -436,7 +436,7 @@ void PP_RevisionAttr::_init(const gchar *r)
+ return;
+
+ // the string we are parsing looks like
+- // "+1,-2,!3{font-family: Times New Roman}"
++ // "+1,-2,!3{font-family: Liberation Serif}"
+
+ // first duplicate the string so we can play with it ...
+ char * s = (char*) g_strdup(r);
+diff --git a/src/text/ptbl/xp/pp_Revision.h b/src/text/ptbl/xp/pp_Revision.h
+index f093ef0..9f77e84 100644
+--- a/src/text/ptbl/xp/pp_Revision.h
++++ b/src/text/ptbl/xp/pp_Revision.h
+@@ -116,7 +116,7 @@ class ABI_EXPORT PP_Revision: public PP_AttrProp
+ where n is a numerical id of the revision and props is regular
+ property string, for instance
+
+- font-family:Times New Roman
++ font-family:Liberation Serif
+
+ revoval of property/attribute is indicated by setting to -/-, e.g.,
+
+diff --git a/src/text/ptbl/xp/pt_PT_Styles.cpp b/src/text/ptbl/xp/pt_PT_Styles.cpp
+index 3829f0d..c9f370c 100644
+--- a/src/text/ptbl/xp/pt_PT_Styles.cpp
++++ b/src/text/ptbl/xp/pt_PT_Styles.cpp
+@@ -176,7 +176,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void)
+ s += pCountry;
+ }
+
+- const char* pszFamily = XAP_App::findNearestFont("Times New Roman",
++ const char* pszFamily = XAP_App::findNearestFont("Liberation Serif",
+ "normal", "",
+ "normal", "", "12pt",
+ s.utf8_str());
+@@ -188,7 +188,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void)
+ "text-indent:0in; text-position:normal; line-height:1.0; "
+ "color:000000; bgcolor:transparent; widows:2", pszFamily);
+
+- pszFamily = XAP_App::findNearestFont("Arial", "normal", "",
++ pszFamily = XAP_App::findNearestFont("Liberation Sans", "normal", "",
+ "normal", "", "12pt", s.utf8_str());
+
+ // used to set the dom-dir of the style here, but we do not want to do that. The
+@@ -263,7 +263,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void)
+ UT_String_sprintf(stTmp, list_fmt, "Arrowhead List","0", LIST_DEFAULT_INDENT, LIST_DEFAULT_INDENT_LABEL, "transparent", "%L", pszFamily, "NULL");
+ _s("Arrowhead List",false, "P", "", "Current Settings", stTmp.c_str());
+
+- // pszFamily is the nearest font to Arial found in the system
++ // pszFamily is the nearest font to Liberation Sans found in the system
+ UT_String_sprintf(stTmp, "tabstops:0.3in/L0; list-style:Numbered List; "
+ "start-value:1; margin-left:0.0in; text-indent:0.0in; "
+ "field-color:transparent; list-delim:%%L.; field-font:%s; "
+@@ -274,7 +274,7 @@ bool pt_PieceTable::_loadBuiltinStyles(void)
+ _s("Numbered Heading 2",true,"P","Heading 2","Normal", stTmp.c_str());
+ _s("Numbered Heading 3",true,"P","Heading 3","Normal", stTmp.c_str());
+
+- // pszFamily is the nearest font to Arial found in the system
++ // pszFamily is the nearest font to Liberation Sans found in the system
+
+ UT_String_sprintf(stTmp, list_fmt, "Numbered List", "1",LIST_DEFAULT_INDENT, LIST_DEFAULT_INDENT_LABEL, "transparent", "%L.", "NULL", ".");
+
+diff --git a/src/wp/ap/xp/ap_Dialog_Lists.cpp b/src/wp/ap/xp/ap_Dialog_Lists.cpp
+index 5aa32cb..dfeb4c1 100644
+--- a/src/wp/ap/xp/ap_Dialog_Lists.cpp
++++ b/src/wp/ap/xp/ap_Dialog_Lists.cpp
+@@ -1109,7 +1109,7 @@ void AP_Lists_preview::setData(const gchar * pszFont,float fAlign,float fIndent)
+ //
+ if(!pszFont || strcmp(pszFont,"NULL")== 0)
+ {
+- m_pFont = m_gc->findFont("Times New Roman",
++ m_pFont = m_gc->findFont("Liberation Serif",
+ "normal", "", "normal",
+ "", "16pt", NULL);
+ }
+diff --git a/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp b/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp
+index ecfdfcb..db3a518 100644
+--- a/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp
++++ b/src/wp/ap/xp/ap_Dialog_PageNumbers.cpp
+@@ -88,7 +88,7 @@ AP_Preview_PageNumbers::AP_Preview_PageNumbers (GR_Graphics * gc)
+ char fontString [10];
+ sprintf(fontString, "%dpt", 8);
+
+- GR_Font * found = m_gc->findFont("Times New Roman", "normal",
++ GR_Font * found = m_gc->findFont("Liberation Serif", "normal",
+ "", "normal", "", fontString,
+ NULL);
+
+diff --git a/src/wp/ap/xp/ap_Preview_Annotation.cpp b/src/wp/ap/xp/ap_Preview_Annotation.cpp
+index 5068315..91571e3 100644
+--- a/src/wp/ap/xp/ap_Preview_Annotation.cpp
++++ b/src/wp/ap/xp/ap_Preview_Annotation.cpp
+@@ -95,7 +95,7 @@ void AP_Preview_Annotation::setSizeFromAnnotation(void)
+ pG = pView->getGraphics();
+
+ UT_return_if_fail(pG);
+- GR_Font * pFont = pG->findFont("Times New Roman", "normal",
++ GR_Font * pFont = pG->findFont("Liberation Serif", "normal",
+ "normal", "normal",
+ "normal", "12pt",
+ NULL);
+@@ -124,7 +124,7 @@ void AP_Preview_Annotation::draw(const UT_Rect *clip)
+ UT_RGBColor FGcolor(0,0,0);
+ UT_RGBColor BGcolor(m_clrBackground);
+
+- m_pFont = m_gc->findFont("Times New Roman", "normal",
++ m_pFont = m_gc->findFont("Liberation Serif", "normal",
+ "normal", "normal",
+ "normal", "12pt",
+ NULL);
+diff --git a/src/wp/ap/xp/ap_Preview_Paragraph.cpp b/src/wp/ap/xp/ap_Preview_Paragraph.cpp
+index fc4dc38..fba04f1 100644
+--- a/src/wp/ap/xp/ap_Preview_Paragraph.cpp
++++ b/src/wp/ap/xp/ap_Preview_Paragraph.cpp
+@@ -540,7 +540,7 @@ void AP_Preview_Paragraph::draw(const UT_Rect *clip)
+ bool AP_Preview_Paragraph::_loadDrawFont(const char *name)
+ {
+ // we draw at 7 points in this preview
+- GR_Font * font = m_gc->findFont(name ? name : "Times New Roman",
++ GR_Font * font = m_gc->findFont(name ? name : "Liberation Serif",
+ "normal", "", "normal",
+ "", "7pt",
+ NULL); // might need to get the real lang
+diff --git a/src/wp/impexp/xp/ie_imp_MsWord_97.cpp b/src/wp/impexp/xp/ie_imp_MsWord_97.cpp
+index 4673f80..d194004 100644
+--- a/src/wp/impexp/xp/ie_imp_MsWord_97.cpp
++++ b/src/wp/impexp/xp/ie_imp_MsWord_97.cpp
+@@ -628,10 +628,10 @@ s_fieldFontForListStyle (MSWordListIdType id)
+ return "NULL";
+
+ case WLNF_UPPER_LETTER: // upper letter
+- return "Times New Roman";
++ return "Liberation Serif";
+
+ case WLNF_LOWER_LETTER: // lower letter
+- return "Times New Roman";
++ return "Liberation Serif";
+
+ case WLNF_BULLETS: // bullet list
+ UT_DEBUGMSG(("Fieldfont set to symbol \n"));
+@@ -639,11 +639,11 @@ s_fieldFontForListStyle (MSWordListIdType id)
+
+ case WLNF_EUROPEAN_ARABIC:
+ case WLNF_ORDINAL: // ordinal
+- return "Times New Roman";
++ return "Liberation Serif";
+
+ default:
+- UT_DEBUGMSG(("unknown list type %d field-font set to Times New Roman \n",id));
+- return "Times New Roman";
++ UT_DEBUGMSG(("unknown list type %d field-font set to Liberation Serif \n",id));
++ return "Liberation Serif";
+ }
+ }
+
+@@ -5250,7 +5250,7 @@ void IE_Imp_MsWord_97::_generateCharProps(UT_String &s, const CHP * achp, wvPars
+ if(fname)
+ s += fname;
+ else
+- s += "Times New Roman";
++ s += "Liberation Serif";
+ FREEP(fname);
+ }
+
+diff --git a/src/wp/impexp/xp/ie_imp_RTF.cpp b/src/wp/impexp/xp/ie_imp_RTF.cpp
+index 97a6f29..3177c9c 100644
+--- a/src/wp/impexp/xp/ie_imp_RTF.cpp
++++ b/src/wp/impexp/xp/ie_imp_RTF.cpp
+@@ -6313,11 +6313,11 @@ bool IE_Imp_RTF::buildCharacterProps(std::string & propBuffer)
+ // {\f83\fnil\fcharset0\fprq0{\*\panose 00000000000000000000} ;}
+ // note the empty slot after the panose entry
+ // later it gets referenced: {\b\f83\fs24\cf1\cgrid0 Malte Cornils
+- // this turns those into "Times New Roman" for now, as a hack to keep from crashing
++ // this turns those into "Liberation Serif" for now, as a hack to keep from crashing
+ if ( pFont->m_pFontName != NULL )
+ propBuffer += pFont->m_pFontName;
+ else
+- propBuffer += "Times New Roman";
++ propBuffer += "Liberation Serif";
+ }
+ if (m_currentRTFState.m_charProps.m_hasColour)
+ {
+@@ -9034,7 +9034,7 @@ bool IE_Imp_RTF::ReadFontTable()
+ {
+ // NB: Ignores whitespace until we've seen non-whitespace data.
+ // This means we pick up the spaces in font names like
+- // "Times New Roman", but it also means that any font names
++ // "Liberation Serif", but it also means that any font names
+ // that genuinely start with spaces will have them discarded.
+ // This is hopefully not a problem.
+ tokenType = NextToken(keyword, &parameter,& paramUsed,
+@@ -9102,11 +9102,11 @@ bool IE_Imp_RTF::ReadFontTable()
+ // It's possible that the font name will be empty. This might happend
+ // because the font table didn't specify a name, or because the \ansicpgN
+ // command was invalid, in which case the mbtowc convertion might fail.
+- // In these cases, substitute "Times New Roman".
++ // In these cases, substitute "Liberation Serif".
+ if (!sFontNamesAndPanose[SFontTableState::MainFontName].length())
+ {
+- UT_DEBUGMSG(("RTF: Font Index %d: Substituting \"Times New Roman\" for missing font name.\n", fontIndex));
+- sFontNamesAndPanose[SFontTableState::MainFontName] = "Times New Roman";
++ UT_DEBUGMSG(("RTF: Font Index %d: Substituting \"Liberation Serif\" for missing font name.\n", fontIndex));
++ sFontNamesAndPanose[SFontTableState::MainFontName] = "Liberation Serif";
+ }
+ // Validate and post-process the Panose string.
+ if (!PostProcessAndValidatePanose(sFontNamesAndPanose[SFontTableState::Panose]))
+diff --git a/user/wp/readme.abw b/user/wp/readme.abw
+index 7bf2cdc..48e3bb6 100644
+--- a/user/wp/readme.abw
++++ b/user/wp/readme.abw
+@@ -16,9 +16,9 @@
+ <version id="9" started="1131226323" uid="e94517c8-4e44-11da-9bf9-8faddbe5f409" auto="0" top-xid="120"/>
+ </history>
+ <styles>
+-<s type="P" name="Heading 1" basedon="Normal" followedby="Normal" props="keep-with-next:1; margin-top:22pt; font-weight:bold; margin-bottom:3pt; font-family:Arial; font-size:17pt; lang:-none-"/>
+-<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Times New Roman; margin-top:0pt; font-style:normal; margin-left:0pt; lang:-none-; dom-dir:ltr; font-variant:normal; text-indent:0in; margin-bottom:12pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
+-<s type="P" name="Heading 2" basedon="Normal" followedby="Normal" props="keep-with-next:1; margin-top:22pt; font-weight:bold; margin-bottom:3pt; font-family:Arial; font-size:14pt; lang:-none-"/>
++<s type="P" name="Heading 1" basedon="Normal" followedby="Normal" props="keep-with-next:1; margin-top:22pt; font-weight:bold; margin-bottom:3pt; font-family:Liberation Sans; font-size:17pt; lang:-none-"/>
++<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Liberation Serif; margin-top:0pt; font-style:normal; margin-left:0pt; lang:-none-; dom-dir:ltr; font-variant:normal; text-indent:0in; margin-bottom:12pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
++<s type="P" name="Heading 2" basedon="Normal" followedby="Normal" props="keep-with-next:1; margin-top:22pt; font-weight:bold; margin-bottom:3pt; font-family:Liberation Sans; font-size:14pt; lang:-none-"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section xid="1">
+diff --git a/user/wp/templates/Business-Letter.awt b/user/wp/templates/Business-Letter.awt
+index 524558a..9448277 100644
+--- a/user/wp/templates/Business-Letter.awt
++++ b/user/wp/templates/Business-Letter.awt
+@@ -19,14 +19,14 @@
+ <version id="4" started="1097285263" uid="6ad98dfc-1992-11d9-90cf-d572573794e2" auto="0"/>
+ </history>
+ <styles>
+-<s followedby="Return Address Section" name="Return Address Section" basedon="Normal" type="P" props="font-weight:normal; font-family:Times New Roman; margin-top:0pt; font-style:normal; margin-left:0.0000in; bgcolor:transparent; text-decoration:none; text-indent:0in; font-variant:normal; color:000000; lang:en-US; margin-right:0.0000in; margin-bottom:0pt; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
+-<s type="P" name="Normal" followedby="Current Settings" props="text-indent:0in; margin-top:0pt; margin-left:0pt; font-stretch:normal; line-height:1.0; text-align:left; bgcolor:transparent; lang:en-US; margin-bottom:0pt; font-weight:normal; text-decoration:none; font-variant:normal; color:000000; text-position:normal; font-size:12pt; margin-right:0pt; font-style:normal; widows:2; font-family:Times New Roman"/>
+-<s followedby="Letter Body" name="Inside Address" basedon="Block Text" type="P" props="text-indent:0in; orphans:2; margin-top:0pt; margin-left:0.0000in; list-decimal:.; line-height:1.0; keep-with-next:no; text-align:left; list-style:None; bgcolor:transparent; lang:en-US; margin-bottom:0pt; font-weight:normal; text-decoration:none; start-value:1; font-variant:normal; color:000000; font-stretch:normal; keep-together:no; font-size:12pt; margin-right:0.0000in; font-style:normal; widows:2; list-delim:%L; font-family:Times New Roman"/>
++<s followedby="Return Address Section" name="Return Address Section" basedon="Normal" type="P" props="font-weight:normal; font-family:Liberation Serif; margin-top:0pt; font-style:normal; margin-left:0.0000in; bgcolor:transparent; text-decoration:none; text-indent:0in; font-variant:normal; color:000000; lang:en-US; margin-right:0.0000in; margin-bottom:0pt; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
++<s type="P" name="Normal" followedby="Current Settings" props="text-indent:0in; margin-top:0pt; margin-left:0pt; font-stretch:normal; line-height:1.0; text-align:left; bgcolor:transparent; lang:en-US; margin-bottom:0pt; font-weight:normal; text-decoration:none; font-variant:normal; color:000000; text-position:normal; font-size:12pt; margin-right:0pt; font-style:normal; widows:2; font-family:Liberation Serif"/>
++<s followedby="Letter Body" name="Inside Address" basedon="Block Text" type="P" props="text-indent:0in; orphans:2; margin-top:0pt; margin-left:0.0000in; list-decimal:.; line-height:1.0; keep-with-next:no; text-align:left; list-style:None; bgcolor:transparent; lang:en-US; margin-bottom:0pt; font-weight:normal; text-decoration:none; start-value:1; font-variant:normal; color:000000; font-stretch:normal; keep-together:no; font-size:12pt; margin-right:0.0000in; font-style:normal; widows:2; list-delim:%L; font-family:Liberation Serif"/>
+ <s type="P" name="Block Text" basedon="Normal" followedby="Current Settings" props="margin-bottom:6pt; margin-right:1in; margin-left:1in"/>
+-<s followedby="Letter Body" name="Letter Body" basedon="Normal" type="P" props="font-weight:normal; font-family:Times New Roman; margin-top:12pt; font-style:normal; margin-left:0pt; bgcolor:transparent; text-decoration:none; text-indent:0.0000in; font-variant:normal; color:000000; lang:en-US; margin-right:0pt; margin-bottom:0pt; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
+-<s followedby="Letter Body" name="Greeting" basedon="Normal" type="P" props="font-family:Times New Roman; margin-top:12pt; font-variant:normal; margin-left:0pt; text-align:left; font-style:normal; text-indent:0in; color:000000; line-height:1.0; widows:2; bgcolor:transparent; margin-right:0pt; text-decoration:none; font-size:12pt; font-weight:normal; margin-bottom:0pt; lang:en-US; font-stretch:normal"/>
+-<s followedby="Signature Line" name="Closing" basedon="Normal" type="P" props="font-weight:normal; font-family:Times New Roman; margin-top:12pt; font-style:normal; margin-left:0.0000in; bgcolor:transparent; text-decoration:none; text-indent:0in; font-variant:normal; color:000000; lang:en-US; margin-right:0pt; margin-bottom:48pt; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
+-<s followedby="Block Text" name="Signature Line" basedon="Return Address Section" type="P" props="font-weight:normal; font-family:Times New Roman; margin-top:0pt; font-style:normal; margin-left:0.0000in; bgcolor:transparent; text-decoration:none; text-indent:0in; font-variant:normal; color:000000; lang:en-US; margin-right:0.0000in; margin-bottom:0pt; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
++<s followedby="Letter Body" name="Letter Body" basedon="Normal" type="P" props="font-weight:normal; font-family:Liberation Serif; margin-top:12pt; font-style:normal; margin-left:0pt; bgcolor:transparent; text-decoration:none; text-indent:0.0000in; font-variant:normal; color:000000; lang:en-US; margin-right:0pt; margin-bottom:0pt; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
++<s followedby="Letter Body" name="Greeting" basedon="Normal" type="P" props="font-family:Liberation Serif; margin-top:12pt; font-variant:normal; margin-left:0pt; text-align:left; font-style:normal; text-indent:0in; color:000000; line-height:1.0; widows:2; bgcolor:transparent; margin-right:0pt; text-decoration:none; font-size:12pt; font-weight:normal; margin-bottom:0pt; lang:en-US; font-stretch:normal"/>
++<s followedby="Signature Line" name="Closing" basedon="Normal" type="P" props="font-weight:normal; font-family:Liberation Serif; margin-top:12pt; font-style:normal; margin-left:0.0000in; bgcolor:transparent; text-decoration:none; text-indent:0in; font-variant:normal; color:000000; lang:en-US; margin-right:0pt; margin-bottom:48pt; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
++<s followedby="Block Text" name="Signature Line" basedon="Return Address Section" type="P" props="font-weight:normal; font-family:Liberation Serif; margin-top:0pt; font-style:normal; margin-left:0.0000in; bgcolor:transparent; text-decoration:none; text-indent:0in; font-variant:normal; color:000000; lang:en-US; margin-right:0.0000in; margin-bottom:0pt; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="Letter" orientation="portrait" width="8.500000" height="11.000000" units="in" page-scale="1.000000"/>
+ <section props="page-margin-footer:0.5in; page-margin-header:0.5in">
+diff --git a/user/wp/templates/Business-Report.awt b/user/wp/templates/Business-Report.awt
+index c2e85c9..f2f5b16 100644
+--- a/user/wp/templates/Business-Report.awt
++++ b/user/wp/templates/Business-Report.awt
+@@ -21,7 +21,7 @@
+ <p style="Normal" props="text-align:right"><c props="lang:en-US; font-size:12 pt"></c></p>
+ <p style="Normal" props="text-align:right"><c props="lang:en-US; font-size:12 pt"></c></p>
+ <p style="Normal" props="text-align:left"><c props="lang:en-US; font-size:48 pt; font-weight:bold">Title</c><c props="lang:en-US; font-size:48 pt; font-weight:bold"></c></p>
+-<p style="Normal" props="text-align:left"><c props="font-family:Times New Roman; text-decoration:none; color:000000; lang:en-US; text-position:normal; font-weight:bold; font-style:normal; font-size:48pt">Subtitle</c><c props="font-family:Times New Roman; text-decoration:none; color:000000; lang:en-US; text-position:normal; font-weight:bold; font-style:normal; font-size:48pt"></c></p>
++<p style="Normal" props="text-align:left"><c props="font-family:Liberation Serif; text-decoration:none; color:000000; lang:en-US; text-position:normal; font-weight:bold; font-style:normal; font-size:48pt">Subtitle</c><c props="font-family:Liberation Serif; text-decoration:none; color:000000; lang:en-US; text-position:normal; font-weight:bold; font-style:normal; font-size:48pt"></c></p>
+ <p style="Normal" props="text-align:right; margin-top:0pt; line-height:1.0"><c props="lang:en-US; font-size:8 pt"></c><image dataid="/home/dickk/images/balk.png_0" props="lang:en-US; height:0.090551in; width:6.295276in"/></p>
+ <p style="Normal" props="text-align:right; margin-top:0pt; line-height:1.0"><c props="lang:en-US; font-size:18 pt; font-weight:bold">Release 1.0</c></p>
+ <p style="Normal"><c props="lang:en-US"></c></p>
+@@ -99,11 +99,11 @@
+ <section footer="1961180032" header="671410933">
+ <p style="Normal"></p>
+ <p style="Normal"></p>
+-<p level="1" listid="1908846824" parentid="0" style="Numbered Heading 1" props="start-value:1; text-indent:0.0000in; list-style:Numbered List; field-font:Arial; margin-left:0.0000in"><c props="list-tag:254800672"><pbr/></c><c props="list-tag:254800672"></c><field type="list_label" props="width:0in; font-family:Arial; color:000000; font-weight:bold; lang:en-US; font-style:normal; text-position:normal; bgcolor:transparent; text-decoration:none; height:0in; font-size:17pt"></field><c type="list_label" props="width:0in; font-family:Arial; color:000000; font-weight:bold; lang:en-US; font-style:normal; text-position:normal; bgcolor:transparent; text-decoration:none; height:0in; font-size:17pt"> Heading 1</c></p>
++<p level="1" listid="1908846824" parentid="0" style="Numbered Heading 1" props="start-value:1; text-indent:0.0000in; list-style:Numbered List; field-font:Liberation Sans; margin-left:0.0000in"><c props="list-tag:254800672"><pbr/></c><c props="list-tag:254800672"></c><field type="list_label" props="width:0in; font-family:Liberation Sans; color:000000; font-weight:bold; lang:en-US; font-style:normal; text-position:normal; bgcolor:transparent; text-decoration:none; height:0in; font-size:17pt"></field><c type="list_label" props="width:0in; font-family:Liberation Sans; color:000000; font-weight:bold; lang:en-US; font-style:normal; text-position:normal; bgcolor:transparent; text-decoration:none; height:0in; font-size:17pt"> Heading 1</c></p>
+ <p style="Normal"><c type="list_label" props="lang:en-US; height:0in; width:0in">text</c><c type="list_label" props="lang:en-US; height:0in; width:0in"></c></p>
+-<p level="2" listid="686698307" parentid="1908846824" style="Numbered Heading 2" props="start-value:1; text-indent:0.0000in; list-style:Numbered List; field-font:Arial; margin-left:0.0000in"><c type="list_label" props="lang:en-US; height:0in; width:0in; list-tag:1877104478"></c><field type="list_label" props="width:0in; font-family:Arial; color:000000; font-weight:bold; lang:en-US; font-style:normal; text-position:normal; bgcolor:transparent; text-decoration:none; height:0in; font-size:14pt"></field><c type="list_label" props="width:0in; font-family:Arial; color:000000; font-weight:bold; lang:en-US; font-style:normal; text-position:normal; bgcolor:transparent; text-decoration:none; height:0in; font-size:14pt"> Heading 2</c></p>
++<p level="2" listid="686698307" parentid="1908846824" style="Numbered Heading 2" props="start-value:1; text-indent:0.0000in; list-style:Numbered List; field-font:Liberation Sans; margin-left:0.0000in"><c type="list_label" props="lang:en-US; height:0in; width:0in; list-tag:1877104478"></c><field type="list_label" props="width:0in; font-family:Liberation Sans; color:000000; font-weight:bold; lang:en-US; font-style:normal; text-position:normal; bgcolor:transparent; text-decoration:none; height:0in; font-size:14pt"></field><c type="list_label" props="width:0in; font-family:Liberation Sans; color:000000; font-weight:bold; lang:en-US; font-style:normal; text-position:normal; bgcolor:transparent; text-decoration:none; height:0in; font-size:14pt"> Heading 2</c></p>
+ <p style="Normal"><c type="list_label" props="lang:en-US; height:0in; width:0in">text</c><c type="list_label" props="lang:en-US; height:0in; width:0in"></c></p>
+-<p level="3" listid="1990149216" parentid="686698307" style="Numbered Heading 3" props="start-value:1; text-indent:0.0000in; list-style:Numbered List; field-font:Arial; margin-left:0.0000in"><c type="list_label" props="lang:en-US; height:0in; width:0in; list-tag:1324672020"></c><field type="list_label" props="width:0in; font-family:Arial; color:000000; font-weight:bold; lang:en-US; font-style:normal; text-position:normal; bgcolor:transparent; text-decoration:none; height:0in; font-size:12pt"></field><c type="list_label" props="width:0in; font-family:Arial; color:000000; font-weight:bold; lang:en-US; font-style:normal; text-position:normal; bgcolor:transparent; text-decoration:none; height:0in; font-size:12pt"> Heading 3</c></p>
++<p level="3" listid="1990149216" parentid="686698307" style="Numbered Heading 3" props="start-value:1; text-indent:0.0000in; list-style:Numbered List; field-font:Liberation Sans; margin-left:0.0000in"><c type="list_label" props="lang:en-US; height:0in; width:0in; list-tag:1324672020"></c><field type="list_label" props="width:0in; font-family:Liberation Sans; color:000000; font-weight:bold; lang:en-US; font-style:normal; text-position:normal; bgcolor:transparent; text-decoration:none; height:0in; font-size:12pt"></field><c type="list_label" props="width:0in; font-family:Liberation Sans; color:000000; font-weight:bold; lang:en-US; font-style:normal; text-position:normal; bgcolor:transparent; text-decoration:none; height:0in; font-size:12pt"> Heading 3</c></p>
+ <p style="Normal"><c type="list_label" props="lang:en-US; height:0in; width:0in"></c></p>
+ </section>
+ <section id="1961180032" listid="0" parentid="0" type="footer">
+diff --git a/user/wp/templates/Employee-Directory.awt b/user/wp/templates/Employee-Directory.awt
+index c4f7ebc..b0faa54 100644
+--- a/user/wp/templates/Employee-Directory.awt
++++ b/user/wp/templates/Employee-Directory.awt
+@@ -10,9 +10,9 @@
+
+ <pagesize pagetype="Letter" orientation="portrait" width="8.500000" height="11.000000" units="in" page-scale="1.000000"/>
+ <section props="page-margin-footer:0.5in; page-margin-header:0.5in">
+-<p style="Normal" props="text-align:left"><c props="lang:en-US; font-size:20pt; font-family:Times New Roman">Company Name</c></p>
+-<p style="Normal" props="text-align:left"><c props="lang:en-US; font-size:26pt; font-family:Times New Roman">Directory of Employees</c></p>
+-<p style="Normal" props="text-align:left"><c props="lang:en-US; font-size:12pt; font-family:Times New Roman"></c><image dataid="C:\Documents and Settings\jgz\Desktop\bar.bmp_0" props="height:0.15in; font-size:12pt; width:8.23in"/></p>
++<p style="Normal" props="text-align:left"><c props="lang:en-US; font-size:20pt; font-family:Liberation Serif">Company Name</c></p>
++<p style="Normal" props="text-align:left"><c props="lang:en-US; font-size:26pt; font-family:Liberation Serif">Directory of Employees</c></p>
++<p style="Normal" props="text-align:left"><c props="lang:en-US; font-size:12pt; font-family:Liberation Serif"></c><image dataid="C:\Documents and Settings\jgz\Desktop\bar.bmp_0" props="height:0.15in; font-size:12pt; width:8.23in"/></p>
+ <p style="Normal" props="text-align:center"><c props="lang:en-US; font-size:12pt"></c></p>
+ <p style="Normal" props="text-align:center"><c props="lang:en-US; font-size:12pt"></c></p>
+ <p style="Normal" props="text-align:center"><c props="lang:en-US"></c></p>
+@@ -36,59 +36,59 @@
+ <p style="Normal" props="tabstops:2.0000in/L0"><c type="date">Normal Style (123) 555-1212</c></p>
+ <p style="Normal" props="text-align:left; tabstops:2.0000in/L0"><c type="date" props="font-weight:normal; font-size:11pt; font-style:normal"></c></p>
+ <p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-weight:normal; font-size:11pt; font-style:normal"></c></p>
+-<p style="Heading 3" props="margin-top:0.3056in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0417in; text-indent:0.0000in; line-height:1.000000; text-align:center; margin-right:0.0000in"><c type="date" props="font-family:Arial; font-size:12pt; color:000000; text-decoration:underline ; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">Department Name</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">The big boss upstairs (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; lang:en-US; text-position:normal; font-weight:normal; font-style:normal; text-decoration:none"></c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US"></c></p>
+-<p style="Heading 3" props="margin-top:0.3056in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0417in; text-indent:0.0000in; line-height:1.000000; text-align:center; margin-right:0.0000in"><c type="date" props="font-family:Arial; font-size:12pt; color:000000; text-decoration:underline ; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">Department Name</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">The big boss upstairs (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US"></c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US"></c></p>
+-<p style="Heading 3" props="margin-top:0.3056in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0417in; text-indent:0.0000in; line-height:1.000000; text-align:center; margin-right:0.0000in"><c type="date" props="font-family:Arial; font-size:12pt; color:000000; text-decoration:underline ; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">Department Name</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">The big boss upstairs (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US"></c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US"></c></p>
+-<p style="Heading 3" props="margin-top:0.3056in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0417in; text-indent:0.0000in; line-height:1.000000; text-align:center; margin-right:0.0000in"><c type="date" props="font-family:Arial; font-size:12pt; color:000000; text-decoration:underline ; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">Department Name</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">The big boss upstairs (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US"></c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US"></c></p>
+-<p style="Heading 3" props="margin-top:0.3056in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0417in; text-indent:0.0000in; line-height:1.000000; text-align:center; margin-right:0.0000in"><c type="date" props="font-family:Arial; font-size:12pt; color:000000; lang:en-US; text-position:normal; font-weight:bold; font-style:normal; text-decoration:underline ">General Numbers</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Front Desk (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Security (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Building Management (123) 555-1212</c></p>
+-<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Times New Roman; font-size:12pt; color:000000; lang:en-US; text-position:normal; font-weight:normal; font-style:normal; text-decoration:none">Other General Numbers (123) 555-1212</c></p>
++<p style="Heading 3" props="margin-top:0.3056in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0417in; text-indent:0.0000in; line-height:1.000000; text-align:center; margin-right:0.0000in"><c type="date" props="font-family:Liberation Sans; font-size:12pt; color:000000; text-decoration:underline ; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">Department Name</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">The big boss upstairs (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; lang:en-US; text-position:normal; font-weight:normal; font-style:normal; text-decoration:none"></c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US"></c></p>
++<p style="Heading 3" props="margin-top:0.3056in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0417in; text-indent:0.0000in; line-height:1.000000; text-align:center; margin-right:0.0000in"><c type="date" props="font-family:Liberation Sans; font-size:12pt; color:000000; text-decoration:underline ; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">Department Name</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">The big boss upstairs (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US"></c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US"></c></p>
++<p style="Heading 3" props="margin-top:0.3056in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0417in; text-indent:0.0000in; line-height:1.000000; text-align:center; margin-right:0.0000in"><c type="date" props="font-family:Liberation Sans; font-size:12pt; color:000000; text-decoration:underline ; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">Department Name</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">The big boss upstairs (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US"></c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US"></c></p>
++<p style="Heading 3" props="margin-top:0.3056in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0417in; text-indent:0.0000in; line-height:1.000000; text-align:center; margin-right:0.0000in"><c type="date" props="font-family:Liberation Sans; font-size:12pt; color:000000; text-decoration:underline ; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">Department Name</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:bold; font-style:normal; lang:en-US">The big boss upstairs (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Last Name, First Name (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US"></c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US"></c></p>
++<p style="Heading 3" props="margin-top:0.3056in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0417in; text-indent:0.0000in; line-height:1.000000; text-align:center; margin-right:0.0000in"><c type="date" props="font-family:Liberation Sans; font-size:12pt; color:000000; lang:en-US; text-position:normal; font-weight:bold; font-style:normal; text-decoration:underline ">General Numbers</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Front Desk (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Security (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">Building Management (123) 555-1212</c></p>
++<p style="Normal" props="margin-top:0.0000in; margin-left:0.0000in; tabstops:2.000000in/L0; margin-bottom:0.0000in; text-indent:0.0000in; line-height:1.000000; text-align:left; margin-right:0.0000in"><c type="date" props="font-family:Liberation Serif; font-size:12pt; color:000000; lang:en-US; text-position:normal; font-weight:normal; font-style:normal; text-decoration:none">Other General Numbers (123) 555-1212</c></p>
+ </section>
+ <data>
+ <d name="C:\Documents and Settings\jgz\Desktop\bookopen.bmp_0" mime-type="image/png" base64="yes">
+diff --git a/user/wp/templates/Fax-Coversheet.awt b/user/wp/templates/Fax-Coversheet.awt
+index acc7ba8..cc5779c 100644
+--- a/user/wp/templates/Fax-Coversheet.awt
++++ b/user/wp/templates/Fax-Coversheet.awt
+@@ -10,26 +10,26 @@
+
+ <pagesize pagetype="Letter" orientation="portrait" width="8.500000" height="11.000000" units="in" page-scale="1.000000"/>
+ <section props="page-margin-footer:0.5in; page-margin-header:0.5in">
+-<p style="Normal" props="tabstops:6.2500in/R0,2.7500in/L0,4.5000in/C0"><c props="lang:en-US"> </c><c props="bgcolor:000000; lang:en-US; font-size:24pt; font-family:Arial Black; color:ffffff"> Company Name </c><c props="bgcolor:000000; lang:en-US; font-size:12pt; font-family:Arial Black; color:ffffff"></c></p>
+-<p style="Normal"><c props="bgcolor:ffffff; lang:en-US; font-size:12pt; font-family:Arial; color:000000">Company Address Line 1</c></p>
+-<p style="Normal"><c props="bgcolor:ffffff; lang:en-US; font-size:12pt; font-family:Arial; color:000000">Company Address Line 2</c></p>
+-<p style="Normal"><c props="bgcolor:ffffff; lang:en-US; font-size:12pt; font-family:Arial; color:000000">Company Address Line 3</c></p>
+-<p style="Normal"><c props="bgcolor:ffffff; lang:en-US; font-size:12pt; font-family:Arial; color:000000"></c></p>
+-<p style="Normal"><c props="bgcolor:ffffff; lang:en-US; font-size:72pt; font-family:Arial Black; color:000000">FAX</c></p>
+-<p style="Normal" props="tabstops:4.0000in/L0,0.7500in/L0,3.2500in/L0"><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Arial; font-size:12pt">TO: </c><c props="bgcolor:ffffff; lang:en-US; font-size:12pt; font-family:Arial; color:000000"> </c><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Arial; font-size:12pt">From: </c></p>
+-<p style="Normal" props="tabstops:4.0000in/L0,0.7500in/L0,3.2500in/L0"><image dataid="C:\Documents and Settings\jgz\Desktop\bar.bmp_0" props="height:0.15in; width:8.23in"/><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Arial; font-size:12pt">Fax: </c><c props="bgcolor:ffffff; lang:en-US; font-size:12pt; font-family:Arial; color:000000"> </c><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Arial; font-size:12pt">Pages: </c></p>
+-<p style="Normal" props="tabstops:4.0000in/L0,0.7500in/L0,3.2500in/L0"><image dataid="C:\Documents and Settings\jgz\Desktop\bar.bmp_1" props="height:0.15in; width:8.23in"/><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Arial; font-size:12pt">Phone: </c><c props="bgcolor:ffffff; lang:en-US; font-size:12pt; font-family:Arial; color:000000"> </c><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Arial; font-size:12pt">Date: </c><field type="date_mdy" param=""></field></p>
++<p style="Normal" props="tabstops:6.2500in/R0,2.7500in/L0,4.5000in/C0"><c props="lang:en-US"> </c><c props="bgcolor:000000; lang:en-US; font-size:24pt; font-family:Liberation Sans Bold; color:ffffff"> Company Name </c><c props="bgcolor:000000; lang:en-US; font-size:12pt; font-family:Liberation Sans Bold; color:ffffff"></c></p>
++<p style="Normal"><c props="bgcolor:ffffff; lang:en-US; font-size:12pt; font-family:Liberation Sans; color:000000">Company Address Line 1</c></p>
++<p style="Normal"><c props="bgcolor:ffffff; lang:en-US; font-size:12pt; font-family:Liberation Sans; color:000000">Company Address Line 2</c></p>
++<p style="Normal"><c props="bgcolor:ffffff; lang:en-US; font-size:12pt; font-family:Liberation Sans; color:000000">Company Address Line 3</c></p>
++<p style="Normal"><c props="bgcolor:ffffff; lang:en-US; font-size:12pt; font-family:Liberation Sans; color:000000"></c></p>
++<p style="Normal"><c props="bgcolor:ffffff; lang:en-US; font-size:72pt; font-family:Liberation Sans Bold; color:000000">FAX</c></p>
++<p style="Normal" props="tabstops:4.0000in/L0,0.7500in/L0,3.2500in/L0"><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Liberation Sans; font-size:12pt">TO: </c><c props="bgcolor:ffffff; lang:en-US; font-size:12pt; font-family:Liberation Sans; color:000000"> </c><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Liberation Sans; font-size:12pt">From: </c></p>
++<p style="Normal" props="tabstops:4.0000in/L0,0.7500in/L0,3.2500in/L0"><image dataid="C:\Documents and Settings\jgz\Desktop\bar.bmp_0" props="height:0.15in; width:8.23in"/><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Liberation Sans; font-size:12pt">Fax: </c><c props="bgcolor:ffffff; lang:en-US; font-size:12pt; font-family:Liberation Sans; color:000000"> </c><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Liberation Sans; font-size:12pt">Pages: </c></p>
++<p style="Normal" props="tabstops:4.0000in/L0,0.7500in/L0,3.2500in/L0"><image dataid="C:\Documents and Settings\jgz\Desktop\bar.bmp_1" props="height:0.15in; width:8.23in"/><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Liberation Sans; font-size:12pt">Phone: </c><c props="bgcolor:ffffff; lang:en-US; font-size:12pt; font-family:Liberation Sans; color:000000"> </c><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Liberation Sans; font-size:12pt">Date: </c><field type="date_mdy" param=""></field></p>
+ <p style="Normal" props="tabstops:4.0000in/L0,0.7500in/L0,3.2500in/L0; margin-left:0.0000in"><image dataid="C:\Documents and Settings\jgz\Desktop\bar.bmp_2" props="height:0.15in; width:8.23in"/></p>
+ <p style="Normal" props="tabstops:4.0000in/L0,0.7500in/L0,3.2500in/L0; margin-left:0.0000in"><c type="date_mdy" param="" props="font-weight:bold">Re: </c><c type="date_mdy" param=""> </c><c type="date_mdy" param="" props="font-weight:bold">CC: </c></p>
+ <p style="Normal" props="tabstops:4.0000in/L0,0.7500in/L0,3.2500in/L0; margin-left:0.0000in"><c type="date_mdy" param="" props="font-weight:bold"></c><image dataid="C:\Documents and Settings\jgz\Desktop\bar.bmp_4" props="height:0.15in; width:8.23in"/></p>
+ <p style="Normal" props="tabstops:2.2500in/L0,1.0000in/L0,3.7500in/L0,5.0000in/L0; margin-left:0.0000in"></p>
+-<p style="Normal" props="tabstops:2.2500in/L0,1.0000in/L0,3.7500in/L0,5.0000in/L0; margin-left:0.0000in"><c type="date_mdy" param="" props="font-family:Symbol; font-weight:bold"></c><c type="date_mdy" param="" props="font-family:Times New Roman; font-weight:bold"> </c><c type="date_mdy" param="" props="font-weight:bold">Urgent </c><c type="date_mdy" param="" props="font-family:Symbol; font-weight:bold"> </c><c type="date_mdy" param="" props="font-weight:bold">For Review </c><c type="date_mdy" param="" props="font-family:Symbol; font-weight:bold"></c><c type="date_mdy" param="" props="font-family:Times New Roman; font-weight:bold"> </c><c type="date_mdy" param="" props="font-weight:bold">Please Comment </c><c type="date_mdy" param="" props="font-family:Symbol; font-weight:bold"></c><c type="date_mdy" param="" props="font-family:Times New Roman; font-weight:bold"> </c><c type="date_mdy" param="" props="font-weight:bold">Please Reply </c><c type="date_mdy" param="" props="font-family:Symbol; font-weight:bold"></c><c type="date_mdy" param="" props="font-family:Times New Roman; font-weight:bold"> </c><c type="date_mdy" param="" props="font-weight:bold">Please Recycle</c><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Arial; font-size:12pt"> </c></p>
+-<p style="Normal" props="tabstops:2.2500in/L0,1.0000in/L0,3.7500in/L0,5.0000in/L0; margin-left:0.0000in"><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Arial; font-size:12pt"></c><image dataid="C:\Documents and Settings\jgz\Desktop\bar.bmp_5" props="height:0.15in; width:8.23in"/></p>
++<p style="Normal" props="tabstops:2.2500in/L0,1.0000in/L0,3.7500in/L0,5.0000in/L0; margin-left:0.0000in"><c type="date_mdy" param="" props="font-family:Symbol; font-weight:bold"></c><c type="date_mdy" param="" props="font-family:Liberation Serif; font-weight:bold"> </c><c type="date_mdy" param="" props="font-weight:bold">Urgent </c><c type="date_mdy" param="" props="font-family:Symbol; font-weight:bold"> </c><c type="date_mdy" param="" props="font-weight:bold">For Review </c><c type="date_mdy" param="" props="font-family:Symbol; font-weight:bold"></c><c type="date_mdy" param="" props="font-family:Liberation Serif; font-weight:bold"> </c><c type="date_mdy" param="" props="font-weight:bold">Please Comment </c><c type="date_mdy" param="" props="font-family:Symbol; font-weight:bold"></c><c type="date_mdy" param="" props="font-family:Liberation Serif; font-weight:bold"> </c><c type="date_mdy" param="" props="font-weight:bold">Please Reply </c><c type="date_mdy" param="" props="font-family:Symbol; font-weight:bold"></c><c type="date_mdy" param="" props="font-family:Liberation Serif; font-weight:bold"> </c><c type="date_mdy" param="" props="font-weight:bold">Please Recycle</c><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Liberation Sans; font-size:12pt"> </c></p>
++<p style="Normal" props="tabstops:2.2500in/L0,1.0000in/L0,3.7500in/L0,5.0000in/L0; margin-left:0.0000in"><c props="bgcolor:ffffff; lang:en-US; font-weight:bold; color:000000; font-family:Liberation Sans; font-size:12pt"></c><image dataid="C:\Documents and Settings\jgz\Desktop\bar.bmp_5" props="height:0.15in; width:8.23in"/></p>
+ <p style="Normal"></p>
+ <p style="Normal"></p>
+-<p style="Normal" props="text-align:center"><c props="font-family:Arial; text-decoration:underline; color:000000; lang:en-US; bgcolor:ffffff; font-weight:bold; font-size:16pt">Comments</c></p>
++<p style="Normal" props="text-align:center"><c props="font-family:Liberation Sans; text-decoration:underline; color:000000; lang:en-US; bgcolor:ffffff; font-weight:bold; font-size:16pt">Comments</c></p>
+ <p style="Normal" props="margin-left:0.0000in"></p>
+-<p style="Normal" props="margin-left:0.0000in"><c props="font-family:Arial; color:000000; font-size:10pt; text-position:normal; lang:en-US; bgcolor:ffffff; font-weight:normal; font-style:normal; text-decoration:none">This text should the replaced with your comments about the fax and any </c><c props="font-family:Arial; bgcolor:ffffff; font-size:10pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">additional</c><c props="font-family:Arial; color:000000; font-size:10pt; text-position:normal; lang:en-US; bgcolor:ffffff; font-weight:normal; font-style:normal; text-decoration:none"> comment to the receiver. </c></p>
++<p style="Normal" props="margin-left:0.0000in"><c props="font-family:Liberation Sans; color:000000; font-size:10pt; text-position:normal; lang:en-US; bgcolor:ffffff; font-weight:normal; font-style:normal; text-decoration:none">This text should the replaced with your comments about the fax and any </c><c props="font-family:Liberation Sans; bgcolor:ffffff; font-size:10pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">additional</c><c props="font-family:Liberation Sans; color:000000; font-size:10pt; text-position:normal; lang:en-US; bgcolor:ffffff; font-weight:normal; font-style:normal; text-decoration:none"> comment to the receiver. </c></p>
+ </section>
+ <data>
+ <d name="C:\Documents and Settings\jgz\Desktop\bar.bmp_0" mime-type="image/png" base64="yes">
+diff --git a/user/wp/templates/Friendly-Letter.awt b/user/wp/templates/Friendly-Letter.awt
+index 5a25db1..2e687fc 100644
+--- a/user/wp/templates/Friendly-Letter.awt
++++ b/user/wp/templates/Friendly-Letter.awt
+@@ -16,12 +16,12 @@
+ <version id="1" started="1096736888" uid="a22a447e-1495-11d9-9525-9e1170ef822d" auto="0"/>
+ </history>
+ <styles>
+-<s followedby="Return Address Section" name="Return Address Section" basedon="Normal" type="P" props="font-weight:normal; font-family:Times New Roman; margin-top:0pt; font-style:normal; margin-left:4.5000in; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.0000in; color:000000; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
+-<s type="P" name="Normal" followedby="Current Settings" props="text-indent:0in; margin-top:0pt; margin-left:0pt; font-stretch:normal; line-height:1.0; text-align:left; bgcolor:transparent; lang:en-US; margin-bottom:0pt; text-decoration:none; font-weight:normal; font-variant:normal; color:000000; text-position:normal; font-size:12pt; margin-right:0pt; font-style:normal; widows:2; font-family:Times New Roman"/>
+-<s followedby="Letter Body" name="Greeting" basedon="Normal" type="P" props="font-weight:normal; font-family:Times New Roman; margin-top:12pt; font-style:normal; margin-left:0pt; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
+-<s followedby="Letter Body" name="Letter Body" basedon="Normal" type="P" props="font-weight:normal; font-family:Times New Roman; margin-top:12pt; font-style:normal; margin-left:0pt; lang:en-US; font-variant:normal; text-indent:0.5000in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
+-<s followedby="Signature Line" name="Closing" basedon="Normal" type="P" props="font-weight:normal; font-family:Times New Roman; margin-top:12pt; font-style:normal; margin-left:4.5000in; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:48pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
+-<s type="P" name="Signature Line" basedon="Return Address Section" followedby="Block Text" props="font-weight:normal; font-family:Times New Roman; margin-top:0pt; font-style:normal; margin-left:4.5000in; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.0000in; color:000000; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
++<s followedby="Return Address Section" name="Return Address Section" basedon="Normal" type="P" props="font-weight:normal; font-family:Liberation Serif; margin-top:0pt; font-style:normal; margin-left:4.5000in; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.0000in; color:000000; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
++<s type="P" name="Normal" followedby="Current Settings" props="text-indent:0in; margin-top:0pt; margin-left:0pt; font-stretch:normal; line-height:1.0; text-align:left; bgcolor:transparent; lang:en-US; margin-bottom:0pt; text-decoration:none; font-weight:normal; font-variant:normal; color:000000; text-position:normal; font-size:12pt; margin-right:0pt; font-style:normal; widows:2; font-family:Liberation Serif"/>
++<s followedby="Letter Body" name="Greeting" basedon="Normal" type="P" props="font-weight:normal; font-family:Liberation Serif; margin-top:12pt; font-style:normal; margin-left:0pt; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
++<s followedby="Letter Body" name="Letter Body" basedon="Normal" type="P" props="font-weight:normal; font-family:Liberation Serif; margin-top:12pt; font-style:normal; margin-left:0pt; lang:en-US; font-variant:normal; text-indent:0.5000in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
++<s followedby="Signature Line" name="Closing" basedon="Normal" type="P" props="font-weight:normal; font-family:Liberation Serif; margin-top:12pt; font-style:normal; margin-left:4.5000in; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:48pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
++<s type="P" name="Signature Line" basedon="Return Address Section" followedby="Block Text" props="font-weight:normal; font-family:Liberation Serif; margin-top:0pt; font-style:normal; margin-left:4.5000in; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.0000in; color:000000; font-size:12pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="Letter" orientation="portrait" width="8.500000" height="11.000000" units="in" page-scale="1.000000"/>
+ <section props="page-margin-footer:0.5in; page-margin-header:0.5in">
+diff --git a/user/wp/templates/Memo.awt b/user/wp/templates/Memo.awt
+index 79b5538..560a4cd 100644
+--- a/user/wp/templates/Memo.awt
++++ b/user/wp/templates/Memo.awt
+@@ -14,10 +14,10 @@
+ <m key="abiword.date_last_changed">Fri Mar 12 21:07:56 2004</m>
+ </metadata>
+ <styles>
+-<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Times New Roman; margin-top:0pt; font-style:normal; margin-left:0pt; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:10pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:10pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
+-<s followedby="Normal" name="Heading 3" basedon="Normal" type="P" props="font-weight:normal; margin-top:22pt; keep-with-next:1; margin-bottom:3pt; font-family:Arial; font-size:10pt"/>
+-<s followedby="Normal" name="Heading 2" basedon="Normal" type="P" props="margin-top:22pt; font-size:10pt; margin-bottom:3pt; text-align:right; font-style:italic; font-weight:normal; font-family:Arial; keep-with-next:1"/>
+-<s type="P" name="Heading 1" basedon="Normal" followedby="Normal" props="keep-with-next:1; margin-top:22pt; font-weight:bold; margin-bottom:3pt; font-family:Arial; font-size:17pt"/>
++<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Liberation Serif; margin-top:0pt; font-style:normal; margin-left:0pt; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:10pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:10pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
++<s followedby="Normal" name="Heading 3" basedon="Normal" type="P" props="font-weight:normal; margin-top:22pt; keep-with-next:1; margin-bottom:3pt; font-family:Liberation Sans; font-size:10pt"/>
++<s followedby="Normal" name="Heading 2" basedon="Normal" type="P" props="margin-top:22pt; font-size:10pt; margin-bottom:3pt; text-align:right; font-style:italic; font-weight:normal; font-family:Liberation Sans; keep-with-next:1"/>
++<s type="P" name="Heading 1" basedon="Normal" followedby="Normal" props="keep-with-next:1; margin-top:22pt; font-weight:bold; margin-bottom:3pt; font-family:Liberation Sans; font-size:17pt"/>
+ </styles>
+ <lists>
+ <l id="1002" parentid="0" type="5" start-value="0" list-delim="%L" list-decimal="NULL"/>
+@@ -59,10 +59,10 @@
+ <p style="Normal">The box that this text is in uses AbiWord's table support to draw the border. You can either allow the border to fit to the size of the text as it is now, or press &lt;ENTER&gt; repeatedly at the end of your memo to expand the border to fill the rest of the page.</p>
+ <p style="Normal">Don't forget to change the header and footer before printing! If you wish to save this memo for later and ensure that the date above is saved as today's (not automatically updating), select it and type the desired date text over it.</p>
+ <p style="Normal">The styles used in this document for correct conversion, import, export, and HTML are:</p>
+-<p level="1" listid="1002" parentid="0" style="Normal" props="start-value:0; text-indent:-0.3000in; list-style:Bullet List; field-font:Symbol; margin-left:0.5000in"><c props="list-tag:1003"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"> Heading 1 for Company Name</c></p>
+-<p level="1" listid="1002" parentid="0" style="Normal" props="start-value:0; text-indent:-0.3000in; list-style:Bullet List; field-font:Symbol; margin-left:0.5000in"><c props="width:0in; list-tag:1004; font-family:Times New Roman; display:inline; font-style:normal; font-weight:normal; lang:en-US; font-variant:normal; color:000000; list-style:Bullet List; bgcolor:transparent; font-size:10pt; homogeneous:1; text-decoration:none; height:0in; text-position:normal; font-stretch:normal"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"> Heading 2 for Slogan</c></p>
+-<p level="1" listid="1002" parentid="0" style="Normal" props="start-value:0; text-indent:-0.3000in; list-style:Bullet List; field-font:Symbol; margin-left:0.5000in"><c props="width:0in; list-tag:1005; font-family:Times New Roman; display:inline; font-style:normal; font-weight:normal; lang:en-US; font-variant:normal; color:000000; list-style:Bullet List; bgcolor:transparent; font-size:10pt; homogeneous:1; text-decoration:none; height:0in; text-position:normal; font-stretch:normal"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"> Heading 3 for "Date:", "To:", etc.</c></p>
+-<p level="1" listid="1002" parentid="0" style="Normal" props="start-value:0; text-indent:-0.3000in; list-style:Bullet List; field-font:Symbol; margin-left:0.5000in"><c props="width:0in; list-tag:1006; font-family:Times New Roman; display:inline; font-style:normal; font-weight:normal; lang:en-US; font-variant:normal; color:000000; list-style:Bullet List; bgcolor:transparent; font-size:10pt; homogeneous:1; text-decoration:none; height:0in; text-position:normal; font-stretch:normal"></c><field type="list_label" props="width:0in; font-family:Times New Roman; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"></field><c props="width:0in; font-family:Times New Roman; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"> Normal for body text</c></p>
++<p level="1" listid="1002" parentid="0" style="Normal" props="start-value:0; text-indent:-0.3000in; list-style:Bullet List; field-font:Symbol; margin-left:0.5000in"><c props="list-tag:1003"></c><field type="list_label" props="width:0in; font-family:Liberation Serif; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"></field><c props="width:0in; font-family:Liberation Serif; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"> Heading 1 for Company Name</c></p>
++<p level="1" listid="1002" parentid="0" style="Normal" props="start-value:0; text-indent:-0.3000in; list-style:Bullet List; field-font:Symbol; margin-left:0.5000in"><c props="width:0in; list-tag:1004; font-family:Liberation Serif; display:inline; font-style:normal; font-weight:normal; lang:en-US; font-variant:normal; color:000000; list-style:Bullet List; bgcolor:transparent; font-size:10pt; homogeneous:1; text-decoration:none; height:0in; text-position:normal; font-stretch:normal"></c><field type="list_label" props="width:0in; font-family:Liberation Serif; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"></field><c props="width:0in; font-family:Liberation Serif; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"> Heading 2 for Slogan</c></p>
++<p level="1" listid="1002" parentid="0" style="Normal" props="start-value:0; text-indent:-0.3000in; list-style:Bullet List; field-font:Symbol; margin-left:0.5000in"><c props="width:0in; list-tag:1005; font-family:Liberation Serif; display:inline; font-style:normal; font-weight:normal; lang:en-US; font-variant:normal; color:000000; list-style:Bullet List; bgcolor:transparent; font-size:10pt; homogeneous:1; text-decoration:none; height:0in; text-position:normal; font-stretch:normal"></c><field type="list_label" props="width:0in; font-family:Liberation Serif; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"></field><c props="width:0in; font-family:Liberation Serif; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"> Heading 3 for "Date:", "To:", etc.</c></p>
++<p level="1" listid="1002" parentid="0" style="Normal" props="start-value:0; text-indent:-0.3000in; list-style:Bullet List; field-font:Symbol; margin-left:0.5000in"><c props="width:0in; list-tag:1006; font-family:Liberation Serif; display:inline; font-style:normal; font-weight:normal; lang:en-US; font-variant:normal; color:000000; list-style:Bullet List; bgcolor:transparent; font-size:10pt; homogeneous:1; text-decoration:none; height:0in; text-position:normal; font-stretch:normal"></c><field type="list_label" props="width:0in; font-family:Liberation Serif; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"></field><c props="width:0in; font-family:Liberation Serif; display:inline; font-style:normal; font-weight:normal; bgcolor:transparent; lang:en-US; text-position:normal; homogeneous:1; color:000000; font-variant:normal; text-decoration:none; font-size:10pt; height:0in; list-style:Bullet List; font-stretch:normal"> Normal for body text</c></p>
+ </cell>
+ </table>
+ <p style="Normal"></p>
+diff --git a/user/wp/templates/Press-Release.awt b/user/wp/templates/Press-Release.awt
+index 708bce7..4d8bac1 100644
+--- a/user/wp/templates/Press-Release.awt
++++ b/user/wp/templates/Press-Release.awt
+@@ -16,19 +16,19 @@
+ <version id="3" started="1080258930" uid="0c5a8b0e-7ec0-11d8-92e5-d7901b3e7f1a" auto="0"/>
+ </history>
+ <styles>
+-<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Arial; margin-top:0pt; font-style:normal; margin-left:0.5000in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.5000in; color:000000; font-size:12pt; line-height:1.000000; text-align:left; widows:2; font-stretch:normal"/>
+-<s followedby="Normal" name="Heading 1" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:17pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/>
+-<s followedby="Press Release" name="Press Release" basedon="Normal" type="P" props="font-weight:normal; font-family:Arial; margin-top:0.1667in; font-style:normal; margin-left:0.5000in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.5000in; color:000000; font-size:12pt; line-height:1.000000; text-align:left; widows:2; font-stretch:normal"/>
+-<s followedby="About Companies" name="About Companies" basedon="Press Release" type="P" props="font-weight:normal; font-family:Arial; margin-top:0.1111in; font-style:normal; margin-left:0.7500in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.7500in; color:000000; font-size:10pt; line-height:1.000000; text-align:justify; widows:2; font-stretch:normal"/>
++<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0pt; font-style:normal; margin-left:0.5000in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.5000in; color:000000; font-size:12pt; line-height:1.000000; text-align:left; widows:2; font-stretch:normal"/>
++<s followedby="Normal" name="Heading 1" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:17pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/>
++<s followedby="Press Release" name="Press Release" basedon="Normal" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0.1667in; font-style:normal; margin-left:0.5000in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.5000in; color:000000; font-size:12pt; line-height:1.000000; text-align:left; widows:2; font-stretch:normal"/>
++<s followedby="About Companies" name="About Companies" basedon="Press Release" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0.1111in; font-style:normal; margin-left:0.7500in; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0.7500in; color:000000; font-size:10pt; line-height:1.000000; text-align:justify; widows:2; font-stretch:normal"/>
+ <s type="P" name="Block Text" basedon="Normal" followedby="Current Settings" props="line-height:1.000000; margin-bottom:0.0833in; margin-right:1.0000in; margin-left:1.0000in"/>
+ <s type="P" name="Box List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Box List; line-height:1.000000; text-indent:-0.300000in"/>
+ <s type="P" name="Bullet List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Symbol; list-style:Bullet List; line-height:1.000000; text-indent:-0.300000in"/>
+-<s followedby="Normal" name="Chapter Heading" basedon="Numbered Heading 1" type="P" props="list-delim:Chapter %L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:1.100000in/L0"/>
++<s followedby="Normal" name="Chapter Heading" basedon="Numbered Heading 1" type="P" props="list-delim:Chapter %L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:1.100000in/L0"/>
+ <s followedby="Normal" name="Contents 1" basedon="Normal" type="P" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:0.5000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/>
+ <s followedby="Normal" name="Contents 2" basedon="Normal" type="P" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:1.0000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/>
+ <s followedby="Normal" name="Contents 3" basedon="Normal" type="P" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:1.5000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/>
+ <s followedby="Normal" name="Contents 4" basedon="Normal" type="P" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:2.0000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/>
+-<s followedby="Normal" name="Contents Header" basedon="Normal" type="P" props="margin-top:0.1667in; font-size:16pt; margin-bottom:0.0833in; text-align:center; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/>
++<s followedby="Normal" name="Contents Header" basedon="Normal" type="P" props="margin-top:0.1667in; font-size:16pt; margin-bottom:0.0833in; text-align:center; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/>
+ <s type="P" name="Dashed List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:NULL; list-style:Dashed List; line-height:1.000000; text-indent:-0.300000in"/>
+ <s type="P" name="Diamond List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Diamond List; line-height:1.000000; text-indent:-0.300000in"/>
+ <s type="C" name="Endnote Reference" basedon="None" followedby="Current Settings" props="text-position:superscript; line-height:1.000000; font-size:10pt"/>
+@@ -36,19 +36,19 @@
+ <s type="C" name="Footnote Reference" basedon="None" followedby="Current Settings" props="text-position:superscript; line-height:1.000000; font-size:10pt"/>
+ <s type="C" name="Footnote Text" basedon="Normal" followedby="Current Settings" props="text-position:normal; line-height:1.000000; font-size:10pt"/>
+ <s type="P" name="Hand List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Hand List; line-height:1.000000; text-indent:-0.300000in"/>
+-<s followedby="Normal" name="Heading 2" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:14pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/>
+-<s followedby="Normal" name="Heading 3" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:12pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/>
+-<s followedby="Normal" name="Heading 4" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:12pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Arial"/>
++<s followedby="Normal" name="Heading 2" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:14pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/>
++<s followedby="Normal" name="Heading 3" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:12pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/>
++<s followedby="Normal" name="Heading 4" basedon="Normal" type="P" props="margin-top:0.3056in; font-size:12pt; margin-bottom:0.0417in; line-height:1.000000; font-weight:bold; keep-with-next:1; font-family:Liberation Sans"/>
+ <s type="P" name="Heart List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Heart List; line-height:1.000000; text-indent:-0.300000in"/>
+ <s type="P" name="Implies List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Symbol; list-style:Implies List; line-height:1.000000; text-indent:-0.300000in"/>
+ <s type="P" name="Lower Case List" basedon="Numbered List" followedby="Current Settings" props="list-delim:%L); list-decimal:.; field-color:transparent; start-value:1; margin-left:0.5000in; field-font:NULL; list-style:Lower Case List; line-height:1.000000; text-indent:-0.300000in"/>
+ <s type="P" name="Lower Roman List" basedon="Normal" followedby="Current Settings" props="list-delim:%L; list-decimal:.; field-color:transparent; start-value:1; margin-left:0.5000in; field-font:NULL; list-style:Lower Roman List; line-height:1.000000; text-indent:-0.300000in"/>
+-<s followedby="Normal" name="Numbered Heading 1" basedon="Heading 1" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/>
+-<s followedby="Normal" name="Numbered Heading 2" basedon="Heading 2" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/>
+-<s followedby="Normal" name="Numbered Heading 3" basedon="Heading 3" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/>
++<s followedby="Normal" name="Numbered Heading 1" basedon="Heading 1" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/>
++<s followedby="Normal" name="Numbered Heading 2" basedon="Heading 2" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/>
++<s followedby="Normal" name="Numbered Heading 3" basedon="Heading 3" type="P" props="list-delim:%L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:0.299306in/L0"/>
+ <s type="P" name="Numbered List" followedby="Current Settings" props="list-delim:%L.; list-decimal:.; field-color:transparent; start-value:1; margin-left:0.5000in; field-font:NULL; list-style:Numbered List; line-height:1.000000; text-indent:-0.300000in"/>
+ <s type="P" name="Plain Text" basedon="Normal" followedby="Current Settings" props="font-family:Courier New; line-height:1.000000"/>
+-<s followedby="Normal" name="Section Heading" basedon="Numbered Heading 1" type="P" props="list-delim:Section %L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Arial; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:1.100000in/L0"/>
++<s followedby="Normal" name="Section Heading" basedon="Numbered Heading 1" type="P" props="list-delim:Section %L.; field-color:transparent; start-value:1; margin-left:0.0in; field-font:Liberation Sans; list-style:Numbered List; line-height:1.000000; text-indent:0.0in; tabstops:1.100000in/L0"/>
+ <s type="P" name="Square List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Square List; line-height:1.000000; text-indent:-0.300000in"/>
+ <s type="P" name="Star List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Star List; line-height:1.000000; text-indent:-0.300000in"/>
+ <s type="P" name="Tick List" followedby="Current Settings" props="list-delim:%L; list-decimal:NULL; field-color:transparent; start-value:0; margin-left:0.5000in; field-font:Dingbats; list-style:Tick List; line-height:1.000000; text-indent:-0.300000in"/>
+@@ -77,7 +77,7 @@
+ <p style="Normal"><c props="lang:en-US"></c></p>
+ </cell>
+ <cell props="bot-attach:3; left-attach:0; right-attach:1; top-attach:2">
+-<p style="Normal" props="text-align:center"><c props="font-family:Arial; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">FOR IMMEDIATE RELEASE</c></p>
++<p style="Normal" props="text-align:center"><c props="font-family:Liberation Sans; font-size:12pt; color:000000; text-decoration:none; text-position:normal; font-weight:normal; font-style:normal; lang:en-US">FOR IMMEDIATE RELEASE</c></p>
+ </cell>
+ </table>
+ <p></p>
+diff --git a/user/wp/templates/Resume.awt b/user/wp/templates/Resume.awt
+index 1e61cdd..8eda0b7 100644
+--- a/user/wp/templates/Resume.awt
++++ b/user/wp/templates/Resume.awt
+@@ -14,11 +14,11 @@
+ <m key="abiword.date_last_changed">Fri Mar 12 22:08:25 2004</m>
+ </metadata>
+ <styles>
+-<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Arial; margin-top:0pt; font-style:normal; margin-left:0pt; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:9pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
+-<s followedby="Normal" name="Heading 1" basedon="Normal" type="P" props="font-weight:bold; margin-top:22pt; keep-with-next:1; margin-bottom:3pt; font-family:Arial; font-size:20pt"/>
+-<s followedby="Normal" name="Heading 2" basedon="Normal" type="P" props="margin-top:22pt; font-size:11pt; margin-bottom:3pt; font-weight:normal; text-align:right; font-family:Arial; keep-with-next:1"/>
+-<s followedby="Normal" name="Heading 3" basedon="Normal" type="P" props="font-weight:bold; margin-top:22pt; keep-with-next:1; margin-bottom:3pt; font-family:Arial; font-size:9pt"/>
+-<s followedby="Heading 3" name="Brief" basedon="Normal" type="P" props="font-weight:normal; font-family:Arial; margin-top:0pt; font-style:normal; margin-left:0.2500in; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:9pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:9pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
++<s followedby="Current Settings" name="Normal" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0pt; font-style:normal; margin-left:0pt; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:0pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:9pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
++<s followedby="Normal" name="Heading 1" basedon="Normal" type="P" props="font-weight:bold; margin-top:22pt; keep-with-next:1; margin-bottom:3pt; font-family:Liberation Sans; font-size:20pt"/>
++<s followedby="Normal" name="Heading 2" basedon="Normal" type="P" props="margin-top:22pt; font-size:11pt; margin-bottom:3pt; font-weight:normal; text-align:right; font-family:Liberation Sans; keep-with-next:1"/>
++<s followedby="Normal" name="Heading 3" basedon="Normal" type="P" props="font-weight:bold; margin-top:22pt; keep-with-next:1; margin-bottom:3pt; font-family:Liberation Sans; font-size:9pt"/>
++<s followedby="Heading 3" name="Brief" basedon="Normal" type="P" props="font-weight:normal; font-family:Liberation Sans; margin-top:0pt; font-style:normal; margin-left:0.2500in; lang:en-US; font-variant:normal; text-indent:0in; margin-bottom:9pt; text-decoration:none; bgcolor:transparent; margin-right:0pt; color:000000; font-size:9pt; line-height:1.0; text-align:left; widows:2; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="Letter" orientation="portrait" width="8.500000" height="11.000000" units="in" page-scale="1.000000"/>
+ <section header="0" props="page-margin-footer:0.5in; page-margin-header:0.4375in; page-margin-top:1.1250in">
+diff --git a/user/wp/templates/normal.awt b/user/wp/templates/normal.awt
+index 4c83f82..e7fcb00 100644
+--- a/user/wp/templates/normal.awt
++++ b/user/wp/templates/normal.awt
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+
+ <pagesize pagetype="Letter" orientation="portrait" width="8.500000" height="11.000000" units="in" page-scale="1.000000"/>
+diff --git a/user/wp/templates/normal.awt-am_ET b/user/wp/templates/normal.awt-am_ET
+index cb1a8d4..c7b7707 100644
+--- a/user/wp/templates/normal.awt-am_ET
++++ b/user/wp/templates/normal.awt-am_ET
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-ar b/user/wp/templates/normal.awt-ar
+index 9aa7a5c..0cd8882 100644
+--- a/user/wp/templates/normal.awt-ar
++++ b/user/wp/templates/normal.awt-ar
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-ar_EG b/user/wp/templates/normal.awt-ar_EG
+index 5fcf2d1..b920dcc 100644
+--- a/user/wp/templates/normal.awt-ar_EG
++++ b/user/wp/templates/normal.awt-ar_EG
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-ar_SA b/user/wp/templates/normal.awt-ar_SA
+index 09c1bbb..12ad0d6 100644
+--- a/user/wp/templates/normal.awt-ar_SA
++++ b/user/wp/templates/normal.awt-ar_SA
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-bg_BG b/user/wp/templates/normal.awt-bg_BG
+index df6f2bf..d789046 100644
+--- a/user/wp/templates/normal.awt-bg_BG
++++ b/user/wp/templates/normal.awt-bg_BG
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-ca_ES b/user/wp/templates/normal.awt-ca_ES
+index 0a337a2..69fecfd 100644
+--- a/user/wp/templates/normal.awt-ca_ES
++++ b/user/wp/templates/normal.awt-ca_ES
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-cs_CZ b/user/wp/templates/normal.awt-cs_CZ
+index 3e5e87e..d2cb937 100644
+--- a/user/wp/templates/normal.awt-cs_CZ
++++ b/user/wp/templates/normal.awt-cs_CZ
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-da_DK b/user/wp/templates/normal.awt-da_DK
+index 6ce3d83..f8706cb 100644
+--- a/user/wp/templates/normal.awt-da_DK
++++ b/user/wp/templates/normal.awt-da_DK
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-de b/user/wp/templates/normal.awt-de
+index 8faa619..c0c18f7 100644
+--- a/user/wp/templates/normal.awt-de
++++ b/user/wp/templates/normal.awt-de
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-de_AT b/user/wp/templates/normal.awt-de_AT
+index 9abfde1..d0ec20e 100644
+--- a/user/wp/templates/normal.awt-de_AT
++++ b/user/wp/templates/normal.awt-de_AT
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-de_CH b/user/wp/templates/normal.awt-de_CH
+index 0aa531a..24b0f8d 100644
+--- a/user/wp/templates/normal.awt-de_CH
++++ b/user/wp/templates/normal.awt-de_CH
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-de_DE b/user/wp/templates/normal.awt-de_DE
+index 0190408..6372e78 100644
+--- a/user/wp/templates/normal.awt-de_DE
++++ b/user/wp/templates/normal.awt-de_DE
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-div_MV b/user/wp/templates/normal.awt-div_MV
+index 9a8c50e..88270ce 100644
+--- a/user/wp/templates/normal.awt-div_MV
++++ b/user/wp/templates/normal.awt-div_MV
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; lang:div-MV; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; lang:div-MV; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-el_GR b/user/wp/templates/normal.awt-el_GR
+index e1c8de5..1db03a4 100644
+--- a/user/wp/templates/normal.awt-el_GR
++++ b/user/wp/templates/normal.awt-el_GR
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-en_AU b/user/wp/templates/normal.awt-en_AU
+index c7fa4c9..0e29beb 100644
+--- a/user/wp/templates/normal.awt-en_AU
++++ b/user/wp/templates/normal.awt-en_AU
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-en_CA b/user/wp/templates/normal.awt-en_CA
+index 3729a04..cff6807 100644
+--- a/user/wp/templates/normal.awt-en_CA
++++ b/user/wp/templates/normal.awt-en_CA
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="Letter" orientation="portrait" width="215.900000" height="279.400000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-en_GB b/user/wp/templates/normal.awt-en_GB
+index 14b8bcf..55364cd 100644
+--- a/user/wp/templates/normal.awt-en_GB
++++ b/user/wp/templates/normal.awt-en_GB
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-en_IE b/user/wp/templates/normal.awt-en_IE
+index 95e3fc7..7b0c3a5 100644
+--- a/user/wp/templates/normal.awt-en_IE
++++ b/user/wp/templates/normal.awt-en_IE
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-en_NZ b/user/wp/templates/normal.awt-en_NZ
+index 70016d2..0871e93 100644
+--- a/user/wp/templates/normal.awt-en_NZ
++++ b/user/wp/templates/normal.awt-en_NZ
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-en_ZA b/user/wp/templates/normal.awt-en_ZA
+index ebe7ee3..c4f7795 100644
+--- a/user/wp/templates/normal.awt-en_ZA
++++ b/user/wp/templates/normal.awt-en_ZA
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-es b/user/wp/templates/normal.awt-es
+index 12c611c..a2067e0 100644
+--- a/user/wp/templates/normal.awt-es
++++ b/user/wp/templates/normal.awt-es
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-es_AR b/user/wp/templates/normal.awt-es_AR
+index 87130b5..fc8ac38 100644
+--- a/user/wp/templates/normal.awt-es_AR
++++ b/user/wp/templates/normal.awt-es_AR
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-es_ES b/user/wp/templates/normal.awt-es_ES
+index 87130b5..fc8ac38 100644
+--- a/user/wp/templates/normal.awt-es_ES
++++ b/user/wp/templates/normal.awt-es_ES
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-es_IR b/user/wp/templates/normal.awt-es_IR
+index 4d3e321..33c7144 100644
+--- a/user/wp/templates/normal.awt-es_IR
++++ b/user/wp/templates/normal.awt-es_IR
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-es_MX b/user/wp/templates/normal.awt-es_MX
+index 52c3411..2522a82 100644
+--- a/user/wp/templates/normal.awt-es_MX
++++ b/user/wp/templates/normal.awt-es_MX
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-fa_IR b/user/wp/templates/normal.awt-fa_IR
+index db24783..a0f0bde 100644
+--- a/user/wp/templates/normal.awt-fa_IR
++++ b/user/wp/templates/normal.awt-fa_IR
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-fi_FI b/user/wp/templates/normal.awt-fi_FI
+index 1471a71..b65fa66 100644
+--- a/user/wp/templates/normal.awt-fi_FI
++++ b/user/wp/templates/normal.awt-fi_FI
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-fr b/user/wp/templates/normal.awt-fr
+index 4e94583..67ae7c2 100644
+--- a/user/wp/templates/normal.awt-fr
++++ b/user/wp/templates/normal.awt-fr
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-fr_BE b/user/wp/templates/normal.awt-fr_BE
+index 8b310c4..d4b7723 100644
+--- a/user/wp/templates/normal.awt-fr_BE
++++ b/user/wp/templates/normal.awt-fr_BE
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-fr_CA b/user/wp/templates/normal.awt-fr_CA
+index e673aac..c3bb3fd 100644
+--- a/user/wp/templates/normal.awt-fr_CA
++++ b/user/wp/templates/normal.awt-fr_CA
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="Letter" orientation="portrait" width="215.900000" height="279.400000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-fr_CH b/user/wp/templates/normal.awt-fr_CH
+index 1888a71..eb4b5de 100644
+--- a/user/wp/templates/normal.awt-fr_CH
++++ b/user/wp/templates/normal.awt-fr_CH
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-fr_FR b/user/wp/templates/normal.awt-fr_FR
+index f877981..0f523f6 100644
+--- a/user/wp/templates/normal.awt-fr_FR
++++ b/user/wp/templates/normal.awt-fr_FR
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-gl_ES b/user/wp/templates/normal.awt-gl_ES
+index 7f4876b..006645e 100644
+--- a/user/wp/templates/normal.awt-gl_ES
++++ b/user/wp/templates/normal.awt-gl_ES
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-he b/user/wp/templates/normal.awt-he
+index a3da00f..f1a238f 100644
+--- a/user/wp/templates/normal.awt-he
++++ b/user/wp/templates/normal.awt-he
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-he_IL b/user/wp/templates/normal.awt-he_IL
+index 98d81eb..e78e16b 100644
+--- a/user/wp/templates/normal.awt-he_IL
++++ b/user/wp/templates/normal.awt-he_IL
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-hu_HU b/user/wp/templates/normal.awt-hu_HU
+index d79154f..0dd6026 100644
+--- a/user/wp/templates/normal.awt-hu_HU
++++ b/user/wp/templates/normal.awt-hu_HU
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-it_IT b/user/wp/templates/normal.awt-it_IT
+index a72f1d4..1121843 100644
+--- a/user/wp/templates/normal.awt-it_IT
++++ b/user/wp/templates/normal.awt-it_IT
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-ja_JP b/user/wp/templates/normal.awt-ja_JP
+index 4f379e1..351fdd6 100644
+--- a/user/wp/templates/normal.awt-ja_JP
++++ b/user/wp/templates/normal.awt-ja_JP
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-lt_LT b/user/wp/templates/normal.awt-lt_LT
+index e9d6ec1..b66be4a 100644
+--- a/user/wp/templates/normal.awt-lt_LT
++++ b/user/wp/templates/normal.awt-lt_LT
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-nb_NO b/user/wp/templates/normal.awt-nb_NO
+index 1b6398f..5cdf741 100644
+--- a/user/wp/templates/normal.awt-nb_NO
++++ b/user/wp/templates/normal.awt-nb_NO
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-nl_NL b/user/wp/templates/normal.awt-nl_NL
+index 0f8b299..4be5de2 100644
+--- a/user/wp/templates/normal.awt-nl_NL
++++ b/user/wp/templates/normal.awt-nl_NL
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-nn_NO b/user/wp/templates/normal.awt-nn_NO
+index 981d577..1a36ad3 100644
+--- a/user/wp/templates/normal.awt-nn_NO
++++ b/user/wp/templates/normal.awt-nn_NO
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-pl_PL b/user/wp/templates/normal.awt-pl_PL
+index 0405d45..7f32223 100644
+--- a/user/wp/templates/normal.awt-pl_PL
++++ b/user/wp/templates/normal.awt-pl_PL
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-ps b/user/wp/templates/normal.awt-ps
+index 971e62f..e5e674f 100644
+--- a/user/wp/templates/normal.awt-ps
++++ b/user/wp/templates/normal.awt-ps
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-pt_BR b/user/wp/templates/normal.awt-pt_BR
+index bdf4c09..4d85f5c 100644
+--- a/user/wp/templates/normal.awt-pt_BR
++++ b/user/wp/templates/normal.awt-pt_BR
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-pt_PT b/user/wp/templates/normal.awt-pt_PT
+index 7a44c3e..e1b766e 100644
+--- a/user/wp/templates/normal.awt-pt_PT
++++ b/user/wp/templates/normal.awt-pt_PT
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-ru b/user/wp/templates/normal.awt-ru
+index c34fd94..6e29dfd 100644
+--- a/user/wp/templates/normal.awt-ru
++++ b/user/wp/templates/normal.awt-ru
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-ru_RU b/user/wp/templates/normal.awt-ru_RU
+index b07198e..4f435ea 100644
+--- a/user/wp/templates/normal.awt-ru_RU
++++ b/user/wp/templates/normal.awt-ru_RU
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-sk_SK b/user/wp/templates/normal.awt-sk_SK
+index d03a1a5..bb04b0e 100644
+--- a/user/wp/templates/normal.awt-sk_SK
++++ b/user/wp/templates/normal.awt-sk_SK
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-sl b/user/wp/templates/normal.awt-sl
+index 2dfcf1a..e874715 100644
+--- a/user/wp/templates/normal.awt-sl
++++ b/user/wp/templates/normal.awt-sl
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-sv b/user/wp/templates/normal.awt-sv
+index d0f5163..82aa982 100644
+--- a/user/wp/templates/normal.awt-sv
++++ b/user/wp/templates/normal.awt-sv
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-sv_SE b/user/wp/templates/normal.awt-sv_SE
+index 932da12..55d9e8c 100644
+--- a/user/wp/templates/normal.awt-sv_SE
++++ b/user/wp/templates/normal.awt-sv_SE
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-syr b/user/wp/templates/normal.awt-syr
+index 72b77ad..3bd9503 100644
+--- a/user/wp/templates/normal.awt-syr
++++ b/user/wp/templates/normal.awt-syr
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; lang:syr; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; lang:syr; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-tr b/user/wp/templates/normal.awt-tr
+index 489bc0a..2497b35 100644
+--- a/user/wp/templates/normal.awt-tr
++++ b/user/wp/templates/normal.awt-tr
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-tr_TR b/user/wp/templates/normal.awt-tr_TR
+index bf775c8..bfd3982 100644
+--- a/user/wp/templates/normal.awt-tr_TR
++++ b/user/wp/templates/normal.awt-tr_TR
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-uk_UA b/user/wp/templates/normal.awt-uk_UA
+index 6c759ad..76cbd8c 100644
+--- a/user/wp/templates/normal.awt-uk_UA
++++ b/user/wp/templates/normal.awt-uk_UA
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-ur_PK b/user/wp/templates/normal.awt-ur_PK
+index 00cc1c7..8fcaf67 100644
+--- a/user/wp/templates/normal.awt-ur_PK
++++ b/user/wp/templates/normal.awt-ur_PK
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-yi b/user/wp/templates/normal.awt-yi
+index e25ac13..02ffba4 100644
+--- a/user/wp/templates/normal.awt-yi
++++ b/user/wp/templates/normal.awt-yi
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-zh_CN b/user/wp/templates/normal.awt-zh_CN
+index d103911..3a949bc 100644
+--- a/user/wp/templates/normal.awt-zh_CN
++++ b/user/wp/templates/normal.awt-zh_CN
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
+diff --git a/user/wp/templates/normal.awt-zh_TW b/user/wp/templates/normal.awt-zh_TW
+index 3570d5e..8a2cdd7 100644
+--- a/user/wp/templates/normal.awt-zh_TW
++++ b/user/wp/templates/normal.awt-zh_TW
+@@ -9,7 +9,7 @@
+ <!-- ===================================================================== -->
+
+ <styles>
+-<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Times New Roman; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
++<s type="P" name="Normal" basedon="" followedby="Current Settings" props="font-family:Liberation Serif; margin-top:0pt; font-variant:normal; margin-left:0pt; text-indent:0in; widows:2; font-style:normal; font-weight:normal; text-decoration:none; color:000000; line-height:1.0; text-align:left; margin-bottom:0pt; text-position:normal; margin-right:0pt; bgcolor:transparent; font-size:12pt; font-stretch:normal"/>
+ </styles>
+ <pagesize pagetype="A4" orientation="portrait" width="210.000000" height="297.000000" units="mm" page-scale="1.000000"/>
+ <section props="page-margin-right:1.0000in; page-margin-footer:0.5000in; page-margin-header:0.5000in; page-margin-left:1.0000in; page-margin-top:1.0000in; page-margin-bottom:1.0000in">
diff --git a/libre/abs/PKGBUILD b/libre/abs/PKGBUILD
new file mode 100644
index 000000000..f7e85d0ef
--- /dev/null
+++ b/libre/abs/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id$
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+replaces=('abs-libre')
+conflicts=('abs-libre')
+
+pkgname=abs
+pkgver=2.4.4
+pkgrel=1.1
+pkgdesc="Utilities to download and work with the Arch Build System (ABS)"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://projects.archlinux.org/abs.git/"
+license=('GPL')
+depends=('bash' 'rsync')
+backup=(etc/abs.conf)
+source=(ftp://ftp.archlinux.org/other/abs/${pkgname}-${pkgver}.tar.gz{,.sig})
+md5sums=('7258c739a93e02a4f31f114e9fc3b0ba'
+ 'a628f7d5b1cd1e838366b88709690c24')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ make
+}
+
+package() {
+ cd "$pkgname-$pkgver"
+
+ make DESTDIR="${pkgdir}" install
+
+ # Add readme file, and make base /var/abs path
+ install -dm755 "${pkgdir}"/var/abs/local/
+ install -Dm644 README "${pkgdir}"/var/abs/README
+
+ # make adjustments to abs.conf
+ sed -i -e 's|rsync.archlinux.org|parabolagnulinux.org|' "${pkgdir}"/etc/abs.conf
+ sed -i -e 's|(core|(libre !libre-testing core|' "${pkgdir}"/etc/abs.conf
+ if [[ $CARCH != "x86_64" ]]; then
+ sed -i -e 's| multilib||' -e 's| !multilib-testing||' "${pkgdir}"/etc/abs.conf
+ fi
+ sed -i "s/ARCH=.*/ARCH=$CARCH/" "${pkgdir}"/etc/abs.conf
+}
diff --git a/libre/abuse-libre/PKGBUILD b/libre/abuse-libre/PKGBUILD
new file mode 100644
index 000000000..26c5d1fbd
--- /dev/null
+++ b/libre/abuse-libre/PKGBUILD
@@ -0,0 +1,79 @@
+# $Id: PKGBUILD 101370 2013-11-23 19:00:48Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: jlvsimoes <jlvsimoes@oninet.pt>
+# Contributor: kevin <kevin@archlinux.org>
+# Contributor (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=abuse
+pkgname=abuse-libre
+pkgver=0.8
+pkgrel=4
+pkgdesc='Side-scroller action game that pits you against ruthless alien killers, without nonfree claudio support'
+arch=('x86_64' 'i686' 'mips64el')
+url='http://abuse.zoy.org/'
+license=('GPL' 'custom')
+provides=$_pkgname=$pkgver
+replaces=$_pkgname
+conflicts=$_pkgname
+depends=('gcc-libs' 'libgl' 'sdl_mixer' 'glu' 'desktop-file-utils')
+makedepends=('gendesk' 'mesa-libgl' 'glu')
+install="$_pkgname.install"
+mksource=("http://abuse.zoy.org/raw-attachment/wiki/download/$_pkgname-$pkgver.tar.gz"
+ 'non-claudio.patch')
+source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz"
+ 'abuse.sh'
+ 'default.abuserc'
+ 'default.gamma.lsp')
+mksha256sums=('0104db5fd2695c9518583783f7aaa7e5c0355e27c5a803840a05aef97f9d3488'
+ '017cb58acf5ba8cdb889f97a758318cb66ab4947b860a77ab16b932c3f21b98f')
+sha256sums=('ff7018b3ddcc6d2e702bc14eb2884622677ac5141c36e1fc0cdd127df3017f7d'
+ 'a5ddac71ca9b8c4bb42bdf91393a5fbe3d839ab9a9e9a6362a75dafc2aab122e'
+ '6ea2fa9e65c10bbcab4432f40d0c7284cb3970835c40c5c00ced14b39ce1b00f'
+ '13df83fea60918d29d5141cdfbd8d56147c053e88d3701209ae676f46447c2f6')
+
+mksource() {
+ cd "abuse-$pkgver"
+
+ # Remove the nonfree claudio addon
+ rm -rvf ./data/addon/claudio
+ patch -Np1 -i "$srcdir/non-claudio.patch"
+}
+
+prepare() {
+ cd "abuse-$pkgver"
+
+ gendesk -n -f --pkgname "$_pkgname" --pkgdesc "$pkgdesc"
+}
+
+build() {
+ cd "abuse-$pkgver"
+
+ ./configure --prefix=/usr --with-assetdir="/usr/share/$_pkgname/orig" --with-x
+ make
+}
+
+package() {
+ cd "abuse-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ # Desktop shortcut and icon
+ install -Dm644 "$_pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$_pkgname.desktop"
+ install -Dm644 "doc/$_pkgname.png" "$pkgdir/usr/share/pixmaps/$_pkgname.png"
+
+ # Sane defaults
+ mv "$pkgdir/usr/bin/$_pkgname" "$pkgdir/usr/bin/$_pkgname.elf"
+ install -Dm755 "$srcdir/$_pkgname.sh" "$pkgdir/usr/bin/$_pkgname"
+ install -Dm644 "$srcdir/default.${_pkgname}rc" \
+ "$pkgdir/usr/share/$_pkgname/default.${_pkgname}rc"
+ install -Dm644 "$srcdir/default.gamma.lsp" \
+ "$pkgdir/usr/share/$_pkgname/default.gamma.lsp"
+
+ # License (for the original source code)
+ install -d "$pkgdir/usr/share/licenses/abuse"
+ sed -n '1,/^$/p' src/view.cpp > "$pkgdir/usr/share/licenses/abuse/original"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/abuse-libre/abuse.install b/libre/abuse-libre/abuse.install
new file mode 100644
index 000000000..ad97d7bab
--- /dev/null
+++ b/libre/abuse-libre/abuse.install
@@ -0,0 +1,13 @@
+post_upgrade() {
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/abuse-libre/abuse.sh b/libre/abuse-libre/abuse.sh
new file mode 100644
index 000000000..228bb6f7b
--- /dev/null
+++ b/libre/abuse-libre/abuse.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Use sane configuration files, unless they already exists
+
+if [ ! -d $HOME/.abuse ]; then
+ mkdir -p $HOME/.abuse
+fi
+if [ ! -f $HOME/.abuse/abuserc ]; then
+ cp /usr/share/abuse/default.abuserc $HOME/.abuse/abuserc
+fi
+if [ ! -f $HOME/.abuse/gamma.lsp ]; then
+ cp /usr/share/abuse/default.gamma.lsp $HOME/.abuse/gamma.lsp
+fi
+
+exec /usr/bin/abuse.elf
diff --git a/libre/abuse-libre/default.abuserc b/libre/abuse-libre/default.abuserc
new file mode 100644
index 000000000..ff116819f
--- /dev/null
+++ b/libre/abuse-libre/default.abuserc
@@ -0,0 +1,37 @@
+; Abuse-SDL Configuration file
+
+; Startup fullscreen
+fullscreen=0
+
+; Use DoubleBuffering
+doublebuf=1
+
+; Use OpenGL
+gl=1
+
+; Location of the datafiles
+datadir=/usr/share/abuse/orig
+
+; Use mono audio only
+mono=0
+
+; Grab the mouse to the window
+grabmouse=0
+
+; Set the scale factor
+scale=2
+
+; Use anti-aliasing (with gl=1 only)
+antialias=0
+
+; Disable the SDL parachute in the case of a crash
+nosdlparachute=0
+
+; Key mappings
+left=a
+right=d
+up=w
+down=s
+fire=Space
+weapprev=q
+weapnext=e
diff --git a/libre/abuse-libre/default.gamma.lsp b/libre/abuse-libre/default.gamma.lsp
new file mode 100644
index 000000000..9a77afa27
--- /dev/null
+++ b/libre/abuse-libre/default.gamma.lsp
@@ -0,0 +1 @@
+(setq darkest_gray 20)
diff --git a/libre/abuse-libre/non-claudio.patch b/libre/abuse-libre/non-claudio.patch
new file mode 100644
index 000000000..2a29e53f0
--- /dev/null
+++ b/libre/abuse-libre/non-claudio.patch
@@ -0,0 +1,122 @@
+--- abuse-0.8/data/Makefile.in 2011-05-09 08:06:35.000000000 -0300
++++ abuse-0.8/data/Makefile.in 2012-04-11 15:03:02.854839102 -0300
+@@ -184,7 +184,6 @@
+ addon/aliens/objects.lsp addon/aliens/powerold.lsp \
+ addon/aliens/powerups.lsp addon/aliens/sfx.lsp \
+ addon/aliens/tiles.lsp addon/bong/bong.lsp \
+- addon/claudio/claudio.lsp addon/claudio/oldclaud.lsp \
+ addon/deathmat/cur_lev.lsp addon/deathmat/deathmat.lsp \
+ addon/deathmat/dstartup.lsp addon/deathmat/gamename.lsp \
+ addon/deathmat/large.lsp addon/deathmat/levelset.lsp \
+@@ -245,23 +244,6 @@
+ art/tints/guns/orange.spe art/tints/guns/redish.spe \
+ addon/aliens/aliens.spe addon/aliens/bactiles.spe \
+ addon/aliens/fortiles.spe addon/bong/bong.spe \
+- addon/claudio/antship.spe addon/claudio/bigexp.spe \
+- addon/claudio/deepw1.spe addon/claudio/deepw2.spe \
+- addon/claudio/droid.spe addon/claudio/extiles.spe \
+- addon/claudio/fire.spe addon/claudio/lamp.spe \
+- addon/claudio/lava2.spe addon/claudio/mypanels.spe \
+- addon/claudio/nplatfor.spe addon/claudio/pal21.spe \
+- addon/claudio/pal2.spe addon/claudio/pal5.spe \
+- addon/claudio/pal81f.spe addon/claudio/pal81.spe \
+- addon/claudio/pal82f.spe addon/claudio/pal82.spe \
+- addon/claudio/pal90.spe addon/claudio/rob2.spe \
+- addon/claudio/skull.spe addon/claudio/spaced.spe \
+- addon/claudio/spaceh.spe addon/claudio/spacymed.spe \
+- addon/claudio/spacytdm.spe addon/claudio/sswitch.spe \
+- addon/claudio/t_lamp.spe addon/claudio/trex1.spe \
+- addon/claudio/t_skull.spe addon/claudio/t_space.spe \
+- addon/claudio/t_trex.spe addon/claudio/t_water.spe \
+- addon/claudio/umbrel3.spe addon/claudio/watem.spe \
+ addon/example/example.spe addon/leon/gray.spe \
+ addon/leon/level00.spe addon/leon/level01.spe \
+ addon/leon/level02.spe addon/leon/lmisc.spe \
+@@ -333,7 +315,6 @@
+ doc = \
+ addon/aliens/aliens.txt \
+ addon/aliens/readme.txt \
+- addon/claudio/palettes.txt \
+ addon/leon/leon.txt \
+ addon/newart/tiledoc.txt \
+ addon/pong/pong.txt \
+@@ -414,17 +395,6 @@
+ @HAVE_NONFREE_TRUE@ addon/aliens/aslash01.wav \
+ @HAVE_NONFREE_TRUE@ addon/aliens/egghatch.wav \
+ @HAVE_NONFREE_TRUE@ addon/aliens/jarbreak.wav \
+-@HAVE_NONFREE_TRUE@ addon/claudio/aship.wav \
+-@HAVE_NONFREE_TRUE@ addon/claudio/drill.wav \
+-@HAVE_NONFREE_TRUE@ addon/claudio/fire.wav \
+-@HAVE_NONFREE_TRUE@ addon/claudio/glass1.wav \
+-@HAVE_NONFREE_TRUE@ addon/claudio/sewers.wav \
+-@HAVE_NONFREE_TRUE@ addon/claudio/skull.wav \
+-@HAVE_NONFREE_TRUE@ addon/claudio/spaceo.wav \
+-@HAVE_NONFREE_TRUE@ addon/claudio/trex1.wav \
+-@HAVE_NONFREE_TRUE@ addon/claudio/trex2.wav \
+-@HAVE_NONFREE_TRUE@ addon/claudio/unhealth.wav \
+-@HAVE_NONFREE_TRUE@ addon/claudio/wfall.wav \
+ @HAVE_NONFREE_TRUE@ addon/leon/sfx/ambship1.wav \
+ @HAVE_NONFREE_TRUE@ addon/leon/sfx/ambship2.wav \
+ @HAVE_NONFREE_TRUE@ addon/leon/sfx/gren5.wav \
+--- abuse-0.8/data/Makefile.am 2011-05-09 04:58:04.000000000 -0300
++++ abuse-0.8/data/Makefile.am 2012-04-11 15:03:50.282407491 -0300
+@@ -35,7 +35,6 @@
+ \
+ addon/bong/bong.lsp \
+ \
+- addon/claudio/claudio.lsp addon/claudio/oldclaud.lsp \
+ addon/deathmat/cur_lev.lsp addon/deathmat/deathmat.lsp \
+ addon/deathmat/dstartup.lsp addon/deathmat/gamename.lsp \
+ addon/deathmat/large.lsp addon/deathmat/levelset.lsp \
+@@ -113,21 +112,6 @@
+ \
+ addon/bong/bong.spe \
+ \
+- addon/claudio/antship.spe addon/claudio/bigexp.spe \
+- addon/claudio/deepw1.spe addon/claudio/deepw2.spe addon/claudio/droid.spe \
+- addon/claudio/extiles.spe addon/claudio/fire.spe addon/claudio/lamp.spe \
+- addon/claudio/lava2.spe addon/claudio/mypanels.spe \
+- addon/claudio/nplatfor.spe addon/claudio/pal21.spe addon/claudio/pal2.spe \
+- addon/claudio/pal5.spe addon/claudio/pal81f.spe addon/claudio/pal81.spe \
+- addon/claudio/pal82f.spe addon/claudio/pal82.spe addon/claudio/pal90.spe \
+- addon/claudio/rob2.spe addon/claudio/skull.spe addon/claudio/spaced.spe \
+- addon/claudio/spaceh.spe addon/claudio/spacymed.spe \
+- addon/claudio/spacytdm.spe addon/claudio/sswitch.spe \
+- addon/claudio/t_lamp.spe addon/claudio/trex1.spe \
+- addon/claudio/t_skull.spe addon/claudio/t_space.spe \
+- addon/claudio/t_trex.spe addon/claudio/t_water.spe \
+- addon/claudio/umbrel3.spe addon/claudio/watem.spe \
+- \
+ addon/example/example.spe \
+ \
+ addon/leon/gray.spe addon/leon/level00.spe addon/leon/level01.spe \
+@@ -214,7 +198,6 @@
+ doc = \
+ addon/aliens/aliens.txt \
+ addon/aliens/readme.txt \
+- addon/claudio/palettes.txt \
+ addon/leon/leon.txt \
+ addon/newart/tiledoc.txt \
+ addon/pong/pong.txt \
+@@ -267,11 +250,6 @@
+ addon/aliens/altaunt.wav addon/aliens/aslash01.wav \
+ addon/aliens/egghatch.wav addon/aliens/jarbreak.wav \
+ \
+- addon/claudio/aship.wav addon/claudio/drill.wav addon/claudio/fire.wav \
+- addon/claudio/glass1.wav addon/claudio/sewers.wav addon/claudio/skull.wav \
+- addon/claudio/spaceo.wav addon/claudio/trex1.wav addon/claudio/trex2.wav \
+- addon/claudio/unhealth.wav addon/claudio/wfall.wav \
+- \
+ addon/leon/sfx/ambship1.wav addon/leon/sfx/ambship2.wav \
+ addon/leon/sfx/gren5.wav addon/leon/sfx/gren6.wav \
+ addon/leon/sfx/rain2.wav addon/leon/sfx/rain3.wav \
+--- abuse-0.8/data/abuse.lsp 2011-05-09 04:58:04.000000000 -0300
++++ abuse-0.8/data/abuse.lsp 2012-04-11 15:04:15.637788215 -0300
+@@ -42,7 +42,6 @@
+ (load "addon/twist/f2chars.lsp")
+ (load "addon/twist/f2ai.lsp")
+ (load "addon/aliens/astartup.lsp")
+-(load "addon/claudio/claudio.lsp")
+ (load "addon/twist/lisp/dray.lsp")
+ (load "addon/twist/lisp/mario.lsp")
+ (load "addon/leon/4frabs.lsp")
diff --git a/libre/acpi_call-libre-lts/PKGBUILD b/libre/acpi_call-libre-lts/PKGBUILD
new file mode 100644
index 000000000..1902faf33
--- /dev/null
+++ b/libre/acpi_call-libre-lts/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 105695 2014-02-14 08:30:36Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: mortzu <me@mortzu.de>
+# Contributor: fnord0 <fnord0@riseup.net>
+
+_pkgname=acpi_call-lts
+pkgname=acpi_call-libre-lts
+pkgver=1.1.0
+pkgrel=2
+_extramodules=extramodules-3.10-LIBRE-LTS
+pkgdesc='A linux kernel module that enables calls to ACPI methods through /proc/acpi/call (built for the linux-libre-lts kernel package)'
+arch=('i686' 'x86_64')
+url="http://github.com/mkottman/${_pkgname%-*}"
+license=('GPL')
+depends=('linux-libre-lts>=3.10.26')
+makedepends=('linux-libre-lts-headers>=3.10.26')
+replaces="${_pkgname}"
+conflicts="${_pkgname}"
+provides=("${_pkgname%-*}" "${_pkgname}=${pkgver}")
+install="${_pkgname%-*}.install"
+source=("${url}/archive/v${pkgver}.tar.gz")
+sha256sums=('d0d14b42944282724fca76f57d598eed794ef97448f387d1c489d85ad813f2f0')
+
+build() {
+ cd ${_pkgname%-*}-${pkgver}
+
+ _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+
+ make KVERSION="${_kernver}"
+}
+
+package() {
+ cd ${_pkgname%-*}-${pkgver}
+
+ install -dm 755 "${pkgdir}"/usr/lib/{modules/${_extramodules},modules-load.d}
+ install -m 644 ${_pkgname%-*}.ko "${pkgdir}"/usr/lib/modules/${_extramodules}/
+ gzip "${pkgdir}"/usr/lib/modules/${_extramodules}/${_pkgname%-*}.ko
+ echo ${_pkgname%-*} > "${pkgdir}"/usr/lib/modules-load.d/${_pkgname}.conf
+
+ install -dm 755 "${pkgdir}"/usr/share/${_pkgname}
+ cp -dr --no-preserve='ownership' {examples,support} "${pkgdir}"/usr/share/${_pkgname}/
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/libre/acpi_call-libre-lts/acpi_call.install b/libre/acpi_call-libre-lts/acpi_call.install
new file mode 100644
index 000000000..b0b89c675
--- /dev/null
+++ b/libre/acpi_call-libre-lts/acpi_call.install
@@ -0,0 +1,14 @@
+post_install() {
+ _extramodules=extramodules-3.10-LIBRE-LTS
+ depmod $(cat /usr/lib/modules/${_extramodules}/version)
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/libre/acpi_call-libre/PKGBUILD b/libre/acpi_call-libre/PKGBUILD
new file mode 100644
index 000000000..11dffa3b3
--- /dev/null
+++ b/libre/acpi_call-libre/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 104849 2014-01-27 15:16:44Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: mortzu <me@mortzu.de>
+# Contributor: fnord0 <fnord0@riseup.net>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=acpi_call
+pkgname=acpi_call-libre
+pkgver=1.1.0
+pkgrel=1
+_extramodules=extramodules-3.12-LIBRE
+pkgdesc='A linux kernel module that enables calls to ACPI methods through /proc/acpi/call (built for the linux-libre kernel package)'
+arch=('i686' 'x86_64')
+url="http://github.com/mkottman/${_pkgname}"
+license=('GPL')
+depends=('linux-libre>=3.12' 'linux-libre<3.13')
+makedepends=('linux-libre-headers>=3.12' 'linux-libre-headers<3.13')
+replaces="${_pkgname}"
+conflicts="${_pkgname}"
+provides="${_pkgname}=${pkgver}"
+install="${_pkgname}.install"
+source=("${url}/archive/v${pkgver}.tar.gz")
+sha256sums=('d0d14b42944282724fca76f57d598eed794ef97448f387d1c489d85ad813f2f0')
+
+build() {
+ cd ${_pkgname}-${pkgver}
+
+ _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+
+ make KVERSION="${_kernver}"
+}
+
+package() {
+ cd ${_pkgname}-${pkgver}
+
+ install -dm 755 "${pkgdir}"/usr/lib/{modules/${_extramodules},modules-load.d}
+ install -m 644 ${_pkgname}.ko "${pkgdir}"/usr/lib/modules/${_extramodules}
+ gzip "${pkgdir}"/usr/lib/modules/${_extramodules}/${_pkgname}.ko
+ echo ${_pkgname} > "${pkgdir}"/usr/lib/modules-load.d/${_pkgname}.conf
+
+ install -dm 755 "${pkgdir}"/usr/share/${_pkgname}
+ cp -dr --no-preserve='ownership' {examples,support} "${pkgdir}"/usr/share/${_pkgname}/
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/libre/acpi_call-libre/acpi_call.install b/libre/acpi_call-libre/acpi_call.install
new file mode 100644
index 000000000..7b1ca908d
--- /dev/null
+++ b/libre/acpi_call-libre/acpi_call.install
@@ -0,0 +1,14 @@
+post_install() {
+ _extramodules=extramodules-3.12-LIBRE
+ depmod $(cat /usr/lib/modules/${_extramodules}/version)
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/libre/angband-libre/PKGBUILD b/libre/angband-libre/PKGBUILD
new file mode 100644
index 000000000..13e58963b
--- /dev/null
+++ b/libre/angband-libre/PKGBUILD
@@ -0,0 +1,62 @@
+# Maintainer: schuay <jakob.gruber@gmail.com>
+# Contributor: Mike Sampson <mike at sambodata dot com>
+# Contributor: Adrian Stratulat <adrian.stratulat at inboxcom>
+# Contributor: Anton Bazhenov <anton.bazhenov at gmail>
+# Contributor: KillaB <xGenoBlast@gmail.com>
+# Contributor: Callan Barrett <wizzomafizzo@gmail.com>
+# Contributor: Christian Schmidt <xmucknertx@googlemail.com>
+# Contributor: Sebastian Sareyko <public@nooms.de>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=angband
+pkgname=angband-libre
+pkgver=3.5.0
+pkgrel=2
+pkgdesc="A roguelike dungeon exploration game based on the writings of JRR Tolkien, without nonfree artwork and sound effects"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://rephial.org/"
+license=('GPL2' 'custom')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+depends=('sdl_image' 'sdl_ttf' 'sdl_mixer' 'ncurses')
+mksource=("http://rephial.org/downloads/${pkgver:0:3}/${_pkgname}-v${pkgver}.tar.gz" 'libre.patch')
+source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-v${pkgver}.tar.gz")
+
+mksource() {
+ cd "${srcdir}/${_pkgname}-v${pkgver}"
+
+ # remove nonfree parts from source code
+ patch -Np1 -i ../libre.patch
+ rm -v lib/xtra/sound/*.mp3
+ rm -v lib/xtra/graf/64x64.png
+}
+
+build() {
+ cd "${srcdir}/${_pkgname}-v${pkgver}"
+
+ ./configure \
+ --prefix=/usr \
+ --bindir=/usr/bin \
+ --sysconfdir=/usr/share/angband \
+ --with-configpath=/usr/share/angband \
+ --with-libpath=/usr/share/angband \
+ --enable-gtk \
+ --enable-sdl \
+ --enable-sdl-mixer
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-v${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ rm -f "${pkgdir}/usr/share/angband/*/delete.me"
+ install -Dm644 copying.txt "${pkgdir}/usr/share/licenses/${_pkgname}/COPYING"
+}
+
+mkmd5sums=('4f6ee37abdb411285deb1685ddecba6a'
+ '3ac39f377bea2e208308d01f4213310f')
+md5sums=('82c98af3bc6e5b61787ca09e584a4e78')
diff --git a/libre/angband-libre/libre.patch b/libre/angband-libre/libre.patch
new file mode 100644
index 000000000..a044bc6fe
--- /dev/null
+++ b/libre/angband-libre/libre.patch
@@ -0,0 +1,814 @@
+diff --git a/copying.txt b/copying.txt
+index fe1f289..82263b1 100644
+--- a/copying.txt
++++ b/copying.txt
+@@ -23,14 +23,6 @@ exceptions:
+ only under the terms of the Creative Commons Attribution 3.0 licence:
+ http://creativecommons.org/licenses/by/3.0/
+
+- * Shockbolt's (64x64) graphics are distributed under the licence at the end
+- of this file. Currently some of the tiles in the 64x64.png tilesheet were
+- resized from tiles made by David Gervais for the 32x32 set.
+-
+- * The sounds are licenced under the Creative Commons Attribution-NonCommercial-
+- Sharealike licence. They were created by Dubtrain <angband@dubtrain.com>.
+- You can find them in Wave format at http://www.dubtrain.com/angband/.
+-
+ * The font files are all by Leon Marrick and/or Sheldon Simms III and/or Nick
+ McConnell, all of whom have agreed to their Angband work being released
+ under the GPL.
+@@ -393,25 +385,3 @@ proprietary programs. If your program is a subroutine library, you may
+ consider it more useful to permit linking proprietary applications with the
+ library. If this is what you want to do, use the GNU Lesser General
+ Public License instead of this License.
+-
+-------------------------------------------------------------------------------
+-
+-The Shockbolt Angband 64x64/128x64 tileset is copyright (C) Raymond Gaustadnes
+-2012. It can be found in the file lib/xtra/graf/128x128.png.
+-
+-Permission is granted to:
+-* use the tileset with in-development and released versions of Angband
+-* distribute and make copies of the tileset with in-development and released
+- versions of Angband, as long as no fee is charged for it
+-* incorporate tiles designed by the author for variants of Angband and use and
+- distribute them with Angband under the terms above
+-
+-Permission is not granted to:
+-* modify the tileset without the author's permission.
+-* incorporate tiles designed for ToME that do not appear in the Angband tileset.
+-* use or distribute the tileset with other games or projects. If you want to
+- use and distribute the tileset with other games or projects, you must obtain
+- explicit permission from the author. Non-commercial games or projects may
+- be granted permission to use them, and if so, use will be allowed as long
+- as the game or project remains non-commercial. To use them in commercial
+- games, a non-exclusive licence must be acquired from the author.
+diff --git a/lib/xtra/graf/Makefile b/lib/xtra/graf/Makefile
+index e1e9111..ec54051 100644
+--- a/lib/xtra/graf/Makefile
++++ b/lib/xtra/graf/Makefile
+@@ -1,6 +1,6 @@
+ MKPATH=../../../mk/
+ include $(MKPATH)buildsys.mk
+
+-DATA = 8x8.png 8x16.png 16x16.png 32x32.png 64x64.png mr_att.png graphics.txt
++DATA = 8x8.png 8x16.png 16x16.png 32x32.png mr_att.png graphics.txt
+ PACKAGE = xtra/graf
+
+diff --git a/lib/xtra/graf/graphics.txt b/lib/xtra/graf/graphics.txt
+index 28078fc..02f32ab 100644
+--- a/lib/xtra/graf/graphics.txt
++++ b/lib/xtra/graf/graphics.txt
+@@ -47,8 +47,3 @@ N:4:Nomad's tiles
+ I:16:16:8x16.png
+ P:nomad
+ X:0:0:0
+-
+-N:5:Shockbolt's tiles
+-I:64:64:64x64.png
+-P:shock
+-X:1:29:31
+diff --git a/lib/xtra/sound/Makefile b/lib/xtra/sound/Makefile
+index 0fb522b..a4337fd 100644
+--- a/lib/xtra/sound/Makefile
++++ b/lib/xtra/sound/Makefile
+@@ -1,78 +1,7 @@
+ MKPATH=../../../mk/
+ include $(MKPATH)buildsys.mk
+
+-DATA = sound.cfg \
+- amb_bell_metal1.mp3 mco_scurry_dry.mp3 plm_drop_boot.mp3 \
+- amb_bell_metal2.mp3 mco_shake_roll.mp3 plm_eat_bite.mp3 \
+- amb_bell_tibet1.mp3 mco_snarl_short.mp3 plm_floor_creak.mp3 \
+- amb_bell_tibet2.mp3 mco_spray_long.mp3 plm_floor_creak2.mp3 \
+- amb_bell_tibet3.mp3 mco_squish_hit.mp3 plm_glass_break.mp3 \
+- amb_door_doom.mp3 mco_squish_snap.mp3 plm_glass_breaking.mp3 \
+- amb_door_iron.mp3 mco_strange_music.mp3 plm_glass_smashing.mp3 \
+- amb_dungeon_echo.mp3 mco_strange_thwoink.mp3 plm_jar_ding.mp3 \
+- amb_dungeon_echowet.mp3 mco_thoing_backwards.mp3 plm_levelup.mp3 \
+- amb_gong_chinese.mp3 mco_thoing_deep.mp3 plm_lock_case.mp3 \
+- amb_gong_low.mp3 mco_thud_crash.mp3 plm_lock_distant.mp3 \
+- amb_gong_strike.mp3 mco_tube_hit.mp3 plm_metal_clank.mp3 \
+- amb_gong_undertone.mp3 plc_bell_warn.mp3 plm_metal_sharpen.mp3 \
+- amb_guitar_chord.mp3 plc_die_laugh.mp3 plm_open_case.mp3 \
+- amb_pulse_low.mp3 plc_hit_anvil.mp3 plm_spell1.mp3 \
+- amb_thunder_rain.mp3 plc_hit_anvil2.mp3 plm_spell2.mp3 \
+- amb_thunder_roll.mp3 plc_hit_arrow.mp3 plm_spell3.mp3 \
+- id_bad_aww.mp3 plc_hit_body.mp3 plm_use_staff.mp3 \
+- id_bad_dang.mp3 plc_hit_groan.mp3 plm_wood_thud.mp3 \
+- id_bad_hmm.mp3 plc_hit_grunt.mp3 plm_zap_rod.mp3 \
+- id_bad_hmph.mp3 plc_hit_grunt2.mp3 pls_bell_bowl.mp3 \
+- id_bad_ohh.mp3 plc_hit_hay.mp3 pls_bell_chime_new.mp3 \
+- id_ego_whoa.mp3 plc_miss_arrow.mp3 pls_bell_glass.mp3 \
+- id_ego_woohoo.mp3 plc_miss_arrow2.mp3 pls_bell_hibell_soft.mp3 \
+- id_ego_yeah.mp3 plc_miss_swish.mp3 pls_bell_mute.mp3 \
+- id_ego_yeah2.mp3 plm_aim_wand.mp3 pls_bell_sustain.mp3 \
+- id_ego_yes.mp3 plm_bang_ceramic.mp3 pls_breathe_in.mp3 \
+- id_good_hey.mp3 plm_bang_dumpster.mp3 pls_man_argoh.mp3 \
+- id_good_hey2.mp3 plm_bang_metal.mp3 pls_man_gulp_new.mp3 \
+- id_good_hmm.mp3 plm_book_pageturn.mp3 pls_man_oooh.mp3 \
+- id_good_huh.mp3 plm_bottle_clinks.mp3 pls_man_scream2.mp3 \
+- id_good_ooh.mp3 plm_break_canister.mp3 pls_man_sigh.mp3 \
+- id_good_ooo.mp3 plm_break_glass.mp3 pls_man_sniff.mp3 \
+- id_good_wow.mp3 plm_break_glass2.mp3 pls_man_sob.mp3 \
+- mco_attack_breath.mp3 plm_break_plates.mp3 pls_man_spit.mp3 \
+- mco_attack_spray.mp3 plm_break_shatter.mp3 pls_man_ugh.mp3 \
+- mco_bite_chew.mp3 plm_break_smash.mp3 pls_man_yell.mp3 \
+- mco_bite_chomp.mp3 plm_break_wood.mp3 pls_tone_blurk.mp3 \
+- mco_bite_dainty.mp3 plm_cabinet_open.mp3 pls_tone_clave6.mp3 \
+- mco_bite_gnash.mp3 plm_cabinet_shut.mp3 pls_tone_clavelo8.mp3 \
+- mco_bite_hard.mp3 plm_chain_light.mp3 pls_tone_conk.mp3 \
+- mco_bite_long.mp3 plm_chest_latch.mp3 pls_tone_elec.mp3 \
+- mco_bite_munch.mp3 plm_chest_unlatch.mp3 pls_tone_goblet.mp3 \
+- mco_bite_regular.mp3 plm_chimes_jangle.mp3 pls_tone_guiro.mp3 \
+- mco_bite_short.mp3 plm_click_dry.mp3 pls_tone_headstock.mp3 \
+- mco_bite_small.mp3 plm_click_switch.mp3 pls_tone_scrape.mp3 \
+- mco_bite_soft.mp3 plm_click_switch2.mp3 pls_tone_stick.mp3 \
+- mco_card_shuffle.mp3 plm_click_switch3.mp3 sto_bell_desk.mp3 \
+- mco_castanet_trill.mp3 plm_click_wood.mp3 sto_bell_ding.mp3 \
+- mco_ceramic_trill.mp3 plm_close_hatch.mp3 sto_bell_dingaling.mp3 \
+- mco_click_vibra.mp3 plm_coins_dump.mp3 sto_bell_jingles.mp3 \
+- mco_creature_choking.mp3 plm_coins_light.mp3 sto_bell_register1.mp3 \
+- mco_creature_groan.mp3 plm_coins_pour.mp3 sto_bell_register2.mp3 \
+- mco_creature_yelp.mp3 plm_coins_shake.mp3 sto_bell_ringing.mp3 \
+- mco_cuica_rubbing.mp3 plm_cork_pop.mp3 sto_bell_shop.mp3 \
+- mco_dino_low.mp3 plm_cork_squeak.mp3 sto_coins_countertop.mp3 \
+- mco_dino_slur.mp3 plm_door_bolt.mp3 sto_man_haha.mp3 \
+- mco_dino_talk.mp3 plm_door_creak.mp3 sto_man_hey.mp3 \
+- mco_dino_yawn.mp3 plm_door_creakshut.mp3 sto_man_whoohaha.mp3 \
+- mco_dub_wobble.mp3 plm_door_dungeon.mp3 sum_angel_song.mp3 \
+- mco_frog_trill.mp3 plm_door_echolock.mp3 sum_bell_crystal.mp3 \
+- mco_hit_whip.mp3 plm_door_entrance.mp3 sum_bell_hand.mp3 \
+- mco_howl_croak.mp3 plm_door_knob.mp3 sum_bell_tone.mp3 \
+- mco_howl_deep.mp3 plm_door_latch.mp3 sum_chime_jangle.mp3 \
+- mco_howl_distressed.mp3 plm_door_open.mp3 sum_ghost_moan.mp3 \
+- mco_howl_high.mp3 plm_door_opening.mp3 sum_ghost_oooo.mp3 \
+- mco_howl_long.mp3 plm_door_rusty.mp3 sum_ghost_wail.mp3 \
+- mco_liquid_squirt.mp3 plm_door_shut.mp3 sum_gong_temple.mp3 \
+- mco_man_mumble.mp3 plm_door_slam.mp3 sum_laugh_evil2.mp3 \
+- mco_mouse_squeaks.mp3 plm_door_squeaky.mp3 sum_lion_growl.mp3 \
+- mco_rubber_thud.mp3 plm_door_wooden.mp3 sum_piano_scrape.mp3
++DATA = sound.cfg
+
+ PACKAGE = xtra/sound
+
+diff --git a/lib/xtra/sound/sound.cfg b/lib/xtra/sound/sound.cfg
+index a3f483f..41de805 100644
+--- a/lib/xtra/sound/sound.cfg
++++ b/lib/xtra/sound/sound.cfg
+@@ -9,21 +9,6 @@
+ # hit = hit.mp3 hit1.mp3
+ #
+
+-#
+-# This is the Dubtrain Angband Sound config list, v.3.1.0 - February 24th, 2009
+-#
+-# Licensed under a Creative Commons non-commercial agreement
+-#
+-# Inspired by the original Craig's Angband Sound Patch.
+-#
+-# But with all new sounds.
+-#
+-# contact angband@dubtrain.com
+-#
+-# download zipped archive at www.dubtrain.com/angband
+-#
+-#
+-
+ [Sound]
+
+ #
+@@ -31,484 +16,484 @@
+ #
+
+ # Town during the day.
+-ambient_day = amb_thunder_rain.mp3
++ambient_day =
+
+ # Town during the night.
+-ambient_nite = amb_guitar_chord.mp3 amb_thunder_roll.mp3
++ambient_nite =
+
+ # Dungeon levels 1-20 (50'-1000')
+-ambient_dng1 = amb_door_iron.mp3 amb_bell_metal1.mp3
++ambient_dng1 =
+
+ # Dungeon levels 21-40 (1050'-2000')
+-ambient_dng2 = amb_bell_tibet1.mp3 amb_bell_metal2.mp3 amb_gong_strike.mp3
++ambient_dng2 =
+
+ # Dungeon levels 41-60 (2050'-3000')
+-ambient_dng3 = amb_bell_tibet2.mp3 amb_dungeon_echo.mp3 amb_pulse_low.mp3
++ambient_dng3 =
+
+ # Dungeon levels 61-80 (3050'-4000')
+-ambient_dng4 = amb_bell_tibet3.mp3 amb_dungeon_echowet.mp3 amb_gong_undertone.mp3
++ambient_dng4 =
+
+ # Dungeon levels 81 and beyond (4050'-)
+-ambient_dng5 = amb_door_doom.mp3 amb_gong_chinese.mp3 amb_gong_low.mp3
++ambient_dng5 =
+
+ #
+ # Store sounds
+ #
+
+ # The shopkeep bought a worthless item.
+-store1 = sto_man_hey.mp3
++store1 =
+
+ # The shopkeep paid too much for an item.
+-store2 = id_bad_dang.mp3
++store2 =
+
+ # The shopkeep got away with a good bargain.
+-store3 = sto_man_haha.mp3
++store3 =
+
+ # The shopkeep got away with a great bargain.
+-store4 = sto_man_whoohaha.mp3
++store4 =
+
+ # You make a normal transaction (buying or selling).
+-store5 = sto_coins_countertop.mp3 sto_bell_register1.mp3 sto_bell_register2.mp3
++store5 =
+
+ # You enter a store.
+-store_enter = sto_bell_desk.mp3 sto_bell_ding.mp3 sto_bell_dingaling.mp3 sto_bell_jingles.mp3 sto_bell_ringing.mp3 sto_bell_shop.mp3
++store_enter =
+
+ # You enter your home.
+-store_home = plm_door_entrance.mp3
++store_home =
+
+ # You leave a store.
+-store_leave = plm_door_bolt.mp3
++store_leave =
+
+ #
+ # Player sounds - combat
+ #
+
+ # You succeed in a melee attack against a monster.
+-hit = plc_hit_hay.mp3 plc_hit_body.mp3
++hit =
+
+ # It was a good hit!
+-hit_good = plc_hit_anvil.mp3
++hit_good =
+
+ # It was a great hit!
+-hit_great = plc_hit_groan.mp3
++hit_great =
+
+ # It was a superb hit!
+-hit_superb = plc_hit_grunt.mp3
++hit_superb =
+
+ # It was a *GREAT* hit!
+-hit_hi_great = plc_hit_grunt2.mp3
++hit_hi_great =
+
+ # It was a *SUPERB* hit!
+-hit_hi_superb = plc_hit_anvil2.mp3
++hit_hi_superb =
+
+ # You miss a melee attack against a monster.
+-miss = plc_miss_arrow2.mp3
++miss =
+
+ # You fire a missile.
+-shoot = plc_miss_swish.mp3 plc_miss_arrow.mp3
++shoot =
+
+ # You hit something with a missile.
+-shoot_hit = plc_hit_arrow.mp3
++shoot_hit =
+
+ # You receive a hitpoint warning.
+-hitpoint_warn = plc_bell_warn.mp3
++hitpoint_warn =
+
+ # You die.
+-death = plc_die_laugh.mp3
++death =
+
+ #
+ # Player sounds - status changes
+ #
+
+ # You become blind.
+-blind = pls_tone_conk.mp3
++blind =
+
+ # You become confused.
+-confused = pls_man_ugh.mp3
++confused =
+
+ # You become poisoned.
+-poisoned = pls_tone_guiro.mp3
++poisoned =
+
+ # You become afraid.
+-afraid = pls_man_yell.mp3
++afraid =
+
+ # You become paralyzed.
+-paralyzed = pls_man_gulp_new.mp3
++paralyzed =
+
+ # You feel drugged (chaos effects).
+-drugged = pls_breathe_in.mp3
++drugged =
+
+ # You become slower.
+-slow = pls_man_sigh.mp3
++slow =
+
+ # You become stunned.
+-stun = pls_bell_mute.mp3
++stun =
+
+ # You suffer a cut.
+-cut = pls_man_argoh.mp3
++cut =
+
+ # A stat is drained
+-drain_stat = pls_tone_headstock.mp3
++drain_stat =
+
+ # You recover from a condition (blind, confused, etc.)
+-recover = pls_bell_chime_new.mp3
++recover =
+
+ # You become faster.
+-speed = pls_bell_sustain.mp3
++speed =
+
+ # You attain a mystic shield.
+-shield = pls_bell_bowl.mp3
++shield =
+
+ # You become blessed.
+-blessed = sum_angel_song.mp3
++blessed =
+
+ # You feel heroic.
+-hero = pls_tone_goblet.mp3
++hero =
+
+ # You are bold.
+-bold = pls_bell_hibell_soft.mp3
++bold =
+
+ # You become berserk.
+-berserk = pls_man_scream2.mp3
++berserk =
+
+ # You feel protected from evil.
+-prot_evil = pls_bell_glass.mp3
++prot_evil =
+
+ # You feel invulnerable. (does any item/spell do this anymore?)
+-invuln = pls_tone_blurk.mp3
++invuln =
+
+ # You can see invisible things.
+-see_invis = pls_tone_clave6.mp3
++see_invis =
+
+ # You can see the infrared spectrum
+-infrared = pls_tone_clavelo8.mp3
++infrared =
+
+ # You become resistant to acid.
+-res_acid = pls_man_sniff.mp3
++res_acid =
+
+ # You become resistant to electricity.
+-res_elec = pls_tone_elec.mp3
++res_elec =
+
+ # You become resistant to fire.
+-res_fire = pls_tone_scrape.mp3
++res_fire =
+
+ # You become resistant to cold.
+-res_cold = pls_tone_stick.mp3
++res_cold =
+
+ # You become resistant to poison.
+-res_pois = pls_man_spit.mp3
++res_pois =
+
+ # You become hungry.
+-hungry = pls_man_sob.mp3
++hungry =
+
+ #
+ # Player sounds - misc.
+ #
+
+ # You pick up money worth less than 200 au.
+-money1 = plm_coins_light.mp3 plm_coins_shake.mp3
++money1 =
+
+ # You pick up money worth between 200 and 600 au.
+-money2 = plm_chain_light.mp3 plm_coins_pour.mp3
++money2 =
+
+ # You pick up money worth 600 au or more.
+-money3 = plm_coins_dump.mp3
++money3 =
+
+ # You (or a monster) drop something on the ground.
+-drop = plm_drop_boot.mp3
++drop =
+
+ # You gain (or regain) a level.
+-level = plm_levelup.mp3
++level =
+
+ # You successfully study a spell or prayer.
+-study = plm_book_pageturn.mp3
++study =
+
+ # You teleport or phase door.
+-teleport = plm_chimes_jangle.mp3
++teleport =
+
+ # You quaff a potion.
+-quaff = plm_bottle_clinks.mp3 plm_cork_pop.mp3 plm_cork_squeak.mp3
++quaff =
+
+ # You zap a rod.
+-zap_rod = plm_zap_rod.mp3
++zap_rod =
+
+ # You take a step. (unimplemented)
+ walk =
+
+ # You teleport someone else away.
+-tpother = plm_chimes_jangle.mp3
++tpother =
+
+ # You bump into a wall or door.
+-hitwall = plm_wood_thud.mp3
++hitwall =
+
+ # You eat something.
+-eat = plm_eat_bite.mp3
++eat =
+
+ # You successfully dig through something.
+-dig = plm_metal_clank.mp3
++dig =
+
+ # You open a door.
+-opendoor = plm_door_bolt.mp3 plm_door_creak.mp3 plm_door_dungeon.mp3 plm_door_entrance.mp3 plm_door_open.mp3 plm_door_opening.mp3 plm_door_rusty.mp3 plm_door_squeaky.mp3
++opendoor =
+
+ # You shut a door.
+-shutdoor = plm_bang_dumpster.mp3 plm_cabinet_shut.mp3 plm_close_hatch.mp3 plm_door_creakshut.mp3 plm_door_latch.mp3 plm_door_shut.mp3 plm_door_slam.mp3
++shutdoor =
+
+ # You teleport from a level (including via recall).
+-tplevel = sum_bell_crystal.mp3
++tplevel =
+
+ # Default "bell" sound for system messages.
+-bell = plm_jar_ding.mp3
++bell =
+
+ # You try to open something that's not a door.
+-nothing_to_open = plm_click_switch2.mp3 plm_door_knob.mp3
++nothing_to_open =
+
+ # You fail to pick a lock.
+-lockpick_fail = plm_click_dry.mp3 plm_click_switch.mp3 plm_click_wood.mp3 plm_door_echolock.mp3 plm_door_wooden.mp3
++lockpick_fail =
+
+ # You pick a lock.
+-lockpick = plm_break_wood.mp3 plm_cabinet_open.mp3 plm_chest_unlatch.mp3 plm_lock_case.mp3 plm_lock_distant.mp3 plm_open_case.mp3
++lockpick =
+
+ # You disarm a trap.
+-disarm = plm_bang_ceramic.mp3 plm_chest_latch.mp3 plm_click_switch3.mp3
++disarm =
+
+ # You go up stairs.
+-stairs_up = plm_floor_creak2.mp3
++stairs_up =
+
+ # You go down stairs.
+-stairs_down = plm_floor_creak.mp3
++stairs_down =
+
+ # You activate an artifact.
+-act_artifact = plm_aim_wand.mp3
++act_artifact =
+
+ # You use a staff.
+-use_staff = plm_use_staff.mp3
++use_staff =
+
+ # An object is destroyed.
+-destroy = plm_bang_metal.mp3 plm_break_canister.mp3 plm_break_glass.mp3 plm_break_glass2.mp3 plm_break_plates.mp3 plm_break_shatter.mp3 plm_break_smash.mp3 plm_glass_breaking.mp3 plm_glass_break.mp3 plm_glass_smashing.mp3
++destroy =
+
+ # You wield or take off something.
+-wield = plm_metal_sharpen.mp3
++wield =
+
+ # You wield a cursed item.
+-cursed = pls_man_oooh.mp3
++cursed =
+
+ # You notice something (generic notice)
+-notice = id_bad_hmm.mp3
++notice =
+
+ # You notice something about your equipment or inventory.
+-pseudo_id = id_good_hmm.mp3
++pseudo_id =
+
+ # You successfully cast a spell.
+-cast_spell = plm_spell1.mp3 plm_spell2.mp3 plm_spell3.mp3
++cast_spell =
+
+ # You successfully pray a prayer.
+-pray_prayer = sum_angel_song.mp3
++pray_prayer =
+
+ #
+ # Monster Sounds - combat
+ #
+
+ # A monster flees in terror.
+-flee = mco_creature_yelp.mp3
++flee =
+
+ # A monster is killed.
+-kill = mco_howl_croak.mp3 mco_howl_deep.mp3 mco_howl_distressed.mp3 mco_howl_high.mp3 mco_howl_long.mp3
++kill =
+
+ # A unique is killed.
+-kill_unique = sum_ghost_wail.mp3
++kill_unique =
+
+ # Morgoth, Lord of Darkness is killed.
+-kill_king = amb_guitar_chord.mp3
++kill_king =
+
+ # Attack - hit
+-mon_hit = mco_hit_whip.mp3
++mon_hit =
+
+ # Attack - touch
+-mon_touch = mco_click_vibra.mp3
++mon_touch =
+
+ # Attack - punch
+-mon_punch = mco_squish_snap.mp3
++mon_punch =
+
+ # Attack - kick
+-mon_kick = mco_rubber_thud.mp3
++mon_kick =
+
+ # Attack - claw
+-mon_claw = mco_ceramic_trill.mp3 mco_scurry_dry.mp3
++mon_claw =
+
+ # Attack - bite
+-mon_bite = mco_snarl_short.mp3 mco_bite_soft.mp3 mco_bite_munch.mp3 mco_bite_long.mp3 mco_bite_short.mp3 mco_bite_gnash.mp3 mco_bite_chomp.mp3 mco_bite_regular.mp3 mco_bite_small.mp3 mco_bite_dainty.mp3 mco_bite_hard.mp3 mco_bite_chew.mp3
++mon_bite =
+
+ # Attack - sting
+-mon_sting = mco_castanet_trill.mp3 mco_tube_hit.mp3
++mon_sting =
+
+ # Attack - butt
+-mon_butt = mco_cuica_rubbing.mp3 mco_thud_crash.mp3
++mon_butt =
+
+ # Attack - crush
+-mon_crush = mco_dino_low.mp3 mco_squish_hit.mp3
++mon_crush =
+
+ # Attack - engulf
+-mon_engulf = mco_dino_talk.mp3 mco_dino_yawn.mp3
++mon_engulf =
+
+ # Attack - crawl
+-mon_crawl = mco_card_shuffle.mp3 mco_shake_roll.mp3
++mon_crawl =
+
+ # Attack - drool
+-mon_drool = mco_creature_choking.mp3 mco_liquid_squirt.mp3
++mon_drool =
+
+ # Attack - spit
+-mon_spit = mco_attack_spray.mp3
++mon_spit =
+
+ # Attack - gaze
+-mon_gaze = mco_thoing_backwards.mp3
++mon_gaze =
+
+ # Attack - wail
+-mon_wail = mco_dino_low.mp3
++mon_wail =
+
+ # Attack - release spores
+-mon_spore = mco_dub_wobble.mp3 mco_spray_long.mp3
++mon_spore =
+
+ # Attack - beg for money
+-mon_beg = mco_man_mumble.mp3
++mon_beg =
+
+ # Attack - insult
+-mon_insult = mco_strange_thwoink.mp3
++mon_insult =
+
+ # Attack - moan
+-mon_moan = mco_strange_music.mp3
++mon_moan =
+
+ # Attack - shriek
+-mon_shriek = mco_mouse_squeaks.mp3
++mon_shriek =
+
+ # Spell - create traps
+-mon_create_trap = mco_thoing_deep.mp3
++mon_create_trap =
+
+ # Spell - cause fear
+-mon_cast_fear = mco_creature_groan.mp3 mco_dino_slur.mp3
++mon_cast_fear =
+
+ # Multiply (breed explosively)
+-multiply = mco_frog_trill.mp3
++multiply =
+
+ #
+ # Summons
+ #
+
+ # Summon one or more monsters.
+-summon_monster = sum_chime_jangle.mp3
++summon_monster =
+
+ # Summon angels.
+-summon_ainu = sum_angel_song.mp3
++summon_ainu =
+
+ # Summon undead.
+-summon_undead = sum_ghost_oooo.mp3
++summon_undead =
+
+ # Summon animals.
+-summon_animal = sum_lion_growl.mp3
++summon_animal =
+
+ # Summon spiders.
+-summon_spider = sum_piano_scrape.mp3
++summon_spider =
+
+ # Summon hounds.
+-summon_hound = sum_lion_growl.mp3
++summon_hound =
+
+ # Summon hydras.
+-summon_hydra = sum_piano_scrape.mp3
++summon_hydra =
+
+ # Summon demons.
+-summon_demon = sum_ghost_wail.mp3 sum_laugh_evil2.mp3
++summon_demon =
+
+ # Summon dragon.
+-summon_dragon = sum_piano_scrape.mp3
++summon_dragon =
+
+ # Summon greater undead.
+-summon_gr_undead = sum_ghost_moan.mp3
++summon_gr_undead =
+
+ # Summon greater dragons.
+-summon_gr_dragon = sum_gong_temple.mp3
++summon_gr_dragon =
+
+ # Summon greater demons.
+-summon_gr_demon = sum_ghost_moan.mp3
++summon_gr_demon =
+
+ # Summon Ringwraiths.
+-summon_ringwraith = sum_bell_hand.mp3
++summon_ringwraith =
+
+ # Summon uniques.
+-summon_unique = sum_bell_tone.mp3
++summon_unique =
+
+ #
+ # Breath weapons
+ #
+
+ # Breathe frost.
+-breathe_frost = mco_attack_breath.mp3
++breathe_frost =
+
+ # Breathe electricity.
+-breathe_elec = mco_attack_breath.mp3
++breathe_elec =
+
+ # Breathe acid.
+-breathe_acid = mco_attack_breath.mp3
++breathe_acid =
+
+ # Breathe gas.
+-breathe_gas = mco_attack_breath.mp3
++breathe_gas =
+
+ # Breathe fire.
+-breathe_fire = mco_attack_breath.mp3
++breathe_fire =
+
+ # Breathe confusion.
+-breathe_confusion = mco_attack_breath.mp3
++breathe_confusion =
+
+ # Breathe disenchantment.
+-breathe_disenchant = mco_attack_breath.mp3
++breathe_disenchant =
+
+ # Breathe chaos.
+-breathe_chaos = mco_attack_breath.mp3
++breathe_chaos =
+
+ # Breathe shards.
+-breathe_shards = mco_attack_breath.mp3
++breathe_shards =
+
+ # Breathe sound.
+-breathe_sound = mco_attack_breath.mp3
++breathe_sound =
+
+ # Breathe light.
+-breathe_light = mco_attack_breath.mp3
++breathe_light =
+
+ # Breathe darkness.
+-breathe_dark = mco_attack_breath.mp3
++breathe_dark =
+
+ # Breathe nether.
+-breathe_nether = mco_attack_breath.mp3
++breathe_nether =
+
+ # Breathe nexus.
+-breathe_nexus = mco_attack_breath.mp3
++breathe_nexus =
+
+ # Breathe time.
+-breathe_time = mco_attack_breath.mp3
++breathe_time =
+
+ # Breathe inertia.
+-breathe_inertia = mco_attack_breath.mp3
++breathe_inertia =
+
+ # Breathe gravity.
+-breathe_gravity = mco_attack_breath.mp3
++breathe_gravity =
+
+ # Breathe plasma.
+-breathe_plasma = mco_attack_breath.mp3
++breathe_plasma =
+
+ # Breathe force.
+-breathe_force = mco_attack_breath.mp3
++breathe_force =
+
+ # Breathe the elements (power dragon scale mail).
+-breathe_elements = mco_attack_breath.mp3
++breathe_elements =
+
+ #
+ # Identifying Items
+ #
+
+ # Identify a bad item (including bad ego items and artifacts).
+-identify_bad = id_bad_aww.mp3 id_bad_dang.mp3 id_bad_hmm.mp3 id_bad_hmph.mp3 id_bad_ohh.mp3
++identify_bad =
+
+ # Identify a good ego item.
+-identify_ego = id_ego_whoa.mp3 id_ego_woohoo.mp3 id_ego_yeah.mp3 id_ego_yeah2.mp3 id_ego_yes.mp3
++identify_ego =
+
+ # Identify a good artifact.
+-identify_art = id_good_hey.mp3 id_good_hey2.mp3 id_good_hmm.mp3 id_good_huh.mp3 id_good_ooh.mp3 id_good_ooo.mp3 id_good_wow.mp3
++identify_art =
+
diff --git a/libre/arora-libre/PKGBUILD b/libre/arora-libre/PKGBUILD
new file mode 100644
index 000000000..0b9aa4f4c
--- /dev/null
+++ b/libre/arora-libre/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 188496 2013-06-15 04:38:11Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=arora
+pkgname=arora-libre
+pkgver=0.11.0
+pkgrel=4
+pkgdesc='Lightweight cross-platform Web browser, without nonfree flash recommendation and non-privacy search providers'
+url='http://code.google.com/p/arora/'
+license=('GPL')
+arch=('i686' 'x86_64' 'mips64el')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+depends=('qtwebkit' 'desktop-file-utils')
+source=("http://${_pkgname}.googlecode.com/files/${_pkgname}-${pkgver}.tar.gz"
+ 'searchengines.qrc'
+ 'libre.patch'
+ 'duckduckgo-html.xml'
+ 'seeks-search.xml'
+ 'wikipedia-en.xml'
+ 'yacy.xml')
+sha1sums=('480cfd7482cccbb7ece866fa10afe9acace29b31'
+ 'd64bdfe9022f8b4b0745a0d9cc1094ee80bbc897'
+ '3982032d669077644d485f4d04d4ae4891bdb0e3'
+ 'e96f2d92b24daad0cfa28d02a003b92042651de0'
+ '07bc208fbc3bf3d08192b2c07e550525953fc0b2'
+ '3eea200350f7436bb2d744f8b6af1b5bbb758e51'
+ '2d515947a8cbeea831490727e88c89ebee17c313')
+
+install=install
+
+prepare() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ # remove non-privacy search providers
+ rm -r src/data/searchengines/*
+ install -m644 $srcdir/searchengines.qrc src/data/searchengines
+ install -m644 "$srcdir/"{duckduckgo-html,seeks-search,wikipedia-en,yacy}.xml src/data/searchengines
+ # remove nonfree flash recommendation
+ patch -Np1 -i $srcdir/libre.patch
+ sed -i '\|Flash|d' src/settings.cpp
+}
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ qmake-qt4 PREFIX='/usr' 'CONFIG-=debug' -r
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ make INSTALL_ROOT="${pkgdir}" install
+}
diff --git a/libre/arora-libre/duckduckgo-html.xml b/libre/arora-libre/duckduckgo-html.xml
new file mode 100644
index 000000000..9b979fa31
--- /dev/null
+++ b/libre/arora-libre/duckduckgo-html.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
+ <ShortName>DuckDuckGo HTML</ShortName>
+ <Description>Search DuckDuckGo HTML</Description>
+ <InputEncoding>UTF-8</InputEncoding>
+ <Image width="16" height="16">http://duckduckgo.com/favicon.ico</Image>
+ <Url type="text/html" template="https://duckduckgo.com/html/?q={searchTerms}"/>
+</OpenSearchDescription>
diff --git a/libre/arora-libre/install b/libre/arora-libre/install
new file mode 100644
index 000000000..b0409600c
--- /dev/null
+++ b/libre/arora-libre/install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null || true
+ update-desktop-database -q || true
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/arora-libre/libre.patch b/libre/arora-libre/libre.patch
new file mode 100644
index 000000000..6bb6c6b43
--- /dev/null
+++ b/libre/arora-libre/libre.patch
@@ -0,0 +1,30 @@
+diff --git a/src/settings.ui b/src/settings.ui
+index 7d4f66e..758beb3 100644
+--- a/src/settings.ui
++++ b/src/settings.ui
+@@ -413,25 +413,6 @@
+ </property>
+ </spacer>
+ </item>
+- <item row="2" column="1">
+- <widget class="QCheckBox" name="clickToFlash">
+- <property name="sizePolicy">
+- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+- <horstretch>0</horstretch>
+- <verstretch>0</verstretch>
+- </sizepolicy>
+- </property>
+- <property name="toolTip">
+- <string>If you enable this option, no flash objects will be loaded by default. Instead, each will be replaced by a button, allowing you to control which objects to load, and which not. </string>
+- </property>
+- <property name="text">
+- <string>Use ClickToFlash on flash plugins</string>
+- </property>
+- <property name="checked">
+- <bool>true</bool>
+- </property>
+- </widget>
+- </item>
+ <item row="3" column="0" colspan="2">
+ <widget class="QCheckBox" name="enableJavascript">
+ <property name="text">
diff --git a/libre/arora-libre/searchengines.qrc b/libre/arora-libre/searchengines.qrc
new file mode 100644
index 000000000..93cd9b80d
--- /dev/null
+++ b/libre/arora-libre/searchengines.qrc
@@ -0,0 +1,8 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource prefix="/searchengines">
+ <file>duckduckgo-html.xml</file>
+ <file>seeks-search.xml</file>
+ <file>wikipedia-en.xml</file>
+ <file>yacy.xml</file>
+</qresource>
+</RCC>
diff --git a/libre/arora-libre/seeks-search.xml b/libre/arora-libre/seeks-search.xml
new file mode 100644
index 000000000..f79d87047
--- /dev/null
+++ b/libre/arora-libre/seeks-search.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
+ <ShortName>Seeks Search</ShortName>
+ <Tags>Seeks</Tags>
+ <Description>Real-time p2p pattern matching network for social websearch.</Description>
+ <Contact>ebenazer@seeks-project.info</Contact>
+ <InputEncoding>UTF-8</InputEncoding>
+ <SyndicationRight>open</SyndicationRight>
+ <Image width="16" height="16" type="image/png">http://www.seeks.fr/public/images/seek_icon_16x16_transparent.png</Image>
+ <Url type="text/html" template="http://www.seeks.fr/search/txt/{searchTerms}"/>
+</OpenSearchDescription>
diff --git a/libre/arora-libre/wikipedia-en.xml b/libre/arora-libre/wikipedia-en.xml
new file mode 100644
index 000000000..ea590759f
--- /dev/null
+++ b/libre/arora-libre/wikipedia-en.xml
@@ -0,0 +1 @@
+<?xml version="1.0"?><OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/"><ShortName>Wikipedia (en)</ShortName><Description>Wikipedia (en)</Description><Image height="16" width="16" type="image/x-icon">http://bits.wikimedia.org/favicon/wikipedia.ico</Image><Url type="text/html" method="get" template="http://en.wikipedia.org/w/index.php?title=Special:Search&amp;search={searchTerms}" /><Url type="application/x-suggestions+json" method="get" template="http://en.wikipedia.org/w/api.php?action=opensearch&amp;search={searchTerms}&amp;namespace=0" /><Url type="application/x-suggestions+xml" method="get" template="http://en.wikipedia.org/w/api.php?action=opensearch&amp;format=xml&amp;search={searchTerms}&amp;namespace=0" /><moz:SearchForm>http://en.wikipedia.org/wiki/Special:Search</moz:SearchForm></OpenSearchDescription> \ No newline at end of file
diff --git a/libre/arora-libre/yacy.xml b/libre/arora-libre/yacy.xml
new file mode 100644
index 000000000..9c97f16cc
--- /dev/null
+++ b/libre/arora-libre/yacy.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<OpenSearchDescription
+ xmlns="http://a9.com/-/spec/opensearch/1.1/"
+ xmlns:suggestions="http://www.opensearch.org/specifications/opensearch/extensions/suggestions/1.1">
+ <ShortName>YaCy</ShortName>
+ <LongName>YaCy.net - P2P Web Search</LongName>
+ <Image type="image/gif">http://search.ipredator.se/env/grafics/yacy.png</Image>
+ <Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAAAAAAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////Chiu+fBm+fRq+fRq+fRq+fRq+fRq8ehXMmk////////////////////////////++exjUqGfZsnjYsXbYsXbYsXbZsnjTp2W+fBr///////////////////////////+9exfs2r/69/L58+z58+z58+z59e/z59bChSn///////////////////////////+9fBnnz638+fX69O369e748un38Ob59O3Ll0fVrGz////////////////////////Jk0HJlUjXuYrWt4jVtYPr28T58+r59OzPn1fPnlX////////////////////////Rolu8eRXCiTPEjTvCijbNnlj169359e7Zs3vLlkf////////////////////////UqmrAgSLt3MP27eH1693169327+T59Ozo0rG/gB////////////////////////////+/gCDv4Mn48+v38Of59Oz58+v48+vr2b2+fRv///////////////////////////+9ehXr17n58+z48ejo0bDp07T48+zx49DBhCj///////////////////////////+/fhzjyJ/59Oz59OzQoVvNmU759Oz58+vKlUbXrnH////////////////////////LlkfUqmn59Oz48+vZtHzNm1D48+v59OzPoFjOnlX////////////////////////OnVPOnFL59e348+vq1rnEiC7u38j69vDXsHTIkT3////////////////////////UqWjIkD327+T58+3s2bzAgSLp07T79/Pmzqq+fBn///////////////////////////+/fx7v4Mr7+PTx5NDHkD3kyqP8+vjs2r+9exf///////////////////////////++fBjQoFnVq2zTp2bGjTjJk0LWrW7SpWC+exf////////////////////////////Nm1C6dQy7eBG8eBK9exe8ehS7dxC6dQzLlkj////////////AH///wB8x+sAf///AD/+PwA///8AP///AD///4A9PU+APoz/gB///4AdxvOAHoz/gB3368AfjU/AHT1PwB/+P
+</Image>
+ <Language>en-us</Language>
+ <OutputEncoding>UTF-8</OutputEncoding>
+ <InputEncoding>UTF-8</InputEncoding>
+ <AdultContent>true</AdultContent>
+ <Description>YaCy is an open-source GPL-licensed software that can be used for stand-alone search engine installations or as a client for a multi-user P2P-based web indexing cluster. This is the access to peer '_anonufe-29422893-0'.</Description>
+
+ <Url type="text/html" method="GET" template="http://search.ipredator.se/yacysearch.html?query={searchTerms}&amp;startRecord={startIndex?}&amp;maximumRecords={count?}&amp;nav=all" />
+ <Url type="application/rss+xml" method="GET" template="http://search.ipredator.se/yacysearch.rss?nav=&amp;query={searchTerms}&amp;startRecord={startIndex?}&amp;maximumRecords={count?}&amp;verify=false" />
+
+ <Url type="application/x-suggestions+json" template="http://search.ipredator.se/suggest.json?query={searchTerms}"/>
+ <Url type="application/x-suggestions+xml" template="http://search.ipredator.se/suggest.xml?query={searchTerms}"/>
+ <!-- syntax according to http://www.loc.gov/standards/sru/. Set verify=true to get snippets in the search results -->
+ <Developer>See https://gitorious.org/+yacy-developers</Developer>
+ <Query role="example" searchTerms="yacy+open+source" />
+ <Tags>YaCy Open Source P2P Web Search</Tags>
+ <Contact>See http://search.ipredator.se/ViewProfile.html?hash=localhash</Contact>
+ <Attribution>YaCy Software &amp;copy; 2004-2012 by Michael Christen et al., YaCy.net; Content: ask peer owner</Attribution>
+ <SyndicationRight>open</SyndicationRight>
+</OpenSearchDescription>
diff --git a/libre/ath9k-htc-firmware/LICENSE b/libre/ath9k-htc-firmware/LICENSE
new file mode 100644
index 000000000..7668bcb97
--- /dev/null
+++ b/libre/ath9k-htc-firmware/LICENSE
@@ -0,0 +1,33 @@
+Copyright (c) 2013 Qualcomm Atheros, Inc.
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted (subject to the limitations in the
+disclaimer below) provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the
+ distribution.
+
+ * Neither the name of Qualcomm Atheros nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/libre/ath9k-htc-firmware/PKGBUILD b/libre/ath9k-htc-firmware/PKGBUILD
new file mode 100644
index 000000000..172cb97b3
--- /dev/null
+++ b/libre/ath9k-htc-firmware/PKGBUILD
@@ -0,0 +1,75 @@
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Maintainer: Márcio Silva <coadde@lavabit.com>
+
+pkgname=ath9k-htc-firmware
+pkgver=1.3.2
+pkgrel=3
+pkgdesc='Free firmware files for the Qualcomm Atheros AR7010 and AR9271 USB 802.11n NICs'
+arch=('any')
+url=('http://wireless.kernel.org/en/users/Drivers/ath9k_htc')
+license=('BSD')
+makedepends=('cmake' 'xtensa-unknown-elf-binutils' 'xtensa-unknown-elf-gcc')
+source=("https://github.com/qca/open-ath9k-htc-firmware/archive/$pkgver.tar.gz"
+ 'LICENSE')
+md5sums=('73c66751151dd47535cb4142477da480'
+ '5163b2711bc481c77045850610b7dd31')
+
+prepare() {
+
+ cd $srcdir/open-ath9k-htc-firmware-$pkgver/target_firmware
+ mkdir -p build/{k2,magpie}
+
+}
+
+build() {
+
+ cd $srcdir/open-ath9k-htc-firmware-$pkgver
+
+ export CTARGET="xtensa-unknown-elf"
+ export CFLAGS="-mtext-section-literals -O2 -pipe --param=ssp-buffer-size=4"
+ export CXXFLAGS="${CFLAGS}"
+
+ cat > target_firmware/build/toolchain.cmake <<EOF
+INCLUDE(CMakeForceCompiler)
+
+SET(CMAKE_SYSTEM_PROCESSOR xtensa)
+SET(COMPILER_PREFIX "xtensa-unknown-elf")
+SET(CMAKE_FIND_ROOT_PATH /usr/xtensa-unknown-elf)
+
+CMAKE_FORCE_C_COMPILER(/usr/bin/xtensa-unknown-elf-gcc GNU)
+EOF
+
+ cd $srcdir/open-ath9k-htc-firmware-$pkgver/target_firmware/build/k2
+
+ cmake -DCMAKE_TOOLCHAIN_FILE=$srcdir/open-ath9k-htc-firmware-$pkgver/target_firmware/build/toolchain.cmake "$@" -DTARGET_K2=ON ../..
+ cd -
+
+ cd $srcdir/open-ath9k-htc-firmware-$pkgver/target_firmware/build/magpie
+
+ cmake -DCMAKE_TOOLCHAIN_FILE=$srcdir/open-ath9k-htc-firmware-$pkgver/target_firmware/build/toolchain.cmake "$@" -DTARGET_MAGPIE=ON ../..
+ cd -
+
+ cd $srcdir/open-ath9k-htc-firmware-$pkgver/target_firmware
+
+ make -C build/k2
+ make -C build/magpie
+
+}
+
+package() {
+
+ # create firmware folder to put the free firmware files there
+ install -d -m755 $pkgdir/usr/lib/firmware
+
+ cd $srcdir/open-ath9k-htc-firmware-$pkgver/target_firmware
+
+ # move firmware files to firmware folder
+ cp build/{k2,magpie}/htc_*.fw $pkgdir/usr/lib/firmware
+
+ # create license folder to put the license file there
+ install -d -m755 $pkgdir/usr/share/licenses/$pkgname
+
+ # put LICENSE to license folder
+ install -m644 $srcdir/LICENSE $pkgdir/usr/share/licenses/$pkgname
+
+}
diff --git a/libre/atool-libre/PKGBUILD b/libre/atool-libre/PKGBUILD
new file mode 100644
index 000000000..4ac426440
--- /dev/null
+++ b/libre/atool-libre/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 78820 2012-10-25 06:47:28Z foutrelis $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: leif_thande <leif.thande@gmail.com>
+# Contributor: tranquility <trankas@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+# Contributor (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=atool
+pkgname=atool-libre
+pkgver=0.39.0
+pkgrel=1.2
+pkgdesc="A script for managing file archives of various types, with unar support included and nonfree unace recommendation removed"
+arch=('any')
+url="http://www.nongnu.org/atool/"
+license=('GPL3')
+depends=('file' 'perl')
+provides=("$_pkgname=$pkgver")
+replaces=("$_pkgname")
+conflicts=("$_pkgname")
+optdepends=('bzip2: for using atool with bzip2 compressed archives'
+ 'cpio: for using atool with cpio archives'
+ 'gzip: for using atool with gzip compressed archives'
+ 'lha: for using atool with lha, lharc and similar archives'
+ 'xz: for using atool with lzma compressed archives'
+ 'lzop: for using atool with lzop compressed archives'
+ 'p7zip: for using atool with 7z archives'
+ 'tar: for using atool with tar archives'
+ 'unar: for using atool for unpacking rar archives'
+ 'zip: for using atool for creating zip archives'
+ 'unzip: for using atool for unpacking zip archives')
+
+source=(http://savannah.nongnu.org/download/$_pkgname/$_pkgname-$pkgver.tar.gz)
+sha256sums=('aaf60095884abb872e25f8e919a8a63d0dabaeca46faeba87d12812d6efc703b')
+
+prepare() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+
+ # replace nonfree unrar to unar
+ sed -i 's|unrar|unar|g' $(grep -rlI 'unrar')
+}
+
+build() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+
+ ./configure --prefix=/usr
+}
+
+package() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+
+ make prefix=${pkgdir}/usr install
+}
diff --git a/libre/atool-libre/atool.changelog b/libre/atool-libre/atool.changelog
new file mode 100644
index 000000000..ce0b12c2b
--- /dev/null
+++ b/libre/atool-libre/atool.changelog
@@ -0,0 +1,18 @@
+2012-04-19 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * atool 0.39.0-1
+
+2012-02-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * atool 0.38.0-2
+ * signing package
+
+2011-08-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Updated to major version 0.38.0
+
+2009-08-16 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Updated to major version 0.37.0
+
+2008-10-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Updated to major version 0.36.0
+
+2008-10-05 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Moved to [community] repo
diff --git a/libre/atool-libre/rePKGBUILD b/libre/atool-libre/rePKGBUILD
new file mode 100644
index 000000000..e684320d0
--- /dev/null
+++ b/libre/atool-libre/rePKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Nicolás Reynolds <fauno@kiwwwi.com.ar>
+source PKGBUILD
+unset build package md5sums source
+CARCH=any
+PKGEXT=.pkg.tar.gz
+_repo=community # Put the repo here
+_mirror=http://mirrors.kernel.org/archlinux # Put mirror here
+source=(PKGBUILD
+ "${_mirror}/${_repo}/os/i686/${pkgname%-libre}-$pkgver-$pkgrel-$CARCH$PKGEXT"
+ # files for pkg modifications below this line
+ )
+options=(!strip)
+
+build() {
+ cd "${srcdir}/"
+ rm .{INSTALL,PKGINFO} || true
+ # put actions for package modifications below this line
+
+}
+
+package() {
+ find ${srcdir} -maxdepth 1 -type l -delete
+ cp -a ${srcdir}/* ${pkgdir}
+}
+
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/audacious-plugins-libre/PKGBUILD b/libre/audacious-plugins-libre/PKGBUILD
index cdab5fc4c..e6e221629 100644
--- a/libre/audacious-plugins-libre/PKGBUILD
+++ b/libre/audacious-plugins-libre/PKGBUILD
@@ -9,7 +9,7 @@
_pkgname=audacious-plugins
pkgname=audacious-plugins-libre
pkgver=3.4.3
-pkgrel=2
+pkgrel=2.1
pkgdesc='Plugins for Audacious, without nonfree plugins'
url='http://audacious-media-player.org/'
license=('GPL' 'GPL3' 'LGPL' 'custom:BSD')
@@ -53,7 +53,7 @@ optdepends=('alsa-lib: Advanced Linux Sound Arch. output'
'wavpack: WavPack input'
'libnotify: libnotify OSD'
- 'lirc-utils-libre: LIRC'
+ 'lirc-utils: LIRC'
'curl: AudioScrobbler Client'
'libmtp: Upload to MTP device'
diff --git a/libre/audex-libre/PKGBUILD b/libre/audex-libre/PKGBUILD
new file mode 100644
index 000000000..2c4ef80aa
--- /dev/null
+++ b/libre/audex-libre/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id$
+# Maintainer: Laurent Carlier <lordheavym@gmail.com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: mightyjaym <jmambrosino@gmail.com>
+# Contributor: moostik <mooostik_at_gmail.com>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=audex
+pkgname=audex-libre
+pkgver=0.77b1
+pkgrel=1
+pkgdesc="A CDDA extraction tool with a ftp upload function for KDE (without nonfree faac recommendation)"
+arch=('i686' 'x86_64')
+url="http://kde-apps.org/content/show.php?content=77125"
+license=('GPL')
+depends=('kdebase-runtime' 'libkcddb' 'libkcompactdisc' 'cdparanoia')
+makedepends=('cmake' 'automoc4')
+optdepends=('vorbis-tools: OGG encoder'
+ 'flac: FLAC encoder'
+ 'lame: MP3 encoder')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+install=${_pkgname}.install
+#source=("ftp://ftp.archlinux.org/other/community/${_pkgname}/${_pkgname}-${pkgver}.tar.xz"
+source=("http://kde.maniatek.com/${_pkgname}/files/${_pkgname}-${pkgver}.tar.xz"
+ 'gcc47.patch')
+md5sums=('1f3df64b60b15315e958e3e3b151fe92'
+ '64107bcf90e22910e57804be774822dd')
+
+build() {
+ cd ${_pkgname}-${pkgver}
+
+ patch -p1 -i "${srcdir}"/gcc47.patch
+ cd ..
+
+ mkdir build
+ cd build
+
+ cmake ../${_pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/build
+ make DESTDIR=${pkgdir} install
+}
diff --git a/libre/audex-libre/audex.install b/libre/audex-libre/audex.install
new file mode 100644
index 000000000..81ce5c4b0
--- /dev/null
+++ b/libre/audex-libre/audex.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/audex-libre/gcc47.patch b/libre/audex-libre/gcc47.patch
new file mode 100644
index 000000000..3d0ccf024
--- /dev/null
+++ b/libre/audex-libre/gcc47.patch
@@ -0,0 +1,13 @@
+--- audex-0.74b1.orig/utils/hashlist.cpp
++++ audex-0.74b1/utils/hashlist.cpp
+@@ -15,7 +15,8 @@
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+-
++
++#include <unistd.h>
+ #include "hashlist.h"
+
+ Hashlist::Hashlist() {
+
diff --git a/libre/audex-libre/google_regex.patch b/libre/audex-libre/google_regex.patch
new file mode 100644
index 000000000..86917e66f
--- /dev/null
+++ b/libre/audex-libre/google_regex.patch
@@ -0,0 +1,14 @@
+--- audex-0.74b1/utils/coverfetcher.cpp 2011-01-15 12:06:25.000000000 +0100
++++ audex-0.74b1/utils/coverfetcher_new.cpp 2011-07-20 18:43:37.554588883 +0200
+@@ -162,7 +162,10 @@
+ cover_tbnids.clear();
+ cover_thumbnails.clear();
+
+- QRegExp rx("<a\\shref=(\\/imgres\\?imgurl=[a-zA-Z0-9\\&\\_\\%\\/\\=\\.\\:\\-\\?]+)>[\\s\\n]*<img\\ssrc=([a-zA-Z0-9\\&\\_\\%\\/\\=\\.\\:\\-\\?]+).*>[\\s\\n]*</a>");
++ QRegExp rx("<a\\shref=\"(\\/imgres\\?imgurl=[^\"]+)\">[\\s\\n]*<img[^>]+src=\"([^>]+)\"></a>");
++ QString html = xml;
++ html.replace( QLatin1String("&amp;"), QLatin1String("&") );
++
+ rx.setMinimal(TRUE);
+
+ int pos = 0; int i = 0;
diff --git a/libre/audio-convert-libre/ChangeLog b/libre/audio-convert-libre/ChangeLog
new file mode 100644
index 000000000..0d8720f38
--- /dev/null
+++ b/libre/audio-convert-libre/ChangeLog
@@ -0,0 +1,5 @@
+2013-03-13 André Silva <emulatorman@parabola.nu>
+ * Remove nonfree faac recommendation
+
+2009-10-17 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * PKGBUILD syntax corrections
diff --git a/libre/audio-convert-libre/PKGBUILD b/libre/audio-convert-libre/PKGBUILD
new file mode 100644
index 000000000..0824a036c
--- /dev/null
+++ b/libre/audio-convert-libre/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 91081 2013-05-18 21:26:27Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Igor Galic <i.galic@gmail.com>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=audio-convert
+pkgname=audio-convert-libre
+pkgver=0.3.1.1
+pkgrel=7
+pkgdesc="A script with an easy to use interface to convert audio files: wav, mp3, ogg, flac, aac, mpc, ape and wma, without nonfree faac recommendation"
+arch=('any')
+url="http://freshmeat.net/projects/audio-convert"
+license=('GPL')
+depends=('bash' 'zenity')
+optdepends=('faad2: for aac support'
+ 'flac: for flac support'
+ 'id3lib: for mp3 support'
+ 'lame: for mp3 support'
+ 'mplayer: for wma support'
+ 'musepack-tools: for mpc support'
+ 'vorbis-tools: for ogg support')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+source=(http://savannah.nongnu.org/download/$_pkgname/$_pkgname-$pkgver.tar.bz2)
+sha256sums=('7b37d5fc2a4dd62885910b6424f5ff6870c329ed4f4f51feeeb952152c7d9d2b')
+
+package() {
+ install -D -m755 "$srcdir/$_pkgname-$pkgver/$_pkgname" "$pkgdir/usr/bin/$_pkgname"
+
+#FS#29260 fix
+ sed -i '46 s/^/#/' "$pkgdir/usr/bin/$_pkgname"
+}
diff --git a/libre/avidemux-libre/PKGBUILD b/libre/avidemux-libre/PKGBUILD
new file mode 100644
index 000000000..81585ce70
--- /dev/null
+++ b/libre/avidemux-libre/PKGBUILD
@@ -0,0 +1,125 @@
+# $Id: PKGBUILD 198769 2013-11-03 19:15:23Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgbase=avidemux
+pkgbase=avidemux-libre
+pkgname=('avidemux-libre-cli' 'avidemux-libre-gtk' 'avidemux-libre-qt')
+pkgver=2.5.6
+pkgrel=8
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://fixounet.free.fr/avidemux/"
+makedepends=('cmake' 'libxslt' 'gtk2' 'qt4' 'jack' 'libvorbis' 'sdl' 'libxv' \
+ 'alsa-lib' 'lame' 'xvidcore' 'faad2' 'x264' 'libsamplerate' \
+ 'opencore-amr' 'yasm' 'mesa' 'libvpx' 'libpulse' 'libva')
+options=('!makeflags' '!emptydirs')
+source=(http://downloads.sourceforge.net/avidemux/avidemux_${pkgver}.tar.gz)
+sha1sums=('47205c236bf6a4435b9d4dd944493c7b7e2752f5')
+
+build() {
+ cd ${_pkgbase}_${pkgver}
+ mkdir build
+ cd build
+ cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release \
+ -D CMAKE_SKIP_RPATH=ON -D GTK=1 -D QT4=1 \
+ -D LRELEASE_EXECUTABLE=/usr/lib/qt4/bin/lrelease ..
+ make
+
+# plugin build expects libraries to be already installed; we fake a prefix
+# in build/ by symlinking all libraries to build/lib/
+ cd lib
+ find ../avidemux -name '*.so*' | xargs ln -sft .
+ cd ../../plugins
+ mkdir build
+ cd build
+ cmake -D CMAKE_INSTALL_PREFIX=/usr -D AVIDEMUX_SOURCE_DIR="${srcdir}/avidemux_${pkgver}" \
+ -D AVIDEMUX_CORECONFIG_DIR="${srcdir}/avidemux_${pkgver}/build/config" \
+ -D AVIDEMUX_INSTALL_PREFIX="${srcdir}/avidemux_${pkgver}/build" \
+ -D CMAKE_BUILD_TYPE=Release -D CMAKE_SKIP_RPATH=ON ..
+ make
+}
+
+package_avidemux-libre-cli() {
+ pkgdesc="A graphical tool to edit video (filter/re-encode/split), without nonfree faac support"
+ depends=('libxml2' 'sdl' 'fontconfig' 'libvpx' 'libva')
+ optdepends=('lame: for the corresponding audio encoder plugin'
+ 'faad2: for the corresponding audio decoder plugin'
+ 'opencore-amr: for the corresponding audio decoder plugin'
+ 'jack: for the corresponding audio device plugin'
+ 'libpulse: for the corresponding audio device plugin'
+ 'sdl: for the corresponding audio device plugin'
+ 'x264: for the corresponding video encoder plugin'
+ 'xvidcore: for the corresponding video encoder plugin')
+ provides=('avidemux' 'avidemux-cli')
+ conflicts=('avidemux' 'avidemux-cli')
+ replaces=('avidemux' "avidemux-cli=$pkgver")
+
+ cd ${_pkgbase}_${pkgver}/build
+ make DESTDIR="${pkgdir}" install
+
+ cd "${srcdir}/${_pkgbase}_${pkgver}/plugins/build"
+ make DESTDIR="${pkgdir}" install
+ rm -r "${pkgdir}"/usr/share/avidemux
+ rm "${pkgdir}"/usr/share/ADM_addons/avsfilter/{avsload.exe,pipe_source.dll}
+ rm "${pkgdir}"/usr/bin/avidemux2_{gtk,qt4}
+ rm "${pkgdir}"/usr/lib/*{_gtk,_qt4,Gtk,QT4}.so
+ rm "${pkgdir}"/usr/lib/ADM_plugins/videoEncoder/x264/*{Gtk,Qt}.so
+ rm "${pkgdir}"/usr/lib/ADM_plugins/videoEncoder/xvid/*{Gtk,Qt}.so
+ rm "${pkgdir}"/usr/lib/ADM_plugins/videoFilter/*{_gtk,_qt4}.so
+
+ ln -s /usr/lib/ADM_plugins/videoEncoder/libADM_vidEnc_xvid.so "${pkgdir}/usr/lib/libADM_vidEnc_xvid.so"
+ ln -s /usr/lib/ADM_plugins/videoEncoder/libADM_vidEnc_x264.so "${pkgdir}/usr/lib/libADM_vidEnc_x264.so"
+
+ install -D -m644 ../../avidemux_icon.png "${pkgdir}/usr/share/pixmaps/avidemux.png"
+ install -D -m644 ../../man/avidemux.1 "${pkgdir}/usr/share/man/man1/avidemux.1"
+}
+
+package_avidemux-libre-gtk() {
+ pkgdesc="A graphical tool to edit video (filter/re-encode/split) - GTK GUI, without nonfree faac support"
+ depends=("avidemux-libre-cli=${pkgver}" 'gtk2' 'libxv' 'desktop-file-utils')
+ replaces=('avidemux-gtk')
+ conflicts=('avidemux-gtk')
+ provides=("avidemux-gtk=$pkgver")
+ install=avidemux.install
+
+ cd ${_pkgbase}_${pkgver}
+ install -D -m755 build/avidemux/avidemux2_gtk "${pkgdir}/usr/bin/avidemux2_gtk"
+
+ install -d "${pkgdir}"/usr/lib/ADM_plugins/videoEncoder/{x264,xvid}
+ install -d "${pkgdir}"/usr/lib/ADM_plugins/videoFilter
+
+ install -D -m755 build/lib/*{_gtk,Gtk}.so "${pkgdir}/usr/lib"
+ install -D -m755 plugins/build/ADM_videoEncoder/ADM_vidEnc_x264/gtk/*Gtk.so "${pkgdir}/usr/lib/ADM_plugins/videoEncoder/x264"
+ install -D -m755 plugins/build/ADM_videoEncoder/ADM_vidEnc_xvid/gtk/*Gtk.so "${pkgdir}/usr/lib/ADM_plugins/videoEncoder/xvid"
+ install -D -m755 plugins/build/ADM_videoFilters/*/*_gtk.so "${pkgdir}/usr/lib/ADM_plugins/videoFilter"
+
+ install -D -m644 avidemux2-gtk.desktop "${pkgdir}/usr/share/applications/avidemux-gtk.desktop"
+ sed -i "s|\[\$e\]||" "${pkgdir}/usr/share/applications/avidemux-gtk.desktop"
+}
+
+package_avidemux-libre-qt() {
+ pkgdesc="A graphical tool to edit video (filter/re-encode/split) - Qt GUI, without nonfree faac support"
+ depends=("avidemux-libre-cli=${pkgver}" 'qt4')
+ replaces=('avidemux-qt')
+ conflicts=('avidemux-qt')
+ provides=("avidemux-qt=$pkgver")
+ install=avidemux.install
+
+ cd ${_pkgbase}_${pkgver}
+ install -D -m755 build/avidemux/avidemux2_qt4 "${pkgdir}/usr/bin/avidemux2_qt4"
+ install -d "${pkgdir}"/usr/lib/ADM_plugins/videoEncoder/{x264,xvid}
+ install -d "${pkgdir}"/usr/lib/ADM_plugins/videoFilter
+
+ install -D -m755 build/lib/*{_qt4,QT4}.so "${pkgdir}/usr/lib"
+ install -D -m755 plugins/build/ADM_videoEncoder/ADM_vidEnc_x264/qt4/*Qt.so "${pkgdir}/usr/lib/ADM_plugins/videoEncoder/x264"
+ install -D -m755 plugins/build/ADM_videoEncoder/ADM_vidEnc_xvid/qt4/*Qt.so "${pkgdir}/usr/lib/ADM_plugins/videoEncoder/xvid"
+ install -D -m755 plugins/build/ADM_videoFilters/*/*_qt4.so "${pkgdir}/usr/lib/ADM_plugins/videoFilter"
+
+ install -d "${pkgdir}/usr/share/avidemux/i18n"
+ install -D -m644 build/po/*.qm "${pkgdir}/usr/share/avidemux/i18n"
+
+ install -D -m644 avidemux2.desktop "${pkgdir}/usr/share/applications/avidemux-qt.desktop"
+ sed -i 's/Name=avidemux2/Name=avidemux (Qt)/' "${pkgdir}/usr/share/applications/avidemux-qt.desktop"
+ sed -i 's/avidemux2_gtk/avidemux2_qt4/' "${pkgdir}/usr/share/applications/avidemux-qt.desktop"
+}
diff --git a/libre/avidemux-libre/PKGBUILD.WIP b/libre/avidemux-libre/PKGBUILD.WIP
new file mode 100644
index 000000000..5496ecffb
--- /dev/null
+++ b/libre/avidemux-libre/PKGBUILD.WIP
@@ -0,0 +1,94 @@
+# $Id: PKGBUILD 160693 2012-06-03 22:00:17Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgbase=avidemux
+pkgbase=avidemux-libre
+pkgname=('avidemux-libre-cli' 'avidemux-libre-gtk' 'avidemux-libre-qt')
+pkgver=2.6.6
+pkgrel=1
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://fixounet.free.fr/avidemux/"
+makedepends=('cmake' 'libxslt' 'gtk3' 'qt4' 'jack' 'libvorbis' 'sdl' 'libxv' \
+ 'alsa-lib' 'lame' 'xvidcore' 'faad2' 'x264' 'libsamplerate' \
+ 'opencore-amr' 'yasm' 'mesa' 'libvpx' 'libpulse' 'libva' \
+ 'libvdpau' 'libdca' 'fribidi' 'glu')
+options=('!makeflags' '!emptydirs')
+source=(http://downloads.sourceforge.net/avidemux/avidemux_${pkgver}.tar.gz)
+sha1sums=('83ebf551746aac251d6e69feac5858cd0a307743')
+#source=(http://www.avidemux.org/nightly/snapshot/source_r8810.tar.gz)
+#sha1sums=('8c27d54e2b0655a8b8a3adfde1c0308ffedfec0c')
+
+prepare() {
+# mv 2.6_snapshot ${_pkgbase}_${pkgver}
+ cd ${_pkgbase}_${pkgver}
+ sed -i 's|avidemux2|avidemux3|' avidemux2.desktop
+ sed -i 's|../avidemux/qt4|../avidemux/qt4 -DLRELEASE_EXECUTABLE=/usr/bin/lrelease-qt4|' bootStrap.bash
+ sed -i 's|#include "ADM_files.h"|#include "ADM_files.h"\n#include "ADM_toolkitGtk.h"|' avidemux/gtk/ADM_userInterfaces/ui_support.cpp
+}
+
+build() {
+ cd ${_pkgbase}_${pkgver}
+ bash bootStrap.bash --with-core --with-cli --with-gtk --with-qt4 --with-plugins
+}
+
+package_avidemux-libre-cli() {
+ pkgdesc="A graphical tool to edit video (filter/re-encode/split), without nonfree faac support"
+ depends=('libxml2' 'sdl' 'fontconfig' 'libvpx' 'libva')
+ optdepends=('lame: for the corresponding audio encoder plugin'
+ 'faad2: for the corresponding audio decoder plugin'
+ 'opencore-amr: for the corresponding audio decoder plugin'
+ 'jack: for the corresponding audio device plugin'
+ 'libpulse: for the corresponding audio device plugin'
+ 'sdl: for the corresponding audio device plugin'
+ 'x264: for the corresponding video encoder plugin'
+ 'xvidcore: for the corresponding video encoder plugin'
+ 'qt4: for the QtScript scripting support'
+ 'libdca: for the corresponding audio decoder plugin'
+ 'fribidi: for the corresponding video filter plugin')
+ provides=('avidemux' 'avidemux-cli')
+ conflicts=('avidemux' 'avidemux-cli')
+ replaces=('avidemux' "avidemux-cli=$pkgver")
+
+ cd ${_pkgbase}_${pkgver}
+ (cd buildCli; make DESTDIR="${pkgdir}" install)
+ (cd buildCore; make DESTDIR="${pkgdir}" install)
+ (cd buildPluginsCLI; make DESTDIR="${pkgdir}" install)
+ (cd buildPluginsCommon; make DESTDIR="${pkgdir}" install)
+
+ install -D -m644 avidemux_icon.png "${pkgdir}/usr/share/pixmaps/avidemux.png"
+ install -D -m644 man/avidemux.1 "${pkgdir}/usr/share/man/man1/avidemux.1"
+}
+
+package_avidemux-libre-gtk() {
+ pkgdesc="A graphical tool to edit video (filter/re-encode/split) - GTK GUI, without nonfree faac support"
+ depends=("avidemux-libre-cli=${pkgver}" 'gtk3' 'libxv' 'desktop-file-utils')
+ replaces=('avidemux-gtk')
+ conflicts=('avidemux-gtk')
+ provides=("avidemux-gtk=$pkgver")
+ install=avidemux.install
+
+ cd ${_pkgbase}_${pkgver}
+ (cd buildGtk; make DESTDIR="${pkgdir}" install)
+ (cd buildPluginsGtk; make DESTDIR="${pkgdir}" install)
+ install -D -m644 avidemux2.desktop "${pkgdir}/usr/share/applications/avidemux-gtk.desktop"
+
+ rm "${pkgdir}/usr/lib/ADM_plugins6/videoEncoders/libADM_ve_x264_other.so"
+}
+
+package_avidemux-libre-qt() {
+ pkgdesc="A graphical tool to edit video (filter/re-encode/split) - Qt GUI, without nonfree faac support"
+ depends=("avidemux-libre-cli=${pkgver}" 'qt4' 'x264' 'glu')
+ replaces=('avidemux-qt')
+ conflicts=('avidemux-qt')
+ provides=("avidemux-qt=$pkgver")
+ install=avidemux.install
+
+ cd ${_pkgbase}_${pkgver}
+ (cd buildQt4; make DESTDIR="${pkgdir}" install)
+ (cd buildPluginsQt4; make DESTDIR="${pkgdir}" install)
+
+ install -D -m644 avidemux2.desktop "${pkgdir}/usr/share/applications/avidemux-qt.desktop"
+ sed -i 's|gtk|qt4|' "${pkgdir}/usr/share/applications/avidemux-qt.desktop"
+}
diff --git a/libre/avidemux-libre/avidemux.install b/libre/avidemux-libre/avidemux.install
new file mode 100644
index 000000000..e111ef946
--- /dev/null
+++ b/libre/avidemux-libre/avidemux.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/bbswitch-libre/bbswitch.install b/libre/bbswitch-libre/bbswitch.install
new file mode 100644
index 000000000..02ea911ab
--- /dev/null
+++ b/libre/bbswitch-libre/bbswitch.install
@@ -0,0 +1,12 @@
+post_install() {
+ EXTRAMODULES='extramodules-3.12-LIBRE'
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/bfgminer-libre/PKGBUILD b/libre/bfgminer-libre/PKGBUILD
new file mode 100644
index 000000000..eb98f4aa9
--- /dev/null
+++ b/libre/bfgminer-libre/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 103233 2013-12-30 17:04:09Z tredaelli $
+# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
+# Contributor: Andy Weidenbaum <archbaum@gmail.com>
+
+_pkgname=bfgminer
+pkgname=bfgminer-libre
+pkgver=3.9.0
+pkgrel=1
+pkgdesc="Bitcoin miner featuring overclocking, monitoring, fan speed control and remote management. For FPGA/GPU/CPU Bitcoin mining, without nonfree OpenCL recommendation."
+arch=('i686' 'x86_64' 'mips64el')
+depends=('curl' 'jansson' 'libevent' 'libmicrohttpd' 'libusbx' 'lm_sensors')
+makedepends=('uthash' 'yasm')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+url='https://bitcointalk.org/index.php?topic=168174.0'
+license=('GPL3')
+source=(http://luke.dashjr.org/programs/bitcoin/files/$_pkgname/$pkgver/$_pkgname-$pkgver.tbz2
+ remove-dangerous-rpath.patch)
+sha256sums=('4250ec5ccb0fd9bd8c6d35608b13b3e2f07857e46abc09b94514a2fd2af80f40'
+ 'd26d07ca23ae25798c4db37cfda1a6a76f22d06e73efab1ddf62b3e1a7eef04c')
+
+prepare() {
+ cd "$srcdir"/$_pkgname-$pkgver
+
+ patch -p0 < "${srcdir}"/remove-dangerous-rpath.patch
+ NOSUBMODULES=1 ./autogen.sh
+}
+
+build() {
+ cd "$srcdir"/$_pkgname-$pkgver
+
+ ./configure --prefix=/usr \
+ --enable-cpumining \
+ --enable-bfsb \
+ --enable-metabank \
+ --enable-scrypt \
+ --enable-opencl \
+ --with-udevrulesdir=/usr/lib/udev/rules.d
+ # --enable-knc (FS#33640)
+ make
+}
+
+package() {
+ cd "$srcdir"/$_pkgname-$pkgver
+
+ make DESTDIR="$pkgdir" install
+}
diff --git a/libre/bfgminer-libre/change-kernel-path.patch b/libre/bfgminer-libre/change-kernel-path.patch
new file mode 100644
index 000000000..9dd124ab4
--- /dev/null
+++ b/libre/bfgminer-libre/change-kernel-path.patch
@@ -0,0 +1,98 @@
+--- /dev/null
++++ m4/as-ac-expand.m4
+@@ -0,0 +1,49 @@
++dnl as-ac-expand.m4 0.2.1
++dnl autostars m4 macro for expanding directories using configure's prefix
++dnl thomas@apestaart.org
++
++dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR)
++dnl example
++dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
++dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local
++dnl Note: when using $prefix or $exec_prefix, avoid it expanding to NONE
++dnl by calling it like this:
++dnl AS_AC_EXPAND(PYTHONLIBDIR, "\${exec_prefix}/lib/python$PYVER/site-packages")
++
++AC_DEFUN([AS_AC_EXPAND],
++[
++ EXP_VAR=[$1]
++ FROM_VAR=[$2]
++
++ dnl echo DEBUG: expand FROM_VAR $FROM_VAR
++
++ dnl first expand prefix and exec_prefix if necessary
++ prefix_save=$prefix
++ exec_prefix_save=$exec_prefix
++
++ dnl if no prefix given, then use /usr/local, the default prefix
++ if test "x$prefix" = "xNONE"; then
++ prefix="$ac_default_prefix"
++ fi
++ dnl if no exec_prefix given, then use prefix
++ if test "x$exec_prefix" = "xNONE"; then
++ exec_prefix=$prefix
++ fi
++
++ full_var="$FROM_VAR"
++ dnl loop until it doesn't change anymore
++ while true; do
++ dnl echo DEBUG: full_var: $full_var
++ new_full_var="`eval echo $full_var`"
++ if test "x$new_full_var" = "x$full_var"; then break; fi
++ full_var=$new_full_var
++ done
++
++ dnl clean up
++ full_var=$new_full_var
++ AC_SUBST([$1], "$full_var")
++
++ dnl restore prefix and exec_prefix
++ prefix=$prefix_save
++ exec_prefix=$exec_prefix_save
++])
+--- configure.ac.orig
++++ configure.ac
+@@ -655,7 +655,8 @@
+ prefix=/usr/local
+ fi
+
+-AC_DEFINE_UNQUOTED([CGMINER_PREFIX], ["$prefix/bin"], [Path to bfgminer install])
++AS_AC_EXPAND(DATAROOTDIR, $datarootdir)
++AC_DEFINE_UNQUOTED([CGMINER_PREFIX], ["$DATAROOTDIR/bfgminer"], [Path to bfgminer install])
+
+ AC_DEFINE_UNQUOTED([PHATK_KERNNAME], ["phatk121016"], [Filename for phatk kernel])
+ AC_DEFINE_UNQUOTED([POCLBM_KERNNAME], ["poclbm121016"], [Filename for poclbm kernel])
+--- Makefile.am.orig
++++ Makefile.am
+@@ -13,7 +13,7 @@
+
+ bin_PROGRAMS = bfgminer
+
+-bin_SCRIPTS = *.cl
++pkgdata_SCRIPTS = *.cl
+
+ bfgminer_LDFLAGS = $(PTHREAD_FLAGS)
+ bfgminer_LDADD = $(DLOPEN_FLAGS) @LIBCURL_LIBS@ @JANSSON_LIBS@ @PTHREAD_LIBS@ \
+@@ -117,19 +117,19 @@
+
+ if HAS_MODMINER
+ bfgminer_SOURCES += driver-modminer.c
+-bitstreamsdir = $(bindir)/bitstreams
++bitstreamsdir = $(pkgdatadir)/bitstreams
+ dist_bitstreams_DATA = bitstreams/*
+ endif
+
+ if HAS_X6500
+ bfgminer_SOURCES += driver-x6500.c ft232r.c ft232r.h jtag.c jtag.h
+-bitstreamsdir = $(bindir)/bitstreams
++bitstreamsdir = $(pkgdatadir)/bitstreams
+ dist_bitstreams_DATA = bitstreams/*
+ endif
+
+ if HAS_ZTEX
+ bfgminer_SOURCES += driver-ztex.c libztex.c libztex.h
+-bitstreamsdir = $(bindir)/bitstreams
++bitstreamsdir = $(pkgdatadir)/bitstreams
+ dist_bitstreams_DATA = bitstreams/*
+ endif
+
diff --git a/libre/bfgminer-libre/remove-dangerous-rpath.patch b/libre/bfgminer-libre/remove-dangerous-rpath.patch
new file mode 100644
index 000000000..abd815141
--- /dev/null
+++ b/libre/bfgminer-libre/remove-dangerous-rpath.patch
@@ -0,0 +1,11 @@
+--- configure.ac.orig
++++ configure.ac
+@@ -514,7 +514,7 @@
+ ])
+ else
+ libblkmaker_CFLAGS='-Ilibblkmaker'
+- libblkmaker_LDFLAGS='-Llibblkmaker/.libs -Wl,-rpath,\$$ORIGIN/libblkmaker/.libs'"$origin_LDFLAGS"
++ libblkmaker_LDFLAGS='-Llibblkmaker/.libs'
+ libblkmaker_LIBS='-lblkmaker_jansson-0.1 -lblkmaker-0.1'
+ AC_CONFIG_SUBDIRS([libblkmaker])
+ fi
diff --git a/libre/bitlbee-libre/PKGBUILD b/libre/bitlbee-libre/PKGBUILD
new file mode 100644
index 000000000..6a1743f5f
--- /dev/null
+++ b/libre/bitlbee-libre/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 202378 2013-12-21 14:01:44Z andyrtr $
+
+# Contributor: FUBAR <mrfubar@gmail.com>
+# Contributor: simo <simo@archlinux.org>
+# Contributor: Jeff 'codemac' Mickey <jeff@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Gaetan Bisson <bisson@archlinux.org>
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
+_pkgname=bitlbee
+pkgname=bitlbee-libre
+pkgver=3.2.1
+pkgrel=2
+pkgdesc='Brings instant messaging (XMPP, MSN, Yahoo!, AIM, ICQ, Twitter) to IRC, without Skype support'
+url='http://www.bitlbee.org/'
+license=('GPL')
+arch=('i686' 'x86_64' 'mips64el')
+depends=('gnutls' 'glib2')
+makedepends=('asciidoc' 'libotr3')
+optdepends=('libotr3: for OTR encryption support'
+ 'xinetd: to run bitlbee through xinetd')
+provides=$_pkgname=$pkgver
+conflicts=$_pkgname
+replaces=$_pkgname
+source=("http://get.bitlbee.org/src/${_pkgname}-${pkgver}.tar.gz"
+ 'xinetd'
+ 'bitlbee.tmpfiles')
+sha1sums=('954471ab87206826c072f31b3def40a1be5a78f5'
+ '5e0af27ba9cc4fe455e3381c75fc49a9326e2f17'
+ '3695ed2fe22436c4d0fc3ead829f7d1f89bc491c')
+backup=('etc/bitlbee/bitlbee.conf'
+ 'etc/bitlbee/motd.txt'
+ 'etc/xinetd.d/bitlbee')
+install=bitlbee.install
+
+build() {
+ cd "$_pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --etcdir=/etc/bitlbee \
+ --sbindir=/usr/bin \
+ --pidfile=/run/bitlbee/bitlbee.pid \
+ --ipcsocket=/run/bitlbee/bitlbee.sock \
+ --systemdsystemunitdir=/usr/lib/systemd/system \
+ --ssl=gnutls \
+ --strip=0 \
+ --otr=plugin \
+ --skype=0
+
+ # hacky: build against libotr3
+ sed -i 's,^OTRFLAGS=.*,OTRFLAGS=-lotr3,' Makefile.settings
+ sed -i 's,#include.*libotr,&3,' otr.h
+
+ make
+}
+
+package() {
+ make -C "$_pkgname-$pkgver" DESTDIR="$pkgdir" install{,-etc,-dev}
+
+ install -o65 -g65 -dm770 "$pkgdir/var/lib/bitlbee"
+ install -Dm644 "$srcdir/xinetd" "$pkgdir/etc/xinetd.d/bitlbee"
+ install -Dm644 "$srcdir/bitlbee.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/bitlbee.conf"
+}
diff --git a/libre/bitlbee-libre/bitlbee.install b/libre/bitlbee-libre/bitlbee.install
new file mode 100644
index 000000000..c8a8f93a1
--- /dev/null
+++ b/libre/bitlbee-libre/bitlbee.install
@@ -0,0 +1,22 @@
+post_install() {
+ if ! getent group bitlbee &>/dev/null; then
+ groupadd -r -g 65 bitlbee >/dev/null
+ fi
+ if ! getent passwd bitlbee &>/dev/null; then
+ useradd -r -u 65 -g bitlbee -d /var/lib/bitlbee -s /bin/false -c bitlbee bitlbee >/dev/null
+ fi
+ systemd-tmpfiles --create bitlbee.conf
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ if getent passwd bitlbee &>/dev/null; then
+ userdel bitlbee >/dev/null
+ fi
+ if getent group bitlbee &>/dev/null; then
+ groupdel bitlbee >/dev/null
+ fi
+}
diff --git a/libre/bitlbee-libre/bitlbee.tmpfiles b/libre/bitlbee-libre/bitlbee.tmpfiles
new file mode 100644
index 000000000..da72a0a79
--- /dev/null
+++ b/libre/bitlbee-libre/bitlbee.tmpfiles
@@ -0,0 +1 @@
+d /run/bitlbee 0755 bitlbee bitlbee - -
diff --git a/libre/bitlbee-libre/xinetd b/libre/bitlbee-libre/xinetd
new file mode 100644
index 000000000..d671a8cfc
--- /dev/null
+++ b/libre/bitlbee-libre/xinetd
@@ -0,0 +1,12 @@
+service bitlbee
+{
+ type = UNLISTED
+ socket_type = stream
+ protocol = tcp
+ wait = no
+ user = bitlbee
+ group = bitlbee
+ server = /usr/sbin/bitlbee
+ port = 6667
+ disable = yes
+}
diff --git a/libre/blackbox-libre/PKGBUILD b/libre/blackbox-libre/PKGBUILD
new file mode 100644
index 000000000..839ca0d7f
--- /dev/null
+++ b/libre/blackbox-libre/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 100133 2013-11-01 20:20:45Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: durbatuluk <dvdscripter@gmail.org>
+# Contributor: Steve Ponsford <sp4d@lavabit.com>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
+_pkgname=blackbox
+pkgname=${_pkgname}-libre
+pkgver=0.70.1
+pkgrel=11
+pkgdesc="A window manager for X11, without nonfree programs on the menu"
+url="http://blackboxwm.sourceforge.net/"
+arch=('i686' 'x86_64')
+depends=('gcc-libs' 'libxft' 'libxext' 'libx11' 'libxt')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+license=('MIT')
+source=(http://downloads.sourceforge.net/blackboxwm/$_pkgname-$pkgver.tar.gz
+ gcc4.3.patch
+ bbdock.patch
+ bsetbg-feh.patch
+ textpropertytostring-unconditional.patch
+ menu)
+md5sums=('2d173b95ca5e64ef478c6a5d2deee9df'
+ 'bc7a1335d77cdeb6f85cba4d01e68e63'
+ '69c5a5e981b087b2d8267cab996b48dd'
+ 'e7fb0d5bfd95820c0194ec73df66dadc'
+ '3b92ad246f07126dd55ae9634d6e875e'
+ 'f4fefa5f25c65c5d9a601e9c14646757')
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+
+ patch -Np1 -i ../gcc4.3.patch
+ patch -Np0 -i ../bbdock.patch
+ patch -Np0 -i ../bsetbg-feh.patch
+ patch -Np1 -i ../textpropertytostring-unconditional.patch
+
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ install -D -m644 LICENSE $pkgdir/usr/share/licenses/$_pkgname/LICENSE
+ install -D -m644 $srcdir/menu $pkgdir/usr/share/$_pkgname/menu
+}
diff --git a/libre/blackbox-libre/bbdock.patch b/libre/blackbox-libre/bbdock.patch
new file mode 100644
index 000000000..709b6cfe1
--- /dev/null
+++ b/libre/blackbox-libre/bbdock.patch
@@ -0,0 +1,16 @@
+--- src/Slit.cc 2005-01-04 05:58:33.000000000 -0700
++++ /root/tmp/Slit.cc 2007-12-29 11:13:09.000000000 -0700
+@@ -248,6 +248,13 @@
+ bt::PixmapCache::find(screen->screenNumber(), texture,
+ frame.rect.width(), frame.rect.height(),
+ frame.pixmap);
++/*** START: BBDOCK PATCH FOR DOCK APPS THAT USE ParentRelative **************/
++ if ((texture.texture() & bt::Texture::Gradient) && frame.pixmap)
++ XSetWindowBackgroundPixmap(display, frame.window, frame.pixmap);
++ else if ((texture.texture() & bt::Texture::Solid))
++ XSetWindowBackground(display, frame.window,
++ texture.color1().pixel(screen->screenNumber()));
++/*** STOP: BBDOCK PATCH FOR DOCK APPS THAT USE ParentRelative ***************/
+ XClearArea(display, frame.window, 0, 0,
+ frame.rect.width(), frame.rect.height(), True);
+
diff --git a/libre/blackbox-libre/bsetbg-feh.patch b/libre/blackbox-libre/bsetbg-feh.patch
new file mode 100644
index 000000000..17a612ff0
--- /dev/null
+++ b/libre/blackbox-libre/bsetbg-feh.patch
@@ -0,0 +1,23 @@
+--- util/bsetbg.orig 2008-03-26 21:17:04.000000000 -0700
++++ util/bsetbg 2008-03-26 21:21:57.000000000 -0700
+@@ -22,7 +22,7 @@
+
+ PATH=$PATH:/usr/bin:/usr/local/bin:/usr/X11R6/bin
+
+-img_apps="display xli xsetbg Esetroot qiv wmsetbg xv"
++img_apps="display xli xsetbg Esetroot qiv wmsetbg xv feh"
+
+ display_full_cmd="display -geometry 800x600 -window root"
+ display_tile_cmd="display -window root"
+@@ -59,6 +59,11 @@
+ xsetbg_center_cmd="xsetbg -center"
+ xsetbg_default_cmd="$xsetbg_center_cmd"
+
++feh_full_cmd="feh --bg-scale"
++feh_tile_cmd="feh --bg-tile"
++feh_center_cmd="feh --bg-center"
++feh_default_cmd="$feh_center_cmd"
++
+ ##################################
+
+ me=`basename $0`
diff --git a/libre/blackbox-libre/gcc4.3.patch b/libre/blackbox-libre/gcc4.3.patch
new file mode 100644
index 000000000..40a9dcdef
--- /dev/null
+++ b/libre/blackbox-libre/gcc4.3.patch
@@ -0,0 +1,111 @@
+diff -Nur blackbox-0.70.1/lib/Image.cc blackbox-0.70.1-new/lib/Image.cc
+--- blackbox-0.70.1/lib/Image.cc 2005-04-08 08:41:09.000000000 -0700
++++ blackbox-0.70.1-new/lib/Image.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -45,6 +45,8 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+
++#include <cstring>
++
+ // #define COLORTABLE_DEBUG
+ // #define MITSHM_DEBUG
+
+diff -Nur blackbox-0.70.1/lib/Resource.cc blackbox-0.70.1-new/lib/Resource.cc
+--- blackbox-0.70.1/lib/Resource.cc 2005-04-06 14:16:50.000000000 -0700
++++ blackbox-0.70.1-new/lib/Resource.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -30,6 +30,8 @@
+
+ #include <stdio.h>
+
++#include <cstring>
++
+
+ bt::Resource::Resource(void)
+ : db(NULL)
+diff -Nur blackbox-0.70.1/lib/XDG.cc blackbox-0.70.1-new/lib/XDG.cc
+--- blackbox-0.70.1/lib/XDG.cc 2005-04-06 07:04:38.000000000 -0700
++++ blackbox-0.70.1-new/lib/XDG.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -26,7 +26,7 @@
+ #include "XDG.hh"
+
+ #include <stdlib.h>
+-
++#include <algorithm>
+
+ // make sure directory names end with a slash
+ static std::string terminateDir(const std::string &string)
+diff -Nur blackbox-0.70.1/src/BlackboxResource.cc blackbox-0.70.1-new/src/BlackboxResource.cc
+--- blackbox-0.70.1/src/BlackboxResource.cc 2005-10-18 00:34:46.000000000 -0700
++++ blackbox-0.70.1-new/src/BlackboxResource.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -33,6 +33,8 @@
+ #include <X11/Xutil.h>
+ #include <X11/cursorfont.h>
+
++#include <cstring>
++
+
+ BlackboxResource::BlackboxResource(const std::string& rc): rc_file(rc) {
+ screen_resources = 0;
+diff -Nur blackbox-0.70.1/src/Screen.cc blackbox-0.70.1-new/src/Screen.cc
+--- blackbox-0.70.1/src/Screen.cc 2005-10-18 01:07:22.000000000 -0700
++++ blackbox-0.70.1-new/src/Screen.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -48,6 +48,8 @@
+ #include <ctype.h>
+ #include <dirent.h>
+
++#include <cstring>
++
+
+ static bool running = true;
+ static int anotherWMRunning(Display *, XErrorEvent *) {
+diff -Nur blackbox-0.70.1/src/ScreenResource.cc blackbox-0.70.1-new/src/ScreenResource.cc
+--- blackbox-0.70.1/src/ScreenResource.cc 2005-04-12 22:54:08.000000000 -0700
++++ blackbox-0.70.1-new/src/ScreenResource.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -33,6 +33,8 @@
+
+ #include <assert.h>
+
++#include <cstring>
++
+
+ static const int iconify_width = 9;
+ static const int iconify_height = 9;
+diff -Nur blackbox-0.70.1/src/main.cc blackbox-0.70.1-new/src/main.cc
+--- blackbox-0.70.1/src/main.cc 2005-01-03 02:42:57.000000000 -0700
++++ blackbox-0.70.1-new/src/main.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -36,6 +36,8 @@
+
+ #include <stdio.h>
+
++#include <cstring>
++
+
+ static void showHelp(int exitval) {
+ // print version - this should not be localized!
+diff -Nur blackbox-0.70.1/util/bsetbg blackbox-0.70.1-new/util/bsetbg
+--- blackbox-0.70.1/util/bsetbg 2004-12-22 02:40:18.000000000 -0700
++++ blackbox-0.70.1-new/util/bsetbg 2008-05-21 20:52:44.000000000 -0700
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/bin/bash
+
+ # Copyright (c) 2000-2002 Timothy M. King (tmk@lordzork.com)
+ #
+diff -Nur blackbox-0.70.1/util/bsetroot.cc blackbox-0.70.1-new/util/bsetroot.cc
+--- blackbox-0.70.1/util/bsetroot.cc 2005-03-15 00:01:37.000000000 -0700
++++ blackbox-0.70.1-new/util/bsetroot.cc 2008-05-21 20:52:44.000000000 -0700
+@@ -27,11 +27,14 @@
+ #include <Pen.hh>
+ #include <Texture.hh>
+
++#include <cstdlib>
+ #include <cctype>
+
+ #include <X11/Xatom.h>
+ #include <stdio.h>
+
++#include <cstring>
++
+
+ // ignore all X errors
+ static int x11_error(::Display *, XErrorEvent *)
diff --git a/libre/blackbox-libre/menu b/libre/blackbox-libre/menu
new file mode 100644
index 000000000..9cba27d16
--- /dev/null
+++ b/libre/blackbox-libre/menu
@@ -0,0 +1,112 @@
+# This is the default menu file for Blackbox 0.33.0 and up
+#
+# Lines beginning with the '#' character are ignored.
+#
+# The new syntax is simpler than the old X resource format...
+# Each menu item consists of 2 or 3 fields:
+#
+# [command] (label) {data}
+#
+# where [command] is one of:
+#
+# [begin] [end] [exec] [exit] [reconfig] [restart] [submenu]
+# [style] [stylesdir] [include] [workspaces] [config]
+#
+# [begin] is used for the top level menu
+# [submenu] is used for submenus
+# [end] must be used with BOTH [begin] and [submenu] to tell the parser to stop
+# reading from the file.
+#
+# [exec] (label) {string}
+# This will insert an item that runs a program.
+#
+# [exit] (label)
+# This will insert an item that exits the window manager.
+#
+# [reconfig] (label) {string}
+# This will insert an item that tells blackbox to re-read it's configuration
+# files. {string} is optional, and if supplied, will execute the string with
+# /bin/sh -c before the reconfiguration is performed. (this is helpful for
+# writing multiple config files and switching between them)
+#
+# [restart] (label) {string}
+# This will insert an item to restart the window manager. {string} is
+# optional, and if omitted, blackbox will restart itself. If {string} is
+# specified, then a different window manager will be started.
+#
+# [style] (filename)
+# This will insert an item to reconfigure blackbox with the new style. This
+# change is saved when blackbox exits or restarts.
+#
+# [include] (filename)
+# This will read more menu items from the file "filename". The file cannot
+# contain a [begin] or [end], except for the [end] needed for submenus.
+#
+# [workspaces] (label)
+# This tells Blackbox to insert a "link" to the workspaces menu directly
+# into your menu.
+#
+# [config] (label)
+# This tells Blackbox to insert the ConfigMenu into your menu. The ConfigMenu
+# allows you to change several options found in your ~/.blackboxrc file on the
+# fly.
+#
+# example:
+
+[begin] (Blackbox)
+ [exec] (xterm) {xterm -ls}
+ [exec] (rxvt) {rxvt}
+
+ [exec] (LibreOffice) {soffice}
+ [exec] (XEmacs) {xemacs}
+ [exec] (XPDF) {xpdf}
+
+ [submenu] (Graphics)
+ [exec] (The GIMP) {gimp}
+ [exec] (Image Magick) {display}
+ [end]
+
+ [submenu] (Internet)
+ [exec] (Icecat) {icecat}
+ [exec] (Iceweasel libre) {iceweasel}
+ [submenu] (Icedove libre)
+ [exec] (Icedove libre Mail) {icedove -mail}
+ [exec] (Icedove libre News) {icedove -news}
+ [end]
+ [submenu] (Iceape libre)
+ [exec] (Iceape libre Mail) {icedove -mail}
+ [exec] (Iceape libre News) {icedove -news}
+ [exec] (Iceape libre Composer) {icedove -edit}
+ [end]
+ [end]
+
+ [submenu] (X Utilities)
+ [exec] (Xfontsel) {xfontsel}
+ [exec] (Xman) {xman}
+ [exec] (Xcalc) {xcalc}
+ [exec] (Xload) {xload}
+ [end]
+
+ [submenu] (Styles) {Choose a style...}
+ [stylesdir] (/usr/share/blackbox/styles)
+ [end]
+
+ [workspaces] (Workspace List)
+ [config] (Configuration)
+
+ [reconfig] (Reconfigure)
+ [restart] (Restart)
+ [submenu] (Others) {Other Window Managers}
+ [restart] (Start FVWM) {fvwm}
+ [restart] (Start WindowMaker) {wmaker}
+ [restart] (Start Afterstep) {afterstep}
+ [restart] (Start Enlightenment) {enlightenment}
+ [restart] (Start TWM) {twm}
+ [restart] (Start KWIM) {kwim}
+ [end]
+
+ [exit] (Exit)
+[end]
+
+# End of example menu.
+
diff --git a/libre/blackbox-libre/textpropertytostring-unconditional.patch b/libre/blackbox-libre/textpropertytostring-unconditional.patch
new file mode 100644
index 000000000..ed320388a
--- /dev/null
+++ b/libre/blackbox-libre/textpropertytostring-unconditional.patch
@@ -0,0 +1,28 @@
+Description: Declare bt::textPropertyToString unconditionally.
+Author: Jakub Wilk <jwilk@debian.org>
+Forwarded: no
+Bug-Debian: http://bugs.debian.org/614468
+Last-Update: 2011-03-12
+
+--- a/lib/Util.hh
++++ b/lib/Util.hh
+@@ -25,6 +25,8 @@
+ #ifndef __Util_hh
+ #define __Util_hh
+
++#include <X11/Xutil.h>
++
+ #include <limits.h>
+ #include <string>
+
+@@ -94,10 +96,8 @@
+
+ std::string tolower(const std::string &string);
+
+-#ifdef _XUTIL_H_
+ std::string textPropertyToString(::Display *display,
+ ::XTextProperty& text_prop);
+-#endif
+
+ } // namespace bt
+
diff --git a/libre/blender-addon-luxrender/PKGBUILD b/libre/blender-addon-luxrender/PKGBUILD
new file mode 100644
index 000000000..9638a6135
--- /dev/null
+++ b/libre/blender-addon-luxrender/PKGBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Márcio Silva <coadde@lavabit.com>
+
+_srcname=luxrender
+_pkgver=1.3.1
+_bldname=blender
+_bldver=2.69
+_bldep=10
+_pkgname=${_srcname::3}${_bldname::5}25
+_srcver=ad6536b0dda8
+
+pkgname=$_bldname-addon-$_srcname
+pkgver=$_pkgver.v$_bldver
+pkgrel=2
+pkgdesc="$_pkgname: A addon for the ${_bldname^} which allows render and export with LuxRender (built for the $_bldname-libre package)"
+arch=any
+url=http://www.$_srcname.net/
+license=GPL
+depends=(
+ $_srcname=$_pkgver
+ "$_bldname-libre>=$_bldep:$_bldver"
+ "$_bldname-libre<$(($_bldep+1)):${_bldver::2}$((${_bldver:2:4}+1))"
+)
+provides=($_pkgname=$_pkgver)
+conflicts=$_pkgname
+replaces=$_pkgname
+source=http://src.$_srcname.net/$_pkgname/archive/$_srcver.tar.bz2
+sha512sums=7bfd64abde07d9ad90d5e80a95f6fe5478ff65a8ff6965bd3a6c9671907a9a940affa5fb1a593884dc9eb6a5c967eaa1386a3225edc9cbbbb4c20c5d26198aa1
+
+prepare() {
+ sed -i "\|def find_luxrender_path[(][)]|,+9 d
+ s|find_luxrender_path[(][)]|'/usr/bin'|
+ " $srcdir/$_pkgname-$_srcver/src/$_srcname/__init__.py
+}
+
+package() {
+ a=$srcdir/$_pkgname-$_srcver/src/$_srcname
+ b=$pkgdir/usr/share/$_bldname/$_bldver/scripts/addons
+ install -d -m755 $b && cp -a $a $b
+ # change the search path in exporter so it finds pylux in its new location
+ sed -i 's|from.*import pylux|import pylux|' $b/$_srcname/outputs/pure_api.py
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/blender-libre/PKGBUILD b/libre/blender-libre/PKGBUILD
new file mode 100644
index 000000000..556a44a17
--- /dev/null
+++ b/libre/blender-libre/PKGBUILD
@@ -0,0 +1,214 @@
+# Maintainer: Márcio Silva <coadde@lavabit.com>
+
+_pkgname=blender
+epoch=10
+_pkgver=2.69
+pkgrel=4
+_jpgver=1.5
+_pyver=3.3
+
+_spn=false
+[[ $_spn == true ]] && {
+ _spnname=-spacenav
+ _spndesc=' (with spacenav support)'
+}
+
+pkgname=$_pkgname$_spnname-libre
+pkgver=$_pkgver
+pkgdesc='Fully integrated 3D graphics creation suite, without nonfree cuda support'$_spndesc
+arch=(
+ mips64el
+ x86_64
+ i686
+)
+license=GPL
+url=http://www.$_pkgname.org
+depends=(
+ boost-libs
+ desktop-file-utils
+ ffmpeg
+ fftw
+ freetype2
+ glew
+ hicolor-icon-theme
+ jack
+ libjpeg-turbo
+ libpng
+ libsndfile
+ libtiff
+ libx11
+ libxext
+ libxi
+ libxml2
+ libxxf86vm
+ llvm-libs
+ mesa-libgl
+ openal
+ 'opencollada=20131031'
+ opencolorio
+ openexr
+ openimageio
+ openjpeg
+ 'openshadinglanguage=1.3.3'
+ pcre
+ python
+ sdl
+ shared-mime-info
+ xdg-utils
+ zlib
+)
+[[ $_spn == true ]] && depends+=(libspnav)
+optdepends=(
+ 'bullet: for Rigid Bodies and Physics Simulation'
+ #'mesa-libcl: for rendering with optional Mesa OpenCL'
+ 'povray: for optional renderer with POV-Ray'
+ 'xcftools: for import GIMP images to scene (pcr repo)'
+ 'blender-addon-luxrender: for optional renderer and exporter with LuxRender'
+ 'blender-addon-mitsuba: for optional renderer and exporter with Mitsuba (pcr repo)'
+ 'blender-addon-ogre: for export to Ogre3D formats (pcr repo)'
+ 'blender-addon-yafaray: for optional renderer with YafaRay (pcr repo)'
+)
+makedepends=(
+ boost # for cycles, booleans, audaspace and/or i18n
+ cmake
+ llvm
+ mesa
+)
+provides=($_pkgname)
+[[ $_spn == true ]] && provides+=("$_pkgname-libre=$epoch:$pkgver")
+conflicts=($_pkgname)
+[[ $_spn == true ]] && conflicts+=($_pkgname-libre)
+replaces=$_pkgname
+options=(!strip)
+install=$_pkgname.install
+source=http://download.$_pkgname.org/source/$_pkgname-$pkgver.tar.gz
+sha512sums=f4de1f5a0a7868ee509b57ef65962a6c2af4c2bc7328db6ebe7b8e05f771c06efea92977f7a64433e8383382a33dbd73cb42b2bf872e63410e55c19ddd133142
+
+prepare() {
+ cd $srcdir/$_pkgname-$pkgver
+
+ msg 'renaming wrong OS name'
+ _OS=$(uname -o)
+ [[ $_OS == GNU ]] && sed -i 's|BUILD_PLATFORM;|"GNU";|' source/creator/buildinfo.c
+ [[ $_OS == GNU/Linux ]] && sed -i 's|BUILD_PLATFORM;|"GNU/Linux";|' source/creator/buildinfo.c
+ [[ $_OS == GNU/kFreeBSD ]] && sed -i 's|BUILD_PLATFORM;|"GNU/kFreeBSD";|' source/creator/buildinfo.c
+ sed -i 's|Linux, Mac OS X, Windows and FreeBSD|GNU and BSD|
+ s|Linux, FreeBSD|GNU and BSD|
+ s|Unpack the archive, Then run the Blender executable.|Intall from Parabola repo (pacman -S '"$pkgname"'), Then run blender.|
+ \|Windows|d;\|Mac OS X|d
+ s|The downloaded Blender package includes|The '"${pkgname^}"' package includes|
+ ' release/text/readme.html
+ sed -i 's|Linux|GNU|
+ ' release/scripts/{addons/game_engine_save_as_runtime,modules/bl_i18n_utils/utils_rtl}.py
+ sed -i 's| (.so under Linux, .dll under windows...)| (.so under GNU or BSD, .dll under Wine or ReactOS...)|
+ ' release/scripts/{addons/ui_translate,modules/bl_i18n_utils}/settings.py
+
+ msg 'removing Open Source term'
+ sed -i 's|free, open source|free|
+ s|free and open-source|free|
+ s|open-source and free|free|
+ ' release/text/readme.html
+
+ msg 'fixing povray-libre path and desc'
+ sed -i "s|FILE_PATH',|FILE_PATH',\n default='/usr/bin/povray',|
+ s|both POV-Ray 3[.]7 and this script are beta|this script is beta|
+ " release/scripts/addons/render_povray/__init__.py
+
+ mkdir -v build
+}
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver/build
+
+ [[ $CARCH == x86_64 || $CARCH == i686 ]] && _SSE=ON _SSE2=ON || _SSE=OFF _SSE2=OFF
+ [[ $_spn == true ]] && _NDOF=ON || _NDOF=OFF
+ cmake ..\
+ -DCMAKE_BUILD_TYPE=Release\
+ -DCMAKE_INSTALL_PREFIX=/usr\
+ -DCYCLES_OSL=/usr\
+ -DLLVM_STATIC=OFF\
+ -DLLVM_VERSION=3.4\
+ -DOPENIMAGEIO_ROOT_DIR=/usr\
+ -DOPENJPEG_INCLUDE_DIR=/usr/include/openjpeg-$_jpgver\
+ -DOSL_INCLUDES=/usr/include/OSL\
+ -DPYTHON_INCLUDE_DIRS=/usr/include/python${_pyver}m\
+ -DPYTHON_LIBPATH=/usr/lib\
+ -DPYTHON_LIBRARY=python${_pyver}m\
+ -DPYTHON_VERSION=$_pyver\
+ -DSUPPORT_SSE_BUILD=$_SSE\
+ -DSUPPORT_SSE2_BUILD=$_SSE2\
+ -DWITH_AUDASPACE=ON\
+ -DWITH_BLENDER=ON\
+ -DWITH_BOOST=ON\
+ -DWITH_BOOST_ICU=OFF\
+ -DWITH_BUILDINFO=ON\
+ -DWITH_BULLET=ON\
+ -DWITH_CODEC_AVI=ON\
+ -DWITH_CODEC_FFMPEG=ON\
+ -DWITH_CODEC_SNDFILE=ON\
+ -DWITH_COMPOSITOR=ON\
+ -DWITH_CYCLES=ON\
+ -DWITH_CYCLES_CUDA_BINARIES=OFF\
+ -DWITH_CYCLES_OSL=ON\
+ -DWITH_CYCLES_STANDALONE=ON\
+ -DWITH_CYCLES_STANDALONE_GUI=ON\
+ -DWITH_FFTW3=ON\
+ -DWITH_FREESTYLE=ON\
+ -DWITH_GAMEENGINE=ON\
+ -DWITH_GHOST_XDND=ON\
+ -DWITH_IK_ITASC=ON\
+ -DWITH_IK_SOLVER=ON\
+ -DWITH_IMAGE_CINEON=ON\
+ -DWITH_IMAGE_DDS=ON\
+ -DWITH_IMAGE_FRAMESERVER=ON\
+ -DWITH_IMAGE_HDR=ON\
+ -DWITH_IMAGE_OPENEXR=ON\
+ -DWITH_IMAGE_OPENJPEG=ON\
+ -DWITH_IMAGE_REDCODE=ON\
+ -DWITH_IMAGE_TIFF=ON\
+ -DWITH_INPUT_NDOF=$_NDOF\
+ -DWITH_INSTALL_PORTABLE=OFF\
+ -DWITH_INTERNATIONAL=ON\
+ -DWITH_JACK=ON\
+ -DWITH_JACK_DYNLOAD=ON\
+ -DWITH_LIBMV=OFF\
+ -DWITH_LLVM=ON\
+ -DWITH_LZMA=ON\
+ -DWITH_LZO=ON\
+ -DWITH_MEM_JEMALLOC=OFF\
+ -DWITH_MEM_VALGRIND=OFF\
+ -DWITH_MOD_BOOLEAN=ON\
+ -DWITH_MOD_FLUID=ON\
+ -DWITH_MOD_OCEANSIM=ON\
+ -DWITH_MOD_REMESH=ON\
+ -DWITH_MOD_SMOKE=ON\
+ -DWITH_OPENAL=ON\
+ -DWITH_OPENIMAGEIO=ON\
+ -DWITH_OPENCOLLADA=ON\
+ -DWITH_OPENCOLORIO=ON\
+ -DWITH_OPENMP=ON\
+ -DWITH_PLAYER=ON\
+ -DWITH_PYTHON=ON\
+ -DWITH_PYTHON_INSTALL=OFF\
+ -DWITH_PYTHON_INSTALL_NUMPY=OFF\
+ -DWITH_PYTHON_MODULE=OFF\
+ -DWITH_PYTHON_SAFETY=OFF\
+ -DWITH_PYTHON_SECURITY=ON\
+ -DWITH_RAYOPTIMIZATION=ON\
+ -DWITH_SDL=ON\
+ -DWITH_STATIC_LIBS=OFF\
+ -DWITH_SYSTEM_GLEW=ON\
+ -DWITH_SYSTEM_OPENJPEG=ON\
+ -DWITH_X11_XF86VMODE=ON\
+ -DWITH_X11_XINPUT=ON
+ #-DWITH_MOD_CLOTH_ELTOPO=ON\
+ #-DWITH_SYSTEM_BULLET=ON\
+ make $MAKEFLAGS
+ make
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver/build
+ make DESTDIR=$pkgdir install
+ python -m compileall $pkgdir/usr/share/$_pkgname
+}
diff --git a/libre/blender-libre/blender-libre.install b/libre/blender-libre/blender-libre.install
new file mode 100644
index 000000000..724bfce00
--- /dev/null
+++ b/libre/blender-libre/blender-libre.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ update-mime-database usr/share/mime &> /dev/null
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/bogofilter-libre/PKGBUILD b/libre/bogofilter-libre/PKGBUILD
new file mode 100644
index 000000000..357e49752
--- /dev/null
+++ b/libre/bogofilter-libre/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 196818 2013-10-20 08:27:26Z andyrtr $
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
+# Contributor: tobias <tobias@archlinux.org>
+# Contributor: Low Kian Seong <fastmail_low@speedymail.org>
+
+_pkgname=bogofilter
+pkgname=bogofilter-libre
+pkgver=1.2.4
+pkgrel=1
+pkgdesc="A fast Bayesian spam filtering tool, without noncommercial files"
+arch=('i686' 'x86_64')
+license=('GPL3')
+url="http://bogofilter.sourceforge.net"
+depends=('db' 'perl' 'gsl')
+backup=('etc/bogofilter/bogofilter.cf')
+mksource=(http://sourceforge.net/projects/${_pkgname}/files/${_pkgname}-current/${_pkgname}-${pkgver}/${_pkgname}-${pkgver}.tar.bz2)
+source=(https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
+mkmd5sums=('d0a5eebb3274b23ceabe766a6443a1c5')
+md5sums=('cce573e059d39a68cf78097dbfaa5b2d')
+provides=("${_pkgname}=${pkgver}")
+replaces=("${_pkgname}")
+conflicts=("${_pkgname}")
+
+mksource() {
+ cd ${_pkgname}-${pkgver}
+
+ # Remove noncommercial files.
+ rm doc/bogofilter-SA-{2005-0{1,2},2010-01}
+}
+
+build() {
+ cd ${_pkgname}-${pkgver}
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/bogofilter \
+ --localstatedir=/var \
+ --enable-transactions
+ make
+}
+
+package() {
+ cd ${_pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+
+ mv "${pkgdir}/etc/bogofilter/bogofilter.cf.example" "${pkgdir}/etc/bogofilter/bogofilter.cf"
+
+ install -dm755 "${pkgdir}/usr/share/${_pkgname}/contrib"
+ install -m644 contrib/* "${pkgdir}/usr/share/${_pkgname}/contrib/"
+}
diff --git a/libre/bumblebee-libre/PKGBUILD b/libre/bumblebee-libre/PKGBUILD
new file mode 100644
index 000000000..4bebcc704
--- /dev/null
+++ b/libre/bumblebee-libre/PKGBUILD
@@ -0,0 +1,68 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=bumblebee
+pkgname=bumblebee-libre
+pkgver=3.2.1
+pkgrel=3
+pkgdesc="NVIDIA Optimus support for GNU/Linux through VirtualGL, without nonfree nvidia driver support"
+arch=('i686' 'x86_64')
+depends=('virtualgl' 'glib2' 'mesa-libgl')
+makedepends=('help2man')
+optdepends=('xf86-video-nouveau: nouveau driver'
+ 'nouveau-dri: 3D acceleration features of nouveau'
+ 'bbswitch: switch on/off discrete card'
+ 'primus: faster back-end for optirun')
+if [ "$CARCH" = "x86_64" ]; then
+ optdepends[${#optdepends[@]}]='lib32-virtualgl: run 32bit applications with optirun'
+ optdepends[${#optdepends[@]}]='lib32-primus: faster back-end for optirun'
+fi
+replaces=('bumblebee' 'nvidia-libgl')
+conflicts=('bumblebee' 'nvidia-libgl')
+provides=("bumblebee=$pkgver" 'nvidia-libgl')
+url="http://www.bumblebee-project.org"
+license=("GPL3")
+install='bumblebee.install'
+backup=('etc/bumblebee/bumblebee.conf'
+ 'etc/bumblebee/xorg.conf.nouveau')
+source=("http://www.bumblebee-project.org/${_pkgname}-${pkgver}.tar.gz"
+ 'libre.patch')
+md5sums=('30974e677bb13e8a3825fd6f3e7d3b24'
+ '1daed1e00f74538add6c435dfa0569d1')
+
+prepare() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ # Remove nonfree references to nonfree nvidia driver and unnecessaries files
+ rm -rv "README.markdown"
+ rm -rv "conf/"{99-bumblebee-nvidia-dev.rules,xorg.conf.nvidia}
+ rm -rv "doc"
+ rm -rv "scripts/bumblebee-bugreport.in"
+ patch -Np1 -i "${srcdir}/libre.patch"
+}
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ ./configure \
+ CONF_DRIVER=nouveau \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc \
+ --without-pidfile
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ make install DESTDIR="$pkgdir"
+
+ # Install systemd unit
+ install -D -m644 "scripts/systemd/bumblebeed.service" "${pkgdir}/usr/lib/systemd/system/bumblebeed.service"
+ sed -i "s/sbin/bin/" "${pkgdir}/usr/lib/systemd/system/bumblebeed.service"
+
+ # Make bash_completion work
+ mv -v "${pkgdir}/etc/bash_completion.d/bumblebee" "${pkgdir}/etc/bash_completion.d/optirun"
+}
diff --git a/libre/bumblebee-libre/bumblebee.install b/libre/bumblebee-libre/bumblebee.install
new file mode 100644
index 000000000..57aed6cc5
--- /dev/null
+++ b/libre/bumblebee-libre/bumblebee.install
@@ -0,0 +1,16 @@
+_notice() {
+ echo "Don't forget to add yourself to the 'bumblebee' group to use Bumblebee"
+}
+
+post_upgrade() {
+ getent group "bumblebee" &>/dev/null || groupadd -r bumblebee
+}
+
+post_remove() {
+ getent group "bumblebee" &>/dev/null && groupdel bumblebee 1>/dev/null
+}
+
+post_install() {
+ post_upgrade
+ _notice
+}
diff --git a/libre/bumblebee-libre/libre.patch b/libre/bumblebee-libre/libre.patch
new file mode 100644
index 000000000..81d49ca33
--- /dev/null
+++ b/libre/bumblebee-libre/libre.patch
@@ -0,0 +1,154 @@
+diff -Nur bumblebee-3.2.1.orig/Makefile.am bumblebee-3.2.1/Makefile.am
+--- bumblebee-3.2.1.orig/Makefile.am 2013-04-26 12:49:03.022174178 -0300
++++ bumblebee-3.2.1/Makefile.am 2013-04-28 17:08:11.719589284 -0300
+@@ -1,7 +1,6 @@
+ # -*- Makefile -*-
+
+ GITVERSION = $(shell "$(top_srcdir)/version.sh" "$(top_srcdir)")
+-relnotes = doc/RELEASE_NOTES_3_2_1
+
+ bumblebeedconfdir=$(sysconfdir)/bumblebee
+
+@@ -20,23 +19,16 @@
+ noinst_SCRIPTS += scripts/sysvinit/bumblebeed
+ endif
+
+-bin_SCRIPTS = scripts/bumblebee-bugreport
+-
+ xconfddir = $(bumblebeedconfdir)/xorg.conf.d
+ xconfd_DATA = conf/xorg.conf.d/10-dummy.conf
+
+ CLEANFILES = $(noinst_SCRIPTS) conf/bumblebee.conf $(bin_SCRIPTS)
+ EXTRA_DIST = scripts/systemd/bumblebeed.service.in \
+ scripts/upstart/bumblebeed.conf.in \
+- conf/99-bumblebee-nvidia-dev.rules \
+ conf/bumblebee.conf.in \
+- conf/xorg.conf.nvidia \
+ conf/xorg.conf.nouveau \
+ $(xconfd_DATA) \
+- README.markdown \
+ scripts/bash_completion/bumblebee \
+- scripts/bumblebee-bugreport.in \
+- $(relnotes) \
+ version.sh
+ # for laziness include all headers found
+ EXTRA_DIST += src/*.h src/*/switching.h
+@@ -57,17 +49,11 @@
+ src/driver.c src/bumblebeed.c
+ bin_bumblebeed_LDADD = ${x11_LIBS} ${libbsd_LIBS} ${glib_LIBS} -lrt
+
+-dist_doc_DATA = $(relnotes) README.markdown
+-bumblebeedconf_DATA = conf/bumblebee.conf conf/xorg.conf.nouveau conf/xorg.conf.nvidia
++bumblebeedconf_DATA = conf/bumblebee.conf conf/xorg.conf.nouveau
+
+ completiondir = $(sysconfdir)/bash_completion.d
+ completion_DATA = scripts/bash_completion/bumblebee
+
+-if WITH_UDEV_RULES
+-udevrulesdir = $(UDEV_RULES_DIR)
+-udevrules_DATA = conf/99-bumblebee-nvidia-dev.rules
+-endif
+-
+ do_subst = sed -e 's|[@]GITVERSION[@]|$(GITVERSION)|g' \
+ -e 's|[@]CONF_XDISP[@]|$(CONF_XDISP)|g' \
+ -e 's|[@]CONF_SOCKPATH[@]|$(CONF_SOCKPATH)|g' \
+@@ -97,10 +83,6 @@
+ mkdir -p scripts/systemd
+ $(do_subst) < $< > $@
+
+-scripts/bumblebee-bugreport: $(srcdir)/scripts/bumblebee-bugreport.in
+- mkdir -p scripts
+- $(do_subst) < $< > $@
+-
+ if WITH_PIDFILE
+ scripts/sysvinit/bumblebeed: $(srcdir)/scripts/sysvinit/bumblebeed.in
+ mkdir -p scripts/sysvinit
+diff -Nur bumblebee-3.2.1.orig/Makefile.in bumblebee-3.2.1/Makefile.in
+--- bumblebee-3.2.1.orig/Makefile.in 2013-04-26 12:49:11.306174579 -0300
++++ bumblebee-3.2.1/Makefile.in 2013-04-28 17:21:38.698898621 -0300
+@@ -220,7 +220,6 @@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ STRIP = @STRIP@
+-UDEV_RULES_DIR = @UDEV_RULES_DIR@
+ VERSION = @VERSION@
+ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+@@ -273,7 +272,6 @@
+ x11_CFLAGS = @x11_CFLAGS@
+ x11_LIBS = @x11_LIBS@
+ GITVERSION = $(shell "$(top_srcdir)/version.sh" "$(top_srcdir)")
+-relnotes = doc/RELEASE_NOTES_3_2_1
+ bumblebeedconfdir = $(sysconfdir)/bumblebee
+ AM_CPPFLAGS = ${regular_CPPFLAGS} \
+ -DCONFIG_FILE='"$(bumblebeedconfdir)/bumblebee.conf"' \
+@@ -286,7 +284,6 @@
+
+ noinst_SCRIPTS = scripts/systemd/bumblebeed.service \
+ scripts/upstart/bumblebeed.conf $(am__append_1)
+-bin_SCRIPTS = scripts/bumblebee-bugreport
+ xconfddir = $(bumblebeedconfdir)/xorg.conf.d
+ xconfd_DATA = conf/xorg.conf.d/10-dummy.conf
+ CLEANFILES = $(noinst_SCRIPTS) conf/bumblebee.conf $(bin_SCRIPTS) \
+@@ -294,10 +291,10 @@
+ # for laziness include all headers found
+ EXTRA_DIST = scripts/systemd/bumblebeed.service.in \
+ scripts/upstart/bumblebeed.conf.in \
+- conf/99-bumblebee-nvidia-dev.rules conf/bumblebee.conf.in \
+- conf/xorg.conf.nvidia conf/xorg.conf.nouveau $(xconfd_DATA) \
+- README.markdown scripts/bash_completion/bumblebee \
+- scripts/bumblebee-bugreport.in $(relnotes) version.sh src/*.h \
++ conf/bumblebee.conf.in \
++ conf/xorg.conf.nouveau $(xconfd_DATA) \
++ scripts/bash_completion/bumblebee \
++ version.sh src/*.h \
+ src/*/switching.h $(am__append_2)
+ bin_optirun_SOURCES = src/module.c src/bbconfig.c src/bblogger.c src/bbrun.c \
+ src/bbsocket.c src/driver.c src/optirun.c src/bbsocketclient.c
+@@ -309,12 +306,9 @@
+ src/driver.c src/bumblebeed.c
+
+ bin_bumblebeed_LDADD = ${x11_LIBS} ${libbsd_LIBS} ${glib_LIBS} -lrt
+-dist_doc_DATA = $(relnotes) README.markdown
+-bumblebeedconf_DATA = conf/bumblebee.conf conf/xorg.conf.nouveau conf/xorg.conf.nvidia
++bumblebeedconf_DATA = conf/bumblebee.conf conf/xorg.conf.nouveau
+ completiondir = $(sysconfdir)/bash_completion.d
+ completion_DATA = scripts/bash_completion/bumblebee
+-@WITH_UDEV_RULES_TRUE@udevrulesdir = $(UDEV_RULES_DIR)
+-@WITH_UDEV_RULES_TRUE@udevrules_DATA = conf/99-bumblebee-nvidia-dev.rules
+ do_subst = sed -e 's|[@]GITVERSION[@]|$(GITVERSION)|g' \
+ -e 's|[@]CONF_XDISP[@]|$(CONF_XDISP)|g' \
+ -e 's|[@]CONF_SOCKPATH[@]|$(CONF_SOCKPATH)|g' \
+diff -Nur bumblebee-3.1.orig/conf/bumblebee.conf.in bumblebee-3.1/conf/bumblebee.conf.in
+--- bumblebee-3.1.orig/conf/bumblebee.conf.in 2013-02-21 17:03:35.526542613 -0200
++++ bumblebee-3.1/conf/bumblebee.conf.in 2013-04-06 06:28:48.124159386 -0300
+@@ -17,8 +17,8 @@
+ # be ignored.
+ NoEcoModeOverride=false
+ # The Driver used by Bumblebee server. If this value is not set (or empty),
+-# auto-detection is performed. The available drivers are nvidia and nouveau
+-# (See also the driver-specific sections below)
++# auto-detection is performed. The available driver is nouveau
++# (See also the driver-specific section below)
+ Driver=@CONF_DRIVER@
+
+ ## Client options. Will take effect on the next optirun executed.
+@@ -44,18 +44,6 @@
+ # none - disable PM completely
+ # https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods
+
+-## Section with nvidia driver specific options, only parsed if Driver=nvidia
+-[driver-nvidia]
+-# Module name to load, defaults to Driver if empty or unset
+-KernelDriver=@CONF_DRIVER_MODULE_NVIDIA@
+-PMMethod=@CONF_PM_METHOD@
+-# colon-separated path to the nvidia libraries
+-LibraryPath=@CONF_LDPATH_NVIDIA@
+-# comma-separated path of the directory containing nvidia_drv.so and the
+-# default Xorg modules path
+-XorgModulePath=@CONF_MODPATH_NVIDIA@
+-XorgConfFile=@BBCONFDIR@/xorg.conf.nvidia
+-
+ ## Section with nouveau driver specific options, only parsed if Driver=nouveau
+ [driver-nouveau]
+ KernelDriver=nouveau
diff --git a/libre/calibre-libre/PKGBUILD b/libre/calibre-libre/PKGBUILD
index 6c4cf6beb..e09fe35d0 100644
--- a/libre/calibre-libre/PKGBUILD
+++ b/libre/calibre-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 104707 2014-01-24 17:26:20Z jelle $
+# $Id: PKGBUILD 105710 2014-02-14 09:37:19Z jelle $
# Maintainer: jelle van der Waa <jelle@vdwaa.nl>
# Maintainer: Daniel Wallace <danielwallace at gtmanfred dot com>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
@@ -9,7 +9,7 @@
_pkgname=calibre
pkgname=calibre-libre
-pkgver=1.21.0
+pkgver=1.24.0
pkgrel=1
pkgdesc="Ebook management application, with unar support"
arch=('i686' 'x86_64' 'mips64el')
@@ -30,18 +30,18 @@ install=calibre.install
source=("http://download.calibre-ebook.com/${pkgver}/calibre-${pkgver}.tar.xz"
'desktop_integration.patch'
'calibre-mount-helper')
-md5sums=('f8588ca195354692d172d9fa3fd67dea'
- '95ca4eb3afa7c737c8371708a23bdad9'
+md5sums=('2acb11d541bc8101ab550bfe80c79348'
+ '8e1855ce1ae254c34d12ddbc358b7a36'
'675cd87d41342119827ef706055491e7')
prepare(){
-cd "${srcdir}/${_pkgname}"
-#rm -rf src/{cherrypy,pyPdf}
-rm -rf src/cherrypy
-rm -rf resources/${pkgname}-portable.*
-sed -i -e "s/ldflags = shlex.split(ldflags)/ldflags = shlex.split(ldflags) + ['-fPIC']/" setup/extensions.py
+ cd "${srcdir}/${_pkgname}"
+ #rm -rf src/{cherrypy,pyPdf}
+ rm -rf src/cherrypy
+ rm -rf resources/${pkgname}-portable.*
+ sed -i -e "s/ldflags = shlex.split(ldflags)/ldflags = shlex.split(ldflags) + ['-fPIC']/" setup/extensions.py
-# Fix for calibre-0.8.58
+ # Fix for calibre-0.8.58
sed -i -e "s:#!usr:#!/usr:g" src/calibre/ebooks/markdown/extensions/meta.py
sed -i -e 's:\(#!/usr/bin/env[ ]\+python$\|#![ ]/usr/bin/env[ ]\+python$\|#!/usr/bin/python$\):\12:g' \
diff --git a/libre/calibre-libre/calibre-mount-helper b/libre/calibre-libre/calibre-mount-helper
new file mode 100644
index 000000000..00cac4270
--- /dev/null
+++ b/libre/calibre-libre/calibre-mount-helper
@@ -0,0 +1,28 @@
+#!/bin/sh -e
+# Replacement for upstream mount helper using udisks/eject
+# (C) 2010 Martin Pitt <mpitt@debian.org>
+
+ACTION="$1"
+DEV="$2"
+
+case "$ACTION" in
+ mount)
+ udisks --mount "$DEV"
+
+ # check if mount worked. If not, fail
+ # udisks does return 0 even if mount failed
+ mount | grep -q "$DEV" || exit 0
+ ;;
+
+ eject)
+ eject "$DEV"
+ ;;
+
+ cleanup)
+ ;;
+
+ *)
+ echo "unknown action" >&2
+ exit 1
+esac
+
diff --git a/libre/calibre-libre/calibre.install b/libre/calibre-libre/calibre.install
new file mode 100644
index 000000000..6210bd0ab
--- /dev/null
+++ b/libre/calibre-libre/calibre.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ update-mime-database usr/share/mime &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/calibre-libre/desktop_integration.patch b/libre/calibre-libre/desktop_integration.patch
new file mode 100644
index 000000000..da3c7a52e
--- /dev/null
+++ b/libre/calibre-libre/desktop_integration.patch
@@ -0,0 +1,120 @@
+diff -aur calibre/src/calibre/linux.py calibre.new/src/calibre/linux.py
+--- calibre/src/calibre/linux.py 2014-02-07 04:19:59.000000000 +0100
++++ calibre.new/src/calibre/linux.py 2014-02-08 13:07:09.925693077 +0100
+@@ -451,18 +451,6 @@
+ self.setup_completion()
+ if islinux or isbsd:
+ self.setup_desktop_integration()
+- self.create_uninstaller()
+-
+- from calibre.utils.config import config_dir
+- if os.path.exists(config_dir):
+- os.chdir(config_dir)
+- if islinux or isbsd:
+- for f in os.listdir('.'):
+- if os.stat(f).st_uid == 0:
+- import shutil
+- shutil.rmtree(f) if os.path.isdir(f) else os.unlink(f)
+- if os.stat(config_dir).st_uid == 0:
+- os.rmdir(config_dir)
+
+ if warn is None and self.warnings:
+ self.info('There were %d warnings'%len(self.warnings))
+@@ -513,7 +501,7 @@
+ if isnetbsd:
+ f = os.path.join(self.opts.staging_root, 'share/bash_completion.d/calibre')
+ else:
+- f = os.path.join(self.opts.staging_etc, 'bash_completion.d/calibre')
++ f = os.path.join(self.opts.staging_root, 'usr/share/bash-completion/completions/calibre')
+ if not os.path.exists(os.path.dirname(f)):
+ os.makedirs(os.path.dirname(f))
+ if zsh.dest:
+@@ -657,56 +645,37 @@
+
+ with TemporaryDirectory() as tdir, CurrentDir(tdir), \
+ PreserveMIMEDefaults():
+- render_img('mimetypes/lrf.png', 'calibre-lrf.png')
+- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png application-lrf', shell=True)
+- self.icon_resources.append(('mimetypes', 'application-lrf', '128'))
+- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png text-lrs', shell=True)
+- self.icon_resources.append(('mimetypes', 'application-lrs',
+- '128'))
+- render_img('mimetypes/mobi.png', 'calibre-mobi.png')
+- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-mobi.png application-x-mobipocket-ebook', shell=True)
+- self.icon_resources.append(('mimetypes', 'application-x-mobipocket-ebook', '128'))
+- render_img('mimetypes/tpz.png', 'calibre-tpz.png')
+- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-tpz.png application-x-topaz-ebook', shell=True)
+- self.icon_resources.append(('mimetypes', 'application-x-topaz-ebook', '128'))
+- render_img('mimetypes/azw2.png', 'calibre-azw2.png')
+- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-azw2.png application-x-kindle-application', shell=True)
+- self.icon_resources.append(('mimetypes', 'application-x-kindle-application', '128'))
+- render_img('mimetypes/azw3.png', 'calibre-azw3.png')
+- cc('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-azw3.png application-x-mobi8-ebook', shell=True)
+- self.icon_resources.append(('mimetypes', 'application-x-mobi8-ebook', '128'))
+- render_img('lt.png', 'calibre-gui.png', width=256, height=256)
+- cc('xdg-icon-resource install --noupdate --size 256 calibre-gui.png calibre-gui', shell=True)
+- self.icon_resources.append(('apps', 'calibre-gui', '128'))
+- render_img('viewer.png', 'calibre-viewer.png')
+- cc('xdg-icon-resource install --size 128 calibre-viewer.png calibre-viewer', shell=True)
+- self.icon_resources.append(('apps', 'calibre-viewer', '128'))
+- render_img('tweak.png', 'calibre-ebook-edit.png')
+- cc('xdg-icon-resource install --size 128 calibre-ebook-edit.png calibre-ebook-edit', shell=True)
+- self.icon_resources.append(('apps', 'calibre-ebook-edit', '128'))
++ dir = os.path.join(self.opts.staging_sharedir,'../pixmaps')
++ os.mkdir(dir)
++ render_img('mimetypes/lrf.png', os.path.join(dir,'calibre-lrf.png'))
++ render_img('lt.png', os.path.join(dir, 'calibre-gui.png'))
++ render_img('viewer.png', os.path.join(dir, 'calibre-viewer.png'))
++ render_img('tweak.png', os.path.join(dir, 'calibre-ebook-edit.png'))
+
+ mimetypes = set([])
+ for x in all_input_formats():
+ mt = guess_type('dummy.'+x)[0]
+- if mt and 'chemical' not in mt and 'ctc-posml' not in mt:
++ if mt and 'chemical' not in mt and 'text' not in mt and 'pdf' not in mt and 'xhtml' not in mt:
+ mimetypes.add(mt)
+
+ def write_mimetypes(f):
+ f.write('MimeType=%s;\n'%';'.join(mimetypes))
+
+ from calibre.ebooks.oeb.polish.main import SUPPORTED
+- f = open('calibre-lrfviewer.desktop', 'wb')
++ dir = os.path.join(self.opts.staging_sharedir,'../applications')
++ os.mkdir(dir)
++ f = open(os.path.join(dir, 'calibre-lrfviewer.desktop'), 'wb')
+ f.write(VIEWER)
+ f.close()
+- f = open('calibre-ebook-viewer.desktop', 'wb')
++ f = open(os.path.join(dir, 'calibre-ebook-viewer.desktop'), 'wb')
+ f.write(EVIEWER)
+ write_mimetypes(f)
+- f = open('calibre-ebook-edit.desktop', 'wb')
++ f = open(os.path.join(dir, 'calibre-ebook-edit.desktop'), 'wb')
+ f.write(ETWEAK)
+ mt = [guess_type('a.' + x.lower())[0] for x in SUPPORTED]
+ f.write('MimeType=%s;\n'%';'.join(mt))
+ f.close()
+- f = open('calibre-gui.desktop', 'wb')
++ f = open(os.path.join(dir, 'calibre-gui.desktop'), 'wb')
+ f.write(GUI)
+ write_mimetypes(f)
+ f.close()
+@@ -725,15 +694,9 @@
+ translators = dict(get_all_translators())
+
+ APPDATA = get_appdata()
+- for x in des:
+- cmd = ['xdg-desktop-menu', 'install', '--noupdate', './'+x]
+- cc(' '.join(cmd), shell=True)
+- self.menu_resources.append(x)
+- ak = x.partition('.')[0]
+- if ak in APPDATA and os.access(appdata, os.W_OK):
+- write_appdata(ak, APPDATA[ak], appdata, translators)
+- cc(['xdg-desktop-menu', 'forceupdate'])
+- f = open('calibre-mimetypes.xml', 'wb')
++ dir = os.path.join(self.opts.staging_sharedir,'../mime/packages/')
++ os.makedirs(dir)
++ f = open(os.path.join(dir, 'calibre.xml'), 'wb')
+ f.write(MIME)
+ f.close()
+ self.mime_resources.append('calibre-mimetypes.xml')
diff --git a/libre/cdrkit-libre/PKGBUILD b/libre/cdrkit-libre/PKGBUILD
new file mode 100644
index 000000000..a598a15f6
--- /dev/null
+++ b/libre/cdrkit-libre/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 186761 2013-05-31 04:50:41Z allan $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+
+_pkgname=cdrkit
+pkgname=cdrkit-libre
+pkgver=1.1.11
+pkgrel=3.2
+pkgdesc="Suite of programs for CD/DVD recording, ISO image creation, and audio CD extraction, without nonfree apple_driver utility"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://cdrkit.org/"
+license=('GPL2')
+provides=("cdrkit=${pkgver}" 'cdrtools')
+conflicts=('cdrkit' 'cdrtools')
+replaces=('cdrkit' 'cdrtools')
+depends=('file' 'bzip2')
+optdepends=('perl: for dirsplit')
+makedepends=('cmake')
+mksource=(http://cdrkit.org/releases/$_pkgname-$pkgver.tar.gz)
+source=(https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz)
+mkmd5sums=('efe08e2f3ca478486037b053acd512e9')
+md5sums=('SKIP')
+
+mksource() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ # Remove nonfree apple_driver utility
+ rm -rvf {doc/genisoimage/README.hfs_boot,genisoimage/apple_driver.{8,c}}
+}
+
+prepare() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ sed -i "s#sbin#bin#" netscsid/CMakeLists.txt
+}
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ make
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ make PREFIX="$pkgdir/usr" install
+
+ # Make symlinks for cdrtools compatibility
+ cd "$pkgdir/usr/bin"
+ ln -s wodim cdrecord
+ ln -s readom readcd
+ ln -s genisoimage mkisofs
+ ln -s genisoimage mkhybrid
+ ln -s icedax cdda2wav
+
+ cd "$pkgdir/usr/share/man/man1"
+ ln -s wodim.1 cdrecord.1
+ ln -s readom.1 readcd.1
+ ln -s genisoimage.1 mkisofs.1
+ ln -s genisoimage.1 mkhybrid.1
+ ln -s icedax.1 cdda2wav.1
+}
diff --git a/libre/clementine-libre/PKGBUILD b/libre/clementine-libre/PKGBUILD
index 5bebf2bb6..e74b26c45 100644
--- a/libre/clementine-libre/PKGBUILD
+++ b/libre/clementine-libre/PKGBUILD
@@ -10,7 +10,7 @@
_pkgname=clementine
pkgname=clementine-libre
pkgver=1.2.1
-pkgrel=2
+pkgrel=2.1
pkgdesc="A music player and library organizer, without nonfree artwork and spotify support"
url="http://www.clementine-player.org/"
license=('GPL')
@@ -19,7 +19,7 @@ depends=('chromaprint' 'glew' 'gstreamer0.10-base' 'libcdio' 'libgpod' 'liblastf
makedepends=('cmake' 'boost' 'mesa' 'sparsehash')
optdepends=('gstreamer0.10-base-plugins: "Base" plugin libraries'
'gstreamer0.10-good-plugins: "Good" plugin libraries'
- 'gstreamer0.10-bad-libre-plugins: "Bad" plugin libraries'
+ 'gstreamer0.10-bad-plugins: "Bad" plugin libraries'
'gstreamer0.10-ugly-plugins: "Ugly" plugin libraries'
'gvfs: Various devices support')
replaces=('clementine')
diff --git a/libre/clementine-libre/clementine.install b/libre/clementine-libre/clementine.install
new file mode 100644
index 000000000..927a10258
--- /dev/null
+++ b/libre/clementine-libre/clementine.install
@@ -0,0 +1,15 @@
+post_install() {
+ gtk-update-icon-cache -ftq usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+
+post_remove() {
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/libre/clementine-libre/moognu.png b/libre/clementine-libre/moognu.png
new file mode 100644
index 000000000..177041886
--- /dev/null
+++ b/libre/clementine-libre/moognu.png
Binary files differ
diff --git a/libre/clementine-libre/remove-nonfree-artwork-and-spotify.patch b/libre/clementine-libre/remove-nonfree-artwork-and-spotify.patch
new file mode 100644
index 000000000..38bac21bf
--- /dev/null
+++ b/libre/clementine-libre/remove-nonfree-artwork-and-spotify.patch
@@ -0,0 +1,701 @@
+diff --git a/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m b/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m
+index a349f59..c418e0b 100644
+--- a/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m
++++ b/3rdparty/SPMediaKeyTap/SPMediaKeyTap.m
+@@ -98,7 +98,6 @@ static CGEventRef tapEventCallback(CGEventTapProxy proxy, CGEventType type, CGEv
+ {
+ return [NSArray arrayWithObjects:
+ [[NSBundle mainBundle] bundleIdentifier], // your app
+- @"com.spotify.client",
+ @"com.apple.iTunes",
+ @"com.apple.QuickTimePlayerX",
+ @"com.apple.quicktimeplayer",
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 47f1693..986351b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -7,7 +7,6 @@ include(cmake/Summary.cmake)
+ include(cmake/Version.cmake)
+ include(cmake/Deb.cmake)
+ include(cmake/Rpm.cmake)
+-include(cmake/SpotifyVersion.cmake)
+ include(cmake/OptionalSource.cmake)
+ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
+
+@@ -78,7 +77,6 @@ pkg_check_modules(LIBMYGPO_QT libmygpo-qt>=1.0.7)
+ pkg_check_modules(LIBXML libxml-2.0)
+ pkg_check_modules(QCA qca2)
+ pkg_check_modules(QJSON REQUIRED QJson)
+-pkg_check_modules(SPOTIFY libspotify>=12.1.45)
+ pkg_check_modules(TAGLIB REQUIRED taglib>=1.6)
+
+ if (WIN32)
+@@ -124,13 +122,6 @@ if (APPLE)
+ find_library(GROWL Growl)
+ find_library(SPARKLE Sparkle)
+
+- find_library(SPOTIFY libspotify)
+- if (SPOTIFY)
+- set (SPOTIFY_FOUND ON)
+- set (SPOTIFY_INCLUDE_DIRS ${SPOTIFY})
+- set (SPOTIFY_LIBRARIES ${SPOTIFY})
+- endif (SPOTIFY)
+-
+ add_subdirectory(3rdparty/SPMediaKeyTap)
+ set(SPMEDIAKEYTAP_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/SPMediaKeyTap)
+ set(SPMEDIAKEYTAP_LIBRARIES SPMediaKeyTap)
+@@ -254,7 +245,7 @@ optional_component(DEVICEKIT ON "Devices: DeviceKit backend"
+ DEPENDS "D-Bus support" HAVE_DBUS
+ )
+
+-optional_component(SPOTIFY_BLOB ON "Spotify support: non-GPL binary helper"
++optional_component(SPOTIFY_BLOB OFF "Spotify support: non-GPL binary helper"
+ DEPENDS "protobuf" PROTOBUF_FOUND PROTOBUF_PROTOC_EXECUTABLE
+ DEPENDS "libspotify" SPOTIFY_FOUND
+ )
+@@ -270,13 +261,6 @@ optional_component(SPARKLE ON "Sparkle integration"
+
+ optional_component(VISUALISATIONS ON "Visualisations")
+
+-if(NOT HAVE_SPOTIFY_BLOB AND NOT QCA_FOUND)
+- message(FATAL_ERROR "Either QCA must be available or the non-GPL Spotify "
+- "code must be compiled in")
+-elseif(QCA_FOUND)
+- set(HAVE_SPOTIFY_DOWNLOADER ON)
+-endif()
+-
+ # Find DBus if it's enabled
+ if (HAVE_DBUS)
+ find_package(Qt4 REQUIRED QtDbus)
+@@ -440,7 +424,6 @@ add_subdirectory(ext/libclementine-common)
+ add_subdirectory(ext/libclementine-tagreader)
+ add_subdirectory(ext/clementine-tagreader)
+ add_subdirectory(ext/libclementine-remote)
+-add_subdirectory(ext/libclementine-spotifyblob)
+
+ option(WITH_DEBIAN OFF)
+ if(WITH_DEBIAN)
+@@ -451,10 +434,6 @@ if(HAVE_BREAKPAD)
+ add_subdirectory(3rdparty/google-breakpad)
+ endif(HAVE_BREAKPAD)
+
+-if(HAVE_SPOTIFY_BLOB)
+- add_subdirectory(ext/clementine-spotifyblob)
+-endif(HAVE_SPOTIFY_BLOB)
+-
+ if(HAVE_MOODBAR)
+ add_subdirectory(gst/moodbar)
+ endif()
+diff --git a/data/data.qrc b/data/data.qrc
+index 4c5473f..bd5fe2d 100644
+--- a/data/data.qrc
++++ b/data/data.qrc
+@@ -2,7 +2,6 @@
+ <qresource prefix="/">
+ <file>blank.ttf</file>
+ <file>clementine_remote_qr.png</file>
+- <file>clementine-spotify-public.pem</file>
+ <file>currenttrack_bar_left.png</file>
+ <file>currenttrack_bar_mid.png</file>
+ <file>currenttrack_bar_right.png</file>
+@@ -77,7 +76,6 @@
+ <file>icons/22x22/phone-nokia-n900.png</file>
+ <file>icons/22x22/phone-palm-pre.png</file>
+ <file>icons/22x22/phone.png</file>
+- <file>icons/22x22/spotify.png</file>
+ <file>icons/22x22/user-away.png</file>
+ <file>icons/22x22/view-choose.png</file>
+ <file>icons/22x22/view-fullscreen.png</file>
+@@ -154,7 +152,6 @@
+ <file>icons/32x32/phone-palm-pre.png</file>
+ <file>icons/32x32/phone.png</file>
+ <file>icons/32x32/search.png</file>
+- <file>icons/32x32/spotify.png</file>
+ <file>icons/32x32/tools-wizard.png</file>
+ <file>icons/32x32/view-choose.png</file>
+ <file>icons/32x32/view-fullscreen.png</file>
+@@ -230,7 +227,6 @@
+ <file>icons/48x48/phone-nokia-n900.png</file>
+ <file>icons/48x48/phone-palm-pre.png</file>
+ <file>icons/48x48/phone.png</file>
+- <file>icons/48x48/spotify.png</file>
+ <file>icons/48x48/view-choose.png</file>
+ <file>icons/48x48/view-fullscreen.png</file>
+ <file>icons/48x48/view-media-equalizer.png</file>
+@@ -262,10 +258,10 @@
+ <file>lumberjacksong.txt</file>
+ <file>lyrics/ultimate_providers.xml</file>
+ <file>mainwindow.css</file>
++ <file>moognu.png</file>
+ <file>nocover.png</file>
+ <file>nomusic.png</file>
+ <file>now_playing_tooltip.txt</file>
+- <file>nyancat.png</file>
+ <file>oauthsuccess.html</file>
+ <file>osd_background.png</file>
+ <file>osd_shadow_corner.png</file>
+@@ -391,7 +387,6 @@
+ <file>smartplaylistsearchterm.css</file>
+ <file>songinfo.css</file>
+ <file>spinner.gif</file>
+- <file>spotify-attribution.png</file>
+ <file>star-off.png</file>
+ <file>star-on.png</file>
+ <file>tiny-pause.png</file>
+diff --git a/dist/macdeploy.py b/dist/macdeploy.py
+index e054619..3568a6f 100755
+--- a/dist/macdeploy.py
++++ b/dist/macdeploy.py
+@@ -398,10 +398,7 @@ def main():
+ FixPlugin(FindGioModule('libgiolibproxy.so'), 'gio-modules')
+
+ try:
+- FixPlugin('clementine-spotifyblob', '.')
+ FixPlugin('clementine-tagreader', '.')
+- except:
+- print 'Failed to find blob: %s' % traceback.format_exc()
+
+ for plugin in QT_PLUGINS:
+ FixPlugin(FindQtPlugin(plugin), os.path.dirname(plugin))
+diff --git a/dist/windows/clementine.nsi b/dist/windows/clementine.nsi
+index 038a60b..1d29a9e 100644
+--- a/dist/windows/clementine.nsi
++++ b/dist/windows/clementine.nsi
+@@ -97,9 +97,6 @@ Section "Delete old files" oldfiles
+ Delete "$INSTDIR\gstreamer-plugins\libgstqueue2.dll"
+ Delete "$INSTDIR\gstreamer-plugins\libgstsoup.dll"
+
+- ; 1.0 prerelease
+- Delete "$INSTDIR\spotify.dll"
+-
+ ; 1.0
+ Delete "$INSTDIR\libofa.dll"
+ Delete "$INSTDIR\gstreamer-plugins\libgstofa.dll"
+@@ -128,7 +125,6 @@ Section "Clementine" Clementine
+ File "avutil-51.dll"
+ File "clementine.exe"
+ File "clementine-tagreader.exe"
+- File "clementine-spotifyblob.exe"
+ File "clementine.ico"
+ File "glew32.dll"
+ File "intl.dll"
+@@ -181,7 +177,6 @@ Section "Clementine" Clementine
+ File "libqjson.dll"
+ File "libsoup-2.4-1.dll"
+ File "libspeex-1.dll"
+- File "libspotify.dll"
+ File "libstdc++-6.dll"
+ File "libtag.dll"
+ File "libtasn1-3.dll"
+@@ -939,7 +934,6 @@ Section "Uninstall"
+ Delete "$INSTDIR\clementine.ico"
+ Delete "$INSTDIR\clementine.exe"
+ Delete "$INSTDIR\clementine-tagreader.exe"
+- Delete "$INSTDIR\clementine-spotifyblob.exe"
+ Delete "$INSTDIR\glew32.dll"
+ Delete "$INSTDIR\intl.dll"
+ Delete "$INSTDIR\libcdio-14.dll"
+@@ -992,7 +986,6 @@ Section "Uninstall"
+ Delete "$INSTDIR\libqjson.dll"
+ Delete "$INSTDIR\libsoup-2.4-1.dll"
+ Delete "$INSTDIR\libspeex-1.dll"
+- Delete "$INSTDIR\libspotify.dll"
+ Delete "$INSTDIR\libstdc++-6.dll"
+ Delete "$INSTDIR\libtag.dll"
+ Delete "$INSTDIR\libtasn1-3.dll"
+diff --git a/dist/windows/clementine.nsi.in b/dist/windows/clementine.nsi.in
+index 750b332..6bf47ff 100644
+--- a/dist/windows/clementine.nsi.in
++++ b/dist/windows/clementine.nsi.in
+@@ -97,9 +97,6 @@ Section "Delete old files" oldfiles
+ Delete "$INSTDIR\gstreamer-plugins\libgstqueue2.dll"
+ Delete "$INSTDIR\gstreamer-plugins\libgstsoup.dll"
+
+- ; 1.0 prerelease
+- Delete "$INSTDIR\spotify.dll"
+-
+ ; 1.0
+ Delete "$INSTDIR\libofa.dll"
+ Delete "$INSTDIR\gstreamer-plugins\libgstofa.dll"
+@@ -128,7 +125,6 @@ Section "Clementine" Clementine
+ File "avutil-51.dll"
+ File "clementine.exe"
+ File "clementine-tagreader.exe"
+- File "clementine-spotifyblob.exe"
+ File "clementine.ico"
+ File "glew32.dll"
+ File "intl.dll"
+@@ -181,7 +177,6 @@ Section "Clementine" Clementine
+ File "libqjson.dll"
+ File "libsoup-2.4-1.dll"
+ File "libspeex-1.dll"
+- File "libspotify.dll"
+ File "libstdc++-6.dll"
+ File "libtag.dll"
+ File "libtasn1-3.dll"
+@@ -939,7 +934,6 @@ Section "Uninstall"
+ Delete "$INSTDIR\clementine.ico"
+ Delete "$INSTDIR\clementine.exe"
+ Delete "$INSTDIR\clementine-tagreader.exe"
+- Delete "$INSTDIR\clementine-spotifyblob.exe"
+ Delete "$INSTDIR\glew32.dll"
+ Delete "$INSTDIR\intl.dll"
+ Delete "$INSTDIR\libcdio-14.dll"
+@@ -992,7 +986,6 @@ Section "Uninstall"
+ Delete "$INSTDIR\libqjson.dll"
+ Delete "$INSTDIR\libsoup-2.4-1.dll"
+ Delete "$INSTDIR\libspeex-1.dll"
+- Delete "$INSTDIR\libspotify.dll"
+ Delete "$INSTDIR\libstdc++-6.dll"
+ Delete "$INSTDIR\libtag.dll"
+ Delete "$INSTDIR\libtasn1-3.dll"
+diff --git a/ext/libclementine-common/core/logging.cpp b/ext/libclementine-common/core/logging.cpp
+index 3c53d7a..49dd8cf 100644
+--- a/ext/libclementine-common/core/logging.cpp
++++ b/ext/libclementine-common/core/logging.cpp
+@@ -14,10 +14,6 @@
+ limitations under the License.
+ */
+
+-// Note: this file is licensed under the Apache License instead of GPL because
+-// it is used by the Spotify blob which links against libspotify and is not GPL
+-// compatible.
+-
+ #include <QtGlobal>
+
+ #include <cxxabi.h>
+diff --git a/ext/libclementine-common/core/logging.h b/ext/libclementine-common/core/logging.h
+index 3c582cf..4a3cea8 100644
+--- a/ext/libclementine-common/core/logging.h
++++ b/ext/libclementine-common/core/logging.h
+@@ -14,11 +14,6 @@
+ limitations under the License.
+ */
+
+-// Note: this file is licensed under the Apache License instead of GPL because
+-// it is used by the Spotify blob which links against libspotify and is not GPL
+-// compatible.
+-
+-
+ #ifndef LOGGING_H
+ #define LOGGING_H
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1104542..e7a8032 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -60,8 +60,6 @@ include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-tagreader)
+ include_directories(${CMAKE_BINARY_DIR}/ext/libclementine-tagreader)
+ include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-remote)
+ include_directories(${CMAKE_BINARY_DIR}/ext/libclementine-remote)
+-include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-spotifyblob)
+-include_directories(${CMAKE_BINARY_DIR}/ext/libclementine-spotifyblob)
+
+ cmake_policy(SET CMP0011 NEW)
+ include(../cmake/ParseArguments.cmake)
+@@ -157,7 +155,6 @@ set(SOURCES
+ globalsearch/simplesearchprovider.cpp
+ globalsearch/somafmsearchprovider.cpp
+ globalsearch/soundcloudsearchprovider.cpp
+- globalsearch/spotifysearchprovider.cpp
+ globalsearch/suggestionwidget.cpp
+ globalsearch/urlsearchprovider.cpp
+
+@@ -195,9 +192,6 @@ set(SOURCES
+ internet/somafmservice.cpp
+ internet/somafmurlhandler.cpp
+ internet/soundcloudservice.cpp
+- internet/spotifyserver.cpp
+- internet/spotifyservice.cpp
+- internet/spotifysettingspage.cpp
+ internet/subsonicservice.cpp
+ internet/subsonicsettingspage.cpp
+ internet/subsonicurlhandler.cpp
+@@ -461,7 +455,6 @@ set(HEADERS
+ globalsearch/searchprovider.h
+ globalsearch/simplesearchprovider.h
+ globalsearch/soundcloudsearchprovider.h
+- globalsearch/spotifysearchprovider.h
+ globalsearch/suggestionwidget.h
+
+ internet/cloudfileservice.h
+@@ -494,9 +487,6 @@ set(HEADERS
+ internet/somafmservice.h
+ internet/somafmurlhandler.h
+ internet/soundcloudservice.h
+- internet/spotifyserver.h
+- internet/spotifyservice.h
+- internet/spotifysettingspage.h
+ internet/subsonicservice.h
+ internet/subsonicsettingspage.h
+ internet/subsonicurlhandler.h
+@@ -685,7 +675,6 @@ set(UI
+ internet/magnatunedownloaddialog.ui
+ internet/magnatunesettingspage.ui
+ internet/searchboxwidget.ui
+- internet/spotifysettingspage.ui
+ internet/subsonicsettingspage.ui
+
+ library/groupbydialog.ui
+@@ -836,15 +825,6 @@ optional_source(HAVE_LIBLASTFM
+ )
+
+
+-optional_source(HAVE_SPOTIFY_DOWNLOADER
+- SOURCES
+- internet/spotifyblobdownloader.cpp
+- HEADERS
+- internet/spotifyblobdownloader.h
+- INCLUDE_DIRECTORIES
+- ${QCA_INCLUDE_DIRS}
+-)
+-
+ # Platform specific - OS X
+ optional_source(APPLE
+ INCLUDE_DIRECTORIES
+@@ -1171,7 +1151,6 @@ add_dependencies(clementine_lib pot)
+
+
+ target_link_libraries(clementine_lib
+- clementine-spotifyblob-messages
+ libclementine-common
+ libclementine-tagreader
+ libclementine-remote
+@@ -1240,13 +1219,6 @@ if(HAVE_BREAKPAD)
+ endif (LINUX)
+ endif(HAVE_BREAKPAD)
+
+-if(HAVE_SPOTIFY_DOWNLOADER)
+- target_link_libraries(clementine_lib
+- ${QCA_LIBRARIES}
+- )
+- link_directories(${QCA_LIBRARY_DIRS})
+-endif(HAVE_SPOTIFY_DOWNLOADER)
+-
+ if (APPLE)
+ target_link_libraries(clementine_lib
+ ${GROWL}
+@@ -1328,16 +1300,6 @@ target_link_libraries(clementine
+ clementine_lib
+ )
+
+-# macdeploy.py relies on the blob being built first.
+-if(HAVE_SPOTIFY_BLOB)
+- add_dependencies(clementine clementine-spotifyblob)
+-endif(HAVE_SPOTIFY_BLOB)
+-add_dependencies(clementine clementine-tagreader)
+-
+-set_target_properties(clementine PROPERTIES
+- MACOSX_BUNDLE_INFO_PLIST "../dist/Info.plist"
+-)
+-
+ if (APPLE)
+ install(FILES ../dist/clementine.icns
+ DESTINATION "${CMAKE_BINARY_DIR}/clementine.app/Contents/Resources")
+diff --git a/src/analyzers/nyancatanalyzer.cpp b/src/analyzers/nyancatanalyzer.cpp
+index 39ea101..ab19341 100644
+--- a/src/analyzers/nyancatanalyzer.cpp
++++ b/src/analyzers/nyancatanalyzer.cpp
+@@ -23,13 +23,13 @@
+ #include <QTimerEvent>
+ #include <QBrush>
+
+-const char* NyanCatAnalyzer::kName = "Nyanalyzer cat";
++const char* NyanCatAnalyzer::kName = "MooGNU";
+ const float NyanCatAnalyzer::kPixelScale = 0.02f;
+
+
+ NyanCatAnalyzer::NyanCatAnalyzer(QWidget* parent)
+ : Analyzer::Base(parent, 9),
+- cat_(":/nyancat.png"),
++ cat_(":/moognu.png"),
+ timer_id_(startTimer(kFrameIntervalMs)),
+ frame_(0),
+ current_buffer_(0),
+diff --git a/src/config.h.in b/src/config.h.in
+index 6cac97e..90e4ee2 100644
+--- a/src/config.h.in
++++ b/src/config.h.in
+@@ -39,7 +39,6 @@
+ #cmakedefine HAVE_QCA
+ #cmakedefine HAVE_SKYDRIVE
+ #cmakedefine HAVE_SPARKLE
+-#cmakedefine HAVE_SPOTIFY_DOWNLOADER
+ #cmakedefine HAVE_STATIC_SQLITE
+ #cmakedefine HAVE_UBUNTU_ONE
+ #cmakedefine HAVE_WIIMOTEDEV
+diff --git a/src/core/backgroundstreams.cpp b/src/core/backgroundstreams.cpp
+index 347b959..b00cb87 100644
+--- a/src/core/backgroundstreams.cpp
++++ b/src/core/backgroundstreams.cpp
+@@ -9,7 +9,6 @@
+
+ const char* BackgroundStreams::kSettingsGroup = "BackgroundStreams";
+ const char* BackgroundStreams::kHypnotoadUrl = "hypnotoad:///";
+-const char* BackgroundStreams::kRainUrl = "http://data.clementine-player.org/rainymood";
+ const char* BackgroundStreams::kEnterpriseUrl = "enterprise:///";
+
+ BackgroundStreams::BackgroundStreams(EngineBase* engine, QObject* parent)
+@@ -28,7 +27,6 @@ void BackgroundStreams::LoadStreams() {
+ int version = s.value("version", 0).toInt();
+ if (version < 1) {
+ AddStream(QT_TR_NOOP("Hypnotoad"), QUrl(kHypnotoadUrl));
+- AddStream(QT_TR_NOOP("Rain"), QUrl(kRainUrl));
+ }
+
+ if (version < kVersion) {
+diff --git a/src/core/timeconstants.h b/src/core/timeconstants.h
+index 96242d6..69196bd 100644
+--- a/src/core/timeconstants.h
++++ b/src/core/timeconstants.h
+@@ -14,10 +14,6 @@
+ limitations under the License.
+ */
+
+-// Note: this file is licensed under the Apache License instead of GPL because
+-// it is used by the Spotify blob which links against libspotify and is not GPL
+-// compatible.
+-
+ #ifndef TIMECONSTANTS_H
+ #define TIMECONSTANTS_H
+
+diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp
+index 3fdc6be..e6a109f 100644
+--- a/src/core/utilities.cpp
++++ b/src/core/utilities.cpp
+@@ -340,9 +340,6 @@ QString GetConfigPath(ConfigPath config) {
+ return QDir::homePath();
+ #endif
+
+- case Path_LocalSpotifyBlob:
+- return GetConfigPath(Path_Root) + "/spotifyblob";
+-
+ default:
+ qFatal("%s", Q_FUNC_INFO);
+ return QString::null;
+diff --git a/src/core/utilities.h b/src/core/utilities.h
+index edaa545..ad2138c 100644
+--- a/src/core/utilities.h
++++ b/src/core/utilities.h
+@@ -111,7 +111,6 @@ namespace Utilities {
+ Path_NetworkCache,
+ Path_GstreamerRegistry,
+ Path_DefaultMusicLibrary,
+- Path_LocalSpotifyBlob,
+ Path_MoodbarCache,
+ Path_CacheRoot,
+ };
+diff --git a/src/covers/albumcoverloader.cpp b/src/covers/albumcoverloader.cpp
+index a4c4241..39dd101 100644
+--- a/src/covers/albumcoverloader.cpp
++++ b/src/covers/albumcoverloader.cpp
+@@ -30,7 +30,6 @@
+ #include "core/tagreaderclient.h"
+ #include "core/utilities.h"
+ #include "internet/internetmodel.h"
+-#include "internet/spotifyservice.h"
+
+
+
+@@ -38,8 +37,7 @@ AlbumCoverLoader::AlbumCoverLoader(QObject* parent)
+ : QObject(parent),
+ stop_requested_(false),
+ next_id_(1),
+- network_(new NetworkAccessManager(this)),
+- connected_spotify_(false)
++ network_(new NetworkAccessManager(this))
+ {
+ }
+
+@@ -169,26 +167,6 @@ AlbumCoverLoader::TryLoadResult AlbumCoverLoader::TryLoadImage(
+
+ remote_tasks_.insert(reply, task);
+ return TryLoadResult(true, false, QImage());
+- } else if (filename.toLower().startsWith("spotify://image/")) {
+- // HACK: we should add generic image URL handlers
+- SpotifyService* spotify = InternetModel::Service<SpotifyService>();
+-
+- if (!connected_spotify_) {
+- connect(spotify, SIGNAL(ImageLoaded(QString,QImage)),
+- SLOT(SpotifyImageLoaded(QString,QImage)));
+- connected_spotify_ = true;
+- }
+-
+- QString id = QUrl(filename).path();
+- if (id.startsWith('/')) {
+- id.remove(0, 1);
+- }
+- remote_spotify_tasks_.insert(id, task);
+-
+- // Need to schedule this in the spotify service's thread
+- QMetaObject::invokeMethod(spotify, "LoadImage", Qt::QueuedConnection,
+- Q_ARG(QString, id));
+- return TryLoadResult(true, false, QImage());
+ }
+
+ QImage image(filename);
+@@ -196,16 +174,6 @@ AlbumCoverLoader::TryLoadResult AlbumCoverLoader::TryLoadImage(
+ image.isNull() ? task.options.default_output_image_: image);
+ }
+
+-void AlbumCoverLoader::SpotifyImageLoaded(const QString& id, const QImage& image) {
+- if (!remote_spotify_tasks_.contains(id))
+- return;
+-
+- Task task = remote_spotify_tasks_.take(id);
+- QImage scaled = ScaleAndPad(task.options, image);
+- emit ImageLoaded(task.id, scaled);
+- emit ImageLoaded(task.id, scaled, image);
+-}
+-
+ void AlbumCoverLoader::RemoteFetchFinished(QNetworkReply* reply) {
+ reply->deleteLater();
+
+diff --git a/src/covers/albumcoverloader.h b/src/covers/albumcoverloader.h
+index 987be66..5214e14 100644
+--- a/src/covers/albumcoverloader.h
++++ b/src/covers/albumcoverloader.h
+@@ -62,7 +62,6 @@ class AlbumCoverLoader : public QObject {
+ protected slots:
+ void ProcessTasks();
+ void RemoteFetchFinished(QNetworkReply* reply);
+- void SpotifyImageLoaded(const QString& url, const QImage& image);
+
+ protected:
+ enum State {
+@@ -102,13 +101,10 @@ class AlbumCoverLoader : public QObject {
+ QMutex mutex_;
+ QQueue<Task> tasks_;
+ QMap<QNetworkReply*, Task> remote_tasks_;
+- QMap<QString, Task> remote_spotify_tasks_;
+ quint64 next_id_;
+
+ NetworkAccessManager* network_;
+
+- bool connected_spotify_;
+-
+ static const int kMaxRedirects = 3;
+ };
+
+diff --git a/src/engines/gstenginepipeline.cpp b/src/engines/gstenginepipeline.cpp
+index 94f77a3..37c1cdf 100644
+--- a/src/engines/gstenginepipeline.cpp
++++ b/src/engines/gstenginepipeline.cpp
+@@ -29,8 +29,6 @@
+ #include "core/signalchecker.h"
+ #include "core/utilities.h"
+ #include "internet/internetmodel.h"
+-#include "internet/spotifyserver.h"
+-#include "internet/spotifyservice.h"
+
+
+ const int GstEnginePipeline::kGstStateTimeoutNanosecs = 10000000;
+@@ -141,37 +139,11 @@ bool GstEnginePipeline::ReplaceDecodeBin(GstElement* new_bin) {
+ bool GstEnginePipeline::ReplaceDecodeBin(const QUrl& url) {
+ GstElement* new_bin = NULL;
+
+- if (url.scheme() == "spotify") {
+- new_bin = gst_bin_new("spotify_bin");
+-
+- // Create elements
+- GstElement* src = engine_->CreateElement("tcpserversrc", new_bin);
+- GstElement* gdp = engine_->CreateElement("gdpdepay", new_bin);
+- if (!src || !gdp)
+- return false;
+-
+- // Pick a port number
+- const int port = Utilities::PickUnusedPort();
+- g_object_set(G_OBJECT(src), "host", "127.0.0.1", NULL);
+- g_object_set(G_OBJECT(src), "port", port, NULL);
+-
+- // Link the elements
+- gst_element_link(src, gdp);
+-
+- // Add a ghost pad
+- GstPad* pad = gst_element_get_static_pad(gdp, "src");
+- gst_element_add_pad(GST_ELEMENT(new_bin), gst_ghost_pad_new("src", pad));
+- gst_object_unref(GST_OBJECT(pad));
+-
+- // Tell spotify to start sending data to us.
+- InternetModel::Service<SpotifyService>()->server()->StartPlaybackLater(url.toString(), port);
+- } else {
+ new_bin = engine_->CreateElement("uridecodebin");
+ g_object_set(G_OBJECT(new_bin), "uri", url.toEncoded().constData(), NULL);
+ CHECKED_GCONNECT(G_OBJECT(new_bin), "drained", &SourceDrainedCallback, this);
+ CHECKED_GCONNECT(G_OBJECT(new_bin), "pad-added", &NewPadCallback, this);
+ CHECKED_GCONNECT(G_OBJECT(new_bin), "notify::source", &SourceSetupCallback, this);
+- }
+
+ return ReplaceDecodeBin(new_bin);
+ }
+diff --git a/src/internet/internetmodel.cpp b/src/internet/internetmodel.cpp
+index 289f591..ac9e3e0 100644
+--- a/src/internet/internetmodel.cpp
++++ b/src/internet/internetmodel.cpp
+@@ -30,7 +30,6 @@
+ #include "savedradio.h"
+ #include "somafmservice.h"
+ #include "soundcloudservice.h"
+-#include "spotifyservice.h"
+ #include "subsonicservice.h"
+ #include "core/closure.h"
+ #include "core/logging.h"
+@@ -94,7 +93,6 @@ InternetModel::InternetModel(Application* app, QObject* parent)
+ AddService(new SkyFmService(app, this));
+ AddService(new SomaFMService(app, this));
+ AddService(new SoundCloudService(app, this));
+- AddService(new SpotifyService(app, this));
+ AddService(new SubsonicService(app, this));
+ #ifdef HAVE_UBUNTU_ONE
+ AddService(new UbuntuOneService(app, this));
+diff --git a/src/ui/about.cpp b/src/ui/about.cpp
+index 53e42bd..49e7714 100644
+--- a/src/ui/about.cpp
++++ b/src/ui/about.cpp
+@@ -76,14 +76,9 @@ QString About::MakeHtml() const {
+
+ ret += QString("<br />%1</p>").arg(tr("...and all the Amarok contributors"));
+ ret += QString("<p><b>%1</b>").arg(tr("And:"));
+- ret += QString("<br /><a href=\"http://rainymood.com\">Rainy Mood</a>");
+ ret += QString("<br /><a href=\"http://www.smitelli.com/?page=blog&p=54\">Scott Smitelli</a>");
+ ret += QString("<br /><a href=\"http://hyperboleandahalf.blogspot.com\">Allie Brosh</a></p>");
+
+- ret += "<p>This product uses Music by Spotify but is not endorsed, certified "
+- "or otherwise approved in any way by Spotify. Spotify is the registered "
+- "trade mark of the Spotify Group.</p>";
+-
+ return ret;
+ }
+
+diff --git a/src/ui/settingsdialog.cpp b/src/ui/settingsdialog.cpp
+index dc0d84f..4a9335d 100644
+--- a/src/ui/settingsdialog.cpp
++++ b/src/ui/settingsdialog.cpp
+@@ -38,7 +38,6 @@
+ #include "internet/digitallyimportedsettingspage.h"
+ #include "internet/groovesharksettingspage.h"
+ #include "internet/magnatunesettingspage.h"
+-#include "internet/spotifysettingspage.h"
+ #include "internet/subsonicsettingspage.h"
+ #include "internet/ubuntuonesettingspage.h"
+ #include "library/librarysettingspage.h"
+@@ -174,7 +173,6 @@ SettingsDialog::SettingsDialog(Application* app, BackgroundStreams* streams, QWi
+ AddPage(Page_Box, new BoxSettingsPage(this), providers);
+ #endif
+
+- AddPage(Page_Spotify, new SpotifySettingsPage(this), providers);
+ AddPage(Page_Magnatune, new MagnatuneSettingsPage(this), providers);
+ AddPage(Page_DigitallyImported, new DigitallyImportedSettingsPage(this), providers);
+ AddPage(Page_BackgroundStreams, new BackgroundStreamsSettingsPage(this), providers);
+diff --git a/src/ui/settingsdialog.h b/src/ui/settingsdialog.h
+index e9e709a..5485a37 100644
+--- a/src/ui/settingsdialog.h
++++ b/src/ui/settingsdialog.h
+@@ -69,7 +69,6 @@ public:
+ Page_Library,
+ Page_Lastfm,
+ Page_Grooveshark,
+- Page_Spotify,
+ Page_Magnatune,
+ Page_DigitallyImported,
+ Page_BackgroundStreams,
diff --git a/libre/crosstool-ng/PKGBUILD b/libre/crosstool-ng/PKGBUILD
new file mode 100644
index 000000000..aba7152a0
--- /dev/null
+++ b/libre/crosstool-ng/PKGBUILD
@@ -0,0 +1,33 @@
+# Contributor: jwwolf <jwwolf+arch@gmail.com>
+# Maintainer (Parabola): fauno <fauno@kiwwwi.com.ar>
+# Contributor (Parabola): Márcio Silva <coadde@lavabit.com>
+
+pkgname=crosstool-ng
+pkgver=1.19.0
+pkgrel=1
+pkgdesc="A versatile cross toolchain generator (eglibc addons patch)"
+arch=('i686' 'x86_64')
+url="http://crosstool-ng.org/"
+license=(GPL2)
+depends=('cvs' 'curl' 'gperf' 'wget')
+makedepends=('libtool')
+optdepends=('subversion: for retrieving eglibc sources')
+source=(http://crosstool-ng.org/download/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
+ #libc_ports_short_name.patch)
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ #patch -Np1 -i $srcdir/libc_ports_short_name.patch
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+
+ install -Dm644 ct-ng.comp ${pkgdir}/usr/share/bash-completion/completions/ct-ng
+}
+sha1sums=('b7ae3e90756b499ff5362064b7d80f8a45d09bfb')
+sha256sums=('cd54f20bb8190533b21c9cf7f93c9073c22d59541f52774c3f3053264ba53a93')
diff --git a/libre/crosstool-ng/libc_ports_short_name.patch b/libre/crosstool-ng/libc_ports_short_name.patch
new file mode 100644
index 000000000..b511fa183
--- /dev/null
+++ b/libre/crosstool-ng/libc_ports_short_name.patch
@@ -0,0 +1,102 @@
+comparing with http://ymorin.is-a-geek.org/hg/crosstool-ng
+real URL is http://crosstool-ng.org/hg/crosstool-ng
+searching for changes
+changeset: 2482:a15a7b4ba12a
+tag: libc_ports_short_name
+tag: qbase
+tag: qtip
+tag: tip
+user: "Nicolás Reynolds" <fauno@kiwwwi.com.ar>
+date: Fri May 27 22:02:30 2011 -0300
+files: scripts/build/libc/eglibc.sh scripts/build/libc/glibc.sh
+description:
+Fixes the issue with {e,}libc addons having short and long names (such as
+eglibc-ports-2_13 and ports), which caused configure scripts to run
+through them twice and thus configuring incorrectly.
+
+For instance, the mips64el-n32-linux-gnu toolchain would be recognized
+correctly first, but then the second pass would change it to mips32,
+building a mixed MIPS-III N32 and MIPS-I libc.
+
+
+diff -r 30644208c955 -r a15a7b4ba12a scripts/build/libc/eglibc.sh
+--- a/scripts/build/libc/eglibc.sh Thu May 26 22:51:03 2011 +0200
++++ b/scripts/build/libc/eglibc.sh Fri May 27 22:02:30 2011 -0300
+@@ -103,25 +103,36 @@
+ CT_Extract "eglibc-${CT_LIBC_VERSION}"
+ CT_Patch "eglibc" "${CT_LIBC_VERSION}"
+
+- # C library addons
++ # C library addons
+ for addon in $(do_libc_add_ons_list " "); do
+ # NPTL addon is not to be extracted, in any case
+ [ "${addon}" = "nptl" ] && continue || true
+ CT_Pushd "${CT_SRC_DIR}/eglibc-${CT_LIBC_VERSION}"
+ CT_Extract nochdir "eglibc-${addon}-${CT_LIBC_VERSION}"
++
++ CT_TestAndAbort "Error in add-on '${addon}': both short and long names in tarball" \
++ -d "${addon}" -a -d "eglibc-${addon}-${CT_LIBC_VERSION}"
++
+ # Some addons have the 'long' name, while others have the
+ # 'short' name, but patches are non-uniformly built with
+ # either the 'long' or 'short' name, whatever the addons name
+- # so we have to make symlinks from the existing to the missing
+- # Fortunately for us, [ -d foo ], when foo is a symlink to a
+- # directory, returns true!
+- [ -d "${addon}" ] || ln -s "eglibc-${addon}-${CT_LIBC_VERSION}" "${addon}"
+- [ -d "eglibc-${addon}-${CT_LIBC_VERSION}" ] || ln -s "${addon}" "eglibc-${addon}-${CT_LIBC_VERSION}"
++ # but we prefer the 'short' name and avoid duplicates.
++ if [ -d "eglibc-${addon}-${CT_LIBC_VERSION}" ]; then
++ mv "eglibc-${addon}-${CT_LIBC_VERSION}" "${addon}"
++ fi
++
++ ln -s "${addon}" "eglibc-${addon}-${CT_LIBC_VERSION}"
++
+ CT_Patch nochdir "eglibc" "${addon}-${CT_LIBC_VERSION}"
++
++ # Remove the long name since it can confuse configure scripts to run
++ # the same source twice.
++ rm "eglibc-${addon}-${CT_LIBC_VERSION}"
++
+ CT_Popd
+ done
+
+- # The configure files may be older than the configure.in files
++ # The configure files may be older than the configure.in files
+ # if using a snapshot (or even some tarballs). Fake them being
+ # up to date.
+ find "${CT_SRC_DIR}/eglibc-${CT_LIBC_VERSION}" -type f -name configure -exec touch {} \; 2>&1 |CT_DoLog ALL
+diff -r 30644208c955 -r a15a7b4ba12a scripts/build/libc/glibc.sh
+--- a/scripts/build/libc/glibc.sh Thu May 26 22:51:03 2011 +0200
++++ b/scripts/build/libc/glibc.sh Fri May 27 22:02:30 2011 -0300
+@@ -54,15 +54,24 @@
+ [ "${addon}" = "nptl" ] && continue || true
+ CT_Extract nochdir "glibc-${addon}-${CT_LIBC_VERSION}"
+
++ CT_TestAndAbort "Error in add-on '${addon}': both short and long names in tarball" \
++ -d "${addon}" -a -d "glibc-${addon}-${CT_LIBC_VERSION}"
++
+ # Some addons have the 'long' name, while others have the
+ # 'short' name, but patches are non-uniformly built with
+ # either the 'long' or 'short' name, whatever the addons name
+- # so we have to make symlinks from the existing to the missing
+- # Fortunately for us, [ -d foo ], when foo is a symlink to a
+- # directory, returns true!
+- [ -d "${addon}" ] || CT_DoExecLog ALL ln -s "glibc-${addon}-${CT_LIBC_VERSION}" "${addon}"
+- [ -d "glibc-${addon}-${CT_LIBC_VERSION}" ] || CT_DoExecLog ALL ln -s "${addon}" "glibc-${addon}-${CT_LIBC_VERSION}"
++ # but we prefer the 'short' name and avoid duplicates.
++ if [ -d "glibc-${addon}-${CT_LIBC_VERSION}" ]; then
++ mv "glibc-${addon}-${CT_LIBC_VERSION}" "${addon}"
++ fi
++
++ ln -s "${addon}" "glibc-${addon}-${CT_LIBC_VERSION}"
++
+ CT_Patch nochdir "glibc" "${addon}-${CT_LIBC_VERSION}"
++
++ # Remove the long name since it can confuse configure scripts to run
++ # the same source twice.
++ rm "glibc-${addon}-${CT_LIBC_VERSION}"
+ done
+
+ # The configure files may be older than the configure.in files
+
diff --git a/libre/cups-filters-libre/PKGBUILD b/libre/cups-filters-libre/PKGBUILD
index 68307b873..d581427e3 100644
--- a/libre/cups-filters-libre/PKGBUILD
+++ b/libre/cups-filters-libre/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 204369 2014-01-18 10:14:32Z andyrtr $
+# $Id: PKGBUILD 206026 2014-02-15 17:21:35Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=cups-filters-libre
_pkgname=cups-filters
-pkgver=1.0.44
-pkgrel=2
+pkgver=1.0.45
+pkgrel=1
pkgdesc="OpenPrinting CUPS Filters, without foomatic-db-nonfree recommendation"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.linuxfoundation.org/collaborate/workgroups/openprinting"
@@ -20,7 +20,7 @@ source=(http://www.openprinting.org/download/cups-filters/$_pkgname-$pkgver.tar.
provides=("${_pkgname}=${pkgver}" 'foomatic-filters')
replaces=("${_pkgname}" 'foomatic-filters')
conflicts=("${_pkgname}" 'foomatic-filters')
-md5sums=('41d853788cf8e176f952136549488d34')
+md5sums=('950c72b6fb7983f9a9fc126042e146c9')
build() {
cd $_pkgname-$pkgver
diff --git a/libre/cups-filters-libre/cups-browsed.service b/libre/cups-filters-libre/cups-browsed.service
new file mode 100644
index 000000000..07b342d62
--- /dev/null
+++ b/libre/cups-filters-libre/cups-browsed.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Make remote CUPS printers available locally
+After=cups.service avahi-daemon.service
+Wants=cups.service avahi-daemon.service
+
+[Service]
+ExecStart=/usr/bin/cups-browsed
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/cups-filters-libre/poppler_buildfix.diff b/libre/cups-filters-libre/poppler_buildfix.diff
new file mode 100644
index 000000000..18fc643f9
--- /dev/null
+++ b/libre/cups-filters-libre/poppler_buildfix.diff
@@ -0,0 +1,276 @@
+=== modified file 'filter/pdf.cxx'
+--- filter/pdf.cxx 2012-08-19 22:31:27 +0000
++++ filter/pdf.cxx 2013-08-01 15:48:06 +0000
+@@ -17,6 +17,10 @@
+ #include "pdf.h"
+
+ #include <PDFDoc.h>
++#include <config.h>
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+
+
+ extern "C" pdf_t * pdf_load_template(const char *filename)
+@@ -343,7 +347,11 @@
+ {
+ }
+
++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23
++ Goffset getPos()
++#else
+ int getPos()
++#endif
+ {
+ return this->pos;
+ }
+
+=== modified file 'filter/pdftoijs.cxx'
+--- filter/pdftoijs.cxx 2012-09-20 22:53:10 +0000
++++ filter/pdftoijs.cxx 2013-08-01 15:48:06 +0000
+@@ -70,8 +70,13 @@
+ }
+
+ #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19
++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23
++void CDECL myErrorFun(void *data, ErrorCategory category,
++ Goffset pos, char *msg)
++#else
+ void CDECL myErrorFun(void *data, ErrorCategory category,
+ int pos, char *msg)
++#endif
+ {
+ if (pos >= 0) {
+ fprintf(stderr, "ERROR (%d): ", pos);
+@@ -297,19 +302,15 @@
+ if (argc == 6) {
+ /* stdin */
+ int fd;
+- Object obj;
+- BaseStream *str;
+- FILE *fp;
++ char name[BUFSIZ];
+ char buf[BUFSIZ];
+ int n;
+
+- fd = cupsTempFd(buf,sizeof(buf));
++ fd = cupsTempFd(name,sizeof(name));
+ if (fd < 0) {
+ pdfError(-1,"Can't create temporary file");
+ exit(1);
+ }
+- /* remove name */
+- unlink(buf);
+
+ /* copy stdin to the tmp file */
+ while ((n = read(0,buf,BUFSIZ)) > 0) {
+@@ -319,23 +320,10 @@
+ exit(1);
+ }
+ }
+- if (lseek(fd,0,SEEK_SET) < 0) {
+- pdfError(-1,"Can't rewind temporary file");
+- close(fd);
+- exit(1);
+- }
+-
+- if ((fp = fdopen(fd,"rb")) == 0) {
+- pdfError(-1,"Can't fdopen temporary file");
+- close(fd);
+- exit(1);
+- }
+-
+- obj.initNull();
+-// parsePDFTOPDFComment(fp); // TODO?
+- rewind(fp);
+- str = new FileStream(fp,0,gFalse,0,&obj);
+- doc = new PDFDoc(str);
++ close(fd);
++ doc = new PDFDoc(new GooString(name));
++ /* remove name */
++ unlink(name);
+ } else {
+ GooString *fileName = new GooString(argv[6]);
+ /* argc == 7 filenmae is specified */
+
+=== modified file 'filter/pdftoopvp/pdftoopvp.cxx'
+--- filter/pdftoopvp/pdftoopvp.cxx 2012-07-20 08:32:55 +0000
++++ filter/pdftoopvp/pdftoopvp.cxx 2013-08-01 15:48:06 +0000
+@@ -112,8 +112,13 @@
+ #define MAX_OPVP_OPTIONS 20
+
+ #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19
++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23
++void CDECL myErrorFun(void *data, ErrorCategory category,
++ Goffset pos, char *msg)
++#else
+ void CDECL myErrorFun(void *data, ErrorCategory category,
+ int pos, char *msg)
++#endif
+ {
+ if (pos >= 0) {
+ fprintf(stderr, "ERROR (%d): ", pos);
+@@ -619,9 +624,6 @@
+ char *s;
+ GooString name;
+ int fd;
+- Object obj;
+- BaseStream *str;
+- FILE *fp;
+ char buf[4096];
+ int n;
+
+@@ -633,8 +635,6 @@
+ }
+ name.append("/XXXXXX");
+ fd = mkstemp(name.getCString());
+- /* remove name */
+- unlink(name.getCString());
+ if (fd < 0) {
+ opvpError(-1,"Can't create temporary file");
+ exitCode = 2;
+@@ -675,23 +675,10 @@
+ goto err0;
+ }
+ }
+- if (lseek(fd,0,SEEK_SET) < 0) {
+- opvpError(-1,"Can't rewind temporary file");
+- close(fd);
+- exitCode = 2;
+- goto err0;
+- }
+-
+- if ((fp = fdopen(fd,"rb")) == 0) {
+- opvpError(-1,"Can't fdopen temporary file");
+- close(fd);
+- exitCode = 2;
+- goto err0;
+- }
+-
+- obj.initNull();
+- str = new FileStream(fp,0,gFalse,0,&obj);
+- doc = new PDFDoc(str);
++ close(fd);
++ doc = new PDFDoc(&name);
++ /* remove name */
++ unlink(name.getCString());
+ } else {
+ /* no jcl check */
+ doc = new PDFDoc(fileName.copy());
+
+=== modified file 'filter/pdftoraster.cxx'
+--- filter/pdftoraster.cxx 2013-07-30 17:00:43 +0000
++++ filter/pdftoraster.cxx 2013-08-01 15:48:06 +0000
+@@ -186,8 +186,13 @@
+ }
+
+ #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19
++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23
++void CDECL myErrorFun(void *data, ErrorCategory category,
++ Goffset pos, char *msg)
++#else
+ void CDECL myErrorFun(void *data, ErrorCategory category,
+ int pos, char *msg)
++#endif
+ {
+ if (pos >= 0) {
+ fprintf(stderr, "ERROR (%d): ", pos);
+@@ -1776,19 +1781,15 @@
+ if (argc == 6) {
+ /* stdin */
+ int fd;
+- Object obj;
+- BaseStream *str;
+- FILE *fp;
++ char name[BUFSIZ];
+ char buf[BUFSIZ];
+ int n;
+
+- fd = cupsTempFd(buf,sizeof(buf));
++ fd = cupsTempFd(name,sizeof(name));
+ if (fd < 0) {
+ pdfError(-1,const_cast<char *>("Can't create temporary file"));
+ exit(1);
+ }
+- /* remove name */
+- unlink(buf);
+
+ /* copy stdin to the tmp file */
+ while ((n = read(0,buf,BUFSIZ)) > 0) {
+@@ -1798,23 +1799,10 @@
+ exit(1);
+ }
+ }
+- if (lseek(fd,0,SEEK_SET) < 0) {
+- pdfError(-1,const_cast<char *>("Can't rewind temporary file"));
+- close(fd);
+- exit(1);
+- }
+-
+- if ((fp = fdopen(fd,"rb")) == 0) {
+- pdfError(-1,const_cast<char *>("Can't fdopen temporary file"));
+- close(fd);
+- exit(1);
+- }
+-
+- obj.initNull();
+- parsePDFTOPDFComment(fp);
+- rewind(fp);
+- str = new FileStream(fp,0,gFalse,0,&obj);
+- doc = new PDFDoc(str);
++ close(fd);
++ doc = new PDFDoc(new GooString(name));
++ /* remove name */
++ unlink(name);
+ } else {
+ GooString *fileName = new GooString(argv[6]);
+ /* argc == 7 filenmae is specified */
+
+=== modified file 'filter/pdftoijs.cxx'
+--- filter/pdftoijs.cxx 2013-08-01 15:48:06 +0000
++++ filter/pdftoijs.cxx 2013-08-02 13:52:04 +0000
+@@ -79,7 +79,11 @@
+ #endif
+ {
+ if (pos >= 0) {
++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23
++ fprintf(stderr, "ERROR (%lld): ", pos);
++#else
+ fprintf(stderr, "ERROR (%d): ", pos);
++#endif
+ } else {
+ fprintf(stderr, "ERROR: ");
+ }
+
+=== modified file 'filter/pdftoraster.cxx'
+--- filter/pdftoraster.cxx 2013-08-02 11:13:38 +0000
++++ filter/pdftoraster.cxx 2013-08-02 13:52:04 +0000
+@@ -199,7 +199,11 @@
+ #endif
+ {
+ if (pos >= 0) {
++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23
++ fprintf(stderr, "ERROR (%lld): ", pos);
++#else
+ fprintf(stderr, "ERROR (%d): ", pos);
++#endif
+ } else {
+ fprintf(stderr, "ERROR: ");
+ }
+
+=== modified file 'filter/pdftoopvp/pdftoopvp.cxx'
+--- filter/pdftoopvp/pdftoopvp.cxx 2013-08-01 15:48:06 +0000
++++ filter/pdftoopvp/pdftoopvp.cxx 2013-08-02 14:46:20 +0000
+@@ -121,7 +121,11 @@
+ #endif
+ {
+ if (pos >= 0) {
++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 23
++ fprintf(stderr, "ERROR (%lld): ", pos);
++#else
+ fprintf(stderr, "ERROR (%d): ", pos);
++#endif
+ } else {
+ fprintf(stderr, "ERROR: ");
+ }
+
diff --git a/libre/distcc-nozeroconf/PKGBUILD b/libre/distcc-nozeroconf/PKGBUILD
new file mode 100644
index 000000000..d58c7a801
--- /dev/null
+++ b/libre/distcc-nozeroconf/PKGBUILD
@@ -0,0 +1,60 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# $Id: PKGBUILD 94163 2013-07-15 11:02:50Z spupykin $
+# Maintainer (Arch): Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer (Arch): Judd Vinet <jvinet@zeroflux.org>
+# Contributor (Arch): Giovanni Scafora <giovanni@archlinux.org>
+
+_pkgname=distcc
+pkgname=distcc-nozeroconf
+pkgver=3.1
+provides=("$_pkgname=$pkgver")
+conflicts=("$_pkgname")
+pkgrel=12
+pkgdesc="A distributed C, C++, Obj C compiler (without zeroconf support)"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/distcc/"
+license=('GPL')
+depends=('gcc' 'popt')
+makedepends=('gtk2' 'pkgconfig' 'python2')
+optdepends=('gtk2: for distccmon-gnome'
+ 'python2')
+backup=('etc/conf.d/distccd'
+ 'etc/distcc/hosts')
+source=(http://distcc.googlecode.com/files/${_pkgname}-${pkgver}.tar.bz2
+ distccd.conf.d
+ distccd.service)
+md5sums=('a1a9d3853df7133669fffec2a9aab9f3'
+ '239aae53250e3e35288cba566bc0bbf1'
+ '09f0688da9c1840e518d2593bd5c3830')
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ [ -f Makefile ] || PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
+ --with-gtk \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --without-avahi
+
+ make WERROR_CFLAGS= INCLUDESERVER_PYTHON=/usr/bin/python2
+}
+
+check() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+# make TEST_PYTHON=/usr/bin/python2 check
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}/" INCLUDESERVER_PYTHON=/usr/bin/python2 install
+ install -D -m644 ${srcdir}/distccd.conf.d ${pkgdir}/etc/conf.d/distccd
+
+ install -d ${pkgdir}/usr/lib/${_pkgname}/bin
+ ln -sf /usr/bin/${_pkgname} ${pkgdir}/usr/lib/${_pkgname}/bin/cc
+ ln -sf /usr/bin/${_pkgname} ${pkgdir}/usr/lib/${_pkgname}/bin/gcc
+ ln -sf /usr/bin/${_pkgname} ${pkgdir}/usr/lib/${_pkgname}/bin/g++
+ ln -sf /usr/bin/${_pkgname} ${pkgdir}/usr/lib/${_pkgname}/bin/c++
+ ln -sf /usr/bin/${_pkgname} ${pkgdir}/usr/lib/${_pkgname}/bin/cpp
+
+ install -Dm0644 $srcdir/distccd.service $pkgdir/usr/lib/systemd/system/distccd.service
+}
diff --git a/libre/distcc-nozeroconf/distccd.conf.d b/libre/distcc-nozeroconf/distccd.conf.d
new file mode 100644
index 000000000..2fe7a4cc6
--- /dev/null
+++ b/libre/distcc-nozeroconf/distccd.conf.d
@@ -0,0 +1,7 @@
+#
+# Parameters to be passed to distccd
+#
+# You must explicitly add IPs (or subnets) that are allowed to connect,
+# using the --allow switch. See the distccd manpage for more info.
+#
+DISTCC_ARGS="--allow 127.0.0.1"
diff --git a/libre/distcc-nozeroconf/distccd.service b/libre/distcc-nozeroconf/distccd.service
new file mode 100644
index 000000000..0b72fecc3
--- /dev/null
+++ b/libre/distcc-nozeroconf/distccd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=A distributed C/C++ compiler
+Documentation=man:distccd(1)
+After=network.target
+
+[Service]
+User=nobody
+EnvironmentFile=/etc/conf.d/distccd
+ExecStart=/usr/bin/distccd --no-detach --daemon $DISTCC_ARGS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/doublecmd-libre/PKGBUILD b/libre/doublecmd-libre/PKGBUILD
new file mode 100644
index 000000000..797bbdfc2
--- /dev/null
+++ b/libre/doublecmd-libre/PKGBUILD
@@ -0,0 +1,79 @@
+# vim:set ft=sh:
+# $Id: PKGBUILD 103163 2013-12-28 11:01:37Z idevolder $
+# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>
+# Contributor: (sirocco AT ngs.ru)
+
+_pkgbase=doublecmd
+pkgbase=doublecmd-libre
+pkgname=('doublecmd-libre-gtk2' 'doublecmd-libre-qt')
+pkgver=0.5.8
+_helpver=0.5.5
+pkgrel=1.1
+url="http://doublecmd.sourceforge.net/"
+arch=('i686' 'x86_64')
+license=('GPL')
+install="$_pkgbase.install"
+provides=("$_pkgbase")
+makedepends=('lazarus' 'qt4pas' 'gtk2')
+optdepends=(
+ 'lua51: scripting'
+ 'p7zip: support for 7zip archives'
+ 'unar: support for rar archives'
+)
+source=(
+ "http://downloads.sourceforge.net/project/$_pkgbase/Double%20Commander%20Source/$_pkgbase-$pkgver-src.tar.gz"
+ "http://downloads.sourceforge.net/project/$_pkgbase/Double%20Commander%20Source/$_pkgbase-help-$_helpver-src.tar.gz"
+)
+
+build() {
+ cp -a $_pkgbase-$pkgver $_pkgbase-gtk
+ cp -a $_pkgbase-$pkgver $_pkgbase-qt
+
+ cd "$srcdir/$_pkgbase-gtk"
+ if [ "$CARCH" = "i686" ]; then
+ sed -e '/fPIC/d' -i "$srcdir/$_pkgbase-gtk/components/doublecmd/doublecmd_common.lpk"
+ fi
+ sed -e 's/\(export\ lazbuild=\).*/\1"$(which\ lazbuild) --lazarusdir=\/usr\/lib\/lazarus"/' -i build.sh
+ ./build.sh beta gtk2
+
+ cd "$srcdir/$_pkgbase-qt"
+ # dont use fPIC on i686
+ if [ "$CARCH" = "i686" ]; then
+ sed -e '/fPIC/d' -i "$srcdir/$_pkgbase-qt/components/doublecmd/doublecmd_common.lpk"
+ fi
+ sed -e 's/\(export\ lazbuild=\).*/\1"$(which\ lazbuild) --lazarusdir=\/usr\/lib\/lazarus"/' -i build.sh
+ ./build.sh beta qt
+}
+
+package_doublecmd-libre-gtk2() {
+ pkgdesc="twin-panel (commander-style) file manager (GTK), with unar recommendation"
+ depends=('gtk2')
+ conflicts=('doublecmd-libre-qt' 'doublecmd-gtk2' 'doublecmd-gtk2-libre')
+ replaces=('doublecmd-gtk2' 'doublecmd-gtk2-libre')
+ provides=("doublecmd-gtk2=${pkgver}" 'doublecmd-gtk2-libre')
+ cd "$srcdir/$_pkgbase-gtk"
+ sed -e 's/LIB_SUFFIX=.*/LIB_SUFFIX=/g' -i ./install/linux/install.sh
+ ./install/linux/install.sh --install-prefix="$pkgdir"
+
+ # install doc
+ cd "$srcdir/$_pkgbase-help-$_helpver"
+ cp -a * "$pkgdir/usr/share/$_pkgbase/doc/"
+}
+
+package_doublecmd-libre-qt() {
+ pkgdesc="twin-panel (commander-style) file manager (QT), with unar recommendation"
+ depends=('qt4pas')
+ conflicts=('doublecmd-libre-gtk2' 'doublecmd-qt' 'doublecmd-qt-libre')
+ replaces=('doublecmd-qt' 'doublecmd-qt-libre')
+ provides=("doublecmd-qt=${pkgver}" 'doublecmd-qt-libre')
+ cd "$srcdir/$_pkgbase-qt"
+ sed -e 's/LIB_SUFFIX=.*/LIB_SUFFIX=/g' -i ./install/linux/install.sh
+ ./install/linux/install.sh --install-prefix="$pkgdir"
+
+ # install doc
+ cd "$srcdir/$_pkgbase-help-$_helpver"
+ cp -a * "$pkgdir/usr/share/$_pkgbase/doc/"
+}
+
+sha256sums=('bfa85693b6cc06b7fd28ec8bd443ad9fb9d79d27a541e4f4d54bb9da2fb052ea'
+ '5c5d00187df811df0734bf751a581bce7e1bdd4cf4639b2a1101f1da8743daaf')
diff --git a/libre/doublecmd-libre/doublecmd.install b/libre/doublecmd-libre/doublecmd.install
new file mode 100644
index 000000000..c27b5bb23
--- /dev/null
+++ b/libre/doublecmd-libre/doublecmd.install
@@ -0,0 +1,34 @@
+update_icons() {
+
+ # Setup Menus
+ if which update-desktop-database
+ then
+ update-desktop-database -q /usr/share/applications > /dev/null 2>&1
+ fi
+
+ # Setup MIME types
+ if which update-mime-database
+ then
+ update-mime-database /usr/share/mime > /dev/null 2>&1
+ fi
+
+ # Setup Icons
+ touch -c /usr/share/icons/hicolor
+ if which gtk-update-icon-cache
+ then
+ gtk-update-icon-cache -tq /usr/share/icons/hicolor > /dev/null 2>&1
+ fi
+
+}
+
+post_install() {
+ update_icons
+}
+
+post_upgrade() {
+ update_icons
+}
+
+post_remove() {
+ update_icons
+}
diff --git a/libre/dpkg/compare b/libre/dpkg/compare
new file mode 100755
index 000000000..4556440a5
--- /dev/null
+++ b/libre/dpkg/compare
@@ -0,0 +1,26 @@
+#!/bin/bash
+# compare the packages extracted in pkg/ to the packages from debian
+
+_check() {
+ local pacpkg=$1
+ local debpkg=$2
+
+ libremessages msg "dpkg:$debpkg -> pacman:$pacpkg"
+
+ make -f compare.mk tmp/$pacpkg.pacman.filelist tmp/$debpkg.debian.filelist &>/dev/null
+
+ echo -e 'pacman\tdpkg'
+ comm -3 \
+ <(sed -e 's|\.gz$||' tmp/$pacpkg.pacman.filelist|sort) \
+ <(sed -e 's|\.gz$||' -e '/^usr\/share\/man\/..\/man.\//d' -e 's|usr/share/perl5/|&vendor_perl/|' -e "s|$debpkg|$pacpkg|g" tmp/$debpkg.debian.filelist|sort)
+}
+
+mkdir -p tmp
+
+_check dpkg dpkg
+_check dpkg-devtools dpkg-dev
+_check dselect dselect
+_check libdpkg libdpkg-dev
+_check perl-dpkg libdpkg-perl
+
+rm -rf tmp
diff --git a/libre/dpkg/compare.mk b/libre/dpkg/compare.mk
new file mode 100644
index 000000000..88219f283
--- /dev/null
+++ b/libre/dpkg/compare.mk
@@ -0,0 +1,8 @@
+#!/usr/bin/make -f
+# Assist file for ./compare
+
+tmp/%.debian.filelist:
+ curl http://packages.debian.org/sid/all/$*/filelist|sed -n "/<pre>/,/<\/pre>/{ s|.*<pre>||; s|</pre>.*||; /./p }"|sed 's|/||'|sort > $@
+
+tmp/%.pacman.filelist:
+ ( cd pkg/$* && find * -not -type d; ) | sort > $@
diff --git a/libre/dvdrip-libre/PKGBUILD b/libre/dvdrip-libre/PKGBUILD
new file mode 100644
index 000000000..4461dfae7
--- /dev/null
+++ b/libre/dvdrip-libre/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id$
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Fredrik Hammar <Horney_C86@Hotmail.com>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
+_pkgname=dvdrip
+pkgname=dvdrip-libre
+pkgver=0.98.11
+pkgrel=10.2
+pkgdesc="A Gtk frontend for transcode writen in Perl, without opcional hal and unfree rar dependencies"
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://www.exit1.org/${_pkgname}/"
+install=${_pkgname}.install
+depends=('perl-gtk2-ex-formfactory' 'transcode' 'imagemagick'
+ 'perl-libintl-perl' 'desktop-file-utils' 'perl-event-execflow')
+optdepends=('xvid4conf: xvid4 configuration tool'
+ 'lsdvd: Needed for faster DVD TOC reading'
+ 'mplayer: Needed for subtitle vobsub viewing'
+ 'mplayer-vaapi: Needed for subtitle vobsub viewing'
+ 'mplayer2: Needed for subtitle vobsub viewing'
+ 'ogmtools: Needed for OGG/Vorbis and for chapter progress bar'
+ 'xine-ui: Can be used to view DVD'\''s/files'
+ 'fping: Only for cluster mode master')
+source=("http://www.exit1.org/${_pkgname}/dist/${_pkgname}-${pkgver}.tar.gz"
+ "${_pkgname}.desktop" "libre.patch")
+options=('!emptydirs' '!makeflags')
+replaces=("${_pkgname}")
+conflicts=("${_pkgname}")
+provides=("${_pkgname}=${pkgver}")
+md5sums=('6dfa4199d451757a37eea233a07da4c0'
+ 'e91cf411928fd0500d07a0022b4ef546'
+ 'bc006d3b3447f8b62ae6ba29773a064b')
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ patch -Np1 -i "$srcdir/libre.patch"
+
+ # install module in vendor directories.
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ make install DESTDIR="${pkgdir}"
+
+ # remove perllocal.pod and .packlist
+ find ${pkgdir} -name perllocal.pod -delete
+ find ${pkgdir} -name .packlist -delete
+
+ install -Dm644 ${srcdir}/${_pkgname}.desktop "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
+ install -Dm 644 COPYRIGHT "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE"
+}
diff --git a/libre/dvdrip-libre/dvdrip.desktop b/libre/dvdrip-libre/dvdrip.desktop
new file mode 100644
index 000000000..dd19b4aae
--- /dev/null
+++ b/libre/dvdrip-libre/dvdrip.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=dvd::rip
+Comment=DVD Ripper and Encoder - Backup and compression utility for DVDs
+Exec=/usr/bin/vendor_perl/dvdrip
+Icon=/usr/share/perl5/vendor_perl/Video/DVDRip/icon.xpm
+Terminal=false
+Type=Application
+Categories=Application;AudioVideo;Video;
diff --git a/libre/dvdrip-libre/dvdrip.install b/libre/dvdrip-libre/dvdrip.install
new file mode 100644
index 000000000..e111ef946
--- /dev/null
+++ b/libre/dvdrip-libre/dvdrip.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/dvdrip-libre/libre.patch b/libre/dvdrip-libre/libre.patch
new file mode 100644
index 000000000..cc24ef467
--- /dev/null
+++ b/libre/dvdrip-libre/libre.patch
@@ -0,0 +1,81 @@
+diff -Naur dvdrip-0.98.11.orig/lib/Video/DVDRip/Config.pm dvdrip-0.98.11/lib/Video/DVDRip/Config.pm
+--- dvdrip-0.98.11.orig/lib/Video/DVDRip/Config.pm 2009-02-28 16:28:00.000000000 -0200
++++ dvdrip-0.98.11/lib/Video/DVDRip/Config.pm 2012-05-15 15:41:34.554118050 -0300
+@@ -233,13 +233,6 @@
+ ],
+ rules => "executable-command",
+ },
+- rar_command => {
+- label => __ "rar command (for vobsub compression)",
+- type => 'string',
+- value => 'rar',
+- presets => [ 'rar', ],
+- rules => "executable-command",
+- },
+ base_project_dir => {
+ label => __ "Default data base directory",
+ type => 'dir',
+@@ -355,7 +348,6 @@
+ __ "Commands" => [
+ qw(
+ play_dvd_command play_file_command
+- play_stdin_command rar_command
+ )
+ ],
+ __ "Cluster options" => [
+@@ -907,7 +899,6 @@
+ sub test_play_dvd_command { _executable(@_) }
+ sub test_play_file_command { _executable(@_) }
+ sub test_play_stdin_command { _executable(@_) }
+-sub test_rar_command { _executable(@_) }
+ sub test_dvd_device { _exists(@_) }
+ sub test_writer_device { _exists(@_) }
+ sub test_base_project_dir { _abs_and_writable(@_) }
+diff -Naur dvdrip-0.98.11.orig/lib/Video/DVDRip/Depend.pm dvdrip-0.98.11/lib/Video/DVDRip/Depend.pm
+--- dvdrip-0.98.11.orig/lib/Video/DVDRip/Depend.pm 2009-02-28 16:28:00.000000000 -0200
++++ dvdrip-0.98.11/lib/Video/DVDRip/Depend.pm 2012-05-15 15:30:13.506056523 -0300
+@@ -171,22 +171,6 @@
+ min => "0.15",
+ suggested => "0.15",
+ },
+- rar => {
+- order => ++$ORDER,
+- command => Video::DVDRip::Depend->config('rar_command'),
+- comment => __ "Needed for compressed vobsub subtitles",
+- optional => 1,
+- version_cmd => "",
+- get_version => sub {
+- my $cmd = Video::DVDRip::Depend->config('rar_command')." '-?'";
+- qx[$cmd 2>&1] =~ /rar\s+(\d+\.\d+(\.\d+)?)/i;
+- return $1;
+- },
+- convert => 'default',
+- min => "2.71",
+- max => "2.99",
+- suggested => "2.71",
+- },
+ mplayer => {
+ order => ++$ORDER,
+ command => "mplayer",
+@@ -284,21 +268,6 @@
+ min => "2.2",
+ suggested => "2.4",
+ },
+- hal => {
+- order => ++$ORDER,
+- command => "lshal",
+- comment => __"Used for DVD device scanning",
+- optional => 1,
+- version_cmd => "lshal -v",
+- get_version => sub {
+- my ($cmd) = @_;
+- qx[$cmd 2>&1] =~ /version\s+(\d+\.\d+(\.\d+)?)/i;
+- return $1;
+- },
+- convert => 'default',
+- min => "0.5",
+- suggested => "0.5.7",
+- },
+ );
+
+ sub convert_default {
diff --git a/libre/dvdrtools-libre/PKGBUILD b/libre/dvdrtools-libre/PKGBUILD
new file mode 100644
index 000000000..63a3fba1d
--- /dev/null
+++ b/libre/dvdrtools-libre/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 78820 2012-10-25 06:47:28Z foutrelis $
+# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=dvdrtools
+pkgname=dvdrtools-libre
+pkgver=0.3.1
+pkgrel=3.2
+pkgdesc="A fork of cdrtools, with the primary goal of supporting writable DVD drives, without nonfree apple_driver utility"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://savannah.nongnu.org/projects/dvdrtools/"
+license=('GPL2')
+depends=('file' 'bash')
+makedepends=('transcode')
+optdepends=('transcode: video/DVD ripper and encoder for the terminal/console')
+provides=("$_pkgname=$pkgver" 'cdrkit')
+conflicts=("$_pkgname" 'cdrkit')
+replaces=("$_pkgname")
+mksource=(ftp://ftp.archlinux.org/other/dvdrtools/$_pkgname-$pkgver.tar.gz)
+source=(https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz)
+mkmd5sums=('5707b7e877b853e258cd738938833006')
+md5sums=('2f5328b875b34b48f27b5ec4c26b35a6')
+
+mksource() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ # Remove nonfree apple_driver utility
+ rm -rvf {mkisofs/README.hfs_boot,apple_driver{.8,.c,.mk,_man.mk}}
+}
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ ./configure --prefix=/usr --mandir=/usr/share/man
+ make
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ # Make symlinks for cdrtools compatibility
+ ln -s dvdrecord $pkgdir/usr/bin/cdrecord
+ ln -s dvdrecord $pkgdir/usr/bin/wodim
+ ln -s mkisofs $pkgdir/usr/bin/genisoimage
+ ln -s mkisofs $pkgdir/usr/bin/mkhybrid
+ ln -s readcd $pkgdir/usr/bin/readom
+
+ ln -s dvdrecord.1.gz $pkgdir/usr/share/man/man1/cdrecord.1.gz
+ ln -s dvdrecord.1.gz $pkgdir/usr/share/man/man1/wodim.1.gz
+ ln -s mkisofs.8.gz $pkgdir/usr/share/man/man8/genisoimage.8.gz
+ ln -s mkisofs.8.gz $pkgdir/usr/share/man/man8/mkhybrid.8.gz
+ ln -s readcd.1.gz $pkgdir/usr/share/man/man1/readom.1.gz
+}
diff --git a/libre/ecasound-libre/PKGBUILD b/libre/ecasound-libre/PKGBUILD
index 6bb2845b3..f1a68f299 100644
--- a/libre/ecasound-libre/PKGBUILD
+++ b/libre/ecasound-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 204375 2014-01-18 15:02:17Z schiv $
+# $Id: PKGBUILD 205044 2014-02-03 17:11:21Z schiv $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: Eric Belanger <eric@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
@@ -7,12 +7,12 @@
_pkgname=ecasound
pkgname=ecasound-libre
pkgver=2.9.1
-pkgrel=1
+pkgrel=2
pkgdesc="Command-line multitrack audio processor, without nonfree faac recommendation"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.eca.cx/ecasound/"
license=('GPL' 'LGPL')
-depends=('audiofile' 'liblo' 'liboil' 'lilv')
+depends=('audiofile' 'liblo>=0.28' 'liboil' 'lilv')
makedepends=('python2' 'ruby')
optdepends=('python2: ecamonitor, ECI API'
'ruby: ECI API'
diff --git a/libre/ecasound-libre/ruby2.patch b/libre/ecasound-libre/ruby2.patch
new file mode 100644
index 000000000..d55f12140
--- /dev/null
+++ b/libre/ecasound-libre/ruby2.patch
@@ -0,0 +1,12 @@
+diff -aur ecasound-2.9.0.orig/configure ecasound-2.9.0/configure
+--- ecasound-2.9.0.orig/configure 2013-03-26 17:14:51.759045636 +0800
++++ ecasound-2.9.0/configure 2013-03-26 17:15:50.502060731 +0800
+@@ -6535,7 +6535,7 @@
+ rubyecasound_support=no
+ ECA_S_RUBY_SITEDIR=""
+ else
+- ECA_S_RUBY_SITEDIR="`ruby -e 'require "rbconfig"; include Config; print CONFIG["sitedir"] + "/" + CONFIG["MAJOR"] + "." + CONFIG["MINOR"]'`"
++ ECA_S_RUBY_SITEDIR="`ruby -e 'include RbConfig; print CONFIG["vendordir"] + "/" + CONFIG["MAJOR"] + "." + CONFIG["MINOR"]'`"
+ fi
+
+
diff --git a/libre/epdfview-libre/PKGBUILD b/libre/epdfview-libre/PKGBUILD
new file mode 100644
index 000000000..4dbf93b6f
--- /dev/null
+++ b/libre/epdfview-libre/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 105182 2014-02-02 12:39:48Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: schuay <jakob.gruber@gmail.com>
+# Contributor: Tom K <tomk@runbox.com>
+# Contributor: Thayer Williams <thayer@archlinux.org>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
+
+pkgname=epdfview-libre
+_pkgname=epdfview
+pkgver=0.1.8
+pkgrel=5
+pkgdesc='Lightweight PDF document viewer, without nonfree suggestions'
+url='http://freecode.com/projects/epdfview'
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL')
+depends=('poppler-glib' 'desktop-file-utils' 'hicolor-icon-theme' 'gtk2' 'xdg-utils')
+makedepends=('pkgconfig')
+provides=("epdfview=$pkgver")
+conflicts=('epdfview')
+replaces=('epdfview')
+install='epdfview.install'
+source=(ftp://ftp.slackware.com/.1/blfs/conglomeration/epdfview/$_pkgname-$pkgver.tar.bz2
+ epdfview-0.1.8-swap-the-blue-and-red-channel.patch
+ epdfview-0.1.8-glib2-headers.patch
+ epdfview-0.1.8-modern-cups.patch)
+md5sums=('e50285b01612169b2594fea375f53ae4'
+ '7f9ea101a41f5b4e999fd024f423d41f'
+ '2fffa9c7cd4c5f0744803591c2f162a3'
+ '5c2cf5612d2a7dfe6cf005b94aeb5ada')
+
+prepare() {
+ cd $_pkgname-$pkgver
+ sed -i 's/icon_epdfview-48/epdfview/' data/epdfview.desktop
+
+ # Use xdg-open as default browser.
+ sed -r '/DEFAULT_EXTERNAL_BROWSER_COMMAND_LINE/s/firefox[^ ]*/xdg-open/' -i src/Config.cxx
+
+ patch -p1 -i ../epdfview-0.1.8-swap-the-blue-and-red-channel.patch
+ patch -p1 -i ../epdfview-0.1.8-glib2-headers.patch # FS#30116
+ patch -p1 -i ../epdfview-0.1.8-modern-cups.patch # FS#32511
+}
+
+build() {
+ cd $_pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package() {
+ cd $_pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ for size in 24 32 48; do
+ install -Dm644 data/icon_$_pkgname-$size.png \
+ "$pkgdir"/usr/share/icons/hicolor/${size}x${size}/apps/$_pkgname.png
+ done
+}
diff --git a/libre/epdfview-libre/epdfview-0.1.8-glib2-headers.patch b/libre/epdfview-libre/epdfview-0.1.8-glib2-headers.patch
new file mode 100644
index 000000000..e9f0983b5
--- /dev/null
+++ b/libre/epdfview-libre/epdfview-0.1.8-glib2-headers.patch
@@ -0,0 +1,13 @@
+diff --git a/src/gtk/StockIcons.h b/src/gtk/StockIcons.h
+index c142a7a..58fcf2e 100644
+--- a/src/gtk/StockIcons.h
++++ b/src/gtk/StockIcons.h
+@@ -18,7 +18,7 @@
+ #if !defined (__STOCK_ICONS_H__)
+ #define __STOCK_ICONS_H__
+
+-#include <glib/gmacros.h>
++#include <glib.h>
+
+ G_BEGIN_DECLS
+
diff --git a/libre/epdfview-libre/epdfview-0.1.8-modern-cups.patch b/libre/epdfview-libre/epdfview-0.1.8-modern-cups.patch
new file mode 100644
index 000000000..64988789f
--- /dev/null
+++ b/libre/epdfview-libre/epdfview-0.1.8-modern-cups.patch
@@ -0,0 +1,74 @@
+diff -Naur epdfview-0.1.8.orig/src/PrintPter.cxx epdfview-0.1.8/src/PrintPter.cxx
+--- epdfview-0.1.8.orig/src/PrintPter.cxx 2011-05-28 11:25:01.000000000 +0100
++++ epdfview-0.1.8/src/PrintPter.cxx 2012-08-22 20:11:46.362436859 +0100
+@@ -22,6 +22,40 @@
+ #include <locale.h>
+ #include "epdfview.h"
+
++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
++#define HAVE_CUPS_1_6 1
++#endif
++
++#ifndef HAVE_CUPS_1_6
++inline int ippGetInteger (ipp_attribute_t *attr, int element)
++{
++ return (attr->values[element].integer);
++}
++
++inline const char * ippGetString (ipp_attribute_t *attr,
++ int element,
++ const char **language /*UNUSED*/)
++{
++ return (attr->values[element].string.text);
++}
++
++inline int ippSetOperation (ipp_t *ipp, ipp_op_t op)
++{
++ if (!ipp)
++ return (0);
++ ipp->request.op.operation_id = op;
++ return (1);
++}
++
++inline int ippSetRequestId (ipp_t *ipp, int request_id)
++{
++ if (!ipp)
++ return (0);
++ ipp->request.any.request_id = request_id;
++ return (1);
++}
++#endif
++
+ using namespace ePDFView;
+
+ // Structures
+@@ -380,8 +414,8 @@
+
+ ipp_t *request = ippNew ();
+
+- request->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
+- request->request.op.request_id = 1;
++ ippSetOperation(request, IPP_GET_PRINTER_ATTRIBUTES);
++ ippSetRequestId(request, 1);
+
+ ippAddString (request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
+ "attributes-charset", NULL, "utf-8");
+@@ -403,7 +437,7 @@
+ ippFindAttribute (answer, "printer-state", IPP_TAG_ZERO);
+ if ( NULL != state )
+ {
+- switch (state->values[0].integer)
++ switch (ippGetInteger (state, 0))
+ {
+ case IPP_PRINTER_IDLE:
+ attributes->state = g_strdup (_("Idle"));
+@@ -425,7 +459,7 @@
+ ippFindAttribute (answer, "printer-location", IPP_TAG_ZERO);
+ if ( NULL != location )
+ {
+- attributes->location = g_strdup (location->values[0].string.text);
++ attributes->location = g_strdup (ippGetString (location, 0, NULL));
+ }
+
+ ippDelete (answer);
+
diff --git a/libre/epdfview-libre/epdfview-0.1.8-swap-the-blue-and-red-channel.patch b/libre/epdfview-libre/epdfview-0.1.8-swap-the-blue-and-red-channel.patch
new file mode 100644
index 000000000..e077a15cf
--- /dev/null
+++ b/libre/epdfview-libre/epdfview-0.1.8-swap-the-blue-and-red-channel.patch
@@ -0,0 +1,60 @@
+From d30496f52b85f82947bd07b9bd60f8482843ece8 Mon Sep 17 00:00:00 2001
+From: jordi <jordi@cb4bfb15-1111-0410-82e2-95233c8f1c7e>
+Date: Tue, 5 Jul 2011 09:23:38 +0000
+Subject: [PATCH 1/2] When using Poppler 0.17.0, I needed to swap the blue and
+ red channels, otherwise the colors (other than black
+ and white) looked wierd.
+
+git-svn-id: svn://svn.emma-soft.com/epdfview/trunk@367 cb4bfb15-1111-0410-82e2-95233c8f1c7e
+---
+ src/PDFDocument.cxx | 20 ++++++++++++++++++++
+ 1 files changed, 20 insertions(+), 0 deletions(-)
+
+diff --git a/src/PDFDocument.cxx b/src/PDFDocument.cxx
+index df5d75f..63b3513 100644
+--- a/src/PDFDocument.cxx
++++ b/src/PDFDocument.cxx
+@@ -20,6 +20,7 @@
+ #include <time.h>
+ #include <poppler.h>
+ #include <unistd.h>
++#include <algorithm>
+ #include "epdfview.h"
+
+ using namespace ePDFView;
+@@ -33,6 +34,24 @@ static PageLayout convertPageLayout (gint pageLayout);
+ static PageMode convertPageMode (gint pageMode);
+ static gchar *getAbsoluteFileName (const gchar *fileName);
+
++namespace
++{
++ void
++ convert_bgra_to_rgba (guint8 *data, int width, int height)
++ {
++ using std::swap;
++
++ for (int y = 0; y < height; y++)
++ {
++ for (int x = 0; x < width; x++)
++ {
++ swap(data[0], data[2]);
++ data += 4;
++ }
++ }
++ }
++}
++
+ ///
+ /// @brief Constructs a new PDFDocument object.
+ ///
+@@ -650,6 +669,7 @@ PDFDocument::renderPage (gint pageNum)
+ poppler_page_render (page, context);
+ cairo_destroy(context);
+ cairo_surface_destroy (surface);
++ convert_bgra_to_rgba(renderedPage->getData (), width, height);
+ #else // !HAVE_POPPLER_0_17_0
+ // Create the pixbuf from the data and render to it.
+ GdkPixbuf *pixbuf = gdk_pixbuf_new_from_data (renderedPage->getData (),
+--
+1.7.7
+
diff --git a/libre/epdfview-libre/epdfview.install b/libre/epdfview-libre/epdfview.install
new file mode 100644
index 000000000..c317fbaca
--- /dev/null
+++ b/libre/epdfview-libre/epdfview.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/epiphany-libre/PKGBUILD b/libre/epiphany-libre/PKGBUILD
new file mode 100644
index 000000000..8f1c2a8b6
--- /dev/null
+++ b/libre/epiphany-libre/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 201443 2013-12-11 19:00:11Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+# Contributor (Parabola): Márcio Silva <coadde@lavabit.com>
+
+_pkgname=epiphany
+pkgname=epiphany-libre
+pkgver=3.10.3
+pkgrel=1
+install=epiphany.install
+pkgdesc="A GNOME web browser based on the WebKit rendering engine, with DuckDuckGo HTML support"
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL')
+depends=('libsoup' 'libnotify' 'gsettings-desktop-schemas' 'webkitgtk' 'nss' 'iso-codes' 'dconf' 'desktop-file-utils' 'gnome-icon-theme-symbolic' 'gcr' 'gnome-desktop' 'libwnck3' 'gnome-themes-standard')
+makedepends=('intltool' 'itstool' 'docbook-xml' 'startup-notification' 'gobject-introspection')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+options=('!emptydirs')
+groups=('gnome')
+url="http://www.gnome.org/projects/epiphany/"
+source=(http://ftp.gnome.org/pub/GNOME/sources/$_pkgname/${pkgver:0:4}/$_pkgname-$pkgver.tar.xz)
+sha256sums=('c18235ecceaa9c76e7d90d370861cb2bba45019e1e14391a00dac3d2e94a0db7')
+
+prepare() {
+ cd $_pkgname-$pkgver
+
+ # Replace DuckDuckGo to DuckDuckGo HTML
+ sed -i 's|duckduckgo[.]com|duckduckgo.com/html|g' $(grep -rlI 'duckduckgo[.]com')
+
+ # Replace Google support to DuckDuckGo HTML
+ sed -i 's|http://www[.]google[.]com/search?q=%s[&]ie=UTF-8[&]oe=UTF-8|https://duckduckgo.com/html/?q=search|g' $(grep -rlI 'http://www[.]google[.]com/search?q=%s&ie=UTF-8&oe=UTF-8')
+ sed -i '\|a quoted string should be searched|d' $(grep -rlI 'a quoted string should be searched')
+ sed -i 's|http://www[.]google[.]com/search?q=%s[&]amp;ie=UTF-8[&]amp;oe=UTF-8|https://duckduckgo.com/html/?q=%s|g' $(grep -rlI 'http://www[.]google[.]com/search')
+ sed -i 's|http://www[.]google[.]com|https://duckduckgo.com/html|g' $(grep -rlI 'google[.]com')
+ sed -i 's|http://google[.]com|https://duckduckgo.com/html|g' $(grep -rlI 'google[.]com')
+ sed -i 's|mail[.]google[.]com|mail.com|g' $(grep -rlI 'mail[.]google[.]com')
+ sed -i 's|google[.]com|duckduckgo.com/html|g' $(grep -rlI 'google[.]com')
+}
+
+build() {
+ cd $_pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+package() {
+ cd $_pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/libre/epiphany-libre/epiphany.install b/libre/epiphany-libre/epiphany.install
new file mode 100644
index 000000000..8b17fa3d4
--- /dev/null
+++ b/libre/epiphany-libre/epiphany.install
@@ -0,0 +1,13 @@
+post_install() {
+ glib-compile-schemas /usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/file-roller-libre/PKGBUILD b/libre/file-roller-libre/PKGBUILD
new file mode 100644
index 000000000..ba9f537a6
--- /dev/null
+++ b/libre/file-roller-libre/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 199384 2013-11-11 21:55:12Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+_pkgname=file-roller
+pkgname=file-roller-libre
+pkgver=3.10.2.1
+pkgrel=1
+pkgdesc="Create and modify archives, with unar support included and nonfree unace recommendation removed"
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL')
+depends=('desktop-file-utils' 'gtk3' 'hicolor-icon-theme' 'dconf' 'libarchive' 'file' 'json-glib' 'libnotify' 'p7zip' 'unar')
+makedepends=('intltool' 'gnome-doc-utils' 'pkg-config' 'libnautilus-extension' 'itstool' 'docbook-xsl')
+optdepends=('lrzip: lrzip archive support')
+groups=('gnome-extra')
+provides=("$_pkgname=$pkgver")
+replaces=("$_pkgname")
+conflicts=("$_pkgname")
+options=('!emptydirs')
+install=file-roller.install
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver:0:4}/$_pkgname-$pkgver.tar.xz)
+sha256sums=('fde1104103df71c126e759089f12dc7fa25ec642308649e87d542ee7c3276790')
+
+prepare() {
+ cd $_pkgname-$pkgver
+}
+
+build() {
+ cd $_pkgname-$pkgver
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --libexecdir=/usr/lib/file-roller \
+ --localstatedir=/var --disable-static \
+ --disable-schemas-compile
+ make
+}
+
+package() {
+ cd $_pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/libre/file-roller-libre/bug708854.patch b/libre/file-roller-libre/bug708854.patch
new file mode 100644
index 000000000..6a5591a59
--- /dev/null
+++ b/libre/file-roller-libre/bug708854.patch
@@ -0,0 +1,92 @@
+From d3ce6fe6964857c89212ab1a5a7aaa052d93c584 Mon Sep 17 00:00:00 2001
+From: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu, 26 Sep 2013 16:06:21 +0000
+Subject: 7z: allow extracting/opening/adding files prefixed with '@'
+
+7z uses '@' to specify a listfile; i.e. a file with a list of files to add or
+extract. Therefore, if working with single files (e.g. open, add or extract a
+single file from the archive), the filenames need to be escaped with '!' and
+specified with '-i'. It is ok to mix files specified with '-i' and the ones
+given after the archive filename.
+
+E.g. instead of:
+ 7z x -bd -y -o/tmp/.fr-2z9FXz -- HS04603.ZIP @HS04603.PDF
+
+it should be:
+ 7z x -bd -y -o/tmp/.fr-2z9FXz -i!@HS04603.PDF -- HS04603.ZIP
+
+https://bugzilla.gnome.org/show_bug.cgi?id=708854
+---
+diff --git a/src/fr-command-7z.c b/src/fr-command-7z.c
+index f2e70a6..a9d15fd 100644
+--- a/src/fr-command-7z.c
++++ b/src/fr-command-7z.c
+@@ -375,11 +375,20 @@ fr_command_7z_add (FrCommand *command,
+ if (from_file != NULL)
+ fr_process_add_arg_concat (command->process, "-i@", from_file, NULL);
+
++ if (from_file == NULL)
++ for (scan = file_list; scan; scan = scan->next)
++ /* Files prefixed with '@' need to be handled specially */
++ if (g_str_has_prefix (scan->data, "@"))
++ fr_process_add_arg_concat (command->process, "-i!", scan->data, NULL);
++
+ fr_process_add_arg (command->process, "--");
+ fr_process_add_arg (command->process, command->filename);
++
+ if (from_file == NULL)
+ for (scan = file_list; scan; scan = scan->next)
+- fr_process_add_arg (command->process, scan->data);
++ /* Skip files prefixed with '@', already added */
++ if (!g_str_has_prefix (scan->data, "@"))
++ fr_process_add_arg (command->process, scan->data);
+
+ fr_process_end_command (command->process);
+ }
+@@ -409,11 +418,20 @@ fr_command_7z_delete (FrCommand *command,
+ if (from_file != NULL)
+ fr_process_add_arg_concat (command->process, "-i@", from_file, NULL);
+
++ if (from_file == NULL)
++ for (scan = file_list; scan; scan = scan->next)
++ /* Files prefixed with '@' need to be handled specially */
++ if (g_str_has_prefix (scan->data, "@"))
++ fr_process_add_arg_concat (command->process, "-i!", scan->data, NULL);
++
+ fr_process_add_arg (command->process, "--");
+ fr_process_add_arg (command->process, command->filename);
++
+ if (from_file == NULL)
+ for (scan = file_list; scan; scan = scan->next)
+- fr_process_add_arg (command->process, scan->data);
++ /* Skip files prefixed with '@', already added */
++ if (!g_str_has_prefix (scan->data, "@"))
++ fr_process_add_arg (command->process, scan->data);
+
+ fr_process_end_command (command->process);
+ }
+@@ -463,11 +481,21 @@ fr_command_7z_extract (FrCommand *command,
+ if (from_file != NULL)
+ fr_process_add_arg_concat (command->process, "-i@", from_file, NULL);
+
++ if (from_file == NULL)
++ for (scan = file_list; scan; scan = scan->next)
++ /* Files prefixed with '@' need to be handled specially */
++ if (g_str_has_prefix (scan->data, "@"))
++ fr_process_add_arg_concat (command->process, "-i!", scan->data, NULL);
++
++
+ fr_process_add_arg (command->process, "--");
+ fr_process_add_arg (command->process, command->filename);
++
+ if (from_file == NULL)
+ for (scan = file_list; scan; scan = scan->next)
+- fr_process_add_arg (command->process, scan->data);
++ /* Skip files prefixed with '@', already added */
++ if (!g_str_has_prefix (scan->data, "@"))
++ fr_process_add_arg (command->process, scan->data);
+
+ fr_process_end_command (command->process);
+ }
+--
+cgit v0.9.2
diff --git a/libre/file-roller-libre/bug709035.patch b/libre/file-roller-libre/bug709035.patch
new file mode 100644
index 000000000..f82e33f30
--- /dev/null
+++ b/libre/file-roller-libre/bug709035.patch
@@ -0,0 +1,43 @@
+From d05bdc3b60d928f1f40338208419f0ffa41195f6 Mon Sep 17 00:00:00 2001
+From: Paolo Bacchilega <paobac@src.gnome.org>
+Date: Sun, 29 Sep 2013 16:30:29 +0000
+Subject: libarchive: fixed failure when extracting some tar archives
+
+do not try to restore the creation time;
+do not set the G_FILE_ATTRIBUTE_TIME_CREATED_USEC attribute
+
+[bug #709035]
+---
+diff --git a/src/fr-archive-libarchive.c b/src/fr-archive-libarchive.c
+index 42673df..44aaad2 100644
+--- a/src/fr-archive-libarchive.c
++++ b/src/fr-archive-libarchive.c
+@@ -428,15 +428,8 @@ _g_file_info_create_from_entry (struct archive_entry *entry,
+
+ /* times */
+
+- if (archive_entry_ctime_is_set (entry)) {
+- g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_TIME_CREATED, archive_entry_ctime (entry));
+- g_file_info_set_attribute_uint32 (info, G_FILE_ATTRIBUTE_TIME_CREATED_USEC, archive_entry_ctime_nsec (entry));
+- }
+-
+- if (archive_entry_mtime_is_set (entry)) {
++ if (archive_entry_mtime_is_set (entry))
+ g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED, archive_entry_mtime (entry));
+- g_file_info_set_attribute_uint32 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC, archive_entry_mtime_nsec (entry));
+- }
+
+ /* username */
+
+@@ -529,7 +522,8 @@ restore_modification_time (GHashTable *created_folders,
+
+ info = g_file_info_new ();
+ g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED, g_file_info_get_attribute_uint64 (original_info, G_FILE_ATTRIBUTE_TIME_MODIFIED));
+- g_file_info_set_attribute_uint32 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC, g_file_info_get_attribute_uint32 (original_info, G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC));
++ if (g_file_info_get_attribute_status (original_info, G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC) == G_FILE_ATTRIBUTE_STATUS_SET)
++ g_file_info_set_attribute_uint32 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC, g_file_info_get_attribute_uint32 (original_info, G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC));
+ result = _g_file_set_attributes_from_info (file, info, cancellable, error);
+
+ g_object_unref (info);
+--
+cgit v0.9.2
diff --git a/libre/file-roller-libre/file-roller.install b/libre/file-roller-libre/file-roller.install
new file mode 100644
index 000000000..8b17fa3d4
--- /dev/null
+++ b/libre/file-roller-libre/file-roller.install
@@ -0,0 +1,13 @@
+post_install() {
+ glib-compile-schemas /usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/file-roller-libre/rePKGBUILD b/libre/file-roller-libre/rePKGBUILD
new file mode 100644
index 000000000..a83d218f1
--- /dev/null
+++ b/libre/file-roller-libre/rePKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Nicolás Reynolds <fauno@kiwwwi.com.ar>
+source PKGBUILD
+#CARCH=x86_64
+unset build package md5sums source
+_repo=extra # Put the repo here
+_mirror=http://mirrors.kernel.org/archlinux # Put mirror here
+source=(PKGBUILD
+ "${_mirror}/${_repo}/os/${CARCH}/${pkgname%-libre}-$pkgver-$pkgrel-$CARCH$PKGEXT"
+ # files for pkg modifications below this line
+ )
+options=(!strip)
+
+build() {
+ cd "${srcdir}/"
+ rm .{INSTALL,PKGINFO}
+ # put actions for package modifications below this line
+
+}
+
+package() {
+ find ${srcdir} -maxdepth 1 -type l -delete
+ cp -a ${srcdir}/* ${pkgdir}
+}
+
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/filesystem/PKGBUILD b/libre/filesystem/PKGBUILD
new file mode 100644
index 000000000..69edeeb16
--- /dev/null
+++ b/libre/filesystem/PKGBUILD
@@ -0,0 +1,134 @@
+# $Id: PKGBUILD 180021 2013-03-14 19:23:11Z dreisner $
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Maintainer (Parabola): Nicolás Reynolds <fauno@kiwwwi.com.ar>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname=filesystem
+pkgver=2013.05
+pkgrel=2.2
+pkgdesc='Base filesystem (Parabola rebranded)'
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL')
+url='https://parabolagnulinux.org'
+groups=('base')
+install='filesystem.install'
+makedepends=('asciidoc')
+depends=('iana-etc')
+backup=('etc/fstab' 'etc/crypttab' 'etc/group' 'etc/hosts' 'etc/ld.so.conf' 'etc/passwd'
+ 'etc/shadow' 'etc/gshadow' 'etc/resolv.conf' 'etc/motd' 'etc/nsswitch.conf'
+ 'etc/shells' 'etc/host.conf' 'etc/securetty' 'etc/profile' 'etc/issue')
+source=('group' 'issue' 'nsswitch.conf' 'securetty' 'host.conf' 'ld.so.conf'
+ 'passwd' 'shadow' 'fstab' 'crypttab' 'hosts' 'motd' 'os-release' 'resolv.conf'
+ 'shells' 'gshadow' 'profile' 'modprobe.d.usb-load-ehci-first' 'parabola.7.txt'
+ 'locale.sh')
+
+build() {
+ cd ${srcdir}
+ a2x -d manpage -f manpage parabola.7.txt
+}
+
+package() {
+ cd ${pkgdir}
+
+ #
+ # setup root filesystem
+ #
+ for d in boot dev etc home mnt usr var opt srv/http run; do
+ install -d -m755 ${d}
+ done
+ install -d -m555 proc
+ install -d -m555 sys
+ install -d -m0750 root
+ install -d -m1777 tmp
+ # vsftpd won't run with write perms on /srv/ftp
+ install -d -m555 -g ftp srv/ftp
+
+ # setup /etc
+ install -d etc/{ld.so.conf.d,skel,profile.d}
+ for f in fstab group host.conf hosts issue ld.so.conf motd nsswitch.conf os-release passwd resolv.conf securetty shells profile; do
+ install -m644 ${srcdir}/${f} etc/
+ done
+ ln -s /proc/self/mounts etc/mtab
+ for f in gshadow shadow crypttab; do
+ install -m600 ${srcdir}/${f} etc/
+ done
+ touch etc/parabola-release
+ ln -s parabola-release etc/arch-release
+ install -D -m644 ${srcdir}/modprobe.d.usb-load-ehci-first usr/lib/modprobe.d/usb-load-ehci-first.conf
+ install -m755 ${srcdir}/locale.sh etc/profile.d/locale.sh
+
+ # setup /var
+ for d in cache/man local opt log/old lib/misc empty; do
+ install -d -m755 var/${d}
+ done
+ install -d -m1777 var/{tmp,spool/mail}
+ # allow setgid games to write scores
+ install -d -m775 -g games var/games
+ ln -s spool/mail var/mail
+ ln -s ../run var/run
+ ln -s ../run/lock var/lock
+
+ #
+ # setup /usr hierarchy
+ #
+ for d in bin include lib share/misc src; do
+ install -d -m755 usr/${d}
+ done
+ for d in $(seq 8); do
+ install -d -m755 usr/share/man/man${d}
+ done
+
+ #
+ # add lib symlinks
+ #
+ ln -s usr/lib ${pkgdir}/lib
+ [[ ${CARCH} = "x86_64" ]] && (
+ ln -s usr/lib ${pkgdir}/lib64
+ ln -s lib ${pkgdir}/usr/lib64
+ )
+ [[ ${CARCH} = "mips64el" ]] && (
+ # For the N32 ABI.
+ ln -s usr/lib ${pkgdir}/lib32
+ ln -s lib ${pkgdir}/usr/lib32
+ )
+
+ #
+ # add bin symlinks
+ #
+ ln -s usr/bin ${pkgdir}/bin
+ ln -s usr/bin ${pkgdir}/sbin
+ ln -s bin ${pkgdir}/usr/sbin
+
+ #
+ # install parabola(7) manpage
+ #
+ install -D -m644 ${srcdir}/parabola.7 usr/share/man/man7/parabola.7
+
+ #
+ # setup /usr/local hierarchy
+ #
+ for d in bin etc games include lib man sbin share src; do
+ install -d -m755 usr/local/${d}
+ done
+ ln -s ../man usr/local/share/man
+}
+md5sums=('7b8e40f8f793e60f471511641bb1c9f2'
+ '6be47d893fd49b2e4a8c0e811b350861'
+ '9e4533df61f0c82d6b2e2371f7376282'
+ '4c4540eeb748bf1f71d631b8c1dcf0b3'
+ 'f28150d4c0b22a017be51b9f7f9977ed'
+ '6e488ffecc8ba142c0cf7e2d7aeb832e'
+ '1cfd310dff0804a7d21958487c32a3b1'
+ '2ef2429c2c98d0883906aa6f5363be80'
+ '693c97f2c9a519bb97a17008e92c2b74'
+ '1745349eb24ed21b4cfaa6f423bddb76'
+ '7bc65f234dfb6abf24e7c3b03e86f4ff'
+ 'd41d8cd98f00b204e9800998ecf8427e'
+ '0e145e18fea8fd190b30d45764f5707c'
+ '6f48288b6fcaf0065fcb7b0e525413e0'
+ '22518e922891f9359f971f4f5b4e793c'
+ 'f45389e116ab0b9e9968287617d27c7d'
+ '0b6f835598c7640184e476057b3c7722'
+ 'a8a962370cd0128465d514e6a1f74130'
+ 'd5732ffdb3488e1383d4ea199343e767'
+ '3807d07215d9116331fe1cf8feeaa0f8')
diff --git a/libre/filesystem/crypttab b/libre/filesystem/crypttab
new file mode 100644
index 000000000..195945a74
--- /dev/null
+++ b/libre/filesystem/crypttab
@@ -0,0 +1,17 @@
+# crypttab: mappings for encrypted partitions
+#
+# Each mapped device will be created in /dev/mapper, so your /etc/fstab
+# should use the /dev/mapper/<name> paths for encrypted devices.
+#
+# The Arch specific syntax has been deprecated, see crypttab(5) for the
+# new supported syntax.
+#
+# NOTE: Do not list your root (/) partition here, it must be set up
+# beforehand by the initramfs (/etc/mkinitcpio.conf).
+
+# <name> <device> <password> <options>
+# home /dev/hda4 /etc/mypassword1
+# data1 /dev/hda3 /etc/mypassword2
+# data2 /dev/hda5 /etc/cryptfs.key
+# swap /dev/hdx4 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256
+# vol /dev/hdb7 none
diff --git a/libre/filesystem/filesystem.install b/libre/filesystem/filesystem.install
new file mode 100644
index 000000000..c04374422
--- /dev/null
+++ b/libre/filesystem/filesystem.install
@@ -0,0 +1,53 @@
+# args: <group> [options]
+_addgroup() {
+ if ! getent group "$1" >/dev/null; then
+ groupadd "$@" >/dev/null
+ fi
+}
+
+# args: <group> [options]
+_adduser() {
+ if ! getent passwd "$1" >/dev/null; then
+ useradd "$@" >/dev/null
+ fi
+}
+
+post_upgrade() {
+ _addgroup optical -g 93
+ _addgroup audio -g 92
+ _addgroup video -g 91
+ _addgroup floppy -g 94
+ _addgroup storage -g 95
+ _addgroup log -g 19
+ _addgroup utmp -g 20
+ _addgroup power -g 98
+ _addgroup network -g 90
+ _addgroup games -g 50
+ _addgroup uucp -g 14
+ _addgroup http -g 33
+ _adduser http -u 33 -d /srv/http -g http -s /bin/false
+ _addgroup scanner -g 96
+ _addgroup rfkill -g 24
+ _addgroup lock -g 54
+ _addgroup uuidd -g 68
+ _adduser uuidd -u 68 -d / -g uuidd -s /sbin/nologin
+ _addgroup dbus -g 81
+ _adduser dbus -u 81 -d / -g dbus -s /sbin/nologin
+ _addgroup systemd-journal -g 190
+
+ # sync gshadow to group (fixes FS#19869)
+ if ! grep -q '^lock:' etc/gshadow; then
+ grpconv >/dev/null
+ fi
+
+ if ! grep -q '^include /etc/ld.so.conf.d/\*.conf$' etc/ld.so.conf; then
+ echo 'include /etc/ld.so.conf.d/*.conf' >> etc/ld.so.conf
+ fi
+
+ # set "Last password change" > 0; otherwise su $user wont work
+ for user in bin daemon mail ftp http nobody; do
+ if LANG=C chage -l ${user} | grep -q 'password must be changed'; then
+ chage -d 14871 ${user}
+ fi
+ done
+}
diff --git a/libre/filesystem/fstab b/libre/filesystem/fstab
new file mode 100644
index 000000000..b6716c14a
--- /dev/null
+++ b/libre/filesystem/fstab
@@ -0,0 +1,4 @@
+#
+# /etc/fstab: static file system information
+#
+# <file system> <dir> <type> <options> <dump> <pass>
diff --git a/libre/filesystem/group b/libre/filesystem/group
new file mode 100644
index 000000000..6c91b292f
--- /dev/null
+++ b/libre/filesystem/group
@@ -0,0 +1,35 @@
+root:x:0:root
+bin:x:1:root,bin,daemon
+daemon:x:2:root,bin,daemon
+sys:x:3:root,bin
+adm:x:4:root,daemon
+tty:x:5:
+disk:x:6:root
+lp:x:7:daemon
+mem:x:8:
+kmem:x:9:
+wheel:x:10:root
+ftp:x:11:
+mail:x:12:
+uucp:x:14:
+log:x:19:root
+utmp:x:20:
+locate:x:21:
+rfkill:x:24:
+smmsp:x:25:
+http:x:33:
+games:x:50:
+lock:x:54:
+uuidd:x:68:
+dbus:x:81:
+network:x:90:
+video:x:91:
+audio:x:92:
+optical:x:93:
+floppy:x:94:
+storage:x:95:
+scanner:x:96:
+power:x:98:
+nobody:x:99:
+users:x:100:
+systemd-journal:x:190:
diff --git a/libre/filesystem/gshadow b/libre/filesystem/gshadow
new file mode 100644
index 000000000..fb475bfd2
--- /dev/null
+++ b/libre/filesystem/gshadow
@@ -0,0 +1,35 @@
+root:::root
+bin:::root,bin,daemon
+daemon:::root,bin,daemon
+sys:::root,bin
+adm:::root,daemon
+tty:::
+disk:::root
+lp:::daemon
+mem:::
+kmem:::
+wheel:::root
+ftp:::
+mail:::
+uucp:::
+log:::root
+utmp:x::
+locate:::
+rfkill:x::
+smmsp:::
+http:::
+games:::
+lock:::
+uuidd:x::
+dbus:x::
+network:x::
+video:x::
+audio:::
+optical:::
+floppy:x::
+storage:x::
+scanner:x::
+power:x::
+nobody:::
+users:::
+systemd-journal:x::
diff --git a/libre/filesystem/host.conf b/libre/filesystem/host.conf
new file mode 100644
index 000000000..cf52fe561
--- /dev/null
+++ b/libre/filesystem/host.conf
@@ -0,0 +1,8 @@
+#
+# /etc/host.conf
+#
+
+order hosts,bind
+multi on
+
+# End of file
diff --git a/libre/filesystem/hosts b/libre/filesystem/hosts
new file mode 100644
index 000000000..1747f9196
--- /dev/null
+++ b/libre/filesystem/hosts
@@ -0,0 +1,9 @@
+#
+# /etc/hosts: static lookup table for host names
+#
+
+#<ip-address> <hostname.domain.org> <hostname>
+127.0.0.1 localhost.localdomain localhost
+::1 localhost.localdomain localhost
+
+# End of file
diff --git a/libre/filesystem/issue b/libre/filesystem/issue
new file mode 100644
index 000000000..b001c55dd
--- /dev/null
+++ b/libre/filesystem/issue
@@ -0,0 +1,2 @@
+Parabola GNU/Linux-libre \r (\n) (\l)
+
diff --git a/libre/filesystem/ld.so.conf b/libre/filesystem/ld.so.conf
new file mode 100644
index 000000000..dfac45683
--- /dev/null
+++ b/libre/filesystem/ld.so.conf
@@ -0,0 +1,7 @@
+#
+# /etc/ld.so.conf
+#
+
+include /etc/ld.so.conf.d/*.conf
+
+# End of file
diff --git a/libre/filesystem/locale.sh b/libre/filesystem/locale.sh
new file mode 100644
index 000000000..5fd4174d5
--- /dev/null
+++ b/libre/filesystem/locale.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+unset LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES \
+ LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION
+
+if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then
+ . "$XDG_CONFIG_HOME/locale.conf"
+elif [ -n $HOME ] && [ -r $HOME/.config/locale.conf ]; then
+ . "$HOME/.config/locale.conf"
+elif [ -r /etc/locale.conf ]; then
+ . /etc/locale.conf
+elif [ -r /etc/rc.conf ]; then
+ LANG=$(. /etc/rc.conf 2>/dev/null; echo "$LOCALE")
+fi
+
+export LANG="${LANG:-C}"
+[ -n "$LC_CTYPE" ] && export LC_CTYPE
+[ -n "$LC_NUMERIC" ] && export LC_NUMERIC
+[ -n "$LC_TIME" ] && export LC_TIME
+[ -n "$LC_COLLATE" ] && export LC_COLLATE
+[ -n "$LC_MONETARY" ] && export LC_MONETARY
+[ -n "$LC_MESSAGES" ] && export LC_MESSAGES
+[ -n "$LC_PAPER" ] && export LC_PAPER
+[ -n "$LC_NAME" ] && export LC_NAME
+[ -n "$LC_ADDRESS" ] && export LC_ADDRESS
+[ -n "$LC_TELEPHONE" ] && export LC_TELEPHONE
+[ -n "$LC_MEASUREMENT" ] && export LC_MEASUREMENT
+[ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION
diff --git a/libre/filesystem/modprobe.d.usb-load-ehci-first b/libre/filesystem/modprobe.d.usb-load-ehci-first
new file mode 100644
index 000000000..947379411
--- /dev/null
+++ b/libre/filesystem/modprobe.d.usb-load-ehci-first
@@ -0,0 +1,2 @@
+softdep ohci_hcd pre: ehci_hcd
+softdep uhci_hcd pre: ehci_hcd
diff --git a/libre/filesystem/motd b/libre/filesystem/motd
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/libre/filesystem/motd
diff --git a/libre/filesystem/nsswitch.conf b/libre/filesystem/nsswitch.conf
new file mode 100644
index 000000000..4a4f5770d
--- /dev/null
+++ b/libre/filesystem/nsswitch.conf
@@ -0,0 +1,19 @@
+# Begin /etc/nsswitch.conf
+
+passwd: files
+group: files
+shadow: files
+
+publickey: files
+
+hosts: files dns myhostname
+networks: files
+
+protocols: files
+services: files
+ethers: files
+rpc: files
+
+netgroup: files
+
+# End /etc/nsswitch.conf
diff --git a/libre/filesystem/os-release b/libre/filesystem/os-release
new file mode 100644
index 000000000..fe5f20b4f
--- /dev/null
+++ b/libre/filesystem/os-release
@@ -0,0 +1,8 @@
+NAME="Parabola"
+ID=parabola
+ID_LIKE=arch
+PRETTY_NAME="Parabola GNU/Linux-libre"
+ANSI_COLOR="1;35"
+HOME_URL="https://parabolagnulinux.org/"
+BUG_REPORT_URL="https://labs.parabola.nu/"
+
diff --git a/libre/filesystem/parabola.7.txt b/libre/filesystem/parabola.7.txt
new file mode 100644
index 000000000..60e1121e0
--- /dev/null
+++ b/libre/filesystem/parabola.7.txt
@@ -0,0 +1,91 @@
+/////
+vim:set ts=4 sw=4 syntax=asciidoc noet:
+/////
+parabola(7)
+============
+
+NAME
+----
+parabola - basic configuration
+
+SYNOPSIS
+--------
+Overview of the basic configuration of Parabola GNU/Linux-libre.
+
+DESCRIPTION
+-----------
+Parabola exposes the user to the system without hiding any details.
+This man page gives a brief overview of the configuration files that should be set up on a fresh install.
+
+SYSTEM SERVICES[[S]]
+--------------------
+System services to be started at boot can be enabled using 'systemctl enable <name>'.
+To view available services, use 'systemctl list-unit-files'.
+
+HOSTNAME[[H]]
+-------------
+The hostname of the machine can be set using 'hostnamectl set-hostname <hostname>'.
+It will then be written to /etc/hostname.
+
+LOCALIZATION[[L]]
+-----------------
+Various locales may be enabled in /etc/locale.gen and are generated by 'locale-gen'.
+The system-wide locale to be used can be configured in /etc/locale.conf.
+These settings can be overridden on a per-user basis by keeping a user-specific locale.conf in $HOME/.config/locale.conf.
+The user-specific file will take precedence if it exists.
+
+VIRTUAL CONSOLE[[V]]
+--------------------
+The virtual console is configured in /etc/vconsole.conf.
+It allows you to set a font and a keyboard layout, among other things.
+Note that these settings only apply to the console and do not apply if you use X.
+
+TIME[[T]]
+---------
+The local time zone is configured by calling 'timedatectl set-timezone <Region/City>'.
+A relative *symlink* is then created from /etc/localtime to the correct zoneinfo file under /usr/share/zoneinfo/. For example,
+
+ /etc/localtime -> ../usr/share/zoneinfo/Europe/Paris
+
+The real-time clock, which keeps track of time when the computer is off, can be configured to either
+be in UTC or in local time by calling 'timedatectl set-local-rtc <false|true>'.
+The default is UTC.
+
+FILE SYSTEMS[[F]]
+-----------------
+File systems are configured in /etc/fstab, and encryption mappings are configured in /etc/crypttab.
+
+INITRAMFS[[R]]
+--------------
+The initramfs is generated by 'mkinitcpio -p <preset>'.
+The default preset is "linux-libre".
+The initramfs can be configured in /etc/mkinitcpio.conf and must be regenerated after making configuration changes.
+
+PACKAGE MANAGER[[P]]
+--------------------
+The package manager, pacman, is configured in /etc/pacman.conf.
+
+BOOT LOADER[[B]]
+----------------
+GRUB's configuration is generated from /etc/default/grub by 'grub-mkconfig -o /boot/grub/grub.cfg'.
+Syslinux is configured in /boot/syslinux/syslinux.cfg.
+
+MODULES[[M]]
+------------
+Most modules should be loaded on-demand.
+Modules to be unconditionally loaded at boot can be specified in /etc/modules-load.d/,
+and modules to be blacklisted from automatically loading can be configured in /etc/modprobe.d/.
+
+SEE ALSO
+--------
+
+*systemctl*(1), *hostnamectl*(1), *hostname*(5), *locale.conf*(5),
+*vconsole.conf*(5), *timedatectl*(1), *timezone*(3), *hwclock*(8),
+*fstab*(5), *crypttab*(5), *mkinitcpio*(8), *pacman*(8), *pacman.conf*(5),
+*grub-mkconfig*(8), *syslinux*(1), *modules-load.d*(5), *modprobe.d*(5),
+*systemd*(1)
+
+AUTHORS
+-------
+Written by Tom Gundersen.
+Rebranded for Parabola by Nicolás Reynolds and André Silva.
diff --git a/libre/filesystem/passwd b/libre/filesystem/passwd
new file mode 100644
index 000000000..671fc486e
--- /dev/null
+++ b/libre/filesystem/passwd
@@ -0,0 +1,9 @@
+root:x:0:0:root:/root:/bin/bash
+bin:x:1:1:bin:/bin:/bin/false
+daemon:x:2:2:daemon:/sbin:/bin/false
+mail:x:8:12:mail:/var/spool/mail:/bin/false
+ftp:x:14:11:ftp:/srv/ftp:/bin/false
+http:x:33:33:http:/srv/http:/bin/false
+uuidd:x:68:68:uuidd:/:/sbin/nologin
+dbus:x:81:81:dbus:/:/sbin/nologin
+nobody:x:99:99:nobody:/:/bin/false
diff --git a/libre/filesystem/profile b/libre/filesystem/profile
new file mode 100644
index 000000000..59d0abc83
--- /dev/null
+++ b/libre/filesystem/profile
@@ -0,0 +1,27 @@
+# /etc/profile
+
+#Set our umask
+umask 022
+
+# Set our default path
+PATH="/usr/local/sbin:/usr/local/bin:/usr/bin"
+export PATH
+
+# Load profiles from /etc/profile.d
+if test -d /etc/profile.d/; then
+ for profile in /etc/profile.d/*.sh; do
+ test -r "$profile" && . "$profile"
+ done
+ unset profile
+fi
+
+# Source global bash config
+if test "$PS1" && test "$BASH" && test -r /etc/bash.bashrc; then
+ . /etc/bash.bashrc
+fi
+
+# Termcap is outdated, old, and crusty, kill it.
+unset TERMCAP
+
+# Man is much better than us at figuring this out
+unset MANPATH
diff --git a/libre/filesystem/resolv.conf b/libre/filesystem/resolv.conf
new file mode 100644
index 000000000..cecafba03
--- /dev/null
+++ b/libre/filesystem/resolv.conf
@@ -0,0 +1,8 @@
+#
+# /etc/resolv.conf
+#
+
+#search <yourdomain.tld>
+#nameserver <ip>
+
+# End of file
diff --git a/libre/filesystem/securetty b/libre/filesystem/securetty
new file mode 100644
index 000000000..5a2235ce7
--- /dev/null
+++ b/libre/filesystem/securetty
@@ -0,0 +1,15 @@
+#
+# /etc/securetty
+#
+
+console
+tty1
+tty2
+tty3
+tty4
+tty5
+tty6
+ttyS0
+hvc0
+
+# End of file
diff --git a/libre/filesystem/shadow b/libre/filesystem/shadow
new file mode 100644
index 000000000..39ebb13c7
--- /dev/null
+++ b/libre/filesystem/shadow
@@ -0,0 +1,9 @@
+root::14871::::::
+bin:x:14871::::::
+daemon:x:14871::::::
+mail:x:14871::::::
+ftp:x:14871::::::
+http:x:14871::::::
+uuidd:x:14871::::::
+dbus:x:14871::::::
+nobody:x:14871::::::
diff --git a/libre/filesystem/shells b/libre/filesystem/shells
new file mode 100644
index 000000000..18c1aeffa
--- /dev/null
+++ b/libre/filesystem/shells
@@ -0,0 +1,8 @@
+#
+# /etc/shells
+#
+
+/bin/sh
+/bin/bash
+
+# End of file
diff --git a/libre/ghostscript-libre/PKGBUILD b/libre/ghostscript-libre/PKGBUILD
deleted file mode 100644
index b16f322f2..000000000
--- a/libre/ghostscript-libre/PKGBUILD
+++ /dev/null
@@ -1,92 +0,0 @@
-# $Id: PKGBUILD 204553 2014-01-22 13:37:42Z andyrtr $
-# Maintainer: AndyRTR <andyrtr@archlinux.org>
-# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
-# Contributor (Parabola): Joshua Haase <hahj87@gmail.com>
-
-### !!! rebuild groff from core that picks up hardcoding the GS versioned font path !!! ###
-
-_pkgname=ghostscript
-pkgname=ghostscript-libre
-pkgver=9.10
-pkgrel=3
-pkgdesc="An interpreter for the PostScript language, without nonfree files"
-arch=('i686' 'x86_64' 'mips64el')
-license=('AGPL') #non free files removed
-depends=('libxt' 'libcups' 'fontconfig' 'jasper' 'zlib' 'libpng>=1.5.7' 'libjpeg'
- 'libtiff>=4.0.0' 'lcms2' 'dbus' 'libpaper')
-makedepends=('gtk3' 'gnutls')
-optdepends=('texlive-core: needed for dvipdf'
- 'gtk3: needed for gsx')
-conflicts=('ghostscript')
-replaces=('ghostscript')
-provides=("ghostscript=$pkgver")
-url="http://www.ghostscript.com/"
-mksource=(http://downloads.ghostscript.com/public/ghostscript-${pkgver}.tar.bz2)
-source=(https://repo.parabolagnulinux.org/other/ghostscript-libre/ghostscript-libre-${pkgver}.tar.bz2)
-options=('!makeflags')
-mkmd5sums=('7179bb1ed4f6f453147e6f7e1f210ce8')
-md5sums=('c9f6ffec6a07e06caba394d7ebdbbe9a')
-
-mksource() {
- cd ghostscript-${pkgver}
-
- # delete nonfree files
- grep -l "are not altered" Resource/CMap/* | xargs rm -fv
- grep -l "not be copied" Resource/CMap/* | xargs rm -fv
-}
-
-build() {
- cd ghostscript-${pkgver}
-
- # force it to use system-libs
- # keep heavily patched included openjpeg, leads to segfault with system openjpeg
- # https://bugs.archlinux.org/task/38226
- rm -rf jpeg libpng zlib jasper expat tiff lcms lcms2 freetype cups/libs # jbig2dec is in community
-
- ./configure --prefix=/usr \
- --enable-dynamic \
- --with-ijs \
- --with-jbig2dec \
- --with-omni \
- --with-x \
- --with-drivers=ALL\
- --with-fontpath=/usr/share/fonts/Type1:/usr/share/fonts \
- --enable-fontconfig \
- --enable-freetype \
- --enable-openjpeg \
- --without-luratech \
- --without-omni \
- --with-system-libtiff \
- --with-libpaper \
- --disable-compile-inits #--help # needed for linking with system-zlib
- make
-
- # Build IJS
- cd ijs
- sed -i "s:AM_PROG_CC_STDC:AC_PROG_CC:g" configure.ac
- ./autogen.sh
- ./configure --prefix=/usr --enable-shared --disable-static
- make
-}
-
-package() {
- cd ghostscript-${pkgver}
- make DESTDIR="${pkgdir}" \
- cups_serverroot="${pkgdir}"/etc/cups \
- cups_serverbin="${pkgdir}"/usr/lib/cups install soinstall
-
- # install missing doc files # http://bugs.archlinux.org/task/18023
- install -m 644 "${srcdir}"/ghostscript-${pkgver}/doc/{Ps2ps2.htm,gs-vms.hlp,gsdoc.el,pscet_status.txt} "${pkgdir}"/usr/share/ghostscript/$pkgver/doc/
-
- install -D -m644 LICENSE "${pkgdir}"/usr/share/licenses/${_pkgname}/LICENSE
-
- # remove unwanted localized man-pages
- rm -rf "$pkgdir"/usr/share/man/[^man1]*
-
- # install IJS
- cd ijs
- make DESTDIR="${pkgdir}" install
-
- # remove filters that are now maintained in cups-filters as upstream home
- rm -rf "$pkgdir"/usr/lib/cups/filter/{gstopxl,gstoraster}
-}
diff --git a/libre/gloobus-preview-libre/fix-gtksource-include.patch b/libre/gloobus-preview-libre/fix-gtksource-include.patch
new file mode 100644
index 000000000..053169a43
--- /dev/null
+++ b/libre/gloobus-preview-libre/fix-gtksource-include.patch
@@ -0,0 +1,39 @@
+diff -Naur gloobus-preview-0.4.5-ubuntu11~ppa290.orig/src/gloobus-preview-interface-text.h gloobus-preview-0.4.5-ubuntu11~ppa290/src/gloobus-preview-interface-text.h
+--- gloobus-preview-0.4.5-ubuntu11~ppa290.orig/src/gloobus-preview-interface-text.h 2012-04-06 15:07:29.000000000 +0200
++++ gloobus-preview-0.4.5-ubuntu11~ppa290/src/gloobus-preview-interface-text.h 2013-05-17 06:27:37.833360264 +0200
+@@ -1,8 +1,7 @@
+ #ifndef _ITEXT_
+ #define _ITEXT_
+
+-#include <gtksourceview/gtksourceview.h>
+-#include <gtksourceview/gtksourcelanguagemanager.h>
++#include <gtksourceview/gtksource.h>
+ //sudo ln -s /usr/include/gtksourceview-2.0/gtksourceview/ /usr/include/gtksourceview
+
+ #include "gloobus-preview-interface-main.h"
+diff -Naur gloobus-preview-0.4.5-ubuntu11~ppa290.orig/src/gloobus-preview-plugin-manager.cpp gloobus-preview-0.4.5-ubuntu11~ppa290/src/gloobus-preview-plugin-manager.cpp
+--- gloobus-preview-0.4.5-ubuntu11~ppa290.orig/src/gloobus-preview-plugin-manager.cpp 2012-04-06 15:07:29.000000000 +0200
++++ gloobus-preview-0.4.5-ubuntu11~ppa290/src/gloobus-preview-plugin-manager.cpp 2013-05-17 06:28:19.300984059 +0200
+@@ -1,6 +1,6 @@
+ #include "gloobus-preview-plugin-manager.h"
+ #include <dlfcn.h>
+-#include <gtksourceview/gtksourcelanguagemanager.h>
++#include <gtksourceview/gtksource.h>
+
+ vector<gp_plugin_container*> PluginManager::plugins;
+ map<string, int> PluginManager::filetypes;
+diff -Naur gloobus-preview-0.4.5-ubuntu11~ppa290.orig/src/plugin-text/plugin-text.h gloobus-preview-0.4.5-ubuntu11~ppa290/src/plugin-text/plugin-text.h
+--- gloobus-preview-0.4.5-ubuntu11~ppa290.orig/src/plugin-text/plugin-text.h 2012-04-06 15:07:29.000000000 +0200
++++ gloobus-preview-0.4.5-ubuntu11~ppa290/src/plugin-text/plugin-text.h 2013-05-17 06:26:26.788384315 +0200
+@@ -3,10 +3,7 @@
+
+ #ifndef PLUGIN_LOADER
+
+-#include <gtksourceview/gtksourceview.h>
+-#include <gtksourceview/gtksourcelanguagemanager.h>
+-#include <gtksourceview/gtksourcestylescheme.h>
+-#include <gtksourceview/gtksourcestyleschememanager.h>
++#include <gtksourceview/gtksource.h>
+ #include <gio/gio.h>
+
+ #include "../gloobus-preview-config.h"
diff --git a/libre/gloobus-preview-libre/fix-unoconv.patch b/libre/gloobus-preview-libre/fix-unoconv.patch
new file mode 100644
index 000000000..f918f3019
--- /dev/null
+++ b/libre/gloobus-preview-libre/fix-unoconv.patch
@@ -0,0 +1,46 @@
+diff -Naur gloobus-preview-0.4.5-ubuntu11~ppa290.orig/src/plugin-pdf/office-loader.cpp gloobus-preview-0.4.5-ubuntu11~ppa290/src/plugin-pdf/office-loader.cpp
+--- gloobus-preview-0.4.5-ubuntu11~ppa290.orig/src/plugin-pdf/office-loader.cpp 2012-04-06 15:07:29.000000000 +0200
++++ gloobus-preview-0.4.5-ubuntu11~ppa290/src/plugin-pdf/office-loader.cpp 2013-05-18 10:24:33.558221788 +0200
+@@ -87,7 +87,7 @@
+
+ if( NULL == uri && Utils::isProgramAvailable("unoconv") ) {
+ gchar *path = g_file_get_path(file);
+- gchar *cmd = g_strdup_printf("unoconv --stdout \"%s\" > \"%s\"", path, tmp);
++ gchar *cmd = g_strdup_printf("unoconv -f pdf -o \"%s\" \"%s\"", tmp, path);
+
+ if( system(cmd) == 0) {
+ uri = pathToUri(tmp);
+@@ -123,4 +123,4 @@
+ {
+ path = "file://" + path;
+ return g_uri_escape_string(path.c_str(), G_URI_RESERVED_CHARS_ALLOWED_IN_PATH, false);
+-}
+\ No newline at end of file
++}
+diff -Naur gloobus-preview-0.4.5-ubuntu11~ppa290.orig/src/plugin-pdf/office-plugin.h gloobus-preview-0.4.5-ubuntu11~ppa290/src/plugin-pdf/office-plugin.h
+--- gloobus-preview-0.4.5-ubuntu11~ppa290.orig/src/plugin-pdf/office-plugin.h 2012-04-06 15:07:29.000000000 +0200
++++ gloobus-preview-0.4.5-ubuntu11~ppa290/src/plugin-pdf/office-plugin.h 2013-05-18 10:33:02.352806550 +0200
+@@ -6,15 +6,21 @@
+ PluginManager::register_plugin("office");
+
+ PluginManager::register_filetype("application/vnd.oasis.opendocument.text", 1);
++PluginManager::register_filetype("application/vnd.openxmlformats-officedocument.wordprocessingml.document", 1);
+ PluginManager::register_filetype("application/msword", 1);
+ PluginManager::register_filetype("application/rtf", 1);
+ PluginManager::register_filetype("application/vnd.ms-excel", 1);
+ PluginManager::register_filetype("application/vnd.oasis.opendocument.spreadsheet", 1);
++PluginManager::register_filetype("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", 1);
+ PluginManager::register_filetype("application/vnd.ms-powerpoint", 1);
++PluginManager::register_filetype("application/vnd.oasis.opendocument.presentation", 1);
++PluginManager::register_filetype("application/vnd.openxmlformats-officedocument.presentationml.presentation", 1);
+ PluginManager::register_filetype("application/vnd.sun.xml.calc", 1);
++PluginManager::register_filetype("application/vnd.oasis.opendocument.graphics", 1);
++
+
+ // TODO: add more filetypes supported by abiword and/or OpenOffice
+
+ #endif
+
+-#endif /* OFFICE_PLUGIN_H */
+\ No newline at end of file
++#endif /* OFFICE_PLUGIN_H */
diff --git a/libre/gloobus-preview-libre/gloobus-preview-usr-bsdtar-for-rar.patch b/libre/gloobus-preview-libre/gloobus-preview-usr-bsdtar-for-rar.patch
new file mode 100644
index 000000000..f5b7c8e00
--- /dev/null
+++ b/libre/gloobus-preview-libre/gloobus-preview-usr-bsdtar-for-rar.patch
@@ -0,0 +1,57 @@
+------------------------------------------------------------
+revno: 291
+committer: Michał Masłowski <mtjm@mtjm.eu>
+branch nick: gloobus-preview
+timestamp: Sun 2013-06-23 14:43:35 +0200
+message:
+ Use bsdtar to open RAR archives if unrar is not available.
+
+ Needs bsdtar from libarchive 3.0 or newer, not tested with older
+ versions nor checking for them.
+diff:
+=== modified file 'src/plugin-compressed/plugin-compressed.cpp'
+--- src/plugin-compressed/plugin-compressed.cpp 2012-04-06 11:25:47 +0000
++++ src/plugin-compressed/plugin-compressed.cpp 2013-06-23 12:43:35 +0000
+@@ -52,8 +52,9 @@
+ cmd_args.push_back("--");
+ line_parser = &iCompressed::parse_line_7z;
+ }
+- else if ( type == GP_COMPRESSED_RAR
+- || type == GP_COMPRESSED_RAR_X )
++ else if ( (type == GP_COMPRESSED_RAR
++ || type == GP_COMPRESSED_RAR_X)
++ && interface::is_program_available("unrar") )
+ {
+ cmd_args.push_back("unrar");
+ cmd_args.push_back("vb");
+@@ -70,9 +71,15 @@
+ || type == GP_COMPRESSED_TAR_LZOP
+ || type == GP_COMPRESSED_TAR_X
+ || type == GP_COMPRESSED_TAR_XZ
+- || type == GP_COMPRESSED_TAR_Z )
++ || type == GP_COMPRESSED_TAR_Z
++ || type == GP_COMPRESSED_RAR
++ || type == GP_COMPRESSED_RAR_X )
+ {
+- cmd_args.push_back("tar");
++ if ( type == GP_COMPRESSED_RAR
++ || type == GP_COMPRESSED_RAR_X )
++ cmd_args.push_back("bsdtar");
++ else
++ cmd_args.push_back("tar");
+ cmd_args.push_back("-tf");
+ line_parser = &iCompressed::parse_line_rar;
+ }
+
+=== modified file 'src/plugin-compressed/plugin-compressed.h'
+--- src/plugin-compressed/plugin-compressed.h 2010-03-27 15:55:08 +0000
++++ src/plugin-compressed/plugin-compressed.h 2013-06-23 12:43:35 +0000
+@@ -102,7 +102,7 @@
+ PluginManager::register_filetype(GP_COMPRESSED_7Z, 1);
+ }
+
+-if(interface::is_program_available("unrar")) {
++if(interface::is_program_available("unrar") || interface::is_program_available("bsdtar")) {
+ PluginManager::register_filetype(GP_COMPRESSED_RAR, 1);
+ PluginManager::register_filetype(GP_COMPRESSED_RAR_X, 1);
+ }
diff --git a/libre/gloobus-preview-libre/gloobus-preview.install b/libre/gloobus-preview-libre/gloobus-preview.install
new file mode 100644
index 000000000..16ad7278f
--- /dev/null
+++ b/libre/gloobus-preview-libre/gloobus-preview.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate
+ gdk-pixbuf-query-loaders --update-cache
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/libre/gloobus-preview-libre/use-xdg-open.patch b/libre/gloobus-preview-libre/use-xdg-open.patch
new file mode 100644
index 000000000..68e219e6a
--- /dev/null
+++ b/libre/gloobus-preview-libre/use-xdg-open.patch
@@ -0,0 +1,20 @@
+diff -Naur gloobus-preview-0.4.5-ubuntu11~ppa290.orig/src/gloobus-preview-window.cpp gloobus-preview-0.4.5-ubuntu11~ppa290/src/gloobus-preview-window.cpp
+--- gloobus-preview-0.4.5-ubuntu11~ppa290.orig/src/gloobus-preview-window.cpp 2012-04-06 15:07:29.000000000 +0200
++++ gloobus-preview-0.4.5-ubuntu11~ppa290/src/gloobus-preview-window.cpp 2013-05-18 09:49:24.833574800 +0200
+@@ -560,12 +560,12 @@
+ string label(gtk_menu_item_get_label(item));
+ if(label == _("Settings"))
+ cmd = "gloobus-preview-configuration";
+- else if(label == _("Report a Bug"))
+- cmd = "gnome-open \"https://bugs.launchpad.net/gloobus-preview/\"";
++ else if(label == _("Report a Problem"))
++ cmd = "xdg-open \"https://bugs.launchpad.net/gloobus-preview/\"";
+ else if(label == _("Blog"))
+- cmd = "gnome-open \"http://gloobus.wordpress.com\"" ;
++ cmd = "xdg-open \"http://gloobus.wordpress.com\"" ;
+ else if(label == _("Donate"))
+- cmd = "gnome-open \"https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=guitarboy000%40gmail%2ecom&item_name=Gloobus%2c%20A%20Quicklook%20for%20linux&no_shipping=0&no_note=1&tax=0&currency_code=EUR&lc=US&bn=PP%2dDonationsBF&chars\"" ;
++ cmd = "xdg-open \"https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=guitarboy000%40gmail%2ecom&item_name=Gloobus%2c%20A%20Quicklook%20for%20linux&no_shipping=0&no_note=1&tax=0&currency_code=EUR&lc=US&bn=PP%2dDonationsBF&chars\"" ;
+ else if(label == _("About"))
+ ui->create_about();
+ else if(label == _("Quit"))
diff --git a/libre/gnome-menus/PKGBUILD b/libre/gnome-menus/PKGBUILD
new file mode 100644
index 000000000..186473b5b
--- /dev/null
+++ b/libre/gnome-menus/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id$
+# Maintainer: Jan de Groot <jan@archlinux.org>
+
+pkgname=gnome-menus
+pkgver=3.6.2
+pkgrel=1.1
+pkgdesc="GNOME menu specifications, Parabola rebranded"
+arch=('i686' 'x86_64' 'mips64el')
+depends=('glib2' 'python2-gobject')
+makedepends=('intltool' 'gobject-introspection')
+options=('!libtool')
+license=('GPL' 'LGPL')
+url="http://www.gnome.org"
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
+ menus.patch)
+sha256sums=('f6cefb25ce3ca2a0e4cb43894089cc6079bf948230e99bc0e244b380fa84bf4f'
+ 'de14815d63ab98f999975680a8981702dee0f70d129d4d4fcf4778d966e67435')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ patch -Np0 -i "$srcdir/menus.patch"
+
+ PYTHON=/usr/bin/python2 ./configure \
+ --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static
+ make
+}
+
+package(){
+ cd "$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ sed -i "1s|#!/usr/bin/env python$|&2|" \
+ "$pkgdir/usr/lib/python2.7/site-packages/GMenuSimpleEditor/config.py"
+}
diff --git a/libre/gnome-menus/menus.patch b/libre/gnome-menus/menus.patch
new file mode 100644
index 000000000..6648e09ec
--- /dev/null
+++ b/libre/gnome-menus/menus.patch
@@ -0,0 +1,25 @@
+--- layout/applications.menu 2005-06-28 10:16:39.000000000 +0200
++++ layout/applications.menu 2005-09-12 23:21:20.000000000 +0200
+@@ -7,7 +7,6 @@
+ <Directory>Applications.directory</Directory>
+
+ <!-- Scan legacy dirs first, as later items take priority -->
+- <KDELegacyDirs/>
+ <LegacyDir>/etc/X11/applnk</LegacyDir>
+ <LegacyDir>/usr/share/gnome/apps</LegacyDir>
+
+@@ -18,6 +17,14 @@
+ <!-- Read in overrides and child menus from applications-merged/ -->
+ <DefaultMergeDirs/>
+
++ <!-- Parabola submenu -->
++ <Menu>
++ <Name>Parabola</Name>
++ <Directory>Parabola.directory</Directory>
++ <Include>
++ <Category>Parabola</Category>
++ </Include>
++ </Menu> <!-- End Parabola -->
+ <!-- Accessories submenu -->
+ <Menu>
+ <Name>Accessories</Name>
diff --git a/libre/gnormalize-libre/PKGBUILD b/libre/gnormalize-libre/PKGBUILD
new file mode 100644
index 000000000..75edbfc1e
--- /dev/null
+++ b/libre/gnormalize-libre/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 91575 2013-05-24 12:41:56Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Chris Brannon <cmbrannon79@gmail.com>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor:JZsolt Varadi (karmaxxl)
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=gnormalize
+pkgname=gnormalize-libre
+pkgver=0.63
+pkgrel=5
+pkgdesc='Audio normalizer, converter, encoder/decoder, ripper, tagger and player, without nonfree faac and mac recommendation'
+arch=('any')
+url='http://gnormalize.sourceforge.net/'
+license=('GPL')
+depends=('perl' 'cddb_get' 'desktop-file-utils' 'gtk2-perl' 'hicolor-icon-theme')
+makedepends=('xz' 'gendesk')
+optdepends=('flac: FLAC encoding, FLAC playing in conjunction with mplayer'
+ 'lame: MP3 encoding'
+ 'mpg321: MP3 playing'
+ 'mplayer: FLAC/WAV playing'
+ 'musepack-tools: full Musepack support'
+ 'perl-mp3-info: MP3 ID3 tags'
+ 'vorbis-tools: full OGG Vorbis support'
+ 'cdcd: CD playing'
+ 'cdparanoia: CD ripping'
+ 'cdrkit: CD ripping - alternative to cdparanoia'
+ 'wavegain: sound normalization')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+install=gnormalize.install
+source=("http://downloads.sourceforge.net/sourceforge/gnormalize/${_pkgname}-${pkgver}.tar.gz")
+sha256sums=('80fd9aa2da8d7fcc88bd180be2adce1aed863bedba7d715144029bd95b61ccb6')
+
+prepare() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ gendesk -n --pkgname "$_pkgname" --pkgdesc "$pkgdesc" --mimetypes \
+ 'audio/mp3;audio/x-mp3;audio/mpeg;audio/x-mpeg;audio/x-wav;application/x-ogg'
+ lzma -qd gnormalize.1.lzma
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ install -Dm755 "$_pkgname" "$pkgdir/usr/bin/$_pkgname"
+ install -Dm644 "$_pkgname.1" "$pkgdir/usr/share/man/man1/$_pkgname.1"
+ install -d "$pkgdir/usr/share/$_pkgname/animations"
+ install -m644 animations/*.gif "$pkgdir/usr/share/$_pkgname/animations/"
+ install -Dm644 README "$pkgdir/usr/share/doc/$_pkgname/README"
+ install -Dm644 "icons/$_pkgname.png" \
+ "$pkgdir/usr/share/pixmaps/$_pkgname.png"
+ for i in 16 32 48 ; do
+ install -Dm644 "icons/gnormalize-$i.png" \
+ "$pkgdir/usr/share/icons/hicolor/${i}x$i/apps/$_pkgname.png"
+ done
+ install -Dm644 "$_pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$_pkgname.desktop"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/gnormalize-libre/gnormalize.desktop b/libre/gnormalize-libre/gnormalize.desktop
new file mode 100644
index 000000000..4d4061308
--- /dev/null
+++ b/libre/gnormalize-libre/gnormalize.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=gnormalize
+Comment=Encoder/Decoder, normalize frontend, etc.
+Exec=gnormalize
+Icon=gnormalize
+MimeType=audio/mp3;audio/x-mp3;audio/mpeg;audio/x-mpeg;audio/x-wav;application/x-ogg;
+Categories=GTK;AudioVideo;Player;
+Terminal=false
+Type=Application
diff --git a/libre/gnormalize-libre/gnormalize.install b/libre/gnormalize-libre/gnormalize.install
new file mode 100644
index 000000000..ef533df53
--- /dev/null
+++ b/libre/gnormalize-libre/gnormalize.install
@@ -0,0 +1,14 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/gnu-ghostscript/PKGBUILD b/libre/gnu-ghostscript/PKGBUILD
deleted file mode 100644
index 817e6a418..000000000
--- a/libre/gnu-ghostscript/PKGBUILD
+++ /dev/null
@@ -1,89 +0,0 @@
-# Maintainer: André Silva <emulatorman@parabola.nu>
-
-_pkgname=ghostscript
-pkgname=gnu-ghostscript
-_gspkgver=9.10 # ghostscript-libre package version
-_pkgver=9.06
-pkgver=9.06.0
-pkgrel=7
-pkgdesc="An interpreter for the PostScript language maintained by a team of GNU programmers"
-arch=('i686' 'x86_64' 'mips64el')
-license=('GPL3')
-depends=('libxt' 'libcups' 'fontconfig' 'jasper' 'zlib' 'libpng>=1.5.7' 'libjpeg'
- 'libtiff>=4.0.0' 'lcms2' 'dbus' 'libpaper')
-makedepends=('gtk3' 'gnutls')
-optdepends=('texlive-core: needed for dvipdf'
- 'gtk3: needed for gsx')
-conflicts=${_pkgname}
-provides="${_pkgname}=${_gspkgver}"
-url="https://www.gnu.org/software/${_pkgname}/"
-source=(ftp://ftp.gnu.org/gnu/${_pkgname}/${pkgname}-${pkgver}.tar.xz
- ijs-automake.patch
- libtool.patch)
-options=('!makeflags')
-md5sums=('85a5e07a6b91937c157576293b381065'
- '83bcae456ad4c9fb790be483914dbeba'
- '5bd5d4966007b460deed866a30a0b3c8')
-
-build() {
- cd ${pkgname}-${pkgver}
-
- # fix build with recent automake
- patch -p1 -i "$srcdir/ijs-automake.patch"
-
- # fix libtool version
- patch -Np1 -i ${srcdir}/libtool.patch
-
- # force it to use system-libs
- # keep heavily patched included openjpeg, leads to segfault with system openjpeg
- # https://bugs.archlinux.org/task/38226
- rm -rf jpeg libpng zlib jasper expat tiff lcms lcms2 freetype cups/libs # jbig2dec is in community
-
- ./configure --prefix=/usr \
- --enable-dynamic \
- --with-ijs \
- --with-jbig2dec \
- --with-omni \
- --with-x \
- --with-drivers=ALL\
- --with-fontpath=/usr/share/fonts/Type1:/usr/share/fonts \
- --enable-fontconfig \
- --enable-freetype \
- --enable-openjpeg \
- --without-luratech \
- --without-omni \
- --with-system-libtiff \
- --with-libpaper \
- --disable-compile-inits #--help # needed for linking with system-zlib
- make
-
- # Build IJS
- cd ijs
- sed -i "s:AM_PROG_CC_STDC:AC_PROG_CC:g" configure.ac
- ./autogen.sh
- ./configure --prefix=/usr --enable-shared --disable-static
- make
-}
-
-package() {
- cd ${pkgname}-${pkgver}
- make DESTDIR="${pkgdir}" \
- cups_serverroot="${pkgdir}"/etc/cups \
- cups_serverbin="${pkgdir}"/usr/lib/cups install soinstall
-
- # install missing doc files # http://bugs.archlinux.org/task/18023
- install -m 644 "${srcdir}"/${pkgname}-${pkgver}/doc/{Ps2ps2.htm,gs-vms.hlp,gsdoc.el,pscet_status.txt} "${pkgdir}"/usr/share/${_pkgname}/$_pkgver/doc/
-
- mkdir -p ${pkgdir}/usr/share/licenses/${_pkgname}
- install -m644 LICENSE ${pkgdir}/usr/share/licenses/${_pkgname}/
-
- # remove unwanted localized man-pages
- rm -rf "$pkgdir"/usr/share/man/[^man1]*
-
- # install IJS
- cd ijs
- make DESTDIR="${pkgdir}" install
-
- # remove filters that are now maintained in cups-filters as upstream home
- rm -rf "$pkgdir"/usr/lib/cups/filter/{gstopxl,gstoraster}
-}
diff --git a/libre/grub-legacy/040_all_grub-0.96-nxstack.patch b/libre/grub-legacy/040_all_grub-0.96-nxstack.patch
new file mode 100644
index 000000000..121941c75
--- /dev/null
+++ b/libre/grub-legacy/040_all_grub-0.96-nxstack.patch
@@ -0,0 +1,623 @@
+Fix NX segfaulting on amd64.
+
+Patch by Peter Jones.
+
+http://lists.gnu.org/archive/html/bug-grub/2005-03/msg00011.html
+
+--- grub-0.97/grub/asmstub.c
++++ grub-0.97/grub/asmstub.c
+@@ -42,6 +42,7 @@
+ #include <sys/time.h>
+ #include <termios.h>
+ #include <signal.h>
++#include <sys/mman.h>
+
+ #ifdef __linux__
+ # include <sys/ioctl.h> /* ioctl */
+@@ -79,7 +80,7 @@
+ struct apm_info apm_bios_info;
+
+ /* Emulation requirements. */
+-char *grub_scratch_mem = 0;
++void *grub_scratch_mem = 0;
+
+ struct geometry *disks = 0;
+
+@@ -103,14 +104,62 @@
+ static unsigned int serial_speed;
+ #endif /* SIMULATE_SLOWNESS_OF_SERIAL */
+
++/* This allocates page-aligned storage of the specified size, which must be
++ * a multiple of the page size as determined by calling sysconf(_SC_PAGESIZE)
++ */
++#ifdef __linux__
++static void *
++grub_mmap_alloc(size_t len)
++{
++ int mmap_flags = MAP_ANONYMOUS|MAP_PRIVATE|MAP_EXECUTABLE;
++
++#ifdef MAP_32BIT
++ mmap_flags |= MAP_32BIT;
++#endif
++ /* Mark the simulated stack executable, as GCC uses stack trampolines
++ * to implement nested functions. */
++ return mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC, mmap_flags, -1, 0);
++}
++#else /* !defined(__linux__) */
++static void *
++grub_mmap_alloc(size_t len)
++{
++ int fd = 0, offset = 0, ret = 0;
++ void *pa = MAP_FAILED;
++ char template[] = "/tmp/grub_mmap_alloc_XXXXXX";
++ errno_t e;
++
++ fd = mkstemp(template);
++ if (fd < 0)
++ return pa;
++
++ unlink(template);
++
++ ret = ftruncate(fd, len);
++ if (ret < 0)
++ return pa;
++
++ /* Mark the simulated stack executable, as GCC uses stack trampolines
++ * to implement nested functions. */
++ pa = mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC,
++ MAP_PRIVATE|MAP_EXECUTABLE, fd, offset);
++
++ e = errno;
++ close(fd);
++ errno = e;
++ return pa;
++}
++#endif /* defined(__linux__) */
++
+ /* The main entry point into this mess. */
+ int
+ grub_stage2 (void)
+ {
+ /* These need to be static, because they survive our stack transitions. */
+ static int status = 0;
+- static char *realstack;
+- char *scratch, *simstack;
++ static void *realstack;
++ void *simstack_alloc_base, *simstack;
++ size_t simstack_size, page_size;
+ int i;
+
+ /* We need a nested function so that we get a clean stack frame,
+@@ -140,9 +189,35 @@
+ }
+
+ assert (grub_scratch_mem == 0);
+- scratch = malloc (0x100000 + EXTENDED_MEMSIZE + 15);
+- assert (scratch);
+- grub_scratch_mem = (char *) ((((int) scratch) >> 4) << 4);
++
++ /* Allocate enough pages for 0x100000 + EXTENDED_SIZE + 15, and
++ * make sure the memory is aligned to a multiple of the system's
++ * page size */
++ page_size = sysconf (_SC_PAGESIZE);
++ simstack_size = ( 0x100000 + EXTENDED_MEMSIZE + 15);
++ if (simstack_size % page_size)
++ {
++ /* If we're not on a page_size boundary, round up to the next one */
++ simstack_size &= ~(page_size-1);
++ simstack_size += page_size;
++ }
++
++ /* Add one for a PROT_NONE boundary page at each end. */
++ simstack_size += 2 * page_size;
++
++ simstack_alloc_base = grub_mmap_alloc(simstack_size);
++ assert (simstack_alloc_base != MAP_FAILED);
++
++ /* mark pages above and below our simstack area as innaccessable.
++ * If the implementation we're using doesn't support that, then the
++ * new protection modes are undefined. It's safe to just ignore
++ * them, though. It'd be nice if we knew that we'd get a SEGV for
++ * touching the area, but that's all. it'd be nice to have. */
++ mprotect (simstack_alloc_base, page_size, PROT_NONE);
++ mprotect ((void *)((unsigned long)simstack_alloc_base +
++ simstack_size - page_size), page_size, PROT_NONE);
++
++ grub_scratch_mem = (void *)((unsigned long)simstack_alloc_base + page_size);
+
+ /* FIXME: simulate the memory holes using mprot, if available. */
+
+@@ -215,7 +290,7 @@
+ device_map = 0;
+ free (disks);
+ disks = 0;
+- free (scratch);
++ munmap(simstack_alloc_base, simstack_size);
+ grub_scratch_mem = 0;
+
+ if (serial_device)
+--- grub-0.97/stage2/builtins.c
++++ grub-0.97/stage2/builtins.c
+@@ -131,63 +131,98 @@
+ }
+
+
++/* blocklist_read_helper nee disk_read_blocklist_func was a nested
++ * function, to which pointers were taken and exposed globally. Even
++ * in the GNU-C nested functions extension, they have local linkage,
++ * and aren't guaranteed to be accessable *at all* outside of their
++ * containing scope.
++ *
++ * Above and beyond all of that, the variables within blocklist_func_context
++ * are originally local variables, with local (not even static) linkage,
++ * from within blocklist_func. These were each referenced by
++ * disk_read_blocklist_func, which is only called from other functions
++ * through a globally scoped pointer.
++ *
++ * The documentation in GCC actually uses the words "all hell will break
++ * loose" to describe this scenario.
++ *
++ * Also, "start_sector" was also used uninitialized, but gcc doesn't warn
++ * about it (possibly because of the scoping madness?)
++ */
++
++static struct {
++ int start_sector;
++ int num_sectors;
++ int num_entries;
++ int last_length;
++} blocklist_func_context = {
++ .start_sector = 0,
++ .num_sectors = 0,
++ .num_entries = 0,
++ .last_length = 0
++};
++
++/* Collect contiguous blocks into one entry as many as possible,
++ and print the blocklist notation on the screen. */
++static void
++blocklist_read_helper (int sector, int offset, int length)
++{
++ int *start_sector = &blocklist_func_context.start_sector;
++ int *num_sectors = &blocklist_func_context.num_sectors;
++ int *num_entries = &blocklist_func_context.num_entries;
++ int *last_length = &blocklist_func_context.last_length;
++
++ if (*num_sectors > 0)
++ {
++ if (*start_sector + *num_sectors == sector
++ && offset == 0 && *last_length == SECTOR_SIZE)
++ {
++ *num_sectors++;
++ *last_length = length;
++ return;
++ }
++ else
++ {
++ if (*last_length == SECTOR_SIZE)
++ grub_printf ("%s%d+%d", *num_entries ? "," : "",
++ *start_sector - part_start, *num_sectors);
++ else if (*num_sectors > 1)
++ grub_printf ("%s%d+%d,%d[0-%d]", *num_entries ? "," : "",
++ *start_sector - part_start, *num_sectors-1,
++ *start_sector + *num_sectors-1 - part_start,
++ *last_length);
++ else
++ grub_printf ("%s%d[0-%d]", *num_entries ? "," : "",
++ *start_sector - part_start, *last_length);
++ *num_entries++;
++ *num_sectors = 0;
++ }
++ }
++
++ if (offset > 0)
++ {
++ grub_printf("%s%d[%d-%d]", *num_entries ? "," : "",
++ sector-part_start, offset, offset+length);
++ *num_entries++;
++ }
++ else
++ {
++ *start_sector = sector;
++ *num_sectors = 1;
++ *last_length = length;
++ }
++}
++
+ /* blocklist */
+ static int
+ blocklist_func (char *arg, int flags)
+ {
+ char *dummy = (char *) RAW_ADDR (0x100000);
+- int start_sector;
+- int num_sectors = 0;
+- int num_entries = 0;
+- int last_length = 0;
+-
+- auto void disk_read_blocklist_func (int sector, int offset, int length);
+-
+- /* Collect contiguous blocks into one entry as many as possible,
+- and print the blocklist notation on the screen. */
+- auto void disk_read_blocklist_func (int sector, int offset, int length)
+- {
+- if (num_sectors > 0)
+- {
+- if (start_sector + num_sectors == sector
+- && offset == 0 && last_length == SECTOR_SIZE)
+- {
+- num_sectors++;
+- last_length = length;
+- return;
+- }
+- else
+- {
+- if (last_length == SECTOR_SIZE)
+- grub_printf ("%s%d+%d", num_entries ? "," : "",
+- start_sector - part_start, num_sectors);
+- else if (num_sectors > 1)
+- grub_printf ("%s%d+%d,%d[0-%d]", num_entries ? "," : "",
+- start_sector - part_start, num_sectors-1,
+- start_sector + num_sectors-1 - part_start,
+- last_length);
+- else
+- grub_printf ("%s%d[0-%d]", num_entries ? "," : "",
+- start_sector - part_start, last_length);
+- num_entries++;
+- num_sectors = 0;
+- }
+- }
+-
+- if (offset > 0)
+- {
+- grub_printf("%s%d[%d-%d]", num_entries ? "," : "",
+- sector-part_start, offset, offset+length);
+- num_entries++;
+- }
+- else
+- {
+- start_sector = sector;
+- num_sectors = 1;
+- last_length = length;
+- }
+- }
+
++ int *start_sector = &blocklist_func_context.start_sector;
++ int *num_sectors = &blocklist_func_context.num_sectors;
++ int *num_entries = &blocklist_func_context.num_entries;
++
+ /* Open the file. */
+ if (! grub_open (arg))
+ return 1;
+@@ -204,15 +241,15 @@
+ grub_printf (")");
+
+ /* Read in the whole file to DUMMY. */
+- disk_read_hook = disk_read_blocklist_func;
++ disk_read_hook = blocklist_read_helper;
+ if (! grub_read (dummy, -1))
+ goto fail;
+
+ /* The last entry may not be printed yet. Don't check if it is a
+ * full sector, since it doesn't matter if we read too much. */
+- if (num_sectors > 0)
+- grub_printf ("%s%d+%d", num_entries ? "," : "",
+- start_sector - part_start, num_sectors);
++ if (*num_sectors > 0)
++ grub_printf ("%s%d+%d", *num_entries ? "," : "",
++ *start_sector - part_start, *num_sectors);
+
+ grub_printf ("\n");
+
+@@ -1868,6 +1905,77 @@
+
+
+ /* install */
++static struct {
++ int saved_sector;
++ int installaddr;
++ int installlist;
++ char *stage2_first_buffer;
++} install_func_context = {
++ .saved_sector = 0,
++ .installaddr = 0,
++ .installlist = 0,
++ .stage2_first_buffer = NULL,
++};
++
++/* Save the first sector of Stage2 in STAGE2_SECT. */
++/* Formerly disk_read_savesect_func with local scope inside install_func */
++static void
++install_savesect_helper(int sector, int offset, int length)
++{
++ if (debug)
++ printf ("[%d]", sector);
++
++ /* ReiserFS has files which sometimes contain data not aligned
++ on sector boundaries. Returning an error is better than
++ silently failing. */
++ if (offset != 0 || length != SECTOR_SIZE)
++ errnum = ERR_UNALIGNED;
++
++ install_func_context.saved_sector = sector;
++}
++
++/* Write SECTOR to INSTALLLIST, and update INSTALLADDR and INSTALLSECT. */
++/* Formerly disk_read_blocklist_func with local scope inside install_func */
++static void
++install_blocklist_helper (int sector, int offset, int length)
++{
++ int *installaddr = &install_func_context.installaddr;
++ int *installlist = &install_func_context.installlist;
++ char **stage2_first_buffer = &install_func_context.stage2_first_buffer;
++ /* Was the last sector full? */
++ static int last_length = SECTOR_SIZE;
++
++ if (debug)
++ printf("[%d]", sector);
++
++ if (offset != 0 || last_length != SECTOR_SIZE)
++ {
++ /* We found a non-sector-aligned data block. */
++ errnum = ERR_UNALIGNED;
++ return;
++ }
++
++ last_length = length;
++
++ if (*((unsigned long *) (*installlist - 4))
++ + *((unsigned short *) *installlist) != sector
++ || *installlist == (int) *stage2_first_buffer + SECTOR_SIZE + 4)
++ {
++ *installlist -= 8;
++
++ if (*((unsigned long *) (*installlist - 8)))
++ errnum = ERR_WONT_FIT;
++ else
++ {
++ *((unsigned short *) (*installlist + 2)) = (*installaddr >> 4);
++ *((unsigned long *) (*installlist - 4)) = sector;
++ }
++ }
++
++ *((unsigned short *) *installlist) += 1;
++ *installaddr += 512;
++}
++
+ static int
+ install_func (char *arg, int flags)
+ {
+@@ -1875,8 +1983,12 @@
+ char *stage1_buffer = (char *) RAW_ADDR (0x100000);
+ char *stage2_buffer = stage1_buffer + SECTOR_SIZE;
+ char *old_sect = stage2_buffer + SECTOR_SIZE;
+- char *stage2_first_buffer = old_sect + SECTOR_SIZE;
+- char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE;
++ /* stage2_first_buffer used to be defined as:
++ * char *stage2_first_buffer = old_sect + SECTOR_SIZE; */
++ char **stage2_first_buffer = &install_func_context.stage2_first_buffer;
++ /* and stage2_second_buffer was:
++ * char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE; */
++ char *stage2_second_buffer = old_sect + SECTOR_SIZE + SECTOR_SIZE;
+ /* XXX: Probably SECTOR_SIZE is reasonable. */
+ char *config_filename = stage2_second_buffer + SECTOR_SIZE;
+ char *dummy = config_filename + SECTOR_SIZE;
+@@ -1885,10 +1997,11 @@
+ int src_drive, src_partition, src_part_start;
+ int i;
+ struct geometry dest_geom, src_geom;
+- int saved_sector;
++ int *saved_sector = &install_func_context.saved_sector;
+ int stage2_first_sector, stage2_second_sector;
+ char *ptr;
+- int installaddr, installlist;
++ int *installaddr = &install_func_context.installaddr;
++ int *installlist = &install_func_context.installlist;
+ /* Point to the location of the name of a configuration file in Stage 2. */
+ char *config_file_location;
+ /* If FILE is a Stage 1.5? */
+@@ -1897,67 +2010,13 @@
+ int is_open = 0;
+ /* If LBA is forced? */
+ int is_force_lba = 0;
+- /* Was the last sector full? */
+- int last_length = SECTOR_SIZE;
+-
++
++ *stage2_first_buffer = old_sect + SECTOR_SIZE;
+ #ifdef GRUB_UTIL
+ /* If the Stage 2 is in a partition mounted by an OS, this will store
+ the filename under the OS. */
+ char *stage2_os_file = 0;
+ #endif /* GRUB_UTIL */
+-
+- auto void disk_read_savesect_func (int sector, int offset, int length);
+- auto void disk_read_blocklist_func (int sector, int offset, int length);
+-
+- /* Save the first sector of Stage2 in STAGE2_SECT. */
+- auto void disk_read_savesect_func (int sector, int offset, int length)
+- {
+- if (debug)
+- printf ("[%d]", sector);
+-
+- /* ReiserFS has files which sometimes contain data not aligned
+- on sector boundaries. Returning an error is better than
+- silently failing. */
+- if (offset != 0 || length != SECTOR_SIZE)
+- errnum = ERR_UNALIGNED;
+-
+- saved_sector = sector;
+- }
+-
+- /* Write SECTOR to INSTALLLIST, and update INSTALLADDR and
+- INSTALLSECT. */
+- auto void disk_read_blocklist_func (int sector, int offset, int length)
+- {
+- if (debug)
+- printf("[%d]", sector);
+-
+- if (offset != 0 || last_length != SECTOR_SIZE)
+- {
+- /* We found a non-sector-aligned data block. */
+- errnum = ERR_UNALIGNED;
+- return;
+- }
+-
+- last_length = length;
+-
+- if (*((unsigned long *) (installlist - 4))
+- + *((unsigned short *) installlist) != sector
+- || installlist == (int) stage2_first_buffer + SECTOR_SIZE + 4)
+- {
+- installlist -= 8;
+-
+- if (*((unsigned long *) (installlist - 8)))
+- errnum = ERR_WONT_FIT;
+- else
+- {
+- *((unsigned short *) (installlist + 2)) = (installaddr >> 4);
+- *((unsigned long *) (installlist - 4)) = sector;
+- }
+- }
+-
+- *((unsigned short *) installlist) += 1;
+- installaddr += 512;
+- }
+
+ /* First, check the GNU-style long option. */
+ while (1)
+@@ -1987,10 +2049,10 @@
+ addr = skip_to (0, file);
+
+ /* Get the installation address. */
+- if (! safe_parse_maxint (&addr, &installaddr))
++ if (! safe_parse_maxint (&addr, installaddr))
+ {
+ /* ADDR is not specified. */
+- installaddr = 0;
++ *installaddr = 0;
+ ptr = addr;
+ errnum = 0;
+ }
+@@ -2084,17 +2146,17 @@
+ = (dest_drive & BIOS_FLAG_FIXED_DISK);
+
+ /* Read the first sector of Stage 2. */
+- disk_read_hook = disk_read_savesect_func;
+- if (grub_read (stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE)
++ disk_read_hook = install_savesect_helper;
++ if (grub_read (*stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE)
+ goto fail;
+
+- stage2_first_sector = saved_sector;
++ stage2_first_sector = *saved_sector;
+
+ /* Read the second sector of Stage 2. */
+ if (grub_read (stage2_second_buffer, SECTOR_SIZE) != SECTOR_SIZE)
+ goto fail;
+
+- stage2_second_sector = saved_sector;
++ stage2_second_sector = *saved_sector;
+
+ /* Check for the version of Stage 2. */
+ if (*((short *) (stage2_second_buffer + STAGE2_VER_MAJ_OFFS))
+@@ -2110,27 +2172,27 @@
+
+ /* If INSTALLADDR is not specified explicitly in the command-line,
+ determine it by the Stage 2 id. */
+- if (! installaddr)
++ if (! *installaddr)
+ {
+ if (! is_stage1_5)
+ /* Stage 2. */
+- installaddr = 0x8000;
++ *installaddr = 0x8000;
+ else
+ /* Stage 1.5. */
+- installaddr = 0x2000;
++ *installaddr = 0x2000;
+ }
+
+ *((unsigned long *) (stage1_buffer + STAGE1_STAGE2_SECTOR))
+ = stage2_first_sector;
+ *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_ADDRESS))
+- = installaddr;
++ = *installaddr;
+ *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_SEGMENT))
+- = installaddr >> 4;
++ = *installaddr >> 4;
+
+- i = (int) stage2_first_buffer + SECTOR_SIZE - 4;
++ i = (int) *stage2_first_buffer + SECTOR_SIZE - 4;
+ while (*((unsigned long *) i))
+ {
+- if (i < (int) stage2_first_buffer
++ if (i < (int) *stage2_first_buffer
+ || (*((int *) (i - 4)) & 0x80000000)
+ || *((unsigned short *) i) >= 0xA00
+ || *((short *) (i + 2)) == 0)
+@@ -2144,13 +2206,13 @@
+ i -= 8;
+ }
+
+- installlist = (int) stage2_first_buffer + SECTOR_SIZE + 4;
+- installaddr += SECTOR_SIZE;
++ *installlist = (int) *stage2_first_buffer + SECTOR_SIZE + 4;
++ *installaddr += SECTOR_SIZE;
+
+ /* Read the whole of Stage2 except for the first sector. */
+ grub_seek (SECTOR_SIZE);
+
+- disk_read_hook = disk_read_blocklist_func;
++ disk_read_hook = install_blocklist_helper;
+ if (! grub_read (dummy, -1))
+ goto fail;
+
+@@ -2233,7 +2295,7 @@
+ /* Skip the first sector. */
+ grub_seek (SECTOR_SIZE);
+
+- disk_read_hook = disk_read_savesect_func;
++ disk_read_hook = install_savesect_helper;
+ if (grub_read (stage2_buffer, SECTOR_SIZE) != SECTOR_SIZE)
+ goto fail;
+
+@@ -2303,7 +2365,7 @@
+ else
+ #endif /* GRUB_UTIL */
+ {
+- if (! devwrite (saved_sector - part_start, 1, stage2_buffer))
++ if (! devwrite (*saved_sector - part_start, 1, stage2_buffer))
+ goto fail;
+ }
+ }
+@@ -2325,7 +2387,7 @@
+ goto fail;
+ }
+
+- if (fwrite (stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE)
++ if (fwrite (*stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE)
+ {
+ fclose (fp);
+ errnum = ERR_WRITE;
+@@ -2352,7 +2414,7 @@
+ goto fail;
+
+ if (! devwrite (stage2_first_sector - src_part_start, 1,
+- stage2_first_buffer))
++ *stage2_first_buffer))
+ goto fail;
+
+ if (! devwrite (stage2_second_sector - src_part_start, 1,
+--- grub-0.97/stage2/shared.h
++++ grub-0.97/stage2/shared.h
+@@ -36,8 +36,8 @@
+
+ /* Maybe redirect memory requests through grub_scratch_mem. */
+ #ifdef GRUB_UTIL
+-extern char *grub_scratch_mem;
+-# define RAW_ADDR(x) ((x) + (int) grub_scratch_mem)
++extern void *grub_scratch_mem;
++# define RAW_ADDR(x) ((x) + (unsigned long) grub_scratch_mem)
+ # define RAW_SEG(x) (RAW_ADDR ((x) << 4) >> 4)
+ #else
+ # define RAW_ADDR(x) (x)
diff --git a/libre/grub-legacy/05-grub-0.97-initrdaddr.diff b/libre/grub-legacy/05-grub-0.97-initrdaddr.diff
new file mode 100644
index 000000000..ccf5f3e54
--- /dev/null
+++ b/libre/grub-legacy/05-grub-0.97-initrdaddr.diff
@@ -0,0 +1,16 @@
+--- grub-0.96/stage2/boot.c
++++ grub-0.96/stage2/boot.c
+@@ -824,8 +824,11 @@
+ moveto = (mbi.mem_upper + 0x400) << 10;
+
+ moveto = (moveto - len) & 0xfffff000;
+- max_addr = (lh->header == LINUX_MAGIC_SIGNATURE && lh->version >= 0x0203
+- ? lh->initrd_addr_max : LINUX_INITRD_MAX_ADDRESS);
++ max_addr = LINUX_INITRD_MAX_ADDRESS;
++ if (lh->header == LINUX_MAGIC_SIGNATURE &&
++ lh->version >= 0x0203 &&
++ lh->initrd_addr_max < max_addr)
++ max_addr = lh->initrd_addr_max;
+ if (moveto + len >= max_addr)
+ moveto = (max_addr - len) & 0xfffff000;
+
diff --git a/libre/grub-legacy/PKGBUILD b/libre/grub-legacy/PKGBUILD
new file mode 100644
index 000000000..57aaa2840
--- /dev/null
+++ b/libre/grub-legacy/PKGBUILD
@@ -0,0 +1,97 @@
+# $Id: PKGBUILD 142375 2011-11-08 22:04:23Z ronald $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Maintainer: ava1ar <mail(dot)avatar(at)gmail(dot)com>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+# Contributor (Parabola): Jorge López <jorginho@lavabit.com>
+
+pkgname=grub-legacy
+_srcname=grub
+pkgver=0.97
+pkgrel=25.1
+pkgdesc="A GNU multiboot boot loader (Parabola rebranded)"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.gnu.org/software/grub/"
+depends=('ncurses' 'diffutils' 'sed')
+conflicts=('grub')
+[ "$CARCH" = 'x86_64' ] && makedepends=('gcc-multilib')
+optdepends=('xfsprogs: freezing of xfs /boot in install-grub script')
+source=(ftp://alpha.gnu.org/gnu/grub/${_srcname}-${pkgver}.tar.gz
+ menu.lst
+ install-grub
+ 040_all_grub-0.96-nxstack.patch
+ 05-grub-0.97-initrdaddr.diff
+ i2o.patch
+ special-devices.patch
+ more-raid.patch
+ intelmac.patch
+ grub-inode-size.patch
+ ext4.patch
+ grub-0.97-ldflags-objcopy-remove-build-id.patch
+ automake-pkglib.patch)
+backup=('boot/grub/menu.lst')
+install=grub.install
+sha1sums=('2580626c4579bd99336d3af4482c346c95dac4fb'
+ 'de504b22f586a8919c12ea3446cae3300a8365f0'
+ '3e23bfee50285c8c7b9ef9ec07964310278b1e09'
+ '157b81dbad3576536b08642242accfa1aeb093a9'
+ 'adbb4685c98797ffb4dc83561ec75698991dddbd'
+ 'f2e0dff29a7c8a45e90aa07298a1b2a9a9d29afc'
+ 'c5e2c94ed0e759590b9eb38c9d979f075d19d7c0'
+ '45fe668a3779664fb292591f426976b6c784d6c8'
+ '066d7ab1ae442f88e94c9e4f1867ac6682965d06'
+ '0436aa6fa0b6f768289172f983a3f4b69384629e'
+ 'a36f34e51efed540f1ddafd78e9c9f6d83e4c8d4'
+ '61c4b58d2eaa3c1561d8e9d8fc41341ce8882869'
+ '776ed278eb8ff80e949834f763fad68b8741e7cd')
+
+build() {
+ cd ${srcdir}/${_srcname}-${pkgver}
+
+ # optimizations break the build -- disable them
+ # adding special devices to grub, patches are from fedora
+ patch -Np1 -i ../special-devices.patch
+ patch -Np1 -i ../i2o.patch
+ patch -Np1 -i ../more-raid.patch
+ patch -Np1 -i ../intelmac.patch
+ # Add support for bigger inode size to e2fs_stage1_5
+ patch -Np1 -i ../grub-inode-size.patch
+ # Add ext4 support
+ # http://www.mail-archive.com/bug-grub@gnu.org/msg11458.html
+ patch -Np1 -i ../ext4.patch
+ # binutils fix
+ patch -Np1 -i ../grub-0.97-ldflags-objcopy-remove-build-id.patch
+ # "pkglib" is a reserved keyword in automake fix
+ patch -Np1 -i ../automake-pkglib.patch
+
+ sed -e'/^AC_PROG_CC/ a\AM_PROG_CC_C_O\ ' -i "${srcdir}/${_srcname}-${pkgver}/configure.ac"
+ sed -e'/^AC_PROG_CC/ a\AM_PROG_AS\ ' -i "${srcdir}/${_srcname}-${pkgver}/configure.ac"
+
+ ## recreate ./configure script with the required changes in LDFLAGS and objcopy
+ aclocal
+ autoconf
+ autoreconf -i
+ automake
+
+ if [ "$CARCH" = "x86_64" ]; then
+ # patch from gentoo for fixing a segfault
+ patch -Np1 -i ../040_all_grub-0.96-nxstack.patch
+ # patch from frugalware to make it boot when more than 2GB ram installed
+ patch -Np1 -i ../05-grub-0.97-initrdaddr.diff
+ CFLAGS="-static -fno-strict-aliasing" ./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/bin \
+ --mandir=/usr/share/man --infodir=/usr/share/info
+ else
+ CFLAGS="-fno-strict-aliasing" ./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/bin \
+ --mandir=/usr/share/man --infodir=/usr/share/info
+ fi
+}
+
+package() {
+ cd ${srcdir}/${_srcname}-${pkgver}
+
+ CFLAGS= make
+ make DESTDIR=${pkgdir} install
+ install -D -m644 ../menu.lst ${pkgdir}/boot/grub/menu.lst
+ install -D -m755 ../install-grub ${pkgdir}/usr/bin/install-grub
+
+}
diff --git a/libre/grub-legacy/automake-pkglib.patch b/libre/grub-legacy/automake-pkglib.patch
new file mode 100644
index 000000000..a3fff27a1
--- /dev/null
+++ b/libre/grub-legacy/automake-pkglib.patch
@@ -0,0 +1,48 @@
+--- a/stage1/Makefile.am
++++ b/stage1/Makefile.am
+@@ -1,7 +1,7 @@
+-pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
+-nodist_pkglib_DATA = stage1
++stagedir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
++nodist_stage_DATA = stage1
+
+-CLEANFILES = $(nodist_pkglib_DATA)
++CLEANFILES = $(nodist_stage_DATA)
+
+ # We can't use builtins or standard includes.
+ AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc
+--- a/stage2/Makefile.am
++++ b/stage2/Makefile.am
+@@ -27,12 +27,12 @@
+ -DUSE_MD5_PASSWORDS=1 -DSUPPORT_SERIAL=1 -DSUPPORT_HERCULES=1
+
+ # Stage 2 and Stage 1.5's.
+-pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
++stagedir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
+
+ EXTRA_PROGRAMS = nbloader.exec pxeloader.exec diskless.exec
+
+ if DISKLESS_SUPPORT
+-pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
++stage_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
+ ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \
+ reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5 \
+ nbgrub pxegrub
+@@ -43,7 +43,7 @@
+ reiserfs_stage1_5.exec ufs2_stage1_5.exec vstafs_stage1_5.exec \
+ xfs_stage1_5.exec nbloader.exec pxeloader.exec diskless.exec
+ else
+-pkglib_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
++stage_DATA = stage2 stage2_eltorito e2fs_stage1_5 fat_stage1_5 \
+ ffs_stage1_5 iso9660_stage1_5 jfs_stage1_5 minix_stage1_5 \
+ reiserfs_stage1_5 ufs2_stage1_5 vstafs_stage1_5 xfs_stage1_5
+ noinst_DATA = pre_stage2 start start_eltorito
+@@ -112,7 +112,7 @@
+ BUILT_SOURCES = stage2_size.h
+ endif
+
+-CLEANFILES = $(pkglib_DATA) $(noinst_DATA) $(BUILT_SOURCES)
++CLEANFILES = $(stage_DATA) $(noinst_DATA) $(BUILT_SOURCES)
+
+ stage2_size.h: pre_stage2
+ -rm -f stage2_size.h
diff --git a/libre/grub-legacy/ext4.patch b/libre/grub-legacy/ext4.patch
new file mode 100644
index 000000000..8a2f9bdb0
--- /dev/null
+++ b/libre/grub-legacy/ext4.patch
@@ -0,0 +1,263 @@
+diff -ruNp grub-0.97/stage2/fsys_ext2fs.c grub-0.97-patch/stage2/fsys_ext2fs.c
+--- grub-0.97/stage2/fsys_ext2fs.c 2004-08-08 20:19:18.000000000 +0200
++++ grub-0.97-patch/stage2/fsys_ext2fs.c 2007-12-29 16:25:19.000000000
++0100
+@@ -51,6 +51,9 @@ typedef unsigned int __u32;
+ #define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1)
+ #define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1)
+
++/* Inode flags */
++#define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */
++
+ /* include/linux/ext2_fs.h */
+ struct ext2_super_block
+ {
+@@ -191,6 +194,42 @@ struct ext2_dir_entry
+ #define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & \
+ ~EXT2_DIR_ROUND)
+
++/* linux/ext4_fs_extents.h */
++/*
++ * This is the extent on-disk structure.
++ * It's used at the bottom of the tree.
++ */
++struct ext4_extent {
++ __u32 ee_block; /* first logical block extent covers */
++ __u16 ee_len; /* number of blocks covered by extent */
++ __u16 ee_start_hi; /* high 16 bits of physical block */
++ __u32 ee_start; /* low 32 bits of physical block */
++};
++
++/*
++ * This is index on-disk structure.
++ * It's used at all the levels except the bottom.
++ */
++struct ext4_extent_idx {
++ __u32 ei_block; /* index covers logical blocks from 'block' */
++ __u32 ei_leaf; /* pointer to the physical block of the next *
++ * level. leaf or next index could be there */
++ __u16 ei_leaf_hi; /* high 16 bits of physical block */
++ __u16 ei_unused;
++};
++
++/*
++ * Each block (leaves and indexes), even inode-stored has header.
++ */
++struct ext4_extent_header {
++ __u16 eh_magic; /* probably will support different formats */
++ __u16 eh_entries; /* number of valid entries */
++ __u16 eh_max; /* capacity of store in entries */
++ __u16 eh_depth; /* has tree real underlying blocks? */
++ __u32 eh_generation; /* generation of the tree */
++};
++
++#define EXT4_EXT_MAGIC 0xf30a
+
+ /* ext2/super.c */
+ #define log2(n) ffz(~(n))
+@@ -279,6 +318,26 @@ ext2_rdfsb (int fsblock, int buffer)
+ EXT2_BLOCK_SIZE (SUPERBLOCK), (char *) buffer);
+ }
+
++/* Walk through extents index tree to find the good leaf */
++static struct ext4_extent_header *
++ext4_recurse_extent_index(struct ext4_extent_header *extent_block, int logical_block)
++{
++ int i;
++ struct ext4_extent_idx *index = (struct ext4_extent_idx *) (extent_block + 1);
++ if (extent_block->eh_magic != EXT4_EXT_MAGIC)
++ return NULL;
++ if (extent_block->eh_depth == 0)
++ return extent_block;
++ for (i = 0; i < extent_block->eh_entries; i++)
++ {
++ if (logical_block < index[i].ei_block)
++ break;
++ }
++ if (i == 0 || !ext2_rdfsb(index[i-1].ei_leaf, DATABLOCK1))
++ return NULL;
++ return (ext4_recurse_extent_index((struct ext4_extent_header *) DATABLOCK1, logical_block));
++}
++
+ /* from
+ ext2/inode.c:ext2_bmap()
+ */
+--- grub-0.97/stage2/fsys_ext2fs.c~ 2008-12-28 20:19:00.000000000 +0100
++++ grub-0.97/stage2/fsys_ext2fs.c 2008-12-28 20:19:00.000000000 +0100
+@@ -366,83 +366,106 @@
+ }
+ printf ("logical block %d\n", logical_block);
+ #endif /* E2DEBUG */
+-
+- /* if it is directly pointed to by the inode, return that physical addr */
+- if (logical_block < EXT2_NDIR_BLOCKS)
+- {
+-#ifdef E2DEBUG
+- printf ("returning %d\n", (unsigned char *) (INODE->i_block[logical_block]));
+- printf ("returning %d\n", INODE->i_block[logical_block]);
+-#endif /* E2DEBUG */
+- return INODE->i_block[logical_block];
+- }
+- /* else */
+- logical_block -= EXT2_NDIR_BLOCKS;
+- /* try the indirect block */
+- if (logical_block < EXT2_ADDR_PER_BLOCK (SUPERBLOCK))
++ /* standard ext2 inode */
++ if (!(INODE->i_flags & EXT4_EXTENTS_FL))
+ {
+- if (mapblock1 != 1
+- && !ext2_rdfsb (INODE->i_block[EXT2_IND_BLOCK], DATABLOCK1))
+- {
+- errnum = ERR_FSYS_CORRUPT;
+- return -1;
+- }
+- mapblock1 = 1;
+- return ((__u32 *) DATABLOCK1)[logical_block];
+- }
+- /* else */
+- logical_block -= EXT2_ADDR_PER_BLOCK (SUPERBLOCK);
+- /* now try the double indirect block */
+- if (logical_block < (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2)))
+- {
+- int bnum;
+- if (mapblock1 != 2
+- && !ext2_rdfsb (INODE->i_block[EXT2_DIND_BLOCK], DATABLOCK1))
+- {
+- errnum = ERR_FSYS_CORRUPT;
+- return -1;
+- }
+- mapblock1 = 2;
+- if ((bnum = (((__u32 *) DATABLOCK1)
+- [logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)]))
+- != mapblock2
+- && !ext2_rdfsb (bnum, DATABLOCK2))
+- {
+- errnum = ERR_FSYS_CORRUPT;
+- return -1;
+- }
+- mapblock2 = bnum;
++ /* if it is directly pointed to by the inode, return that physical addr */
++ if (logical_block < EXT2_NDIR_BLOCKS)
++ {
++#ifdef E2DEBUG
++ printf ("returning %d\n", (unsigned char *) (INODE->i_block[logical_block]));
++ printf ("returning %d\n", INODE->i_block[logical_block]);
++#endif /* E2DEBUG */
++ return INODE->i_block[logical_block];
++ }
++ /* else */
++ logical_block -= EXT2_NDIR_BLOCKS;
++ /* try the indirect block */
++ if (logical_block < EXT2_ADDR_PER_BLOCK (SUPERBLOCK))
++ {
++ if (mapblock1 != 1
++ && !ext2_rdfsb (INODE->i_block[EXT2_IND_BLOCK], DATABLOCK1))
++ {
++ errnum = ERR_FSYS_CORRUPT;
++ return -1;
++ }
++ mapblock1 = 1;
++ return ((__u32 *) DATABLOCK1)[logical_block];
++ }
++ /* else */
++ logical_block -= EXT2_ADDR_PER_BLOCK (SUPERBLOCK);
++ /* now try the double indirect block */
++ if (logical_block < (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2)))
++ {
++ int bnum;
++ if (mapblock1 != 2
++ && !ext2_rdfsb (INODE->i_block[EXT2_DIND_BLOCK], DATABLOCK1))
++ {
++ errnum = ERR_FSYS_CORRUPT;
++ return -1;
++ }
++ mapblock1 = 2;
++ if ((bnum = (((__u32 *) DATABLOCK1)
++ [logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)]))
++ != mapblock2
++ && !ext2_rdfsb (bnum, DATABLOCK2))
++ {
++ errnum = ERR_FSYS_CORRUPT;
++ return -1;
++ }
++ mapblock2 = bnum;
++ return ((__u32 *) DATABLOCK2)
++ [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)];
++ }
++ /* else */
++ mapblock2 = -1;
++ logical_block -= (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2));
++ if (mapblock1 != 3
++ && !ext2_rdfsb (INODE->i_block[EXT2_TIND_BLOCK], DATABLOCK1))
++ {
++ errnum = ERR_FSYS_CORRUPT;
++ return -1;
++ }
++ mapblock1 = 3;
++ if (!ext2_rdfsb (((__u32 *) DATABLOCK1)
++ [logical_block >> (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)
++ * 2)],
++ DATABLOCK2))
++ {
++ errnum = ERR_FSYS_CORRUPT;
++ return -1;
++ }
++ if (!ext2_rdfsb (((__u32 *) DATABLOCK2)
++ [(logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK))
++ & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)],
++ DATABLOCK2))
++ {
++ errnum = ERR_FSYS_CORRUPT;
++ return -1;
++ }
+ return ((__u32 *) DATABLOCK2)
+- [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)];
+- }
+- /* else */
+- mapblock2 = -1;
+- logical_block -= (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2));
+- if (mapblock1 != 3
+- && !ext2_rdfsb (INODE->i_block[EXT2_TIND_BLOCK], DATABLOCK1))
+- {
+- errnum = ERR_FSYS_CORRUPT;
+- return -1;
++ [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)];
+ }
+- mapblock1 = 3;
+- if (!ext2_rdfsb (((__u32 *) DATABLOCK1)
+- [logical_block >> (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)
+- * 2)],
+- DATABLOCK2))
+- {
+- errnum = ERR_FSYS_CORRUPT;
+- return -1;
+- }
+- if (!ext2_rdfsb (((__u32 *) DATABLOCK2)
+- [(logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK))
+- & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)],
+- DATABLOCK2))
++ /* inode is in extents format */
++ else
+ {
++ int i;
++ struct ext4_extent_header *extent_hdr = ext4_recurse_extent_index((struct ext4_extent_header *) INODE->i_block, logical_block);
++ struct ext4_extent *extent = (struct ext4_extent *) (extent_hdr + 1);
++ if ( extent_hdr == NULL || extent_hdr->eh_magic != EXT4_EXT_MAGIC)
++ {
++ errnum = ERR_FSYS_CORRUPT;
++ return -1;
++ }
++ for (i = 0; i<extent_hdr->eh_entries; i++)
++ {
++ if (extent[i].ee_block <= logical_block && logical_block < extent[i].ee_block + extent[i].ee_len && !(extent[i].ee_len>>15))
++ return (logical_block - extent[i].ee_block + extent[i].ee_start);
++ }
++ /* We should not arrive here */
+ errnum = ERR_FSYS_CORRUPT;
+ return -1;
+ }
+- return ((__u32 *) DATABLOCK2)
+- [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)];
+ }
+
+ /* preconditions: all preconds of ext2fs_block_map */
diff --git a/libre/grub-legacy/grub-0.97-ldflags-objcopy-remove-build-id.patch b/libre/grub-legacy/grub-0.97-ldflags-objcopy-remove-build-id.patch
new file mode 100644
index 000000000..2b7cc32d0
--- /dev/null
+++ b/libre/grub-legacy/grub-0.97-ldflags-objcopy-remove-build-id.patch
@@ -0,0 +1,196 @@
+diff --git a/Makefile.in b/Makefile.in
+index 6652366..ba058eb 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -112,6 +112,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
++LOADER_LDFLAGS = @LOADER_LDFLAGS@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+diff --git a/acinclude.m4 b/acinclude.m4
+index 368839c..32b3fa6 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -57,7 +57,7 @@ else
+ fi
+ grub_cv_prog_objcopy_absolute=yes
+ for link_addr in 2000 8000 7C00; do
+- if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec]); then :
++ if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr -Wl,--build-id=none conftest.o -o conftest.exec]); then :
+ else
+ AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr])
+ fi
+diff --git a/configure.ac b/configure.ac
+index bb9e1d9..9ac5c9f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -115,6 +115,9 @@ if test "x$ac_cv_prog_gcc" = xyes; then
+ fi
+ fi
+
++LOADER_LDFLAGS="-Wl,--build-id=none"
++AC_SUBST(LOADER_LDFLAGS)
++
+ AC_SUBST(STAGE1_CFLAGS)
+ AC_SUBST(STAGE2_CFLAGS)
+ AC_SUBST(GRUB_CFLAGS)
+diff --git a/docs/Makefile.in b/docs/Makefile.in
+index 3e2de4b..7b2c94d 100644
+--- a/docs/Makefile.in
++++ b/docs/Makefile.in
+@@ -131,6 +131,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
++LOADER_LDFLAGS = @LOADER_LDFLAGS@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+diff --git a/grub/Makefile.in b/grub/Makefile.in
+index 136c38f..7c23ebe 100644
+--- a/grub/Makefile.in
++++ b/grub/Makefile.in
+@@ -108,6 +108,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
++LOADER_LDFLAGS = @LOADER_LDFLAGS@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+diff --git a/lib/Makefile.in b/lib/Makefile.in
+index 3dae206..449e126 100644
+--- a/lib/Makefile.in
++++ b/lib/Makefile.in
+@@ -107,6 +107,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
++LOADER_LDFLAGS = @LOADER_LDFLAGS@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+diff --git a/netboot/Makefile.in b/netboot/Makefile.in
+index 75ac299..0275768 100644
+--- a/netboot/Makefile.in
++++ b/netboot/Makefile.in
+@@ -108,6 +108,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
++LOADER_LDFLAGS = @LOADER_LDFLAGS@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+diff --git a/stage1/Makefile.am b/stage1/Makefile.am
+index 0afc285..3d83356 100644
+--- a/stage1/Makefile.am
++++ b/stage1/Makefile.am
+@@ -5,7 +5,7 @@ CLEANFILES = $(nodist_pkglib_DATA)
+
+ # We can't use builtins or standard includes.
+ AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc
+-LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00
++LDFLAGS = $(LOADER_LDFLAGS) -nostdlib -Wl,-N,-Ttext,7C00
+
+ noinst_PROGRAMS = stage1.exec
+ stage1_exec_SOURCES = stage1.S stage1.h
+diff --git a/stage1/Makefile.in b/stage1/Makefile.in
+index 7134bdf..ee4477f 100644
+--- a/stage1/Makefile.in
++++ b/stage1/Makefile.in
+@@ -110,9 +110,10 @@ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+-LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00
++LDFLAGS = $(LOADER_LDFLAGS) -nostdlib -Wl,-N,-Ttext,7C00
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
++LOADER_LDFLAGS = @LOADER_LDFLAGS@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+diff --git a/stage2/Makefile.am b/stage2/Makefile.am
+index f8e6d42..ff6f347 100644
+--- a/stage2/Makefile.am
++++ b/stage2/Makefile.am
+@@ -55,11 +55,11 @@ noinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \
+ endif
+ MOSTLYCLEANFILES = $(noinst_PROGRAMS)
+
+-PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200
+-START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000
+-NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0
+-PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00
+-START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00
++PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 $(LOADER_LDFLAGS)
++START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 $(LOADER_LDFLAGS)
++NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 $(LOADER_LDFLAGS)
++PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS)
++START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS)
+
+ if NETBOOT_SUPPORT
+ NETBOOT_FLAGS = -I$(top_srcdir)/netboot -DSUPPORT_NETBOOT=1
+@@ -82,7 +82,7 @@ endif
+ STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+ $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS)
+
+-STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000
++STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 $(LOADER_LDFLAGS)
+ STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1
+
+ # For stage2 target.
+diff --git a/stage2/Makefile.in b/stage2/Makefile.in
+index d0062bd..88b2038 100644
+--- a/stage2/Makefile.in
++++ b/stage2/Makefile.in
+@@ -355,6 +355,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
++LOADER_LDFLAGS = @LOADER_LDFLAGS@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+@@ -468,11 +469,11 @@ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \
+ @DISKLESS_SUPPORT_FALSE@noinst_DATA = pre_stage2 start start_eltorito
+ @DISKLESS_SUPPORT_TRUE@noinst_DATA = pre_stage2 start start_eltorito nbloader pxeloader diskless
+ MOSTLYCLEANFILES = $(noinst_PROGRAMS)
+-PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200
+-START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000
+-NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0
+-PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00
+-START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00
++PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 $(LOADER_LDFLAGS)
++START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 $(LOADER_LDFLAGS)
++NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 $(LOADER_LDFLAGS)
++PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS)
++START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS)
+ @NETBOOT_SUPPORT_FALSE@NETBOOT_FLAGS =
+ @NETBOOT_SUPPORT_TRUE@NETBOOT_FLAGS = -I$(top_srcdir)/netboot -DSUPPORT_NETBOOT=1
+ @SERIAL_SUPPORT_FALSE@SERIAL_FLAGS =
+@@ -482,7 +483,7 @@ START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00
+ STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \
+ $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS)
+
+-STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000
++STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 $(LOADER_LDFLAGS)
+ STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1
+
+ # For stage2 target.
+diff --git a/util/Makefile.in b/util/Makefile.in
+index e700cf7..cd3bf51 100644
+--- a/util/Makefile.in
++++ b/util/Makefile.in
+@@ -113,6 +113,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
++LOADER_LDFLAGS = @LOADER_LDFLAGS@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
diff --git a/libre/grub-legacy/grub-inode-size.patch b/libre/grub-legacy/grub-inode-size.patch
new file mode 100644
index 000000000..f5ceb110b
--- /dev/null
+++ b/libre/grub-legacy/grub-inode-size.patch
@@ -0,0 +1,100 @@
+diff -Naur grub-0.97-800/stage2/fsys_ext2fs.c grub-0.97-810/stage2/fsys_ext2fs.c
+--- grub-0.97-800/stage2/fsys_ext2fs.c 2008-07-21 00:40:21.668879475 -0600
++++ grub-0.97-810/stage2/fsys_ext2fs.c 2008-07-21 01:01:11.063953773 -0600
+@@ -79,7 +79,52 @@
+ __u32 s_rev_level; /* Revision level */
+ __u16 s_def_resuid; /* Default uid for reserved blocks */
+ __u16 s_def_resgid; /* Default gid for reserved blocks */
+- __u32 s_reserved[235]; /* Padding to the end of the block */
++ /*
++ * These fields are for EXT2_DYNAMIC_REV superblocks only.
++ *
++ * Note: the difference between the compatible feature set and
++ * the incompatible feature set is that if there is a bit set
++ * in the incompatible feature set that the kernel doesn't
++ * know about, it should refuse to mount the filesystem.
++ *
++ * e2fsck's requirements are more strict; if it doesn't know
++ * about a feature in either the compatible or incompatible
++ * feature set, it must abort and not try to meddle with
++ * things it doesn't understand...
++ */
++ __u32 s_first_ino; /* First non-reserved inode */
++ __u16 s_inode_size; /* size of inode structure */
++ __u16 s_block_group_nr; /* block group # of this superblock */
++ __u32 s_feature_compat; /* compatible feature set */
++ __u32 s_feature_incompat; /* incompatible feature set */
++ __u32 s_feature_ro_compat; /* readonly-compatible feature set */
++ __u8 s_uuid[16]; /* 128-bit uuid for volume */
++ char s_volume_name[16]; /* volume name */
++ char s_last_mounted[64]; /* directory where last mounted */
++ __u32 s_algorithm_usage_bitmap; /* For compression */
++ /*
++ * Performance hints. Directory preallocation should only
++ * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on.
++ */
++ __u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/
++ __u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */
++ __u16 s_reserved_gdt_blocks;/* Per group table for online growth */
++ /*
++ * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set.
++ */
++ __u8 s_journal_uuid[16]; /* uuid of journal superblock */
++ __u32 s_journal_inum; /* inode number of journal file */
++ __u32 s_journal_dev; /* device number of journal file */
++ __u32 s_last_orphan; /* start of list of inodes to delete */
++ __u32 s_hash_seed[4]; /* HTREE hash seed */
++ __u8 s_def_hash_version; /* Default hash version to use */
++ __u8 s_jnl_backup_type; /* Default type of journal backup */
++ __u16 s_reserved_word_pad;
++ __u32 s_default_mount_opts;
++ __u32 s_first_meta_bg; /* First metablock group */
++ __u32 s_mkfs_time; /* When the filesystem was created */
++ __u32 s_jnl_blocks[17]; /* Backup of the journal inode */
++ __u32 s_reserved[172]; /* Padding to the end of the block */
+ };
+
+ struct ext2_group_desc
+@@ -218,6 +263,14 @@
+ #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32))
+ #define EXT2_ADDR_PER_BLOCK_BITS(s) (log2(EXT2_ADDR_PER_BLOCK(s)))
+
++#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */
++#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */
++#define EXT2_GOOD_OLD_INODE_SIZE 128
++#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \
++ EXT2_GOOD_OLD_INODE_SIZE : \
++ (s)->s_inode_size)
++#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s))
++
+ /* linux/ext2_fs.h */
+ #define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10)
+ /* kind of from ext2/super.c */
+@@ -553,7 +606,7 @@
+ gdp = GROUP_DESC;
+ ino_blk = gdp[desc].bg_inode_table +
+ (((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group))
+- >> log2 (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)));
++ >> log2 (EXT2_INODES_PER_BLOCK (SUPERBLOCK)));
+ #ifdef E2DEBUG
+ printf ("inode table fsblock=%d\n", ino_blk);
+ #endif /* E2DEBUG */
+@@ -565,13 +618,12 @@
+ /* reset indirect blocks! */
+ mapblock2 = mapblock1 = -1;
+
+- raw_inode = INODE +
+- ((current_ino - 1)
+- & (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode) - 1));
++ raw_inode = (struct ext2_inode *)((char *)INODE +
++ ((current_ino - 1) & (EXT2_INODES_PER_BLOCK (SUPERBLOCK) - 1)) *
++ EXT2_INODE_SIZE (SUPERBLOCK));
+ #ifdef E2DEBUG
+ printf ("ipb=%d, sizeof(inode)=%d\n",
+- (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)),
+- sizeof (struct ext2_inode));
++ EXT2_INODES_PER_BLOCK (SUPERBLOCK), EXT2_INODE_SIZE (SUPERBLOCK));
+ printf ("inode=%x, raw_inode=%x\n", INODE, raw_inode);
+ printf ("offset into inode table block=%d\n", (int) raw_inode - (int) INODE);
+ for (i = (unsigned char *) INODE; i <= (unsigned char *) raw_inode;
+
diff --git a/libre/grub-legacy/grub.install b/libre/grub-legacy/grub.install
new file mode 100644
index 000000000..c1f077d59
--- /dev/null
+++ b/libre/grub-legacy/grub.install
@@ -0,0 +1,20 @@
+infodir=/usr/share/info
+filelist=(grub.info multiboot.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/libre/grub-legacy/i2o.patch b/libre/grub-legacy/i2o.patch
new file mode 100644
index 000000000..2af846c90
--- /dev/null
+++ b/libre/grub-legacy/i2o.patch
@@ -0,0 +1,45 @@
+Only in grub-0.94/docs: grub.info
+Only in grub-0.94/docs: multiboot.info
+diff -ur grub-0.94/lib/device.c grub-0.94.new/lib/device.c
+--- grub-0.94/lib/device.c 2004-05-07 04:50:36.375238696 +0200
++++ grub-0.94.new/lib/device.c 2004-05-07 04:48:57.611253104 +0200
+@@ -419,6 +419,12 @@
+ {
+ sprintf (name, "/dev/rd/c%dd%d", controller, drive);
+ }
++
++static void
++get_i2o_disk_name (char *name, int unit)
++{
++ sprintf (name, "/dev/i2o/hd%c", unit + 'a');
++}
+ #endif
+
+ /* Check if DEVICE can be read. If an error occurs, return zero,
+@@ -789,6 +795,26 @@
+ }
+ }
+ }
++
++ /* I2O disks. */
++ for (i = 0; i < 8; i++)
++ {
++ char name[16];
++
++ get_i2o_disk_name (name, i);
++ if (check_device (name))
++ {
++ (*map)[num_hd + 0x80] = strdup (name);
++ assert ((*map)[num_hd + 0x80]);
++
++ /* If the device map file is opened, write the map. */
++ if (fp)
++ fprintf (fp, "(hd%d)\t%s\n", num_hd, name);
++
++ num_hd++;
++ }
++ }
++
+ #endif /* __linux__ */
+
+ /* OK, close the device map file if opened. */
diff --git a/libre/grub-legacy/install-grub b/libre/grub-legacy/install-grub
new file mode 100644
index 000000000..affc9c38a
--- /dev/null
+++ b/libre/grub-legacy/install-grub
@@ -0,0 +1,204 @@
+#!/bin/bash
+
+#
+# This is a little helper script that tries to convert linux-style device
+# names to grub-style. It's not very smart, so it
+# probably won't work for more complicated setups.
+#
+# If it doesn't work for you, try installing grub manually:
+#
+# # mkdir -p /boot/grub
+# # cp /usr/lib/grub/i386-pc/* /boot/grub/
+#
+# Then start up the 'grub' shell and run something like the following:
+#
+# grub> root (hd0,0)
+# grub> setup (hd0)
+#
+# The "root" line should point to the partition your kernel is located on,
+# /boot if you have a separate boot partition, otherwise your root (/).
+#
+# The "setup" line tells grub which disc/partition to install the
+# bootloader to. In the example above, it will install to the MBR of the
+# primary master hard drive.
+#
+
+usage() {
+ echo "usage: install-grub <install_device> [boot_device]"
+ echo
+ echo "where <install_device> is the device where Grub will be installed"
+ echo "and [boot_device] is the partition that contains the /boot"
+ echo "directory (auto-detected if omitted)"
+ echo
+ echo "examples: install-grub /dev/hda"
+ echo " install-grub /dev/hda /dev/hda1"
+ echo
+ exit 0
+}
+
+## new install-grub, code was taken from setup script
+ROOTDEV=${1}
+PART_ROOT=${2}
+
+if [ "${ROOTDEV}" = "" ]; then
+ usage
+fi
+if [ "${PART_ROOT}" = "" ]; then
+ PART_ROOT=$(mount | grep "on /boot type" | cut -d' ' -f 1)
+fi
+if [ "$PART_ROOT" = "" ]; then
+ PART_ROOT=$(mount | grep "on / type" | cut -d' ' -f 1)
+fi
+if [ "${PART_ROOT}" = "" ]; then
+ echo "error: could not determine BOOT_DEVICE, please specify manually" >&2
+ exit 1
+fi
+
+
+get_grub_map() {
+ [ -e /tmp/dev.map ] && rm /tmp/dev.map
+ /sbin/grub --no-floppy --device-map /tmp/dev.map >/tmp/grub.log 2>&1 <<EOF
+quit
+EOF
+}
+
+mapdev() {
+ partition_flag=0
+ device_found=0
+ devs=$(cat /tmp/dev.map | grep -v fd | sed 's/ *\t/ /' | sed ':a;$!N;$!ba;s/\n/ /g')
+ linuxdevice=$(echo $1 | cut -b1-8)
+ if [ "$(echo ${1} | egrep '[0-9]$')" ]; then
+ # /dev/hdXY
+ pnum=$(echo ${1} | cut -b9-)
+ pnum=$((${pnum}-1))
+ partition_flag=1
+ fi
+ for dev in ${devs}; do
+ if [ "(" = $(echo ${dev} | cut -b1) ]; then
+ grubdevice="${dev}"
+ else
+ if [ "${dev}" = "${linuxdevice}" ]; then
+ device_found=1
+ break
+ fi
+ fi
+ done
+ if [ "${device_found}" = "1" ]; then
+ if [ "${partition_flag}" = "0" ]; then
+ echo "${grubdevice}"
+ else
+ grubdevice_stringlen=${#grubdevice}
+ let grubdevice_stringlen--
+ grubdevice=$(echo $grubdevice | cut -b1-$grubdevice_stringlen)
+ echo "${grubdevice},${pnum})"
+ fi
+ else
+ echo " DEVICE NOT FOUND"
+ fi
+}
+
+dogrub() {
+ get_grub_map
+ if [ ! -f /boot/grub/menu.lst ]; then
+ echo "Error: Couldn't find /boot/grub/menu.lst. Is GRUB installed?"
+ exit 1
+ fi
+ # try to auto-configure GRUB...
+ if [ "${PART_ROOT}" != "" -a "$S_GRUB" != "1" ]; then
+ grubdev=$(mapdev ${PART_ROOT})
+ # look for a separately-mounted /boot partition
+ bootdev=$(mount | grep /boot | cut -d' ' -f 1)
+ if [ "${grubdev}" != "" -o "${bootdev}" != "" ]; then
+ cp /boot/grub/menu.lst /tmp/.menu.lst
+ # remove the default entries by truncating the file at our little tag (#-*)
+ head -n $(cat /tmp/.menu.lst | grep -n '#-\*' | cut -d: -f 1) /tmp/.menu.lst >/boot/grub/menu.lst
+ rm -f /tmp/.menu.lst
+
+ for kernel in /boot/vmlinuz-linux* /boot/vmlinuz26-*; do
+ if [ ${kernel} == "/boot/vmlinuz-linux*" ] || [ ${kernel} == "/boot/vmlinuz26-*" ] ; then
+ echo > /dev/null
+ else
+ VMLINUZ=$( echo ${kernel} | cut -c 7- )
+
+ if [ "$( echo ${VMLINUZ} | cut -c -13 )" = "vmlinuz-linux" ]; then # new naming scheme for linux > 3.0
+ extension=$( echo ${VMLINUZ} | cut -c 14- )
+ INITRAMFS_BASENAME=initramfs-linux${extension}
+ else # old naming scheme for lts kernel
+ extension=$( echo ${VMLINUZ} | cut -c 10- )
+ INITRAMFS_BASENAME=kernel26${extension}
+ fi
+
+ echo "" >>/boot/grub/menu.lst
+ echo "# (0) Parabola GNU/Linux-libre" >>/boot/grub/menu.lst
+ echo "title Parabola GNU/Linux-libre - ${VMLINUZ}" >>/boot/grub/menu.lst
+ subdir=
+ if [ "${bootdev}" != "" ]; then
+ grubdev=$(mapdev ${bootdev})
+ else
+ subdir="/boot"
+ fi
+ echo "root ${grubdev}" >>/boot/grub/menu.lst
+ echo "kernel ${subdir}/${VMLINUZ} root=${PART_ROOT} ro" >>/boot/grub/menu.lst
+ echo "initrd ${subdir}/${INITRAMFS_BASENAME}.img" >>/boot/grub/menu.lst
+ echo "" >>/boot/grub/menu.lst
+
+ # adding fallback/full image
+ echo "# (1) Parabola GNU/Linux-libre" >>/boot/grub/menu.lst
+ echo "title Parabola GNU/Linux-libre Fallback - ${VMLINUZ}" >>/boot/grub/menu.lst
+ echo "root ${grubdev}" >>/boot/grub/menu.lst
+ echo "kernel ${subdir}/${VMLINUZ} root=${PART_ROOT} ro" >>/boot/grub/menu.lst
+ echo "initrd ${subdir}/${INITRAMFS_BASENAME}-fallback.img" >>/boot/grub/menu.lst
+ echo "" >>/boot/grub/menu.lst
+ fi
+ done
+ fi
+ fi
+
+ echo "Installing the GRUB bootloader..."
+ cp -a /usr/lib/grub/i386-pc/* /boot/grub/
+ sync
+
+ # freeze xfs filesystems to enable grub installation on xfs filesystems
+ if [ -x /usr/sbin/xfs_freeze ]; then
+ [ "$(stat -fLc %T /boot)" == "xfs" ] && /usr/sbin/xfs_freeze -f /boot > /dev/null 2>&1
+ [ "$(stat -fLc %T /)" == "xfs" ] && /usr/sbin/xfs_freeze -f / > /dev/null 2>&1
+ fi
+
+ # look for a separately-mounted /boot partition
+ bootpart=$(mount | grep /boot | cut -d' ' -f 1)
+ if [ "${bootpart}" = "" ]; then
+ bootpart=${PART_ROOT}
+ fi
+ bootpart=$(mapdev ${bootpart})
+ bootdev=$(mapdev ${ROOTDEV})
+ if [ "${bootpart}" = "" ]; then
+ echo "Error: Missing/Invalid root device: ${bootpart}"
+ exit 1
+ fi
+
+ echo ${bootpart}
+ echo ${bootdev}
+ /sbin/grub --no-floppy --batch >/tmp/grub.log 2>&1 <<EOF
+root ${bootpart}
+setup ${bootdev}
+quit
+EOF
+ cat /tmp/grub.log
+
+ # unfreeze xfs filesystems
+ if [ -x /usr/sbin/xfs_freeze ]; then
+ [ "$(stat -fLc %T /boot)" == "xfs" ] && /usr/sbin/xfs_freeze -u /boot > /dev/null 2>&1
+ [ "$(stat -fLc %T /)" == "xfs" ] && /usr/sbin/xfs_freeze -u / > /dev/null 2>&1
+ fi
+ if grep "Error [0-9]*: " /tmp/grub.log >/dev/null; then
+ echo "Error installing GRUB. (see /tmp/grub.log for output)"
+ exit 1
+ fi
+ echo "GRUB was successfully installed."
+
+ rm -f /tmp/grub.log
+
+ exit 0
+}
+
+dogrub
diff --git a/libre/grub-legacy/intelmac.patch b/libre/grub-legacy/intelmac.patch
new file mode 100644
index 000000000..a3fabc733
--- /dev/null
+++ b/libre/grub-legacy/intelmac.patch
@@ -0,0 +1,67 @@
+--- grub-0.97.orig/stage2/asm.S 2004-06-19 18:55:22.000000000 +0200
++++ grub-0.97/stage2/asm.S 2006-04-21 11:10:52.000000000 +0200
+@@ -1651,7 +1651,29 @@
+ jnz 3f
+ ret
+
+-3: /* use keyboard controller */
++3: /*
++ * try to switch gateA20 using PORT92, the "Fast A20 and Init"
++ * register
++ */
++ mov $0x92, %dx
++ inb %dx, %al
++ /* skip the port92 code if it's unimplemented (read returns 0xff) */
++ cmpb $0xff, %al
++ jz 6f
++
++ /* set or clear bit1, the ALT_A20_GATE bit */
++ movb 4(%esp), %ah
++ testb %ah, %ah
++ jz 4f
++ orb $2, %al
++ jmp 5f
++4: and $0xfd, %al
++
++ /* clear the INIT_NOW bit don't accidently reset the machine */
++5: and $0xfe, %al
++ outb %al, %dx
++
++6: /* use keyboard controller */
+ pushl %eax
+
+ call gloop1
+@@ -1661,9 +1683,12 @@
+
+ gloopint1:
+ inb $K_STATUS
++ cmpb $0xff, %al
++ jz gloopint1_done
+ andb $K_IBUF_FUL, %al
+ jnz gloopint1
+
++gloopint1_done:
+ movb $KB_OUTPUT_MASK, %al
+ cmpb $0, 0x8(%esp)
+ jz gdoit
+@@ -1684,6 +1709,8 @@
+
+ gloop1:
+ inb $K_STATUS
++ cmpb $0xff, %al
++ jz gloop2ret
+ andb $K_IBUF_FUL, %al
+ jnz gloop1
+
+@@ -1991,6 +2018,11 @@
+ ENTRY(console_getkey)
+ push %ebp
+
++wait_for_key:
++ call EXT_C(console_checkkey)
++ incl %eax
++ jz wait_for_key
++
+ call EXT_C(prot_to_real)
+ .code16
+
diff --git a/libre/grub-legacy/menu.lst b/libre/grub-legacy/menu.lst
new file mode 100644
index 000000000..f405baa91
--- /dev/null
+++ b/libre/grub-legacy/menu.lst
@@ -0,0 +1,43 @@
+# Config file for GRUB - The GNU GRand Unified Bootloader
+# /boot/grub/menu.lst
+
+# DEVICE NAME CONVERSIONS
+#
+# Linux Grub
+# -------------------------
+# /dev/fd0 (fd0)
+# /dev/sda (hd0)
+# /dev/sdb2 (hd1,1)
+# /dev/sda3 (hd0,2)
+#
+
+# FRAMEBUFFER RESOLUTION SETTINGS
+# +-------------------------------------------------+
+# | 640x480 800x600 1024x768 1280x1024
+# ----+--------------------------------------------
+# 256 | 0x301=769 0x303=771 0x305=773 0x307=775
+# 32K | 0x310=784 0x313=787 0x316=790 0x319=793
+# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794
+# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795
+# +-------------------------------------------------+
+# for more details and different resolutions see
+# https://wiki.archlinux.org/index.php/GRUB#Framebuffer_resolution
+
+# general configuration:
+timeout 5
+default 0
+color magenta/black white/magenta
+
+# boot sections follow
+# each is implicitly numbered from 0 in the order of appearance below
+#
+# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
+#
+#-*
+
+# (0) Parabola GNU/Linux-libre
+title Parabola GNU/Linux-libre [/boot/vmlinuz-linux-libre]
+root (hd0,0)
+kernel /vmlinuz-linux-libre root=/dev/sda3 ro
+initrd /initramfs-linux-libre.img
+
diff --git a/libre/grub-legacy/more-raid.patch b/libre/grub-legacy/more-raid.patch
new file mode 100644
index 000000000..39db23474
--- /dev/null
+++ b/libre/grub-legacy/more-raid.patch
@@ -0,0 +1,100 @@
+--- grub-0.95/lib/device.c.moreraid 2004-11-30 17:09:36.736099360 -0500
++++ grub-0.95/lib/device.c 2004-11-30 17:12:17.319686944 -0500
+@@ -544,6 +544,17 @@
+ }
+
+ static void
++get_cciss_disk_name (char * name, int controller, int drive)
++{
++ sprintf (name, "/dev/cciss/c%dd%d", controller, drive);
++}
++
++static void
++get_cpqarray_disk_name (char * name, int controller, int drive)
++{
++ sprintf (name, "/dev/ida/c%dd%d", controller, drive);
++}
++static void
+ get_ataraid_disk_name (char *name, int unit)
+ {
+ sprintf (name, "/dev/ataraid/d%c", unit + '0');
+@@ -920,7 +931,7 @@
+
+ for (controller = 0; controller < 8; controller++)
+ {
+- for (drive = 0; drive < 15; drive++)
++ for (drive = 0; drive < 32; drive++)
+ {
+ char name[24];
+
+@@ -940,6 +951,70 @@
+ }
+ }
+ #endif /* __linux__ */
++
++#ifdef __linux__
++ /* This is for cciss - we have
++ /dev/cciss/c<controller>d<logical drive>p<partition>.
++
++ cciss driver currently supports up to 8 controllers, 16 logical
++ drives, and 7 partitions. */
++ {
++ int controller, drive;
++
++ for (controller = 0; controller < 8; controller++)
++ {
++ for (drive = 0; drive < 16; drive++)
++ {
++ char name[24];
++
++ get_cciss_disk_name (name, controller, drive);
++ if (check_device (name))
++ {
++ (*map)[num_hd + 0x80] = strdup (name);
++ assert ((*map)[num_hd + 0x80]);
++
++ /* If the device map file is opened, write the map. */
++ if (fp)
++ fprintf (fp, "(hd%d)\t%s\n", num_hd, name);
++
++ num_hd++;
++ }
++ }
++ }
++ }
++#endif /* __linux__ */
++
++#ifdef __linux__
++ /* This is for cpqarray - we have
++ /dev/ida/c<controller>d<logical drive>p<partition>.
++
++ cpqarray driver currently supports up to 8 controllers, 16 logical
++ drives, and 15 partitions. */
++ {
++ int controller, drive;
++
++ for (controller = 0; controller < 8; controller++)
++ {
++ for (drive = 0; drive < 15; drive++)
++ {
++ char name[24];
++
++ get_cpqarray_disk_name (name, controller, drive);
++ if (check_device (name))
++ {
++ (*map)[num_hd + 0x80] = strdup (name);
++ assert ((*map)[num_hd + 0x80]);
++
++ /* If the device map file is opened, write the map. */
++ if (fp)
++ fprintf (fp, "(hd%d)\t%s\n", num_hd, name);
++
++ num_hd++;
++ }
++ }
++ }
++ }
++#endif /* __linux__ */
+
+ /* OK, close the device map file if opened. */
+ if (fp)
diff --git a/libre/grub-legacy/special-devices.patch b/libre/grub-legacy/special-devices.patch
new file mode 100644
index 000000000..894f3e887
--- /dev/null
+++ b/libre/grub-legacy/special-devices.patch
@@ -0,0 +1,18 @@
+--- grub-0.93/lib/device.c.raid 2002-05-20 05:53:46.000000000 -0400
++++ grub-0.93/lib/device.c 2002-12-28 23:24:10.000000000 -0500
+@@ -689,7 +689,14 @@
+ if (strcmp (dev + strlen(dev) - 5, "/disc") == 0)
+ strcpy (dev + strlen(dev) - 5, "/part");
+ }
+- sprintf (dev + strlen(dev), "%d", ((partition >> 16) & 0xFF) + 1);
++
++ sprintf (dev + strlen(dev), "%s%d",
++ /* Compaq smart and others */
++ (strncmp(dev, "/dev/ida/", 9) == 0 ||
++ strncmp(dev, "/dev/ataraid/", 13) == 0 ||
++ strncmp(dev, "/dev/cciss/", 11) == 0 ||
++ strncmp(dev, "/dev/rd/", 8) == 0) ? "p" : "",
++ ((partition >> 16) & 0xFF) + 1);
+
+ /* Open the partition. */
+ fd = open (dev, O_RDWR);
diff --git a/libre/grub/0069-Backport-gnulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch b/libre/grub/0069-Backport-gnulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch
new file mode 100644
index 000000000..e043633af
--- /dev/null
+++ b/libre/grub/0069-Backport-gnulib-fixes-for-C11.-Fixes-Savannah-bug-37.patch
@@ -0,0 +1,50 @@
+From d09689a5a2863043d007c1acb9bf0a8d1d3b776d Mon Sep 17 00:00:00 2001
+From: Colin Watson <cjwatson@ubuntu.com>
+Date: Fri, 28 Dec 2012 06:43:35 +0000
+Subject: [PATCH 069/364] Backport gnulib fixes for C11. Fixes Savannah bug
+ #37738.
+
+* grub-core/gnulib/stdio.in.h (gets): Warn on use only if
+HAVE_RAW_DECL_GETS.
+* m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
+---
+ ChangeLog | 8 ++++++++
+ grub-core/gnulib/stdio.in.h | 6 ++++--
+ m4/stdio_h.m4 | 2 +-
+ 3 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/grub-core/gnulib/stdio.in.h b/grub-core/gnulib/stdio.in.h
+index 80b9dbf..a8b00c6 100644
+--- a/grub-core/gnulib/stdio.in.h
++++ b/grub-core/gnulib/stdio.in.h
+@@ -138,10 +138,12 @@ _GL_WARN_ON_USE (fflush, "fflush is not always POSIX compliant - "
+ #endif
+
+ /* It is very rare that the developer ever has full control of stdin,
+- so any use of gets warrants an unconditional warning. Assume it is
+- always declared, since it is required by C89. */
++ so any use of gets warrants an unconditional warning; besides, C11
++ removed it. */
+ #undef gets
++#if HAVE_RAW_DECL_GETS
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
+diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4
+index f5650cd..8458bec 100644
+--- a/m4/stdio_h.m4
++++ b/m4/stdio_h.m4
+@@ -37,7 +37,7 @@ AC_DEFUN([gl_STDIO_H],
+ dnl corresponding gnulib module is not in use, and which is not
+ dnl guaranteed by C89.
+ gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
+- ]], [dprintf fpurge fseeko ftello getdelim getline popen renameat
++ ]], [dprintf fpurge fseeko ftello getdelim getline gets popen renameat
+ snprintf tmpfile vdprintf vsnprintf])
+ ])
+
+--
+1.8.1.4
+
diff --git a/libre/grub/09_parabola b/libre/grub/09_parabola
new file mode 100644
index 000000000..49cbad4ba
--- /dev/null
+++ b/libre/grub/09_parabola
@@ -0,0 +1,178 @@
+#!/usr/bin/env bash
+
+##
+## grub-mkconfig helper script specific to Parabola GNU/Linux-libre
+## Contributed by "Keshav Padram Amburay" <the ddoott ridikulus ddoott rat aatt geemmayil ddoott ccoomm>
+## Rebranded for Parabola by "André Silva" <emulatorman@parabola.nu>
+##
+## Script based on do_grub_config() function in Arch Archboot ISO Installer/Setup script
+## Some parts taken from /etc/grub.d/10_linux script shipped by GRUB(2) upstream
+##
+## This script can be freely distributed and/or modified
+## under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## (at your option) any later version.
+##
+## This script 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 General Public License for more details.
+##
+
+_FUNC_GRUB_FILE_PRESENT() {
+
+ [[ -z "${GRUB_PLATFORM}" ]] && GRUB_PLATFORM="x86"
+
+ if [[ "${GRUB_PLATFORM}" == "x86" ]]; then
+ check="--is-x86-linux32"
+ elif [[ "${GRUB_PLATFORM}" == "i386-xen-pae" ]]; then
+ check="--is-i386-xen-pae-domu"
+ elif [[ "${GRUB_PLATFORM}" == "x86_64-xen" ]]; then
+ check="--is-x86_64-xen-domu"
+ else
+ check="--is-${GRUB_PLATFORM}-linux"
+ fi
+
+ case "${GRUB_PLATFORM}" in
+ x86)
+ list="$(for i in "${GRUB_ROOT}"/boot/vmlinuz-linux* ; do
+ if grub_file_is_not_garbage "${i}" && "${grub_file}" ${check} "${i}" ; then echo -n "${i} " ; fi
+ done)" ;;
+ *)
+ list="$(for i in "${GRUB_ROOT}"/boot/vmlinuz-linux* ; do
+ if grub_file_is_not_garbage "${i}" && "${grub_file}" ${check} "${i}" ; then echo -n "${i} " ; fi
+ done)" ;;
+ esac
+}
+
+set -e
+
+prefix="/usr"
+exec_prefix="${prefix}"
+datarootdir="/usr/share"
+datadir="${datarootdir}"
+sysconfdir="/etc"
+
+. "${datarootdir}/grub/grub-mkconfig_lib"
+
+. "${sysconfdir}/default/grub"
+
+export TEXTDOMAIN="grub"
+export TEXTDOMAINDIR="${datarootdir}/locale"
+
+CLASS="--class parabola --class gnu-linux --class gnu --class os"
+
+[[ "${grub_file}" != "" ]] && _FUNC_GRUB_FILE_PRESENT
+
+BOOT_PART_FS_UUID="$(${grub_probe} --target="fs_uuid" "/boot" 2>/dev/null)"
+BOOT_PART_HINTS_STRING="$(${grub_probe} --target="hints_string" "/boot" 2>/dev/null)"
+BOOT_PART_FS="$(${grub_probe} --target="fs" "/boot" 2>/dev/null)"
+
+ROOT_PART_FS_UUID="$(${grub_probe} --target="fs_uuid" "/" 2>/dev/null)"
+ROOT_PART_HINTS_STRING="$(${grub_probe} --target="hints_string" "/" 2>/dev/null)"
+ROOT_PART_FS="$(${grub_probe} --target="fs" "/" 2>/dev/null)"
+
+if [[ "${ROOT_PART_FS_UUID}" == "${BOOT_PART_FS_UUID}" ]]; then
+ SUBDIR="/boot"
+else
+ SUBDIR=""
+fi
+
+if [[ "${GRUB_LINUX_ROOT_DEVICE}" == "" ]]; then
+ if [[ "${GRUB_DEVICE_UUID}" == "" ]] || \
+ [[ "${GRUB_DISABLE_LINUX_UUID}" == "true" ]] || \
+ [[ ! -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" ]] || \
+ uses_abstraction "${GRUB_DEVICE}" lvm ; then
+ GRUB_LINUX_ROOT_DEVICE="${GRUB_DEVICE}"
+ else
+ GRUB_LINUX_ROOT_DEVICE="UUID=${GRUB_DEVICE_UUID}"
+ fi
+fi
+
+[[ "${GRUB_LINUX_PARAMS}" == "" ]] && GRUB_LINUX_PARAMS="${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
+
+for _KERNEL_ in ${list} ; do
+
+ echo "Found linux image: ${_KERNEL_}" >&2
+
+ _KERNEL_FILE_="$(echo ${_KERNEL_} | sed 's,/boot/,,g')"
+ _KERNEL_PKG_="pkg-$(echo ${_KERNEL_FILE_} | sed 's,vmlinuz-,,g')"
+
+ _INITRAMFS_="${_KERNEL_FILE_/vmlinuz-/initramfs-}.img"
+
+ if [[ -e "/boot/${_INITRAMFS_}" ]]; then
+
+ echo "Found initramfs image: /boot/${_INITRAMFS_}" >&2
+
+cat << EOF
+
+menuentry "Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel" ${CLASS} {
+ if [ x\$feature_all_video_module = xy ]; then
+ insmod all_video
+ fi
+ set gfxpayload=keep
+ insmod ${BOOT_PART_FS}
+ if [ x\$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID}
+ else
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID}
+ fi
+ echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel ...'
+ linux ${SUBDIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS}
+ echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel initramfs ...'
+ initrd ${SUBDIR}/${_INITRAMFS_}
+}
+
+EOF
+ fi
+
+ _INITRAMFS_FALLBACK_="${_KERNEL_FILE_/vmlinuz-/initramfs-}-fallback.img"
+
+ if [[ -e "/boot/${_INITRAMFS_FALLBACK_}" ]]; then
+
+ echo "Found fallback initramfs image: /boot/${_INITRAMFS_FALLBACK_}" >&2
+
+cat << EOF
+
+menuentry "Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel (fallback initramfs)" ${CLASS} {
+ if [ x\$feature_all_video_module = xy ]; then
+ insmod all_video
+ fi
+ set gfxpayload=keep
+ insmod ${BOOT_PART_FS}
+ if [ x\$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID}
+ else
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID}
+ fi
+ echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel ...'
+ linux ${SUBDIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS}
+ echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel fallback initramfs ...'
+ initrd ${SUBDIR}/${_INITRAMFS_FALLBACK_}
+}
+
+EOF
+ fi
+
+ if [[ ! -e "/boot/${_INITRAMFS_}" ]] && [[ ! -e "/boot/${_INITRAMFS_FALLBACK_}" ]]; then
+cat << EOF
+
+menuentry "Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel (no initramfs)" ${CLASS} {
+ if [ x\$feature_all_video_module = xy ]; then
+ insmod all_video
+ fi
+ set gfxpayload=keep
+ insmod ${BOOT_PART_FS}
+ if [ x\$feature_platform_search_hint = xy ]; then
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID}
+ else
+ search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID}
+ fi
+ echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel ...'
+ linux ${SUBDIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS}
+}
+
+EOF
+ fi
+
+done
diff --git a/libre/grub/10_linux.in.patch b/libre/grub/10_linux.in.patch
new file mode 100644
index 000000000..c9285e699
--- /dev/null
+++ b/libre/grub/10_linux.in.patch
@@ -0,0 +1,31 @@
+diff -Nur grub.orig/util/grub.d/10_linux.in grub/util/grub.d/10_linux.in
+--- grub.orig/util/grub.d/10_linux.in 2014-01-11 06:07:40.750886565 -0200
++++ grub/util/grub.d/10_linux.in 2014-01-11 06:14:19.032955542 -0200
+@@ -30,8 +30,25 @@
+
+ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
+ OS=GNU/Linux
+-else
+- OS="${GRUB_DISTRIBUTOR} GNU/Linux"
++ if [ "${GRUB_DISTRIBUTOR}" = "Parabola" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
++ elif [ "${GRUB_DISTRIBUTOR}" = "parabola" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
++ elif [ "${GRUB_DISTRIBUTOR}" = "Blag" ] ; then
++ OS="${GRUB_DISTRIBUTOR} Linux and GNU"
++ elif [ "${GRUB_DISTRIBUTOR}" = "blag" ] ; then
++ OS="${GRUB_DISTRIBUTOR} Linux and GNU"
++ elif [ "${GRUB_DISTRIBUTOR}" = "Musix" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU+Linux"
++ elif [ "${GRUB_DISTRIBUTOR}" = "musix" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU+Linux"
++ elif [ "${GRUB_DISTRIBUTOR}" = "Dragora" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
++ elif [ "${GRUB_DISTRIBUTOR}" = "dragora" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
++ else
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux"
++ fi
+ CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
+ fi
+
diff --git a/libre/grub/60_memtest86+ b/libre/grub/60_memtest86+
new file mode 100644
index 000000000..086f0cc84
--- /dev/null
+++ b/libre/grub/60_memtest86+
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+########################################################
+# This script generates a memtest86+ entry on grub.cfg #
+# if memtest is installed on the system. #
+########################################################
+
+prefix="/usr"
+exec_prefix="${prefix}"
+
+datarootdir="/usr/share"
+datadir="${datarootdir}"
+
+. "${datadir}/grub/grub-mkconfig_lib"
+
+MEMTEST86_IMAGE="/boot/memtest86+/memtest.bin"
+CLASS="--class memtest86 --class gnu --class tool"
+
+if [ -e "${MEMTEST86_IMAGE}" ] && is_path_readable_by_grub "${MEMTEST86_IMAGE}" ; then
+ ## image exists, create menu entry
+ echo "Found memtest86+ image: ${MEMTEST86_IMAGE}" >&2
+ _GRUB_MEMTEST_HINTS_STRING="$(${grub_probe} --target=hints_string ${MEMTEST86_IMAGE})"
+ _GRUB_MEMTEST_FS_UUID="$(${grub_probe} --target=fs_uuid ${MEMTEST86_IMAGE})"
+ _GRUB_MEMTEST_REL_PATH="$(make_system_path_relative_to_its_root ${MEMTEST86_IMAGE})"
+ cat << EOF
+if [ "\${grub_platform}" == "pc" ]; then
+ menuentry "Memory Tester (memtest86+)" ${CLASS} {
+ search --fs-uuid --no-floppy --set=root ${_GRUB_MEMTEST_HINTS_STRING} ${_GRUB_MEMTEST_FS_UUID}
+ linux16 ${_GRUB_MEMTEST_REL_PATH} ${GRUB_CMDLINE_MEMTEST86}
+ }
+fi
+EOF
+fi
diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD
new file mode 100644
index 000000000..df6956f96
--- /dev/null
+++ b/libre/grub/PKGBUILD
@@ -0,0 +1,275 @@
+# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
+# Maintainer : Ronald van Haren <ronald.archlinux.org>
+# Contributor: Keshav Padram Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+# Contributor (Parabola): Márcio Silva <coadde@parabola.nu>
+
+_pkgver="2.02"
+_GRUB_GIT_TAG="grub-2.02-beta2"
+
+_UNIFONT_VER="6.3.20131217"
+
+[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64"
+[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="i386"
+
+pkgname="grub"
+pkgdesc="GNU GRand Unified Bootloader (2), (Parabola rebranded)"
+pkgver=2.02.beta2
+pkgrel=1.1
+epoch="1"
+url="https://www.gnu.org/software/grub/"
+arch=('x86_64' 'i686')
+license=('GPL3')
+backup=('etc/default/grub' 'etc/grub.d/40_custom')
+install="${pkgname}.install"
+options=('!makeflags')
+
+conflicts=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}" 'grub-legacy')
+replaces=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}")
+provides=('grub-common' 'grub-bios' "grub-efi-${_EFI_ARCH}")
+
+makedepends=('git' 'rsync' 'xz' 'freetype2' 'ttf-dejavu' 'python' 'autogen'
+ 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse')
+depends=('sh' 'xz' 'gettext' 'device-mapper')
+optdepends=('freetype2: For grub-mkfont usage'
+ 'fuse: For grub-mount usage'
+ 'dosfstools: For grub-mkrescue FAT FS and EFI support'
+ 'efibootmgr: For grub-install EFI support'
+ 'libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue'
+ 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems'
+ 'mtools: For grub-mkrescue FAT FS support')
+
+source=("grub-${_pkgver}::git+git://git.sv.gnu.org/grub.git#tag=${_GRUB_GIT_TAG}"
+ "grub-extras::git+git://git.sv.gnu.org/grub-extras.git#branch=master"
+ "http://ftp.gnu.org/gnu/unifont/unifont-${_UNIFONT_VER}/unifont-${_UNIFONT_VER}.bdf.gz"
+ "http://ftp.gnu.org/gnu/unifont/unifont-${_UNIFONT_VER}/unifont-${_UNIFONT_VER}.bdf.gz.sig"
+ 'grub-add-GRUB_COLOR_variables.patch'
+ '09_parabola'
+ '60_memtest86+'
+ 'grub.default'
+ '10_linux.in.patch')
+md5sums=('SKIP'
+ 'SKIP'
+ '728b7439ac733a7c0d56049adec364c7'
+ 'SKIP'
+ 'e506ae4a9f9f7d1b765febfa84e10d48'
+ 'd272e5fa811859838cfb60cc656d66ed'
+ 'be55eabc102f2c60b38ed35c203686d6'
+ '52d374e0194e3f2e39ff7c92ecd58a6c'
+ 'b23a144b7001c88734b79ed3bec491c4')
+
+pkgver() {
+ cd "${srcdir}/grub-${_pkgver}/"
+ echo "$(git describe --tags)" | sed -e 's|grub.||g' -e 's|-|\.|g'
+}
+
+prepare() {
+
+ cd "${srcdir}/grub-${_pkgver}/"
+
+ msg "Patch to enable GRUB_COLOR_* variables in grub-mkconfig"
+ ## Based on http://lists.gnu.org/archive/html/grub-devel/2012-02/msg00021.html
+ patch -Np1 -i "${srcdir}/grub-add-GRUB_COLOR_variables.patch"
+ echo
+
+ msg "Fix DejaVuSans.ttf location so that grub-mkfont can create *.pf2 files for starfield theme"
+ sed 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu /usr/share/fonts/TTF|g' -i "${srcdir}/grub-${_pkgver}/configure.ac"
+
+ msg "Rebranding for some free distros"
+ patch -Np1 -i "${srcdir}/10_linux.in.patch"
+ echo
+
+ msg "Fix mkinitcpio 'rw' FS#36275"
+ sed 's| ro | rw |g' -i "${srcdir}/grub-${_pkgver}/util/grub.d/10_linux.in"
+
+ # msg "autogen.sh requires python (2/3). since bzr is in makedepends, use python2 and no need to pull python3"
+ # sed 's|python |python2 |g' -i "${srcdir}/grub-${_pkgver}/autogen.sh"
+
+ msg "Pull in latest language files"
+ ./linguas.sh
+ echo
+
+ msg "Remove not working langs which need LC_ALL=C.UTF-8"
+ sed -e 's#en@cyrillic en@greek##g' -i "${srcdir}/grub-${_pkgver}/po/LINGUAS"
+
+ msg "Avoid problem with unifont during compile of grub, http://savannah.gnu.org/bugs/?40330 and https://bugs.archlinux.org/task/37847"
+ cp "${srcdir}/unifont-${_UNIFONT_VER}.bdf" "${srcdir}/grub-${_pkgver}/unifont.bdf"
+
+}
+
+_build_grub-common_and_bios() {
+
+ msg "Set ARCH dependent variables for bios build"
+ if [[ "${CARCH}" == 'x86_64' ]]; then
+ _EFIEMU="--enable-efiemu"
+ else
+ _EFIEMU="--disable-efiemu"
+ fi
+
+ msg "Copy the source for building the bios part"
+ cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-bios"
+ cd "${srcdir}/grub-${_pkgver}-bios/"
+
+ msg "Add the grub-extra sources for bios build"
+ install -d "${srcdir}/grub-${_pkgver}-bios/grub-extras"
+ cp -r "${srcdir}/grub-extras/915resolution" "${srcdir}/grub-${_pkgver}-bios/grub-extras/915resolution"
+ export GRUB_CONTRIB="${srcdir}/grub-${_pkgver}-bios/grub-extras/"
+
+ msg "Unset all compiler FLAGS for bios build"
+ unset CFLAGS
+ unset CPPFLAGS
+ unset CXXFLAGS
+ unset LDFLAGS
+ unset MAKEFLAGS
+
+ cd "${srcdir}/grub-${_pkgver}-bios/"
+
+ msg "Run autogen.sh for bios build"
+ ./autogen.sh
+ echo
+
+ msg "Run ./configure for bios build"
+ ./configure \
+ --with-platform="pc" \
+ --target="i386" \
+ "${_EFIEMU}" \
+ --enable-mm-debug \
+ --enable-nls \
+ --enable-device-mapper \
+ --enable-cache-stats \
+ --enable-boot-time \
+ --enable-grub-mkfont \
+ --enable-grub-mount \
+ --prefix="/usr" \
+ --bindir="/usr/bin" \
+ --sbindir="/usr/bin" \
+ --mandir="/usr/share/man" \
+ --infodir="/usr/share/info" \
+ --datarootdir="/usr/share" \
+ --sysconfdir="/etc" \
+ --program-prefix="" \
+ --with-bootdir="/boot" \
+ --with-grubdir="grub" \
+ --disable-silent-rules \
+ --disable-werror
+ echo
+
+ msg "Run make for bios build"
+ make
+ echo
+}
+
+_build_grub-efi() {
+
+ msg "Copy the source for building the ${_EFI_ARCH} efi part"
+ cp -r "${srcdir}/grub-${_pkgver}" "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}"
+ cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/"
+
+ msg "Unset all compiler FLAGS for ${_EFI_ARCH} efi build"
+ unset CFLAGS
+ unset CPPFLAGS
+ unset CXXFLAGS
+ unset LDFLAGS
+ unset MAKEFLAGS
+
+ cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/"
+
+ msg "Run autogen.sh for ${_EFI_ARCH} efi build"
+ ./autogen.sh
+ echo
+
+ msg "Run ./configure for ${_EFI_ARCH} efi build"
+ ./configure \
+ --with-platform="efi" \
+ --target="${_EFI_ARCH}" \
+ --disable-efiemu \
+ --enable-mm-debug \
+ --enable-nls \
+ --enable-device-mapper \
+ --enable-cache-stats \
+ --enable-boot-time \
+ --enable-grub-mkfont \
+ --enable-grub-mount \
+ --prefix="/usr" \
+ --bindir="/usr/bin" \
+ --sbindir="/usr/bin" \
+ --mandir="/usr/share/man" \
+ --infodir="/usr/share/info" \
+ --datarootdir="/usr/share" \
+ --sysconfdir="/etc" \
+ --program-prefix="" \
+ --with-bootdir="/boot" \
+ --with-grubdir="grub" \
+ --disable-silent-rules \
+ --disable-werror
+ echo
+
+ msg "Run make for ${_EFI_ARCH} efi build"
+ make
+ echo
+
+}
+
+build() {
+
+ cd "${srcdir}/grub-${_pkgver}/"
+
+ msg "Build grub bios stuff"
+ _build_grub-common_and_bios
+ echo
+
+ msg "Build grub ${_EFI_ARCH} efi stuff"
+ _build_grub-efi
+ echo
+
+}
+
+_package_grub-common_and_bios() {
+
+ cd "${srcdir}/grub-${_pkgver}-bios/"
+
+ msg "Run make install for bios build"
+ make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install
+ echo
+
+ msg "Remove gdb debugging related files for bios build"
+ rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.module || true
+ rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.image || true
+ rm -f "${pkgdir}/usr/lib/grub/i386-pc"/{kernel.exec,gdb_grub,gmodule.pl} || true
+
+ msg "Install 09_parabola helper script for grub-mkconfig"
+ install -D -m0755 "${srcdir}/09_parabola" "${pkgdir}/etc/grub.d/09_parabola"
+
+ msg "Install extra /etc/grub.d/ files"
+ install -D -m0755 "${srcdir}/60_memtest86+" "${pkgdir}/etc/grub.d/60_memtest86+"
+
+ msg "Install /etc/default/grub (used by grub-mkconfig)"
+ install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub"
+
+
+}
+
+_package_grub-efi() {
+
+ cd "${srcdir}/grub-${_pkgver}-efi-${_EFI_ARCH}/"
+
+ msg "Run make install for ${_EFI_ARCH} efi build"
+ make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install
+ echo
+
+ msg "Remove gdb debugging related files for ${_EFI_ARCH} efi build"
+ rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.module || true
+ rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.image || true
+ rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/{kernel.exec,gdb_grub,gmodule.pl} || true
+
+}
+
+package() {
+
+ msg "Package grub ${_EFI_ARCH} efi stuff"
+ _package_grub-efi
+
+ msg "Package grub bios stuff"
+ _package_grub-common_and_bios
+
+}
diff --git a/libre/grub/grub-2.00-fix-docs.patch b/libre/grub/grub-2.00-fix-docs.patch
new file mode 100644
index 000000000..0aa481154
--- /dev/null
+++ b/libre/grub/grub-2.00-fix-docs.patch
@@ -0,0 +1,21 @@
+From 40d6b00fa48ae9c1cecf143da5c6061f6ffcb719 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com
+Date: Tue, 12 Mar 2013 15:23:02 -0400
+Subject: [PATCH] Fix docs
+
+I think the doc generation tools got stricter, so fix up the .texi file
+to work.
+
+diff --git a/docs/grub-dev.texi b/docs/grub-dev.texi
+--- a/docs/grub-dev.texi
++++ b/docs/grub-dev.texi
+@@ -1394,8 +1394,8 @@ grub_video_blit_glyph (&glyph, color, 0,
+
+ @node Bitmap API
+ @section Bitmap API
+-@itemize
+ @subsection grub_video_bitmap_create
++@itemize
+ @item Prototype:
+ @example
+ grub_err_t grub_video_bitmap_create (struct grub_video_bitmap **bitmap, unsigned int width, unsigned int height, enum grub_video_blit_format blit_format)
diff --git a/libre/grub/grub-2.00-mkinitcpio-0.15.patch b/libre/grub/grub-2.00-mkinitcpio-0.15.patch
new file mode 100644
index 000000000..1af848fa3
--- /dev/null
+++ b/libre/grub/grub-2.00-mkinitcpio-0.15.patch
@@ -0,0 +1,11 @@
+--- util/grub.d/10_linux.in.old 2013-07-28 08:55:47.825946239 +0200
++++ util/grub.d/10_linux.in 2013-07-28 08:56:14.082201512 +0200
+@@ -138,7 +138,7 @@
+ message="$(gettext_printf "Loading Linux %s ..." "${version}")"
+ sed "s/^/$submenu_indentation/" << EOF
+ echo '$(echo "$message" | grub_quote)'
+- linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
++ linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} rw ${args}
+ EOF
+ if test -n "${initrd}" ; then
+ # TRANSLATORS: ramdisk isn't identifier. Should be translated.
diff --git a/libre/grub/grub-2.00.5086-fix-lvm-parsing.patch b/libre/grub/grub-2.00.5086-fix-lvm-parsing.patch
new file mode 100644
index 000000000..9a2eb3ff7
--- /dev/null
+++ b/libre/grub/grub-2.00.5086-fix-lvm-parsing.patch
@@ -0,0 +1,54 @@
+There is no explicit option to turn off alignment; it is implicitly
+disabled if one of --separator or --nameprefixes option is used.
+
+--separator was added in 2007, --nameprefixes - in 2009. So let's use
+--separator to extend range of versions we are compatible with. Note that
+one or another must be used, current parsing is broken otherwise.
+
+Signed-off-by: Andrey Borzenkov <address@hidden>
+
+---
+ util/getroot.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/util/getroot.c b/util/getroot.c
+index 2ad8a55..3afcf96 100644
+--- a/util/getroot.c
++++ b/util/getroot.c
+@@ -1322,7 +1322,7 @@ grub_util_get_dev_abstraction (const char *os_dev)
+ static void
+ pull_lvm_by_command (const char *os_dev)
+ {
+- char *argv[6];
++ char *argv[8];
+ int fd;
+ pid_t pid;
+ FILE *mdadm;
+@@ -1351,12 +1351,17 @@ pull_lvm_by_command (const char *os_dev)
+
+ /* execvp has inconvenient types, hence the casts. None of these
+ strings will actually be modified. */
++ /* by default PV name is left aligned in 10 character field, meaning that
++ we do not know where name ends. Using dummy --separator disables
++ alignment. We have a single field, so separator itself is not output */
+ argv[0] = (char *) "vgs";
+ argv[1] = (char *) "--options";
+ argv[2] = (char *) "pv_name";
+ argv[3] = (char *) "--noheadings";
+- argv[4] = vgname;
+- argv[5] = NULL;
++ argv[4] = (char *) "--separator";
++ argv[5] = (char *) ":";
++ argv[6] = vgname;
++ argv[7] = NULL;
+
+ pid = exec_pipe (argv, &fd);
+ free (vgname);
+@@ -1376,6 +1381,7 @@ pull_lvm_by_command (const char *os_dev)
+ while (getline (&buf, &len, mdadm) > 0)
+ {
+ char *ptr;
++ /* LVM adds two spaces as standard prefix */
+ for (ptr = buf; ptr < buf + 2 && *ptr == ' '; ptr++);
+ if (*ptr == '\0')
+ continue;
diff --git a/libre/grub/grub-add-GRUB_COLOR_variables.patch b/libre/grub/grub-add-GRUB_COLOR_variables.patch
new file mode 100644
index 000000000..c113a81d5
--- /dev/null
+++ b/libre/grub/grub-add-GRUB_COLOR_variables.patch
@@ -0,0 +1,32 @@
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index 3390ba9..c416489 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -218,6 +218,8 @@ export GRUB_DEFAULT \
+ GRUB_THEME \
+ GRUB_GFXPAYLOAD_LINUX \
+ GRUB_DISABLE_OS_PROBER \
++ GRUB_COLOR_NORMAL \
++ GRUB_COLOR_HIGHLIGHT \
+ GRUB_INIT_TUNE \
+ GRUB_SAVEDEFAULT \
+ GRUB_ENABLE_CRYPTODISK \
+diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
+index d2e7252..8259f45 100644
+--- a/util/grub.d/00_header.in
++++ b/util/grub.d/00_header.in
+@@ -125,6 +125,14 @@ cat <<EOF
+
+ EOF
+
++if [ x$GRUB_COLOR_NORMAL != x ] && [ x$GRUB_COLOR_HIGHLIGHT != x ] ; then
++ cat << EOF
++set menu_color_normal=$GRUB_COLOR_NORMAL
++set menu_color_highlight=$GRUB_COLOR_HIGHLIGHT
++
++EOF
++fi
++
+ serial=0;
+ gfxterm=0;
+ for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
diff --git a/libre/grub/grub.default b/libre/grub/grub.default
new file mode 100644
index 000000000..8455b67dd
--- /dev/null
+++ b/libre/grub/grub.default
@@ -0,0 +1,47 @@
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=5
+GRUB_DISTRIBUTOR="Parabola"
+GRUB_CMDLINE_LINUX_DEFAULT="quiet"
+GRUB_CMDLINE_LINUX=""
+
+# Preload both GPT and MBR modules so that they are not missed
+GRUB_PRELOAD_MODULES="part_gpt part_msdos"
+
+# Uncomment to enable Hidden Menu, and optionally hide the timeout count
+#GRUB_HIDDEN_TIMEOUT=5
+#GRUB_HIDDEN_TIMEOUT_QUIET=true
+
+# Uncomment to use basic console
+GRUB_TERMINAL_INPUT=console
+
+# Uncomment to disable graphical terminal
+#GRUB_TERMINAL_OUTPUT=console
+
+# The resolution used on graphical terminal
+# note that you can use only modes which your graphic card supports via VBE
+# you can see them in real GRUB with the command `vbeinfo'
+GRUB_GFXMODE=auto
+
+# Uncomment to allow the kernel use the same resolution used by grub
+GRUB_GFXPAYLOAD_LINUX=keep
+
+# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
+# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
+#GRUB_DISABLE_LINUX_UUID=true
+
+# Uncomment to disable generation of recovery mode menu entries
+GRUB_DISABLE_RECOVERY=true
+
+# Uncomment and set to the desired menu colors. Used by normal and wallpaper
+# modes only. Entries specified as foreground/background.
+GRUB_COLOR_NORMAL="magenta/black"
+GRUB_COLOR_HIGHLIGHT="white/magenta"
+
+# Uncomment one of them for the gfx desired, a image background or a gfxtheme
+#GRUB_BACKGROUND="/path/to/wallpaper"
+#GRUB_THEME="/path/to/gfxtheme"
+
+# Uncomment to get a beep at GRUB start
+#GRUB_INIT_TUNE="480 440 1"
+
+#GRUB_SAVEDEFAULT="true"
diff --git a/libre/grub/grub.install b/libre/grub/grub.install
new file mode 100644
index 000000000..9188b357a
--- /dev/null
+++ b/libre/grub/grub.install
@@ -0,0 +1,33 @@
+infodir="usr/share/info"
+filelist=('grub.info' 'grub-dev.info')
+
+post_install() {
+ if [ -f /boot/grub/grub.cfg.pacsave ]; then
+ echo "Copying /boot/grub/grub.cfg.pacsave to /boot/grub/grub.cfg"
+ install -D -m0644 /boot/grub/grub.cfg.pacsave /boot/grub/grub.cfg
+ fi
+
+ cat << 'EOM'
+Generating grub.cfg.example config file...
+This may fail on some machines running a custom kernel.
+EOM
+
+ grub-mkconfig -o /boot/grub/grub.cfg.example 2> /dev/null
+ echo "done."
+
+ for file in ${filelist[@]}; do
+ install-info ${infodir}/${file}.gz ${infodir}/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ for file in ${filelist[@]}; do
+ install-info ${infodir}/${file}.gz ${infodir}/dir 2> /dev/null
+ done
+}
+
+pre_remove() {
+ for file in ${filelist[@]}; do
+ install-info --delete ${infodir}/${file} ${infodir}/dir 2> /dev/null
+ done
+}
diff --git a/libre/grub/parabola_grub_mkconfig_fixes.patch b/libre/grub/parabola_grub_mkconfig_fixes.patch
new file mode 100644
index 000000000..6e3a524f0
--- /dev/null
+++ b/libre/grub/parabola_grub_mkconfig_fixes.patch
@@ -0,0 +1,170 @@
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index 016ee82..2cdbdd8 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -214,6 +214,8 @@ export GRUB_DEFAULT \
+ GRUB_THEME \
+ GRUB_GFXPAYLOAD_LINUX \
+ GRUB_DISABLE_OS_PROBER \
++ GRUB_COLOR_NORMAL \
++ GRUB_COLOR_HIGHLIGHT \
+ GRUB_INIT_TUNE \
+ GRUB_SAVEDEFAULT \
+ GRUB_ENABLE_CRYPTODISK \
+diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
+index d2e7252..8259f45 100644
+--- a/util/grub.d/00_header.in
++++ b/util/grub.d/00_header.in
+@@ -125,6 +125,14 @@ cat <<EOF
+
+ EOF
+
++if [ x$GRUB_COLOR_NORMAL != x ] && [ x$GRUB_COLOR_HIGHLIGHT != x ] ; then
++ cat << EOF
++set menu_color_normal=$GRUB_COLOR_NORMAL
++set menu_color_highlight=$GRUB_COLOR_HIGHLIGHT
++
++EOF
++fi
++
+ serial=0;
+ gfxterm=0;
+ for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
+diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
+index e27d6f7..a946e71 100644
+--- a/util/grub.d/10_linux.in
++++ b/util/grub.d/10_linux.in
+@@ -31,7 +31,25 @@ CLASS="--class gnu-linux --class gnu --class os"
+ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
+ OS=GNU/Linux
+ else
+- OS="${GRUB_DISTRIBUTOR} GNU/Linux"
++ if [ "${GRUB_DISTRIBUTOR}" = "Parabola" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
++ elif [ "${GRUB_DISTRIBUTOR}" = "parabola" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
++ elif [ "${GRUB_DISTRIBUTOR}" = "Blag" ] ; then
++ OS="${GRUB_DISTRIBUTOR} Linux and GNU"
++ elif [ "${GRUB_DISTRIBUTOR}" = "blag" ] ; then
++ OS="${GRUB_DISTRIBUTOR} Linux and GNU"
++ elif [ "${GRUB_DISTRIBUTOR}" = "Musix" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU+Linux"
++ elif [ "${GRUB_DISTRIBUTOR}" = "musix" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU+Linux"
++ elif [ "${GRUB_DISTRIBUTOR}" = "Dragora" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
++ elif [ "${GRUB_DISTRIBUTOR}" = "dragora" ] ; then
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
++ else
++ OS="${GRUB_DISTRIBUTOR} GNU/Linux"
++ fi
+ CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
+ fi
+
+@@ -87,6 +105,8 @@ linux_entry ()
+ case $type in
+ recovery)
+ title="$(gettext_printf "%s, with Linux %s (recovery mode)" "${os}" "${version}")" ;;
++ fallback)
++ title="$(gettext_printf "%s, with Linux %s (Fallback initramfs)" "${os}" "${version}")" ;;
+ *)
+ title="$(gettext_printf "%s, with Linux %s" "${os}" "${version}")" ;;
+ esac
+@@ -100,7 +120,7 @@ linux_entry ()
+ else
+ echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
+ fi
+- if [ x$type != xrecovery ] ; then
++ if [ x$type != xrecovery ] && [ x$type != xfallback ] ; then
+ save_default_entry | grub_add_tab
+ fi
+
+@@ -132,7 +152,8 @@ linux_entry ()
+ fi
+ printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
+ fi
+- message="$(gettext_printf "Loading Linux %s ..." ${version})"
++
++ message="$(gettext_printf "Loading Linux %s ..." "${version}")"
+ sed "s/^/$submenu_indentation/" << EOF
+ echo '$(echo "$message" | grub_quote)'
+ linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
+@@ -190,7 +211,22 @@ while [ "x$list" != "x" ] ; do
+ alt_version=`echo $version | sed -e "s,\.old$,,g"`
+ linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
+
++ if test -e "/etc/parabola-release" ; then
++ if echo "${basename}" | grep -q 'vmlinuz-linux-libre' ; then
++ version="`echo "${basename}" | sed -e 's,vmlinuz-linux-libre,,g'`"
++
++ if [ "x${version}" = "x" ] ; then
++ version="libre kernel"
++ else
++ version="`echo "${version}" | sed -e 's,-,,g'`"
++ version="libre ${version} kernel"
++ fi
++ fi
++ fi
++
+ initrd=
++ initrd_arch="`echo "${basename}" | sed -e 's,vmlinuz,initramfs,g'`"
++
+ for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
+ "initrd-${version}" "initramfs-${version}.img" \
+ "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
+@@ -198,7 +234,8 @@ while [ "x$list" != "x" ] ; do
+ "initramfs-genkernel-${version}" \
+ "initramfs-genkernel-${alt_version}" \
+ "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
+- "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
++ "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" \
++ "${initrd_arch}.img" ; do
+ if test -e "${dirname}/${i}" ; then
+ initrd="$i"
+ break
+@@ -226,6 +263,22 @@ while [ "x$list" != "x" ] ; do
+ linux_root_device_thisversion=${GRUB_DEVICE}
+ fi
+
++ if test -e "/etc/parabola-release" ; then
++ is_first_entry="false"
++
++ linux_entry "${OS}" "${version}" true \
++ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++
++ for i in "${initrd_arch}-fallback.img" "initramfs-${version}-fallback.img" ; do
++ if test -e "${dirname}/${i}" ; then
++ initrd="${i}"
++ linux_entry "${OS}" "${version}" fallback \
++ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++ break
++ fi
++ done
++ fi
++
+ if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
+ linux_entry "${OS}" "${version}" simple \
+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
+@@ -240,8 +293,11 @@ while [ "x$list" != "x" ] ; do
+ is_top_level=false
+ fi
+
++ if ! test -e "/etc/parabola-release" ; then
+ linux_entry "${OS}" "${version}" advanced \
+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
++ fi
++
+ if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
+ linux_entry "${OS}" "${version}" recovery \
+ "single ${GRUB_CMDLINE_LINUX}"
+@@ -252,8 +308,10 @@ done
+
+ # If at least one kernel was found, then we need to
+ # add a closing '}' for the submenu command.
++if ! test -e "/etc/parabola-release" ; then
+ if [ x"$is_top_level" != xtrue ]; then
+ echo '}'
+ fi
++fi
+
+ echo "$title_correction_code"
diff --git a/libre/gst-plugins-bad-libre/PKGBUILD b/libre/gst-plugins-bad-libre/PKGBUILD
new file mode 100644
index 000000000..8cf3ce164
--- /dev/null
+++ b/libre/gst-plugins-bad-libre/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 205811 2014-02-10 13:07:22Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
+_pkgname=gst-plugins-bad
+pkgname=$_pkgname-libre
+pkgver=1.2.3
+pkgrel=1
+pkgdesc="GStreamer Multimedia Framework Bad Plugins, without nonfree faac support"
+arch=('i686' 'x86_64' 'mips64el')
+license=('LGPL')
+url="http://gstreamer.freedesktop.org/"
+depends=('mjpegtools' 'gst-plugins-base-libs' 'curl' 'chromaprint' 'libmms' 'faad2' 'mpg123' 'celt' 'libdca' 'soundtouch' 'spandsp' 'libdvdnav' 'libmodplug' 'libgme' 'opus' 'wayland' 'neon' 'libofa' 'fluidsynth' 'openjpeg' 'libwebp' 'libsrtp' 'gnutls' 'wildmidi')
+makedepends=('schroedinger' 'libexif' 'libdvdread' 'libvdpau' 'libmpeg2' 'python' 'valgrind' 'wildmidi' 'librsvg'
+ 'gobject-introspection' 'gtk-doc')
+provides=($_pkgname=$pkgver)
+conflicts=$_pkgname
+replaces=$_pkgname
+options=(!emptydirs)
+source=(${url}/src/$_pkgname/$_pkgname-$pkgver.tar.xz)
+sha256sums=('595d7911a9e6207dea37200587724bdbf841b81a5eb0730118be36976684278c')
+
+build() {
+ cd $_pkgname-$pkgver
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --enable-experimental --enable-gtk-doc \
+ --with-package-name="GStreamer Bad Plugins (Parabola GNU/Linux-libre)" \
+ --with-package-origin="https://parabolagnulinux.org/" \
+ --with-gtk=3.0
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=655517
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+check() {
+ cd $_pkgname-$pkgver
+ # don't have a camera for the camerabin test
+ make -k check || :
+}
+
+package() {
+ cd $_pkgname-$pkgver
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/libre/gstreamer0.10-bad-libre/PKGBUILD b/libre/gstreamer0.10-bad-libre/PKGBUILD
new file mode 100644
index 000000000..2958425b2
--- /dev/null
+++ b/libre/gstreamer0.10-bad-libre/PKGBUILD
@@ -0,0 +1,71 @@
+# $Id: PKGBUILD 202895 2013-12-28 22:46:10Z bpiotrowski $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer (Parabola): fauno <fauno@kiwwwi.com.ar>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgbase=gstreamer0.10-bad-libre
+pkgname=('gstreamer0.10-bad-libre' 'gstreamer0.10-bad-libre-plugins')
+pkgver=0.10.23
+pkgrel=7
+arch=('i686' 'x86_64' 'mips64el')
+license=('LGPL' 'GPL')
+makedepends=('pkgconfig' 'gstreamer0.10-base>=0.10.36' 'xvidcore' 'libdca' 'bzip2' 'libdc1394' 'neon' 'musicbrainz' 'faad2' 'libmms' 'libcdaudio' 'libmpcdec' 'mjpegtools' 'libdvdnav' 'libmodplug' 'jasper' 'liblrdf' 'libofa' 'soundtouch' 'libvdpau' 'schroedinger' 'libass' 'libvpx' 'gsm' 'libgme' 'rtmpdump' 'libsndfile' 'librsvg' 'wildmidi' 'opus' 'git' 'spandsp' 'celt')
+url="http://gstreamer.freedesktop.org/"
+options=(!emptydirs)
+source=("git://anongit.freedesktop.org/gstreamer-sdk/gst-plugins-bad#commit=57569a4854a0f2d14ef19a8264a4ae9a7a1d1125"
+ disable-assrender-test.patch
+ disable-camerabin-test.patch)
+sha256sums=('SKIP'
+ 'e66642affa6c0e69837d37615010e67e59ef3d672663303d46c1e2591e2ddfc6'
+ '01e780ddf1f8161a6115dded9dc5bf4bdd4d09a9eee00fa423b1330e90e76c68')
+
+prepare() {
+ cd gst-plugins-bad
+ sed -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' -i configure.ac
+ patch -Np1 -i ../disable-assrender-test.patch
+ patch -Np1 -i ../disable-camerabin-test.patch
+}
+
+build() {
+ cd gst-plugins-bad
+ NOCONFIGURE=1 ./autogen.sh
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --disable-static --enable-experimental --disable-gtk-doc \
+ --with-package-name="GStreamer Bad Plugins (Parabola GNU/Linux-libre)" \
+ --with-package-origin="https://parabolagnulinux.org/"
+
+ make
+ sed -e 's/gst sys ext/gst/' -i Makefile
+}
+
+check() {
+ cd gst-plugins-bad
+ make check
+}
+
+package_gstreamer0.10-bad-libre() {
+ pkgdesc="GStreamer Multimedia Framework Bad Plugin libraries (gst-plugins-bad), without nonfree faac support"
+ depends=('gstreamer0.10-base>=0.10.34')
+ provides=("gstreamer0.10-bad=$pkgver")
+ conflicts=('gstreamer0.10-bad')
+ replaces=('gstreamer0.10-bad')
+
+ cd gst-plugins-bad
+ make DESTDIR="${pkgdir}" install
+}
+
+package_gstreamer0.10-bad-libre-plugins() {
+ pkgdesc="GStreamer Multimedia Framework Bad Plugins (gst-plugins-bad), without nonfree faac support"
+ depends=("gstreamer0.10-bad-libre=${pkgver}" 'xvidcore' 'libdca' 'bzip2' 'libdc1394' 'neon' 'musicbrainz' 'faad2' 'libmms' 'libcdaudio' 'libmpcdec' 'mjpegtools' 'libdvdnav' 'libmodplug' 'jasper' 'liblrdf' 'libofa' 'libvdpau' 'soundtouch' 'libass' 'schroedinger' 'libvpx' 'gsm' 'rtmpdump' 'libgme' 'libsndfile' 'librsvg' 'wildmidi' 'opus' 'celt' 'spandsp')
+ groups=('gstreamer0.10-plugins')
+ install=gstreamer0.10-bad-plugins.install
+ provides=("gstreamer0.10-bad-plugins=$pkgver")
+ conflicts=('gstreamer0.10-bad-plugins')
+ replaces=('gstreamer0.10-bad-plugins')
+
+ cd gst-plugins-bad
+ make -C gst-libs DESTDIR="${pkgdir}" install
+ make -C ext DESTDIR="${pkgdir}" install
+ make -C sys DESTDIR="${pkgdir}" install
+ make -C gst-libs DESTDIR="${pkgdir}" uninstall
+}
diff --git a/libre/gstreamer0.10-bad-libre/disable-assrender-test.patch b/libre/gstreamer0.10-bad-libre/disable-assrender-test.patch
new file mode 100644
index 000000000..07ce4f1bb
--- /dev/null
+++ b/libre/gstreamer0.10-bad-libre/disable-assrender-test.patch
@@ -0,0 +1,11 @@
+--- a/tests/check/elements/assrender.c
++++ b/tests/check/elements/assrender.c
+@@ -289,8 +289,6 @@ assrender_suite (void)
+ tcase_set_timeout (tc_chain, 120);
+
+ suite_add_tcase (s, tc_chain);
+- tcase_add_test (tc_chain, test_assrender_basic_xRGB);
+- tcase_add_test (tc_chain, test_assrender_basic_I420);
+
+ return s;
+ }
diff --git a/libre/gstreamer0.10-bad-libre/disable-camerabin-test.patch b/libre/gstreamer0.10-bad-libre/disable-camerabin-test.patch
new file mode 100644
index 000000000..964351ae6
--- /dev/null
+++ b/libre/gstreamer0.10-bad-libre/disable-camerabin-test.patch
@@ -0,0 +1,10 @@
+--- gst-plugins-bad/tests/check/Makefile.am.orig 2013-12-10 22:01:50.504567189 +0000
++++ gst-plugins-bad/tests/check/Makefile.am 2013-12-10 22:02:17.081058500 +0000
+@@ -181,7 +181,6 @@
+ elements/autovideoconvert \
+ elements/asfmux \
+ elements/baseaudiovisualizer \
+- elements/camerabin \
+ elements/camerabin2 \
+ elements/dataurisrc \
+ elements/legacyresample \
diff --git a/libre/gstreamer0.10-bad-libre/gstreamer0.10-bad-plugins.install b/libre/gstreamer0.10-bad-libre/gstreamer0.10-bad-plugins.install
new file mode 100644
index 000000000..3a36b0ccb
--- /dev/null
+++ b/libre/gstreamer0.10-bad-libre/gstreamer0.10-bad-plugins.install
@@ -0,0 +1,11 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/gummiboot/PKGBUILD b/libre/gummiboot/PKGBUILD
new file mode 100644
index 000000000..a1814bd71
--- /dev/null
+++ b/libre/gummiboot/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 204682 2014-01-24 22:03:35Z tomegun $
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: Keshav P R <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
+# Contributor: Mantas Mikulėnas <grawity@gmail.com>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname="gummiboot"
+pkgver="43"
+pkgrel="2.1"
+pkgdesc="Simple UEFI Boot Manager (Parabola rebranded)"
+url="http://freedesktop.org/wiki/Software/gummiboot"
+arch=('x86_64' 'i686' 'mips64el')
+license=('LGPL2.1')
+makedepends=('gnu-efi-libs' 'docbook-xsl' 'git')
+depends=('util-linux')
+conflicts=('gummiboot-efi')
+provides=('gummiboot-efi')
+replaces=('gummiboot-efi')
+options=('!strip' '!makeflags')
+source=("git://anongit.freedesktop.org/${pkgname}#commit=48e0a487"
+ 'loader.conf'
+ 'parabola.conf'
+ 'splash-parabola.bmp')
+install="gummiboot.install"
+md5sums=('SKIP'
+ '3d700d13aec5ab1b78a921eaf22e5bfa'
+ '36ee74767ac8734dede1cbd0f4f275d7'
+ 'c146ea0e16fff867164e113c48c91fff')
+
+build() {
+ cd ${srcdir}/${pkgname}
+
+ ./autogen.sh
+ ./configure --sysconfdir=/etc --with-efi-ldsdir=/usr/lib --libexecdir=/usr/lib --libdir=/usr/lib
+
+ make
+}
+
+package() {
+ ## Install gummiboot example configuration files (can go away with systemd's kernel-install)
+ install -D -m0644 "${srcdir}/loader.conf" "${pkgdir}/usr/lib/gummiboot/loader/loader.conf"
+ install -D -m0644 "${srcdir}/parabola.conf" "${pkgdir}/usr/lib/gummiboot/loader/entries/parabola.conf"
+
+ ## ship an Parabola GNU/Linux-libre boot splash (still has to be dropped in manually to take effect)
+ install -D -m0644 "${srcdir}/splash-parabola.bmp" "${pkgdir}/usr/lib/gummiboot/splash-parabola.bmp"
+
+ cd ${srcdir}/${pkgname}
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/libre/gummiboot/gummiboot.install b/libre/gummiboot/gummiboot.install
new file mode 100644
index 000000000..20861d4c8
--- /dev/null
+++ b/libre/gummiboot/gummiboot.install
@@ -0,0 +1,13 @@
+post_install() {
+ mkdir -p /boot/EFI/gummiboot
+ /usr/bin/gummiboot update
+ echo ":: Run '/usr/bin/gummiboot install' to make gummiboot your default bootloader"
+}
+
+post_upgrade() {
+ /usr/bin/gummiboot update
+}
+
+pre_remove() {
+ /usr/bin/gummiboot remove
+}
diff --git a/libre/gummiboot/loader.conf b/libre/gummiboot/loader.conf
new file mode 100644
index 000000000..b8bfb988e
--- /dev/null
+++ b/libre/gummiboot/loader.conf
@@ -0,0 +1,2 @@
+timeout 10
+default parabola
diff --git a/libre/gummiboot/parabola.conf b/libre/gummiboot/parabola.conf
new file mode 100644
index 000000000..111072ea2
--- /dev/null
+++ b/libre/gummiboot/parabola.conf
@@ -0,0 +1,7 @@
+## This is just an example config file.
+## Please edit the paths and kernel parameters according to your system.
+
+title Parabola GNU/Linux-libre
+linux /vmlinuz-linux-libre
+initrd /initramfs-linux-libre.img
+options root=PARTUUID=XXXX rootfstype=XXXX add_efi_memmap
diff --git a/libre/gummiboot/splash-parabola.bmp b/libre/gummiboot/splash-parabola.bmp
new file mode 100644
index 000000000..11ceeff28
--- /dev/null
+++ b/libre/gummiboot/splash-parabola.bmp
Binary files differ
diff --git a/libre/h-client/PKGBUILD b/libre/h-client/PKGBUILD
new file mode 100644
index 000000000..5e988d060
--- /dev/null
+++ b/libre/h-client/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Michał Masłowski <mtjm@mtjm.eu>
+
+pkgname=h-client
+_pkgver=0.0a0.dev-r129
+pkgver=${_pkgver/-/.}
+pkgrel=1
+pkgdesc="A client for an h-source server (such as http://www.h-node.org/)"
+arch=('any')
+url="https://savannah.nongnu.org/projects/h-client/"
+license=('GPL3')
+depends=('python2' 'python2-distribute' 'python2-pycurl' 'pygtk')
+options=(!emptydirs)
+# Official source is in SVN, this is made by "python2 setup.py sdist"
+# on a machine having Subversion 1.6.x (e.g. on Trisquel 4.0).
+source=("https://mtjm.eu/releases/hclient-${_pkgver}.tar.gz"{,.sig})
+sha512sums=('e4f8f88db5cd27bb3304c1421bd661da9c52a15297d273cd6fa81ccfd0f1c9b210dc87373ecc6d414585c525a570c7f783d706fa67e247562fd8c7fa5e59a9e7'
+ '5712b41c4a4d45482e96825762955855212c3594b61624495e6ddec0b85a4718e080da1c99be22cb91aa644ee65d3708cc06b004f84b6facf2531b7b4c897c03')
+
+build() {
+ cd "$srcdir/hclient-${_pkgver}"
+ make
+}
+
+check() {
+ cd "$srcdir/hclient-${_pkgver}"
+ python2 setup.py test
+}
+
+package() {
+ cd "$srcdir/hclient-${_pkgver}"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+ make DESTDIR="$pkgdir" prefix=/usr install-data
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/hardinfo/PKGBUILD b/libre/hardinfo/PKGBUILD
new file mode 100644
index 000000000..2de9e5887
--- /dev/null
+++ b/libre/hardinfo/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id$
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+# Contributor (Parabola): Márcio Silva <coadde@lavabit.com>
+
+pkgname=hardinfo
+pkgver=0.5.1
+pkgrel=5.1
+pkgdesc="A system information and benchmark tool (Parabola rebranded)"
+arch=('i686' 'x86_64')
+url="http://hardinfo.berlios.de/wiki/index.php/Main_Page"
+license=('GPL2')
+depends=('gtk2' 'libsoup')
+options=('!emptydirs')
+source=(http://download.berlios.de/hardinfo/${pkgname}-${pkgver}.tar.bz2 \
+ fixsensors.patch hardinfo.distro)
+sha1sums=('983f0445aa60e02156bc5a5eaedeffb30b8e4d64'
+ 'd2151dce76dca238102937d0e15541f172bca530'
+ '9425e09191cd3a365a3afce57ca1973a6439fa57')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 < ../fixsensors.patch
+ sed -i 's|/usr/lib64|/usr/lib|' configure
+ ./configure --prefix=/usr
+ sed -i 's|lib64|lib|' binreloc.c
+ sed -i 's|{ DB_PREFIX "debian_version", "deb" },|{ DB_PREFIX "hardinfo.distro", "parabola" },{ DB_PREFIX "debian_version", "deb" },|' computer.h
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 ../hardinfo.distro "${pkgdir}/etc/hardinfo.distro"
+}
diff --git a/libre/hardinfo/fixsensors.patch b/libre/hardinfo/fixsensors.patch
new file mode 100644
index 000000000..812c29458
--- /dev/null
+++ b/libre/hardinfo/fixsensors.patch
@@ -0,0 +1,13 @@
+ diff -upNr hardinfo-0.4.2.2.orign/util.c hardinfo-0.4.2.2/util.c
+--- hardinfo-0.4.2.2.orign/util.c 2007-07-20 16:45:08.000000000 +0200
++++ hardinfo-0.4.2.2/util.c 2007-07-26 10:15:32.000000000 +0200
+@@ -996,7 +996,8 @@ gchar *h_strdup_cprintf(const gchar * fo
+ if (source) {
+ retn = g_strconcat(source, buffer, NULL);
+ g_free(buffer);
+- g_free(source);
++ if(strlen(source))
++ g_free(source);
+ } else {
+ retn = buffer;
+ }
diff --git a/libre/hardinfo/hardinfo.distro b/libre/hardinfo/hardinfo.distro
new file mode 100644
index 000000000..cf378523a
--- /dev/null
+++ b/libre/hardinfo/hardinfo.distro
@@ -0,0 +1 @@
+Parabola GNU/Linux-Libre
diff --git a/libre/hexchat-libre/PKGBUILD b/libre/hexchat-libre/PKGBUILD
new file mode 100644
index 000000000..b1c9228a6
--- /dev/null
+++ b/libre/hexchat-libre/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 97268 2013-09-15 22:44:23Z alucryd $
+# Maintainer: Maxime Gauduin <alucryd@gmail.com>
+# Contributor: TingPing <tingping@tingping.se>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=hexchat
+pkgname=hexchat-libre
+pkgver=2.9.6.1
+pkgrel=1
+pkgdesc="A popular and easy to use graphical IRC (chat) client, without nonfree browser reference (Parabola rebranded)"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://hexchat.github.io/"
+license=('GPL')
+depends=('dbus-glib' 'desktop-file-utils' 'hicolor-icon-theme' 'libcanberra' 'libnotify' 'libproxy' 'libsexy' 'pciutils')
+makedepends=('perl' 'python')
+optdepends=('enchant: Spell check'
+ 'perl: Perl plugin'
+ 'python: Python plugin')
+options=('!libtool')
+install="${_pkgname}.install"
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+source=("http://dl.hexchat.org/${_pkgname}/${_pkgname}-${pkgver}.tar.xz")
+sha256sums=('6267ff3c4d0aec8a808365b384115a769d5001d99dbb10403634667c43966470')
+
+build() {
+ cd ${_pkgname}-${pkgver}
+
+# Rebrand to Parabola
+ sed -i 's#ArchLinux#Parabola GNU/Linux-libre#' plugins/sysinfo/parse.c
+
+# Remove nonfree browser references
+ sed -i '\|NAME Open Link| s|Firefox|Iceweasel|' src/common/hexchat.c
+ sed -i '\|NAME Open Link| s|firefox -private %s\\n\\n";|iceweasel -private %s\\n\\n"\\\n "NAME Open Link in Private Icecat Window\\n" "CMD !icecat -private %s\\n\\n";|' src/common/hexchat.c
+
+ ./configure --prefix='/usr' --enable-{python='python3',shm,spell='libsexy',textfe}
+ make
+}
+
+package() {
+ cd ${_pkgname}-${pkgver}
+
+ make DESTDIR="$pkgdir" install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/libre/hexchat-libre/hexchat.install b/libre/hexchat-libre/hexchat.install
new file mode 100644
index 000000000..214da2ef9
--- /dev/null
+++ b/libre/hexchat-libre/hexchat.install
@@ -0,0 +1,14 @@
+post_install() {
+ gtk-update-icon-cache -ftq usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim: ts=2 sw=2 et:
diff --git a/libre/hplip-libre/cups-1.6-buildfix.diff b/libre/hplip-libre/cups-1.6-buildfix.diff
new file mode 100644
index 000000000..8341a1610
--- /dev/null
+++ b/libre/hplip-libre/cups-1.6-buildfix.diff
@@ -0,0 +1,392 @@
+diff -up hplip-3.12.6/prnt/cupsext/cupsext.c.ipp_accessors hplip-3.12.6/prnt/cupsext/cupsext.c
+--- hplip-3.12.6/prnt/cupsext/cupsext.c.ipp_accessors 2012-06-18 12:41:19.000000000 +0200
++++ hplip-3.12.6/prnt/cupsext/cupsext.c 2012-07-19 17:11:47.606524137 +0200
+@@ -87,6 +87,46 @@ typedef int Py_ssize_t;
+ #define PY_SSIZE_T_MIN INT_MIN
+ #endif
+
++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
++#define HAVE_CUPS_1_6 1
++#endif
++
++#ifndef HAVE_CUPS_1_6
++#define ippGetCount(attr) attr->num_values
++#define ippGetGroupTag(attr) attr->group_tag
++#define ippGetValueTag(attr) attr->value_tag
++#define ippGetName(attr) attr->name
++#define ippGetBoolean(attr, element) attr->values[element].boolean
++#define ippGetInteger(attr, element) attr->values[element].integer
++#define ippGetStatusCode(ipp) ipp->request.status.status_code
++#define ippGetString(attr, element, language) attr->values[element].string.text
++
++static ipp_attribute_t * ippFirstAttribute( ipp_t *ipp )
++{
++ if (!ipp)
++ return (NULL);
++ return (ipp->current = ipp->attrs);
++}
++
++static ipp_attribute_t * ippNextAttribute( ipp_t *ipp )
++{
++ if (!ipp || !ipp->current)
++ return (NULL);
++ return (ipp->current = ipp->current->next);
++}
++
++static int ippSetOperation( ipp_t *ipp, ipp_op_t op )
++{
++ ipp->request.op.operation_id = op;
++ return (1);
++}
++
++static int ippSetRequestId( ipp_t *ipp, int request_id )
++{
++ ipp->request.any.request_id = request_id;
++ return (1);
++}
++#endif
+
+ int g_num_options = 0;
+ cups_option_t * g_options;
+@@ -333,8 +373,8 @@ PyObject * getPrinters( PyObject * self,
+ request = ippNew();
+ language = cupsLangDefault();
+
+- request->request.op.operation_id = CUPS_GET_PRINTERS;
+- request->request.any.request_id = 1;
++ ippSetOperation( request, CUPS_GET_PRINTERS );
++ ippSetRequestId ( request, 1);
+
+ ippAddString( request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
+ "attributes-charset", NULL, cupsLangEncoding( language ) );
+@@ -378,10 +418,10 @@ PyObject * getPrinters( PyObject * self,
+ ipp_pstate_t state;
+ int i = 0;
+
+- for ( attr = response->attrs; attr != NULL; attr = attr->next )
++ for ( attr = ippFirstAttribute( response ); attr != NULL; attr = ippNextAttribute( response ) )
+ {
+- while ( attr != NULL && attr->group_tag != IPP_TAG_PRINTER )
+- attr = attr->next;
++ while ( attr != NULL && ippGetGroupTag( attr ) != IPP_TAG_PRINTER )
++ attr = ippNextAttribute( response );
+
+ if ( attr == NULL )
+ break;
+@@ -390,41 +430,41 @@ PyObject * getPrinters( PyObject * self,
+ state = IPP_PRINTER_IDLE;
+ accepting = 0;
+
+- while ( attr != NULL && attr->group_tag == IPP_TAG_PRINTER )
++ while ( attr != NULL && ippGetGroupTag( attr ) == IPP_TAG_PRINTER )
+ {
+- if ( strcmp( attr->name, "printer-name" ) == 0 &&
+- attr->value_tag == IPP_TAG_NAME )
+- name = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "device-uri" ) == 0 &&
+- attr->value_tag == IPP_TAG_URI )
+- device_uri = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-uri-supported" ) == 0 &&
+- attr->value_tag == IPP_TAG_URI )
+- printer_uri = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-info" ) == 0 &&
+- attr->value_tag == IPP_TAG_TEXT )
+- info = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-location" ) == 0 &&
+- attr->value_tag == IPP_TAG_TEXT )
+- location = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-make-and-model" ) == 0 &&
+- attr->value_tag == IPP_TAG_TEXT )
+- make_model = attr->values[ 0 ].string.text;
+-
+- else if ( strcmp( attr->name, "printer-state" ) == 0 &&
+- attr->value_tag == IPP_TAG_ENUM )
+- state = ( ipp_pstate_t ) attr->values[ 0 ].integer;
+-
+- else if (!strcmp(attr->name, "printer-is-accepting-jobs") &&
+- attr->value_tag == IPP_TAG_BOOLEAN)
+- accepting = attr->values[ 0 ].boolean;
++ if ( strcmp( ippGetName( attr ), "printer-name" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_NAME )
++ name = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "device-uri" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_URI )
++ device_uri = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-uri-supported" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_URI )
++ printer_uri = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-info" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_TEXT )
++ info = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-location" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_TEXT )
++ location = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-make-and-model" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_TEXT )
++ make_model = ippGetString( attr, 0, NULL );
++
++ else if ( strcmp( ippGetName( attr ), "printer-state" ) == 0 &&
++ ippGetValueTag( attr ) == IPP_TAG_ENUM )
++ state = ( ipp_pstate_t ) ippGetInteger( attr, 0 );
++
++ else if (!strcmp(ippGetName( attr ), "printer-is-accepting-jobs") &&
++ ippGetValueTag( attr ) == IPP_TAG_BOOLEAN)
++ accepting = ippGetBoolean( attr, 0 );
+
+- attr = attr->next;
++ attr = ippNextAttribute( response );
+ }
+
+ if ( device_uri == NULL )
+@@ -522,8 +562,8 @@ PyObject * addPrinter( PyObject * self,
+ request = ippNew();
+ language = cupsLangDefault();
+
+- request->request.op.operation_id = CUPS_ADD_PRINTER;
+- request->request.any.request_id = 1;
++ ippSetOperation( request, CUPS_ADD_PRINTER );
++ ippSetRequestId ( request, 1 );
+
+ ippAddString( request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
+ "attributes-charset", NULL, cupsLangEncoding( language ) );
+@@ -568,7 +608,7 @@ PyObject * addPrinter( PyObject * self,
+ }
+ else
+ {
+- status = response->request.status.status_code;
++ status = ippGetStatusCode( response );
+ //ippDelete( response );
+ r = 1;
+ }
+@@ -631,8 +671,8 @@ PyObject * delPrinter( PyObject * self,
+ */
+ request = ippNew();
+
+- request->request.op.operation_id = CUPS_DELETE_PRINTER;
+- request->request.op.request_id = 1;
++ ippSetOperation( request, CUPS_DELETE_PRINTER );
++ ippSetRequestId ( request, 1 );
+
+ language = cupsLangDefault();
+
+@@ -650,7 +690,7 @@ PyObject * delPrinter( PyObject * self,
+ */
+ response = cupsDoRequest( http, request, "/admin/" );
+
+- if ( ( response != NULL ) && ( response->request.status.status_code <= IPP_OK_CONFLICT ) )
++ if ( ( response != NULL ) && ( ippGetStatusCode( response ) <= IPP_OK_CONFLICT ) )
+ {
+ r = 1;
+ }
+@@ -721,8 +761,8 @@ PyObject * setDefaultPrinter( PyObject *
+
+ request = ippNew();
+
+- request->request.op.operation_id = CUPS_SET_DEFAULT;
+- request->request.op.request_id = 1;
++ ippSetOperation( request, CUPS_SET_DEFAULT );
++ ippSetRequestId ( request, 1 );
+
+ language = cupsLangDefault();
+
+@@ -743,7 +783,7 @@ PyObject * setDefaultPrinter( PyObject *
+
+ response = cupsDoRequest( http, request, "/admin/" );
+
+- if ( ( response != NULL ) && ( response->request.status.status_code <= IPP_OK_CONFLICT ) )
++ if ( ( response != NULL ) && ( ippGetStatusCode( response ) <= IPP_OK_CONFLICT ) )
+ {
+ r = 1;
+ }
+@@ -797,8 +837,8 @@ PyObject * controlPrinter( PyObject * se
+
+ request = ippNew();
+
+- request->request.op.operation_id = op;
+- request->request.op.request_id = 1;
++ ippSetOperation( request, op );
++ ippSetRequestId ( request, 1 );
+
+ language = cupsLangDefault();
+
+@@ -822,7 +862,7 @@ PyObject * controlPrinter( PyObject * se
+
+ response = cupsDoRequest(http, request, "/admin/");
+
+- if (( response != NULL ) && (response->request.status.status_code <= IPP_OK_CONFLICT))
++ if (( response != NULL ) && (ippGetStatusCode( response ) <= IPP_OK_CONFLICT))
+ {
+ r = 1;
+ }
+@@ -837,7 +877,7 @@ abort:
+ if ( response != NULL )
+ ippDelete( response );
+
+- return Py_BuildValue( "i", r );;
++ return Py_BuildValue( "i", r );
+ }
+
+
+@@ -1116,8 +1156,8 @@ PyObject * getPPDList( PyObject * self,
+
+ request = ippNew();
+
+- request->request.op.operation_id = CUPS_GET_PPDS;
+- request->request.op.request_id = 1;
++ ippSetOperation( request, CUPS_GET_PPDS );
++ ippSetRequestId ( request, 1 );
+
+ language = cupsLangDefault();
+
+@@ -1143,43 +1183,43 @@ PyObject * getPPDList( PyObject * self,
+ if ((response = cupsDoRequest(http, request, "/")) != NULL)
+ {
+
+- for (attr = response->attrs; attr; attr = attr->next)
++ for (attr = ippFirstAttribute( response ); attr; attr = ippNextAttribute( response ))
+ {
+ PyObject *dict;
+ char *ppdname = NULL;
+
+- while (attr && attr->group_tag != IPP_TAG_PRINTER)
+- attr = attr->next;
++ while (attr && ippGetGroupTag( attr ) != IPP_TAG_PRINTER)
++ attr = ippNextAttribute( response );
+
+ if (!attr)
+ break;
+
+ dict = PyDict_New ();
+
+- for (; attr && attr->group_tag == IPP_TAG_PRINTER; attr = attr->next)
++ for (; attr && ippGetGroupTag( attr ) == IPP_TAG_PRINTER; attr = ippNextAttribute( response ))
+ {
+ PyObject *val = NULL;
+
+- if (!strcmp (attr->name, "ppd-name") && attr->value_tag == IPP_TAG_NAME)
++ if (!strcmp (ippGetName( attr ), "ppd-name") && ippGetValueTag( attr ) == IPP_TAG_NAME)
+ {
+- ppdname = attr->values[0].string.text;
++ ppdname = ippGetString( attr, 0, NULL );
+
+ //sprintf( buf, "print '%s'", ppdname);
+ //PyRun_SimpleString( buf );
+ }
+
+- else if (attr->value_tag == IPP_TAG_TEXT || attr->value_tag == IPP_TAG_NAME || attr->value_tag == IPP_TAG_KEYWORD)
+- //else if ((!strcmp (attr->name, "ppd-natural-language") && attr->value_tag == IPP_TAG_LANGUAGE) ||
+- // (!strcmp (attr->name, "ppd-make-and-model") && attr->value_tag == IPP_TAG_TEXT) ||
+- // (!strcmp (attr->name, "ppd-make") && attr->value_tag == IPP_TAG_TEXT) ||
+- // (!strcmp (attr->name, "ppd-device-id") && attr->value_tag == IPP_TAG_TEXT))
++ else if (ippGetValueTag( attr ) == IPP_TAG_TEXT || ippGetValueTag( attr ) == IPP_TAG_NAME || ippGetValueTag( attr ) == IPP_TAG_KEYWORD)
++ //else if ((!strcmp (ippGetName( attr ), "ppd-natural-language") && ippGetValueTag( attr ) == IPP_TAG_LANGUAGE) ||
++ // (!strcmp (ippGetName( attr ), "ppd-make-and-model") && ippGetValueTag( attr ) == IPP_TAG_TEXT) ||
++ // (!strcmp (ippGetName( attr ), "ppd-make") && ippGetValueTag( attr ) == IPP_TAG_TEXT) ||
++ // (!strcmp (ippGetName( attr ), "ppd-device-id") && ippGetValueTag( attr ) == IPP_TAG_TEXT))
+ {
+- val = PyObj_from_UTF8(attr->values[0].string.text);
++ val = PyObj_from_UTF8(ippGetString( attr, 0, NULL ));
+ }
+
+ if (val)
+ {
+- PyDict_SetItemString (dict, attr->name, val);
++ PyDict_SetItemString (dict, ippGetName( attr ), val);
+ Py_DECREF (val);
+ }
+ }
+diff -up hplip-3.12.6/scan/sane/hpaio.c.ipp_accessors hplip-3.12.6/scan/sane/hpaio.c
+--- hplip-3.12.6/scan/sane/hpaio.c.ipp_accessors 2012-06-18 12:42:51.000000000 +0200
++++ hplip-3.12.6/scan/sane/hpaio.c 2012-07-19 17:12:34.557848760 +0200
+@@ -47,6 +47,43 @@
+ #define DEBUG_DECLARE_ONLY
+ #include "sanei_debug.h"
+
++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5)
++#define HAVE_CUPS_1_6 1
++#endif
++
++#ifndef HAVE_CUPS_1_6
++#define ippGetGroupTag(attr) attr->group_tag
++#define ippGetValueTag(attr) attr->value_tag
++#define ippGetName(attr) attr->name
++#define ippGetString(attr, element, language) attr->values[element].string.text
++
++static ipp_attribute_t * ippFirstAttribute( ipp_t *ipp )
++{
++ if (!ipp)
++ return (NULL);
++ return (ipp->current = ipp->attrs);
++}
++
++static ipp_attribute_t * ippNextAttribute( ipp_t *ipp )
++{
++ if (!ipp || !ipp->current)
++ return (NULL);
++ return (ipp->current = ipp->current->next);
++}
++
++static int ippSetOperation( ipp_t *ipp, ipp_op_t op )
++{
++ ipp->request.op.operation_id = op;
++ return (1);
++}
++
++static int ippSetRequestId( ipp_t *ipp, int request_id )
++{
++ ipp->request.any.request_id = request_id;
++ return (1);
++}
++#endif
++
+ static SANE_Device **DeviceList = NULL;
+
+ static int AddDeviceList(char *uri, char *model, SANE_Device ***pd)
+@@ -186,8 +223,8 @@ static int GetCupsPrinters(char ***print
+ /* Assemble the IPP request */
+ request = ippNew();
+
+- request->request.op.operation_id = CUPS_GET_PRINTERS;
+- request->request.any.request_id = 1;
++ ippSetOperation( request, CUPS_GET_PRINTERS );
++ ippSetRequestId( request, 1 );
+
+ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, "utf-8");
+ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, "en");
+@@ -197,20 +234,20 @@ static int GetCupsPrinters(char ***print
+ if ((response = cupsDoRequest(http, request, "/")) == NULL)
+ goto bugout;
+
+- for (attr = response->attrs; attr != NULL; attr = attr->next)
++ for (attr = ippFirstAttribute ( response ); attr != NULL; attr = ippNextAttribute( response ))
+ {
+ /* Skip leading attributes until we hit a printer. */
+- while (attr != NULL && attr->group_tag != IPP_TAG_PRINTER)
+- attr = attr->next;
++ while (attr != NULL && ippGetGroupTag( attr ) != IPP_TAG_PRINTER)
++ attr = ippNextAttribute( response );
+
+ if (attr == NULL)
+ break;
+
+- while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER)
++ while (attr != NULL && ippGetGroupTag( attr ) == IPP_TAG_PRINTER)
+ {
+- if (strcmp(attr->name, "device-uri") == 0 && attr->value_tag == IPP_TAG_URI && AddCupsList(attr->values[0].string.text, printer) == 0)
++ if (strcmp(ippGetName( attr ), "device-uri") == 0 && ippGetValueTag( attr ) == IPP_TAG_URI && AddCupsList(ippGetString( attr, 0, NULL ), printer) == 0)
+ cnt++;
+- attr = attr->next;
++ attr = ippNextAttribute( response );
+ }
+
+ if (attr == NULL)
diff --git a/libre/hplip-libre/disable_upgrade.patch b/libre/hplip-libre/disable_upgrade.patch
new file mode 100644
index 000000000..600d6ccc7
--- /dev/null
+++ b/libre/hplip-libre/disable_upgrade.patch
@@ -0,0 +1,14 @@
+--- upgrade.py.orig 2013-10-31 12:46:54.000000000 +0100
++++ upgrade.py 2013-12-04 14:58:03.000000000 +0100
+@@ -134,6 +134,11 @@ except getopt.GetoptError, e:
+ if os.getenv("HPLIP_DEBUG"):
+ log.set_level('debug')
+
++
++log.error("HPLIP upgrade is disabled by Parabola for security reasons, see https://bugs.archlinux.org/task/38083 - if you like to upgrade HPLIP, use the Parabola software package manager pacman.")
++clean_exit(1)
++
++
+ for o, a in opts:
+ if o in ('-h', '--help'):
+ usage()
diff --git a/libre/hplip-libre/hp-mkuri.patch b/libre/hplip-libre/hp-mkuri.patch
new file mode 100644
index 000000000..518e7608f
--- /dev/null
+++ b/libre/hplip-libre/hp-mkuri.patch
@@ -0,0 +1,11 @@
+--- io/hpmud/hp-mkuri.c.orig 2013-03-17 09:15:15.360624061 -0400
++++ io/hpmud/hp-mkuri.c 2013-03-17 09:15:30.924316847 -0400
+@@ -266,7 +266,7 @@
+
+ /* Bypass glib build dependencies by loading libnotify manually. */
+
+- if ((handle = load_library("libnotify.so.1")) == NULL)
++ if ((handle = load_library("libnotify.so.4")) == NULL)
+ {
+ BUG("failed to open libnotify: %m\n");
+ goto bugout;
diff --git a/libre/hplip-libre/hplip-CVE-2013-4325.patch b/libre/hplip-libre/hplip-CVE-2013-4325.patch
new file mode 100644
index 000000000..85bff893b
--- /dev/null
+++ b/libre/hplip-libre/hplip-CVE-2013-4325.patch
@@ -0,0 +1,22 @@
+diff -up hplip-3.13.7/base/pkit.py.CVE-2013-4325 hplip-3.13.7/base/pkit.py
+--- hplip-3.13.7/base/pkit.py.CVE-2013-4325 2013-07-23 06:18:29.000000000 +0100
++++ hplip-3.13.7/base/pkit.py 2013-09-11 10:54:13.252419283 +0100
+@@ -176,15 +176,10 @@ class PolicyKitService(dbus.service.Obje
+ "/org/freedesktop/PolicyKit1/Authority",
+ "org.freedesktop.PolicyKit1.Authority")
+ policy_kit = dbus.Interface(obj, "org.freedesktop.PolicyKit1.Authority")
+- info = dbus.Interface(connection.get_object("org.freedesktop.DBus",
+- "/org/freedesktop/DBus/Bus",
+- False),
+- "org.freedesktop.DBus")
+- pid = info.GetConnectionUnixProcessID(sender)
+
+ subject = (
+- 'unix-process',
+- { 'pid' : dbus.UInt32(pid, variant_level = 1) }
++ 'system-bus-name',
++ { 'name' : dbus.String(sender, variant_level = 1) }
+ )
+ details = { '' : '' }
+ flags = dbus.UInt32(1) # AllowUserInteraction = 0x00000001
+
diff --git a/libre/hplip-libre/hplip.install b/libre/hplip-libre/hplip.install
new file mode 100644
index 000000000..74532cde3
--- /dev/null
+++ b/libre/hplip-libre/hplip.install
@@ -0,0 +1,18 @@
+post_install() {
+ cat << EOF
+
+NOTE
+----
+# If you want to use this driver with sane:
+# echo "hpaio" >> /etc/sane.d/dll.conf
+
+EOF
+}
+
+post_upgrade() {
+ if [ "`vercmp $2 3.12.4-2`" -lt 0 ]; then
+ # important upgrade notice
+ echo "> Please remove your printer in cups, then add it"
+ echo "> back and reconfigure it to make it work again!"
+ fi
+}
diff --git a/libre/hplip-libre/hplip_typo.patch b/libre/hplip-libre/hplip_typo.patch
new file mode 100644
index 000000000..8d22f51ea
--- /dev/null
+++ b/libre/hplip-libre/hplip_typo.patch
@@ -0,0 +1,11 @@
+--- config_usb_printer.py 2013-05-19 02:23:17.506716304 +0300
++++ config_usb_printer.py.new 2013-05-19 02:23:30.140049848 +0300
+@@ -257,7 +257,7 @@
+ # ******************************* RUNNING FIRMWARE DOWNLOAD TO DEVICE FOR SUPPORTED PRINTER'S
+ fw_download_req = mq.get('fw-download', False)
+ if fw_download_req:
+- fw_cmd = utlis.which('hp-firmware', True)
++ fw_cmd = utils.which('hp-firmware', True)
+ if fw_cmd:
+ fw_cmd += " -y3 -s %s"%param
+ log.debug(fw_cmd)
diff --git a/libre/hydrogen-libre/PKGBUILD b/libre/hydrogen-libre/PKGBUILD
new file mode 100644
index 000000000..0f9dfb3e3
--- /dev/null
+++ b/libre/hydrogen-libre/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id: PKGBUILD 184270 2013-05-05 10:45:11Z schiv $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: tobias <tobias@archlinux.org>
+# Contributor: K. Piche <kpiche@rogers.com>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+
+_pkgname=hydrogen
+pkgname=hydrogen-libre
+pkgver=0.9.5.1
+pkgrel=4
+pkgdesc="An advanced drum machine, without nonfree drumkits recommendation"
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL')
+url="http://www.hydrogen-music.org/"
+depends=('libarchive' 'liblrdf' 'qt4' 'jack')
+makedepends=('scons' 'optipng')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+source=("http://downloads.sourceforge.net/$_pkgname/$_pkgname-$pkgver.tar.gz"
+ 'lrdf_raptor2.patch'
+ 'install.patch')
+install=$_pkgname.install
+options=('emptydirs')
+md5sums=('52f3a528705818c65acf546a3be4c6fb'
+ '2124851e890f46158189b5fa90006d40'
+ 'ce3a83a069b55e46aa532b55e803c9a5')
+
+prepare() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ # Change to list with only free licensed drumkits
+ sed -i -e 's|www.hydrogen-music.org/feeds/drumkit_list.php|repo.parabolagnulinux.org/other/hydrogen-libre/feeds/drumkit_list.php|'\
+ {data/{hydrogen.default.conf,doc/manual{.docbook,_nl.html,_es.html,_fr.html,.pot,_fr.po,_es.po,_en.html,_ca.html,_it.html}},gui/src/SoundLibrary/SoundLibraryImportDialog.cpp,libs/hydrogen/src/preferences.cpp} || read
+
+ # fix building with newer raptor
+ # see https://bugs.archlinux.org/task/25060
+ # TODO: report upstream
+ patch -Np1 -i "$srcdir/lrdf_raptor2.patch"
+
+ # fix some install-time issues
+ # http://www.assembla.com/spaces/hydrogen/tickets/204
+ patch -Np0 -i "$srcdir/install.patch"
+
+ # fix some pngs that break with newer libpng
+ # see https://mailman.archlinux.org/pipermail/arch-dev-public/2013-May/024872.html
+ msg2 "Fixing PNGs, please wait..."
+ find -name '*.png' -exec optipng -quiet -force -fix {} +
+}
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ export QTDIR=/usr
+ scons prefix=/usr libarchive=1
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ scons DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/hydrogen-libre/hydrogen.install b/libre/hydrogen-libre/hydrogen.install
new file mode 100644
index 000000000..ef354d1f5
--- /dev/null
+++ b/libre/hydrogen-libre/hydrogen.install
@@ -0,0 +1,9 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/hydrogen-libre/install.patch b/libre/hydrogen-libre/install.patch
new file mode 100644
index 000000000..2e6e707a1
--- /dev/null
+++ b/libre/hydrogen-libre/install.patch
@@ -0,0 +1,12 @@
+*** Sconstruct.org 2011-11-06 12:15:40.018119106 +0100
+--- Sconstruct 2011-11-06 12:16:21.124122432 +0100
+***************
+*** 298,304 ****
+
+ for N in glob.glob('./data/i18n/hydrogen.*'):
+ env.Alias(target="install", source=env.Install(dir= env['DESTDIR'] + env['prefix'] + '/share/hydrogen/data/i18n', source=N))
+- env.Alias(target="install", source=env.Install(dir= env['DESTDIR'] + env['prefix'] + '/share/hydrogen/data', source="./data/img"))
+
+ #add every img in ./data/img to the install list.
+ os.path.walk("./data/img/",install_images,env)
+--- 298,303 ----
diff --git a/libre/hydrogen-libre/lrdf_raptor2.patch b/libre/hydrogen-libre/lrdf_raptor2.patch
new file mode 100644
index 000000000..ec176b716
--- /dev/null
+++ b/libre/hydrogen-libre/lrdf_raptor2.patch
@@ -0,0 +1,11 @@
+diff -baur hydrogen-0.9.5.old/Sconstruct hydrogen-0.9.5/Sconstruct
+--- hydrogen-0.9.5.old/Sconstruct 2011-08-11 18:00:07.889112348 +0800
++++ hydrogen-0.9.5/Sconstruct 2011-08-11 18:00:34.945632437 +0800
+@@ -83,6 +83,7 @@
+ includes.append( './' )
+ includes.append( 'gui/src/' )
+ includes.append( '3rdparty/install/include' )
++ includes.append( '/usr/include/raptor2' )
+
+ if sys.platform == "darwin":
+ ldflags.append( '-L/opt/local/lib' )
diff --git a/libre/icecat-adblock-plus/PKGBUILD b/libre/icecat-adblock-plus/PKGBUILD
new file mode 100644
index 000000000..b1ccb3b09
--- /dev/null
+++ b/libre/icecat-adblock-plus/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 104302 2014-01-17 11:39:31Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+
+pkgname=icecat-adblock-plus
+pkgver=2.4.1
+_addons_file=230225
+pkgrel=1.1
+pkgdesc="plugin for icecat which block ads and banners"
+arch=('any')
+url="http://adblockplus.org/"
+license=('GPL')
+depends=("icecat")
+makedepends=('unzip')
+provides=(firefox-adblock-plus=$pkgver)
+noextract=("adblock_plus-$pkgver-fx+tb+fn+sm.xpi")
+source=(https://addons.mozilla.org/firefox/downloads/file/${_addons_file}/adblock_plus-$pkgver-fx+tb+fn+sm.xpi)
+md5sums=('3fe51813290a0d7103b620e2813a8c0e')
+
+package() {
+# _ffver=`pacman -Q firefox | cut -f2 -d\ | cut -f1-2 -d.`
+# depends=("icecat>=${_ffver}" "icecat<=${_ffver/0/99}")
+
+ cd $srcdir
+ [ $NOEXTRACT -eq 1 ] || unzip adblock_plus-$pkgver-fx+tb+fn+sm.xpi
+ local emid=$(sed -n -e '/<\?em:id>\?/!d; s/.*\([\"{].*[}\"]\).*/\1/; s/\"//g; p; q' install.rdf)
+ local dstdir=$pkgdir/usr/lib/icecat/browser/extensions/${emid}
+ [ -n ${emid} ] || return 1
+ install -d $dstdir
+# sed -i 's#<em:maxVersion>.*</em:maxVersion>#<em:maxVersion>20.*</em:maxVersion>#' install.rdf
+ cp -R * $dstdir
+ rm $dstdir/*.xpi
+ find $pkgdir -type d -exec chmod 0755 {} \;
+ find $pkgdir -type f -exec chmod 0644 {} \;
+}
diff --git a/libre/icecat-firebug/PKGBUILD b/libre/icecat-firebug/PKGBUILD
new file mode 100644
index 000000000..cf5bcee6b
--- /dev/null
+++ b/libre/icecat-firebug/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 105364 2014-02-06 03:30:33Z speps $
+# Maintainer: speps <speps at aur dot archlinux dot org>
+
+pkgname=icecat-firebug
+pkgver=1.12.6
+pkgrel=1.1
+pkgdesc="IceCat plugin with tools for web development."
+arch=(any)
+url="http://getfirebug.com/"
+license=('custom:BSD')
+groups=('icecat-addons')
+depends=('icecat')
+provides=('firebug' firefox-firebug=$pkgver)
+source=("${url}releases/firebug/${pkgver%.*}/firebug-$pkgver.xpi")
+md5sums=('e929032f03f3af210355905cd4ddf6d3')
+
+package() {
+ cd "$srcdir"
+
+ # extension
+ _dest="$pkgdir/usr/lib/icecat/browser/extensions/firebug@software.joehewitt.com"
+ find . -type d -exec install -d {} $_dest/{} \;
+ find . -type f -exec install -Dm644 {} $_dest/{} \;
+
+ # license
+ install -Dm644 license.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/icecat-l10n/Makefile b/libre/icecat-l10n/Makefile
new file mode 100644
index 000000000..d1aaf7bff
--- /dev/null
+++ b/libre/icecat-l10n/Makefile
@@ -0,0 +1,38 @@
+#!/usr/bin/make -f
+# Use this script to update the PKGBUILD's list of langpacks.
+# This script depends on:
+# - coreutils
+# - grep
+# - pacman
+# - sed
+# - wget
+
+# Variables:
+_pkgver=10.0
+pkgver=10.0
+pkgrel=1
+
+# Guts: ##############################################################
+
+default: PHONY all
+all: PHONY PKGBUILD
+
+index.html: Makefile
+ rm -f $@
+ wget http://gnuzilla.gnu.org/download/langpacks/${pkgver}/
+langpacks.txt: index.html Makefile
+ egrep -o '[^>".]+\.xpi' $< | sort -u | sed 's/\.xpi//' > $@
+PKGBUILD: PKGBUILD.in langpacks.txt Makefile
+ sed \
+ -e 's/@_PKGVER@/$(_pkgver)/' \
+ -e 's/@PKGVER@/$(pkgver)/' \
+ -e 's/@PKGREL@/$(pkgrel)/' \
+ -e "s/@LANGPACKS@/(`xargs echo < langpacks.txt`)/" \
+ -e '/md5sums/,$$d' \
+ PKGBUILD.in > $@
+ makepkg -dg >> $@
+
+clean: PHONY
+ rm -f index.html langpacks.txt *.xpi
+
+.PHONY: PHONY FORCE
diff --git a/libre/icecat-l10n/PKGBUILD b/libre/icecat-l10n/PKGBUILD
new file mode 100644
index 000000000..939e07019
--- /dev/null
+++ b/libre/icecat-l10n/PKGBUILD
@@ -0,0 +1,173 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: fauno <fauno@kiwwwi.com.ar>
+# Contributor: Figue <ffigue@gmail.com>
+# Maintainer: Márcio Silva <coadde@lavabit.com>
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Based on firefox-i18n package
+
+# When updating to a newer upstream release:
+# - Edit variables in in Makefile.
+# - (optionally) edit PKGBUILD.in
+# - Run 'make'. It will take care of everything else for you.
+
+_langpacks=(ach af ak ar as ast be bg bn-BD bn-IN br bs ca cs csb cy da de el en-GB en-ZA eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gu-IN he hi-IN hr hu hy-AM id is it ja kk km kn ko ku lg lij lt lv mai mk ml mr nb-NO nl nn-NO nso or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta ta-LK te th tr uk vi zh-CN zh-TW zu)
+
+pkgbase=icecat-l10n
+pkgname=(
+ $(for lang in ${_langpacks[@]}
+ do echo icecat-l10n-$lang | tr A-Z a-z
+ done)
+)
+pkgver=24.0
+pkgrel=1
+pkgdesc='Language packs for GNU IceCat.'
+arch=(
+ any
+)
+license=(
+ MPL GPL
+)
+url=http://www.gnu.org/software/gnuzilla/
+depends=(
+ ${pkgbase%-l10n}=$pkgver
+)
+makedepends=(
+ unzip
+ zip
+)
+source=('region.properties')
+# for lang in ${_langpacks[@]}
+# do
+# source+=(http://ftp.gnu.org/gnu/gnuzilla/lang/${pkgver::2}/$lang.xpi)
+# done
+
+ for lang in ${_langpacks[@]}
+ do
+ source+=(http://mirror.lnx.im/icecat/langpacks/$pkgver/$lang.xpi)
+ done
+
+noextract=(
+ $(for lang in ${_langpacks[@]}
+ do echo $lang.xpi
+ done)
+)
+
+
+_path=/usr/lib/${pkgbase%-l10n}/browser/extensions/
+
+build() {
+ cd $srcdir
+
+ for i in ${_langpacks[@]}
+ do
+ cd $srcdir
+ unzip -q $i.xpi -d $i
+ install -Dm644 $srcdir/region.properties $i/browser/chrome/$i/locale/browser-region
+ cd $i
+ zip -q -r $srcdir/langpack-$i@firefox.mozilla.org.xpi .
+ done
+
+ cd $srcdir
+}
+
+for lang in ${_langpacks[@]}
+do
+ eval "
+package_icecat-l10n-$(echo $lang | tr A-Z a-z) () {
+ replaces=(icecat-i18n-$(echo $lang | tr A-Z a-z))
+ conflicts=(icecat-i18n-$(echo $lang | tr A-Z a-z))
+ provides=(icecat-i18n-$(echo $lang | tr A-Z a-z))
+ install -Dm644 \"\$srcdir/langpack-$lang@firefox.mozilla.org.xpi\" \"\$pkgdir$_path/langpack-$lang@firefox.mozilla.org.xpi\"
+}
+"
+done
+
+sha512sums=('b6ddcf75c0ff8c542851be45147dfe22c1a73c5e4dd59ce6543d5a3e7bba70be3576bd280cbe53f479bfdf5c3839561484b0f9e93ca061bae9ff25990a7e899b'
+ 'ccbc42363a5c0927404175d1d2abd1a039582789464e3533ea018055594522d25bb78cddb587c3d97f6747683e57a3f8ef387352756574f70aeef007bdb48e43'
+ '102c77a69adee2132e063a8d831cc0876b184100a36cd2a8a34be80cdbd4c9a5db2490d01b0329725fe4077b8be71c684f57fb71131bec35a1d2bc06570d09bd'
+ '0c6852c488ae71bf84b0cf09e605aaa6d465f67a81fbe6a0a608a63c413d2574b059e8596fbd3476b4c247246ef0600eaee9e5e514c5beea5306ed94d685111a'
+ '78eaed8c944ddf9ed2eed1165f2d55da4835aa31dd9e541017b528ee065f01907ac2538e7c2995ae7df9878c4395659431ac6ebcb63eec06f1dab0aa654b6f2c'
+ '56f5764051f9d2b1d6501d0c55953252359722fdef3364925275d890ac0eaec64c7d3f5ab674591217113f67041b6558dbec7448a172ee1a3d0e6728dc82e6dc'
+ '35c3c2bf8df1821fe7e88d3a25e1d05780c3376349c6d2ef5102016bc8f3dd5b474dbdff567f8eb81f01e9ead80ea251d8d0a97c1eaf378e8182d499e4163d1b'
+ '1ec2afe2877cd6237bec7edc9474d9f53410fe6bc401e5f22c8fe1545b3349ce2d273c8b926fe2e49d742a366d520d494b09a29b8103194ef43f255ab5c72cf1'
+ '16e7e18ed3a549767128e88edce8bc5510e609e61c016b7ae472cd292129f1a97a9bab6d71c85acb2a8999ae69ae00cdf74d7b0661062f843c693fcfb3c61cf3'
+ 'f06e6d5a54ff1e02bb8ade7b52f229e1fc686b3e783f8409563698293bc97431b08c28fc33490617a6e97187f0bd25297ab41339cd55a6db5d419b912f110742'
+ '2132a6609004ae4362819d4a32c9db64edc94b5fad6902bf6c0a91e8c77828d028fd2444c7173ba5e35b2925e34d6914d788b9f2572f07c71605a21ed6f3e2d6'
+ 'c6a43b119d720784d4757ff10e21d161689fd538869bdc28af161a244eee602aba9ed5089a8f3ccbdcd2339e756543f3f636adc235a0a1136edc144ddfccc045'
+ '73b332b86150b3acb163b7e438e4fd84fadddfa284619bd4664ce235d3979a2ad548f56b31a60af45b5005b6eef58d3177b9d343f829ff630dc7c892d73069c7'
+ '30ee0d37261826727003292434f94606d83f56933ff45a78e26160c32fb360752ca3a46a225b63e46f6091a7f4be7bc8ccce01e4af6d03e3d955e107df3dc192'
+ '36bf0085d7e1751a3845afffbc48bdfe97fee324ad373a24515e2278e9863f1fccead5cfd3dcc4257c68a6ee571f74b5d564496a7c859e8d2708db4f3dbc0e2c'
+ '79315feb9f32c6ef2b879902db479f9641ccace17f4aecc2d8e60d2758cddb739aecc1cedc168361ca5013afcbc65552227861c9890da6fefc52578bfa071f02'
+ 'f092ce7de320fa4197039c727471b3485ecb58b21789e17d91f78c00eb294f5d59cc30d9c12dde56f1423517a2dd0d376ccdecd4a20f6ee429bc8d68abe6c58c'
+ 'ac64bd3ef7d8bbc34a75d8769f7d167367913dcd48037344f4bd1664a20d0d957da5b4259f14c1bb1039e1700fcd911ebd363db51d77a058af97f319f3cf37af'
+ '762b19770395840066d7ed7a783737ae2b7441acda2b81a43ee660dc73f349016c5c0d76eedd7770179adc98855e9f8c4fc7c07f34aa226a6c0ac873bb2c9199'
+ '4eada162fd7356a75463d6a3f6e9a85348f578152be7ba8ebc7f720c89441be1c5cf1d1ecb87bac07fb5d58d144a62d89610f01e76fdac960e6452ad14b48640'
+ 'd9004ddf736a599791516bda109641dc73f3c0cd75c57f4dc0f4eb38af7edd4c43cd679affdd787ce90c620eedeee4d4b57daf566ff45abe5296711bdbd361ef'
+ '28b64dcec6f5b80962c40e3ab24dd9e025292824e77421db415022619d1e93f59ef4e3bebf2d99aafffb7dded9d50b0a8828368dea1fd349cffac870293d547f'
+ 'f9a0a0528f9e9eada477b9025b5ada3b331dccb9b813b8d6de8795888f8c2ba5ca83224b66c7bbc6b628bc5ddce412d02fdce13bb02cebd0368ed326fd985455'
+ '2eb64ec09e717c2bcff31972879cf5f4f38bedfd6c7e104c9f60c6112a0b66ca0b2a8bfb6e1fb8b0b917dd742e6a0294c7e63d950396938880fa2a08780028fe'
+ 'de39689bcaaaad0d091cb629c8ffcc3d547e38cc18803a523e4dfd19261a73369d05dc516f9fd070416656f0b8525b2167a1a91e1f52dee566afbbde67546dad'
+ '5710bd570db458d7f380d1ef67f6916ae8b5aa168fef6148f8c9939eb0cf891d7c231baf7b82d3a929100ecdfb41f1697463493279d85782ae20ae8e1f723f27'
+ 'dc81b95d5c0288b7b18f6b83385b5841f53be315d00283f7bbbda10546ddd1c6da8962cbcd17cdad596b80792430b9e370bd7504396148e9f3b7ecf6b67a3fb8'
+ 'f99bf5afe15f8160c013aa61e117480962b41e3f07558479949e47a78deddd30e5edab92fbb95fe9fc5691cc758e4cd677db77438169db9b728ec859d0ea9be9'
+ '3876d605a77ba69a5c465b323af11bf465b5d3018a73d9abe3967d2efb581db44cdcfc1c3882b057f0341ff2c4a0f4a47644d621dbb82600d971b9fadc308c07'
+ 'eb6a2f1c3cec49b87d3589d30e47fba7f5bb7988a9fea9c453c001a0b6b7efaab537eeb775beaf9340836a505141654f908880b2b87d017c3ea10df270e2bb08'
+ '15b55e38071b055b415a35ea6b01d62967e716f05a77d3cf0ca4579526705d8d95418517c62629a2c8bf2a4d4bd164bb562053bd062920327c7f46d6ecadb258'
+ 'baf7e9d95af4a10460c2181b0e061477d19dcbd1f7ea07fcf57826663fd4bf289a44870f9f1e0b87491bbdf8c98e9c8cffc1166fbd85738e81fabca5ae2cbde1'
+ '63195a49b46a36281bcc8929bf60330bf71e0df573bcb84e88168785131f2a686d92a5d4cf0dbceeca8b98ad8b965614db519775ebb4201fb36d21aa63740acd'
+ '799c78a46d3e0f680530512296af06566c478b39036f5368db4f1dbafd03753e22b8db787fc8f10e0956406fb2af20d235e4a2db230231c7523bc10a9d0eb608'
+ '06ce49ad0b1ea766e5d9b4098977cb98d9b07501ead5288c943bd4aa394300f9d7c540000b8b6501dac70aa0f07a0f34c12ef405e98d193a8ccd4fdfddaf0c76'
+ 'b4295f5c8018852ef99b704d976c72c0d6b1a1296a88ea8aa5a20afc2612ad5f6e7cafc78fef1b5efcc3a09a11a8f929fbdfa5f927fdfd1a237786ee23ea0890'
+ '41af25a045833fad8a2df8682466ea39278e71b560e356557ab8b5aace8cb7294e7e8eb868ba817b5027ce86badeb53caeab4ad615fc9d6836bdaa8ddacf589a'
+ '6b86ed5850f0af5a8ab3e982d8e568b49eec7b0ea636793d83fbbd2da49e66ff42be3a4ba03da79c04b091dfb966c366a73683bf7f12dd6a87875b0137c781a5'
+ '7e244e0b924a6ec524a4a8aa8f100785ba2e7a9a76d879b44ba7ad0cc21bd28669099203e81c68ad205bb9a62e384178a2008a8bc2b81133589fe103d924e4a8'
+ '55f1bb499e89c8668674534a0b5455d7035ecf190030cb244c3e7ed5fa30dda362bf162aa888d224fe8bfe6a2dac1bdb5fa37208b6613795bb0f6e1c7f328f9e'
+ '613fe8e67dff63acb99648b16c364df9ac9cd1000a694d4500dc3fa82ffa40a32664ec6af0ace72527358c54793819758f9db34864737dd24f568eecacc9d034'
+ 'ef1f0f6c581a241d9641cfde319e3c827e6192b24848f32729b46d042d81c5d38b63c390dd9f6de07b022a2af44675699304426d223facec574310f49310f3fa'
+ 'bf83bdbf27fa98b9b2bd6e1975c2c9ed978cccf20e30e0bebce7db9f0175ef7e64826ec04eb156d3608514b238e42a48c02094404c49b3cd8d6e225bb7ac9289'
+ '30590eb19cf6b3bc91211054bac3b59b211c4f24985643ec441a62346b56964b3f3509d8c814345be812ad424b47d5feca29e904fda54f1ac0f41f38781c7484'
+ '089eefd02e48b87912e4f7ca6f59f202a4f70809b6dcaffdd626e01454788a1190c89529e6952b3b53738f1c33c6888ca696b0039f0fd2bf041c78fb20864c52'
+ 'f542e6664dd496c02c0ed31ffcae98961a0b5eb09fb6253c0342161753e35b2abaa1d63da30b7b46ad76d1daa75b234e6d960725cc105f9ad5aa4952f0848411'
+ 'f8345f06193913910530709a7c2f0db346bbcd8d61ab284cb148f0d79957a02a63cba29255eb9c07f8b0b78b509bc182c2e6621926c6e1ba2bc7d22b689b8823'
+ '0138d8102177e49810a7c870f642f00d967f50b6c67fb19031ab738a345bf54cf6d4301156a1e3848e301105ec5a23a3e8a086660a56b947da5fe49c0482de9d'
+ 'eb6b299e8d449d8ee9b55737e6c8544a047fb6fe3712ee7af5ab170ebd2511fd68783f26e053dcbfc6b3e5499d49d0e5e40751b3d666eddf2d522fea52515449'
+ '3f3affc89f9882c551458fe7a1d6ceb88c3d306e6ea33d374330bd68e797210fd57c58a144c150c22bc9ba5d4d0a072e3547720990a46d511dd39582d3144256'
+ 'e74551b7a0b983556dc0d6abc1cba0249592db640c1ebc1ca85fe16581c9270be164e0f03b6597b2442ffb25debc5fb5c9cbe2cfd4b496ef7aaab3b392a90af4'
+ '296953b90b1b0e997d6f26261895c41124f3994a324639631757ad4f929b90484d339d7c39b2bd61162962aa711a8fc3106e39d894484bc2c1a9aaa19d1ca527'
+ '2953a1e268b6daa5c975ae474c699d5d666e4038bf9c9ac9bc43cbcba8595d6ae2b9d7ee276dd5e7b8e5aa28748266881ab08cab6b7b82f0300544d9db41fad0'
+ '4db9a7557de060401e983bcb941c82de24d28a52735060b0d0635f74fd03691d50917911a0d37361155e8d046b4f1276b4572aa5f5ab1d93b8e427562cf8c5c3'
+ 'f741090c6ceb77dd32c3e2f7ed3bb333404aa1baa3403c9ed2555ae460af2a35aee8bf78bcf0df6ab2e62c7fbe8994c99b3701a7686201a6b0aeb8759480f0ce'
+ '14dc9e7baea0e6a69c1c2eb4fe40d6e73176240e5188966a8e71e9f443c4a1314785b83725bf95138751d21f0c5528af485dd91e82a70e3247e031796cc9f674'
+ '9339f2dd572e4856d83d58cf430fccdb7402726ce8aad598bdae4dea5c44fab85fcb8a6e4662ffb291aba5239fa897ae7b2175d43c3924d9b655ab4aa07a5c12'
+ 'b6ecce0111f7f19f66dbb5272642a1cb49ca86ad66986d8068d6f7ec57daca37fb4bf21091eb571369a9c13b2ad362c9268fb57ed746a4965ed3f1c2ceee0b7f'
+ 'ccac4efb9f646991ae8edbc629286a443ace2526505de8940f1c689aa03e774b95354710c5cfc4437b05061f33e196f99deea9b9a4097bffe659fc44e81905db'
+ '6bf2e0a8184dda096e4756010854abe678716da2e67f305a74ee781f2fa530f131b69cdc0ad028d73de74af47a0c63d8dccd150d7f5c62c0fda117898667e8fc'
+ '3447315c1301eb5cfaf9b5ff2182b8ec59028edee886dc0d746d38d9118a8bbb12496c4c7b8ed0105b825a305357d69378c9ed81c219146a5369426af51bc89d'
+ 'b642f47cf12951b471eb88a827b446b93bd5be2e4f48f79f063c158330e571c364ed99e9db52aa46c3fa4bf05ddd4a453c170251e78ffefc0231df8226b54fab'
+ '52627d61d3fddb87bbc9bd0ff9285c7a9e02dce5b581900b81b67da3e29c5348d27c39e617955d67429c2463f390aa7e1517f1c169c99968e165b95c4c1cd788'
+ '2106e376a6489d8f3c7ac8de416629c358700b2211003ed62304b9c807abf2874ef0fc302a2ddc365b78eeaaf96e18efdb2638df53d0bb17cb25547754001315'
+ '94602a30a47096ad5b513db79e0ff6f9ae772ce1615fe7a96b59bf5167ae9f51b062939318b07fe4112f61d21ddadd63403c501f28e6b05972b57e7bd6d1fc3d'
+ '8f00a33b2e4e3ca4e3b8ef2bf570b235c1adb9bafcff72e57075ac23d7bfb3c4251b789ff297c1db26c67cae9b5450deefaa1e29be5f800fb83556757e739aee'
+ '20e960e0f63b47edc11ab3dc7821148e87ddbe2862dcce88d6683c2a029d898d37f222aec0f0a74437d722eaca969735268c361e6f3fd1ea0abb20b648216ac3'
+ '7120185e1bd4651a9ea04b6df44a38a06983673289fd730b0bb01cd5e5421157f000b6fbaace5108bf27f3f481abdb25ae37cce429a4903343b1d4d7d26fc89f'
+ 'd019d132fbccd949e3c3d1431af404c91a70f2e1ab8453d2c4d181d296a6c1e04faf33c8a40817214b3942e49362c213ddc0ef27ca28abe0a5207cf38c8f0cae'
+ '6043baa68dd7416d58a05f79dff945d686e43ecbcc6887d095b726863fcecd82ca44c443eb7418271a94d2500a6a7be3986be0845004faa7019ce85c78fbdc46'
+ 'eda161269a3d765e8f7c459c801a614b18a0cec532fdd6adf39b8dceef4ab300302e89ee124369416117e87aa5c2702828ccd629703477cc8b43695ea60d3a25'
+ '120a98b28b14c4c3ebb65686a0e80b1c9055bf0b800c09b7abfb7a55b69040ecd582e068eb0330509bdd7b50ae1c4a2cad1497a9948104185903145e849cafe4'
+ 'a53fc721cdb2359b353e118ed063a4450b9bac414e50c75229f805eeefabf50ba56e6750f7d8785e1a44305c1cb65937ce4807fbdc9b39fa190ee76212fcf83c'
+ 'f10d6cfbebdaaf03147584a87d0d5a08e77b0708528b4936f1dfdd5a3b0586fc011ed55e79d3c9f852c8812f64f4bef4b44b4732bbdac91657f1b929041b008a'
+ '382aa46e2063d13cf0def1dbf3d975b7e46e5aa752549ed2a705b445c77e8cb2788c1a457bb6eb498b2b5c712d0ef577b83970dd366e6a0301c1406bd3bd453c'
+ '4e827413807cd1a751bd60cbf4f77b289883e88a4c76414ba6467dbc9c7b34397f2c8b2468b6ded8f96328d8fb5e3db022e14957329cb345c17ac80eee446196'
+ '59df71086abd10f71a2a90bb4fbcca16bb7d397c437d1fa3d30f8b20aa79aa4ce7373e57b7c0985356069e196106398a9084a0261d13bfc2d7361a62653e7d78'
+ 'efe0bd64ad3b65a9371b11c7c8f7fd49fd64cabfc4a8c920f49da620bb96f4f884c7ff608d45df8e02c59050e7305d8746f3293720a22ff9dd5d42768a2b7c65'
+ 'b9c5bc90c92aa09ebdc9755111ac77f823b1f25f329d68549731d24ad04aa748fcb721bee88827f98b90f4337e934cfd01be7a8f1b61f8b2d7c5e8ee99b33ca2'
+ 'b0a10a75106b1932d0c9bbbde06410951758685693dfafe761c3460976a702b26739ca954c09983b9d00e89aa93ded4f3d9894640d0706902c15f626211185b5'
+ '3a5ae6dd61c11076bd4306a2a46215eef72398d6408bdad2d1df5544ba221820ed761ab4e070f7a04283b38489e9b59432857b24c8ec6b3fd963658dfe7ca37f'
+ '162ea29214d4a08861fcf1ac01ac1b3502947f93d8b7b15f1b547ad966b7394089731224b5cdab0351a63165673b60ca3b66af7051ce4ac3e6851e146e1c1390'
+ '52239d8a7eb7af80401399510cbc4988131ad2aecf1fe0990498e5e0c6e1002e95b36fc8b94463661083348c2967548983ad47ce6cc4081a39394f27478433c4'
+ '965ed8801d5c857f90734837afe9d9d8f4931dc1eafe7bdbcf5c73d003d00e9d9175970cfdf62acc325bd93229dfae276b6b2481b48ab2198aca4a5d701bf5e6'
+ 'cd49326639793d6fd115ddd61d38606575d11bab6c6a9c123800d924e5e720ce9a102ee0bd8d3d3e9ee1a0700da1b5c9058760dce9b9c752cf19bc93e5137a7a'
+ 'f93bc631c340ea0211ad66cf270cc749a4b5f771d7b4445cf17544c0274cb75ddfe9529ac33f9e2d0103604e6102b88445c725d5753b5634fabb5cfb1a5be7b9'
+ 'ed99a68bc4d59376c292cddacd7666de7e622e1a1737fa0d560d186e07f196139416f44c9ae8aca4823d9251d98327acfc2dd9f7e2ac88884f6ca517b86940fa'
+ '220fa866daa4a691d8f785be4744dd7efa0f1fd96456cd64d3958afaf7d201028d11dca313a7943cc11098606be6dfb1b202d5f0e453868f71e1e17d7fa68905'
+ '2ba9cd3a40ce4fba8cbb09ccd09ca0f1ec1170927c7c019349620c047a852ef1c9acba06894c81b177a150d4f2429d048a48c79a132c17b2a66a52dc44f0b876')
diff --git a/libre/icecat-l10n/region.properties b/libre/icecat-l10n/region.properties
new file mode 100644
index 000000000..fe7f265ce
--- /dev/null
+++ b/libre/icecat-l10n/region.properties
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Default search engine
+browser.search.defaultenginename=DuckDuckGo HTML
+
+# Search engine order (order displayed in the search bar dropdown)s
+browser.search.order.1=DuckDuckGo HTML
+browser.search.order.2=DuckDuckGo Lite
+browser.search.order.3=Seeks Search
+
+# increment this number when anything gets changed in the list below. This will
+# cause Firefox to re-read these prefs and inject any new handlers into the
+# profile database. Note that "new" is defined as "has a different URL"; this
+# means that it's not possible to update the name of existing handler, so
+# don't make any spelling errors here.
+gecko.handlerService.defaultHandlersVersion=3
+
+# The default set of protocol handlers for irc:
+gecko.handlerService.schemes.irc.0.name=Freenode Web IRC
+gecko.handlerService.schemes.irc.0.uriTemplate=https://webchat.freenode.net
+
+# The default set of protocol handlers for ircs:
+gecko.handlerService.schemes.ircs.0.name=Freenode Web IRC
+gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net
diff --git a/libre/icecat-noscript/PKGBUILD b/libre/icecat-noscript/PKGBUILD
index 16579acdd..643db648f 100644
--- a/libre/icecat-noscript/PKGBUILD
+++ b/libre/icecat-noscript/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 104641 2014-01-24 07:00:27Z spupykin $
+# $Id: PKGBUILD 105656 2014-02-13 09:26:07Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
_pkgname=firefox-noscript
pkgname=icecat-noscript
-pkgver=2.6.8.13
+pkgver=2.6.8.14
pkgrel=1
pkgdesc="plugin for icecat which disables script"
arch=('any')
@@ -14,7 +14,7 @@ depends=()
provides=$_pkgname=$pkgver
makedepends=('unzip')
source=(https://secure.informaction.com/download/releases/noscript-$pkgver.xpi)
-md5sums=('75ec11cc5f3f039e81113abfb908110e')
+md5sums=('f0ecd6bd7c7331d77c91df55bdb3d7da')
package() {
# _ffver=`pacman -Q icecat | cut -f2 -d\ | cut -f1 -d-`
diff --git a/libre/icecat-raismth/PKGBUILD b/libre/icecat-raismth/PKGBUILD
new file mode 100644
index 000000000..83b545767
--- /dev/null
+++ b/libre/icecat-raismth/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 101450 2013-11-25 21:16:28Z speps $
+# Maintainer: speps <speps at aur dot archlinux dot org>
+
+pkgname=icecat-raismth
+pkgver=4.0.1
+pkgrel=1.1
+pkgdesc="IceCat plugin for watching Rai.tv live channels, vod and replay contents w/o *light (Silverlight/Moonlight)"
+arch=('any')
+url="http://acab.servebeer.com/"
+license=('GPL3')
+groups=('icecat-addons')
+depends=('icecat')
+optdepends=('mplayer: default video player'
+ 'faad: default audio player')
+provides=('raismth' firefox-raismth=$pkgver)
+source=("${url}raismth-$pkgver.xpi")
+md5sums=('f772ef1a74b0aba3a739849fee3238ea')
+
+package() {
+ cd "$srcdir"
+
+ # extension
+ _dest="$pkgdir/usr/lib/icecat/browser/extensions/raismth@mitm.rc"
+ find . -type d -exec install -d {} $_dest/{} \;
+ find . -type f -exec install -Dm644 {} $_dest/{} \;
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/icecat-spell-ru/PKGBUILD b/libre/icecat-spell-ru/PKGBUILD
new file mode 100644
index 000000000..5b088817a
--- /dev/null
+++ b/libre/icecat-spell-ru/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 90907 2013-05-15 13:06:09Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Maciej Sitarz <macieks@freesco.pl>
+
+pkgname=icecat-spell-ru
+pkgver=0.4.4
+pkgrel=13.1
+pkgdesc="Russian spellchecker dictionary for IceCat"
+arch=(any)
+url="https://addons.mozilla.org/firefox/dictionaries/"
+license=("GPL")
+depends=("icecat")
+provides=(firefox-spell-ru=$pkgver)
+noextract=(russian_spellchecking_dictionary_with_io_support-$pkgver-fx+tb+sm.xpi)
+source=(https://addons.mozilla.org/firefox/downloads/file/98798/russian_spellchecking_dictionary-$pkgver-fx+tb+sm.xpi)
+md5sums=('269a8bdd38a5641b5f6cfb12715f1029')
+
+package() {
+# _ffver=`pacman -Q icecat | cut -f2 -d\ | cut -f1 -d-`
+# depends=("icecat>=${_ffver}" "icecat<=${_ffver/0/99}")
+
+ cd $srcdir
+ rm $srcdir/*.xpi
+ local _dir=$pkgdir/usr/lib/icecat/browser/extensions/ru@dictionaries.addons.mozilla.org
+ mkdir -p "${_dir}"
+ cd "${_dir}"
+ sed -i 's#<em:maxVersion>.*</em:maxVersion>#<em:maxVersion>20.*</em:maxVersion>#' $srcdir/install.rdf
+ cp -r $srcdir/* "${_dir}"
+ find ${_dir} -type f -exec chmod 0644 {} \;
+ touch ${_dir}/chrome.manifest
+}
diff --git a/libre/icecat/PKGBUILD b/libre/icecat/PKGBUILD
new file mode 100644
index 000000000..4920c20e3
--- /dev/null
+++ b/libre/icecat/PKGBUILD
@@ -0,0 +1,188 @@
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+# Contributor (ConnochaetOS): Henry Jensen <hjensen@connochaetos.org>
+# Contributor (Parabola): Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: Figue <ffigue at gmail>
+# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar>
+# Contributor (Parabola): vando <facundo@esdebian.org>
+# Contributor (Arch): Jakub Schmidtke <sjakub@gmail.com>
+# Thank you very much to the older contributors:
+# Contributor: evr <evanroman at gmail>
+# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com>
+
+_pgo=false
+
+pkgname=icecat
+pkgver=24.0
+pkgrel=5
+pkgdesc='GNU IceCat, the standalone web browser based on Mozilla Firefox.'
+arch=(i686 x86_64 mips64el)
+license=(MPL GPL LGPL)
+depends=(alsa-lib dbus-glib desktop-file-utils gtk2 hicolor-icon-theme hunspell libevent libnotify libvpx libxt mime-types mozilla-common mozilla-searchplugins nss sqlite startup-notification)
+makedepends=(autoconf2.13 diffutils gstreamer0.10-base imagemagick imake inetutils libidl2 libpulse librsvg libxslt mesa pkg-config python2 unzip zip)
+options=(!emptydirs !makeflags)
+if $_pgo; then
+ makedepends+=(xorg-server-xvfb)
+ options+=(!ccache)
+fi
+optdepends=('networkmanager: Location detection via available WiFi networks'
+ 'gstreamer0.10-base-plugins: vorbis decoding, ogg demuxing'
+ 'gstreamer0.10-good-plugins: webm and mp4 demuxing'
+ 'gstreamer0.10-bad-plugins: aac, vp8 and opus decoding'
+ 'gstreamer0.10-ugly-plugins: h.264 and mp3 decoding'
+ 'gstreamer0.10-ffmpeg: more decoders'
+ 'libpulse: PulseAudio audio driver')
+url=http://www.gnu.org/software/gnuzilla/
+install=$pkgname.install
+source=(
+ ftp://ftp.gnu.org/gnu/gnuzilla/${pkgver::2}/$pkgname-$pkgver.tar.gz
+ mozconfig
+ mozconfig.pgo
+ libre.patch
+ $pkgname.desktop
+ $pkgname-safe.desktop
+ $pkgname-install-dir.patch
+ vendor.js
+ icecat-20.0.1-fixed-loading-icon.png
+)
+
+md5sums=(
+ 0d3fdcec3f5fde494dedb595387e8f21
+ 71dce16848bc51503a154841ce99427b
+ df08eaa1ac3bc6c2356be4fbf8ec8932
+ 21b5014c55aa97983f833886e047f55c
+ b41f82994fa056ffa5f8e6d99570e27a
+ b30ba2b5562558d510fdd09d626d0faa
+ 64826fcf48816b13090042eefddbaa58
+ 1dfa11e781950a969205e83840e9741e
+ 6e335a517c68488941340ee1c23f97b0
+)
+
+prepare() {
+ mv $pkgname-$pkgver $srcdir/gnuzilla-build
+ cd $srcdir/gnuzilla-build
+
+ cp $srcdir/mozconfig .mozconfig # Load our build config, disable SafeSearch
+
+ if $_pgo; then
+ cat $srcdir/mozconfig.pgo >> .mozconfig
+ fi
+
+ patch -Np1 -i $srcdir/$pkgname-install-dir.patch # install to /usr/lib/$pkgname
+
+ # Patch and remove anything that's left
+ patch -Np1 -i $srcdir/libre.patch
+ sed -i 's|Adobe Flash|SWF Player|g;
+ ' browser/base/content/pageinfo/permissions.js \
+ browser/base/content/browser-plugins.js
+ sed -i '\|URL of the GeoLocation backend|d;
+ \|geo[.]wifi[.]uri|d;
+ ' browser/app/profile/firefox.js
+
+ # Fix for use nspr, sqlite and nss external
+ sed -i 's/\(MOZ_PKG_FATAL_WARNINGS =\).*/\1 0/' \
+ browser/installer/Makefile.in
+
+ # This is a bug, we should fix it
+ if [ $CARCH = mips64el ]; then
+ # Fix MIPS N32 support.
+ sed -i 's/defined(_ABIO32)/(defined(_ABIO32) || defined(_ABIN32))/' \
+ js/src/assembler/wtf/Platform.h
+ # Disable JIT.
+ sed -ri 's/#define ENABLE_(JIT|ASSEMBLER) 1/#define ENABLE_\1 0/' \
+ js/src/assembler/wtf/Platform.h
+ sed -ri 's/ENABLE_(JIT|ASSEMBLER)=1/ENABLE_\1=0/' js/src/Makefile.in
+ echo 'ac_add_options --disable-methodjit' >> .mozconfig
+ echo 'ac_add_options --disable-tracejit' >> .mozconfig
+ echo 'ac_add_options --disable-jemalloc' >> .mozconfig
+ fi
+
+ # disable necko-wifi and wireless_tools in IceCat
+ #echo 'ac_add_options --disable-necko-wifi' >> .mozconfig
+
+ chmod +x build/unix/run-icecat.sh # fix bug for bad file permition
+
+ # Fix PRE_RELEASE_SUFFIX
+ sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \
+ browser/base/Makefile.in
+
+ mkdir "$srcdir/path"
+
+ # WebRTC build tries to execute "python" and expects Python 2
+ ln -s /usr/bin/python2 "$srcdir/path/python"
+
+ # Use gold, as Mozilla can use some of its features, such as safe ICF
+ #ln -s /usr/bin/ld.gold "$srcdir/path/ld"
+
+ # configure script misdetects the preprocessor without an optimization level
+ # https://bugs.archlinux.org/task/34644
+ sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure
+
+ # Fix tab loading icon (flickers with libpng 1.6)
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=841734
+ cp "$srcdir/icecat-20.0.1-fixed-loading-icon.png" \
+ browser/themes/linux/tabbrowser/loading.png
+}
+
+build() {
+ cd $srcdir/gnuzilla-build
+
+ export PATH="$srcdir/path:$PATH"
+ export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$pkgname"
+ export PYTHON="/usr/bin/python2"
+
+ if [[ $CARCH == i686 ]]; then
+ # Work around memory address space exhaustion during linking on i686
+ LDFLAGS+=' -Wl,--no-keep-memory'
+ fi
+
+ if $_pgo; then
+ if [[ $CARCH != i686 ]]; then
+ # Set up PGO
+ export DISPLAY=:99
+ Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 $DISPLAY &
+
+ if ! make -f client.mk build MOZ_PGO=1; then
+ kill $!
+ return 1
+ fi
+
+ kill $! || true
+ else
+ make -f client.mk build
+ fi
+ else
+ make -f client.mk build
+ fi
+}
+
+package() {
+ cd $srcdir/gnuzilla-build
+ make -j1 -f client.mk DESTDIR=$pkgdir install
+
+ install -Dm644 ../vendor.js "$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
+
+ brandingdir=browser/branding/unofficial
+ icondir=$pkgdir/usr/share/icons/hicolor
+ for i in 16x16 32x32 48x48; do
+ install -Dm644 $brandingdir/default${i/x*/}.png $icondir/$i/apps/$pkgname.png
+ done
+
+ for d in $pkgname $pkgname-safe; do
+ install -Dm644 $srcdir/$d.desktop $pkgdir/usr/share/applications/$d.desktop
+ done
+
+ rm -rf $pkgdir/usr/lib/$pkgname/{dictionaries,hyphenation}
+ ln -sf /usr/share/hunspell $pkgdir/usr/lib/$pkgname/dictionaries
+ ln -sf /usr/share/hyphen $pkgdir/usr/lib/$pkgname/hyphenation
+
+ rm -rf $pkgdir/usr/lib/$pkgname/browser/{searchplugins,plugins}
+ ln -sf /usr/lib/mozilla/plugins $pkgdir/usr/lib/$pkgname/browser/plugins
+ ln -sf /usr/lib/mozilla/searchplugins $pkgdir/usr/lib/$pkgname/browser/searchplugins
+
+ # We don't want the development stuff
+ rm -rf $pkgdir/usr/{include,lib/$pkgname-devel,share/idl}
+
+ # Workaround for now: https://bugzilla.mozilla.org/show_bug.cgi?id=658850
+ ln -sf $pkgname $pkgdir/usr/lib/$pkgname/$pkgname-bin
+}
diff --git a/libre/icecat/gcc47.patch b/libre/icecat/gcc47.patch
new file mode 100644
index 000000000..829d59510
--- /dev/null
+++ b/libre/icecat/gcc47.patch
@@ -0,0 +1,75 @@
+
+# HG changeset patch
+# User Martin Stránský <stransky@redhat.com>
+# Date 1328886461 -3600
+# Node ID 87a5ed480992788832387ba91a77c69fbe9fe349
+# Parent 67017dd3b7f6650e6bcd5b6f545e0309e8de7049
+Bug 725655 - gcc 4.7 build failures (missing headers). r=benjamin
+
+diff --git a/ipc/chromium/src/base/file_util_linux.cc b/ipc/chromium/src/base/file_util_linux.cc
+--- a/ipc/chromium/src/base/file_util_linux.cc
++++ b/ipc/chromium/src/base/file_util_linux.cc
+@@ -1,15 +1,18 @@
+ // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
+ #include "base/file_util.h"
+
+ #include <fcntl.h>
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include <string>
+ #include <vector>
+
+ #include "base/eintr_wrapper.h"
+ #include "base/file_path.h"
+ #include "base/string_util.h"
+
+diff --git a/ipc/chromium/src/base/message_pump_libevent.cc b/ipc/chromium/src/base/message_pump_libevent.cc
+--- a/ipc/chromium/src/base/message_pump_libevent.cc
++++ b/ipc/chromium/src/base/message_pump_libevent.cc
+@@ -1,16 +1,19 @@
+ // Copyright (c) 2008 The Chromium Authors. All rights reserved.
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
+ #include "base/message_pump_libevent.h"
+
+ #include <errno.h>
+ #include <fcntl.h>
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include "eintr_wrapper.h"
+ #include "base/logging.h"
+ #include "base/scoped_nsautorelease_pool.h"
+ #include "base/scoped_ptr.h"
+ #include "base/time.h"
+ #include "third_party/libevent/event.h"
+
+diff --git a/ipc/chromium/src/base/time_posix.cc b/ipc/chromium/src/base/time_posix.cc
+--- a/ipc/chromium/src/base/time_posix.cc
++++ b/ipc/chromium/src/base/time_posix.cc
+@@ -8,16 +8,19 @@
+ #include <mach/mach_time.h>
+ #endif
+ #include <sys/time.h>
+ #ifdef ANDROID
+ #include <time64.h>
+ #else
+ #include <time.h>
+ #endif
++#if defined(ANDROID) || defined(OS_POSIX)
++#include <unistd.h>
++#endif
+
+ #include <limits>
+
+ #include "base/basictypes.h"
+ #include "base/logging.h"
+
+ namespace base {
diff --git a/libre/icecat/icecat-20.0.1-fixed-loading-icon.png b/libre/icecat/icecat-20.0.1-fixed-loading-icon.png
new file mode 100644
index 000000000..55f25e591
--- /dev/null
+++ b/libre/icecat/icecat-20.0.1-fixed-loading-icon.png
Binary files differ
diff --git a/libre/icecat/icecat-install-dir.patch b/libre/icecat/icecat-install-dir.patch
new file mode 100644
index 000000000..7a72b9c9d
--- /dev/null
+++ b/libre/icecat/icecat-install-dir.patch
@@ -0,0 +1,30 @@
+diff -Nur a/config/baseconfig.mk b/config/baseconfig.mk
+--- a/config/baseconfig.mk
++++ b/config/baseconfig.mk
+@@ -1,9 +1,9 @@
+ INCLUDED_AUTOCONF_MK = 1
+
+-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++includedir := $(includedir)/$(MOZ_APP_NAME)
++idldir = $(datadir)/idl/$(MOZ_APP_NAME)
++installdir = $(libdir)/$(MOZ_APP_NAME)
++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
+ DIST = $(DEPTH)/dist
+
+ # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
+diff -Nur a/js/src/config/baseconfig.mk b/js/src/config/baseconfig.mk
+--- a/js/src/config/baseconfig.mk
++++ b/js/src/config/baseconfig.mk
+@@ -1,7 +1,7 @@
+ INCLUDED_AUTOCONF_MK = 1
+
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++installdir = $(libdir)/$(MOZ_APP_NAME)
++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
+
+ ifneq (,$(filter /%,$(TOP_DIST)))
+ DIST = $(TOP_DIST)
diff --git a/libre/icecat/icecat-safe.desktop b/libre/icecat/icecat-safe.desktop
new file mode 100644
index 000000000..e33d75469
--- /dev/null
+++ b/libre/icecat/icecat-safe.desktop
@@ -0,0 +1,78 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=/usr/lib/icecat/icecat -safe-mode %u
+Icon=icecat
+Type=Application
+Terminal=false
+MultipleArgs=false
+Name=GNU IceCat - Safe Mode
+GenericName=Web Browser
+GenericName[af]=Web Blaaier
+GenericName[ar]=متصفح ويب
+GenericName[az]=Veb Səyyahı
+GenericName[bg]=Браузър
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[br]=Furcher ar Gwiad
+GenericName[bs]=WWW Preglednik
+GenericName[ca]=Fullejador web
+GenericName[cs]=WWW prohlížeč
+GenericName[cy]=Porydd Gwe
+GenericName[da]=Browser
+GenericName[de]=Web-Browser
+GenericName[el]=Περιηγητής Ιστού
+GenericName[eo]=TTT-legilo
+GenericName[es]=Navegador web
+GenericName[et]=Veebilehitseja
+GenericName[eu]=Web arakatzailea
+GenericName[fa]=مرورگر وب
+GenericName[fi]=WWW-selain
+GenericName[fo]=Alnótsfar
+GenericName[fr]=Navigateur web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן אינטרנט
+GenericName[hi]=वेब ब्राउज़र
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[is]=Vafri
+GenericName[it]=Browser Web
+GenericName[ja]=ウェブブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[lo]=ເວັບບຣາວເຊີ
+GenericName[lt]=Žiniatinklio naršyklė
+GenericName[lv]=Web Pārlūks
+GenericName[mk]=Прелистувач на Интернет
+GenericName[mn]=Веб-Хөтөч
+GenericName[nb]=Nettleser
+GenericName[nds]=Nettkieker
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[nso]=Seinyakisi sa Web
+GenericName[pa]=ਵੈਬ ਝਲਕਾਰਾ
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator de web
+GenericName[ru]=Веб-браузер
+GenericName[se]=Fierpmádatlogan
+GenericName[sk]=Webový prehliadač
+GenericName[sl]=Spletni brskalnik
+GenericName[sr]=Веб претраживач
+GenericName[sr@Latn]=Veb pretraživač
+GenericName[ss]=Ibrawuza yeWeb
+GenericName[sv]=Webbläsare
+GenericName[ta]=வலை உலாவி
+GenericName[tg]=Тафсиргари вэб
+GenericName[th]=เว็บบราวเซอร์
+GenericName[tr]=Web Tarayıcı
+GenericName[uk]=Навігатор Тенет
+GenericName[uz]=Веб-браузер
+GenericName[ven]=Buronza ya Webu
+GenericName[vi]=Trình duyệt Web
+GenericName[wa]=Betchteu waibe
+GenericName[xh]=Umkhangeli zincwadi we Web
+GenericName[zh_CN]=网页浏览器
+GenericName[zh_TW]=網頁瀏覽器
+GenericName[zu]=Umcingi we-Web
+MimeType=text/html
+StartupNotify=false
+Categories=Application;Network;
diff --git a/libre/icecat/icecat.desktop b/libre/icecat/icecat.desktop
new file mode 100644
index 000000000..72666a5b8
--- /dev/null
+++ b/libre/icecat/icecat.desktop
@@ -0,0 +1,78 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=/usr/lib/icecat/icecat %u
+Icon=icecat
+Type=Application
+Terminal=false
+MultipleArgs=false
+Name=GNU IceCat
+GenericName=Web Browser
+GenericName[af]=Web Blaaier
+GenericName[ar]=متصفح ويب
+GenericName[az]=Veb Səyyahı
+GenericName[bg]=Браузър
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[br]=Furcher ar Gwiad
+GenericName[bs]=WWW Preglednik
+GenericName[ca]=Fullejador web
+GenericName[cs]=WWW prohlížeč
+GenericName[cy]=Porydd Gwe
+GenericName[da]=Browser
+GenericName[de]=Web-Browser
+GenericName[el]=Περιηγητής Ιστού
+GenericName[eo]=TTT-legilo
+GenericName[es]=Navegador web
+GenericName[et]=Veebilehitseja
+GenericName[eu]=Web arakatzailea
+GenericName[fa]=مرورگر وب
+GenericName[fi]=WWW-selain
+GenericName[fo]=Alnótsfar
+GenericName[fr]=Navigateur web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן אינטרנט
+GenericName[hi]=वेब ब्राउज़र
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[is]=Vafri
+GenericName[it]=Browser Web
+GenericName[ja]=ウェブブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[lo]=ເວັບບຣາວເຊີ
+GenericName[lt]=Žiniatinklio naršyklė
+GenericName[lv]=Web Pārlūks
+GenericName[mk]=Прелистувач на Интернет
+GenericName[mn]=Веб-Хөтөч
+GenericName[nb]=Nettleser
+GenericName[nds]=Nettkieker
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[nso]=Seinyakisi sa Web
+GenericName[pa]=ਵੈਬ ਝਲਕਾਰਾ
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator de web
+GenericName[ru]=Веб-браузер
+GenericName[se]=Fierpmádatlogan
+GenericName[sk]=Webový prehliadač
+GenericName[sl]=Spletni brskalnik
+GenericName[sr]=Веб претраживач
+GenericName[sr@Latn]=Veb pretraživač
+GenericName[ss]=Ibrawuza yeWeb
+GenericName[sv]=Webbläsare
+GenericName[ta]=வலை உலாவி
+GenericName[tg]=Тафсиргари вэб
+GenericName[th]=เว็บบราวเซอร์
+GenericName[tr]=Web Tarayıcı
+GenericName[uk]=Навігатор Тенет
+GenericName[uz]=Веб-браузер
+GenericName[ven]=Buronza ya Webu
+GenericName[vi]=Trình duyệt Web
+GenericName[wa]=Betchteu waibe
+GenericName[xh]=Umkhangeli zincwadi we Web
+GenericName[zh_CN]=网页浏览器
+GenericName[zh_TW]=網頁瀏覽器
+GenericName[zu]=Umcingi we-Web
+MimeType=text/html
+StartupNotify=false
+Categories=Application;Network;
diff --git a/libre/icecat/icecat.install b/libre/icecat/icecat.install
new file mode 100644
index 000000000..c1fe8284a
--- /dev/null
+++ b/libre/icecat/icecat.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
+
diff --git a/libre/icecat/libre.patch b/libre/icecat/libre.patch
new file mode 100644
index 000000000..c8a0a5f0d
--- /dev/null
+++ b/libre/icecat/libre.patch
@@ -0,0 +1,82 @@
+diff --git a/browser/locales/en-US/chrome/browser-region/region.properties b/browser/locales/en-US/chrome/browser-region/region.properties
+index f4adbdc..fe7f265 100644
+--- a/browser/locales/en-US/chrome/browser-region/region.properties
++++ b/browser/locales/en-US/chrome/browser-region/region.properties
+@@ -3,17 +3,12 @@
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ # Default search engine
+-browser.search.defaultenginename=DuckDuckGo
++browser.search.defaultenginename=DuckDuckGo HTML
+
+ # Search engine order (order displayed in the search bar dropdown)s
+-browser.search.order.1=DuckDuckGo
+-browser.search.order.2=Google
+-browser.search.order.3=Yahoo
+-
+-# This is the default set of web based feed handlers shown in the reader
+-# selection UI
+-browser.contentHandlers.types.0.title=My Yahoo!
+-browser.contentHandlers.types.0.uri=http://add.my.yahoo.com/rss?url=%s
++browser.search.order.1=DuckDuckGo HTML
++browser.search.order.2=DuckDuckGo Lite
++browser.search.order.3=Seeks Search
+
+ # increment this number when anything gets changed in the list below. This will
+ # cause Firefox to re-read these prefs and inject any new handlers into the
+@@ -22,20 +17,10 @@ browser.contentHandlers.types.0.uri=http://add.my.yahoo.com/rss?url=%s
+ # don't make any spelling errors here.
+ gecko.handlerService.defaultHandlersVersion=3
+
+-# The default set of protocol handlers for webcal:
+-gecko.handlerService.schemes.webcal.0.name=30 Boxes
+-gecko.handlerService.schemes.webcal.0.uriTemplate=http://30boxes.com/external/widget?refer=ff&url=%s
+-
+-# The default set of protocol handlers for mailto:
+-gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
+-gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
+-gecko.handlerService.schemes.mailto.1.name=Gmail
+-gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
+-
+ # The default set of protocol handlers for irc:
+-gecko.handlerService.schemes.irc.0.name=Mibbit
+-gecko.handlerService.schemes.irc.0.uriTemplate=https://www.mibbit.com/?url=%s
++gecko.handlerService.schemes.irc.0.name=Freenode Web IRC
++gecko.handlerService.schemes.irc.0.uriTemplate=https://webchat.freenode.net
+
+ # The default set of protocol handlers for ircs:
+-gecko.handlerService.schemes.ircs.0.name=Mibbit
+-gecko.handlerService.schemes.ircs.0.uriTemplate=https://www.mibbit.com/?url=%s
++gecko.handlerService.schemes.ircs.0.name=Freenode Web IRC
++gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net
+diff --git a/browser/locales/generic/profile/bookmarks.html.in b/browser/locales/generic/profile/bookmarks.html.in
+index e925c1e..5101035 100644
+--- a/browser/locales/generic/profile/bookmarks.html.in
++++ b/browser/locales/generic/profile/bookmarks.html.in
+@@ -15,13 +15,20 @@
+ <DT><H3 PERSONAL_TOOLBAR_FOLDER="true" ID="rdf:#$FvPhC3">@bookmarks_toolbarfolder@</H3>
+ <DD>@bookmarks_toolbarfolder_description@
+ <DL><p>
+- <DT><A HREF="https://www.mozilla.org/@AB_CD@/firefox/central/" ID="rdf:#$GvPhC3">@getting_started@</A>
++ <DT><A HREF="https://parabolagnulinux.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre</A>
+ </DL><p>
+- <DT><H3 ID="rdf:#$ZvPhC3">@firefox_heading@</H3>
++ <DT><H3 ID="rdf:#$YvPhC3">Parabola GNU/Linux-libre</H3>
+ <DL><p>
+- <DT><A HREF="https://www.mozilla.org/@AB_CD@/firefox/help/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$22iCK1">@firefox_help@</A>
+- <DT><A HREF="https://www.mozilla.org/@AB_CD@/firefox/customize/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$32iCK1">@firefox_customize@</A>
+- <DT><A HREF="https://www.mozilla.org/@AB_CD@/contribute/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$42iCK1">@firefox_community@</A>
+- <DT><A HREF="https://www.mozilla.org/@AB_CD@/about/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$52iCK1">@firefox_about@</A>
++ <DT><A HREF="https://parabolagnulinux.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre</A>
++ <DT><A HREF="https://parabolagnulinux.org/packages/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre Packages</A>
++ <DT><A HREF="https://wiki.parabolagnulinux.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre Wiki</A>
++ <DT><A HREF="https://labs.parabola.nu/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA/klEQVQ4jWP4TyFgGAYGLN25iDID+pd0UGbAxMUTUQT+fP36/9+/f2A2jMZrwKyNEC/8+P71/6/ijP9/fv/+/23Hzv+fly/9/7m7+//XkuL/7yvL/j+PCf3/qrn+/+ed2/7/evocZPr/b3fu/Ge4cuf6/2/fPv5PnaD9f720wP9lyir/F0kI/V8myv9/jbjA/w3i/P+XC/H8n8Uv8H+6kOj/JZIS/2eqaP2/umPP/88/fv5nADnz+cuX/x0S9f8n6Kv/jxGQ+R8vJPu/x9D+/2wrz//9hnb/mzVM/5fKav4vMbL835OZ+//ty9dw7zFcuPuYKL/iDAOydY4aAAcA33O6tzziloYAAAAASUVORK5CYII=">Parabola GNU/Linux-libre Labs</A>
++ </DL><p>
++ <DT><H3 ID="rdf:#$ZvPhC3">Free Software Foundation</H3>
++ <DL><p>
++ <DT><A HREF="http://www.fsf.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC">Free Software Foundation</A>
++ <DT><A HREF="http://libreplanet.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfElEQVQ4jZXTS0hUcRTH8f+9M3fGd0gRRq1a2bZdBAotWtS6TQtB6IHgKzRy0UKqjRaRCAq+R21MDMsUR83JR5fJxhmaK2lzsWAWw+ToEHJxgnFm7reFIgza66z/58P/dzhHcESZpsluIsFPwyCVSmGa5lHPEEIIkdGYTqPPvqUlP4fK8nJ2DINYNEq71YJ3fv4QlAGkUynaj+VRdfUK7580M52rEN/ZYWNjg2GrjEMSPFXsmOn0YcA0TZ4V5tNZUkJTTTWfJiZIJhJ8U1VczwcZs0o4JUHzufM0ZGcf/OQASCaTxGIxDMNA00P8iEbpuXyJ8Tw77+wWJhWZQYuVbiHoFIKwpmUC4XCYzc1NDMMgHo9z8+IFvl6/xsf7D9ArbjOpyAxLEt1C0CUErfvJDwBd14lEImxvb/N9fR1fgY3egmyWsq0sO/poUyw4pb3mLiFolyRM09wDEokEfr+fUChEJBJh4HgBS7kKn92zLIy9ZriqklFZwiEEHfsRRp1O0un0HpDa3cU9M8PKygp3Tp5AzbKgZlmYt1uYtkn02q0MyYKmnBxWNI27Nhtut5tkMrkHmKZJbWkpqqryQpFxKTJTisyEVeaVRWJIlqgpLuZRWRkejwe/34/P58ucwZvWVhYXF5l2uejIzeHGqbM4ZYmB/dy1hUV8mJpibm4On8/H1tbW4T1YXV3F6/WysLDA5Pg4nfsDe5yfz8OiIjweD5qmEQwGf7/KwWCQtbU1NE2jRZbpEoI2SWKqr49lVUXX9T/fAkAgEKC/e5SW6mo6hKD+zGn6e0bw+/x/PyaA9S/rvOwfobGukfpbddyraMDR7iCwHPg34H9KCCF+Abts3KCj/p6aAAAAAElFTkSuQmCC">LibrePlanet</A>
++ <DT><A HREF="http://www.gnu.org/software/gnuzilla/addons.html" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEVSURBVBgZBcGxVtpgGADQL9gHSBzqSognzMixmcWWzB6pmRHhnyvku6/fewMAIPD3TwHmQxHs6vr+A16bphNum/vV0x429201hcPjAGBTDZGnR/Kw1U181+u4HXvOdSxjUcztz8jjg1xGVBG9XPYxt4PviKiaWLg168iXtbrq+mPT1utjNcR1U73deRnL43M2sRgj3+oYs8uL3rLphPd2QWmHbMu/VS/cnk6UdtSW657g9yBlcZ0UAkUWzPvyRaAYmfd+HT4IZtvC59ibEJxXiqJjQpBpNEufBYE0McoOAunGhRMEFIPc7h4goJigQEBxk8u7AgEpL3IEAUZfcgAByGFXQACm5+4MAuB19QMEgI8CAgDgP4rivVgoKP6ZAAAAAElFTkSuQmCC">Free addons</A>
++ <DT><A HREF="http://www.h-node.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABgElEQVQ4jaXRz2uSARzHcb0vlRGEzTVWISU1BVkFYTIyjNK1pKcxHA+yhWMWIamHYikFgpoLIi9jwegi3QbL9SzdLmMbM9J+DkJBgm5RDvEPeHeQHOyQz0OH9+V7ePGBr0pqpPmfVPsP8a0AR4MnMEwf48x9K0s/E8oAY9iEMOvD+8yP2qVjrhhRBnSN61n5sIpULqC+pGHh8wNlgEY8jPQXcGh4VXukDND5evYAl46odIuXtYdKAANSudAChO52/XeMZMohecCbcoGdH99Y+7LO72adT9+/4nh8nYOjBl7/SsoB8gBkpHk8T0S2K++pN3fRin3cfnFDHvCuWkI9rEMvHGEo5gbAHnXhnLF1BpZLeRaLOVT2A8Q3A5wMngXgWtKLxX9KPqC+rCWQvYkpeK4NWKcGOgO50ts2MJJ0cPreeQDciTHMchZYIhcwh2wcuqjn+ccwGm9v6wsTxxn0dVgQXZ7Ek3Agpq6QrcaQGmmebtxFSDkRU1fJVmL/BpT2ByV/3eDMhinRAAAAAElFTkSuQmCC">h-node</A>
+ </DL><p>
+ </DL><p>
diff --git a/libre/icecat/mozconfig b/libre/icecat/mozconfig
new file mode 100644
index 000000000..2f6d0757b
--- /dev/null
+++ b/libre/icecat/mozconfig
@@ -0,0 +1,39 @@
+. $topsrcdir/browser/config/mozconfig
+
+ac_add_options --prefix=/usr
+ac_add_options --libdir=/usr/lib
+
+# IceCat
+ac_add_options --disable-official-branding
+ac_add_options --with-branding=browser/branding/unofficial
+ac_add_options --with-distribution-id=org.gnu.gnuzilla
+ac_add_options --with-user-appdir=.gnuzilla
+
+# System libraries
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2
+ac_add_options --with-system-png
+ac_add_options --with-system-libevent
+ac_add_options --with-system-libvpx
+ac_add_options --enable-system-hunspell
+ac_add_options --enable-system-sqlite
+ac_add_options --enable-system-ffi
+#ac_add_options --enable-system-cairo
+ac_add_options --enable-system-pixman
+
+# Features
+ac_add_options --enable-startup-notification
+ac_add_options --enable-pulseaudio
+
+ac_add_options --disable-crashreporter
+ac_add_options --disable-updater
+ac_add_options --disable-installer
+
+# Parabola features
+ac_add_options --disable-safe-browsing
+
+# Other
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/moz-objdir
diff --git a/libre/icecat/mozconfig.pgo b/libre/icecat/mozconfig.pgo
new file mode 100644
index 000000000..71ba205a4
--- /dev/null
+++ b/libre/icecat/mozconfig.pgo
@@ -0,0 +1,3 @@
+
+# PGO
+mk_add_options PROFILE_GEN_SCRIPT='EXTRA_TEST_ARGS=10 $(MAKE) -C $(MOZ_OBJDIR) pgo-profile-run'
diff --git a/libre/icecat/vendor.js b/libre/icecat/vendor.js
new file mode 100644
index 000000000..3d93cec01
--- /dev/null
+++ b/libre/icecat/vendor.js
@@ -0,0 +1,12 @@
+// Use LANG environment variable to choose locale
+pref("intl.locale.matchOS", true);
+
+// Disable default browser checking.
+pref("browser.shell.checkDefaultBrowser", false);
+
+// Don't disable our bundled extensions in the application directory
+pref("extensions.autoDisableScopes", 11);
+pref("extensions.shownSelectionUI", true);
+
+// Disable Social API
+pref("social.remote-install.enabled", false);
diff --git a/libre/icecat/xulrunner-copy-stub.patch b/libre/icecat/xulrunner-copy-stub.patch
new file mode 100644
index 000000000..8ccf127df
--- /dev/null
+++ b/libre/icecat/xulrunner-copy-stub.patch
@@ -0,0 +1,11 @@
+--- a/browser/app/Makefile.in
++++ b/browser/app/Makefile.in
+@@ -233,7 +233,7 @@
+ else
+ ifdef LIBXUL_SDK
+ libs::
+- cp $(LIBXUL_DIST)/bin/$(XULRUNNER_STUB_NAME)$(BIN_SUFFIX) $(DIST)/bin/firefox$(BIN_SUFFIX)
++ cp $(LIBXUL_DIST)/bin/$(XULRUNNER_STUB_NAME)$(BIN_SUFFIX) $(DIST)/bin/icecat$(BIN_SUFFIX)
+ endif
+ endif
+
diff --git a/libre/icedove-l10n/PKGBUILD b/libre/icedove-l10n/PKGBUILD
new file mode 100644
index 000000000..92b0cfff0
--- /dev/null
+++ b/libre/icedove-l10n/PKGBUILD
@@ -0,0 +1,115 @@
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Contributor: Márcio Silva <coadde@parabola.nu>
+
+_langpacks=(ar ast be bg bn-BD br ca cs da de el en-GB en-US es-AR es-ES et eu fi fr fy-NL ga-IE gd gl he hr hu hy-AM id is it ja ko lt nb-NO nl nn-NO pa-IN pl pt-BR pt-PT rm ro ru si sk sl sq sr sv-SE ta-LK tr uk vi zh-CN zh-TW)
+
+pkgbase=icedove-l10n
+pkgname=(
+ $(for lang in ${_langpacks[@]}; do
+ echo $pkgbase-$lang | tr A-Z a-z
+ done)
+)
+epoch=1
+_pkgver=24.3.0
+pkgver=24.3.0.deb1
+pkgrel=1
+
+pkgdesc="Language packs for Debian Icedove."
+arch=('any')
+_url=https://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/$_pkgver/linux-i686/xpi
+url="http://packages.debian.org/sid/icedove"
+license=('MPL' 'GPL')
+depends=("icedove-libre>=$epoch:$pkgver")
+makedepends=('unzip' 'zip')
+source=('brand.dtd' 'brand.properties')
+for lang in ${_langpacks[@]}; do
+ source+=("icedove-l10n-$_pkgver-$lang.xpi::$_url/$lang.xpi")
+done
+noextract=(${source[@]##*/})
+
+_path=usr/lib/icedove/extensions
+
+prepare() {
+ cd $srcdir
+ for lang in ${_langpacks[@]}; do
+ unzip -q icedove-l10n-$_pkgver-$lang.xpi -d $lang
+ rm icedove-l10n-$_pkgver-$lang.xpi
+ install -Dm644 $srcdir/brand.dtd $lang/chrome/$lang/locale/$lang/branding
+ install -Dm644 $srcdir/brand.properties $lang/chrome/$lang/locale/$lang/branding
+ sed -i -e 's/thunderbird/icedove/' $lang/install.rdf
+ cd $lang
+ zip -q -r langpack-$lang@icedove.mozilla.org.xpi .
+ mv langpack-$lang@icedove.mozilla.org.xpi $srcdir
+ cd ..
+ rm -r $lang
+ done
+}
+
+for lang in ${_langpacks[@]}; do
+ eval "
+ package_icedove-l10n-$(echo $lang | tr A-Z a-z)() {
+ replaces=(thunderbird-i18n-$(echo $lang | tr A-Z a-z) icedove-i18n-$(echo $lang | tr A-Z a-z))
+ conflicts=(thunderbird-i18n-$(echo $lang | tr A-Z a-z) icedove-i18n-$(echo $lang | tr A-Z a-z))
+ provides=(thunderbird-i18n-$(echo $lang | tr A-Z a-z) icedove-i18n-$(echo $lang | tr A-Z a-z))
+ install -Dm644 \"\$srcdir/langpack-$lang@icedove.mozilla.org.xpi\" \"\$pkgdir/$_path/langpack-$lang@icedove.mozilla.org.xpi\"
+ }
+ "
+done
+
+md5sums=('d5b2567a8cc8f64591f313a6efdaaffc'
+ 'f3719964e893c1002b7a923e8f95f923'
+ '305fb4a11d119e1dffc8db00d8415447'
+ '6c970218d71fe3f2b2c080495c627dcf'
+ '5a791b03e66024e4590e90ea21c8072c'
+ '6d2bf5155653fc524e9eeffebb67fd1f'
+ '454d22e0cfffbf890249c344a0bfb3ed'
+ 'a613a5f928a86933c0dc4aa1ee83cabf'
+ '5d45b8aa1707ec42927118a42a64a901'
+ 'a4eeee3b77fb6c7d8185bb28986eeb2e'
+ 'abda1c12b400d0735944b2d1254135c5'
+ '0eb3e249f5950feebdfbe3abca393b9f'
+ '710dd329680a9ec523edc0976ee023c0'
+ 'a73a4bc3af9d42c793f453ade7ed7f47'
+ '0f67df0895150db4d117c3f8b2307bd2'
+ 'c37a4c222729ce7c2f37d695f037e7d9'
+ 'd372395a17630f7b0908456e01d3f305'
+ 'fc9c760ae32fcc72e38d518020507f48'
+ '343607eb1e2f051434ea5c9516887577'
+ '30a0a1de457425cee3b07b09d2a20225'
+ 'd6a19837e6704b43839a2608d109ecd5'
+ '9e0ae78d37852e0f6157b41fbef0f7c7'
+ '34d7d58ec4b20a1f07094a0fcf57774d'
+ '3c4503fa49ea87f1e647ea0c6d09436b'
+ '041c1281e98b583750adeaa46096ae4c'
+ '0ca153732c0af2bbd93173c140cd17cb'
+ '0f64947d77b92966e907039e051201d8'
+ '3951156099cee856d5dce13a10da233e'
+ 'a56081b911b707ae56fb8760813e3854'
+ '2ece2346cc35164742d5af8d4e5869ac'
+ '1a1cd84af5d427afcf2d20d7fe1e621c'
+ 'e3ed8fd936efcd3d5579d98701c09f53'
+ '5465a2c427ed645e5edd7ba9fcfea4cf'
+ '5e73d9699c9b1c617e24035e6869dabb'
+ '2f1d0102b66f0eaebf0a2a8054a36e6b'
+ '7bbdcee9350ddcba95cc8f37ef8bc557'
+ '6ca42a1473532da9a1387e7c133764ea'
+ '70ecae7ef62b9c4c4f9f7d45ee3c623f'
+ '02aab1810bce9fc80bd1e8c15c27cabf'
+ 'd059f84aaad99f16fc7aff65caeeb1cb'
+ 'e9c008d932c72e3ba9d6b181972a831a'
+ 'c5800f343a193d55e9d699e3f49c0fa6'
+ 'a239fc033efd9dc1a85093cadadcacff'
+ '62664ace7c66c0893eb2957692082036'
+ '9cafc6676e4e50cf71c6fda3d498f31b'
+ '0b29a636819202ea03169188e866264c'
+ '1ca9be772729a3539265b51fbda680a8'
+ 'bac6196887859fc6a2144748038e90b8'
+ '9a1374760f1b29c73fcc472f4ab128ec'
+ 'c33852a9a55eeed9930289c1a9282ba8'
+ '64b89babcda06ce68308cefc38a38b41'
+ '94b791cb6afb33b8b9c734e7b191c27a'
+ 'e56035901013b616ee4c63a2b351ac40'
+ '09d4df4a554806e97f53f302a7c2301e'
+ 'ff52d0ddad0e00635b1e7612fb6372bd'
+ 'df80dc11119b8405a35ebf7735897783'
+ 'b0b0feef63479a6c3aad0cad6e27c72b')
diff --git a/libre/icedove-l10n/brand.dtd b/libre/icedove-l10n/brand.dtd
new file mode 100644
index 000000000..54fcfe419
--- /dev/null
+++ b/libre/icedove-l10n/brand.dtd
@@ -0,0 +1,4 @@
+<!ENTITY brandShortName "Icedove">
+<!ENTITY brandFullName "Icedove">
+<!ENTITY vendorShortName "Mozilla">
+<!ENTITY trademarkInfo.part1 " ">
diff --git a/libre/icedove-l10n/brand.properties b/libre/icedove-l10n/brand.properties
new file mode 100644
index 000000000..44bf191d6
--- /dev/null
+++ b/libre/icedove-l10n/brand.properties
@@ -0,0 +1,3 @@
+brandShortName=Icedove
+brandFullName=Icedove
+vendorShortName=Mozilla
diff --git a/libre/icedove-libre/PKGBUILD b/libre/icedove-libre/PKGBUILD
new file mode 100644
index 000000000..a5914ba56
--- /dev/null
+++ b/libre/icedove-libre/PKGBUILD
@@ -0,0 +1,136 @@
+# Maintainer : André Silva <emulatorman@parabola.nu>
+# Contributor : Márcio Silva <coadde@parabola.nu>
+
+# We're getting this from Debian Sid
+_debname=icedove
+_debver=24.3.0
+_debrel=deb1
+_debrepo=http://ftp.debian.org/debian/pool/main/
+debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
+
+_pkgname=${_debname}
+pkgname=${_debname}-libre
+epoch=1
+pkgver=${_debver}.${_debrel}
+pkgrel=1
+pkgdesc="A libre version of Debian Icedove, the standalone mail/news reader based on Mozilla Thunderbird."
+arch=('i686' 'x86_64' 'mips64el')
+license=('MPL' 'GPL' 'LGPL')
+url="http://packages.debian.org/sid/${_pkgname}"
+depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'mozilla-searchplugins' 'nss' 'sqlite' 'startup-notification')
+makedepends=('unzip' 'zip' 'pkg-config' 'python2' 'wireless_tools' 'yasm' 'mesa' 'autoconf2.13' 'quilt' 'jquery-ui')
+optdepends=('libcanberra: for sound support')
+replaces=('thunderbird')
+conflicts=('thunderbird')
+provides=('thunderbird')
+install=${_pkgname}.install
+source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.xz"
+ "${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel#deb}.debian.tar.xz"
+ mozconfig
+ vendor.js
+ ${_pkgname}.desktop)
+options=(!emptydirs)
+md5sums=('cbf58e11a8eb1ded01167fa927ce9cc0'
+ 'a8ef513d211c60bd2e77810c10a3c25c'
+ 'c46cf2a671c8fdefcabd4c87e38f3d40'
+ '5a53179d14ae9631b7afe5e4d0fc0b25'
+ 'e785e0c267f4435ae1a9aa0b03bcacfb')
+
+prepare() {
+ export DEBIAN_BUILD="comm-esr24"
+
+ export QUILT_PATCHES=debian/patches
+ export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
+ export QUILT_DIFF_ARGS='--no-timestamps'
+
+ mv debian "${srcdir}/${DEBIAN_BUILD}"
+ cd "${srcdir}/${DEBIAN_BUILD}"
+
+ mv debian/${_pkgname}-branding "${srcdir}/${DEBIAN_BUILD}/mail/branding/${_pkgname}"
+
+ cp -a debian/app-icons/${_pkgname}big.svg debian/app-icons/${_pkgname}_icon.svg
+ for i in 16x16 22x22 24x24 32x32 48x48 256x256; do
+ install -Dm644 "debian/app-icons/${_pkgname}${i/x*/}.png" "${srcdir}/${DEBIAN_BUILD}/mail/branding/${_pkgname}/mailicon${i/x*/}.png"
+ done
+ for i in 48x48 64x64; do
+ install -Dm644 "debian/app-icons/${_pkgname}${i/x*/}.png" "${srcdir}/${DEBIAN_BUILD}/mail/branding/${_pkgname}/content/icon${i/x*/}.png"
+ done
+
+ # Fix orthographic issue ("Icdove" to "Icedove") in MOZ_APP_BASENAME line for confvars.sh.
+ sed -i 's|Icdove|Icedove|' debian/patches/debian-hacks/Icedove-branding.patch
+
+ quilt push -av
+
+ # Fix paths on makefile
+ sed -i 's|topsrcdir = [.][.]/[.][.]/[.][.]/|topsrcdir = @top_srcdir@|;
+ s|include $(topsrcdir)/config/autoconf.mk|include $(DEPTH)/config/autoconf.mk|;
+ s|include $(DEPTH)/config/rules.mk|include $(topsrcdir)/config/rules.mk|;
+ ' mail/branding/icedove/Makefile.in
+
+ sed -i 's|topsrcdir = [.][.]/[.][.]/[.][.]/[.][.]|topsrcdir = @top_srcdir@|;
+ s|include $(topsrcdir)/config/autoconf.mk|include $(DEPTH)/config/autoconf.mk|;
+ s|include $(DEPTH)/config/rules.mk|include $(topsrcdir)/config/rules.mk|;
+ ' mail/branding/icedove/locales/Makefile.in
+
+ # Fix package-manifest.in
+ sed -i '\|; Phishing Protection| s|$|\n#ifdef MOZ_SAFE_BROWSING|;
+ \|@BINPATH@/components/url-classifier[.]xpt| s|$|\n#endif|
+ ' mail/installer/package-manifest.in
+
+ # Fix branding
+ sed -i 's|Icedove Mail/News|Icedove|' mail/branding/icedove/locales/en-US/brand.{dtd,properties}
+
+ # Replace common URLs
+ sed -i '\|extensions[.]getAddons[.]get[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/Icedove");|g;
+ \|extensions[.]getAddons[.]search[.]browseURL| s|https://addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/Icedove");|g;
+ \|extensions[.]getAddons[.]search[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/Icedove");|g;
+ \|extensions[.]webservice[.]discoverURL| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/Icedove");|g;
+ ' mail/app/profile/all-thunderbird.js
+
+ cp "${srcdir}/mozconfig" .mozconfig
+
+ # configure script misdetects the preprocessor without an optimization level
+ # https://bugs.archlinux.org/task/34644
+ sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' mozilla/configure
+
+ # Add symlinks to use jquery files built for us
+ ln -s /usr/share/javascript/jquery/jquery.min.js mail/jquery
+ ln -s /usr/share/javascript/jquery-ui/jquery-ui.min.js mail/jquery
+}
+
+build() {
+ export DEBIAN_BUILD="comm-esr24"
+
+ cd "${srcdir}/${DEBIAN_BUILD}"
+
+ export LDFLAGS="${LDFLAGS} -Wl,-rpath,/usr/lib/${_pkgname}"
+ export PYTHON="/usr/bin/python2"
+
+ make -j1 -f client.mk build MOZ_MAKE_FLAGS="${MAKEFLAGS}"
+}
+
+package() {
+ export DEBIAN_BUILD="comm-esr24"
+
+ cd "${srcdir}/${DEBIAN_BUILD}"
+
+ make -j1 -f client.mk DESTDIR="${pkgdir}" install
+
+ install -Dm644 "${srcdir}/vendor.js" "${pkgdir}/usr/lib/${_pkgname}/defaults/preferences/vendor.js"
+
+ for i in 16x16 22x22 24x24 32x32 48x48 64x64 128x128 256x256; do
+ install -Dm644 "debian/app-icons/${_pkgname}${i/x*/}.png" "${pkgdir}/usr/share/icons/hicolor/$i/apps/${_pkgname}.png"
+ done
+ install -Dm644 "debian/app-icons/${_pkgname}_icon.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/${_pkgname}.svg"
+
+ install -Dm644 "${srcdir}/${_pkgname}.desktop" \
+ "${pkgdir}/usr/share/applications/${_pkgname}.desktop"
+
+ rm -rf "${pkgdir}"/usr/lib/${_pkgname}/{dictionaries,hyphenation,searchplugins}
+ ln -sf /usr/share/hunspell "${pkgdir}/usr/lib/${_pkgname}/dictionaries"
+ ln -sf /usr/share/hyphen "${pkgdir}/usr/lib/${_pkgname}/hyphenation"
+ ln -sf /usr/lib/mozilla/searchplugins "${pkgdir}/usr/lib/${_pkgname}/searchplugins"
+
+ # We don't want the development stuff
+ rm -r "${pkgdir}"/usr/{include,lib/${_pkgname}-devel,share/idl}
+}
diff --git a/libre/icedove-libre/icedove.desktop b/libre/icedove-libre/icedove.desktop
new file mode 100644
index 000000000..ef2cd76e9
--- /dev/null
+++ b/libre/icedove-libre/icedove.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Version=1.0
+Name=Icedove
+Comment=Mail & News Reader
+GenericName=Mail Client & News Reader
+Exec=icedove %u
+TryExec=icedove
+Icon=icedove
+Terminal=false
+Type=Application
+Categories=Network;Email;
+MimeType=message/rfc822;x-scheme-handler/mailto;
+StartupNotify=true
diff --git a/libre/icedove-libre/icedove.install b/libre/icedove-libre/icedove.install
new file mode 100644
index 000000000..4d4a283db
--- /dev/null
+++ b/libre/icedove-libre/icedove.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/icedove-libre/mozconfig b/libre/icedove-libre/mozconfig
new file mode 100644
index 000000000..57c02368a
--- /dev/null
+++ b/libre/icedove-libre/mozconfig
@@ -0,0 +1,46 @@
+mk_add_options MOZ_CO_PROJECT=mail
+ac_add_options --enable-application=mail
+
+ac_add_options --prefix=/usr
+ac_add_options --libdir=/usr/lib
+
+# Icedove
+ac_add_options --disable-official-branding
+ac_add_options --with-branding=mail/branding/icedove
+
+# System libraries
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2
+ac_add_options --with-system-png
+ac_add_options --with-system-libevent
+ac_add_options --with-system-libvpx
+ac_add_options --enable-system-hunspell
+ac_add_options --enable-system-sqlite
+ac_add_options --enable-system-ffi
+ac_add_options --enable-system-cairo
+ac_add_options --enable-system-pixman
+ac_add_options --with-pthreads
+
+# Features
+ac_add_options --enable-startup-notification
+ac_add_options --enable-gio
+
+ac_add_options --disable-gstreamer
+ac_add_options --disable-gnomevfs
+ac_add_options --disable-crashreporter
+ac_add_options --disable-updater
+ac_add_options --disable-tests
+ac_add_options --disable-mochitest
+ac_add_options --disable-installer
+
+# Optimization
+ac_add_options --enable-optimize
+
+export MOZILLA_OFFICIAL=1
+mk_add_options MOZILLA_OFFICIAL=1
+
+# Parabola features
+ac_add_options --disable-safe-browsing
diff --git a/libre/icedove-libre/vendor.js b/libre/icedove-libre/vendor.js
new file mode 100644
index 000000000..170b505a8
--- /dev/null
+++ b/libre/icedove-libre/vendor.js
@@ -0,0 +1,9 @@
+// Use LANG environment variable to choose locale
+pref("intl.locale.matchOS", true);
+
+// Disable default mailer checking.
+pref("mail.shell.checkDefaultMail", false);
+
+// Don't disable our bundled extensions in the application directory
+pref("extensions.autoDisableScopes", 11);
+pref("extensions.shownSelectionUI", true);
diff --git a/libre/iceweasel-adblock-plus/PKGBUILD b/libre/iceweasel-adblock-plus/PKGBUILD
new file mode 100644
index 000000000..0a248955b
--- /dev/null
+++ b/libre/iceweasel-adblock-plus/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 104302 2014-01-17 11:39:31Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+
+pkgname=iceweasel-adblock-plus
+pkgver=2.4.1
+_addons_file=230225
+pkgrel=1.1
+pkgdesc="plugin for iceweasel which block ads and banners"
+arch=('any')
+url="http://adblockplus.org/"
+license=('GPL')
+depends=("iceweasel-libre")
+makedepends=('unzip')
+provides=(firefox-adblock-plus=$pkgver)
+noextract=("adblock_plus-$pkgver-fx+tb+fn+sm.xpi")
+source=(https://addons.mozilla.org/firefox/downloads/file/${_addons_file}/adblock_plus-$pkgver-fx+tb+fn+sm.xpi)
+md5sums=('3fe51813290a0d7103b620e2813a8c0e')
+
+package() {
+# _ffver=`pacman -Q firefox | cut -f2 -d\ | cut -f1-2 -d.`
+# depends=("iceweasel-libre>=${_ffver}" "iceweasel-libre<=${_ffver/0/99}")
+
+ cd $srcdir
+ [ $NOEXTRACT -eq 1 ] || unzip adblock_plus-$pkgver-fx+tb+fn+sm.xpi
+ local emid=$(sed -n -e '/<\?em:id>\?/!d; s/.*\([\"{].*[}\"]\).*/\1/; s/\"//g; p; q' install.rdf)
+ local dstdir=$pkgdir/usr/lib/iceweasel/browser/extensions/${emid}
+ [ -n ${emid} ] || return 1
+ install -d $dstdir
+# sed -i 's#<em:maxVersion>.*</em:maxVersion>#<em:maxVersion>20.*</em:maxVersion>#' install.rdf
+ cp -R * $dstdir
+ rm $dstdir/*.xpi
+ find $pkgdir -type d -exec chmod 0755 {} \;
+ find $pkgdir -type f -exec chmod 0644 {} \;
+}
diff --git a/libre/iceweasel-firebug/PKGBUILD b/libre/iceweasel-firebug/PKGBUILD
new file mode 100644
index 000000000..3920bd4f6
--- /dev/null
+++ b/libre/iceweasel-firebug/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 105364 2014-02-06 03:30:33Z speps $
+# Maintainer: speps <speps at aur dot archlinux dot org>
+
+pkgname=iceweasel-firebug
+pkgver=1.12.6
+pkgrel=1.1
+pkgdesc="Iceweasel plugin with tools for web development."
+arch=(any)
+url="http://getfirebug.com/"
+license=('custom:BSD')
+groups=('iceweasel-addons')
+depends=('iceweasel-libre')
+provides=('firebug' firefox-firebug=$pkgver)
+source=("${url}releases/firebug/${pkgver%.*}/firebug-$pkgver.xpi")
+md5sums=('e929032f03f3af210355905cd4ddf6d3')
+
+package() {
+ cd "$srcdir"
+
+ # extension
+ _dest="$pkgdir/usr/lib/iceweasel/browser/extensions/firebug@software.joehewitt.com"
+ find . -type d -exec install -d {} $_dest/{} \;
+ find . -type f -exec install -Dm644 {} $_dest/{} \;
+
+ # license
+ install -Dm644 license.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/iceweasel-l10n/Makefile b/libre/iceweasel-l10n/Makefile
new file mode 100644
index 000000000..d596111f3
--- /dev/null
+++ b/libre/iceweasel-l10n/Makefile
@@ -0,0 +1,59 @@
+#!/usr/bin/make -f
+# Use this script to update the PKGBUILD's list of langpacks.
+# This script depends on:
+# - coreutils
+# - pacman
+# - sed
+
+# Variables:
+# This is to get it from Debian Sid
+debname=iceweasel-l10n
+debver=9.0+debian
+debrel=1
+debrepo=http://ftp.debian.org/debian/pool/main/
+
+pkgver=9.0
+pkgrel=2.1
+
+# Guts: ##############################################################
+
+default: PHONY all
+all: PHONY
+ $(MAKE) clean
+ $(MAKE) PKGBUILD
+.PRECIOUS: PKGBUILD
+
+PKGBUILD.list: Makefile
+ sed \
+ -e 's/@DEBNAME@/$(debname)/' \
+ -e 's/@DEBVER@/$(debver)/' \
+ -e 's/@DEBREL@/$(debrel)/' \
+ -e 's%@DEBREPO@%$(debrepo)%' \
+ -e 's/@PKGVER@/$(pkgver)/' \
+ -e 's/@PKGREL@/$(pkgrel)/' \
+ -e "s/@LANGPACKS@/(phony)/" \
+ -e '/CUT HERE/,$$d' \
+ PKGBUILD.in > $@
+ echo 'package() { exit 0; }' >> $@
+ makepkg -gp $@ >> $@
+langpacks.txt: PKGBUILD.list Makefile
+ makepkg -dp $<
+ ls src/*/upstream | sed 's/\.xpi//' > $@
+PKGBUILD: PKGBUILD.in langpacks.txt Makefile
+ sed \
+ -e 's/@DEBNAME@/$(debname)/' \
+ -e 's/@DEBVER@/$(debver)/' \
+ -e 's/@DEBREL@/$(debrel)/' \
+ -e 's%@DEBREPO@%$(debrepo)%' \
+ -e 's/@PKGVER@/$(pkgver)/' \
+ -e 's/@PKGREL@/$(pkgrel)/' \
+ -e "s/@LANGPACKS@/(`xargs echo < langpacks.txt`)/" \
+ -e '/CUT HERE/d' \
+ -e '/md5sums/,$$d' \
+ PKGBUILD.in > $@
+ makepkg -dg >> $@
+
+clean: PHONY
+ rm -f PKGBUILD.list langpacks.txt
+
+.PHONY: PHONY FORCE
diff --git a/libre/iceweasel-l10n/PKGBUILD b/libre/iceweasel-l10n/PKGBUILD
new file mode 100644
index 000000000..1eb6bb91d
--- /dev/null
+++ b/libre/iceweasel-l10n/PKGBUILD
@@ -0,0 +1,155 @@
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Contributor: Márcio Silva <coadde@parabola.nu>
+# Contributor: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: fauno <fauno@kiwwwi.com.ar>
+# Contributor: Figue <ffigue@gmail.com>
+# Based on icecat-i18n package, which is in turn based on firefox-i18n
+
+_debname=iceweasel
+_debver=27.0
+_debrel=deb2
+_debrepo=http://ftp.debian.org/debian/pool/main/
+debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
+
+_langpacks=(ach af an ar as ast be bg bn-BD br bs ca cs csb cy da de el en-GB en-ZA eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gu-IN he hi-IN hr hu hy-AM id is it ja kk km kn ko lij lt lv mai mk ml mr nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl sq sr sv-SE ta te th tr uk vi xh zh-CN zh-TW)
+
+pkgbase=iceweasel-l10n
+pkgname=(
+ $(for lang in ${_langpacks[@]}; do
+ echo $pkgbase-$lang | tr A-Z a-z
+ done)
+)
+epoch=1
+pkgver=$_debver.$_debrel
+pkgrel=1
+
+pkgdesc="Language packs for Debian Iceweasel."
+arch=('any')
+url="http://packages.debian.org/experimental/iceweasel"
+license=('MPL' 'GPL')
+depends=("iceweasel-libre>=$epoch:$pkgver")
+makedepends=('unzip' 'zip')
+source=('region.properties')
+for lang in ${_langpacks[@]}; do
+ source+=("${_debrepo}/`debfile ${_debname}`-l10n-$(echo $lang | tr A-Z a-z)_${_debver}-${_debrel#deb}_all.deb")
+done
+
+_path=usr/lib/iceweasel/browser/extensions
+
+prepare() {
+ cd $srcdir
+ for f in *.deb; do
+ bsdtar xf $f
+ bsdtar xf data.tar.xz
+ done
+
+ mv $_path/* .
+ rm -r {control.tar.gz,data.tar.xz,debian-binary,etc,usr}
+ rm -r *.deb
+
+ for lang in ${_langpacks[@]}; do
+ unzip -q langpack-$lang@iceweasel.mozilla.org.xpi -d $lang
+ rm langpack-$lang@iceweasel.mozilla.org.xpi
+ install -Dm644 $srcdir/region.properties $lang/browser/chrome/$lang/locale/browser-region
+ cd $lang
+ zip -q -r langpack-$lang@iceweasel.mozilla.org.xpi .
+ mv langpack-$lang@iceweasel.mozilla.org.xpi $srcdir
+ cd ..
+ rm -r $lang
+ done
+}
+
+for lang in ${_langpacks[@]}; do
+ eval "
+ package_iceweasel-l10n-$(echo $lang | tr A-Z a-z)() {
+ replaces=(firefox-i18n-$(echo $lang | tr A-Z a-z) iceweasel-i18n-$(echo $lang | tr A-Z a-z) iceweasel-libre-l10n-$(echo $lang | tr A-Z a-z))
+ conflicts=(firefox-i18n-$(echo $lang | tr A-Z a-z) iceweasel-i18n-$(echo $lang | tr A-Z a-z) iceweasel-libre-l10n-$(echo $lang | tr A-Z a-z))
+ provides=(firefox-i18n-$(echo $lang | tr A-Z a-z) iceweasel-i18n-$(echo $lang | tr A-Z a-z) iceweasel-libre-l10n-$(echo $lang | tr A-Z a-z))
+ install -Dm644 \"\$srcdir/langpack-$lang@iceweasel.mozilla.org.xpi\" \"\$pkgdir/$_path/langpack-$lang@iceweasel.mozilla.org.xpi\"
+ }
+ "
+done
+
+md5sums=('a4593936bf1c7a9ec9368ff249f9cc56'
+ 'de575fedef8fd6b811334d8b9c082479'
+ '36043f6b423fd8c0a378c2e5fcb3a3c1'
+ '306ef53afb18ffa3ec57feb0063ab433'
+ '9af26b5177f1b20cb682299345ad1a87'
+ '21d7586f0dcc740835c9d3a6e9cee397'
+ '94c11e19db72eea7a5630bbf6c4a992d'
+ '86f1a539a8f9af7ea81a63f11a882b70'
+ 'c62fdd3ce834337d43c4e59af3b87553'
+ '0678ff6935296e17e36c40b3fc17ac96'
+ '680ff4dbae9ce0b9f1bcd092169e6a34'
+ 'dc8e478e69b1ee22126cb6addc744fe5'
+ 'a513f4af7f608347225cd4180e89dee6'
+ '17d1e0cd0c7023461fc5dde7b97ee4b1'
+ 'c08f2cd5a29737b20ecc2f7c2892bd74'
+ '8ff5f9ea03c3fff51142df8c52626b22'
+ 'f8a42eb22e2192793a85112adb8e2278'
+ 'f1b221697547feff3e69889a9e9dd1b4'
+ '1c106f032476d2443b368e52d9e1bc69'
+ 'dbf5e2a01c84e18dc19ed9be5e12920b'
+ '9d6e6b497af88a0b5c44845adf275f9d'
+ 'aeb7f058aabd5d7d4e05f8e7917bd59b'
+ '4612bf235fdfd328e176b3e682e61072'
+ 'ebf5aefb15834234fbac6a4310b8f8ab'
+ '7591125ee445836f9e1247f5a7f6a474'
+ '410d090d68240f1f304ff94c4847817e'
+ '96a9dbd806a336936a4642ae95d12a26'
+ '4924dd568df7dc0428f3458758eadca1'
+ '62d46770f79074fc90ce4c1e4f5e5169'
+ 'c57d361eaa5d0fb90e872dd8f1d3fce1'
+ 'dbbba15f93f960c19bab63599b8f771c'
+ '0025e4609f5d1f72bf784f35d42934a9'
+ '638306adb405c506baa2728a00237d50'
+ '7ae2cbe9e2888b95a513eb8238e6e5d2'
+ '8b560d4ae6f62bb64d8fa8c1a62abe27'
+ '52bd4641b6066a2a0596c7b4f64b25c1'
+ '9293f6d596e7586c7955cc0d6d71dbbb'
+ 'a634db784e4bb6efda49e2508d58c96c'
+ 'ebf52ea0d70699f5d2651054b975dac2'
+ '6fbf98e9d4477d3355369bbf9c33c9aa'
+ 'a0c6cb16be15cdca746f52fe07af0ab8'
+ '934f4c14a9242228da3322bd844f001b'
+ '29df15b3dad1764cb236e1913adb6895'
+ '8f4bd42afb2b0042300b50dbd575ed76'
+ '9f1d8951c50f6dd133089824db8e811b'
+ 'df683c5a6b64226311f1158e1cfd7387'
+ 'ddf59c931fb1d11337dfb30796172222'
+ '3c69e0fa5c10427c9d95b26fecb73366'
+ 'fdf86cfbcf7e6084f01fda86b3907d68'
+ '4f602efbc5ee7dbcf315b7c00c5a9824'
+ '30012df56189ba8de7a2be3089ac7037'
+ '90660c135667807a35d5a424a14a03c7'
+ '39e8128c27e68f03db07ec9d3a4661f4'
+ '34c9463b7bd4000cb6c2178568ea5d57'
+ 'd6008349e2b26e11b4bf29d182236d15'
+ '1d51c2c91f10f459227a2c4e16e2cf52'
+ '59b1f8e007070d0ac598cc8782cc775d'
+ '23f7deb8fbbf8b74426299cf239e83bd'
+ '81ec70e9b9fdf887d00c9422d94803d0'
+ 'b4aea1741607118d5d128df88181c363'
+ '52dbb00c5e7adcdee972b2daf689401b'
+ 'a180a40f9651e8ca3ebdb3001fce6fa7'
+ 'fed061bc838b9eec2e1c187e64b93176'
+ '09b9eae4bdfbc1f7f4939f01a325bb40'
+ '337f7aaf9a2d7b94a9c33648a9734287'
+ '647abcd745c18a80e5187bc28b1b67b8'
+ 'b9c5f0043fe7c26e23ba42450afb57b6'
+ '6c9bb760adb3ae75ddb969c595649732'
+ '70917dca185cf1f150df72eb848b6315'
+ 'cc16dd7b22855338055429a3fd1a2367'
+ '236a36024c7660e7ec0ab2c7931b9ea0'
+ '471e98027910bcbfba3957df1e6a3c4a'
+ 'cea62f763650bb50e770055288e3bd7c'
+ '0f4abd8240ecc996fd434b0139a9996b'
+ 'cec783e074568d1c750ee88a2bbb003f'
+ '437d59dd764666147bfe5d27b0848b94'
+ 'f05ac803378d996351a277ebcc99e0e2'
+ '13ddcd0d7c10e381458d5563476d53c3'
+ 'f33a663b92b61fa02c28b881deae2376'
+ '4c4b58d49295b0b873f265ffa369a27d'
+ '67e54d3c0058263192700617500045e7'
+ '1022e9f23438b96df2f0dd054ff195b0'
+ '8274a6aafc5b097ab0659675d66b87c6')
diff --git a/libre/iceweasel-l10n/region.properties b/libre/iceweasel-l10n/region.properties
new file mode 100644
index 000000000..5654eb9ee
--- /dev/null
+++ b/libre/iceweasel-l10n/region.properties
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Default search engine
+browser.search.defaultenginename=DuckDuckGo HTML
+
+# Search engine order (order displayed in the search bar dropdown)s
+browser.search.order.1=DuckDuckGo HTML
+browser.search.order.2=DuckDuckGo Lite
+browser.search.order.3=Seeks Search
+
+# increment this number when anything gets changed in the list below. This will
+# cause Firefox to re-read these prefs and inject any new handlers into the
+# profile database. Note that "new" is defined as "has a different URL"; this
+# means that it's not possible to update the name of existing handler, so
+# don't make any spelling errors here.
+gecko.handlerService.defaultHandlersVersion=4
+
+# The default set of protocol handlers for irc:
+gecko.handlerService.schemes.irc.0.name=Freenode Web IRC
+gecko.handlerService.schemes.irc.0.uriTemplate=https://webchat.freenode.net
+
+# The default set of protocol handlers for ircs:
+gecko.handlerService.schemes.ircs.0.name=Freenode Web IRC
+gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net
diff --git a/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch b/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
new file mode 100644
index 000000000..82ba01a9c
--- /dev/null
+++ b/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
@@ -0,0 +1,287 @@
+From: Mike Hommey <mh@glandium.org>
+Date: Tue, 5 Jun 2012 08:57:06 +0200
+Subject: Bug 756390 - Make the "Reset Firefox" feature more generic
+
+diff --git a/browser/components/migration/content/migration.js b/browser/components/migration/content/migration.js
+index 91c5c1c..2f8bd1a 100644
+--- a/browser/components/migration/content/migration.js
++++ b/browser/components/migration/content/migration.js
+@@ -249,7 +249,7 @@ var MigrationWizard = {
+ }
+
+ var brandBundle = document.getElementById("brandBundle");
+- // These strings don't exist when not using official branding. If that's
++ // These strings may not exist when not using official branding. If that's
+ // the case, just skip this page.
+ try {
+ var pageTitle = brandBundle.getString("homePageMigrationPageTitle");
+@@ -281,8 +281,8 @@ var MigrationWizard = {
+ case "chrome":
+ source = "sourceNameChrome";
+ break;
+- case "firefox":
+- source = "sourceNameFirefox";
++ case "self":
++ source = "brand";
+ break;
+ }
+
+@@ -292,7 +292,12 @@ var MigrationWizard = {
+ var oldHomePageURL = this._migrator.sourceHomePageURL;
+
+ if (oldHomePageURL && source) {
+- var appName = MigrationUtils.getLocalizedString(source);
++ var appName;
++ if (source == "brand") {
++ appName = brandBundle.GetStringFromName("brandFullName");
++ } else {
++ appName = MigrationUtils.getLocalizedString(source);
++ }
+ var oldHomePageLabel =
+ brandBundle.getFormattedString("homePageImport", [appName]);
+ var oldHomePage = document.getElementById("oldHomePage");
+diff --git a/browser/components/migration/content/migration.xul b/browser/components/migration/content/migration.xul
+index f030756..23e37ff 100644
+--- a/browser/components/migration/content/migration.xul
++++ b/browser/components/migration/content/migration.xul
+@@ -42,7 +42,7 @@
+ #elifdef XP_UNIX
+ <radio id="chrome" label="&importFromChrome.label;" accesskey="&importFromChrome.accesskey;"/>
+ #endif
+- <radio id="firefox" label="&importFromFirefox.label;" accesskey="&importFromFirefox.accesskey;"/>
++ <radio id="self" hidden="true"/>
+ <radio id="nothing" label="&importFromNothing.label;" accesskey="&importFromNothing.accesskey;" hidden="true"/>
+ </radiogroup>
+ <label id="noSources" hidden="true">&noMigrationSources.label;</label>
+diff --git a/browser/components/migration/src/BrowserProfileMigrators.manifest b/browser/components/migration/src/BrowserProfileMigrators.manifest
+index d7fec75..d531b83 100644
+--- a/browser/components/migration/src/BrowserProfileMigrators.manifest
++++ b/browser/components/migration/src/BrowserProfileMigrators.manifest
+@@ -3,7 +3,7 @@ contract @mozilla.org/toolkit/profile-migrator;1 {6F8BB968-C14F-4D6F-9733-6C6737
+ component {4cec1de4-1671-4fc3-a53e-6c539dc77a26} ChromeProfileMigrator.js
+ contract @mozilla.org/profile/migrator;1?app=browser&type=chrome {4cec1de4-1671-4fc3-a53e-6c539dc77a26}
+ component {91185366-ba97-4438-acba-48deaca63386} FirefoxProfileMigrator.js
+-contract @mozilla.org/profile/migrator;1?app=browser&type=firefox {91185366-ba97-4438-acba-48deaca63386}
++contract @mozilla.org/profile/migrator;1?app=browser&type=self {91185366-ba97-4438-acba-48deaca63386}
+ #ifdef HAS_IE_MIGRATOR
+ component {3d2532e3-4932-4774-b7ba-968f5899d3a4} IEProfileMigrator.js
+ contract @mozilla.org/profile/migrator;1?app=browser&type=ie {3d2532e3-4932-4774-b7ba-968f5899d3a4}
+diff --git a/browser/components/migration/src/FirefoxProfileMigrator.js b/browser/components/migration/src/FirefoxProfileMigrator.js
+index 3db6720..a3b3dda 100644
+--- a/browser/components/migration/src/FirefoxProfileMigrator.js
++++ b/browser/components/migration/src/FirefoxProfileMigrator.js
+@@ -128,7 +128,7 @@ Object.defineProperty(FirefoxProfileMigrator.prototype, "startupOnlyMigrator", {
+
+
+ FirefoxProfileMigrator.prototype.classDescription = "Firefox Profile Migrator";
+-FirefoxProfileMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?app=browser&type=firefox";
++FirefoxProfileMigrator.prototype.contractID = "@mozilla.org/profile/migrator;1?app=browser&type=self";
+ FirefoxProfileMigrator.prototype.classID = Components.ID("{91185366-ba97-4438-acba-48deaca63386}");
+
+ this.NSGetFactory = XPCOMUtils.generateNSGetFactory([FirefoxProfileMigrator]);
+diff --git a/browser/components/migration/src/MigrationUtils.jsm b/browser/components/migration/src/MigrationUtils.jsm
+index 2c91e9a..08962c4 100644
+--- a/browser/components/migration/src/MigrationUtils.jsm
++++ b/browser/components/migration/src/MigrationUtils.jsm
+@@ -405,12 +405,6 @@ this.MigrationUtils = Object.freeze({
+ * @see nsIStringBundle
+ */
+ getLocalizedString: function MU_getLocalizedString(aKey, aReplacements) {
+- const OVERRIDES = {
+- "4_firefox": "4_firefox_history_and_bookmarks",
+- "64_firefox": "64_firefox_other"
+- };
+- aKey = OVERRIDES[aKey] || aKey;
+-
+ if (aReplacements === undefined)
+ return getMigrationBundle().GetStringFromName(aKey);
+ return getMigrationBundle().formatStringFromName(
+@@ -625,6 +619,17 @@ this.MigrationUtils = Object.freeze({
+ },
+
+ /**
++ * Returns whether a given migration type is supported.
++ *
++ * @param aKey Migrator key
++ * @returns whether the migrator key is supported.
++ */
++ canMigrate:
++ function MU_canMigrate(aMigratorKey) {
++ return "@mozilla.org/profile/migrator;1?app=browser&type=" + aMigratorKey in Cc;
++ },
++
++ /**
+ * Cleans up references to migrators and nsIProfileInstance instances.
+ */
+ finishMigration: function MU_finishMigration() {
+diff --git a/browser/components/migration/src/ProfileMigrator.js b/browser/components/migration/src/ProfileMigrator.js
+index f67823b..36016b8 100644
+--- a/browser/components/migration/src/ProfileMigrator.js
++++ b/browser/components/migration/src/ProfileMigrator.js
+@@ -12,6 +12,7 @@ function ProfileMigrator() {
+
+ ProfileMigrator.prototype = {
+ migrate: MigrationUtils.startupMigration.bind(MigrationUtils),
++ canMigrate: MigrationUtils.canMigrate.bind(MigrationUtils),
+ QueryInterface: XPCOMUtils.generateQI([Components.interfaces.nsIProfileMigrator]),
+ classDescription: "Profile Migrator",
+ contractID: "@mozilla.org/toolkit/profile-migrator;1",
+diff --git a/browser/locales/en-US/chrome/browser/migration/migration.dtd b/browser/locales/en-US/chrome/browser/migration/migration.dtd
+index 21cf405..f3c1a6b 100644
+--- a/browser/locales/en-US/chrome/browser/migration/migration.dtd
++++ b/browser/locales/en-US/chrome/browser/migration/migration.dtd
+@@ -17,8 +17,6 @@
+ <!ENTITY importFromSafari.accesskey "S">
+ <!ENTITY importFromChrome.label "Chrome">
+ <!ENTITY importFromChrome.accesskey "C">
+-<!ENTITY importFromFirefox.label "Firefox">
+-<!ENTITY importFromFirefox.accesskey "X">
+
+ <!ENTITY noMigrationSources.label "No programs that contain bookmarks, history or password data could be found.">
+
+diff --git a/browser/locales/en-US/chrome/browser/migration/migration.properties b/browser/locales/en-US/chrome/browser/migration/migration.properties
+index 094a9dc..a620905 100644
+--- a/browser/locales/en-US/chrome/browser/migration/migration.properties
++++ b/browser/locales/en-US/chrome/browser/migration/migration.properties
+@@ -24,30 +24,30 @@ importedSafariReadingList=Reading List (From Safari)
+ 2_ie=Cookies
+ 2_safari=Cookies
+ 2_chrome=Cookies
+-2_firefox=Cookies
++2_self=Cookies
+
+ 4_ie=Browsing History
+ 4_safari=Browsing History
+ 4_chrome=Browsing History
+-4_firefox_history_and_bookmarks=Browsing History and Bookmarks
++4_self=Browsing History and Bookmarks
+
+ 8_ie=Saved Form History
+ 8_safari=Saved Form History
+ 8_chrome=Saved Form History
+-8_firefox=Saved Form History
++8_self=Saved Form History
+
+ 16_ie=Saved Passwords
+ 16_safari=Saved Passwords
+ 16_chrome=Saved Passwords
+-16_firefox=Saved Passwords
++16_self=Saved Passwords
+
+-32_ie=Favorites
++32_ie=Favourites
+ 32_safari=Bookmarks
+ 32_chrome=Bookmarks
+
+ 64_ie=Other Data
+ 64_safari=Other Data
+ 64_chrome=Other Data
+-64_firefox_other=Other Data
++64_self=Other Data
+
+-128_firefox=Windows and Tabs
++128_self=Windows and Tabs
+diff --git a/toolkit/content/resetProfile.js b/toolkit/content/resetProfile.js
+index d46b43b..2253994 100644
+--- a/toolkit/content/resetProfile.js
++++ b/toolkit/content/resetProfile.js
+@@ -28,6 +28,58 @@ function onResetProfileLoad() {
+ populateResetPane("migratedItems");
+ }
+
++<<<<<<< HEAD
++=======
++/**
++ * Check if reset is supported for the currently running profile.
++ *
++ * @return boolean whether reset is supported.
++ */
++function resetSupported() {
++ let profileService = Cc["@mozilla.org/toolkit/profile-service;1"].
++ getService(Ci.nsIToolkitProfileService);
++ let currentProfileDir = Services.dirsvc.get("ProfD", Ci.nsIFile);
++
++ // Reset is only supported for the default profile if the self-migrator used for reset exists.
++ try {
++ if (currentProfileDir.equals(profileService.selectedProfile.rootDir) &&
++ "@mozilla.org/toolkit/profile-migrator;1" in Cc) {
++ let pm = Cc["@mozilla.org/toolkit/profile-migrator;1"].createInstance(Ci.nsIProfileMigrator);
++ return ("canMigrate" in pm) && pm.canMigrate("self");
++ }
++ } catch (e) {
++ // Catch exception when there is no selected profile.
++ Cu.reportError(e);
++ }
++ return false;
++}
++
++function getMigratedData() {
++ Components.utils.import("resource:///modules/MigrationUtils.jsm");
++
++ // From migration.properties
++ const MIGRATED_TYPES = [
++ 4, // History and Bookmarks
++ 16, // Passwords
++ 8, // Form History
++ 2, // Cookies
++ ];
++
++ // Loop over possible data to migrate to give the user a list of what will be preserved.
++ let dataTypes = [];
++ for (let itemID of MIGRATED_TYPES) {
++ try {
++ let typeName = MigrationUtils.getLocalizedString(itemID + "_self");
++ dataTypes.push(typeName);
++ } catch (x) {
++ // Catch exceptions when the string for a data type doesn't exist.
++ Components.utils.reportError(x);
++ }
++ }
++ return dataTypes;
++}
++
++>>>>>>> Bug 756390 - Make the "Reset Firefox" feature more generic
+ function onResetProfileAccepted() {
+ let retVals = window.arguments[0];
+ retVals.reset = true;
+diff --git a/toolkit/profile/nsIProfileMigrator.idl b/toolkit/profile/nsIProfileMigrator.idl
+index f35c227..7062886 100644
+--- a/toolkit/profile/nsIProfileMigrator.idl
++++ b/toolkit/profile/nsIProfileMigrator.idl
+@@ -37,7 +37,7 @@ interface nsIProfileStartup : nsISupports
+ * @client Toolkit (Startup code)
+ * @obtainable service, contractid("@mozilla.org/toolkit/profile-migrator;1")
+ */
+-[scriptable, uuid(3df284a5-2258-4d46-a664-761ecdc04c22)]
++[scriptable, uuid(96d9ab66-082c-4a9e-82ad-f8c21b391342)]
+ interface nsIProfileMigrator : nsISupports
+ {
+ /**
+@@ -60,6 +60,14 @@ interface nsIProfileMigrator : nsISupports
+ * @note The startup code ignores COM exceptions thrown from this method.
+ */
+ void migrate(in nsIProfileStartup aStartup, in ACString aKey);
++
++ /**
++ * Returns whether a given migration type is supported.
++ *
++ * @param aKey Migrator key
++ * @returns whether the migrator key is supported.
++ */
++ bool canMigrate(in ACString aKey);
+ };
+
+ %{C++
+diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
+index 20a3d6e..87e351d 100644
+--- a/toolkit/xre/nsAppRunner.cpp
++++ b/toolkit/xre/nsAppRunner.cpp
+@@ -3843,7 +3843,7 @@ XREMain::XRE_mainRun()
+ if (gDoProfileReset) {
+ // Automatically migrate from the current application if we just
+ // reset the profile.
+- aKey = MOZ_APP_NAME;
++ aKey = "self";
+ }
+ pm->Migrate(&mDirProvider, aKey);
+ }
diff --git a/libre/iceweasel-libre/Fixup-Reset-Firefox-after-bad-merge.patch b/libre/iceweasel-libre/Fixup-Reset-Firefox-after-bad-merge.patch
new file mode 100644
index 000000000..c7c4c355b
--- /dev/null
+++ b/libre/iceweasel-libre/Fixup-Reset-Firefox-after-bad-merge.patch
@@ -0,0 +1,108 @@
+From: Mike Hommey <mh@glandium.org>
+Date: Sat, 16 Nov 2013 13:01:17 +0900
+Subject: Fixup "Reset Firefox" after bad merge
+
+---
+ toolkit/content/resetProfile.js | 52 ----------------------------------------
+ toolkit/modules/ResetProfile.jsm | 11 +++++----
+ 2 files changed, 6 insertions(+), 57 deletions(-)
+
+diff --git a/toolkit/content/resetProfile.js b/toolkit/content/resetProfile.js
+index 2253994..d46b43b 100644
+--- a/toolkit/content/resetProfile.js
++++ b/toolkit/content/resetProfile.js
+@@ -28,58 +28,6 @@ function onResetProfileLoad() {
+ populateResetPane("migratedItems");
+ }
+
+-<<<<<<< HEAD
+-=======
+-/**
+- * Check if reset is supported for the currently running profile.
+- *
+- * @return boolean whether reset is supported.
+- */
+-function resetSupported() {
+- let profileService = Cc["@mozilla.org/toolkit/profile-service;1"].
+- getService(Ci.nsIToolkitProfileService);
+- let currentProfileDir = Services.dirsvc.get("ProfD", Ci.nsIFile);
+-
+- // Reset is only supported for the default profile if the self-migrator used for reset exists.
+- try {
+- if (currentProfileDir.equals(profileService.selectedProfile.rootDir) &&
+- "@mozilla.org/toolkit/profile-migrator;1" in Cc) {
+- let pm = Cc["@mozilla.org/toolkit/profile-migrator;1"].createInstance(Ci.nsIProfileMigrator);
+- return ("canMigrate" in pm) && pm.canMigrate("self");
+- }
+- } catch (e) {
+- // Catch exception when there is no selected profile.
+- Cu.reportError(e);
+- }
+- return false;
+-}
+-
+-function getMigratedData() {
+- Components.utils.import("resource:///modules/MigrationUtils.jsm");
+-
+- // From migration.properties
+- const MIGRATED_TYPES = [
+- 4, // History and Bookmarks
+- 16, // Passwords
+- 8, // Form History
+- 2, // Cookies
+- ];
+-
+- // Loop over possible data to migrate to give the user a list of what will be preserved.
+- let dataTypes = [];
+- for (let itemID of MIGRATED_TYPES) {
+- try {
+- let typeName = MigrationUtils.getLocalizedString(itemID + "_self");
+- dataTypes.push(typeName);
+- } catch (x) {
+- // Catch exceptions when the string for a data type doesn't exist.
+- Components.utils.reportError(x);
+- }
+- }
+- return dataTypes;
+-}
+-
+->>>>>>> Bug 756390 - Make the "Reset Firefox" feature more generic
+ function onResetProfileAccepted() {
+ let retVals = window.arguments[0];
+ retVals.reset = true;
+diff --git a/toolkit/modules/ResetProfile.jsm b/toolkit/modules/ResetProfile.jsm
+index db57f2a..d618d08 100644
+--- a/toolkit/modules/ResetProfile.jsm
++++ b/toolkit/modules/ResetProfile.jsm
+@@ -7,8 +7,6 @@
+ this.EXPORTED_SYMBOLS = ["ResetProfile"];
+
+ const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components;
+-#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__";
+-#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__";
+
+ Cu.import("resource://gre/modules/Services.jsm");
+
+@@ -25,8 +23,11 @@ this.ResetProfile = {
+
+ // Reset is only supported for the default profile if the self-migrator used for reset exists.
+ try {
+- return currentProfileDir.equals(profileService.selectedProfile.rootDir) &&
+- ("@mozilla.org/profile/migrator;1?app=" + MOZ_BUILD_APP + "&type=" + MOZ_APP_NAME in Cc);
++ if (currentProfileDir.equals(profileService.selectedProfile.rootDir) &&
++ "@mozilla.org/toolkit/profile-migrator;1" in Cc) {
++ let pm = Cc["@mozilla.org/toolkit/profile-migrator;1"].createInstance(Ci.nsIProfileMigrator);
++ return ("canMigrate" in pm) && pm.canMigrate("self");
++ }
+ } catch (e) {
+ // Catch exception when there is no selected profile.
+ Cu.reportError(e);
+@@ -50,7 +51,7 @@ this.ResetProfile = {
+ let dataTypes = [];
+ for (let itemID of MIGRATED_TYPES) {
+ try {
+- let typeName = MigrationUtils.getLocalizedString(itemID + "_" + MOZ_APP_NAME);
++ let typeName = MigrationUtils.getLocalizedString(itemID + "_self");
+ dataTypes.push(typeName);
+ } catch (x) {
+ // Catch exceptions when the string for a data type doesn't exist.
diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD
new file mode 100644
index 000000000..5c6313e9e
--- /dev/null
+++ b/libre/iceweasel-libre/PKGBUILD
@@ -0,0 +1,244 @@
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+# Contributor (Parabola): Márcio Silva <coadde@parabola.nu>
+# Contributor (ConnochaetOS): Henry Jensen <hjensen@connochaetos.org>
+# Contributor (Parabola): Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar>
+# Contributor (Parabola): vando <facundo@esdebian.org>
+# Contributor (Arch): Jakub Schmidtke <sjakub@gmail.com>
+# Contributor: Figue <ffigue at gmail>
+# Thank you very much to the older contributors:
+# Contributor: evr <evanroman at gmail>
+# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com>
+
+_pgo=true
+
+# We're getting this from Debian Experimental
+_debname=iceweasel
+_debver=27.0
+_debrel=deb2
+_debrepo=http://ftp.debian.org/debian/pool/main/
+debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
+
+_pkgname=iceweasel
+pkgname=iceweasel-libre
+epoch=1
+pkgver=$_debver.$_debrel
+pkgrel=1
+
+pkgdesc="A libre version of Debian Iceweasel, the standalone web browser based on Mozilla Firefox."
+arch=(i686 x86_64 mips64el)
+license=(MPL GPL LGPL)
+depends=(alsa-lib dbus-glib desktop-file-utils gtk2 hicolor-icon-theme hunspell libevent libnotify libvpx libxt mime-types mozilla-common mozilla-searchplugins nss sqlite startup-notification)
+makedepends=(autoconf2.13 diffutils gstreamer0.10-base imagemagick imake inetutils libidl2 libpulse librsvg libxslt mesa pkg-config python2 quilt unzip zip)
+[ "$CARCH" != "mips64el" ] && makedepends+=('yasm')
+options=(!emptydirs !makeflags)
+if $_pgo; then
+ makedepends+=(xorg-server-xvfb)
+ options+=(!ccache)
+fi
+optdepends=('networkmanager: Location detection via available WiFi networks'
+ 'gstreamer0.10-base-plugins: vorbis decoding, ogg demuxing'
+ 'gstreamer0.10-good-plugins: webm and mp4 demuxing'
+ 'gstreamer0.10-bad-plugins: aac, vp8 and opus decoding'
+ 'gstreamer0.10-ugly-plugins: h.264 and mp3 decoding'
+ 'gstreamer0.10-ffmpeg: more decoders'
+ 'libpulse: PulseAudio audio driver')
+url="http://packages.debian.org/experimental/${_pkgname}"
+install=iceweasel.install
+replaces=('firefox')
+conflicts=('firefox')
+provides=('firefox')
+source=("$_debrepo/`debfile $_debname`_$_debver.orig.tar.bz2"
+ "$_debrepo/`debfile $_debname`_$_debver-${_debrel#deb}.debian.tar.xz"
+ mozconfig
+ mozconfig.pgo
+ libre.patch
+ gnu_headshadow.png
+ iceweasel.desktop
+ iceweasel-install-dir.patch
+ vendor.js
+ iceweasel-20.0.1-fixed-loading-icon.png
+ Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
+ Fixup-Reset-Firefox-after-bad-merge.patch)
+md5sums=('0baf0b166421f785db79bd33fe7b0748'
+ '2446de5f7844caae8cd7e46b3b72119c'
+ '023120a970670dc85cea19393f0b94b6'
+ 'df08eaa1ac3bc6c2356be4fbf8ec8932'
+ '641e8b54a684161c60209b81f260a19b'
+ 'b03a979a78484503ba8dddad4f2c96d1'
+ '7b9e5996dd9fe0b186a43a297db1c6b5'
+ '6620e724ec9a1be74e65089d81d802f7'
+ '816013881cfc9a1f4f0ede72b014f8b3'
+ '6e335a517c68488941340ee1c23f97b0'
+ '3dcb1f1eccce5b6b90fa48ab94bf7a47'
+ '8e165ef85ddd72491f0b48f8954afca6')
+
+prepare() {
+ export DEBIAN_BUILD="mozilla-release"
+
+ export QUILT_PATCHES=debian/patches
+ export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
+ export QUILT_DIFF_ARGS='--no-timestamps'
+
+ mv debian "$srcdir/$DEBIAN_BUILD"
+ cd "$srcdir/$DEBIAN_BUILD"
+
+ # Doesn't apply and seems unimportant
+ rm -v debian/patches/l10n/Place-google-and-gmail-before-yandex.patch || true
+
+ # Doesn't works in some parts due it has patches for others locales languages, source code hasn't it
+ rm -v debian/patches/debian-hacks/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch || true
+
+ # It needs to be patched after Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
+ rm -v debian/patches/debian-hacks/Fixup-Reset-Firefox-after-bad-merge.patch || true
+
+ quilt push -av
+
+ install -m644 "$srcdir/gnu_headshadow.png" browser/base/content/abouthome # Put gnu_headshadow.png on the source code
+
+ patch -Np1 -i "$srcdir/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch" # Adding fixed Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch
+ patch -Np1 -i "$srcdir/Fixup-Reset-Firefox-after-bad-merge.patch"
+ patch -Np1 -i "$srcdir/iceweasel-install-dir.patch" # install to /usr/lib/$_pkgname
+
+ # Patch and remove anything that's left
+ patch -Np1 -i "$srcdir/libre.patch"
+ sed -i 's|Adobe Flash|SWF Player|g;
+ ' browser/base/content/pageinfo/permissions.js \
+ browser/base/content/browser-plugins.js
+ sed -i '\|URL of the GeoLocation backend|d;
+ \|geo[.]wifi[.]uri|d;
+ ' browser/app/profile/firefox.js \
+ browser/metro/profile/metro.js
+ rm -v browser/base/content/abouthome/snippet*.png || true
+ sed -i "\|abouthome/snippet|d" browser/base/jar.mn
+
+ # Replace common URLs
+ sed -i '\|extensions[.]getAddons[.]get[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g;
+ \|extensions[.]getAddons[.]search[.]browseURL| s|https://addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g;
+ \|extensions[.]getAddons[.]search[.]url| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g;
+ \|extensions[.]webservice[.]discoverURL| s|https://services[.]addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g;
+ \|browser[.]search[.]searchEnginesURL| s|https://addons[.]mozilla[.]org.\+["][)][;]|http://directory.fsf.org/wiki/GNU_IceCat");|g;
+ ' browser/app/profile/firefox.js
+
+ cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch
+
+ if $_pgo; then
+ cat "$srcdir/mozconfig.pgo" >> .mozconfig
+ fi
+
+ # From js on abslibre-mips64el.git
+ if [ "$CARCH" = "mips64el" ]; then
+ msg "Force disabling JIT."
+ sed -ri 's/#define ENABLE_(JIT|ASSEMBLER) 1/#define ENABLE_\1 0/' \
+ js/src/assembler/wtf/Platform.h
+ sed -ri 's/ENABLE_(JIT|ASSEMBLER)=1/ENABLE_\1=0/' js/src/Makefile.{in,ref}
+
+ echo "ac_add_options --disable-methodjit" >> .mozconfig
+ echo "ac_add_options --disable-tracejit" >> .mozconfig
+ fi
+
+ # This is a bug, we should fix it
+ if [ "$CARCH" = "mips64el" ]; then
+ # Fix MIPS N32 support.
+ sed -i 's/defined(_ABIO32)/(defined(_ABIO32) || defined(_ABIN32))/' \
+ js/src/assembler/wtf/Platform.h
+ # Disable JIT.
+ sed -ri 's/#define ENABLE_(JIT|ASSEMBLER) 1/#define ENABLE_\1 0/' \
+ js/src/assembler/wtf/Platform.h
+ sed -ri 's/ENABLE_(JIT|ASSEMBLER)=1/ENABLE_\1=0/' js/src/Makefile.in
+ echo 'ac_add_options --disable-methodjit' >> .mozconfig
+ echo 'ac_add_options --disable-tracejit' >> .mozconfig
+ echo 'ac_add_options --disable-jemalloc' >> .mozconfig
+ fi
+
+ # Fix PRE_RELEASE_SUFFIX
+ sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \
+ browser/base/Makefile.in
+
+ mkdir "$srcdir/path"
+
+ # WebRTC build tries to execute "python" and expects Python 2
+ ln -s /usr/bin/python2 "$srcdir/path/python"
+
+ # Use gold, as Mozilla can use some of its features, such as safe ICF
+ #ln -s /usr/bin/ld.gold "$srcdir/path/ld"
+
+ # configure script misdetects the preprocessor without an optimization level
+ # https://bugs.archlinux.org/task/34644
+ sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure
+
+ # Fix tab loading icon (flickers with libpng 1.6)
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=841734
+ cp "$srcdir/iceweasel-20.0.1-fixed-loading-icon.png" \
+ browser/themes/linux/tabbrowser/loading.png
+
+ # Remove non-existent file on Makefile.in
+ sed -i '\|build/pgo/blueprint/valid.png|d' build/Makefile.in
+
+}
+
+build() {
+ export DEBIAN_BUILD="mozilla-release"
+
+ cd "$srcdir/$DEBIAN_BUILD"
+
+ export PATH="$srcdir/path:$PATH"
+ export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname"
+ export PYTHON="/usr/bin/python2"
+
+ if [[ $CARCH == i686 ]]; then
+ # Work around memory address space exhaustion during linking on i686
+ LDFLAGS+=' -Wl,--no-keep-memory'
+ fi
+
+ if $_pgo; then
+ # Set up PGO
+ export DISPLAY=:99
+ Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 $DISPLAY &
+
+ if ! make -f client.mk build MOZ_PGO=1; then
+ kill $!
+ return 1
+ fi
+
+ kill $! || true
+ else
+ make -f client.mk build
+ fi
+}
+
+package() {
+ export DEBIAN_BUILD="mozilla-release"
+
+ cd "$srcdir/$DEBIAN_BUILD"
+ make -f client.mk DESTDIR="$pkgdir" install
+
+ install -Dm644 ../vendor.js "$pkgdir/usr/lib/$_pkgname/browser/defaults/preferences/vendor.js"
+
+ # I don't even know why we're hitting the objdir, and ConnOS didn't
+ _brandingdir=debian/branding
+ brandingdir=moz-objdir/$_brandingdir
+ icondir="$pkgdir/usr/share/icons/hicolor"
+ for i in 16x16 32x32 48x48 64x64; do
+ install -Dm644 "$brandingdir/default${i/x*/}.png" "$icondir/$i/apps/$_pkgname.png"
+ done
+ install -Dm644 "$brandingdir/mozicon128.png" "$icondir/128x128/apps/$_pkgname.png"
+ install -Dm644 "$_brandingdir/iceweasel_icon.svg" "$icondir/scalable/apps/$_pkgname.svg"
+
+ install -d "$pkgdir/usr/share/applications"
+ install -m644 "$srcdir/iceweasel.desktop" "$pkgdir/usr/share/applications"
+
+ rm -rf "$pkgdir/usr/lib/$_pkgname/"{dictionaries,hyphenation}
+ ln -sf /usr/share/hunspell "$pkgdir/usr/lib/$_pkgname/dictionaries"
+ ln -sf /usr/share/hyphen "$pkgdir/usr/lib/$_pkgname/hyphenation"
+
+ rm -rf "$pkgdir/usr/lib/$_pkgname/browser/"{searchplugins,plugins}
+ ln -sf /usr/lib/mozilla/plugins "$pkgdir/usr/lib/$_pkgname/browser/plugins"
+ ln -sf /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$_pkgname/browser/searchplugins"
+
+ # We don't want the development stuff
+ rm -rf "$pkgdir"/usr/{include,lib/$_pkgname-devel,share/idl}
+
+ # Workaround for now: https://bugzilla.mozilla.org/show_bug.cgi?id=658850
+ ln -sf $_pkgname "$pkgdir/usr/lib/$_pkgname/$_pkgname-bin"
+}
diff --git a/libre/iceweasel-libre/gnu_headshadow.png b/libre/iceweasel-libre/gnu_headshadow.png
new file mode 100644
index 000000000..e0f73a3bf
--- /dev/null
+++ b/libre/iceweasel-libre/gnu_headshadow.png
Binary files differ
diff --git a/libre/iceweasel-libre/iceweasel-20.0.1-fixed-loading-icon.png b/libre/iceweasel-libre/iceweasel-20.0.1-fixed-loading-icon.png
new file mode 100644
index 000000000..55f25e591
--- /dev/null
+++ b/libre/iceweasel-libre/iceweasel-20.0.1-fixed-loading-icon.png
Binary files differ
diff --git a/libre/iceweasel-libre/iceweasel-install-dir.patch b/libre/iceweasel-libre/iceweasel-install-dir.patch
new file mode 100644
index 000000000..3938c0b3e
--- /dev/null
+++ b/libre/iceweasel-libre/iceweasel-install-dir.patch
@@ -0,0 +1,29 @@
+diff --git a/config/baseconfig.mk b/config/baseconfig.mk
+index 9c70e24..eff0fd2 100644
+--- a/config/baseconfig.mk
++++ b/config/baseconfig.mk
+@@ -1,8 +1,8 @@
+ MOZ_APP_BASE_VERSION = $(firstword $(subst ., ,$(MOZ_APP_VERSION))).$(word 2,$(subst ., ,$(MOZ_APP_VERSION)))
+-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION)
+-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION)
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_BASE_VERSION)
++includedir := $(includedir)/$(MOZ_APP_NAME)
++idldir = $(datadir)/idl/$(MOZ_APP_NAME)
++installdir = $(libdir)/$(MOZ_APP_NAME)
++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
+ DIST = $(DEPTH)/dist
+
+ # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
+diff --git a/js/src/config/baseconfig.mk b/js/src/config/baseconfig.mk
+index 1ff076c..5386569 100644
+--- a/js/src/config/baseconfig.mk
++++ b/js/src/config/baseconfig.mk
+@@ -1,5 +1,5 @@
+-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++installdir = $(libdir)/$(MOZ_APP_NAME)
++sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
+
+ ifneq (,$(filter /%,$(TOP_DIST)))
+ DIST = $(TOP_DIST)
diff --git a/libre/iceweasel-libre/iceweasel.desktop b/libre/iceweasel-libre/iceweasel.desktop
new file mode 100644
index 000000000..c4a338cc6
--- /dev/null
+++ b/libre/iceweasel-libre/iceweasel.desktop
@@ -0,0 +1,105 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=Iceweasel
+Name[bg]=Iceweasel
+Name[ca]=Iceweasel
+Name[cs]=Iceweasel
+Name[el]=Iceweasel
+Name[es]=Iceweasel
+Name[fa]=Iceweasel
+Name[fi]=Iceweasel
+Name[fr]=Iceweasel
+Name[hu]=Iceweasel
+Name[it]=Iceweasel
+Name[ja]=Iceweasel
+Name[ko]=Iceweasel
+Name[nb]=Iceweasel
+Name[nl]=Iceweasel
+Name[nn]=Iceweasel
+Name[no]=Iceweasel
+Name[pl]=Iceweasel
+Name[pt]=Iceweasel
+Name[pt_BR]=Iceweasel
+Name[ru]=Iceweasel
+Name[sk]=Iceweasel
+Name[sv]=Iceweasel
+Comment=Browse the World Wide Web
+Comment[bg]=Сърфиране в Мрежата
+Comment[ca]=Navegueu per el web
+Comment[cs]=Prohlížení stránek World Wide Webu
+Comment[de]=Im Internet surfen
+Comment[el]=Περιηγηθείτε στον παγκόσμιο ιστό
+Comment[es]=Navegue por la web
+Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
+Comment[fi]=Selaa Internetin WWW-sivuja
+Comment[fr]=Navigue sur Internet
+Comment[hu]=A világháló böngészése
+Comment[it]=Esplora il web
+Comment[ja]=ウェブを閲覧します
+Comment[ko]=웹을 돌아 다닙니다
+Comment[nb]=Surf på nettet
+Comment[nl]=Verken het internet
+Comment[nn]=Surf på nettet
+Comment[no]=Surf på nettet
+Comment[pl]=Przeglądanie stron WWW
+Comment[pt]=Navegue na Internet
+Comment[pt_BR]=Navegue na Internet
+Comment[ru]=Обозреватель Всемирной Паутины
+Comment[sk]=Prehliadanie internetu
+Comment[sv]=Surfa på webben
+GenericName=Web Browser
+GenericName[bg]=Интернет браузър
+GenericName[ca]=Navegador web
+GenericName[cs]=Webový prohlížeč
+GenericName[de]=Webbrowser
+GenericName[el]=Περιηγητής ιστού
+GenericName[es]=Navegador web
+GenericName[fa]=مرورگر اینترنتی
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web
+GenericName[hu]=Webböngésző
+GenericName[it]=Browser Web
+GenericName[ja]=ウェブ・ブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[nb]=Nettleser
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[no]=Nettleser
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ru]=Интернет-браузер
+GenericName[sk]=Internetový prehliadač
+GenericName[sv]=Webbläsare
+X-GNOME-FullName=Iceweasel Web Browser
+X-GNOME-FullName[bg]=Интернет браузър (Iceweasel)
+X-GNOME-FullName[ca]=Navegador web Iceweasel
+X-GNOME-FullName[cs]=Iceweasel Webový prohlížeč
+X-GNOME-FullName[el]=Περιηγήτης Ιστού Iceweasel
+X-GNOME-FullName[es]=Navegador web Iceweasel
+X-GNOME-FullName[fa]=مرورگر اینترنتی Iceweasel
+X-GNOME-FullName[fi]=Iceweasel-selain
+X-GNOME-FullName[fr]=Navigateur Web Iceweasel
+X-GNOME-FullName[hu]=Iceweasel webböngésző
+X-GNOME-FullName[it]=Iceweasel Browser Web
+X-GNOME-FullName[ja]=Iceweasel ウェブ・ブラウザ
+X-GNOME-FullName[ko]=Iceweasel 웹 브라우저
+X-GNOME-FullName[nb]=Iceweasel Nettleser
+X-GNOME-FullName[nl]=Iceweasel webbrowser
+X-GNOME-FullName[nn]=Iceweasel Nettlesar
+X-GNOME-FullName[no]=Iceweasel Nettleser
+X-GNOME-FullName[pl]=Przeglądarka WWW Iceweasel
+X-GNOME-FullName[pt]=Iceweasel Navegador Web
+X-GNOME-FullName[pt_BR]=Navegador Web Iceweasel
+X-GNOME-FullName[ru]=Интернет-браузер Iceweasel
+X-GNOME-FullName[sk]=Internetový prehliadač Iceweasel
+X-GNOME-FullName[sv]=Webbläsaren Iceweasel
+Exec=/usr/lib/iceweasel/iceweasel %u
+Terminal=false
+X-MultipleArgs=false
+Type=Application
+Icon=iceweasel
+Categories=Network;WebBrowser;
+MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;
+StartupWMClass=Iceweasel
+StartupNotify=true
diff --git a/libre/iceweasel-libre/iceweasel.install b/libre/iceweasel-libre/iceweasel.install
new file mode 100644
index 000000000..1a1f4b16b
--- /dev/null
+++ b/libre/iceweasel-libre/iceweasel.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
diff --git a/libre/iceweasel-libre/libre.patch b/libre/iceweasel-libre/libre.patch
new file mode 100644
index 000000000..4be59abff
--- /dev/null
+++ b/libre/iceweasel-libre/libre.patch
@@ -0,0 +1,891 @@
+diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
+index 3840da4..fe1c05c 100644
+--- a/browser/app/profile/firefox.js
++++ b/browser/app/profile/firefox.js
+@@ -272,11 +272,6 @@ pref("browser.slowStartup.notificationDisabled", false);
+ pref("browser.slowStartup.timeThreshold", 60000);
+ pref("browser.slowStartup.maxSamples", 5);
+
+-// This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into
+-// this page over http opens us up to a man-in-the-middle attack that we'd rather not face. If you are a downstream
+-// repackager of this code using an alternate snippet url, please keep your users safe
+-pref("browser.aboutHomeSnippets.updateUrl", "https://snippets.mozilla.com/%STARTPAGE_VERSION%/%NAME%/%VERSION%/%APPBUILDID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/");
+-
+ pref("browser.enable_automatic_image_resizing", true);
+ pref("browser.chrome.site_icons", true);
+ pref("browser.chrome.favicons", true);
+@@ -1318,11 +1313,7 @@ pref("shumway.disabled", true);
+ // (This is intentionally on the high side; see bug 746055.)
+ pref("image.mem.max_decoded_image_kb", 256000);
+
+-// Default social providers
+-pref("social.manifest.facebook", "{\"origin\":\"https://www.facebook.com\",\"name\":\"Facebook Messenger\",\"workerURL\":\"https://www.facebook.com/desktop/fbdesktop2/socialfox/fbworker.js.php\",\"shareURL\":\"https://www.facebook.com/sharer/sharer.php?u=%{url}\",\"iconURL\":\"data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAAX0lEQVQ4jWP4%2F%2F8%2FAyUYTFhHzjgDxP9JxGeQDSBVMxgTbUBCxer%2Fr999%2BQ8DJBuArJksA9A10s8AXIBoA0B%2BR%2FY%2FjD%2BEwoBoA1yT5v3PbdmCE8MAshhID%2FUMoDgzUYIBj0Cgi7ar4coAAAAASUVORK5CYII%3D\",\"sidebarURL\":\"https://www.facebook.com/desktop/fbdesktop2/?socialfox=true\",\"icon32URL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAADbklEQVRYCc1Xv08UQRj99tctexAuCEFjRE0kGBEtLDSGqIWNxkYKbTAxNlY2JhaGWltNtNFeKgsKKxITK43/gCYW+IsoRhA4D47bH7fn9+bcvdm5JR7sefolC3Ozu9978+bNN7PayUv3HN3umdY0Y6IWBtSJ0HSTarXqTOiuTep6Lj+tdxAcA8RAgSmwdd2aCDs0clldYALb/FvgYVhjmfliVA2XpjEgWo0Attn42Z6WH1RFor5ehwo9XQIUZMoVn4qlCoVMSo62EvD8Kh0b3U2Xz43R2PBO6mUCGDlAf65V6MadZzT/rUimoccc2kYA4BfPHqJb105RzjJigKhRq9kEJUBIjgYVuXeL7SAI6eD+Abp5dTwVHOmEHxT50d8WBYJqSOdPj5BjW8gZR8UNqFR2xagx/65XFYaMH+BGWwiYpi4UkBPPLxTp9v1Z+lHc4DWvCQXWmIy6EjITgKowVd5Jjv7N3Hd6y5esigoOwpkJIAmMpZpLJGdiaaC4F0UmAj6bD84GCEwmB/qxMmRilmnwb/mpjAocHh4UEoNAt5NLZB7oy9OJo0PxqkAtePdhiSqunyC1LQUwWMPQaOr6GRre258Ajn4cP7KHcEXhsxpXbj+lT19X2TMNGTLVAcjcalS8gDwsQ2UOMhH4k8FkcrEn5E5ub2sKohxLK2VR77Hl9RUcsrgeRIEiVOT6z+tDbIeLy+vk+kGTCbXxycet6xhl//3f6bJEkdHYhA+mLtDIvoH4ieev5+juoxdk5+pjhALYEdXIpEB5w+NlSKSzqVQ/+H7IO6BLtl3fngGMiqhGJgIwlM6qpyUGFjySdk8m0Zg0ubeD7X9OIDEFajltRQgUJaUKx69tdgaQa0FMADuahZPMFtcEwNPm2hA7ZI5sK4aoE2NvYI+o8hkCIe7CwTv68zS0q9Dk5vpbm/8FXxitSzmMFHpsGj0wyLUheTwD2Y9fVgh1Ae0EPUgD9241ZEnld+v5kgnVZ/8fE0brVh5BK+1oCqKKF72Dk7HwBsssB/pklU1dfChy3S659H5+uelgIb+8WRv1/uGTV9Sdb5wJFlfW6fPCalMhwhSU1j2xKwKbP838GcOwJja4TqO0bjdmXxYTy1EYjFdCWoCEYZhseH/GDL3yJPHnuW6YmT7P1SlIA4768Hke4vOcsX8BE346lLHhDUQAAAAASUVORK5CYII=\", \"icon64URL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAACNNJREFUeNrtm3tw1NUVxz/399hHHkgCaCBGEFEEREVFYFQcSoOKdkZay4z+4dDpYIsjHWx1WoTMhFi1gzBSpVgVGbU4U1sHfPESKODwEEnRYDFAICEIeZIQshs2u/v73ds/drMsyW7YLEkl2Z6Z32yy+9v7u+fc7znne8+5KzgvAjDunzlv0M13PjDZ6c4cARj0WhEoaZ1tOn3yq9XLf/tNU0O1D5Ad7wq/OpxpaXOL1j5uZAwuaGlVgwNBhULRm0XXBG6HZrlNa9uRrzfM+3DlgjIgGMsA7rl/XDdHOnNf9vosTfVuvTsaQhdkZ4iykh2rHtqydvkxwI58BhjTfv7MmP55E9/1nLNdfU15ACkVvoAaMCRvRPa+re9+DgTaPjMAx+DrJv3M67Mz+6LybWLb4NfTHhxzx31DDhZvOtqGAgNwWbjGICV9XQJB0e/KobcOP1i8qTzaAEYgaDtNU/V5A9hSaUFLuQEt2gVQSgml+j4CUAIppYgK/m0GkCjZ9xGAUNAu0LUhgJRAAAIVzwBSqVRQH4hlAClRKZAFhOgEASoFECBR8QwgUyQGdJT/B8HzCEiBNKhUJzEgBYIgQsTJAkohe9oFZHgHKvQoHtZ9K3tewfiixXABLdoFeuSSEmkF+PH4QTz7+M3o+ENptzvGtS36uSwmjMpAYF10XCllHCYoe84FlLS555Zs5jx6J6ahY+iCl98pJiDNS1hwSZop+cm91zJmxEBefGsPlu1AxKC67V3gf5oGlZSMuz6Dp2fdhWnoAEwaN5T5hsYLb+4hKB1dcgelFDpB8ifk8thDt3DO5+fZxRvxBV0IjQR0EB3KfD1GhJS0GZnnYuGcKTgdF9ZWx4/No/BJjUUrdtJqm4iL+K5SCmSAiWMHMevhcQzNzaa6ron5SzfQ7HeiaSKx+au4m6HupcJKSYZdZVI4dypuV2yo3zoql0VP3cOiFV/Q4jdiGkGhQFqMGpbJL346kbE3DEYIQWNTC39Ysp4Gr4HQtZDyiRhA0NlmSHZbRM7pr1H0m6lckeHqdGXG3jCYoqfupeC17bT49fNRXIFSNrkDTGbNGM9dtw1D10M1DI/Xx3NLP6OqETRdDy1eglPT4rqA7K56gCIrXfHCvHwGZqUnBMtR113FS/N+xHPLtuJpDa1mVobg0emjmX7vqEjsUErhaw1Q8Mo6yk4F0A1HeOW7kIlFx/u7jworRabLpmhuPjmD+iG7YNDrrhnIS09P5cW/buOeO67lkftvJt3tDE06PE7Qsnh++QYOHPOim86wcVUS0+whJug0ghTMmcK1V2eH8m2UHP++nrwhAyIwjiXDcrN5vXAGhqGhFBeMYUvJ0re2sPfgGTTDGUZrEogVopMgmGQWUCgMEWTBE5MZPSLngnGqas/w9j92s31fJfmThvPM7HyMMKRj+qgmOiBHSsnr73/B5r1V6A53KD4k3bFS8dNgckFQoWPxu1kTGDc6N7JqzR4ff/+smE+2H8FSLkx3FluLawhaG3n2iXwcppGoV/Hemt18tK0c3UwLIfUS2nVafBeQJNUXkAF+/dht3H37cKSUBC2bTTv+w98++YazPg1dT0NoIUhruoMd+2sJrtjI7381rQM3iCVrN33N++tL0c30xFNdp0GQeFRYQhcRIO0gv5xxE/fdfSO2bfNVSTmrPtxLZW0A3XSh6VporaLG1XQHu0pOU/TaOhY8+QAuZ3w6vHnnQd74536EkZ50wOsSE0zcugolbWZOG8GM/LGUVdSw6sM97D/UgGa60QxXzMJDZAq6yb7SJgr//CkLn5pOmsvR4Z5dxUdZ9t6XoKfFjNyXkqZjuoBUCpGgCyhp8eDdQ5k++UaWrdrMlr2VSFxoZlpE8YtNWGgGXx9ppnDZpxTMfTCS8gAOlJ5g8ds7kCItTIi6j6FqMVxAC2sV2RB1ekmLCTcNpH+myeyFH7BxT1Voopoe4RKJXQqhmxw45mXh0o/xeH0opThcXs2iv2wmoFyhAnbC4yX+3PgISMDShrA5XHGa3d9UITRniIeTfHASmsGhEz7mL/mI2TPv4sU3t+KzHAnu7JKpCosOkcSIICAB5hZE0OiRCM0Iwb0b6LPQdI5W+Zn/yucoYYayRk+16eK1xqRMDAHtA0r3lep0lNAjO8kfpCpMqpTF4xZEUqA7rIlOCiKpgADVWXc4FQwgEfHPB5AiByTixIDUCYJx+wJoqdIcJV5VOAWygEZcF7BToT2upFDKtuz2BrAtf8v3mju972cBJX2exso6ok6N64BhOtM11xXXPBz6v6340PcuO+DZfaJkzWqgqY3L64Bqaaz0ZV45Mkc308dG2kd97FLSaq4v317gazr5HeCLRoACFTxbfeBw+oDhWYYj4/rw+30H+rb/VMPxXQsbKnbuABqJOi4vogyRiRB5/XNvvz3zytFTDEf61eF9b0dCKTS36c4afymTsgLeQ9Ly13X/aYnzE1Uy6PV7679trNy1xe+tKwPqAH/0Vla0qw65gH7AFeG/Y3Uy9P45o0bm3PTIaplM6lTK9jWf/OBUyQcrpdXaTIyfsXQb9QcLaAn7vJd2vxY5XxBpo8pwDmgFGsLKx1oeh8OVmUUSLXUlrWZPzbdLag9v+BjUqfDzepKAyDDcZbznGHG+1NmqSKHpVlfbadJqLW+o2LHobNX+PUB1WPkfnHwYyTmX6lI7Lehr3F576NM/+T3V3wH17f2w1xkg2ggXuSvga6p8p+bgmpVKWpXAmVh+2AsNEKogdYYAJa0GT03J4obyf60HTgKe6PTTqw0QOpcQ3wXs4LlDZyq2FXrrS4uBmjDxuCw3G5eIgA46yeC5ho11pWsWW35PWTibBC4Xf+9eBLRPg0q2+s5UvHG6bMNqJYPHw7nXutxZYvIIiMoCSgbrPVX/fv7syS+3AKfC5MOmF4iRpP6RjrId8O5vrNhS1NpUWQLUholUr6muXEoatP3emrWNR9e/avk9R8P+HuxNypPkrk93pGdnK0VtXemaN6UdOHo55vdE5b/0NKx+K4AxtAAAAABJRU5ErkJggg==\", \"description\":\"Keep up with friends wherever you go on the web.\",\"author\":\"Facebook\",\"homepageURL\":\"https://www.facebook.com/about/messenger-for-firefox\",\"builtin\":\"true\"}");
+-
+-pref("social.sidebar.open", true);
+-pref("social.sidebar.unload_timeout_ms", 10000);
++// removed facebook sidebar with Iceweasel.
+
+ pref("social.allowMultipleWorkers", true);
+
+diff --git a/browser/base/content/abouthome/aboutHome.css b/browser/base/content/abouthome/aboutHome.css
+index c270318..049fe6e 100644
+--- a/browser/base/content/abouthome/aboutHome.css
++++ b/browser/base/content/abouthome/aboutHome.css
+@@ -49,11 +49,6 @@ a {
+ background-repeat: no-repeat;
+ }
+
+-#searchForm,
+-#snippets {
+- width: 470px;
+-}
+-
+ #searchForm {
+ display: -moz-box;
+ }
+@@ -72,8 +67,7 @@ a {
+ #searchEngineLogo {
+ display: inline-block;
+ height: 28px;
+- width: 70px;
+- min-width: 70px;
++ width: 47px;
+ }
+
+ #searchText {
+@@ -145,48 +139,6 @@ a {
+ transition-duration: 0ms;
+ }
+
+-#defaultSnippet1,
+-#defaultSnippet2,
+-#rightsSnippet {
+- display: block;
+- min-height: 38px;
+- background: 30px center no-repeat;
+- padding: 6px 0;
+- -moz-padding-start: 79px;
+-}
+-
+-#rightsSnippet[hidden] {
+- display: none;
+-}
+-
+-#defaultSnippet1:-moz-dir(rtl),
+-#defaultSnippet2:-moz-dir(rtl),
+-#rightsSnippet:-moz-dir(rtl) {
+- background-position: right 30px center;
+-}
+-
+-#defaultSnippet1 {
+- background-image: url("chrome://browser/content/abouthome/snippet1.png");
+-}
+-
+-#defaultSnippet2 {
+- background-image: url("chrome://browser/content/abouthome/snippet2.png");
+-}
+-
+-#snippets {
+- display: inline-block;
+- text-align: start;
+- margin: 12px 0;
+- color: #3c3c3c;
+- font-size: 75%;
+- /* 12px is the computed font size, 15px the computed line height of the snippets
+- with Segoe UI on a default Windows 7 setup. The 15/12 multiplier approximately
+- converts em from units of font-size to units of line-height. The goal is to
+- preset the height of a three-line snippet to avoid visual moving/flickering as
+- the snippets load. */
+- min-height: calc(15/12 * 3em);
+-}
+-
+ #launcher {
+ display: -moz-box;
+ -moz-box-align: center;
+@@ -335,26 +287,25 @@ body[narrow] #restorePreviousSession::before {
+ width: 32px;
+ }
+
+-#aboutMozilla {
++#aboutGNU {
+ display: block;
+- position: relative; /* pin wordmark to edge of document, not of viewport */
+ -moz-box-ordinal-group: 0;
+ opacity: .5;
+ transition: opacity 150ms;
+ }
+
+-#aboutMozilla:hover {
++#aboutGNU:hover {
+ opacity: 1;
+ }
+
+-#aboutMozilla::before {
+- content: url("chrome://browser/content/abouthome/mozilla.png");
++#aboutGNU::before {
++ content: url("chrome://browser/content/abouthome/gnu_headshadow.png");
+ display: block;
+ position: absolute;
+ top: 12px;
+ right: 12px;
+- width: 69px;
+- height: 19px;
++ width: 200px;
++ height: 110px;
+ }
+
+ /* [HiDPI]
+@@ -366,26 +317,6 @@ body[narrow] #restorePreviousSession::before {
+ background-image: url("chrome://branding/content/about-logo@2x.png");
+ }
+
+- #defaultSnippet1,
+- #defaultSnippet2,
+- #rightsSnippet {
+- background-size: 40px;
+- }
+-
+- #defaultSnippet1 {
+- background-image: url("chrome://browser/content/abouthome/snippet1@2x.png");
+- }
+-
+- #defaultSnippet2 {
+- background-image: url("chrome://browser/content/abouthome/snippet2@2x.png");
+- }
+-
+- .launchButton::before,
+- #aboutMozilla::before {
+- transform: scale(.5);
+- transform-origin: 0 0;
+- }
+-
+ #downloads::before {
+ content: url("chrome://browser/content/abouthome/downloads@2x.png");
+ }
+@@ -421,9 +352,5 @@ body[narrow] #restorePreviousSession::before {
+ body[narrow] #restorePreviousSession::before {
+ content: url("chrome://browser/content/abouthome/restore@2x.png");
+ }
+-
+- #aboutMozilla::before {
+- content: url("chrome://browser/content/abouthome/mozilla@2x.png");
+- }
+ }
+
+diff --git a/browser/base/content/abouthome/aboutHome.js b/browser/base/content/abouthome/aboutHome.js
+index 432fcdc..bd1692a 100644
+--- a/browser/base/content/abouthome/aboutHome.js
++++ b/browser/base/content/abouthome/aboutHome.js
+@@ -3,152 +3,44 @@
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+ const SEARCH_ENGINES = {
+- "Google": {
+- // This is the "2x" image designed for OS X retina resolution, Windows at 192dpi, etc.;
+- // it will be scaled down as necessary on lower-dpi displays.
++ "DuckDuckGo HTML": {
+ image: "data:image/png;base64," +
+- "iVBORw0KGgoAAAANSUhEUgAAAIwAAAA4CAYAAAAvmxBdAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ" +
+- "bWFnZVJlYWR5ccllPAAAGrFJREFUeNrtfHt4VdW172+utZOASLJ5+BaIFrUeXkFsa0Fl++gDnznV" +
+- "VlvFxt7aqvUUarXtse3Bau35ak/rZ9XT26NtfOvV6wFET+FYCQEKWqsQIT5RCAgSXnlnrzXneNw/" +
+- "1lphJSSQ8BB7bub3zW+LO3uN+fiNMcf4jTEX0N/6W3/rb/2tv30smtnXB3zmRi2FQakxQNKX3WkW" +
+- "9S/tgW3HLpmQM543A0BWVSHMYGIwOTDxzxrOf3/RQQfMZ2/SLAvKhTFVBGUqKFONH2QAzwOMF38a" +
+- "wHhYZAxWAqhe/iszp3+b970d/sInc57vz/J8L2eMB2MAEYkBQ6DQ3dRw4dq7AUjcP3rAfPZmLWXC" +
+- "LHKoIAcQAUxaB5EaEfc6AEBhjDEwmcx43/fO9HxT4vkReBIAAZgjgodW3NcPnn1sHgD/iHknn+0d" +
+- "6s8XEUhsXXac/34WAAGw8afuT8GZ3X055YeSJcIsG+pMZwFn0UihezRofPt3G54f/0E8cNMN+Myo" +
+- "8jVTCgYd823PLzrPeIBnABiUQ1F+UoWsVOYb33mkoKp/7/dKyT0AGc47X4s0sjBEoLxbBqAQAMfW" +
+- "Rfe38B4BM+VHUkYOs8mi1FrABbK4dcvK73zwp1M3xYPOxANKBqbpCdXNGb0UwPKRF74xpfDQ0t+K" +
+- "54+IvlKoahmAhaO/mv/ZmicG3tqPgT61ZM2dZMQJOYhIdByRM/F3dCCOox4Bc3oEliqyyNoQCPPu" +
+- "sXceKZqRsigu7pwaWBowiRb46+f9Q1V2wl1nDx09/R7jF30x9adNlN8yPx4DHwht+B/cBIBoRqeI" +
+- "E4hE/oshTcB0wNbT6/o/zrhFyohR5ZxmrVWE+fDxdx4puhGAH4OkPe5B6pykeJAc/7cDEMZ/095Y" +
+- "870P339m+BXs2v4kbCFsm9u2vnpJ3bzR7wAo2B/R2v+PjSnyXcRxtOLUSXFxwAFz5i2SZUIVO82S" +
+- "BWye/vLOIwNvjL8OYqCEfXCmJAZPHkC7sK1REbj2+lmbq86qTVmmfuuyN2cTiREWKCvACgml9kDL" +
+- "7HQksehsZmSdA6yVpsa6P38v3swg7m4vN1dGXrThKGP8yS5fP33j/LEvxKDbl2f2A0YFCtkZQDOa" +
+- "PjLAnP4jrmBGjh1AVhG2ttxfX33++vjY2eeNXf/siLUAzgEwMJZrY2vF/Vu/t4BRqCqgCmj07wMV" +
+- "HXUCzJQfUlZE72ICnANcqNj21h8eiK1AX46gXh29KT9H+rd9XxBjYGCgig7QHOgjPgMAKigXQZYp" +
+- "si4uCOc3v35zY2wF9ufGSgxA7fdd9g8ho9ol4P4ojiQWnSUMMANECrJNy1NWYH8eGfsEvJbLv1IK" +
+- "1XIAUwEtA0xplJMwjcaYlTDeShg8dOgjj6/cJxNYfWIWkHJoh5yyjkSZ8RbB89YBZq4/pXafGeuz" +
+- "b9WciXJxo2B2houqgAjABJCLOwFMqFv57+bBxMIAJm1det3avnl1OYCLAeSgWhofaY1QXQSRuYc+" +
+- "/OiD3QLmUzNdqTBKhRVMADsF5beuToXJB90KtFz+lVIVniXOVUAUqjpXVB4WwPjGTPB8/0zjeTnj" +
+- "ezl43szmKy6vNkDF4MeeXNc3oJyUhfAMkJsJkSxUVrLos6o6z/O8Ucb3phrPzyHKeVTwkpPXseg3" +
+- "Cqe+1SfG+swfaw6KGTAoJ5eyGF3IBeEIJB2AcXxb0FI/L45uFQBMGiu6Z3ai9eqrclBUClFWVatV" +
+- "5GERNT5wEVQnQLUcIuVNX75kFjn60rA5c1d0AoywlkcxfdwZ2LSgbOmBZAv70povu7RcyFUqcZYd" +
+- "Pbxix44fnLv8pbYUOWh+P3ZM9uJRo34xoLDgq8b3YTxvqhqsaPzyJTdmn36msjdyqPqkMhWqBFGZ" +
+- "MtV8uDX4zMjp2zemyEoPgGn4zyOvGzy48A54GcD3Sz1jFrqqE+4uOOvdmb0ASlYEs5mQE9afUdhy" +
+- "0yv3lHzwya/8ZcjgI0+5yssU3QKYkgQ4Ivp60LL1n8kBQfOWuvdnj6uLldgHQKoKxU7HV/eg2y1X" +
+- "XXmXEs1U0ZVb29o//4k5c5P5eQB+s+68aVeUFBTcCxUoS6kRWfjhueecc9SfX3ytA9QTr7eVACqY" +
+- "FDYEwnbB2qcHHg6gLY6ODhpomi77coUyVaojhKH9+ZHzF/wqXiztEg34APxNX/jCvQOLCi83fpy8" +
+- "UsCJXHLYnGdn785S0uKTyyBUBXJZcW5x4bSN56ciyLQcD4Bf/+ThVwwbUvRb+JkoswqAWX5b9Lm1" +
+- "M3uSM/UnUiaCKiZk2blvvnxX0ePxuBNAmpMur51wyLBPzjVeBBoVwIXBk6vuP+SG+LkcuwkWAA96" +
+- "/JjZKnKxkACkkFb5Nztz220xX9bJlWi+6opKFalQlpqlmzZNu6B6SaJ0knKJ/DW5qd8p8TO3x6AB" +
+- "qza1EE06cdmy9wDAY5LjmBTMkQnUnZ42H0ywNF52aU6FK4UY5NySI+cv+E3MCnMM5HyqtwFoO3rB" +
+- "gmuDMFjGjiCOIEQwzH9c+7lzju+JTaYlJ2ehUqXMWWFqeurFxqsAFMVf25Ss9kTOEZdvebClJbxT" +
+- "yUGZoEzwlL/b9tzRX+pOztSfSBZApSqyIrL45buKnkaUJEzLCN5+csxr+ab6fyILkI2OIZYBlx9/" +
+- "2bYvpLgw2+EqKLKdwoceVKJp+tfuEpYKZcaW1tZbLqheEsbj3GV+oxdV3x0GwQZrHUIiWKIST3Vm" +
+- "DG54zFrKrBBWiGgSyx9Uv6Xh0n/MKlGlOII4h80trQ+kuJt8HGklZHg6FZF/Y/uOb7O1YOvAzkGt" +
+- "Kxmoehe6SYNEpkErwZIFC4I2fuLKf2tLtDOPzumPhA6wAPJDLt1yuzjaAEcAMUCMApXfvPP7IcO6" +
+- "gkYFs4RRpgy49qanUsAPu/T8W48e/YwL6S/kYtBYwM8U/yu6KVlQUShr9CkKyK7b1vDVy0qVeaYy" +
+- "gaxbdeK85/8a/z7sYR3zgXM1gXUInEPoCEw8PR6z8YQxaidQPh6RrgrPEOZS4chKjFuydEEKFD1x" +
+- "QgrAnfO3V98Jw/B5dhFgmByU+MK/nnrq6K6gcQtPyqlIubJAibCxPv/fsVVNgCI9yGEAQdBq71NH" +
+- "UEdQIoBo5PBBeklazuQfSpYFM0UAFsDmd2yMf9+1XkUT3otc8AiRwpFChCBCI0detGbSLtYr5uw6" +
+- "tk26XctZwgxhRt65ZSmr1t389M1Jk85wzKcHRAiJkCfasDnI/0sMGN+jlLMrAigMhp0+f+TBBIw4" +
+- "milEYOcQBHZZAoZeEIgKgIIgeJbD2MqEFhxaDAFmdAWMisxQFigzlAUnX9e4rA9yeHuTna3koBQB" +
+- "RogxwOPvxNbQAAA7VHQEFKSQKEFIu4lA5d3HiiuFNB4XQZlhUHBK11QO0oRdD7ouROVCkeJZG7ak" +
+- "/KBOYHlz4sTy1WVlVY5oYego2+bs82+3tFw6YcVrp01dteqpxNfyhKQuGlxCMSsKBh570ABT/8XP" +
+- "5dhRVpyDWAd2Ns0O9yrhWdfcMpvCEByEoNCCwhBgvgBdM+PM5TH5FPW+1ZLo8de2viehe12dhVoH" +
+- "OAtDPO61O4o+kYCTnE5wVuGsxlzKHul7BUDKdomKgwpB2QHAyNiP2Dl+0Z2WRXZ9YP0F55WJczvX" +
+- "0jp09U3fLiurWD1+/NqQaHZIVNbu3O1vt7aM+fSqVRWXvPvu0pRldwAkQ5brjO+NMh0kgMIvGjYZ" +
+- "wIKETPxIrYt1U5M8iThKJil9yZGc++ab298dP36Jb8wZohqhQHRErKEeAA6fG5FT5yIlYYI6tzfO" +
+- "vtiQni3MYDw0ChqEgUMyejyAdwGwDeW4ZI9FAGQOmwzgv/cERmZbDXhnKBNUGMJkUhGVduSSJJ1P" +
+- "6rw8HIalJo7ilBkchgCgL48fVzLceDc4kZnWUdap1AQi10x+660n4jXyk1M7ZXEZgHhMUkMO4Njp" +
+- "hQGMf8h56Fx++ZE1a+1xZC2Szjs3sk9uUEhUbSMvP3LeyOGZ0tKJiearo1J1DHVRPYmS7JUcG2g1" +
+- "pxxUsooBnpmQWAOb10YbKGygcKFCZOC0XqxrRKokCBQG5euX77In2k1P+2hhWEZBAAoCuCCEcW7E" +
+- "2xMn/m6oYo0jyjnmuc3Off6UN96YMvmtt5LILSmQ61r3xAA0I+xqPBiIejAd1f7e2MPPfvm4LQs/" +
+- "89a+bP6nZuSzfsaU+T7g+UBixYQVRFGS01kFO22srRy0EgA4CEvFRHS3MANMY/fGbybmlQqAFSBV" +
+- "sCp8kWwCGA5dqefFShnnRV77ecHYU37iXuqLoB0tsuIo34v3NfJR1GlJsrnOuiXGy1y8k+rwxh57" +
+- "3srSD/6rbLdra7yMqgjUCGAULR8uWr0LJPYAGApCeCbKNygLPKIxJ65YOSU+YpLUUCYGiqBzQVy3" +
+- "Ft1zbevnJl60UARqACgcVDo9ZZr63Mqua68QxlpmrWJC1FmrmLSKCFVktcpZrbKhzg4D26E5Lgjg" +
+- "8vnoMwwh1hU/dvTRo/qcDyJqcESw5Dp6o3XNHVrqLDSubAdFjuXwwWZcX+Wc9APboKxQUoiLurXa" +
+- "IYfCpjlCDsoxZ6OCouLRt+xpbY3nA8aDMR6E2+9vffOWxl02cQ+Bbdjevt7l83D5ABRaKNHYO484" +
+- "YmgMkoJ4jElCOL8Lz9NN87YumrRDxc2DElQZKgIVhZcZcO1hZ74wtK/H0thvtuXGXdM2S0S/ziQ1" +
+- "FPJiG7pHwvbgDhtKnQ0VNhCEeUHQLmiuf2fymieGvJGY8DCfX+yCEC5xWIlwtO+P6+s4VESJGS4+" +
+- "liwxKjZ/2FGRZvPhYgktxEZdHWOAr2P34ihWIQWTgJ2CnWJbo9Ymz1g/5+h1QsF9wgKJ19Z4hV87" +
+- "4fKNE3cnx8v4V8H4UOjqhvce+zW6qdWVlOvSjQsDlw/WUT4A5QNQGIJDizMPHXR+CiRBb4GSzlYr" +
+- "26Z7vYKSC42nUOPBqA9VU1I0ZOJPEYWj1NvVW/3AoEUAFgO4IzZ1hYk2jf9WUw7IjCIXHUVhXrFp" +
+- "/sQtKZPIoXXr/PjoSkZeoHo6gP/bFyeciECqcHG3IrXp37a2SF3xQNPxRAXgq5nS1bHsDWCYALYA" +
+- "u+h0W/impI8Pad9ec/vAoWVTjV84Nsn5FAwcvmDMN5rOqf1jyatdHzjuGjvThloKYH3b5qVXt775" +
+- "44ZuN1QEKknF3a6ImfDee4tWjBrV6R5Qoeq1AP6Avaxx8gDolhdPXAh2qzQmZFQ4ZhALrj/mvLpT" +
+- "+qhxya0BP5VVZQBkA6jNR0AJ2xUUcjKGjsx4k3PVYUwaJU6rJ3reLiHlHppjBjF3fLYSzU/noEZ8" +
+- "3611VusoVJBVsFWAdezim/3jemSFe+SNIsvCpAhCXf7TBZI+PnTr4nO2t2xcME3ZroYKIouEEqDo" +
+- "xfHfav/GxOttFgBOucGWll0XVqrqXYDWNLz3aG7bsovWp4i2TvkhScLqNBezq/M/zxLBxV2Yx/75" +
+- "yCPP6usc04CJ+B3bcLMwQTiK+0UIwgz1ip8+4pyaYX0x0SnWMkjnYGygkm9nBO0MGzoI2TTDyQBw" +
+- "7ubNawPmeZYZNt5wZhrxX8OHX9yXSTJzGcVgIWasbs8/hc7XRzXM670cg0Vs5H+MHm6u74ucrb/K" +
+- "lAlFPoySoqFFn+rm+OCGV762df2cYWe4fP0M5qDWhoowRIm1/h+s1YZx3wrVOV1LDhXMaGzfXntF" +
+- "46vXtMQRS/clsqRRT9SNd0GMBo6edRStZbKeg4D//ciQIcP2CTDbqsdVKQePq1JMFkXxv4qO9AaM" +
+- "fPGoaeuG9kXp0LkU0wGgMFC1gYAdAeyg0m3IrE3W3mtTvodjRpHq9X3xL4h5Qsq63P/z9ra6LqSc" +
+- "vvmBPkwOTex2lnf4wNee/47fa99NGGVJ8Zl1qP3UPfwkdr15mDDV+Y3Pf+Kh9c9kz9pee89J7dve" +
+- "vaRt+7qLbVv47y5UUKggp3BB/okNz0/aHI8332OaIgELxWDpptQtt6X+Qcu03nVYGQYxjxzl+7/e" +
+- "GyvjdYrCtv31JiW7QTjy6qWj83jF4AeP/MLaodiHRtZBXAihEEIWkq4eSgGmvKGhqpX5d1YEVhiW" +
+- "BaI6Zf6QITN7s5ELhw4tZZavkwhIZMOC1rZfo5s64nPv4+1NzXot2/hYiqKckglH4/7eRojCOosp" +
+- "St6u2ijfS1Hv3I0SdVy5aam9ecumBeOqN8w7aRkxSlMVdRDmRHa4m5xWPKPEusUA6maIrcy/cCKw" +
+- "InASKaCoXrlo2LAH+xpMpAEjLauu2ObaNnxVmZqUHaI8SaR+KnIhTPHCo6ZtOn6vk4qUPNNGnV2P" +
+- "J0ptENweMq92zHBMcMwwIrfMLS6etKdJEnMlCYOZm9YE4dUPkWvsIUckJ/+SZwd5PCEOEBc5rh7j" +
+- "grqf+VfvSc7mO/xZSihVAra3YMY/PqqrUhZVe7C8yRHTBqAVQJuQN5idgJ2ASQAz4PJjptWevKc0" +
+- "RZQ0TQATRWDd/dmFDQ2VeaLH0z4dRVTK9EXZ7IqFJSXH7W6eLw0blntp2NAydGOSqPGVs/5mW9Zc" +
+- "JGKbRSxELIRDCFuIuAmiBa8eMW37rcdc1JDtM+3PYdSp43k9/ulPgmDrsnz+vFBktRWBZYEVKSlU" +
+- "feH5wYPP7u5Hfy4uzi4oLq50IjkSaXrf2vIfBPnV6PlKiwKg0XfyNe2BPkmJ8+oUGeh/bLjNu7En" +
+- "0Gy+w5sppLcyKRra9IZJ98hTvciop9MPSSFUwGTnEjHICsgpyKHYHzjquWMvrJ+wewUENPFjCIAx" +
+- "k3uStyIMbw5FVieWJvJpBE5kgqq+X1VcPGdRcfHMxSUluSUlJbmlUZ+1tKRkLRGVnrZ9Rw12rSLt" +
+- "sDpFg8vmfbpw0HH3wcuMMSaiao2XAbwMjPFhPL/ReN6DfsY8tHHekN0WXR929vqsCpWruFshPEqF" +
+- "o3IyADuWTxgea1rYTbRVeEMmc+SnCwp+OcB4l3kmLq0D4BnzkA/MMUBjvDMXC1DBqlkCFr9N9E//" +
+- "HIZpPyDsQVuTFwsMfP273k8GFeLbvo9izwe8DGA8VMPgIc/D2piALlPFDGWUMqNuazOun/RbeQU7" +
+- "L/zl0cfC+SPOXjG84NBRawCvJNoSE7PiBgr5Xx/MKf7jLnzIbUPKlHVF5C11KgJfD9+shY8Vxjd3" +
+- "0780rEvP8bFDDvnVQGO+lU5MeTDwzM5aTbOzNyrw/XNbWx9JFLknk+sjqjobUHJq9XS/cNj3jZcZ" +
+- "Ac9PwBIDyAeMD2O8RhhvpTFYqYpGqMQOM2UhlFOhsvjfgNJ6ofxyoZaXbHPt8mDNjDU9ACYBbyGA" +
+- "AT/KZEZ/MpO5qciYyRlgROeJGSh0nQCL21Ufmx4EL8dMpqScRt4DFVAAYMCtORx+0Rhz7aFF+GJB" +
+- "BmNM/JKklGo1KlBtHZ474U79P9hZOZcQYb0unD/mwu05qADCZwE4C8Y7I3kTk4kFx+mUuzfMKf5e" +
+- "+rn+rUMq4PR4hFII0gw0xpdvGAWGoDqHf9m8IuV8m2Qtf1pQMPok37+50JhpHlC8EzwRcAzwOqs+" +
+- "Vkv06I+da04nInd3RvuxgCIAhcUTF5zvFQ79oucP+Cy8zIjE6qQnt5Pviu5IqAogVKNCNSrBUte6" +
+- "blnrqi/Vo3O9rI3Pc7cbP6sgGQcAf7rvl3zK908uBKjAGK5jrrmNKKHj/RS3E6L3V2USLUzkZAB4" +
+- "i75pTivwwQMyoKYQ685+QOtScvzUHPbIlJ54ZVsuDPTrZDmnQqUQggo1qkoNRDyFeJ6XGQfjF0fW" +
+- "3O9YWxW6adNzw36Dzm/JKEJ0k7QgtfiSygd1vSrkdZ3jlb6fneT7Y+MN1xrmVX9gbkw9q1MdsemF" +
+- "U5wkpwqSRSw49gfZAcPPHOsVlIww/sBjjPEVnqfGZEQlWKVCjWK31TW/dv56pCruU126TGxPl+US" +
+- "IrAgNQ7TQ+pNukQqfalLNimApvMt6CZMTvsiu3VOJ17XnrNWZ9m85oK8Qmz4sFB+CeXrF29dfOqG" +
+- "1PwKs6fOKyvKjrnb8wrHGD8TWfCOEoX85zb96dgXY9leN2NM+y3SJZG4u7XsSldIykFPz09NHxbR" +
+- "T2U3M11AsKf8aRqtnBqQoG91oWkGOS0/XaQo2Pf3u5mUDK9LukD7Mv5Tv9teSQ4VzipsINUtW9Zc" +
+- "t/mFiRu7WbcOuQNP+MXQ4hGX3mEKBl1mjB9bbwAqSz6cf+TZ8Qaabta/u6hM92ItpZs5dvyor5R/" +
+- "dwvp9QAa6eFzfxRlpVMk2mXh93czeyPn1Bn5ShWtYAJsyEve+OPgC7Hzmgx3USDtejQedlbtDX7h" +
+- "0Ns6HChV5LcvP7rpb1+qx/690dHrtewL05c2c7ZLtrM91fOpDGjXyvT9+WYBPQAg3NPcey1n4vVt" +
+- "FUJSIfGNjJZNy2ekkqzpazIJOefSoTaA9q1VY+5Wbvs9NAoYVBkFh5Sesi9lJ/u6lt5+WETpoi2M" +
+- "PpZU/k9szmKGtVGRWBjQ6g3zP78pxfSGKb+tJ4LPAsi31S/+uXCUlVZmCIc+DlI15L4Cpr/1FA1d" +
+- "0VLqAilzgcCGChdQc5eoTXqpkNS66hv1YLsUElURiG1sOZj7lunf3v3fwlBKjRfX9EjEHKcscV98" +
+- "D40zRKIqgEpz4yvTVnfjU/VbmL/r4yhwTTbPCNsZNi8g50/OnvbCsXu5wQqVURCBuOb7seu98n7A" +
+- "/L23Tc8NX8mW6pL73UoOhYPH/GJv/I7Dzlqbg5pRUG1q++A//+Ng+4f9gDlATVzLHfErZiHioKrn" +
+- "H37uhgeG597sdYnIYeeszypQqQawre9dHNbd0Yj9/5KnfsB8DJpuXXj8Q+ryj3dUZglD1Uz3MsWv" +
+- "HX7uh1fv6QGHn7upAmrWQpEV2zSt+bVptamw+6C9VaP/hcoHrvkABgydUjPLywy6Oboh6HW6PgLj" +
+- "LYqStqYRQHKDMQflMhXOQrnata27tvGvufrEn8ZBfmdPP2AO7NpmAAw85B8qTyjKlt1svAHTjPGL" +
+- "k4w0jAcTAyllnBoh9Kxw/tEdS8cuT0WyH4vX1PYD5qMBzQDE2eFDxz09zsscWuwVHX6a8YwaFAiM" +
+- "NAkHr4vdUdf82rQN6JwnSl4N4vAxeKdxP2A+mjXuKTvcXcY9TdOnyxPk4zKZ/vbRAqe75C3QfZZY" +
+- "0P/y6/7299z+H4QrdGsoib8JAAAAAElFTkSuQmCC"
++ "iVBORw0KGgoAAAANSUhEUgAAAC8AAAAcCAYAAADxyeavAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI" +
++ "WXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH3AwBERgxGkWttAAABtVJREFUWMPtmGtwVdUVx397n3Pu" +
++ "K8m9uXlASCHQIBqeEooEDAymUEAKEaGlUoeOtbYdnSmdYjud6fjBdhytLS0zdRzbWkAGsCBtSktr" +
++ "RRQFY4gWaQZQUJFwCUhISHLzuo9zzj67Hy4Cd+RD6XDBD90z59uZdX5rrf96nC24xkd7jtlb/7VS" +
++ "da6jQEYKQiA8nUwlzcm39oWfXnvuWn5LXCtDyk6V9N6x4FGvu2ceydQw7amA8PsNAO04rvD7E8KQ" +
++ "HxlTqncWbnnu0c8MfM+C+mfVh8fv144jfXPuwJoxA5QLUoJS4Gm0cnF27cY52IKsGOFas2ofDP/q" +
++ "yT/cMPieurmjvb7BfdhOuTl1CtbM27FfehnnjTdB6+yXLQv/nfMwqqqwd7+COtWGHDKkMfit+xYH" +
++ "V349fl3hu2fPne6dOv26UXWL36qdjtO4H/ffLWBZYBgIkW1aaw1KIQwTY9IEzPFjcfY1opXXWdS8" +
++ "t0wI4V03+PPjqm1z0kTLml5D4hdrIBRC5ueh471opUDKTzlw0QlABAIEVq4gtXELsqT4fNH+vaVX" +
++ "yyD/F/Cu22a2GUOHWOb4sQw+9jhCCNwVy8k/2Exh6zEiL2zBP6cOhMg4cnm0hEAIgU6lSG36I8EH" +
++ "v4Pu6y/pqZu/PueR75k5Z40biz2ct3oVid+tg1QK7XlQ+XkYNZLQN+4lWDcbPA/7zztIbdmK09SM" +
++ "yAt9OgtKIaNRAl9dSnLbdl18+J2wEGIgJ/D9q38UTv1pR8z/pTmFWinsV19DSIl2XOTSeoqeWpsl" +
++ "j09kM/DIT0lt3IQwzSvKyJo0AW3bYPnejv69oSYnskm/uHsWEPEvXYK98x9gGBmAihFEn3yMWDxN" +
++ "v62ywPvTinP3fRsqKtBXip4QqLPtyLIyvFNt07TWMifwwm8u9dXOEKmGv4A/gAA0IKtvpVsZ9KYV" +
++ "QTO7UC1DUHZTOaG7F2d6/hWO19GJMfxzeL29xO9e/uOcwOu0PducUo29Zy/CMi/qTuWFKMz3Ma4k" +
++ "wJneNN5lPT5gSp7Z20bnvEXgumg0WpP14HlopTKySiTrcwM/mChGCoTnwWXRdfv60I7L0XMJxjze" +
++ "RMLObtnn+9OoqjGgTUhIZL7CrEohIypjRgjUqVPIMaPxunvK/lse86pkEwrlXRBqdtrbTqNTKaqG" +
++ "5nP8J7cT8sks3f980U1AF/0L41izbMzKNKJAkdxcTLohkmmpPXFkaSnuB8fNnMBj2y5CWGid5YBx" +
++ "tp1ET5xIOExFNPDJeonu24n38SqEHQMg72EDr89AfeQj9fxQnJYQWBrQiEAAkkkIBr3cwLtuHMMM" +
++ "ak8jjMuKsqOTwY4OIiMrLkksdQgduwvdaZHYPgwZcfE6LJzDQVSrD2FqxAVO7WmM4cOxm5qRxUWD" +
++ "uek20Wird+YMxpjKi5NTC4FQCrvlUNb4xyiBYCXCL7D35ZPcWEz6n2GwBf76OP5FvWhHZEpea0RJ" +
++ "MbqrC5Rqygm81xPfYL/+BoEV90A6fWnKmSbqrX+hL/RtAOEbTnrPQ6RfihD+dRuR52IUvnCCyLMx" +
++ "Aov6UCf8F78u8vLQA4MgJb6vLN2WE9kYI0c0qw8+tIXf5zMqKlAdHQgpQUqCh48woBQFFwYXgE4G" +
++ "SawvRmwqQg51EHkeXp+B126B1AhDAwI5rAwViyFLSwbyf/C93TmJfFHjniOypORo4olfEvjuA5d2" +
++ "dinxn4zRf64jOzITxyJ8mYKk3cQ94cc7b4KpEUYmb9p28N85D/e9Y1g1U1fmdKs0J0/+snYc7R46" +
++ "jDV9Gtp1M51HStz9zbTbJzkaf4/OdC/p2qkMhH0cmhhm/iOjcE0QaITI1IZ2HPzLl+G+exRhmrGC" +
++ "36zdcVUsVwsfeX7Dma6pMx+wX35lXWjVQ2DbOM1vIywLeeAg79c6bDj+NzpUlFHBCAM/HI0oD/KO" +
++ "GKS11MfYM2mUASiFf9kSdFc3duObnlU9+R5a3sr9Pl98oHG9CATWDf7sCXwLF+BbOB8MA1/LYVwv" +
++ "YzKW+Ji23pO0lucjTYnlaoS+tEn6Fi4A18VuasJXM21lYcPW5uv6D3t+0m3biceX+ZbUC1GQj9vV" +
++ "w7HVc9iXfpfKwhqmRW+hPFRG1zNP07Dr9yxr9RMYPwFj/FjUsfexG/e71heqv1nYsHXzDbk96K6u" +
++ "uctLJDeLcEG+cfMYjPvvxf/FuViX70QDg6gdO7Hbz2K/tg8ViyFCoVZZXl4f/ev2Izf83qZryvQ1" +
++ "Opn6vo7HTQBjdCWyrAxcB9V2Gu9sO0ipZTTab42rWhHetvnFz8yl08VM1NYtIZlcrNPpm73+AQtD" +
++ "ahkOJ3HVAWtW7a7wb596lf8f+A8mm/+hmETyjwAAAABJRU5ErkJggg=="
+ }
+ };
+
+-// The process of adding a new default snippet involves:
+-// * add a new entity to aboutHome.dtd
+-// * add a <span/> for it in aboutHome.xhtml
+-// * add an entry here in the proper ordering (based on spans)
+-// The <a/> part of the snippet will be linked to the corresponding url.
+-const DEFAULT_SNIPPETS_URLS = [
+- "https://www.mozilla.org/firefox/features/?utm_source=snippet&utm_medium=snippet&utm_campaign=default+feature+snippet"
+-, "https://addons.mozilla.org/firefox/?utm_source=snippet&utm_medium=snippet&utm_campaign=addons"
+-];
+-
+-const SNIPPETS_UPDATE_INTERVAL_MS = 86400000; // 1 Day.
+-
+-// IndexedDB storage constants.
+-const DATABASE_NAME = "abouthome";
+-const DATABASE_VERSION = 1;
+-const SNIPPETS_OBJECTSTORE_NAME = "snippets";
+-
+ // This global tracks if the page has been set up before, to prevent double inits
+ let gInitialized = false;
+ let gObserver = new MutationObserver(function (mutations) {
+@@ -156,7 +48,6 @@ let gObserver = new MutationObserver(function (mutations) {
+ if (mutation.attributeName == "searchEngineName") {
+ setupSearchEngine();
+ if (!gInitialized) {
+- ensureSnippetsMapThen(loadSnippets);
+ gInitialized = true;
+ }
+ return;
+@@ -181,117 +72,6 @@ window.addEventListener("pagehide", function() {
+ window.removeEventListener("resize", fitToWidth);
+ });
+
+-// This object has the same interface as Map and is used to store and retrieve
+-// the snippets data. It is lazily initialized by ensureSnippetsMapThen(), so
+-// be sure its callback returned before trying to use it.
+-let gSnippetsMap;
+-let gSnippetsMapCallbacks = [];
+-
+-/**
+- * Ensure the snippets map is properly initialized.
+- *
+- * @param aCallback
+- * Invoked once the map has been initialized, gets the map as argument.
+- * @note Snippets should never directly manage the underlying storage, since
+- * it may change inadvertently.
+- */
+-function ensureSnippetsMapThen(aCallback)
+-{
+- if (gSnippetsMap) {
+- aCallback(gSnippetsMap);
+- return;
+- }
+-
+- // Handle multiple requests during the async initialization.
+- gSnippetsMapCallbacks.push(aCallback);
+- if (gSnippetsMapCallbacks.length > 1) {
+- // We are already updating, the callbacks will be invoked when done.
+- return;
+- }
+-
+- let invokeCallbacks = function () {
+- if (!gSnippetsMap) {
+- gSnippetsMap = Object.freeze(new Map());
+- }
+-
+- for (let callback of gSnippetsMapCallbacks) {
+- callback(gSnippetsMap);
+- }
+- gSnippetsMapCallbacks.length = 0;
+- }
+-
+- let openRequest = indexedDB.open(DATABASE_NAME, DATABASE_VERSION);
+-
+- openRequest.onerror = function (event) {
+- // Try to delete the old database so that we can start this process over
+- // next time.
+- indexedDB.deleteDatabase(DATABASE_NAME);
+- invokeCallbacks();
+- };
+-
+- openRequest.onupgradeneeded = function (event) {
+- let db = event.target.result;
+- if (!db.objectStoreNames.contains(SNIPPETS_OBJECTSTORE_NAME)) {
+- db.createObjectStore(SNIPPETS_OBJECTSTORE_NAME);
+- }
+- }
+-
+- openRequest.onsuccess = function (event) {
+- let db = event.target.result;
+-
+- db.onerror = function (event) {
+- invokeCallbacks();
+- }
+-
+- db.onversionchange = function (event) {
+- event.target.close();
+- invokeCallbacks();
+- }
+-
+- let cache = new Map();
+- let cursorRequest = db.transaction(SNIPPETS_OBJECTSTORE_NAME)
+- .objectStore(SNIPPETS_OBJECTSTORE_NAME).openCursor();
+- cursorRequest.onerror = function (event) {
+- invokeCallbacks();
+- }
+-
+- cursorRequest.onsuccess = function(event) {
+- let cursor = event.target.result;
+-
+- // Populate the cache from the persistent storage.
+- if (cursor) {
+- cache.set(cursor.key, cursor.value);
+- cursor.continue();
+- return;
+- }
+-
+- // The cache has been filled up, create the snippets map.
+- gSnippetsMap = Object.freeze({
+- get: function (aKey) cache.get(aKey),
+- set: function (aKey, aValue) {
+- db.transaction(SNIPPETS_OBJECTSTORE_NAME, "readwrite")
+- .objectStore(SNIPPETS_OBJECTSTORE_NAME).put(aValue, aKey);
+- return cache.set(aKey, aValue);
+- },
+- has: function (aKey) cache.has(aKey),
+- delete: function (aKey) {
+- db.transaction(SNIPPETS_OBJECTSTORE_NAME, "readwrite")
+- .objectStore(SNIPPETS_OBJECTSTORE_NAME).delete(aKey);
+- return cache.delete(aKey);
+- },
+- clear: function () {
+- db.transaction(SNIPPETS_OBJECTSTORE_NAME, "readwrite")
+- .objectStore(SNIPPETS_OBJECTSTORE_NAME).clear();
+- return cache.clear();
+- },
+- get size() cache.size
+- });
+-
+- setTimeout(invokeCallbacks, 0);
+- }
+- }
+-}
+-
+ function onSearchSubmit(aEvent)
+ {
+ let searchTerms = document.getElementById("searchText").value;
+@@ -350,147 +130,6 @@ function loadSucceeded()
+ document.dispatchEvent(event);
+ }
+
+-/**
+- * Update the local snippets from the remote storage, then show them through
+- * showSnippets.
+- */
+-function loadSnippets()
+-{
+- if (!gSnippetsMap)
+- throw new Error("Snippets map has not properly been initialized");
+-
+- // Allow tests to modify the snippets map before using it.
+- var event = new CustomEvent("AboutHomeLoadSnippets", {bubbles:true});
+- document.dispatchEvent(event);
+-
+- // Check cached snippets version.
+- let cachedVersion = gSnippetsMap.get("snippets-cached-version") || 0;
+- let currentVersion = document.documentElement.getAttribute("snippetsVersion");
+- if (cachedVersion < currentVersion) {
+- // The cached snippets are old and unsupported, restart from scratch.
+- gSnippetsMap.clear();
+- }
+-
+- // Check last snippets update.
+- let lastUpdate = gSnippetsMap.get("snippets-last-update");
+- let updateURL = document.documentElement.getAttribute("snippetsURL");
+- let shouldUpdate = !lastUpdate ||
+- Date.now() - lastUpdate > SNIPPETS_UPDATE_INTERVAL_MS;
+- if (updateURL && shouldUpdate) {
+- // Try to update from network.
+- let xhr = new XMLHttpRequest();
+- try {
+- xhr.open("GET", updateURL, true);
+- } catch (ex) {
+- showSnippets();
+- loadSucceeded();
+- return;
+- }
+- // Even if fetching should fail we don't want to spam the server, thus
+- // set the last update time regardless its results. Will retry tomorrow.
+- gSnippetsMap.set("snippets-last-update", Date.now());
+- xhr.onerror = function (event) {
+- showSnippets();
+- };
+- xhr.onload = function (event)
+- {
+- if (xhr.status == 200) {
+- gSnippetsMap.set("snippets", xhr.responseText);
+- gSnippetsMap.set("snippets-cached-version", currentVersion);
+- }
+- showSnippets();
+- loadSucceeded();
+- };
+- xhr.send(null);
+- } else {
+- showSnippets();
+- loadSucceeded();
+- }
+-}
+-
+-/**
+- * Shows locally cached remote snippets, or default ones when not available.
+- *
+- * @note: snippets should never invoke showSnippets(), or they may cause
+- * a "too much recursion" exception.
+- */
+-let _snippetsShown = false;
+-function showSnippets()
+-{
+- let snippetsElt = document.getElementById("snippets");
+-
+- // Show about:rights notification, if needed.
+- let showRights = document.documentElement.getAttribute("showKnowYourRights");
+- if (showRights) {
+- let rightsElt = document.getElementById("rightsSnippet");
+- let anchor = rightsElt.getElementsByTagName("a")[0];
+- anchor.href = "about:rights";
+- snippetsElt.appendChild(rightsElt);
+- rightsElt.removeAttribute("hidden");
+- return;
+- }
+-
+- if (!gSnippetsMap)
+- throw new Error("Snippets map has not properly been initialized");
+- if (_snippetsShown) {
+- // There's something wrong with the remote snippets, just in case fall back
+- // to the default snippets.
+- showDefaultSnippets();
+- throw new Error("showSnippets should never be invoked multiple times");
+- }
+- _snippetsShown = true;
+-
+- let snippets = gSnippetsMap.get("snippets");
+- // If there are remotely fetched snippets, try to to show them.
+- if (snippets) {
+- // Injecting snippets can throw if they're invalid XML.
+- try {
+- snippetsElt.innerHTML = snippets;
+- // Scripts injected by innerHTML are inactive, so we have to relocate them
+- // through DOM manipulation to activate their contents.
+- Array.forEach(snippetsElt.getElementsByTagName("script"), function(elt) {
+- let relocatedScript = document.createElement("script");
+- relocatedScript.type = "text/javascript;version=1.8";
+- relocatedScript.text = elt.text;
+- elt.parentNode.replaceChild(relocatedScript, elt);
+- });
+- return;
+- } catch (ex) {
+- // Bad content, continue to show default snippets.
+- }
+- }
+-
+- showDefaultSnippets();
+-}
+-
+-/**
+- * Clear snippets element contents and show default snippets.
+- */
+-function showDefaultSnippets()
+-{
+- // Clear eventual contents...
+- let snippetsElt = document.getElementById("snippets");
+- snippetsElt.innerHTML = "";
+-
+- // ...then show default snippets.
+- let defaultSnippetsElt = document.getElementById("defaultSnippets");
+- let entries = defaultSnippetsElt.querySelectorAll("span");
+- // Choose a random snippet. Assume there is always at least one.
+- let randIndex = Math.floor(Math.random() * entries.length);
+- let entry = entries[randIndex];
+- // Inject url in the eventual link.
+- if (DEFAULT_SNIPPETS_URLS[randIndex]) {
+- let links = entry.getElementsByTagName("a");
+- // Default snippets can have only one link, otherwise something is messed
+- // up in the translation.
+- if (links.length == 1) {
+- links[0].href = DEFAULT_SNIPPETS_URLS[randIndex];
+- }
+- }
+- // Move the default snippet to the snippets element.
+- snippetsElt.appendChild(entry);
+-}
+-
+ function fitToWidth() {
+ if (window.scrollMaxX) {
+ document.body.setAttribute("narrow", "true");
+diff --git a/browser/base/content/abouthome/aboutHome.xhtml b/browser/base/content/abouthome/aboutHome.xhtml
+index 1d03d38..5d808db 100644
+--- a/browser/base/content/abouthome/aboutHome.xhtml
++++ b/browser/base/content/abouthome/aboutHome.xhtml
+@@ -43,15 +43,6 @@
+ <input id="searchSubmit" type="submit" value="&abouthome.searchEngineButton.label;"/>
+ </form>
+ </div>
+-
+- <div id="snippetContainer">
+- <div id="defaultSnippets" hidden="true">
+- <span id="defaultSnippet1">&abouthome.defaultSnippet1.v1;</span>
+- <span id="defaultSnippet2">&abouthome.defaultSnippet2.v1;</span>
+- </div>
+- <span id="rightsSnippet" hidden="true">&abouthome.rightsSnippet;</span>
+- <div id="snippets"/>
+- </div>
+ </div>
+ <div class="spacer"/>
+
+@@ -67,6 +58,6 @@
+ <button class="launchButton" id="restorePreviousSession">&historyRestoreLastSession.label;</button>
+ </div>
+
+- <a id="aboutMozilla" href="https://www.mozilla.org/about/?utm_source=about-home&amp;utm_medium=Referral"/>
++ <a id="aboutGNU" href="http://gnu.org"></a>
+ </body>
+ </html>
+diff --git a/browser/base/jar.mn b/browser/base/jar.mn
+index 3113094..e852cec 100644
+--- a/browser/base/jar.mn
++++ b/browser/base/jar.mn
+@@ -33,7 +33,7 @@ browser.jar:
+ content/browser/abouthome/settings.png (content/abouthome/settings.png)
+ content/browser/abouthome/restore.png (content/abouthome/restore.png)
+ content/browser/abouthome/restore-large.png (content/abouthome/restore-large.png)
+- content/browser/abouthome/mozilla.png (content/abouthome/mozilla.png)
++ content/browser/abouthome/gnu_headshadow.png (content/abouthome/gnu_headshadow.png)
+ content/browser/abouthome/snippet1@2x.png (content/abouthome/snippet1@2x.png)
+ content/browser/abouthome/snippet2@2x.png (content/abouthome/snippet2@2x.png)
+ content/browser/abouthome/downloads@2x.png (content/abouthome/downloads@2x.png)
+@@ -45,7 +45,6 @@ browser.jar:
+ content/browser/abouthome/settings@2x.png (content/abouthome/settings@2x.png)
+ content/browser/abouthome/restore@2x.png (content/abouthome/restore@2x.png)
+ content/browser/abouthome/restore-large@2x.png (content/abouthome/restore-large@2x.png)
+- content/browser/abouthome/mozilla@2x.png (content/abouthome/mozilla@2x.png)
+ #ifdef MOZ_SERVICES_HEALTHREPORT
+ content/browser/abouthealthreport/abouthealth.xhtml (content/abouthealthreport/abouthealth.xhtml)
+ content/browser/abouthealthreport/abouthealth.js (content/abouthealthreport/abouthealth.js)
+diff --git a/browser/locales/en-US/chrome/browser/aboutHome.dtd b/browser/locales/en-US/chrome/browser/aboutHome.dtd
+index e84341f..5476d32 100644
+--- a/browser/locales/en-US/chrome/browser/aboutHome.dtd
++++ b/browser/locales/en-US/chrome/browser/aboutHome.dtd
+@@ -13,17 +13,6 @@
+
+ <!ENTITY abouthome.searchEngineButton.label "Search">
+
+-<!-- LOCALIZATION NOTE (abouthome.defaultSnippet1.v1):
+- text in <a/> will be linked to the Firefox features page on mozilla.com
+--->
+-<!ENTITY abouthome.defaultSnippet1.v1 "Thanks for choosing Firefox! To get the most out of your browser, learn more about the <a>latest features</a>.">
+-<!-- LOCALIZATION NOTE (abouthome.defaultSnippet2.v1):
+- text in <a/> will be linked to the featured add-ons on addons.mozilla.org
+--->
+-<!ENTITY abouthome.defaultSnippet2.v1 "It's easy to customize your Firefox exactly the way you want it. <a>Choose from thousands of add-ons</a>.">
+-<!-- LOCALIZATION NOTE (abouthome.rightsSnippet): text in <a/> will be linked to about:rights -->
+-<!ENTITY abouthome.rightsSnippet "&brandFullName; is free and open source software from the non-profit Mozilla Foundation. <a>Know your rights…</a>">
+-
+ <!ENTITY abouthome.bookmarksButton.label "Bookmarks">
+ <!ENTITY abouthome.historyButton.label "History">
+ <!ENTITY abouthome.settingsButton.label "Settings">
+diff --git a/browser/locales/en-US/chrome/browser-region/region.properties b/browser/locales/en-US/chrome/browser-region/region.properties
+index 087cc50..5654eb9 100644
+--- a/browser/locales/en-US/chrome/browser-region/region.properties
++++ b/browser/locales/en-US/chrome/browser-region/region.properties
+@@ -3,17 +3,12 @@
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ # Default search engine
+-browser.search.defaultenginename=Google
++browser.search.defaultenginename=DuckDuckGo HTML
+
+ # Search engine order (order displayed in the search bar dropdown)s
+-browser.search.order.1=Google
+-browser.search.order.2=Yahoo
+-browser.search.order.3=Bing
+-
+-# This is the default set of web based feed handlers shown in the reader
+-# selection UI
+-browser.contentHandlers.types.0.title=My Yahoo!
+-browser.contentHandlers.types.0.uri=http://add.my.yahoo.com/rss?url=%s
++browser.search.order.1=DuckDuckGo HTML
++browser.search.order.2=DuckDuckGo Lite
++browser.search.order.3=Seeks Search
+
+ # increment this number when anything gets changed in the list below. This will
+ # cause Firefox to re-read these prefs and inject any new handlers into the
+@@ -22,20 +17,10 @@ browser.contentHandlers.types.0.uri=http://add.my.yahoo.com/rss?url=%s
+ # don't make any spelling errors here.
+ gecko.handlerService.defaultHandlersVersion=4
+
+-# The default set of protocol handlers for webcal:
+-gecko.handlerService.schemes.webcal.0.name=30 Boxes
+-gecko.handlerService.schemes.webcal.0.uriTemplate=https://30boxes.com/external/widget?refer=ff&url=%s
+-
+-# The default set of protocol handlers for mailto:
+-gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
+-gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
+-gecko.handlerService.schemes.mailto.1.name=Gmail
+-gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
+-
+ # The default set of protocol handlers for irc:
+-gecko.handlerService.schemes.irc.0.name=Mibbit
+-gecko.handlerService.schemes.irc.0.uriTemplate=https://www.mibbit.com/?url=%s
++gecko.handlerService.schemes.irc.0.name=Freenode Web IRC
++gecko.handlerService.schemes.irc.0.uriTemplate=https://webchat.freenode.net
+
+ # The default set of protocol handlers for ircs:
+-gecko.handlerService.schemes.ircs.0.name=Mibbit
+-gecko.handlerService.schemes.ircs.0.uriTemplate=https://www.mibbit.com/?url=%s
++gecko.handlerService.schemes.ircs.0.name=Freenode Web IRC
++gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net
+diff --git a/browser/locales/generic/profile/bookmarks.html.in b/browser/locales/generic/profile/bookmarks.html.in
+index e925c1e..8c121fc 100644
+--- a/browser/locales/generic/profile/bookmarks.html.in
++++ b/browser/locales/generic/profile/bookmarks.html.in
+@@ -15,13 +15,20 @@
+ <DT><H3 PERSONAL_TOOLBAR_FOLDER="true" ID="rdf:#$FvPhC3">@bookmarks_toolbarfolder@</H3>
+ <DD>@bookmarks_toolbarfolder_description@
+ <DL><p>
+- <DT><A HREF="https://www.mozilla.org/@AB_CD@/firefox/central/" ID="rdf:#$GvPhC3">@getting_started@</A>
++ <DT><A HREF="https://parabolagnulinux.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre</A>
+ </DL><p>
+- <DT><H3 ID="rdf:#$ZvPhC3">@firefox_heading@</H3>
++ <DT><H3 ID="rdf:#$YvPhC3">Parabola GNU/Linux-libre</H3>
+ <DL><p>
+- <DT><A HREF="https://www.mozilla.org/@AB_CD@/firefox/help/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$22iCK1">@firefox_help@</A>
+- <DT><A HREF="https://www.mozilla.org/@AB_CD@/firefox/customize/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$32iCK1">@firefox_customize@</A>
+- <DT><A HREF="https://www.mozilla.org/@AB_CD@/contribute/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$42iCK1">@firefox_community@</A>
+- <DT><A HREF="https://www.mozilla.org/@AB_CD@/about/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==" ID="rdf:#$52iCK1">@firefox_about@</A>
++ <DT><A HREF="https://parabolagnulinux.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre</A>
++ <DT><A HREF="https://parabolagnulinux.org/packages/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre Packages</A>
++ <DT><A HREF="https://wiki.parabolagnulinux.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre Wiki</A>
++ <DT><A HREF="https://labs.parabola.nu/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre Labs</A>
++ </DL><p>
++ <DT><H3 ID="rdf:#$ZvPhC3">Free Software Foundation</H3>
++ <DL><p>
++ <DT><A HREF="http://www.fsf.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC">Free Software Foundation</A>
++ <DT><A HREF="http://libreplanet.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfElEQVQ4jZXTS0hUcRTH8f+9M3fGd0gRRq1a2bZdBAotWtS6TQtB6IHgKzRy0UKqjRaRCAq+R21MDMsUR83JR5fJxhmaK2lzsWAWw+ToEHJxgnFm7reFIgza66z/58P/dzhHcESZpsluIsFPwyCVSmGa5lHPEEIIkdGYTqPPvqUlP4fK8nJ2DINYNEq71YJ3fv4QlAGkUynaj+VRdfUK7580M52rEN/ZYWNjg2GrjEMSPFXsmOn0YcA0TZ4V5tNZUkJTTTWfJiZIJhJ8U1VczwcZs0o4JUHzufM0ZGcf/OQASCaTxGIxDMNA00P8iEbpuXyJ8Tw77+wWJhWZQYuVbiHoFIKwpmUC4XCYzc1NDMMgHo9z8+IFvl6/xsf7D9ArbjOpyAxLEt1C0CUErfvJDwBd14lEImxvb/N9fR1fgY3egmyWsq0sO/poUyw4pb3mLiFolyRM09wDEokEfr+fUChEJBJh4HgBS7kKn92zLIy9ZriqklFZwiEEHfsRRp1O0un0HpDa3cU9M8PKygp3Tp5AzbKgZlmYt1uYtkn02q0MyYKmnBxWNI27Nhtut5tkMrkHmKZJbWkpqqryQpFxKTJTisyEVeaVRWJIlqgpLuZRWRkejwe/34/P58ucwZvWVhYXF5l2uejIzeHGqbM4ZYmB/dy1hUV8mJpibm4On8/H1tbW4T1YXV3F6/WysLDA5Pg4nfsDe5yfz8OiIjweD5qmEQwGf7/KwWCQtbU1NE2jRZbpEoI2SWKqr49lVUXX9T/fAkAgEKC/e5SW6mo6hKD+zGn6e0bw+/x/PyaA9S/rvOwfobGukfpbddyraMDR7iCwHPg34H9KCCF+Abts3KCj/p6aAAAAAElFTkSuQmCC">LibrePlanet</A>
++ <DT><A HREF="http://www.gnu.org/software/gnuzilla/addons.html" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEVSURBVBgZBcGxVtpgGADQL9gHSBzqSognzMixmcWWzB6pmRHhnyvku6/fewMAIPD3TwHmQxHs6vr+A16bphNum/vV0x429201hcPjAGBTDZGnR/Kw1U181+u4HXvOdSxjUcztz8jjg1xGVBG9XPYxt4PviKiaWLg168iXtbrq+mPT1utjNcR1U73deRnL43M2sRgj3+oYs8uL3rLphPd2QWmHbMu/VS/cnk6UdtSW657g9yBlcZ0UAkUWzPvyRaAYmfd+HT4IZtvC59ibEJxXiqJjQpBpNEufBYE0McoOAunGhRMEFIPc7h4goJigQEBxk8u7AgEpL3IEAUZfcgAByGFXQACm5+4MAuB19QMEgI8CAgDgP4rivVgoKP6ZAAAAAElFTkSuQmCC">Free addons</A>
++ <DT><A HREF="http://www.h-node.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABgElEQVQ4jaXRz2uSARzHcb0vlRGEzTVWISU1BVkFYTIyjNK1pKcxHA+yhWMWIamHYikFgpoLIi9jwegi3QbL9SzdLmMbM9J+DkJBgm5RDvEPeHeQHOyQz0OH9+V7ePGBr0pqpPmfVPsP8a0AR4MnMEwf48x9K0s/E8oAY9iEMOvD+8yP2qVjrhhRBnSN61n5sIpULqC+pGHh8wNlgEY8jPQXcGh4VXukDND5evYAl46odIuXtYdKAANSudAChO52/XeMZMohecCbcoGdH99Y+7LO72adT9+/4nh8nYOjBl7/SsoB8gBkpHk8T0S2K++pN3fRin3cfnFDHvCuWkI9rEMvHGEo5gbAHnXhnLF1BpZLeRaLOVT2A8Q3A5wMngXgWtKLxX9KPqC+rCWQvYkpeK4NWKcGOgO50ts2MJJ0cPreeQDciTHMchZYIhcwh2wcuqjn+ccwGm9v6wsTxxn0dVgQXZ7Ek3Agpq6QrcaQGmmebtxFSDkRU1fJVmL/BpT2ByV/3eDMhinRAAAAAElFTkSuQmCC">h-node</A>
+ </DL><p>
+ </DL><p>
+diff --git a/browser/modules/AboutHome.jsm b/browser/modules/AboutHome.jsm
+index c3dc6b2..df312e3 100644
+--- a/browser/modules/AboutHome.jsm
++++ b/browser/modules/AboutHome.jsm
+@@ -8,7 +8,7 @@ let Cc = Components.classes;
+ let Ci = Components.interfaces;
+ let Cu = Components.utils;
+
+-this.EXPORTED_SYMBOLS = [ "AboutHomeUtils", "AboutHome" ];
++this.EXPORTED_SYMBOLS = [ "AboutHome" ];
+
+ Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
+ Components.utils.import("resource://gre/modules/Services.jsm");
+@@ -16,66 +16,6 @@ Components.utils.import("resource://gre/modules/Services.jsm");
+ XPCOMUtils.defineLazyModuleGetter(this, "PrivateBrowsingUtils",
+ "resource://gre/modules/PrivateBrowsingUtils.jsm");
+
+-// Url to fetch snippets, in the urlFormatter service format.
+-const SNIPPETS_URL_PREF = "browser.aboutHomeSnippets.updateUrl";
+-
+-// Should be bumped up if the snippets content format changes.
+-const STARTPAGE_VERSION = 4;
+-
+-this.AboutHomeUtils = {
+- get snippetsVersion() STARTPAGE_VERSION,
+-
+- /*
+- * showKnowYourRights - Determines if the user should be shown the
+- * about:rights notification. The notification should *not* be shown if
+- * we've already shown the current version, or if the override pref says to
+- * never show it. The notification *should* be shown if it's never been seen
+- * before, if a newer version is available, or if the override pref says to
+- * always show it.
+- */
+- get showKnowYourRights() {
+- // Look for an unconditional override pref. If set, do what it says.
+- // (true --> never show, false --> always show)
+- try {
+- return !Services.prefs.getBoolPref("browser.rights.override");
+- } catch (e) { }
+- // Ditto, for the legacy EULA pref.
+- try {
+- return !Services.prefs.getBoolPref("browser.EULA.override");
+- } catch (e) { }
+-
+-#ifndef MOZILLA_OFFICIAL
+- // Non-official builds shouldn't show the notification.
+- return false;
+-#endif
+-
+- // Look to see if the user has seen the current version or not.
+- var currentVersion = Services.prefs.getIntPref("browser.rights.version");
+- try {
+- return !Services.prefs.getBoolPref("browser.rights." + currentVersion + ".shown");
+- } catch (e) { }
+-
+- // Legacy: If the user accepted a EULA, we won't annoy them with the
+- // equivalent about:rights page until the version changes.
+- try {
+- return !Services.prefs.getBoolPref("browser.EULA." + currentVersion + ".accepted");
+- } catch (e) { }
+-
+- // We haven't shown the notification before, so do so now.
+- return true;
+- }
+-};
+-
+-/**
+- * Returns the URL to fetch snippets from, in the urlFormatter service format.
+- */
+-XPCOMUtils.defineLazyGetter(AboutHomeUtils, "snippetsURL", function() {
+- let updateURL = Services.prefs
+- .getCharPref(SNIPPETS_URL_PREF)
+- .replace("%STARTPAGE_VERSION%", STARTPAGE_VERSION);
+- return Services.urlFormatter.formatURL(updateURL);
+-});
+-
+ /**
+ * This code provides services to the about:home page. Whenever
+ * about:home needs to do something chrome-privileged, it sends a
+@@ -186,18 +126,9 @@ let AboutHome = {
+ ss.promiseInitialized.then(function() {
+ let data = {
+ showRestoreLastSession: ss.canRestoreLastSession,
+- snippetsURL: AboutHomeUtils.snippetsURL,
+- showKnowYourRights: AboutHomeUtils.showKnowYourRights,
+- snippetsVersion: AboutHomeUtils.snippetsVersion,
+ defaultEngineName: Services.search.defaultEngine.name
+ };
+
+- if (AboutHomeUtils.showKnowYourRights) {
+- // Set pref to indicate we've shown the notification.
+- let currentVersion = Services.prefs.getIntPref("browser.rights.version");
+- Services.prefs.setBoolPref("browser.rights." + currentVersion + ".shown", true);
+- }
+-
+ if (target) {
+ target.messageManager.sendAsyncMessage("AboutHome:Update", data);
+ } else {
diff --git a/libre/iceweasel-libre/mozconfig b/libre/iceweasel-libre/mozconfig
new file mode 100644
index 000000000..957ea0dbf
--- /dev/null
+++ b/libre/iceweasel-libre/mozconfig
@@ -0,0 +1,38 @@
+. $topsrcdir/browser/config/mozconfig
+
+ac_add_options --prefix=/usr
+ac_add_options --libdir=/usr/lib
+
+# Iceweasel
+ac_add_options --disable-official-branding
+ac_add_options --with-branding=debian/branding
+
+# System libraries
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-system-bz2
+ac_add_options --with-system-png
+ac_add_options --with-system-libevent
+ac_add_options --with-system-libvpx
+ac_add_options --enable-system-hunspell
+ac_add_options --enable-system-sqlite
+ac_add_options --enable-system-ffi
+#ac_add_options --enable-system-cairo
+ac_add_options --enable-system-pixman
+
+# Features
+ac_add_options --enable-startup-notification
+ac_add_options --enable-pulseaudio
+
+ac_add_options --disable-crashreporter
+ac_add_options --disable-updater
+ac_add_options --disable-installer
+ac_add_options --disable-debug-symbols
+
+# Parabola features
+ac_add_options --disable-safe-browsing
+
+# Other
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/moz-objdir
diff --git a/libre/iceweasel-libre/mozconfig.pgo b/libre/iceweasel-libre/mozconfig.pgo
new file mode 100644
index 000000000..71ba205a4
--- /dev/null
+++ b/libre/iceweasel-libre/mozconfig.pgo
@@ -0,0 +1,3 @@
+
+# PGO
+mk_add_options PROFILE_GEN_SCRIPT='EXTRA_TEST_ARGS=10 $(MAKE) -C $(MOZ_OBJDIR) pgo-profile-run'
diff --git a/libre/iceweasel-libre/vendor.js b/libre/iceweasel-libre/vendor.js
new file mode 100644
index 000000000..6510944a7
--- /dev/null
+++ b/libre/iceweasel-libre/vendor.js
@@ -0,0 +1,22 @@
+// Use LANG environment variable to choose locale
+pref("intl.locale.matchOS", true);
+
+// Disable default browser checking.
+pref("browser.shell.checkDefaultBrowser", false);
+
+// Don't disable our bundled extensions in the application directory
+pref("extensions.autoDisableScopes", 11);
+pref("extensions.shownSelectionUI", true);
+
+// Disable Social API
+pref("social.remote-install.enabled", false);
+
+// Make sure that safebrowsing is disabled
+pref("browser.safebrowsing.enabled", false);
+pref("browser.safebrowsing.malware.enabled", false);
+
+// Disable localstorage for privacy reasons.
+pref("dom.storage.enabled", false);
+
+// Disable missing nonfree flash notification
+pref("plugins.notifyMissingFlash", false);
diff --git a/libre/iceweasel-noscript/PKGBUILD b/libre/iceweasel-noscript/PKGBUILD
index 5cde02a92..3250bad42 100644
--- a/libre/iceweasel-noscript/PKGBUILD
+++ b/libre/iceweasel-noscript/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 104641 2014-01-24 07:00:27Z spupykin $
+# $Id: PKGBUILD 105656 2014-02-13 09:26:07Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
_pkgname=firefox-noscript
pkgname=iceweasel-noscript
-pkgver=2.6.8.13
+pkgver=2.6.8.14
pkgrel=1
pkgdesc="plugin for iceweasel which disables script"
arch=('any')
@@ -14,7 +14,7 @@ depends=()
provides=$_pkgname=$pkgver
makedepends=('unzip')
source=(https://secure.informaction.com/download/releases/noscript-$pkgver.xpi)
-md5sums=('75ec11cc5f3f039e81113abfb908110e')
+md5sums=('f0ecd6bd7c7331d77c91df55bdb3d7da')
package() {
# _ffver=`pacman -Q iceweasel-libre | cut -f2 -d\ | cut -f1 -d-`
diff --git a/libre/iceweasel-raismth/PKGBUILD b/libre/iceweasel-raismth/PKGBUILD
new file mode 100644
index 000000000..ee3b9119e
--- /dev/null
+++ b/libre/iceweasel-raismth/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 101450 2013-11-25 21:16:28Z speps $
+# Maintainer: speps <speps at aur dot archlinux dot org>
+
+pkgname=iceweasel-raismth
+pkgver=4.0.1
+pkgrel=1.1
+pkgdesc="Iceweasel plugin for watching Rai.tv live channels, vod and replay contents w/o *light (Silverlight/Moonlight)"
+arch=('any')
+url="http://acab.servebeer.com/"
+license=('GPL3')
+groups=('iceweasel-addons')
+depends=('iceweasel-libre')
+optdepends=('mplayer: default video player'
+ 'faad: default audio player')
+provides=('raismth' firefox-raismth=$pkgver)
+source=("${url}raismth-$pkgver.xpi")
+md5sums=('f772ef1a74b0aba3a739849fee3238ea')
+
+package() {
+ cd "$srcdir"
+
+ # extension
+ _dest="$pkgdir/usr/lib/iceweasel/browser/extensions/raismth@mitm.rc"
+ find . -type d -exec install -d {} $_dest/{} \;
+ find . -type f -exec install -Dm644 {} $_dest/{} \;
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/iceweasel-spell-ru/PKGBUILD b/libre/iceweasel-spell-ru/PKGBUILD
new file mode 100644
index 000000000..b9bb8b6f9
--- /dev/null
+++ b/libre/iceweasel-spell-ru/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 90907 2013-05-15 13:06:09Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Maciej Sitarz <macieks@freesco.pl>
+
+pkgname=iceweasel-spell-ru
+pkgver=0.4.4
+pkgrel=13.1
+pkgdesc="Russian spellchecker dictionary for Iceweasel"
+arch=(any)
+url="https://addons.mozilla.org/firefox/dictionaries/"
+license=("GPL")
+depends=("iceweasel-libre")
+provides=(firefox-spell-ru=$pkgver)
+noextract=(russian_spellchecking_dictionary_with_io_support-$pkgver-fx+tb+sm.xpi)
+source=(https://addons.mozilla.org/firefox/downloads/file/98798/russian_spellchecking_dictionary-$pkgver-fx+tb+sm.xpi)
+md5sums=('269a8bdd38a5641b5f6cfb12715f1029')
+
+package() {
+# _ffver=`pacman -Q iceweasel-libre | cut -f2 -d\ | cut -f1 -d-`
+# depends=("iceweasel-libre>=${_ffver}" "iceweasel-libre<=${_ffver/0/99}")
+
+ cd $srcdir
+ rm $srcdir/*.xpi
+ local _dir=$pkgdir/usr/lib/iceweasel/browser/extensions/ru@dictionaries.addons.mozilla.org
+ mkdir -p "${_dir}"
+ cd "${_dir}"
+ sed -i 's#<em:maxVersion>.*</em:maxVersion>#<em:maxVersion>20.*</em:maxVersion>#' $srcdir/install.rdf
+ cp -r $srcdir/* "${_dir}"
+ find ${_dir} -type f -exec chmod 0644 {} \;
+ touch ${_dir}/chrome.manifest
+}
diff --git a/libre/jquery-ui/PKGBUILD b/libre/jquery-ui/PKGBUILD
new file mode 100644
index 000000000..0be01f724
--- /dev/null
+++ b/libre/jquery-ui/PKGBUILD
@@ -0,0 +1,31 @@
+#Maintainer: André Silva <emulatorman@parabola.nu>
+#Maintainer: Márcio Silva <coadde@parabola.nu>
+
+_pkgname=jquery
+pkgname=jquery-ui
+pkgver=1.10.4
+pkgrel=1
+pkgdesc='jQuery UI provides abstractions for low-level interaction and animation, advanced effects and high-level, themeable widgets, built on top of the jQuery JavaScript Library, that you can use to build highly interactive web applications'
+arch=any
+url=http://jqueryui.com/
+license=MIT
+depends=jquery
+makedepends=nodejs
+
+source=https://github.com/$_pkgname/$pkgname/archive/$pkgver.tar.gz
+sha512sums=cab57c40bc593f32baeca8f9bcf8e23ef770b511dd4894fbb5bfd0b0bb9f7266b9572247ea47289f8d0eaa782f8c803f3e4b262b71f00d173e7bd54793fdb0ac
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ npm install grunt-cli
+ npm install
+ node_modules/.bin/grunt build
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ install -d $pkgdir/usr/share/javascript/$pkgname
+ install -d $pkgdir/usr/share/licenses/$pkgname
+ cp -a dist/* $pkgdir/usr/share/javascript/$pkgname
+ cp -a MIT-LICENSE.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/libre/jquery/PKGBUILD b/libre/jquery/PKGBUILD
new file mode 100644
index 000000000..23d56d7c3
--- /dev/null
+++ b/libre/jquery/PKGBUILD
@@ -0,0 +1,29 @@
+#Maintainer: André Silva <emulatorman@parabola.nu>
+#Maintainer: Márcio Silva <coadde@parabola.nu>
+
+pkgname=jquery
+pkgver=2.1.0
+pkgrel=1
+pkgdesc='jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development'
+arch=any
+url=http://jquery.com/
+license=MIT
+makedepends=nodejs
+
+source=https://github.com/$pkgname/$pkgname/archive/$pkgver.tar.gz
+sha512sums=aedd1086b3b84ed6705b31ac297b6bef29fc2b19a190b3bded2c135d13931cdc92b9ea7cf3eab86e8157a50f1e4ec9ba2bbe1eeba1af5dd44079f237571d41e4
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ npm install
+ node_modules/.bin/grunt
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ install -d $pkgdir/usr/share/javascript/$pkgname
+ install -d $pkgdir/usr/share/licenses/$pkgname
+ node_modules/.bin/grunt dist:$pkgdir/usr/share/javascript/$pkgname
+ cp -a MIT-LICENSE.txt $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
+
diff --git a/libre/kdebase-konqueror-libre/PKGBUILD b/libre/kdebase-konqueror-libre/PKGBUILD
new file mode 100644
index 000000000..e7578c381
--- /dev/null
+++ b/libre/kdebase-konqueror-libre/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 205134 2014-02-04 13:52:45Z svenstaro $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname='kdebase-konqueror'
+pkgname='kdebase-konqueror-libre'
+pkgver=4.12.2
+pkgrel=1
+arch=('i686' 'x86_64' 'mips64el')
+url="http://kde.org/applications/internet/konqueror/"
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdebase')
+makedepends=('kdelibs' 'cmake' 'automoc4' 'tidyhtml' 'nepomuk-widgets')
+source=("http://download.kde.org/stable/${pkgver}/src/kde-baseapps-${pkgver}.tar.xz"
+ 'konq-about-fsdg.diff')
+sha1sums=('7002c8d1a8f4fb1735ad70b8cb1a106876323f94'
+ 'd6cbb53c04179b8180f9439eca156b7ff2e76b3a')
+pkgdesc='KDE File Manager & Web Browser, without Google and nonfree software recommendation'
+depends=('kdebase-dolphin' 'kdebase-keditbookmarks')
+optdepends=('kwebkitpart: to enable webkit engine')
+install='kdebase-konqueror.install'
+conflicts=('kdebase-nsplugins' 'kdebase-konqueror')
+replaces=('kdebase-nsplugins' 'kdebase-konqueror')
+provides=("kdebase-konqueror=$pkgver")
+
+prepare() {
+ mkdir build
+
+ cd kde-baseapps-${pkgver}
+ # Don't recommend nonfree software or Google.
+ patch -Np1 -i "${srcdir}/konq-about-fsdg.diff"
+}
+
+build() {
+ cd build
+ cmake ../kde-baseapps-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DKDE4_BUILD_TESTS=OFF \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ for i in konqueror doc/konqueror nsplugins; do
+ cd $srcdir/build/${i}
+ make
+ done
+}
+
+package() {
+ for i in konqueror doc/konqueror nsplugins; do
+ cd $srcdir/build/${i}
+ make DESTDIR=$pkgdir install
+ done
+}
diff --git a/libre/kdebase-konqueror-libre/kdebase-konqueror.install b/libre/kdebase-konqueror-libre/kdebase-konqueror.install
new file mode 100644
index 000000000..5495fb1b5
--- /dev/null
+++ b/libre/kdebase-konqueror-libre/kdebase-konqueror.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdebase-konqueror-libre/konq-about-fsdg.diff b/libre/kdebase-konqueror-libre/konq-about-fsdg.diff
new file mode 100644
index 000000000..93ef4016a
--- /dev/null
+++ b/libre/kdebase-konqueror-libre/konq-about-fsdg.diff
@@ -0,0 +1,33 @@
+diff -ru kde-baseapps-4.8.0.orig/konqueror/about/konq_aboutpage.cc kde-baseapps-4.8.0/konqueror/about/konq_aboutpage.cc
+--- kde-baseapps-4.8.0.orig/konqueror/about/konq_aboutpage.cc 2012-01-30 19:28:59.506176399 +0100
++++ kde-baseapps-4.8.0/konqueror/about/konq_aboutpage.cc 2012-01-30 19:34:50.695537153 +0100
+@@ -214,14 +214,11 @@
+ QString("http://www.ecma-international.org/publications/standards/ECMA-262.HTM")) )
+ .arg( i18n("JavaScript disabled (globally). Enable JavaScript <A HREF=\"%1\">here</A>.", QString("exec:/kcmshell4 khtml_java_js")) )
+ .arg( i18n("JavaScript enabled (globally). Configure JavaScript <A HREF=\\\"%1\\\">here</A>.", QString("exec:/kcmshell4 khtml_java_js")) ) // leave the double backslashes here, they are necessary for javascript !
+- .arg( i18n("Secure <A HREF=\"%1\">Java</A><SUP>&reg;</SUP> support", QString("http://www.oracle.com/technetwork/java/index.html")) )
+- .arg( i18n("JDK 1.2.0 (Java 2) compatible VM (<A HREF=\"%1\">IBM</A> or <A HREF=\"%2\">Sun/Oracle</A>)",
+- QString("http://www.ibm.com"), QString("http://www.oracle.com/technetwork/java/index.html")) )
++ .arg( i18n("Secure Java<SUP>&reg;</SUP> support") )
++ .arg( i18n("JDK 1.2.0 (Java 2) compatible VM") )
+ .arg( i18n("Enable Java (globally) <A HREF=\"%1\">here</A>.", QString("exec:/kcmshell4 khtml_java_js")) ) // TODO Maybe test if Java is enabled ?
+- .arg( i18n("Netscape Communicator<SUP>&reg;</SUP> <A HREF=\"%4\">plugins</A> (for viewing <A HREF=\"%1\">Flash<SUP>&reg;</SUP></A>, <A HREF=\"%2\">Real<SUP>&reg;</SUP></A>Audio, <A HREF=\"%3\">Real<SUP>&reg;</SUP></A>Video, etc.)",
+- QString("http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"),
+- QString("http://www.real.com"), QString("http://www.real.com"),
+- QString("about:plugins")) )
++ .arg( i18n("Netscape Communicator<SUP>&reg;</SUP> <A HREF=\"%1\">plugins</A> ",
++ QString("about:plugins")) )
+ .arg( i18n("built-in") )
+ .arg( i18n("Secure Sockets Layer") )
+ .arg( i18n("(TLS/SSL v2/3) for secure communications up to 168bit") )
+@@ -293,8 +290,8 @@
+ .arg( i18n( "Tips" ) )
+ .arg( i18n( "Specifications" ) )
+ .arg( i18n( "Tips &amp; Tricks" ) )
+- .arg( i18n( "Use Web-Shortcuts: by typing \"gg: KDE\" one can search the Internet, "
+- "using Google, for the search phrase \"KDE\". There are a lot of "
++ .arg( i18n( "Use Web-Shortcuts: by typing \"dd: KDE\" one can search the Internet, "
++ "using DuckDuckGo HTML, for the search phrase \"KDE\". There are a lot of "
+ "Web-Shortcuts predefined to make searching for software or looking "
+ "up certain words in an encyclopedia a breeze. You can even "
+ "<a href=\"%1\">create your own</a> Web-Shortcuts." , QString("exec:/kcmshell4 ebrowsing")) )
diff --git a/libre/kdebase-runtime-libre/PKGBUILD b/libre/kdebase-runtime-libre/PKGBUILD
index 6ae82841a..369ec746f 100644
--- a/libre/kdebase-runtime-libre/PKGBUILD
+++ b/libre/kdebase-runtime-libre/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id: PKGBUILD 204616 2014-01-24 10:54:17Z andyrtr $
+# $Id: PKGBUILD 205106 2014-02-04 13:51:12Z svenstaro $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
_pkgname=kdebase-runtime
pkgname=kdebase-runtime-libre
-pkgver=4.12.1
-pkgrel=2
+pkgver=4.12.2
+pkgrel=1
pkgdesc="Plugins and applications necessary for the running of KDE applications, without non-privacy search providers"
arch=('i686' 'x86_64' 'mips64el')
url='https://projects.kde.org/projects/kde/kde-runtime'
@@ -26,7 +26,7 @@ install="${_pkgname}.install"
source=("http://download.kde.org/stable/${pkgver}/src/kde-runtime-${pkgver}.tar.xz"
'duckduckgo_html.desktop'
'duckduckgo_lite.desktop')
-sha1sums=('e62d0b6a8fea172ac4b36a16004f10161406872a'
+sha1sums=('935dd93d1a705de6b11dc489a56dfb40827b2046'
'aa6f39f4b0ad3c110fd05cd6c41190afae9773dd'
'ac3bac94a2c4b1444642524bc5fb539c4c5dcc5b')
diff --git a/libre/kdebase-runtime-libre/duckduckgo_html.desktop b/libre/kdebase-runtime-libre/duckduckgo_html.desktop
new file mode 100644
index 000000000..ba6a602ad
--- /dev/null
+++ b/libre/kdebase-runtime-libre/duckduckgo_html.desktop
@@ -0,0 +1,113 @@
+[Desktop Entry]
+Charset=
+Hidden=false
+Keys=duckduckgo,dd,dukgo
+Name=Duck Duck Go HTML
+Name[ar]=Duck Duck Go HTML
+Name[ast]=Duck Duck Go HTML
+Name[bg]=Duck Duck Go HTML
+Name[bn]=Duck Duck Go HTML
+Name[bs]=Dak dak go HTML
+Name[ca]=Duck Duck Go HTML
+Name[ca@valencia]=Duck Duck Go HTML
+Name[cs]=Duck Duck Go HTML
+Name[da]=Duck Duck Go HTML
+Name[de]=Duck Duck Go HTML
+Name[el]=Duck Duck Go HTML
+Name[en_GB]=Duck Duck Go HTML
+Name[eo]=Duck Duck Go HTML
+Name[es]=Duck Duck Go HTML
+Name[et]=Duck Duck Go HTML
+Name[eu]=Duck Duck Go HTML
+Name[fa]=Duck Duck Go HTML
+Name[fi]=Duck Duck Go HTML
+Name[fr]=Duck Duck Go HTML
+Name[ga]=Duck Duck Go HTML
+Name[gl]=Duck Duck Go HTML
+Name[gu]=Duck Duck Go HTML
+Name[he]=Duck Duck Go HTML
+Name[hi]=Duck Duck Go HTML
+Name[hr]=Duck Duck Go HTML
+Name[hu]=Duck Duck Go HTML
+Name[ia]=Duck Duck Go HTML
+Name[id]=Duck Duck Go HTML
+Name[is]=Duck Duck Go HTML
+Name[it]=Duck Duck Go HTML
+Name[ja]=Duck Duck Go HTML
+Name[kk]=Duck Duck Go HTML
+Name[km]=Duck Duck Go HTML
+Name[kn]=Duck Duck Go HTML
+Name[ko]=Duck Duck Go HTML
+Name[lt]=Duck Duck Go HTML
+Name[lv]=Duck Duck Go HTML
+Name[ml]=Duck Duck Go HTML
+Name[nb]=Duck Duck Go HTML
+Name[nds]=Duck Duck Go HTML
+Name[nl]=Duck Duck Go HTML
+Name[nn]=Duck Duck Go HTML
+Name[pa]=Duck Duck Go HTML
+Name[pl]=Duck Duck Go HTML
+Name[pt]=Duck Duck Go HTML
+Name[pt_BR]=Duck Duck Go HTML
+Name[ro]=Duck Duck Go HTML
+Name[ru]=Поиск Duck Duck Go HTML
+Name[si]=Duck Duck Go HTML
+Name[sk]=Duck Duck Go HTML
+Name[sl]=Duck Duck Go HTML
+Name[sr]=Duck Duck Go HTML
+Name[sr@ijekavian]=Duck Duck Go HTML
+Name[sr@ijekavianlatin]=Duck Duck Go HTML
+Name[sr@latin]=Duck Duck Go HTML
+Name[sv]=Duck Duck Go HTML
+Name[tg]=Duck Duck Go HTML
+Name[th]=Duck Duck Go HTML
+Name[tr]=Duck Duck Go HTML
+Name[ug]=Duck Duck Go HTML
+Name[uk]=Duck Duck Go HTML
+Name[vi]=Duck Duck Go HTML
+Name[wa]=Duck Duck Go HTML
+Name[x-test]=xxDuck Duck Go HTMLxx
+Name[zh_CN]=Duck Duck Go HTML
+Name[zh_TW]=Duck Duck Go HTML
+Query=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[bg]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[bn]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[ca]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[cs]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[da]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[de]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[el]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[eo]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[es]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[et]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[fi]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[fr]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[gl]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[hi]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[hu]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[ia]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[it]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[kk]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[km]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[nb]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[nl]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[pa]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[pl]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[pt]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[pt_BR]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[ro]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[ru]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[sl]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[sr]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[sr@ijekavian]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[sr@ijekavianlatin]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[sr@latin]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[sv]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[tr]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[uk]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[wa]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[x-test]=xxhttp://duckduckgo.com/html/?q=\\{@}&t=KDExx
+Query[zh_CN]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+Query[zh_TW]=http://duckduckgo.com/html/?q=\\{@}&t=KDE
+ServiceTypes=SearchProvider
+Type=Service
diff --git a/libre/kdebase-runtime-libre/duckduckgo_lite.desktop b/libre/kdebase-runtime-libre/duckduckgo_lite.desktop
new file mode 100644
index 000000000..0da670dbe
--- /dev/null
+++ b/libre/kdebase-runtime-libre/duckduckgo_lite.desktop
@@ -0,0 +1,113 @@
+[Desktop Entry]
+Charset=
+Hidden=false
+Keys=duckduckgolite,ddlite,dukgolite
+Name=Duck Duck Go Lite
+Name[ar]=Duck Duck Go Lite
+Name[ast]=Duck Duck Go Lite
+Name[bg]=Duck Duck Go Lite
+Name[bn]=Duck Duck Go Lite
+Name[bs]=Dak dak go Lite
+Name[ca]=Duck Duck Go Lite
+Name[ca@valencia]=Duck Duck Go Lite
+Name[cs]=Duck Duck Go Lite
+Name[da]=Duck Duck Go Lite
+Name[de]=Duck Duck Go Lite
+Name[el]=Duck Duck Go Lite
+Name[en_GB]=Duck Duck Go Lite
+Name[eo]=Duck Duck Go Lite
+Name[es]=Duck Duck Go Lite
+Name[et]=Duck Duck Go Lite
+Name[eu]=Duck Duck Go Lite
+Name[fa]=Duck Duck Go Lite
+Name[fi]=Duck Duck Go Lite
+Name[fr]=Duck Duck Go Lite
+Name[ga]=Duck Duck Go Lite
+Name[gl]=Duck Duck Go Lite
+Name[gu]=Duck Duck Go Lite
+Name[he]=Duck Duck Go Lite
+Name[hi]=Duck Duck Go Lite
+Name[hr]=Duck Duck Go Lite
+Name[hu]=Duck Duck Go Lite
+Name[ia]=Duck Duck Go Lite
+Name[id]=Duck Duck Go Lite
+Name[is]=Duck Duck Go Lite
+Name[it]=Duck Duck Go Lite
+Name[ja]=Duck Duck Go Lite
+Name[kk]=Duck Duck Go Lite
+Name[km]=Duck Duck Go Lite
+Name[kn]=Duck Duck Go Lite
+Name[ko]=Duck Duck Go Lite
+Name[lt]=Duck Duck Go Lite
+Name[lv]=Duck Duck Go Lite
+Name[ml]=Duck Duck Go Lite
+Name[nb]=Duck Duck Go Lite
+Name[nds]=Duck Duck Go Lite
+Name[nl]=Duck Duck Go Lite
+Name[nn]=Duck Duck Go Lite
+Name[pa]=Duck Duck Go Lite
+Name[pl]=Duck Duck Go Lite
+Name[pt]=Duck Duck Go Lite
+Name[pt_BR]=Duck Duck Go Lite
+Name[ro]=Duck Duck Go Lite
+Name[ru]=Поиск Duck Duck Go Lite
+Name[si]=Duck Duck Go Lite
+Name[sk]=Duck Duck Go Lite
+Name[sl]=Duck Duck Go Lite
+Name[sr]=Duck Duck Go Lite
+Name[sr@ijekavian]=Duck Duck Go Lite
+Name[sr@ijekavianlatin]=Duck Duck Go Lite
+Name[sr@latin]=Duck Duck Go Lite
+Name[sv]=Duck Duck Go Lite
+Name[tg]=Duck Duck Go Lite
+Name[th]=Duck Duck Go Lite
+Name[tr]=Duck Duck Go Lite
+Name[ug]=Duck Duck Go Lite
+Name[uk]=Duck Duck Go Lite
+Name[vi]=Duck Duck Go Lite
+Name[wa]=Duck Duck Go Lite
+Name[x-test]=xxDuck Duck Go Litexx
+Name[zh_CN]=Duck Duck Go Lite
+Name[zh_TW]=Duck Duck Go Lite
+Query=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[bg]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[bn]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[ca]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[cs]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[da]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[de]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[el]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[eo]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[es]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[et]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[fi]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[fr]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[gl]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[hi]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[hu]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[ia]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[it]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[kk]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[km]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[nb]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[nl]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[pa]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[pl]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[pt]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[pt_BR]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[ro]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[ru]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[sl]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[sr]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[sr@ijekavian]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[sr@ijekavianlatin]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[sr@latin]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[sv]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[tr]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[uk]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[wa]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[x-test]=xxhttp://duckduckgo.com/lite/?q=\\{@}&t=KDExx
+Query[zh_CN]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+Query[zh_TW]=http://duckduckgo.com/lite/?q=\\{@}&t=KDE
+ServiceTypes=SearchProvider
+Type=Service
diff --git a/libre/kdebase-runtime-libre/kdebase-runtime.install b/libre/kdebase-runtime-libre/kdebase-runtime.install
new file mode 100644
index 000000000..c77e68041
--- /dev/null
+++ b/libre/kdebase-runtime-libre/kdebase-runtime.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-mime-database usr/share/mime &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdelibs-libre/PKGBUILD b/libre/kdelibs-libre/PKGBUILD
new file mode 100644
index 000000000..c1936476d
--- /dev/null
+++ b/libre/kdelibs-libre/PKGBUILD
@@ -0,0 +1,67 @@
+# $Id: PKGBUILD 205088 2014-02-04 13:47:15Z svenstaro $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=kdelibs
+pkgname=kdelibs-libre
+pkgver=4.12.2
+pkgrel=1
+pkgdesc="KDE Core Libraries, without nonfree plugins recommendation support"
+arch=('i686' 'x86_64' 'mips64el')
+url='https://projects.kde.org/projects/kde/kdelibs'
+license=('GPL' 'LGPL' 'FDL')
+depends=('strigi' 'attica' 'libxss' 'soprano' 'krb5' 'grantlee'
+ 'shared-desktop-ontologies' 'qca' 'libdbusmenu-qt' 'polkit-qt'
+ 'shared-mime-info' 'enchant' 'giflib' 'jasper' 'openexr'
+ 'docbook-xsl' 'upower' 'udisks2' 'libxcursor' 'phonon-qt4'
+ 'media-player-info' 'libxtst' 'libutempter' 'qtwebkit')
+makedepends=('cmake' 'automoc4' 'avahi' 'libgl' 'hspell' 'mesa')
+provides=("kdelibs=$pkgver")
+replaces=('kdelibs')
+conflicts=('kdelibs')
+install=${_pkgname}.install
+source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz"
+ 'kde-applications-menu.patch' 'qt4.patch'
+ 'khtml-fsdg.diff')
+sha1sums=('05e324af3752953ca637c2a51d989155f9f6bb8a'
+ '86ee8c8660f19de8141ac99cd6943964d97a1ed7'
+ 'ed1f57ee661e5c7440efcaba7e51d2554709701c'
+ 'a1502a964081ad583a00cf90c56e74bf60121830')
+
+prepare() {
+ cd ${_pkgname}-${pkgver}
+ # avoid file conflict with gnome-menus
+ patch -p1 -i "${srcdir}"/kde-applications-menu.patch
+ # qmake refers to Qt5
+ patch -p1 -i "${srcdir}"/qt4.patch
+ # Don't ask the user to download a plugin, it's probably nonfree.
+ patch -p1 -i "${srcdir}"/khtml-fsdg.diff
+}
+
+build() {
+ mkdir build
+ cd build
+ cmake ../${_pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DKDE4_BUILD_TESTS=OFF \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DKDE_DISTRIBUTION_TEXT='Parabola GNU/Linux-libre' \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DHTML_INSTALL_DIR=/usr/share/doc/kde/html \
+ -DKDE_DEFAULT_HOME='.kde4' \
+ -DWITH_FAM=OFF \
+ -DWITH_SOLID_UDISKS2=ON
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+
+ # cert bundle seems to be hardcoded
+ # link it to the one from ca-certificates
+ rm -f "${pkgdir}"/usr/share/apps/kssl/ca-bundle.crt
+ ln -sf /etc/ssl/certs/ca-certificates.crt "${pkgdir}"/usr/share/apps/kssl/ca-bundle.crt
+}
diff --git a/libre/kdelibs-libre/fix-xfreepixmap-call.patch b/libre/kdelibs-libre/fix-xfreepixmap-call.patch
new file mode 100644
index 000000000..5f5354633
--- /dev/null
+++ b/libre/kdelibs-libre/fix-xfreepixmap-call.patch
@@ -0,0 +1,24 @@
+commit 9323adac35d40da69e3cb18504340e984c4afd05
+Author: Anne-Marie Mahfouf <annma@kde.org>
+Date: Fri May 10 17:12:33 2013 +0200
+
+ Fix crash when quitting apps
+
+ Backport to 4.10 branch
+
+ CCBUG: 319137
+
+diff --git a/plasma/private/dialogshadows.cpp b/plasma/private/dialogshadows.cpp
+index b54fb1a..1925670 100644
+--- a/plasma/private/dialogshadows.cpp
++++ b/plasma/private/dialogshadows.cpp
+@@ -336,6 +336,9 @@ void DialogShadows::Private::freeX11Pixmaps()
+ {
+ #ifdef Q_WS_X11
+ foreach (const QPixmap &pixmap, m_shadowPixmaps) {
++ if (!QX11Info::display()) {
++ return;
++ }
+ if (!pixmap.isNull()) {
+ XFreePixmap(QX11Info::display(), pixmap.handle());
+ }
diff --git a/libre/kdelibs-libre/kde-applications-menu.patch b/libre/kdelibs-libre/kde-applications-menu.patch
new file mode 100644
index 000000000..4b513298a
--- /dev/null
+++ b/libre/kdelibs-libre/kde-applications-menu.patch
@@ -0,0 +1,22 @@
+--- kdelibs-4.3.98/kded/CMakeLists.txt 2009-10-02 14:55:17.000000000 +0000
++++ kdelibs-4.3.98/kded/CMakeLists.txt 2010-01-31 22:16:13.946933892 +0000
+@@ -69,7 +69,7 @@
+ if (WIN32)
+ install( FILES applications.menu DESTINATION ${SHARE_INSTALL_PREFIX}/xdg/menus )
+ else (WIN32)
+-install( FILES applications.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus )
++install( FILES applications.menu DESTINATION ${SYSCONF_INSTALL_DIR}/xdg/menus RENAME kde-applications.menu )
+ endif (WIN32)
+ install( FILES kdedmodule.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR} )
+ install( FILES kded.upd DESTINATION ${DATA_INSTALL_DIR}/kconf_update )
+--- kdelibs-4.3.98/kded/kbuildsycoca.cpp 2009-12-04 23:10:18.000000000 +0000
++++ kdelibs-4.3.98/kded/kbuildsycoca.cpp 2010-01-31 22:16:13.962766572 +0000
+@@ -302,7 +302,7 @@
+ if (!m_trackId.isEmpty())
+ g_vfolder->setTrackId(m_trackId);
+
+- VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("applications.menu", true);
++ VFolderMenu::SubMenu *kdeMenu = g_vfolder->parseMenu("kde-applications.menu", true);
+
+ KServiceGroup::Ptr entry = g_bsgf->addNew("/", kdeMenu->directoryFile, KServiceGroup::Ptr(), false);
+ entry->setLayoutInfo(kdeMenu->layoutList);
diff --git a/libre/kdelibs-libre/kdelibs.install b/libre/kdelibs-libre/kdelibs.install
new file mode 100644
index 000000000..c77e68041
--- /dev/null
+++ b/libre/kdelibs-libre/kdelibs.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-mime-database usr/share/mime &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdelibs-libre/khtml-fsdg.diff b/libre/kdelibs-libre/khtml-fsdg.diff
new file mode 100644
index 000000000..1a531b3c8
--- /dev/null
+++ b/libre/kdelibs-libre/khtml-fsdg.diff
@@ -0,0 +1,50 @@
+diff -ru kdelibs-4.8.0.orig/khtml/html/html_objectimpl.cpp kdelibs-4.8.0/khtml/html/html_objectimpl.cpp
+--- kdelibs-4.8.0.orig/khtml/html/html_objectimpl.cpp 2012-01-30 19:46:27.684114289 +0100
++++ kdelibs-4.8.0/khtml/html/html_objectimpl.cpp 2012-01-30 19:47:47.222111046 +0100
+@@ -577,46 +577,6 @@
+
+ void HTMLObjectBaseElementImpl::slotPartLoadingErrorNotify()
+ {
+- // If we have an embed, we may be able to tell the user where to
+- // download the plugin.
+-
+- HTMLEmbedElementImpl *embed = relevantEmbed();
+- QString serviceType; // shadows ours, but we don't care.
+-
+- if (!embed)
+- return;
+-
+- serviceType = embed->serviceType;
+-
+- KHTMLPart* part = document()->part();
+- KParts::BrowserExtension *ext = part->browserExtension();
+-
+- if(!embed->pluginPage.isEmpty() && ext) {
+- // Prepare the mimetype to show in the question (comment if available, name as fallback)
+- QString mimeName = serviceType;
+- KMimeType::Ptr mime = KMimeType::mimeType(serviceType, KMimeType::ResolveAliases);
+- if ( mime && mime->name() != KMimeType::defaultMimeType() )
+- mimeName = mime->comment();
+-
+- // Check if we already asked the user, for this page
+- if (!mimeName.isEmpty() && !part->pluginPageQuestionAsked(serviceType))
+- {
+- part->setPluginPageQuestionAsked(serviceType);
+-
+- // Prepare the URL to show in the question (host only if http, to make it short)
+- KUrl pluginPageURL(embed->pluginPage);
+- QString shortURL = pluginPageURL.protocol() == "http" ? pluginPageURL.host() : pluginPageURL.prettyUrl();
+- int res = KMessageBox::questionYesNo( part->view(),
+- i18n("No plugin found for '%1'.\nDo you want to download one from %2?", mimeName, shortURL),
+- i18n("Missing Plugin"), KGuiItem(i18n("Download")), KGuiItem(i18n("Do Not Download")), QString("plugin-")+serviceType);
+- if (res == KMessageBox::Yes)
+- {
+- // Display vendor download page
+- ext->createNewWindow(pluginPageURL);
+- return;
+- }
+- }
+- }
+ }
+
+
diff --git a/libre/kdelibs-libre/qt4.patch b/libre/kdelibs-libre/qt4.patch
new file mode 100644
index 000000000..bb4312d40
--- /dev/null
+++ b/libre/kdelibs-libre/qt4.patch
@@ -0,0 +1,11 @@
+--- kdelibs-4.10.1/cmake/modules/FindQt4.cmake~ 2013-03-07 16:57:29.735552097 +0000
++++ kdelibs-4.10.1/cmake/modules/FindQt4.cmake 2013-03-07 16:57:52.038725421 +0000
+@@ -446,7 +446,7 @@
+ # check for qmake
+ # Debian uses qmake-qt4
+ # macports' Qt uses qmake-mac
+-FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake qmake4 qmake-qt4 qmake-mac PATHS
++FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake4 qmake-qt4 qmake-mac PATHS
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/bin"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\${qt_install_version};InstallDir]/bin"
diff --git a/libre/kdelibs-libre/security-fix.patch b/libre/kdelibs-libre/security-fix.patch
new file mode 100644
index 000000000..3d98a47ae
--- /dev/null
+++ b/libre/kdelibs-libre/security-fix.patch
@@ -0,0 +1,32 @@
+commit 65d736dab592bced4410ccfa4699de89f78c96ca
+Author: Grégory Oestreicher <greg@kamago.net>
+Date: Wed May 8 23:16:00 2013 +0200
+
+ Don't show passwords contained in HTTP URLs in error messages
+ BUG: 319428
+
+diff --git a/kioslave/http/http.cpp b/kioslave/http/http.cpp
+index 2d139a9..129fc7b 100644
+--- a/kioslave/http/http.cpp
++++ b/kioslave/http/http.cpp
+@@ -3056,7 +3056,7 @@ try_again:
+ ; // Ignore error
+ } else {
+ if (!sendErrorPageNotification()) {
+- error(ERR_INTERNAL_SERVER, m_request.url.url());
++ error(ERR_INTERNAL_SERVER, m_request.url.prettyUrl());
+ return false;
+ }
+ }
+@@ -3072,9 +3072,9 @@ try_again:
+ // Tell that we will only get an error page here.
+ if (!sendErrorPageNotification()) {
+ if (m_request.responseCode == 403)
+- error(ERR_ACCESS_DENIED, m_request.url.url());
++ error(ERR_ACCESS_DENIED, m_request.url.prettyUrl());
+ else
+- error(ERR_DOES_NOT_EXIST, m_request.url.url());
++ error(ERR_DOES_NOT_EXIST, m_request.url.prettyUrl());
+ return false;
+ }
+ } else if (m_request.responseCode >= 301 && m_request.responseCode<= 303) {
diff --git a/libre/kdenetwork-kopete-libre/PKGBUILD b/libre/kdenetwork-kopete-libre/PKGBUILD
new file mode 100644
index 000000000..2f33f98e9
--- /dev/null
+++ b/libre/kdenetwork-kopete-libre/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 205344 2014-02-04 14:04:24Z svenstaro $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=kdenetwork-kopete
+pkgname=kdenetwork-kopete-libre
+pkgver=4.12.2
+pkgrel=1
+pkgdesc='Instant Messenger, without Skype support'
+url='http://kde.org/applications/internet/kopete/'
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdenetwork')
+depends=('kdebase-runtime' 'kdepimlibs' 'qca-ossl' 'libotr' 'libmsn' 'libidn'
+ 'qimageblitz' 'libgadu' 'mediastreamer' 'jsoncpp')
+makedepends=('cmake' 'automoc4' 'boost')
+install=${_pkgname}.install
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+source=("http://download.kde.org/stable/${pkgver}/src/kopete-${pkgver}.tar.xz")
+sha1sums=('6b5ebab916f4527157cf7f979724538f38052bad')
+
+prepare() {
+ cd kopete-${pkgver}
+ # Based on http://bzr.trisquel.info/package-helpers/trunk/annotate/head%3A/helpers/natty/make-kdenetwork, revision 34.
+ sed -i 's/Skype protocol" ON/Skype protocol" OFF/g' protocols/CMakeLists.txt
+ rm -rf protocols/skype
+ sed 's/, Skype//' -i doc/index.docbook
+ cd ..
+ mkdir build
+}
+
+build() {
+ cd build
+ cmake ../kopete-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DKDE4_BUILD_TESTS=OFF \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_SKIP_RPATH=ON
+ make
+}
+
+package() {
+ cd build
+ make DESTDIR=$pkgdir install
+}
diff --git a/libre/kdenetwork-kopete-libre/kdenetwork-kopete.install b/libre/kdenetwork-kopete-libre/kdenetwork-kopete.install
new file mode 100644
index 000000000..5495fb1b5
--- /dev/null
+++ b/libre/kdenetwork-kopete-libre/kdenetwork-kopete.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdenetwork-kopete-libre/kdenetwork.install b/libre/kdenetwork-kopete-libre/kdenetwork.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/libre/kdenetwork-kopete-libre/kdenetwork.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdepim-libre/PKGBUILD b/libre/kdepim-libre/PKGBUILD
new file mode 100644
index 000000000..be15c03fb
--- /dev/null
+++ b/libre/kdepim-libre/PKGBUILD
@@ -0,0 +1,282 @@
+# $Id: PKGBUILD 205354 2014-02-04 14:04:58Z svenstaro $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgbase=kdepim
+pkgbase=kdepim-libre
+pkgname=('kdepim-akonadiconsole-libre'
+ 'kdepim-akregator-libre'
+ 'kdepim-blogilo-libre'
+ 'kdepim-console-libre'
+ 'kdepim-kaddressbook-libre'
+ 'kdepim-kalarm-libre'
+ 'kdepim-kjots-libre'
+ 'kdepim-kleopatra-libre'
+ 'kdepim-kmail-libre'
+ 'kdepim-knode-libre'
+ 'kdepim-knotes-libre'
+ 'kdepim-kontact-libre'
+ 'kdepim-korganizer-libre'
+ 'kdepim-kresources-libre'
+ 'kdepim-ktimetracker-libre'
+ 'kdepim-ktnef-libre'
+ 'kdepim-libkdepim-libre')
+pkgver=4.12.2
+pkgrel=1
+arch=('i686' 'x86_64' 'mips64el')
+url='http://pim.kde.org'
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdepim-libre')
+makedepends=('cmake' 'automoc4' 'boost' 'kdepim-runtime' 'libxss'
+ 'nepomuk-widgets' 'link-grammar')
+source=("http://download.kde.org/stable/${pkgver}/src/${_pkgbase}-${pkgver}.tar.xz")
+sha1sums=('c1e5f3284ab23233632ae27edb85f80588bb7e86')
+
+build() {
+ mkdir build
+ cd build
+ cmake ../${_pkgbase}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DKDE4_BUILD_TESTS=OFF \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DKDEPIM_BUILD_MOBILE=OFF
+ make
+}
+
+package_kdepim-akonadiconsole-libre() {
+ pkgdesc='Akonadi Management and Debugging Console, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim' 'nepomuk-widgets')
+ url='http://pim.kde.org'
+ replaces=('kdepim-akonadiconsole')
+ conflicts=('kdepim-akonadiconsole')
+ provides=("kdepim-akonadiconsole=${pkgver}")
+ install='kdepim.install'
+ cd "${srcdir}"/build/akonadiconsole
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-akregator-libre() {
+ pkgdesc='A Feed Reader for KDE, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/internet/akregator/"
+ replaces=('kdepim-akregator')
+ conflicts=('kdepim-akregator')
+ provides=("kdepim-akregator=${pkgver}")
+ install='kdepim-akregator.install'
+ cd "${srcdir}"/build/akregator
+ make DESTDIR="${pkgdir}" install
+ cd "${srcdir}"/build/kontact/plugins/akregator
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-blogilo-libre() {
+ pkgdesc='A KDE Blogging Client, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/internet/blogilo/"
+ replaces=('kdepim-blogilo' 'blogilo')
+ conflicts=('kdepim-blogilo' 'blogilo')
+ provides=("kdepim-blogilo=${pkgver}")
+ install='kdepim.install'
+ cd "${srcdir}"/build/blogilo
+ make DESTDIR="${pkgdir}" install
+ cd "${srcdir}"/build/composereditor-ng
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-console-libre() {
+ pkgdesc='Command line tool for accessing calendar files, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url='http://pim.kde.org'
+ replaces=('kdepim-console')
+ conflicts=('kdepim-console')
+ provides=("kdepim-console=${pkgver}")
+ install='kdepim.install'
+ cd "${srcdir}"/build/console
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-kaddressbook-libre() {
+ pkgdesc='Contact Manager, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/office/kaddressbook/"
+ replaces=('kdepim-kaddressbook')
+ conflicts=('kdepim-kaddressbook')
+ provides=("kdepim-kaddressbook=${pkgver}")
+ install='kdepim.install'
+ for i in kaddressbook kontact/plugins/kaddressbook \
+ plugins/kaddressbook contactthemeeditor; do
+ cd "${srcdir}"/build/${i}
+ make DESTDIR="${pkgdir}" install
+ done
+}
+
+package_kdepim-kalarm-libre() {
+ pkgdesc='Personal Alarm Scheduler, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/utilities/kalarm/"
+ replaces=('kdepim-kalarm')
+ conflicts=('kdepim-kalarm')
+ provides=("kdepim-kalarm=${pkgver}")
+ install='kdepim.install'
+ cd "${srcdir}"/build/kalarm
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-kjots-libre() {
+ pkgdesc='Note Taker, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/utilities/kjots/"
+ replaces=('kdepim-kjots')
+ conflicts=('kdepim-kjots')
+ provides=("kdepim-kjots=${pkgver}")
+ install='kdepim.install'
+ cd "${srcdir}"/build/kjots
+ make DESTDIR="${pkgdir}" install
+ cd "${srcdir}"/build/kontact/plugins/kjots
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-kleopatra-libre() {
+ pkgdesc='Certificate Manager and Unified Crypto GUI, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ install='kdepim-kleopatra.install'
+ url="http://kde.org/applications/utilities/kleopatra/"
+ replaces=('kdepim-kleopatra')
+ conflicts=('kdepim-kleopatra')
+ provides=("kdepim-kleopatra=${pkgver}")
+ cd "${srcdir}"/build/kleopatra
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-kmail-libre() {
+ pkgdesc='Mail Client, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/internet/kmail/"
+ install='kdepim-kmail.install'
+ conflicts=('kdepim-kmail' 'kdepim-kmailcvt' 'kdepim-ksendemail' 'kdepim-libksieve'
+ 'kdepim-mimelib' 'kdepim-plugins')
+ replaces=('kdepim-kmail' 'kdepim-kmailcvt' 'kdepim-ksendemail' 'kdepim-libksieve'
+ 'kdepim-mimelib' 'kdepim-plugins')
+ provides=("kdepim-kmail=${pkgver}")
+ for i in kmail kmailcvt agents/archivemailagent agents/folderarchiveagent\
+ agents/mailfilteragent importwizard ksendemail libksieve messagelist \
+ ontologies kontact/plugins/kmail headerthemeeditor mboximporter; do
+ cd "${srcdir}"/build/${i}
+ make DESTDIR="${pkgdir}" install
+ done
+}
+
+package_kdepim-knode-libre() {
+ pkgdesc='News Reader, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/internet/knode/"
+ replaces=('kdepim-knode')
+ conflicts=('kdepim-knode')
+ provides=("kdepim-knode=${pkgver}")
+ install='kdepim-knode.install'
+ cd "${srcdir}"/build/knode
+ make DESTDIR="${pkgdir}" install
+ cd "${srcdir}"/build/kontact/plugins/knode
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-knotes-libre() {
+ pkgdesc='Popup Notes, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/utilities/knotes/"
+ replaces=('kdepim-knotes')
+ conflicts=('kdepim-knotes')
+ provides=("kdepim-knotes=${pkgver}")
+ install='kdepim.install'
+ cd "${srcdir}"/build/knotes
+ make DESTDIR="${pkgdir}" install
+ cd "${srcdir}"/build/kontact/plugins/knotes
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-kontact-libre() {
+ pkgdesc='Personal Information Manager, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/office/kontact/"
+ install='kdepim.install'
+ conflicts=('kdepim-kontact' 'kdepim-kontactinterfaces')
+ replaces=('kdepim-kontact' 'kdepim-kontactinterfaces')
+ provides=("kdepim-kontact=${pkgver}")
+ for i in kontact/src kontact/plugins/summary \
+ kontact/plugins/specialdates; do
+ cd "${srcdir}"/build/${i}
+ make DESTDIR="${pkgdir}" install
+ done
+}
+
+package_kdepim-korganizer-libre() {
+ pkgdesc='Calendar and Scheduling Program, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url="http://kde.org/applications/office/korganizer"
+ replaces=('kdepim-korganizer')
+ conflicts=('kdepim-korganizer')
+ provides=("kdepim-korganizer=${pkgver}")
+ install='kdepim-korganizer.install'
+ for i in korganizer korgac kontact/plugins/korganizer calendarviews; do
+ cd "${srcdir}"/build/${i}
+ make DESTDIR="${pkgdir}" install
+ done
+}
+
+package_kdepim-kresources-libre() {
+ pkgdesc='KDE PIM resources, without nonfree pilot-link support'
+ depends=('kdepim-libkdepim')
+ url='http://pim.kde.org'
+ replaces=('kdepim-kresources')
+ conflicts=('kdepim-kresources')
+ provides=("kdepim-kresources=${pkgver}")
+ cd "${srcdir}"/build/kresources
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-ktimetracker-libre() {
+ pkgdesc='Personal Time Tracker, without nonfree pilot-link support'
+ depends=('kdepim-kresources')
+ url="http://kde.org/applications/utilities/ktimetracker/"
+ replaces=('kdepim-ktimetracker')
+ conflicts=('kdepim-ktimetracker')
+ provides=("kdepim-ktimetracker=${pkgver}")
+ install='kdepim.install'
+ cd "${srcdir}"/build/ktimetracker
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-ktnef-libre() {
+ pkgdesc='A viewer/extractor for TNEF files, without nonfree pilot-link support'
+ depends=('kdebase-runtime' 'kdepimlibs')
+ url="https://projects.kde.org/projects/kde/kdepim/ktnef"
+ install=kdepim-ktnef.install
+ replaces=('kdepim-ktnef')
+ conflicts=('kdepim-ktnef')
+ provides=("kdepim-ktnef=${pkgver}")
+ cd "${srcdir}"/build/ktnef
+ make DESTDIR="${pkgdir}" install
+}
+
+package_kdepim-libkdepim-libre() {
+ pkgdesc='Library for KDE PIM, without nonfree pilot-link support'
+ groups=()
+ depends=('kde-agent' 'kdepim-runtime' 'link-grammar')
+ url='http://pim.kde.org'
+ conflicts=('kdepim-libkdepim' 'kdepim-icons' 'kdepim-libkleo' 'kdepim-libkpgp'
+ 'kdepim-akonadi')
+ replaces=('kdepim-libkdepim' 'kdepim-icons' 'kdepim-libkleo' 'kdepim-libkpgp'
+ 'kdepim-akonadi')
+ provides=("kdepim-libkdepim=${pkgver}")
+ for i in agents/sendlateragent akonadi_next calendarsupport \
+ incidenceeditor-ng kaddressbookgrantlee kdgantt2 libkdepim \
+ libkdepimdbusinterfaces libkleo libkpgp mailcommon mailimporter \
+ messagecomposer messagecore messageviewer icons templateparser \
+ plugins/messageviewer grammar grantleetheme grantleethemeeditor \
+ plugins/ktexteditor pimactivity pimcommon pimsettingexporter; do
+ cd "${srcdir}"/build/${i}
+ make DESTDIR="${pkgdir}" install
+ done
+}
diff --git a/libre/kdepim-libre/fix-completion.patch b/libre/kdepim-libre/fix-completion.patch
new file mode 100644
index 000000000..c2edefe00
--- /dev/null
+++ b/libre/kdepim-libre/fix-completion.patch
@@ -0,0 +1,182 @@
+commit 6a06c57f52a00018d607085efa7570deb91dc707
+Author: David Faure <faure@kde.org>
+Date: Mon Apr 8 17:41:39 2013 +0200
+
+ Fix kmail autocompletion from akonadi.
+
+ My commit 02f5f0214e made autocompletion from nepomuk work better, but broke
+ completion from akonadi. I kept the "keywords" based code, but now it's only
+ used for the special case of nickname-based search (because the nickname shouldn't
+ appear in the completion item). For everything else it really doesn't make sense
+ to have a search engine (akonadi/nepomuk) on top of a search engine
+ (the one inside KCompletion).
+
+ This time I verified that:
+ * nepomuk search still works
+ * contacts from akonadi work again
+ * contact groups from akonadi work (after previous commit)
+ * nickname-search in akonadi still doesn't work, but it didn't before. More work
+ needed for that one. This is the only reason to keep KMailCompletion around btw,
+ everything else would work without it.
+
+ BUG: 259949
+ FIXED-IN: 4.10.3
+
+diff --git a/libkdepim/addresseelineedit.cpp b/libkdepim/addresseelineedit.cpp
+index b7b11be..ec4caf9 100644
+--- a/libkdepim/addresseelineedit.cpp
++++ b/libkdepim/addresseelineedit.cpp
+@@ -30,6 +30,8 @@
+ #include "completionordereditor.h"
+ #endif
+
++#include "kmailcompletion.h"
++
+ #include <Akonadi/Contact/ContactSearchJob>
+ #include <Akonadi/Contact/ContactGroupSearchJob>
+ #include <Akonadi/CollectionFetchJob>
+@@ -77,6 +79,10 @@
+
+ using namespace KPIM;
+
++namespace KPIM {
++ typedef QMap< QString, QPair<int,int> > CompletionItemsMap;
++}
++
+ class AddresseeLineEditStatic
+ {
+ public:
+@@ -496,11 +502,9 @@ void AddresseeLineEdit::Private::addCompletionItem( const QString &string, int w
+ s_static->completionItemMap.insert( string, qMakePair( weight, completionItemSource ) );
+ }
+
+- if ( keyWords == 0 ) {
+- s_static->completion->addItem( string, weight );
+- } else {
+- s_static->completion->addItemWithKeys( string, weight, keyWords );
+- }
++ s_static->completion->addItem(string, weight);
++ if (keyWords && !keyWords->isEmpty())
++ s_static->completion->addItemWithKeys(string, weight, keyWords); // see kmailcompletion.cpp
+ }
+
+ const QStringList KPIM::AddresseeLineEdit::Private::adjustedCompletionItems( bool fullSearch )
+@@ -1348,17 +1352,13 @@ void AddresseeLineEdit::addItem( const Akonadi::Item &item, int weight, int sour
+ void AddresseeLineEdit::addContactGroup( const KABC::ContactGroup &group, int weight, int source )
+ {
+ d->addCompletionItem( group.name(), weight, source );
+- QStringList keyWords;
+- keyWords.append( group.name() );
+- d->addCompletionItem( group.name(), weight, source, &keyWords );
+ }
+
+ void AddresseeLineEdit::addContact( const KABC::Addressee &addr, int weight, int source )
+ {
+ const QStringList emails = addr.emails();
+ QStringList::ConstIterator it;
+- const int prefEmailWeight = 1; //increment weight by prefEmailWeight
+- int isPrefEmail = prefEmailWeight; //first in list is preferredEmail
++ int isPrefEmail = 1; //first in list is preferredEmail
+ QStringList::ConstIterator end( emails.constEnd() );
+ for ( it = emails.constBegin(); it != end; ++it ) {
+ //TODO: highlight preferredEmail
+@@ -1368,40 +1368,6 @@ void AddresseeLineEdit::addContact( const KABC::Addressee &addr, int weight, int
+ const QString nickName = addr.nickName();
+ QString fullEmail = addr.fullEmail( email );
+
+- // Prepare keywords (for CompletionShell, CompletionPopup)
+- QStringList keyWords;
+- const QString realName = addr.realName();
+-
+- if ( !givenName.isEmpty() && !familyName.isEmpty() ) {
+- keyWords.append( givenName + QLatin1Char( ' ' ) + familyName );
+- keyWords.append( familyName + QLatin1Char( ' ' ) + givenName );
+- keyWords.append( familyName + QLatin1String( ", " ) + givenName );
+- } else if ( !givenName.isEmpty() ) {
+- keyWords.append( givenName );
+- } else if ( !familyName.isEmpty() ) {
+- keyWords.append( familyName );
+- }
+-
+- if ( !nickName.isEmpty() ) {
+- keyWords.append( nickName );
+- }
+-
+- if ( !realName.isEmpty() ) {
+- keyWords.append( realName );
+- }
+-
+- keyWords.append( email );
+-
+- /* KMailCompletion does not have knowledge about identities, it stores emails and
+- * keywords for each email. KMailCompletion::allMatches does a lookup on the
+- * keywords and returns an ordered list of emails. In order to get the preferred
+- * email before others for each identity we use this little trick.
+- * We remove the <blank> in adjustedCompletionItems.
+- */
+- if ( isPrefEmail == prefEmailWeight ) {
+- fullEmail.replace( QLatin1String( " <" ), QLatin1String( " <" ) );
+- }
+-
+ // Prepare "givenName" + ' ' + "familyName"
+ QString fullName = givenName;
+ if (!familyName.isEmpty()) {
+@@ -1413,12 +1379,16 @@ void AddresseeLineEdit::addContact( const KABC::Addressee &addr, int weight, int
+ // Finally, we can add the completion items
+ if (!fullName.isEmpty()) {
+ const QString address = KPIMUtils::normalizedAddress(fullName, email, QString());
+- d->addCompletionItem(address, weight + isPrefEmail, source, &keyWords);
++ if (fullEmail != address) {
++ // This happens when fullEmail contains a middle name, while our own fullName+email only has "first last".
++ // Let's offer both, the fullEmail with 3 parts, looks a tad formal.
++ d->addCompletionItem(address, weight + isPrefEmail, source);
++ }
+ }
+
+- if ( !nickName.isEmpty() ) {
+- const QString address = KPIMUtils::normalizedAddress(nickName, email, QString());
+- d->addCompletionItem(address, weight + isPrefEmail, source, &keyWords);
++ QStringList keyWords;
++ if (!nickName.isEmpty()) {
++ keyWords.append(nickName);
+ }
+
+ d->addCompletionItem( fullEmail, weight + isPrefEmail, source, &keyWords );
+diff --git a/libkdepim/addresseelineedit.h b/libkdepim/addresseelineedit.h
+index 4e6784b..b2af4a9 100644
+--- a/libkdepim/addresseelineedit.h
++++ b/libkdepim/addresseelineedit.h
+@@ -27,7 +27,6 @@
+ #ifndef KDEPIM_ADDRESSEELINEEDIT_H
+ #define KDEPIM_ADDRESSEELINEEDIT_H
+
+-#include "kmailcompletion.h"
+ #include "kdepim_export.h"
+
+ #include "ldap/ldapclient.h"
+@@ -50,10 +49,6 @@ namespace KABC {
+ class ContactGroup;
+ }
+
+-namespace KPIM {
+- typedef QMap< QString, QPair<int,int> > CompletionItemsMap;
+-}
+-
+ namespace Nepomuk2 {
+ namespace Query {
+ class Result;
+diff --git a/libkdepim/kmailcompletion.h b/libkdepim/kmailcompletion.h
+index e8574cc..93771d3 100644
+--- a/libkdepim/kmailcompletion.h
++++ b/libkdepim/kmailcompletion.h
+@@ -32,7 +32,9 @@ namespace KPIM {
+
+ /**
+ * KMailCompletion allows lookup of email addresses by keyword.
+- * Typically a keywods would be firstname, lastname, nickname or domain.
++ * This is used for lookup by nickname, since we don't want the nickname to appear in the final email.
++ * E.g. you have a nickname "idiot" for your boss, you want to type "idiot" but you want the completion
++ * to offer "Full Name <email@domain>", without the nickname being visible.
+ */
+ class KMailCompletion : public KCompletion
+ {
diff --git a/libre/kdepim-libre/kdepim-akregator.install b/libre/kdepim-libre/kdepim-akregator.install
new file mode 100644
index 000000000..5787df72f
--- /dev/null
+++ b/libre/kdepim-libre/kdepim-akregator.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdepim-libre/kdepim-kleopatra.install b/libre/kdepim-libre/kdepim-kleopatra.install
new file mode 100644
index 000000000..5787df72f
--- /dev/null
+++ b/libre/kdepim-libre/kdepim-kleopatra.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdepim-libre/kdepim-kmail.install b/libre/kdepim-libre/kdepim-kmail.install
new file mode 100644
index 000000000..5787df72f
--- /dev/null
+++ b/libre/kdepim-libre/kdepim-kmail.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdepim-libre/kdepim-knode.install b/libre/kdepim-libre/kdepim-knode.install
new file mode 100644
index 000000000..5787df72f
--- /dev/null
+++ b/libre/kdepim-libre/kdepim-knode.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdepim-libre/kdepim-korganizer.install b/libre/kdepim-libre/kdepim-korganizer.install
new file mode 100644
index 000000000..5787df72f
--- /dev/null
+++ b/libre/kdepim-libre/kdepim-korganizer.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdepim-libre/kdepim-ktnef.install b/libre/kdepim-libre/kdepim-ktnef.install
new file mode 100644
index 000000000..5787df72f
--- /dev/null
+++ b/libre/kdepim-libre/kdepim-ktnef.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdepim-libre/kdepim.install b/libre/kdepim-libre/kdepim.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/libre/kdepim-libre/kdepim.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kdeutils-ark-libre/PKGBUILD b/libre/kdeutils-ark-libre/PKGBUILD
new file mode 100644
index 000000000..b7a3d7047
--- /dev/null
+++ b/libre/kdeutils-ark-libre/PKGBUILD
@@ -0,0 +1,45 @@
+# $Id: PKGBUILD 205392 2014-02-04 14:07:41Z svenstaro $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=kdeutils-ark
+pkgname=kdeutils-ark-libre
+pkgver=4.12.2
+pkgrel=1
+pkgdesc='Archiving Tool, with unar support'
+url='http://kde.org/applications/utilities/ark/'
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL' 'LGPL' 'FDL')
+groups=('kde' 'kdeutils')
+depends=('kdebase-runtime' 'kdebase-lib' 'libarchive' 'qjson')
+makedepends=('cmake' 'automoc4')
+optdepends=('p7zip' 'zip' 'unzip' 'unar')
+install=${_pkgname}.install
+provides=("kdeutils-ark=$pkgver")
+replaces=('kdeutils-ark')
+conflicts=('kdeutils-ark')
+source=("http://download.kde.org/stable/${pkgver}/src/ark-${pkgver}.tar.xz"
+ 'ark-unar-06.patch')
+sha1sums=('ab99d0b78536f187566e1f0a602f41551bbf0f29'
+ 'a0a836950f185d9b2245204579f969203036fdec')
+
+build() {
+ cd "${srcdir}/ark-${pkgver}"
+
+ # This patch will allow Ark to use The Unarchiver command line utilities (unar/lsar) to operate on RAR files, particularly RARv3.
+ patch -Np1 -i "${srcdir}/ark-unar-06.patch"
+
+ cd ..
+ mkdir build
+ cd build
+ cmake ../ark-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DKDE4_BUILD_TESTS=OFF \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd $srcdir/build
+ make DESTDIR=$pkgdir install
+}
diff --git a/libre/kdeutils-ark-libre/ark-unar-06.patch b/libre/kdeutils-ark-libre/ark-unar-06.patch
new file mode 100644
index 000000000..ab2ef274f
--- /dev/null
+++ b/libre/kdeutils-ark-libre/ark-unar-06.patch
@@ -0,0 +1,236 @@
+diff --git a/plugins/cliunarchiverplugin/kerfuffle_cliunarchiver.desktop b/plugins/cliunarchiverplugin/kerfuffle_cliunarchiver.desktop
+new file mode 100644
+index 0000000..2b5bd9e
+--- /dev/null
++++ b/plugins/cliunarchiverplugin/kerfuffle_cliunarchiver.desktop
+@@ -0,0 +1,15 @@
++[Desktop Entry]
++Type=Service
++X-KDE-ServiceTypes=Kerfuffle/Plugin
++X-KDE-Library=kerfuffle_cliunarchiver
++X-KDE-PluginInfo-Author=Luke Shumaker
++X-KDE-PluginInfo-Email=lukeshu@sbcglobal.net
++X-KDE-PluginInfo-Name= kerfuffle_cliunarchiver
++X-KDE-PluginInfo-Version=0.0.1
++X-KDE-PluginInfo-Website=http://www.kde.org
++X-KDE-PluginInfo-License=GPLv2+
++X-KDE-Priority=150
++X-KDE-Kerfuffle-APIRevision=1
++X-KDE-Kerfuffle-ReadWrite=false
++Name=The Unarchiver plugin
++MimeType=application/x-rar;
+diff --git a/plugins/cliunarchiverplugin/cliplugin.cpp b/plugins/cliunarchiverplugin/cliplugin.cpp
+new file mode 100644
+index 0000000..e0adcf7
+--- /dev/null
++++ b/plugins/cliunarchiverplugin/cliplugin.cpp
+@@ -0,0 +1,170 @@
++ /*
++ * ark -- archiver for the KDE project
++ *
++ * Copyright (C) 2011 Luke Shumaker <lukeshu@sbcglobal.net>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * as published by the Free Software Foundation; either version 2
++ * of the License, or (at your option) any later version.
++ *
++ * This program 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 General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
++ *
++ */
++
++#include "kerfuffle/cliinterface.h"
++#include "kerfuffle/kerfuffle_export.h"
++
++#include <KDebug>
++
++#include <QDateTime>
++#include <QDir>
++#include <QRegExp>
++#include <QString>
++#include <QStringList>
++
++using namespace Kerfuffle;
++
++class CliPlugin: public CliInterface
++{
++public:
++ explicit CliPlugin(QObject *parent, const QVariantList & args)
++ : CliInterface(parent, args) {
++ m_indentLevel = 0;
++ }
++
++ virtual ~CliPlugin() {
++ }
++
++ virtual ParameterList parameterList() const {
++ static ParameterList p;
++ if (p.isEmpty()) {
++ /* Limitations:
++ * 01 - creates an empty file upon entering wrong password
++ * 02 - unar detects if output is being redirected and then does not accept any input
++ */
++
++ ///////////////[ COMMON ]/////////////
++
++ p[CaptureProgress] = false;
++ p[PasswordPromptPattern] = QLatin1String("Password (will not be shown): ");
++
++ ///////////////[ LIST ]/////////////
++
++ p[ListProgram] = QLatin1String("lsar");
++ p[ListArgs] = QStringList() << QLatin1String("-json") << QLatin1String("$Archive");
++
++ ///////////////[ EXTRACT ]/////////////
++
++ p[ExtractProgram] = QLatin1String("unar");
++ p[ExtractArgs] = QStringList() << QLatin1String("$Archive") << QLatin1String("$Files") << QLatin1String("$PasswordSwitch") << QLatin1String("$RootNodeSwitch");
++ p[NoTrailingSlashes] = true;
++ p[PasswordSwitch] = QStringList() << QLatin1String("-password") << QLatin1String("$Password");
++ p[RootNodeSwitch] = QStringList() << QLatin1String("-output-directory") << QLatin1String("$Path");
++ p[FileExistsExpression] = QLatin1String("^\\\"(.+)\\\" already exists.");
++ p[FileExistsInput] = QStringList()
++ << QLatin1String("o") //overwrite
++ << QLatin1String("s") //skip
++ << QLatin1String("O") //overwrite all
++ << QLatin1String("S") //autoskip
++ << QLatin1String("q") //cancel
++ ;
++
++ ///////////////[ DELETE ]/////////////
++
++ p[DeleteProgram] = QLatin1String("x-fakeprogram");
++ //p[DeleteArgs] =
++
++ ///////////////[ ADD ]/////////////
++
++ p[AddProgram] = QLatin1String("x-fakeprogram");
++ //p[AddArgs] =
++
++ ///////////////[ ERRORS ]/////////////
++
++ p[ExtractionFailedPatterns] = QStringList()
++ << QLatin1String("Failed! \\((.+)\\)$")
++ << QLatin1String("Segmentation fault$");
++
++ p[WrongPasswordPatterns] = QStringList()
++ << QLatin1String("Failed! \\((.+)\\)$");
++ }
++ return p;
++ }
++
++ QString m_entryFilename, m_internalId;
++ ArchiveEntry m_currentEntry;
++ int m_indentLevel;
++
++ bool readListLine(const QString &line) {
++ /* lsar will give us JSON output. However, we actually parse based on
++ * the indentation. Ugly, I know, but
++ * 1. It's easier
++ * 2. lsar's JSON is invalid JSON, so actual parsers bork.
++ */
++
++ int spaces;
++ for(spaces=0;(spaces<line.size())&&(line[spaces]==QLatin1Char(' '));spaces++){}
++ // Since this is so ugly anyway, I'm not even going to check to
++ // make sure that spaces is even. I mean, what would I do about it?
++ int m_newIndentLevel = spaces/2;
++
++ if (m_newIndentLevel>m_indentLevel) {
++ if (m_newIndentLevel==3) {
++ m_currentEntry.clear();
++ m_currentEntry[IsDirectory] = false;
++ }
++ } else if (m_newIndentLevel<m_indentLevel) {
++ if ( (m_newIndentLevel<3) && (m_indentLevel>=3) ) {
++ EntryMetaDataType index = IsDirectory;
++ if (m_currentEntry[index].toBool()) {
++ m_currentEntry[FileName].toString().append(QLatin1String("/"));
++ }
++ kDebug() << "Added entry:" << m_currentEntry;
++ entry(m_currentEntry);
++ }
++ }
++ m_indentLevel = m_newIndentLevel;
++
++ QRegExp rx(QLatin1String("^\\s*\"([^\"]*)\": (.*),$"));
++ if (rx.indexIn(line) >= 0) {
++ QRegExp rx_unquote(QLatin1String("^\"(.*)\"$"));
++ QString key = rx.cap(1);
++ QString value = rx.cap(2);
++
++ if (false) {
++ } else if (key==QLatin1String("XADFileName")) {
++ rx_unquote.indexIn(value);
++ m_currentEntry[FileName] = m_currentEntry[InternalID] = rx_unquote.cap(1);
++ } else if (key==QLatin1String("XADFileSize")) {
++ m_currentEntry[Size] = value.toInt();
++ } else if (key==QLatin1String("XADCompressedSize")) {
++ m_currentEntry[CompressedSize] = value.toInt();
++ } else if (key==QLatin1String("XADLastModificationDate")) {
++ QDateTime ts(QDate::fromString(value, QLatin1String("\"YYYY-MM-DD hh:mm:ss")));
++ m_currentEntry[Timestamp] = ts;
++ } else if (key==QLatin1String("XADIsDirectory")) {
++ m_currentEntry[IsDirectory] = (value==QLatin1String("1"));
++ } else if (key==QLatin1String("RARCRC32")) {
++ m_currentEntry[CRC] = value.toInt();
++ } else if (key==QLatin1String("RARCompressionMethod")) {
++ m_currentEntry[Method] = value.toInt();
++ } else if (key==QLatin1String("Encrypted")) {
++ m_currentEntry[IsPasswordProtected] = (value.toInt() != 0);
++ }
++ // TODO: add RAR version. ([Version])
++ }
++
++ return true;
++ }
++};
++
++KERFUFFLE_EXPORT_PLUGIN(CliPlugin)
++
+diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt
+index 3619412..6368839 100644
+--- a/plugins/CMakeLists.txt
++++ b/plugins/CMakeLists.txt
+@@ -20,6 +20,7 @@ if (LIBARCHIVE_FOUND)
+ endif (LIBARCHIVE_FOUND)
+
+ add_subdirectory( clirarplugin )
++add_subdirectory( cliunarchiverplugin )
+ add_subdirectory( cli7zplugin )
+ add_subdirectory( clizipplugin )
+ add_subdirectory( libsinglefileplugin )
+diff --git a/plugins/cliunarchiverplugin/CMakeLists.txt b/plugins/cliunarchiverplugin/CMakeLists.txt
+new file mode 100644
+index 0000000..ccd52e7
+--- /dev/null
++++ b/plugins/cliunarchiverplugin/CMakeLists.txt
+@@ -0,0 +1,21 @@
++
++include_directories(
++ ${CMAKE_CURRENT_SOURCE_DIR}/../..
++ ${CMAKE_CURRENT_BINARY_DIR}/../..
++ )
++
++########### next target ###############
++
++set(kerfuffle_cliunarchiver_SRCS cliplugin.cpp)
++
++kde4_add_plugin(kerfuffle_cliunarchiver ${kerfuffle_cliunarchiver_SRCS})
++
++target_link_libraries(kerfuffle_cliunarchiver ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} kerfuffle )
++
++
++
++########### install files ###############
++
++install(TARGETS kerfuffle_cliunarchiver DESTINATION ${PLUGIN_INSTALL_DIR} )
++install( FILES kerfuffle_cliunarchiver.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
++
diff --git a/libre/kdeutils-ark-libre/kdeutils-ark.install b/libre/kdeutils-ark-libre/kdeutils-ark.install
new file mode 100644
index 000000000..8a26818d8
--- /dev/null
+++ b/libre/kdeutils-ark-libre/kdeutils-ark.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_update() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kile-libre/PKGBUILD b/libre/kile-libre/PKGBUILD
new file mode 100644
index 000000000..7bd98b5f5
--- /dev/null
+++ b/libre/kile-libre/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 171256 2012-11-16 22:51:16Z allan $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: Damir Perisa <damir.perisa@bluewin.ch>
+# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
+# Contributor (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=kile
+pkgname=kile-libre
+pkgver=2.1.3
+pkgrel=2
+pkgdesc="A user friendly TeX/LaTeX frontend for KDE"
+arch=("i686" "x86_64")
+license=('GPL2')
+url="http://kile.sourceforge.net/"
+depends=('kdebase-runtime' 'texlive-core' 'kdebase-katepart')
+makedepends=('cmake' 'automoc4')
+optdepends=('kdebase-konsole: embedded terminal')
+conflicts=('kile')
+replaces=('kile')
+provides=('kile')
+install=${_pkgname}.install
+source=("http://downloads.sourceforge.net/$_pkgname/$_pkgname-$pkgver.tar.bz2"
+ "no-acroread.patch")
+sha1sums=('1a80748d5f01f359b5e5c28140ec90691f0166c5'
+ '9bbe5d1b0e2a78b13667fcf4e5e21f801447f9d6')
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ # Don't recommend a nonfree PDF viewer.
+ patch -Np1 -i "${srcdir}/no-acroread.patch"
+ cd ..
+ mkdir build
+ cd build
+ cmake ../${_pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/libre/kile-libre/kile.install b/libre/kile-libre/kile.install
new file mode 100644
index 000000000..9fe93eeac
--- /dev/null
+++ b/libre/kile-libre/kile.install
@@ -0,0 +1,13 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-mime-database usr/share/mime &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/kile-libre/no-acroread.patch b/libre/kile-libre/no-acroread.patch
new file mode 100644
index 000000000..7d305a2d0
--- /dev/null
+++ b/libre/kile-libre/no-acroread.patch
@@ -0,0 +1,97 @@
+diff -Nru kile-2.1.orig/README-win.txt kile-2.1/README-win.txt
+--- kile-2.1.orig/README-win.txt 2011-12-18 14:44:55.824341708 +0100
++++ kile-2.1/README-win.txt 2011-12-18 14:49:23.722382332 +0100
+@@ -10,8 +10,6 @@
+ -----------------------------
+ The most common problem you'll prbably encounter when trying to use Kile on Windows is Kile not being able to find all the supporting applications it depends on (latex, dvips, etc). If this happens, the easiest solution is to just add the directories containing these programs to your PATH variable (details below). To see which programs Kile is able to find, run the system checker (Settings -> System Checker) and see what you get.
+
+-Note: acroread does not by default add itself to your PATH so you probably won't be able to use it directly. However, if you have Adobe Reader setup as your default PDF viewer, setting Kile to System Default for ViewPDF should still work. You could also just add C:\Program Files\Adobe\path\to\acrord32.exe to your path but it isn't really necessary.
+-
+ Setting your PATH
+ -----------------
+ At a minimum, latex.exe and friends should be in your PATH. MikTeX will do this for you during the install process, but if it doesn't work for some reason, you can add it manually by:
+diff -Nru kile-2.1.orig/src/configtester.cpp kile-2.1/src/configtester.cpp
+--- kile-2.1.orig/src/configtester.cpp 2011-12-18 14:44:55.697674394 +0100
++++ kile-2.1/src/configtester.cpp 2011-12-18 14:46:52.644940609 +0100
+@@ -159,11 +159,6 @@
+ // which are not needed, but probably useful for the work with kile
+ ConfigTest::addFailureMessage("dvipng", i18n("You cannot use the png preview for mathgroups in the bottom bar."));
+ ConfigTest::addFailureMessage("convert", i18n("You cannot use the png previews with conversions 'dvi->ps->png' and 'pdf->png'."));
+-#ifdef Q_WS_WIN
+- ConfigTest::addFailureMessage("acrord32", i18n("You cannot open pdf documents with Adobe Reader because acroread could not be found in your path. <br>If Adobe Reader is your default pdf viewer, try setting ViewPDF to System Default. Alternatively, you could use Okular."));
+-#else
+- ConfigTest::addFailureMessage("acroread", i18n("You cannot open pdf documents with Adobe Reader, but you could use Okular."));
+-#endif
+
+ ConfigTest::addPrettyName("okular", i18n("ForwardDVI"));
+ ConfigTest::addSuccessMessage("okular", i18n("Supported."));
+diff -Nru kile-2.1.orig/src/data/kilestdtools.rc kile-2.1/src/data/kilestdtools.rc
+--- kile-2.1.orig/src/data/kilestdtools.rc 2011-12-18 14:44:55.787674856 +0100
++++ kile-2.1/src/data/kilestdtools.rc 2011-12-18 14:47:50.381903415 +0100
+@@ -747,15 +747,6 @@
+ state=Viewer
+ type=Part
+
+-[Tool/ViewPDF/Acroread]
+-class=View
+-command=acroread
+-options='%target'
+-state=Viewer
+-from=pdf
+-to=pdf
+-type=Process
+-
+ [Tool/Lilypond/PDF]
+ class=Compile
+ command=lilypond
+diff -Nru kile-2.1.orig/src/data/kilestdtools-win.rc kile-2.1/src/data/kilestdtools-win.rc
+--- kile-2.1.orig/src/data/kilestdtools-win.rc 2011-12-18 14:44:55.741007951 +0100
++++ kile-2.1/src/data/kilestdtools-win.rc 2011-12-18 14:47:59.695284518 +0100
+@@ -740,15 +740,6 @@
+ state=Viewer
+ type=Part
+
+-[Tool/ViewPDF/Acroread]
+-class=View
+-command=acroread
+-options="%target"
+-state=Viewer
+-from=pdf
+-to=pdf
+-type=Process
+-
+ [Tool/ViewPDF/SystemDefault]
+ class=View
+ command=cmd
+diff -Nru kile-2.1.orig/src/test/runTests.bat kile-2.1/src/test/runTests.bat
+--- kile-2.1.orig/src/test/runTests.bat 2011-12-18 14:44:55.697674394 +0100
++++ kile-2.1/src/test/runTests.bat 2011-12-18 14:45:37.097886600 +0100
+@@ -185,12 +185,6 @@
+ call :setKey executable okular
+ call :findAndSetWhere okular
+
+-echo starting test: Acroread
+-call :setTool Acroread
+-call :setKey mustpass ""
+-call :setKey executable acrord32
+-call :findAndSetWhere acrord32
+-
+ echo starting test: DVItoPNG
+ call :setTool DVItoPNG
+ call :setKey mustpass ""
+diff -Nru kile-2.1.orig/src/test/runTests.sh kile-2.1/src/test/runTests.sh
+--- kile-2.1.orig/src/test/runTests.sh 2011-12-18 14:44:55.697674394 +0100
++++ kile-2.1/src/test/runTests.sh 2011-12-18 14:45:26.427831910 +0100
+@@ -210,12 +210,6 @@
+ performTest okular "isTheOkularVersionRecentEnough"
+ setKey where `which okular`
+
+-echo "starting test: Acroread"
+-setTool Acroread
+-setKey mustpass ""
+-setKey executable acroread
+-setKey where `which acroread`
+-
+ echo "starting test: DVItoPNG"
+ setTool DVItoPNG
+ setKey mustpass ""
diff --git a/libre/libclc-svn/PKGBUILD b/libre/libclc-svn/PKGBUILD
new file mode 100644
index 000000000..3b7034348
--- /dev/null
+++ b/libre/libclc-svn/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Márcio Silva <coadde@lavabit.com>
+
+_pkgname=libclc
+pkgname=$_pkgname-svn
+pkgver=$(LC_ALL=C date -u +%Y%m%d)
+pkgrel=1
+arch=(mips64el x86_64 i686)
+pkgdesc='Library requirements of the OpenCL C programming language'
+url=http://libclc.llvm.org/
+license=MIT
+depends=llvm-libs
+makedepends=(clang python2 svn)
+provides=($_pkgname)
+conflicts=$_pkgname
+source=$_pkgname::svn+http://llvm.org/svn/llvm-project/libclc/trunk
+sha512sums=SKIP
+
+prepare() {
+ sed -i 's|/usr/bin/python|/usr/bin/python2|g;
+ ' $srcdir/$_pkgname/{configure,build/ninja_syntax}.py
+}
+
+build() {
+ cd $srcdir/$_pkgname
+ ./configure.py --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$_pkgname
+ make DESTDIR=$pkgdir install
+ install -vDm644 LICENSE.TXT $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/libre/libquicktime-libre/PKGBUILD b/libre/libquicktime-libre/PKGBUILD
new file mode 100644
index 000000000..4da010a38
--- /dev/null
+++ b/libre/libquicktime-libre/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 100489 2013-11-05 09:06:26Z bpiotrowski $
+# Maintainer: Federico Cinelli <cinelli@aur.archlinux.org>
+# Maintainer: Mateusz Herych <heniekk@gmail.com>
+# Contributor (Parabola): Jorge Lopez <jorginho@lavabit.com>
+
+pkgname=libquicktime-libre
+_pkgname=libquicktime
+pkgver=1.2.4
+pkgrel=8
+pkgdesc="A library for reading and writing quicktime files, without nonfree faac support"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://libquicktime.sourceforge.net/"
+depends=('gtk2' 'ffmpeg' 'libxv' 'libxaw' 'faad2')
+makedepends=('mesa-libgl')
+source=("http://downloads.sourceforge.net/sourceforge/$_pkgname/$_pkgname-$pkgver.tar.gz"
+ ffmpeg2.0.patch)
+sha256sums=('1c53359c33b31347b4d7b00d3611463fe5e942cae3ec0fefe0d2fd413fd47368'
+ 'a1c8415e8e7bc04c81b946b9e3746f7d5ef24819135962280c3a7ddb3f2baa2b')
+provides=("$_pkgname=$pkgver")
+conflicts=($_pkgname)
+replaces=($_pkgname)
+
+prepare() {
+ cd $_pkgname-$pkgver
+ patch -Np1 -i ../ffmpeg2.0.patch
+}
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ ./configure --prefix=/usr \
+ --enable-gpl \
+ --with-ffmpeg \
+ --with-x264 \
+ --without-doxygen
+ make
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
diff --git a/libre/libquicktime-libre/ffmpeg2.0.patch b/libre/libquicktime-libre/ffmpeg2.0.patch
new file mode 100644
index 000000000..6bec4d99a
--- /dev/null
+++ b/libre/libquicktime-libre/ffmpeg2.0.patch
@@ -0,0 +1,135 @@
+Binary files a/plugins/ffmpeg/.lqt_ffmpeg.c.swp and b/plugins/ffmpeg/.lqt_ffmpeg.c.swp differ
+diff -rupN a/plugins/ffmpeg/ffmpeg.h b/plugins/ffmpeg/ffmpeg.h
+--- a/plugins/ffmpeg/ffmpeg.h 2012-02-15 20:48:30.000000000 +0100
++++ b/plugins/ffmpeg/ffmpeg.h 2013-07-15 15:05:19.307534593 +0200
+@@ -45,3 +45,7 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
+
+
+ #endif
++#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
++#define CODEC_FLAG2_STRICT_GOP 0x00000002
++#define CODEC_FLAG_QP_RD 0x08000000
++#define CODEC_FLAG_CBP_RD 0x04000000
+diff -rupN a/plugins/ffmpeg/lqt_ffmpeg.c b/plugins/ffmpeg/lqt_ffmpeg.c
+--- a/plugins/ffmpeg/lqt_ffmpeg.c 2012-02-15 20:48:30.000000000 +0100
++++ b/plugins/ffmpeg/lqt_ffmpeg.c 2013-07-15 15:19:09.730831655 +0200
+@@ -89,19 +89,8 @@ int ffmpeg_num_video_codecs = -1;
+ PARAM_QSCALE, \
+ PARAM_QCOMPRESS, \
+ PARAM_QBLUR, \
+- PARAM_QUANTIZER_NOISE_SHAPING, \
+ PARAM_TRELLIS
+
+-#define ENCODE_PARAM_VIDEO_QUANTIZER_IP \
+- ENCODE_PARAM_VIDEO_QUANTIZER_I, \
+- PARAM_I_QUANT_FACTOR, \
+- PARAM_I_QUANT_OFFSET
+-
+-#define ENCODE_PARAM_VIDEO_QUANTIZER_IPB \
+- ENCODE_PARAM_VIDEO_QUANTIZER_IP, \
+- PARAM_B_QUANT_FACTOR, \
+- PARAM_B_QUANT_OFFSET
+-
+ #define ENCODE_PARAM_VIDEO_FRAMETYPES_IP \
+ { \
+ .name = "frame_types", \
+@@ -207,7 +196,6 @@ static lqt_parameter_info_static_t encod
+ ENCODE_PARAM_VIDEO_FRAMETYPES_IPB,
+ PARAM_FLAG_AC_PRED_MPEG4,
+ ENCODE_PARAM_VIDEO_RATECONTROL,
+- ENCODE_PARAM_VIDEO_QUANTIZER_IPB,
+ PARAM_FLAG_CBP_RD,
+ ENCODE_PARAM_VIDEO_ME,
+ PARAM_FLAG_GMC,
+@@ -225,7 +213,6 @@ static lqt_parameter_info_static_t encod
+ static lqt_parameter_info_static_t encode_parameters_dx50[] = {
+ ENCODE_PARAM_VIDEO_FRAMETYPES_IP,
+ ENCODE_PARAM_VIDEO_RATECONTROL,
+- ENCODE_PARAM_VIDEO_QUANTIZER_IP,
+ ENCODE_PARAM_VIDEO_ME,
+ ENCODE_PARAM_VIDEO_ME_PRE,
+ ENCODE_PARAM_VIDEO_MASKING,
+@@ -237,7 +224,6 @@ static lqt_parameter_info_static_t encod
+ static lqt_parameter_info_static_t encode_parameters_h263[] = {
+ ENCODE_PARAM_VIDEO_FRAMETYPES_IP,
+ ENCODE_PARAM_VIDEO_RATECONTROL,
+- ENCODE_PARAM_VIDEO_QUANTIZER_IP,
+ ENCODE_PARAM_VIDEO_ME,
+ PARAM_FLAG_4MV,
+ ENCODE_PARAM_VIDEO_ME_PRE,
+@@ -250,7 +236,6 @@ static lqt_parameter_info_static_t encod
+ static lqt_parameter_info_static_t encode_parameters_h263p[] = {
+ ENCODE_PARAM_VIDEO_FRAMETYPES_IP,
+ ENCODE_PARAM_VIDEO_RATECONTROL,
+- ENCODE_PARAM_VIDEO_QUANTIZER_IP,
+ ENCODE_PARAM_VIDEO_ME,
+ PARAM_FLAG_4MV,
+ ENCODE_PARAM_VIDEO_ME_PRE,
+@@ -264,7 +249,6 @@ static lqt_parameter_info_static_t encod
+ static lqt_parameter_info_static_t encode_parameters_msmpeg4v3[] = {
+ ENCODE_PARAM_VIDEO_FRAMETYPES_IP,
+ ENCODE_PARAM_VIDEO_RATECONTROL,
+- ENCODE_PARAM_VIDEO_QUANTIZER_IP,
+ ENCODE_PARAM_VIDEO_ME,
+ ENCODE_PARAM_VIDEO_ME_PRE,
+ ENCODE_PARAM_VIDEO_MASKING,
+diff -rupN a/plugins/ffmpeg/params.c b/plugins/ffmpeg/params.c
+--- a/plugins/ffmpeg/params.c 2012-03-07 15:10:41.000000000 +0100
++++ b/plugins/ffmpeg/params.c 2013-07-15 15:09:38.214189953 +0200
+@@ -202,8 +202,10 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
+ PARAM_INT("ff_max_b_frames",max_b_frames);
+ PARAM_FLOAT("ff_b_quant_factor",b_quant_factor);
+ PARAM_INT("ff_b_frame_strategy",b_frame_strategy);
++#if (LIBAVCODEC_VERSION_MAJOR < 55)
+ PARAM_INT("ff_luma_elim_threshold",luma_elim_threshold);
+ PARAM_INT("ff_chroma_elim_threshold",chroma_elim_threshold);
++#endif
+ PARAM_INT("ff_strict_std_compliance",strict_std_compliance);
+ PARAM_QP2LAMBDA("ff_b_quant_offset",b_quant_offset);
+ PARAM_INT("ff_rc_min_rate",rc_min_rate);
+@@ -241,8 +243,10 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
+ PARAM_QP2LAMBDA("ff_lmax", lmax);
+ PARAM_INT("ff_noise_reduction",noise_reduction);
+ PARAM_INT_SCALE("ff_rc_initial_buffer_occupancy",rc_initial_buffer_occupancy,1000);
++#if #if (LIBAVCODEC_VERSION_MAJOR < 55)
+ PARAM_INT("ff_inter_threshold",inter_threshold);
+ PARAM_INT("ff_quantizer_noise_shaping",quantizer_noise_shaping);
++#endif
+ PARAM_INT("ff_thread_count",thread_count);
+ PARAM_INT("ff_me_threshold",me_threshold);
+ PARAM_INT("ff_mb_threshold",mb_threshold);
+diff -rupN a/plugins/ffmpeg/params.h b/plugins/ffmpeg/params.h
+--- a/plugins/ffmpeg/params.h 2011-05-11 17:13:39.000000000 +0200
++++ b/plugins/ffmpeg/params.h 2013-07-15 15:09:04.860858069 +0200
+@@ -177,6 +177,7 @@ the reference. Unused for constant quant
+ .val_max = { .val_int = 1 }, \
+ }
+
++#if (LIBAVCODEC_VERSION_MAJOR < 55)
+ #define PARAM_LUMA_ELIM_THRESHOLD \
+ { \
+ .name = "ff_luma_elim_threshold", \
+@@ -202,6 +203,7 @@ recommendation") \
+ chrominamce. Negative values also consider dc \
+ coefficient. 7 is JVT recommendation") \
+ }
++#endif
+
+ #define PARAM_STRICT_STANDARD_COMPLIANCE \
+ { \
+@@ -739,6 +741,7 @@ with max and/or min bitrate, this must b
+
+ /* Does nothing */
+ /** Frame types */
++#if (LIBAVCODEC_VERSION_MAJOR < 55)
+ #define PARAM_INTER_THRESHOLD \
+ { \
+ .name = "ff_inter_threshold", \
+@@ -759,6 +762,7 @@ with max and/or min bitrate, this must b
+ .help_string = TRS("Choose quantization such that noise will be masked by " \
+ "similar-frequency content in the image") \
+ }
++#endif
+
+ /** Motion estimation */
+ #define PARAM_ME_THRESHOLD \
diff --git a/libre/libretools/PKGBUILD b/libre/libretools/PKGBUILD
index 51d33f1cd..53e9afb22 100644
--- a/libre/libretools/PKGBUILD
+++ b/libre/libretools/PKGBUILD
@@ -1,5 +1,5 @@
# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
-# Contributor: Joshua Haase <hahj87@gmail.com
+# Contributor: Joshua Haase <hahj87@gmail.com>
# Contributor: fauno <fauno@kiwwwi.com.ar>
# Contributor: Márcio Silva <coadde@lavabit.com>
@@ -9,9 +9,11 @@ pkgdesc="Programs for Parabola development"
url="https://projects.parabolagnulinux.org/packages/libretools.git/"
license=('GPL3' 'GPL2')
-pkgver=20140120.1
-_libretools_commit=641002eff37a30eb2b8237b15b74cc15b4d9f822
+pkgver=20140210
+_libretools_commit=696c05516039b7b93381811451d393b16a8653d1
_devtools_commit=534d2015b45e013b37e1edbb997bd4df27d7b8fd
+md5sums=('e5e6e2a939850c4ce6695e3ee10e71f4'
+ 'ec69dffa68829f063224de19bbd55fa9')
_packages_url=https://projects.parabolagnulinux.org/packages
source=($_packages_url/libretools.git/snapshot/libretools-$_libretools_commit.tar.bz2
@@ -86,6 +88,3 @@ package_libretools-mips64el() {
cd "$srcdir/$pkgbase-$_libretools_commit"
make install-libretools-mips64el DESTDIR="$pkgdir"
}
-
-md5sums=('8991b27aed494b60f33c84dd48aea874'
- 'ec69dffa68829f063224de19bbd55fa9')
diff --git a/libre/licenses-libre/PKGBUILD b/libre/licenses-libre/PKGBUILD
new file mode 100644
index 000000000..24b2cc4d8
--- /dev/null
+++ b/libre/licenses-libre/PKGBUILD
@@ -0,0 +1,134 @@
+# $Id: PKGBUILD 176952 2013-02-03 00:38:36Z dan $
+# Maintainer: Dan McGee <dan@archlinux.org>
+# Maintainer (Parabola): fauno <fauno@kiwwwi.com.ar>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname=licenses-libre
+pkgver=20130203
+pkgrel=1.1
+pkgdesc="The standard licenses distribution package"
+arch=('any')
+license=('custom:none')
+url="https://parabolagnulinux.org/"
+groups=('base')
+provides=("licenses=${pkgver}")
+conflicts=('licenses')
+replaces=('licenses')
+makedepends=(links)
+source=(apache-2.0.txt::http://www.apache.org/licenses/LICENSE-2.0.txt
+ cc-by-3.0.txt
+ cc-by-sa-3.0.txt
+ cc-readme.txt
+ cddl-1.0.txt
+ eclipse-1.0.txt
+ http://www.gnu.org/licenses/agpl-3.0.txt
+ http://www.gnu.org/licenses/gpl-2.0.txt
+ http://www.gnu.org/licenses/gpl-3.0.txt
+ http://www.gnu.org/licenses/lgpl-2.1.txt
+ http://www.gnu.org/licenses/lgpl-3.0.txt
+ http://www.gnu.org/licenses/fdl-1.2.txt
+ http://www.gnu.org/licenses/fdl-1.3.txt
+ http://www.latex-project.org/lppl.txt
+ mpl-1.1.txt::http://www.mozilla.org/MPL/1.1/index.txt
+ perlartistic.txt
+ http://www.perlfoundation.org/attachment/legal/artistic-2_0.txt
+ php-3.0.txt::http://www.php.net/license/3_0.txt
+ ruby-license.txt::http://www.ruby-lang.org/en/about/license.txt
+ cpl-1.0.txt
+ python-2.txt
+ w3c.txt
+ ZopePublicLicense.txt)
+md5sums=('3b83ef96387f14655fc854ddc3c6bd57'
+ 'ffb24d1bbf8b83d373f0b8edc3feb0c6'
+ '5367190077e12a7f55403d531ef3998e'
+ '77651e5c686cbc0f8cec5ac7e6504235'
+ '6cb35f3976cd093011967fa1abbce386'
+ 'f300afd598546add034364cd0a533261'
+ '73f1eb20517c55bf9493b7dd6e480788'
+ 'b234ee4d69f5fce4486a80fdaf4a4263'
+ 'd32239bcb673463ab874e80d47fae504'
+ '4fbd65380cdd255951079008b364516c'
+ 'e6a600fd5e1d9cbde2d983680233ad02'
+ '24ea4c7092233849b4394699333b5c56'
+ '10b9de612d532fdeeb7fe8fcd1435cc6'
+ '9f4337828d782bdea41f03dd2ad1b808'
+ 'bfe1f75d606912a4111c90743d6c7325'
+ 'd09c120ca7db95ef2aeecec0cb08293b'
+ 'b4a94da2a1f918b217ef5156634fc9e0'
+ 'a45bb1bbeed9e26b26c5763df1d3913d'
+ 'f24b942d957112d759762054b6e7cf34'
+ 'f083e41c43db25e18f36c91e57750b64'
+ 'a055911c32fb4ed6e96c453ceaeba857'
+ '6f2095b5d61770740852873b195a4d21'
+ 'dc8502850eab9e1ff330a12d7ca18a19')
+
+package() {
+ cd "$pkgdir"
+ mkdir -p usr/share/licenses/common
+ cd usr/share/licenses/common
+
+ mkdir AGPL3
+ cp "$srcdir"/agpl-3.0.txt AGPL3/license.txt
+ ln -s AGPL3 AGPL
+
+ mkdir Apache
+ cp "$srcdir"/apache-2.0.txt Apache/license.txt
+ ln -s Apache APACHE
+
+ mkdir Artistic2.0
+ cp "$srcdir"/artistic-2_0.txt Artistic2.0/license.txt
+
+ mkdir CCPL
+ cp "$srcdir"/cc-by-3.0.txt CCPL/
+ cp "$srcdir"/cc-by-sa-3.0.txt CCPL/
+ cp "$srcdir"/cc-readme.txt CCPL/
+
+ mkdir CDDL
+ cp "$srcdir"/cddl-1.0.txt CDDL/license.txt
+
+ mkdir CPL
+ cp "$srcdir"/cpl-1.0.txt CPL/license.txt
+
+ mkdir EPL
+ cp "$srcdir"/eclipse-1.0.txt EPL/license.txt
+
+ mkdir {GPL2,GPL3}
+ cp "$srcdir"/gpl-2.0.txt GPL2/license.txt
+ cp "$srcdir"/gpl-3.0.txt GPL3/license.txt
+ ln -s GPL2 GPL
+
+ mkdir {FDL1.2,FDL1.3}
+ cp "$srcdir"/fdl-1.2.txt FDL1.2/license.txt
+ cp "$srcdir"/fdl-1.3.txt FDL1.3/license.txt
+ ln -s FDL1.2 FDL
+
+ mkdir {LGPL2.1,LGPL3}
+ cp "$srcdir"/lgpl-2.1.txt LGPL2.1/license.txt
+ cp "$srcdir"/lgpl-3.0.txt LGPL3/license.txt
+ ln -s LGPL2.1 LGPL
+
+ mkdir LPPL
+ cp "$srcdir"/lppl.txt LPPL/license.txt
+
+ mkdir MPL
+ cp "$srcdir"/mpl-1.1.txt MPL/license.txt
+
+ mkdir PerlArtistic
+ cp "$srcdir"/perlartistic.txt PerlArtistic/license.txt
+
+ mkdir PHP
+ cp "$srcdir"/php-3.0.txt PHP/license.txt
+
+ mkdir PSF
+ cp "$srcdir"/python-2.txt PSF/license.txt
+
+ mkdir RUBY
+ cp "$srcdir"/ruby-license.txt RUBY/license.txt
+
+ mkdir W3C
+ cp "$srcdir"/w3c.txt W3C/license.txt
+
+ mkdir ZPL
+ cp "$srcdir"/ZopePublicLicense.txt ZPL/license.txt
+}
diff --git a/libre/licenses-libre/ZopePublicLicense.txt b/libre/licenses-libre/ZopePublicLicense.txt
new file mode 100644
index 000000000..0f06d960d
--- /dev/null
+++ b/libre/licenses-libre/ZopePublicLicense.txt
@@ -0,0 +1,54 @@
+Zope Public License (ZPL) Version 2.1
+-------------------------------------
+
+A copyright notice accompanies this license document that
+identifies the copyright holders.
+
+This license has been certified as open source. It has also
+been designated as GPL compatible by the Free Software
+Foundation (FSF).
+
+Redistribution and use in source and binary forms, with or
+without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions in source code must retain the
+ accompanying copyright notice, this list of conditions,
+ and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the accompanying
+ copyright notice, this list of conditions, and the
+ following disclaimer in the documentation and/or other
+ materials provided with the distribution.
+
+3. Names of the copyright holders must not be used to
+ endorse or promote products derived from this software
+ without prior written permission from the copyright
+ holders.
+
+4. The right to distribute this software or to use it for
+ any purpose does not give you the right to use
+ Servicemarks (sm) or Trademarks (tm) of the copyright
+ holders. Use of them is covered by separate agreement
+ with the copyright holders.
+
+5. If any files are modified, you must cause the modified
+ files to carry prominent notices stating that you changed
+ the files and the date of any change.
+
+Disclaimer
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS''
+ AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
+ NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
+ NO EVENT SHALL THE COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.
diff --git a/libre/licenses-libre/cc-by-3.0.txt b/libre/licenses-libre/cc-by-3.0.txt
new file mode 100644
index 000000000..4c79aa8ae
--- /dev/null
+++ b/libre/licenses-libre/cc-by-3.0.txt
@@ -0,0 +1,60 @@
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ 1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
+ 2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
+ 3. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
+ 4. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
+ 5. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
+ 6. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
+ 7. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+ 8. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
+ 9. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
+
+2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ 1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
+ 2. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
+ 3. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
+ 4. to Distribute and Publicly Perform Adaptations.
+ 5.
+
+ For the avoidance of doubt:
+ 1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+ 2. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
+ 3. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ 1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested.
+ 2. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
+ 3. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ 1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+ 2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ 1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+ 2. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+ 3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+ 4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+ 5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+ 6. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
diff --git a/libre/licenses-libre/cc-by-sa-3.0.txt b/libre/licenses-libre/cc-by-sa-3.0.txt
new file mode 100644
index 000000000..7252d9ca5
--- /dev/null
+++ b/libre/licenses-libre/cc-by-sa-3.0.txt
@@ -0,0 +1,63 @@
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ 1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
+ 2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License.
+ 3. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License.
+ 4. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
+ 5. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike.
+ 6. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
+ 7. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
+ 8. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
+ 9. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+ 10. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
+ 11. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
+
+2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ 1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
+ 2. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
+ 3. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
+ 4. to Distribute and Publicly Perform Adaptations.
+ 5.
+
+ For the avoidance of doubt:
+ 1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+ 2. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
+ 3. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ 1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested.
+ 2. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License.
+ 3. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Ssection 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
+ 4. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ 1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+ 2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ 1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+ 2. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+ 3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+ 4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+ 5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+ 6. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
diff --git a/libre/licenses-libre/cc-readme.txt b/libre/licenses-libre/cc-readme.txt
new file mode 100644
index 000000000..d71e2254f
--- /dev/null
+++ b/libre/licenses-libre/cc-readme.txt
@@ -0,0 +1,10 @@
+There are 2 different Creative Commons Licenses, all of which are included
+in this licenses directory:
+
+cc-by-3.0.txt - Attribution
+cc-by-sa-3.0.txt - Attribution-ShareAlike
+
+If a package uses one of these licenses, it should be referenced as follows:
+license=('CCPL:by-sa')
+
+Note: nd and nc licenses were removed because they aren't copyleft friendly
diff --git a/libre/licenses-libre/cddl-1.0.txt b/libre/licenses-libre/cddl-1.0.txt
new file mode 100644
index 000000000..d83893249
--- /dev/null
+++ b/libre/licenses-libre/cddl-1.0.txt
@@ -0,0 +1,377 @@
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE Version 1.0
+
+1. Definitions.
+
+ 1.1. "Contributor" means each individual or entity that creates
+ or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original
+ Software, prior Modifications used by a Contributor (if any),
+ and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Software" means (a) the Original Software, or (b)
+ Modifications, or (c) the combination of files containing
+ Original Software with files containing Modifications, in
+ each case including portions thereof.
+
+ 1.4. "Executable" means the Covered Software in any form other
+ than Source Code.
+
+ 1.5. "Initial Developer" means the individual or entity that first
+ makes Original Software available under this License.
+
+ 1.6. "Larger Work" means a work which combines Covered Software or
+ portions thereof with code not governed by the terms of this
+ License.
+
+ 1.7. "License" means this document.
+
+ 1.8. "Licensable" means having the right to grant, to the maximum
+ extent possible, whether at the time of the initial grant or
+ subsequently acquired, any and all of the rights conveyed
+ herein.
+
+ 1.9. "Modifications" means the Source Code and Executable form of
+ any of the following:
+
+ A. Any file that results from an addition to, deletion from or
+ modification of the contents of a file containing Original
+ Software or previous Modifications;
+
+ B. Any new file that contains any part of the Original
+ Software or previous Modifications; or
+
+ C. Any new file that is contributed or otherwise made
+ available under the terms of this License.
+
+ 1.10. "Original Software" means the Source Code and Executable
+ form of computer software code that is originally released
+ under this License.
+
+ 1.11. "Patent Claims" means any patent claim(s), now owned or
+ hereafter acquired, including without limitation, method,
+ process, and apparatus claims, in any patent Licensable by
+ grantor.
+
+ 1.12. "Source Code" means (a) the common form of computer software
+ code in which modifications are made and (b) associated
+ documentation included in or with such code.
+
+ 1.13. "You" (or "Your") means an individual or a legal entity
+ exercising rights under, and complying with all of the terms
+ of, this License. For legal entities, "You" includes any
+ entity which controls, is controlled by, or is under common
+ control with You. For purposes of this definition,
+ "control" means (a) the power, direct or indirect, to cause
+ the direction or management of such entity, whether by
+ contract or otherwise, or (b) ownership of more than fifty
+ percent (50%) of the outstanding shares or beneficial
+ ownership of such entity.
+
+2. License Grants.
+
+ 2.1. The Initial Developer Grant.
+
+ Conditioned upon Your compliance with Section 3.1 below and
+ subject to third party intellectual property claims, the Initial
+ Developer hereby grants You a world-wide, royalty-free,
+ non-exclusive license:
+
+ (a) under intellectual property rights (other than patent or
+ trademark) Licensable by Initial Developer, to use,
+ reproduce, modify, display, perform, sublicense and
+ distribute the Original Software (or portions thereof),
+ with or without Modifications, and/or as part of a Larger
+ Work; and
+
+ (b) under Patent Claims infringed by the making, using or
+ selling of Original Software, to make, have made, use,
+ practice, sell, and offer for sale, and/or otherwise
+ dispose of the Original Software (or portions thereof).
+
+ (c) The licenses granted in Sections 2.1(a) and (b) are
+ effective on the date Initial Developer first distributes
+ or otherwise makes the Original Software available to a
+ third party under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is
+ granted: (1) for code that You delete from the Original
+ Software, or (2) for infringements caused by: (i) the
+ modification of the Original Software, or (ii) the
+ combination of the Original Software with other software
+ or devices.
+
+ 2.2. Contributor Grant.
+
+ Conditioned upon Your compliance with Section 3.1 below and
+ subject to third party intellectual property claims, each
+ Contributor hereby grants You a world-wide, royalty-free,
+ non-exclusive license:
+
+ (a) under intellectual property rights (other than patent or
+ trademark) Licensable by Contributor to use, reproduce,
+ modify, display, perform, sublicense and distribute the
+ Modifications created by such Contributor (or portions
+ thereof), either on an unmodified basis, with other
+ Modifications, as Covered Software and/or as part of a
+ Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or
+ selling of Modifications made by that Contributor either
+ alone and/or in combination with its Contributor Version
+ (or portions of such combination), to make, use, sell,
+ offer for sale, have made, and/or otherwise dispose of:
+ (1) Modifications made by that Contributor (or portions
+ thereof); and (2) the combination of Modifications made by
+ that Contributor with its Contributor Version (or portions
+ of such combination).
+
+ (c) The licenses granted in Sections 2.2(a) and 2.2(b) are
+ effective on the date Contributor first distributes or
+ otherwise makes the Modifications available to a third
+ party.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is
+ granted: (1) for any code that Contributor has deleted
+ from the Contributor Version; (2) for infringements caused
+ by: (i) third party modifications of Contributor Version,
+ or (ii) the combination of Modifications made by that
+ Contributor with other software (except as part of the
+ Contributor Version) or other devices; or (3) under Patent
+ Claims infringed by Covered Software in the absence of
+ Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+ 3.1. Availability of Source Code.
+
+ Any Covered Software that You distribute or otherwise make
+ available in Executable form must also be made available in Source
+ Code form and that Source Code form must be distributed only under
+ the terms of this License. You must include a copy of this
+ License with every copy of the Source Code form of the Covered
+ Software You distribute or otherwise make available. You must
+ inform recipients of any such Covered Software in Executable form
+ as to how they can obtain such Covered Software in Source Code
+ form in a reasonable manner on or through a medium customarily
+ used for software exchange.
+
+ 3.2. Modifications.
+
+ The Modifications that You create or to which You contribute are
+ governed by the terms of this License. You represent that You
+ believe Your Modifications are Your original creation(s) and/or
+ You have sufficient rights to grant the rights conveyed by this
+ License.
+
+ 3.3. Required Notices.
+
+ You must include a notice in each of Your Modifications that
+ identifies You as the Contributor of the Modification. You may
+ not remove or alter any copyright, patent or trademark notices
+ contained within the Covered Software, or any notices of licensing
+ or any descriptive text giving attribution to any Contributor or
+ the Initial Developer.
+
+ 3.4. Application of Additional Terms.
+
+ You may not offer or impose any terms on any Covered Software in
+ Source Code form that alters or restricts the applicable version
+ of this License or the recipients' rights hereunder. You may
+ choose to offer, and to charge a fee for, warranty, support,
+ indemnity or liability obligations to one or more recipients of
+ Covered Software. However, you may do so only on Your own behalf,
+ and not on behalf of the Initial Developer or any Contributor.
+ You must make it absolutely clear that any such warranty, support,
+ indemnity or liability obligation is offered by You alone, and You
+ hereby agree to indemnify the Initial Developer and every
+ Contributor for any liability incurred by the Initial Developer or
+ such Contributor as a result of warranty, support, indemnity or
+ liability terms You offer.
+
+ 3.5. Distribution of Executable Versions.
+
+ You may distribute the Executable form of the Covered Software
+ under the terms of this License or under the terms of a license of
+ Your choice, which may contain terms different from this License,
+ provided that You are in compliance with the terms of this License
+ and that the license for the Executable form does not attempt to
+ limit or alter the recipient's rights in the Source Code form from
+ the rights set forth in this License. If You distribute the
+ Covered Software in Executable form under a different license, You
+ must make it absolutely clear that any terms which differ from
+ this License are offered by You alone, not by the Initial
+ Developer or Contributor. You hereby agree to indemnify the
+ Initial Developer and every Contributor for any liability incurred
+ by the Initial Developer or such Contributor as a result of any
+ such terms You offer.
+
+ 3.6. Larger Works.
+
+ You may create a Larger Work by combining Covered Software with
+ other code not governed by the terms of this License and
+ distribute the Larger Work as a single product. In such a case,
+ You must make sure the requirements of this License are fulfilled
+ for the Covered Software.
+
+4. Versions of the License.
+
+ 4.1. New Versions.
+
+ Sun Microsystems, Inc. is the initial license steward and may
+ publish revised and/or new versions of this License from time to
+ time. Each version will be given a distinguishing version number.
+ Except as provided in Section 4.3, no one other than the license
+ steward has the right to modify this License.
+
+ 4.2. Effect of New Versions.
+
+ You may always continue to use, distribute or otherwise make the
+ Covered Software available under the terms of the version of the
+ License under which You originally received the Covered Software.
+ If the Initial Developer includes a notice in the Original
+ Software prohibiting it from being distributed or otherwise made
+ available under any subsequent version of the License, You must
+ distribute and make the Covered Software available under the terms
+ of the version of the License under which You originally received
+ the Covered Software. Otherwise, You may also choose to use,
+ distribute or otherwise make the Covered Software available under
+ the terms of any subsequent version of the License published by
+ the license steward.
+
+ 4.3. Modified Versions.
+
+ When You are an Initial Developer and You want to create a new
+ license for Your Original Software, You may create and use a
+ modified version of this License if You: (a) rename the license
+ and remove any references to the name of the license steward
+ (except to note that the license differs from this License); and
+ (b) otherwise make it clear that the license contains terms which
+ differ from this License.
+
+5. DISCLAIMER OF WARRANTY.
+
+ COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
+ BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
+ INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
+ SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
+ PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
+ PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
+ COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
+ INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY
+ NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
+ WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+ ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
+ DISCLAIMER.
+
+6. TERMINATION.
+
+ 6.1. This License and the rights granted hereunder will terminate
+ automatically if You fail to comply with terms herein and fail to
+ cure such breach within 30 days of becoming aware of the breach.
+ Provisions which, by their nature, must remain in effect beyond
+ the termination of this License shall survive.
+
+ 6.2. If You assert a patent infringement claim (excluding
+ declaratory judgment actions) against Initial Developer or a
+ Contributor (the Initial Developer or Contributor against whom You
+ assert such claim is referred to as "Participant") alleging that
+ the Participant Software (meaning the Contributor Version where
+ the Participant is a Contributor or the Original Software where
+ the Participant is the Initial Developer) directly or indirectly
+ infringes any patent, then any and all rights granted directly or
+ indirectly to You by such Participant, the Initial Developer (if
+ the Initial Developer is not the Participant) and all Contributors
+ under Sections 2.1 and/or 2.2 of this License shall, upon 60 days
+ notice from Participant terminate prospectively and automatically
+ at the expiration of such 60 day notice period, unless if within
+ such 60 day period You withdraw Your claim with respect to the
+ Participant Software against such Participant either unilaterally
+ or pursuant to a written agreement with Participant.
+
+ 6.3. In the event of termination under Sections 6.1 or 6.2 above,
+ all end user licenses that have been validly granted by You or any
+ distributor hereunder prior to termination (excluding licenses
+ granted to You by any distributor) shall survive termination.
+
+7. LIMITATION OF LIABILITY.
+
+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+ (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
+ INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
+ COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
+ LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
+ CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
+ LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
+ STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+ COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
+ INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+ LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
+ INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT
+ APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
+ NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
+ CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
+ APPLY TO YOU.
+
+8. U.S. GOVERNMENT END USERS.
+
+ The Covered Software is a "commercial item," as that term is
+ defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
+ computer software" (as that term is defined at 48
+ C.F.R. 252.227-7014(a)(1)) and "commercial computer software
+ documentation" as such terms are used in 48 C.F.R. 12.212
+ (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48
+ C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all
+ U.S. Government End Users acquire Covered Software with only those
+ rights set forth herein. This U.S. Government Rights clause is in
+ lieu of, and supersedes, any other FAR, DFAR, or other clause or
+ provision that addresses Government rights in computer software
+ under this License.
+
+9. MISCELLANEOUS.
+
+ This License represents the complete agreement concerning subject
+ matter hereof. If any provision of this License is held to be
+ unenforceable, such provision shall be reformed only to the extent
+ necessary to make it enforceable. This License shall be governed
+ by the law of the jurisdiction specified in a notice contained
+ within the Original Software (except to the extent applicable law,
+ if any, provides otherwise), excluding such jurisdiction's
+ conflict-of-law provisions. Any litigation relating to this
+ License shall be subject to the jurisdiction of the courts located
+ in the jurisdiction and venue specified in a notice contained
+ within the Original Software, with the losing party responsible
+ for costs, including, without limitation, court costs and
+ reasonable attorneys' fees and expenses. The application of the
+ United Nations Convention on Contracts for the International Sale
+ of Goods is expressly excluded. Any law or regulation which
+ provides that the language of a contract shall be construed
+ against the drafter shall not apply to this License. You agree
+ that You alone are responsible for compliance with the United
+ States export administration regulations (and the export control
+ laws and regulation of any other countries) when You use,
+ distribute or otherwise make available any Covered Software.
+
+10. RESPONSIBILITY FOR CLAIMS.
+
+ As between Initial Developer and the Contributors, each party is
+ responsible for claims and damages arising, directly or
+ indirectly, out of its utilization of rights under this License
+ and You agree to work with Initial Developer and Contributors to
+ distribute such responsibility on an equitable basis. Nothing
+ herein is intended or shall be deemed to constitute any admission
+ of liability.
+
+--------------------------------------------------------------------
+
+NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND
+DISTRIBUTION LICENSE (CDDL)
+
+For Covered Software in this distribution, this License shall
+be governed by the laws of the State of California (excluding
+conflict-of-law provisions).
+
+Any litigation relating to this License shall be subject to the
+jurisdiction of the Federal Courts of the Northern District of
+California and the state courts of the State of California, with
+venue lying in Santa Clara County, California.
diff --git a/libre/licenses-libre/cpl-1.0.txt b/libre/licenses-libre/cpl-1.0.txt
new file mode 100644
index 000000000..c48081b33
--- /dev/null
+++ b/libre/licenses-libre/cpl-1.0.txt
@@ -0,0 +1,217 @@
+Common Public License Version 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+ a) in the case of the initial Contributor, the initial code and documentation
+ distributed under this Agreement, and
+
+ b) in the case of each subsequent Contributor:
+
+ i) changes to the Program, and
+
+ ii) additions to the Program;
+
+ where such changes and/or additions to the Program originate from and are
+ distributed by that particular Contributor. A Contribution 'originates' from a
+ Contributor if it was added to the Program by such Contributor itself or anyone
+ acting on such Contributor's behalf. Contributions do not include additions to
+ the Program which: (i) are separate modules of software distributed in
+ conjunction with the Program under their own license agreement, and (ii) are
+ not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or when
+combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this
+Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+
+2. GRANT OF RIGHTS
+
+ a) Subject to the terms of this Agreement, each Contributor hereby grants
+ Recipient a non-exclusive, worldwide, royalty-free copyright license to
+ reproduce, prepare derivative works of, publicly display, publicly perform,
+ distribute and sublicense the Contribution of such Contributor, if any, and
+ such derivative works, in source code and object code form.
+
+ b) Subject to the terms of this Agreement, each Contributor hereby grants
+ Recipient a non-exclusive, worldwide, royalty-free patent license under
+ Licensed Patents to make, use, sell, offer to sell, import and otherwise
+ transfer the Contribution of such Contributor, if any, in source code and
+ object code form. This patent license shall apply to the combination of the
+ Contribution and the Program if, at the time the Contribution is added by the
+ Contributor, such addition of the Contribution causes such combination to be
+ covered by the Licensed Patents. The patent license shall not apply to any
+ other combinations which include the Contribution. No hardware per se is
+ licensed hereunder.
+
+ c) Recipient understands that although each Contributor grants the licenses
+ to its Contributions set forth herein, no assurances are provided by any
+ Contributor that the Program does not infringe the patent or other intellectual
+ property rights of any other entity. Each Contributor disclaims any liability
+ to Recipient for claims brought by any other entity based on infringement of
+ intellectual property rights or otherwise. As a condition to exercising the
+ rights and licenses granted hereunder, each Recipient hereby assumes sole
+ responsibility to secure any other intellectual property rights needed, if any.
+ For example, if a third party patent license is required to allow Recipient to
+ distribute the Program, it is Recipient's responsibility to acquire that
+ license before distributing the Program.
+
+ d) Each Contributor represents that to its knowledge it has sufficient
+ copyright rights in its Contribution, if any, to grant the copyright license
+ set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under
+its own license agreement, provided that:
+
+ a) it complies with the terms and conditions of this Agreement; and
+
+ b) its license agreement:
+
+ i) effectively disclaims on behalf of all Contributors all warranties and
+ conditions, express and implied, including warranties or conditions of title
+ and non-infringement, and implied warranties or conditions of merchantability
+ and fitness for a particular purpose;
+
+ ii) effectively excludes on behalf of all Contributors all liability for
+ damages, including direct, indirect, special, incidental and consequential
+ damages, such as lost profits;
+
+ iii) states that any provisions which differ from this Agreement are offered
+ by that Contributor alone and not by any other party; and
+
+ iv) states that source code for the Program is available from such
+ Contributor, and informs licensees how to obtain it in a reasonable manner on
+ or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+ a) it must be made available under this Agreement; and
+
+ b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within
+the Program.
+
+Each Contributor must identify itself as the originator of its Contribution,
+if any, in a manner that reasonably allows subsequent Recipients to identify
+the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with
+respect to end users, business partners and the like. While this license is
+intended to facilitate the commercial use of the Program, the Contributor who
+includes the Program in a commercial product offering should do so in a manner
+which does not create potential liability for other Contributors. Therefore, if
+a Contributor includes the Program in a commercial product offering, such
+Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
+every other Contributor ("Indemnified Contributor") against any losses, damages
+and costs (collectively "Losses") arising from claims, lawsuits and other legal
+actions brought by a third party against the Indemnified Contributor to the
+extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may
+participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product
+offering, Product X. That Contributor is then a Commercial Contributor. If that
+Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such
+Commercial Contributor's responsibility alone. Under this section, the
+Commercial Contributor would have to defend claims against the other
+Contributors related to those performance claims and warranties, and if a court
+requires any other Contributor to pay any damages as a result, the Commercial
+Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
+Recipient is solely responsible for determining the appropriateness of using
+and distributing the Program and assumes all risks associated with its exercise
+of rights under this Agreement, including but not limited to the risks and
+costs of program errors, compliance with applicable laws, damage to or loss of
+data, programs or equipment, and unavailability or interruption of operations.
+
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
+PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of the
+remainder of the terms of this Agreement, and without further action by the
+parties hereto, such provision shall be reformed to the minimum extent
+necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect
+to a patent applicable to software (including a cross-claim or counterclaim in
+a lawsuit), then any patent licenses granted by that Contributor to such
+Recipient under this Agreement shall terminate as of the date such litigation
+is filed. In addition, if Recipient institutes patent litigation against any
+entity (including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other software or
+hardware) infringes such Recipient's patent(s), then such Recipient's rights
+granted under Section 2(b) shall terminate as of the date such litigation is
+filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and does
+not cure such failure in a reasonable period of time after becoming aware of
+such noncompliance. If all Recipient's rights under this Agreement terminate,
+Recipient agrees to cease use and distribution of the Program as soon as
+reasonably practicable. However, Recipient's obligations under this Agreement
+and any licenses granted by Recipient relating to the Program shall continue
+and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in
+order to avoid inconsistency the Agreement is copyrighted and may only be
+modified in the following manner. The Agreement Steward reserves the right to
+publish new versions (including revisions) of this Agreement from time to time.
+No one other than the Agreement Steward has the right to modify this Agreement.
+IBM is the initial Agreement Steward. IBM may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the
+intellectual property laws of the United States of America. No party to this
+Agreement will bring a legal action under this Agreement more than one year
+after the cause of action arose. Each party waives its rights to a jury trial
+in any resulting litigation.
diff --git a/libre/licenses-libre/eclipse-1.0.txt b/libre/licenses-libre/eclipse-1.0.txt
new file mode 100644
index 000000000..f61d34dfe
--- /dev/null
+++ b/libre/licenses-libre/eclipse-1.0.txt
@@ -0,0 +1,88 @@
+Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+
+
diff --git a/libre/licenses-libre/perlartistic.txt b/libre/licenses-libre/perlartistic.txt
new file mode 100644
index 000000000..aaf7c8801
--- /dev/null
+++ b/libre/licenses-libre/perlartistic.txt
@@ -0,0 +1,151 @@
+NAME
+ perlartistic - the Perl Artistic License
+
+SYNOPSIS
+ You can refer to this document in Pod via "L<perlartistic>"
+ Or you can see this document by entering "perldoc perlartistic"
+
+DESCRIPTION
+ This is "The Artistic License". It's here so that modules, programs,
+ etc., that want to declare this as their distribution license, can link
+ to it.
+
+ It is also one of the two licenses Perl allows itself to be
+ redistributed and/or modified; for the other one, the GNU General Public
+ License, see the perlgpl.
+
+The "Artistic License"
+ Preamble
+ The intent of this document is to state the conditions under which a
+ Package may be copied, such that the Copyright Holder maintains some
+ semblance of artistic control over the development of the package, while
+ giving the users of the package the right to use and distribute the
+ Package in a more-or-less customary fashion, plus the right to make
+ reasonable modifications.
+
+ Definitions
+ "Package"
+ refers to the collection of files distributed by the Copyright
+ Holder, and derivatives of that collection of files created through
+ textual modification.
+
+ "Standard Version"
+ refers to such a Package if it has not been modified, or has been
+ modified in accordance with the wishes of the Copyright Holder as
+ specified below.
+
+ "Copyright Holder"
+ is whoever is named in the copyright or copyrights for the package.
+
+ "You"
+ is you, if you're thinking about copying or distributing this
+ Package.
+
+ "Reasonable copying fee"
+ is whatever you can justify on the basis of media cost, duplication
+ charges, time of people involved, and so on. (You will not be
+ required to justify it to the Copyright Holder, but only to the
+ computing community at large as a market that must bear the fee.)
+
+ "Freely Available"
+ means that no fee is charged for the item itself, though there may
+ be fees involved in handling the item. It also means that recipients
+ of the item may redistribute it under the same conditions they
+ received it.
+
+ Conditions
+ 1. You may make and give away verbatim copies of the source form of the
+ Standard Version of this Package without restriction, provided that
+ you duplicate all of the original copyright notices and associated
+ disclaimers.
+
+ 2. You may apply bug fixes, portability fixes and other modifications
+ derived from the Public Domain or from the Copyright Holder. A
+ Package modified in such a way shall still be considered the
+ Standard Version.
+
+ 3. You may otherwise modify your copy of this Package in any way,
+ provided that you insert a prominent notice in each changed file
+ stating how and when you changed that file, and provided that you do
+ at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make
+ them Freely Available, such as by posting said modifications to
+ Usenet or an equivalent medium, or placing the modifications on
+ a major archive site such as uunet.uu.net, or by allowing the
+ Copyright Holder to include your modifications in the Standard
+ Version of the Package.
+
+ b) use the modified Package only within your corporation or
+ organization.
+
+ c) rename any non-standard executables so the names do not conflict
+ with standard executables, which must also be provided, and
+ provide a separate manual page for each non-standard executable
+ that clearly documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+ 4. You may distribute the programs of this Package in object code or
+ executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library
+ files, together with instructions (in the manual page or
+ equivalent) on where to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of
+ the Package with your modifications.
+
+ c) give non-standard executables non-standard names, and clearly
+ document the differences in manual pages (or equivalent),
+ together with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+ 5. You may charge a reasonable copying fee for any distribution of this
+ Package. You may charge any fee you choose for support of this
+ Package. You may not charge a fee for this Package itself. However,
+ you may distribute this Package in aggregate with other (possibly
+ commercial) programs as part of a larger (possibly commercial)
+ software distribution provided that you do not advertise this
+ Package as a product of your own. You may embed this Package's
+ interpreter within an executable of yours (by linking); this shall
+ be construed as a mere form of aggregation, provided that the
+ complete Standard Version of the interpreter is so embedded.
+
+ 6. The scripts and library files supplied as input to or produced as
+ output from the programs of this Package do not automatically fall
+ under the copyright of this Package, but belong to whoever generated
+ them, and may be sold commercially, and may be aggregated with this
+ Package. If such scripts or library files are aggregated with this
+ Package via the so-called "undump" or "unexec" methods of producing
+ a binary executable image, then distribution of such an image shall
+ neither be construed as a distribution of this Package nor shall it
+ fall under the restrictions of Paragraphs 3 and 4, provided that you
+ do not represent such an executable image as a Standard Version of
+ this Package.
+
+ 7. C subroutines (or comparably compiled subroutines in other
+ languages) supplied by you and linked into this Package in order to
+ emulate subroutines and variables of the language defined by this
+ Package shall not be considered part of this Package, but are the
+ equivalent of input as in Paragraph 6, provided these subroutines do
+ not change the language in any way that would cause it to fail the
+ regression tests for the language.
+
+ 8. Aggregation of this Package with a commercial distribution is always
+ permitted provided that the use of this Package is embedded; that
+ is, when no overt attempt is made to make this Package's interfaces
+ visible to the end user of the commercial distribution. Such use
+ shall not be construed as a distribution of this Package.
+
+ 9. The name of the Copyright Holder may not be used to endorse or
+ promote products derived from this software without specific prior
+ written permission.
+
+ 10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+ MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+ The End
+
diff --git a/libre/licenses-libre/python-2.txt b/libre/licenses-libre/python-2.txt
new file mode 100644
index 000000000..454f4ea69
--- /dev/null
+++ b/libre/licenses-libre/python-2.txt
@@ -0,0 +1,193 @@
+PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
+--------------------------------------------
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing and
+otherwise using this software ("Python") in source or binary form and
+its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python
+alone or in any derivative version, provided, however, that PSF's
+License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
+2001, 2002, 2003, 2004, 2005, 2006, 2007 Python Software Foundation;
+All Rights Reserved" are retained in Python alone or in any derivative
+version prepared by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python.
+
+4. PSF is making Python available to Licensee on an "AS IS"
+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee. This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
+-------------------------------------------
+
+BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
+
+1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
+office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
+Individual or Organization ("Licensee") accessing and otherwise using
+this software in source or binary form and its associated
+documentation ("the Software").
+
+2. Subject to the terms and conditions of this BeOpen Python License
+Agreement, BeOpen hereby grants Licensee a non-exclusive,
+royalty-free, world-wide license to reproduce, analyze, test, perform
+and/or display publicly, prepare derivative works, distribute, and
+otherwise use the Software alone or in any derivative version,
+provided, however, that the BeOpen Python License is retained in the
+Software, alone or in any derivative version prepared by Licensee.
+
+3. BeOpen is making the Software available to Licensee on an "AS IS"
+basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
+SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
+AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
+DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+5. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+6. This License Agreement shall be governed by and interpreted in all
+respects by the law of the State of California, excluding conflict of
+law provisions. Nothing in this License Agreement shall be deemed to
+create any relationship of agency, partnership, or joint venture
+between BeOpen and Licensee. This License Agreement does not grant
+permission to use BeOpen trademarks or trade names in a trademark
+sense to endorse or promote products or services of Licensee, or any
+third party. As an exception, the "BeOpen Python" logos available at
+http://www.pythonlabs.com/logos.html may be used according to the
+permissions granted on that web page.
+
+7. By copying, installing or otherwise using the software, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
+
+
+CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
+---------------------------------------
+
+1. This LICENSE AGREEMENT is between the Corporation for National
+Research Initiatives, having an office at 1895 Preston White Drive,
+Reston, VA 20191 ("CNRI"), and the Individual or Organization
+("Licensee") accessing and otherwise using Python 1.6.1 software in
+source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, CNRI
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python 1.6.1
+alone or in any derivative version, provided, however, that CNRI's
+License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
+1995-2001 Corporation for National Research Initiatives; All Rights
+Reserved" are retained in Python 1.6.1 alone or in any derivative
+version prepared by Licensee. Alternately, in lieu of CNRI's License
+Agreement, Licensee may substitute the following text (omitting the
+quotes): "Python 1.6.1 is made available subject to the terms and
+conditions in CNRI's License Agreement. This Agreement together with
+Python 1.6.1 may be located on the Internet using the following
+unique, persistent identifier (known as a handle): 1895.22/1013. This
+Agreement may also be obtained from a proxy server on the Internet
+using the following URL: http://hdl.handle.net/1895.22/1013".
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python 1.6.1 or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python 1.6.1.
+
+4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
+basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. This License Agreement shall be governed by the federal
+intellectual property law of the United States, including without
+limitation the federal copyright law, and, to the extent such
+U.S. federal law does not apply, by the law of the Commonwealth of
+Virginia, excluding Virginia's conflict of law provisions.
+Notwithstanding the foregoing, with regard to derivative works based
+on Python 1.6.1 that incorporate non-separable material that was
+previously distributed under the GNU General Public License (GPL), the
+law of the Commonwealth of Virginia shall govern this License
+Agreement only as to issues arising under or with respect to
+Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
+License Agreement shall be deemed to create any relationship of
+agency, partnership, or joint venture between CNRI and Licensee. This
+License Agreement does not grant permission to use CNRI trademarks or
+trade name in a trademark sense to endorse or promote products or
+services of Licensee, or any third party.
+
+8. By clicking on the "ACCEPT" button where indicated, or by copying,
+installing or otherwise using Python 1.6.1, Licensee agrees to be
+bound by the terms and conditions of this License Agreement.
+
+ ACCEPT
+
+
+CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
+--------------------------------------------------
+
+Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
+The Netherlands. All rights reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Stichting Mathematisch
+Centrum or CWI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/libre/licenses-libre/w3c.txt b/libre/licenses-libre/w3c.txt
new file mode 100644
index 000000000..6a29463d3
--- /dev/null
+++ b/libre/licenses-libre/w3c.txt
@@ -0,0 +1,76 @@
+W3C Software Notice and License
+
+This work (and included software, documentation such as READMEs, or
+other related items) is being provided by the copyright holders under
+the following license.
+
+License
+
+By obtaining, using and/or copying this work, you (the licensee) agree
+that you have read, understood, and will comply with the following
+terms and conditions.
+
+Permission to copy, modify, and distribute this software and its
+documentation, with or without modification, for any purpose and
+without fee or royalty is hereby granted, provided that you include
+the following on ALL copies of the software and documentation or
+portions thereof, including modifications:
+
+ - The full text of this NOTICE in a location viewable to users of
+ the redistributed or derivative work.
+
+ - Any pre-existing intellectual property disclaimers, notices, or
+ terms and conditions. If none exist, the W3C Software Short
+ Notice should be included (hypertext is preferred, text is
+ permitted) within the body of any redistributed or derivative
+ code.
+ *"W3C Software Short Notice" above links to:
+ www.w3.org/Consortium/Legal/2002/copyright-software-short-notice-20021231.html
+
+ - Notice of any changes or modifications to the files, including
+ the date changes were made. (We recommend you provide URIs to
+ the location from which the code is derived.)
+
+Disclaimers
+
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
+HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR
+DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
+TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL
+OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
+DOCUMENTATION.
+
+The name and trademarks of copyright holders may NOT be used in
+advertising or publicity pertaining to the software without specific,
+written prior permission. Title to copyright in this software and any
+associated documentation will at all times remain with copyright
+holders. Notes
+
+This version:
+http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+
+This formulation of W3C's notice and license became active on December
+31 2002. This version removes the copyright ownership notice such that
+this license can be used with materials other than those owned by the
+W3C, reflects that ERCIM is now a host of the W3C, includes references
+to this specific dated version of the license, and removes the
+ambiguous grant of "use". Otherwise, this version is the same as the
+previous version and is written so as to preserve the Free Software
+Foundation's assessment of GPL compatibility and OSI's certification
+under the Open Source Definition.
+
+ *"previous version" above links to:
+ http://www.w3.org/Consortium/Legal/copyright-software-19980720
+
+ *"Free Software Foundation's assessment of GPL compatibility" links to:
+ http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses
+
+ *"OSI's certification" above links to:
+ http://opensource.org/licenses/W3C.php
+
+ *"Open Source Definition" above links to:
+ http://opensource.org/docs/definition.php
diff --git a/libre/liferea-libre/PKGBUILD b/libre/liferea-libre/PKGBUILD
index e3da52814..cb50faa1c 100644
--- a/libre/liferea-libre/PKGBUILD
+++ b/libre/liferea-libre/PKGBUILD
@@ -6,7 +6,7 @@
_pkgname=liferea
pkgname=liferea-libre
pkgver=1.10.5
-pkgrel=1
+pkgrel=1.1
pkgdesc="A desktop news aggregator for online news feeds and weblogs, without nonfree suggestions"
arch=('i686' 'x86_64' 'mips64el')
url="http://liferea.sourceforge.net/"
@@ -21,7 +21,7 @@ optdepends=('gnome-keyring: for keyring plugin support'
'libgnome-keyring: for keyring plugin support'
'gst-plugins-base: for media player plugin support'
'gst-plugins-good: for media player plugin support'
- 'gst-plugins-bad-libre: for media player plugin support')
+ 'gst-plugins-bad: for media player plugin support')
options=('!emptydirs')
install=liferea.install
source=(https://github.com/lwindolf/liferea/releases/download/v${pkgver}/liferea-${pkgver}.tar.bz2
diff --git a/libre/liferea-libre/libnotify-0.7.patch b/libre/liferea-libre/libnotify-0.7.patch
new file mode 100644
index 000000000..6dbbffb87
--- /dev/null
+++ b/libre/liferea-libre/libnotify-0.7.patch
@@ -0,0 +1,21 @@
+diff -u -Nr liferea-1.6.5/src/notification/libnotify.c liferea-1.6.5-libnotify/src/notification/libnotify.c
+--- liferea-1.6.5/src/notification/libnotify.c 2009-06-20 20:33:19.000000000 +0200
++++ liferea-1.6.5-libnotify/src/notification/libnotify.c 2011-03-06 23:53:45.783336455 +0100
+@@ -150,7 +150,7 @@
+ // notify_notification_update ( n, node_get_title(node_p), labelText_now_p, NULL);
+ // notify_notification_clear_actions(n);
+
+- n = notify_notification_new (node_get_title(node_p), labelText_now_p, NULL, NULL);
++ n = notify_notification_new (node_get_title(node_p), labelText_now_p, NULL);
+
+ notify_notification_set_icon_from_pixbuf (n,node_get_icon(node_p));
+
+@@ -244,7 +244,7 @@
+
+ labelSummary_p = g_strdup_printf (ngettext ("%s has %d new / updated headline\n", "%s has %d new / updated headlines\n", item_count),
+ node_get_title (node), item_count);
+- n = notify_notification_new ( _("Feed Update"), labelSummary_p, NULL, NULL);
++ n = notify_notification_new ( _("Feed Update"), labelSummary_p, NULL);
+ g_free(labelSummary_p);
+
+ notify_notification_set_icon_from_pixbuf (n, node_get_icon (node));
diff --git a/libre/liferea-libre/liferea.install b/libre/liferea-libre/liferea.install
new file mode 100644
index 000000000..7fff91b49
--- /dev/null
+++ b/libre/liferea-libre/liferea.install
@@ -0,0 +1,21 @@
+pkgname=liferea
+
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+pre_upgrade() {
+ if [ -f usr/share/gconf/schemas/$pkgname.schemas ]; then
+ gconfpkg --uninstall $pkgname
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/libre/liferea-libre/remove-non-free-suggestions.patch b/libre/liferea-libre/remove-non-free-suggestions.patch
new file mode 100644
index 000000000..5024f19ee
--- /dev/null
+++ b/libre/liferea-libre/remove-non-free-suggestions.patch
@@ -0,0 +1,50 @@
+diff --git a/src/browser.c b/src/browser.c
+index f91901f..28b0c2b 100644
+--- a/src/browser.c
++++ b/src/browser.c
+@@ -35,23 +35,16 @@ static struct browser browsers[] = {
+ NULL, NULL
+ },
+ {
+- /* tested with Firefox 1.5 and 2.0 */
+- "firefox", "Firefox", "firefox \"%s\"",
+- NULL, "firefox -a firefox -remote \"openURL(%s)\"",
+- NULL, "firefox -a firefox -remote 'openURL(%s,new-window)'",
+- NULL, "firefox -a firefox -remote 'openURL(%s,new-tab)'"
++ "iceweasel", "Iceweasel", "iceweasel %s",
++ NULL, "iceweasel \"%s\"",
++ NULL, "iceweasel -new-window \"%s\"",
++ NULL, "iceweasel -new-tab \"%s\""
+ },
+ {
+- "google-chrome", "Chrome", "google-chrome \"%s\"",
+- NULL, NULL,
+- NULL, NULL,
+- NULL, NULL
+- },
+- {
+- "opera", "Opera", "opera \"%s\"",
+- "opera \"%s\"", "opera -remote \"openURL(%s)\"",
+- "opera -newwindow \"%s\"", NULL,
+- "opera -newpage \"%s\"", NULL
++ "icecat", "Icecat", "icecat %s",
++ NULL, "icecat \"%s\"",
++ NULL, "icecat -new-window \"%s\"",
++ NULL, "icecat -new-tab \"%s\""
+ },
+ {
+ "epiphany", "Epiphany", "epiphany \"%s\"",
+@@ -60,13 +53,6 @@ static struct browser browsers[] = {
+ "epiphany -n \"%s\"", NULL
+ },
+ {
+- /* tested with SeaMonkey 1.0.6 */
+- "mozilla", "Mozilla", "mozilla %s",
+- NULL, "mozilla -remote openURL(%s)",
+- NULL, "mozilla -remote 'openURL(%s,new-window)'",
+- NULL, "mozilla -remote 'openURL(%s,new-tab)'"
+- },
+- {
+ "konqueror", "Konqueror", "kfmclient openURL \"%s\"",
+ NULL, NULL,
+ NULL, NULL,
diff --git a/libre/linux-libre-api-headers/PKGBUILD b/libre/linux-libre-api-headers/PKGBUILD
new file mode 100644
index 000000000..087a0cae8
--- /dev/null
+++ b/libre/linux-libre-api-headers/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 205569 2014-02-07 22:36:57Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+# toolchain build order: linux-libre-api-headers->glibc->binutils->gcc->binutils->glibc
+
+pkgname=linux-libre-api-headers
+_basekernel=3.13
+_sublevel=2
+pkgver=${_basekernel}.${_sublevel}
+pkgrel=1
+pkgdesc="Kernel headers sanitized for use in userspace"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.gnu.org/software/libc"
+license=('GPL2')
+provides=("linux-api-headers=${pkgver}")
+conflicts=('linux-api-headers')
+replaces=('linux-api-headers')
+source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz"
+ "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz")
+md5sums=('98a8e803e0ed08557f3cdd4d56b0ddc1'
+ '5594978ab8b62033274cf36305baf238')
+
+build() {
+ cd ${srcdir}/linux-${_basekernel}
+
+ if [ "${_basekernel}" != "${pkgver}" ]; then
+ patch -p1 -i "${srcdir}/patch-${_basekernel}-gnu-${pkgver}-gnu"
+ fi
+
+ make mrproper
+ make headers_check
+}
+
+package() {
+ cd ${srcdir}/linux-${_basekernel}
+ make INSTALL_HDR_PATH=${pkgdir}/usr headers_install
+
+ # use headers from libdrm
+ rm -r ${pkgdir}/usr/include/drm
+
+ # clean-up unnecessary files generated during install
+ find ${pkgdir} \( -name .install -o -name ..install.cmd \) -delete
+}
diff --git a/libre/linux-libre-firmware/PKGBUILD b/libre/linux-libre-firmware/PKGBUILD
new file mode 100644
index 000000000..a4e4f03ea
--- /dev/null
+++ b/libre/linux-libre-firmware/PKGBUILD
@@ -0,0 +1,61 @@
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Contributor: Márcio Silva <coadde@lavabit.com>
+
+pkgname=linux-libre-firmware
+pkgver=3.12
+pkgrel=1
+pkgdesc='Free firmware files for Linux-libre'
+arch=('any')
+url=('http://linux-libre.fsfla.org/')
+license=('GPL2')
+depends=('ath9k-htc-firmware')
+provides=('linux-firmware')
+conflicts=('linux-firmware'
+ 'linux-firmware-git'
+ 'kernel26-firmware'
+ 'ar9170-fw'
+ 'iwlwifi-1000-ucode'
+ 'iwlwifi-3945-ucode'
+ 'iwlwifi-4965-ucode'
+ 'iwlwifi-5000-ucode'
+ 'iwlwifi-5150-ucode'
+ 'iwlwifi-6000-ucode'
+ 'rt2870usb-fw'
+ 'rt2x00-rt61-fw'
+ 'rt2x00-rt71w-fw'
+ 'amd-ucode')
+replaces=('linux-firmware'
+ 'linux-firmware-git'
+ 'kernel26-firmware'
+ 'ar9170-fw'
+ 'iwlwifi-1000-ucode'
+ 'iwlwifi-3945-ucode'
+ 'iwlwifi-4965-ucode'
+ 'iwlwifi-5000-ucode'
+ 'iwlwifi-5150-ucode'
+ 'iwlwifi-6000-ucode'
+ 'rt2870usb-fw'
+ 'rt2x00-rt61-fw'
+ 'rt2x00-rt71w-fw'
+ 'amd-ucode')
+source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/$pkgver-gnu/linux-libre-$pkgver-gnu.tar.xz")
+md5sums=('254f59707b6676b59ce5ca5c3c698319')
+
+package() {
+
+ # create firmware folder to put the free firmware files there
+ install -d -m755 $pkgdir/usr/lib/firmware
+
+ cd $srcdir/linux-$pkgver
+
+ # compile free firmware files
+ make INSTALL_FW_PATH=$pkgdir/usr/lib/firmware firmware_install
+
+ # create licenses folder to put the licenses files there
+ install -d -m755 $pkgdir/usr/share/licenses/$pkgname
+
+ # move WHENCE file to linux-firmware license folder
+ cd $srcdir/linux-$pkgver
+ install -m644 firmware/WHENCE $pkgdir/usr/share/licenses/$pkgname
+
+}
diff --git a/libre/linux-libre-lts/Kbuild b/libre/linux-libre-lts/Kbuild
new file mode 100644
index 000000000..8a9d7dceb
--- /dev/null
+++ b/libre/linux-libre-lts/Kbuild
@@ -0,0 +1,19 @@
+# Fail on warnings - also for files referenced in subdirs
+# -Werror can be disabled for specific files using:
+# CFLAGS_<file.o> := -Wno-error
+subdir-ccflags-y := -Wno-error
+
+# platform specific definitions
+include arch/mips/Kbuild.platforms
+obj-y := $(platform-y)
+
+# make clean traverses $(obj-) without having included .config, so
+# everything ends up here
+obj- := $(platform-)
+
+# mips object files
+# The object files are linked as core-y files would be linked
+
+obj-y += kernel/
+obj-y += mm/
+obj-y += math-emu/
diff --git a/libre/linux-libre-lts/Kbuild.platforms b/libre/linux-libre-lts/Kbuild.platforms
new file mode 100644
index 000000000..90a226888
--- /dev/null
+++ b/libre/linux-libre-lts/Kbuild.platforms
@@ -0,0 +1,6 @@
+# All platforms listed in alphabetic order
+
+platforms += loongson
+
+# include the platform specific files
+include $(patsubst %, $(srctree)/arch/mips/%/Platform, $(platforms))
diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD
index 685d70501..ae5f590f0 100644
--- a/libre/linux-libre-lts/PKGBUILD
+++ b/libre/linux-libre-lts/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 204271 2014-01-16 08:13:43Z bpiotrowski $
+# $Id: PKGBUILD 205955 2014-02-14 20:17:56Z andyrtr $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
@@ -10,10 +10,10 @@
pkgbase=linux-libre-lts # Build stock -LIBRE-LTS kernel
#pkgbase=linux-libre-custom # Build kernel with a different name
_basekernel=3.10
-_sublevel=27
+_sublevel=30
pkgver=${_basekernel}.${_sublevel}
pkgrel=1
-_lxopkgver=${_basekernel}.27 # nearly always the same as pkgver
+_lxopkgver=${_basekernel}.30 # nearly always the same as pkgver
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
@@ -30,9 +30,9 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'boot-logo.patch'
'change-default-console-loglevel.patch'
'criu-no-expert.patch'
- "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2")
+ "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz")
md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c'
- '20d0ea2ae02745d7a525126a3b8a5ce7'
+ 'fa8d8ba21bf5a6fad7edea6b158fd05c'
'85ce008eaacbb2fc54b81116d35cf946'
'16867e648e4b9f89bec949cb643888c2'
'c072b17032e80debc6a8626299245d46'
@@ -41,7 +41,7 @@ md5sums=('d562fd52580a3b6b18b6eeb5921d1d5c'
'04b21c79df0a952c22d681dd4f4562df'
'f3def2cefdcbb954c21d8505d23cc83c'
'd50c1ac47394e9aec637002ef3392bd1'
- '7e5b9d817f296a7e305f2262a00b9fb3')
+ '8e0bb5cbd34b0e7391049eba25d135be')
if [ "$CARCH" != "mips64el" ]; then
# don't use the Loongson-specific patches on non-mips64el arches.
unset source[${#source[@]}-1]
@@ -61,6 +61,9 @@ prepare() {
# add freedo as boot logo
patch -Np1 -i "${srcdir}/boot-logo.patch"
+ # add latest fixes from stable queue, if needed
+ # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
+
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
# remove this when a Kconfig knob is made available by upstream
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
@@ -69,7 +72,7 @@ prepare() {
# allow criu without expert option set
# patch from fedora
patch -Np1 -i "${srcdir}/criu-no-expert.patch"
-
+
if [ "$CARCH" == "mips64el" ]; then
sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre-lts|" Makefile
sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \
@@ -186,7 +189,7 @@ _package() {
cp vmlinuz "${pkgdir}/boot/vmlinuz-${pkgbase}"
cp vmlinux "${pkgdir}/boot/vmlinux-${pkgbase}"
else
- cp "arch/${KARCH}/boot/bzImage" "${pkgdir}/boot/vmlinuz-${pkgbase}"
+ cp arch/${KARCH}/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}"
fi
# add vmlinux
@@ -271,16 +274,16 @@ _package-headers() {
# copy arch includes for external modules
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}"
- cp -a "arch/${KARCH}/include" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
+ cp -a arch/${KARCH}/include "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
# copy files necessary for later builds
cp Module.symvers "${pkgdir}/usr/src/linux-${_kernver}"
cp -a scripts "${pkgdir}/usr/src/linux-${_kernver}"
if [ "$CARCH" = "mips64el" ]; then
- cp "arch/${KARCH}/Kbuild" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
- cp -a "arch/${KARCH}/loongson" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
- cp "${srcdir}/Kbuild.platforms" "${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/"
+ cp arch/${KARCH}/Kbuild "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
+ cp -a arch/${KARCH}/loongson "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
+ cp ${srcdir}/Kbuild.platforms "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
fi
# fix permissions on scripts dir
diff --git a/libre/linux-libre-lts/boot-logo.patch b/libre/linux-libre-lts/boot-logo.patch
new file mode 100644
index 000000000..c392928a5
--- /dev/null
+++ b/libre/linux-libre-lts/boot-logo.patch
@@ -0,0 +1,23163 @@
+diff -Nur linux-2.6.39.1/drivers/video/logo/logo_linux_clut224.ppm linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_clut224.ppm
+--- linux-2.6.39.1/drivers/video/logo/logo_linux_clut224.ppm 2011-06-02 21:34:20.000000000 -0300
++++ linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_clut224.ppm 2011-06-22 13:42:06.000000000 -0300
+@@ -1,1604 +1,861 @@
+ P3
+-# Standard 224-color Linux logo
+-80 80
++80 78
+ 255
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 6 6 6 10 10 10 10 10 10
+- 10 10 10 6 6 6 6 6 6 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 10 10 10 14 14 14
+- 22 22 22 26 26 26 30 30 30 34 34 34
+- 30 30 30 30 30 30 26 26 26 18 18 18
+- 14 14 14 10 10 10 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 26 26 26 42 42 42
+- 54 54 54 66 66 66 78 78 78 78 78 78
+- 78 78 78 74 74 74 66 66 66 54 54 54
+- 42 42 42 26 26 26 18 18 18 10 10 10
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 22 22 22 42 42 42 66 66 66 86 86 86
+- 66 66 66 38 38 38 38 38 38 22 22 22
+- 26 26 26 34 34 34 54 54 54 66 66 66
+- 86 86 86 70 70 70 46 46 46 26 26 26
+- 14 14 14 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 26 26 26
+- 50 50 50 82 82 82 58 58 58 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 54 54 54 86 86 86 66 66 66
+- 38 38 38 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 22 22 22 50 50 50
+- 78 78 78 34 34 34 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 6 6 6 70 70 70
+- 78 78 78 46 46 46 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 42 42 42 82 82 82
+- 26 26 26 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 14 14 14
+- 46 46 46 34 34 34 6 6 6 2 2 6
+- 42 42 42 78 78 78 42 42 42 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 0 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 10 10 10 30 30 30 66 66 66 58 58 58
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 26 26 26
+- 86 86 86 101 101 101 46 46 46 10 10 10
+- 2 2 6 58 58 58 70 70 70 34 34 34
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 14 14 14 42 42 42 86 86 86 10 10 10
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 30 30 30
+- 94 94 94 94 94 94 58 58 58 26 26 26
+- 2 2 6 6 6 6 78 78 78 54 54 54
+- 22 22 22 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 22 22 22 62 62 62 62 62 62 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 26 26 26
+- 54 54 54 38 38 38 18 18 18 10 10 10
+- 2 2 6 2 2 6 34 34 34 82 82 82
+- 38 38 38 14 14 14 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 30 30 30 78 78 78 30 30 30 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 10 10 10
+- 10 10 10 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 78 78 78
+- 50 50 50 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 86 86 86 14 14 14 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 54 54 54
+- 66 66 66 26 26 26 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 82 82 82 2 2 6 2 2 6
+- 2 2 6 6 6 6 10 10 10 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 6 6 6
+- 14 14 14 10 10 10 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 18 18 18
+- 82 82 82 34 34 34 10 10 10 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 2 2 6
+- 6 6 6 6 6 6 22 22 22 34 34 34
+- 6 6 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 18 18 18 34 34 34
+- 10 10 10 50 50 50 22 22 22 2 2 6
+- 2 2 6 2 2 6 2 2 6 10 10 10
+- 86 86 86 42 42 42 14 14 14 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 2 2 6
+- 38 38 38 116 116 116 94 94 94 22 22 22
+- 22 22 22 2 2 6 2 2 6 2 2 6
+- 14 14 14 86 86 86 138 138 138 162 162 162
+-154 154 154 38 38 38 26 26 26 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 86 86 86 46 46 46 14 14 14 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 14 14 14
+-134 134 134 198 198 198 195 195 195 116 116 116
+- 10 10 10 2 2 6 2 2 6 6 6 6
+-101 98 89 187 187 187 210 210 210 218 218 218
+-214 214 214 134 134 134 14 14 14 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 86 86 86 50 50 50 18 18 18 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 1 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 54 54 54
+-218 218 218 195 195 195 226 226 226 246 246 246
+- 58 58 58 2 2 6 2 2 6 30 30 30
+-210 210 210 253 253 253 174 174 174 123 123 123
+-221 221 221 234 234 234 74 74 74 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 70 70 70 58 58 58 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 82 82 82 2 2 6 106 106 106
+-170 170 170 26 26 26 86 86 86 226 226 226
+-123 123 123 10 10 10 14 14 14 46 46 46
+-231 231 231 190 190 190 6 6 6 70 70 70
+- 90 90 90 238 238 238 158 158 158 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 70 70 70 58 58 58 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 1 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 86 86 86 6 6 6 116 116 116
+-106 106 106 6 6 6 70 70 70 149 149 149
+-128 128 128 18 18 18 38 38 38 54 54 54
+-221 221 221 106 106 106 2 2 6 14 14 14
+- 46 46 46 190 190 190 198 198 198 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 74 74 74 62 62 62 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 1 0 0 0
+- 0 0 1 0 0 0 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 94 94 94 14 14 14 101 101 101
+-128 128 128 2 2 6 18 18 18 116 116 116
+-118 98 46 121 92 8 121 92 8 98 78 10
+-162 162 162 106 106 106 2 2 6 2 2 6
+- 2 2 6 195 195 195 195 195 195 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 74 74 74 62 62 62 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 1 0 0 1
+- 0 0 1 0 0 0 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 90 90 90 14 14 14 58 58 58
+-210 210 210 26 26 26 54 38 6 154 114 10
+-226 170 11 236 186 11 225 175 15 184 144 12
+-215 174 15 175 146 61 37 26 9 2 2 6
+- 70 70 70 246 246 246 138 138 138 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 70 70 70 66 66 66 26 26 26 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 86 86 86 14 14 14 10 10 10
+-195 195 195 188 164 115 192 133 9 225 175 15
+-239 182 13 234 190 10 232 195 16 232 200 30
+-245 207 45 241 208 19 232 195 16 184 144 12
+-218 194 134 211 206 186 42 42 42 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 50 50 50 74 74 74 30 30 30 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 34 34 34 86 86 86 14 14 14 2 2 6
+-121 87 25 192 133 9 219 162 10 239 182 13
+-236 186 11 232 195 16 241 208 19 244 214 54
+-246 218 60 246 218 38 246 215 20 241 208 19
+-241 208 19 226 184 13 121 87 25 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 50 50 50 82 82 82 34 34 34 10 10 10
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 34 34 34 82 82 82 30 30 30 61 42 6
+-180 123 7 206 145 10 230 174 11 239 182 13
+-234 190 10 238 202 15 241 208 19 246 218 74
+-246 218 38 246 215 20 246 215 20 246 215 20
+-226 184 13 215 174 15 184 144 12 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 26 26 26 94 94 94 42 42 42 14 14 14
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 78 78 78 50 50 50 104 69 6
+-192 133 9 216 158 10 236 178 12 236 186 11
+-232 195 16 241 208 19 244 214 54 245 215 43
+-246 215 20 246 215 20 241 208 19 198 155 10
+-200 144 11 216 158 10 156 118 10 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 90 90 90 54 54 54 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 78 78 78 46 46 46 22 22 22
+-137 92 6 210 162 10 239 182 13 238 190 10
+-238 202 15 241 208 19 246 215 20 246 215 20
+-241 208 19 203 166 17 185 133 11 210 150 10
+-216 158 10 210 150 10 102 78 10 2 2 6
+- 6 6 6 54 54 54 14 14 14 2 2 6
+- 2 2 6 62 62 62 74 74 74 30 30 30
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 34 34 34 78 78 78 50 50 50 6 6 6
+- 94 70 30 139 102 15 190 146 13 226 184 13
+-232 200 30 232 195 16 215 174 15 190 146 13
+-168 122 10 192 133 9 210 150 10 213 154 11
+-202 150 34 182 157 106 101 98 89 2 2 6
+- 2 2 6 78 78 78 116 116 116 58 58 58
+- 2 2 6 22 22 22 90 90 90 46 46 46
+- 18 18 18 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 86 86 86 50 50 50 6 6 6
+-128 128 128 174 154 114 156 107 11 168 122 10
+-198 155 10 184 144 12 197 138 11 200 144 11
+-206 145 10 206 145 10 197 138 11 188 164 115
+-195 195 195 198 198 198 174 174 174 14 14 14
+- 2 2 6 22 22 22 116 116 116 116 116 116
+- 22 22 22 2 2 6 74 74 74 70 70 70
+- 30 30 30 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 101 101 101 26 26 26 10 10 10
+-138 138 138 190 190 190 174 154 114 156 107 11
+-197 138 11 200 144 11 197 138 11 192 133 9
+-180 123 7 190 142 34 190 178 144 187 187 187
+-202 202 202 221 221 221 214 214 214 66 66 66
+- 2 2 6 2 2 6 50 50 50 62 62 62
+- 6 6 6 2 2 6 10 10 10 90 90 90
+- 50 50 50 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 34 34 34
+- 74 74 74 74 74 74 2 2 6 6 6 6
+-144 144 144 198 198 198 190 190 190 178 166 146
+-154 121 60 156 107 11 156 107 11 168 124 44
+-174 154 114 187 187 187 190 190 190 210 210 210
+-246 246 246 253 253 253 253 253 253 182 182 182
+- 6 6 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 62 62 62
+- 74 74 74 34 34 34 14 14 14 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 10 10 10 22 22 22 54 54 54
+- 94 94 94 18 18 18 2 2 6 46 46 46
+-234 234 234 221 221 221 190 190 190 190 190 190
+-190 190 190 187 187 187 187 187 187 190 190 190
+-190 190 190 195 195 195 214 214 214 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+- 82 82 82 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 14 14 14
+- 86 86 86 54 54 54 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 46 46 46 90 90 90
+- 46 46 46 18 18 18 6 6 6 182 182 182
+-253 253 253 246 246 246 206 206 206 190 190 190
+-190 190 190 190 190 190 190 190 190 190 190 190
+-206 206 206 231 231 231 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-202 202 202 14 14 14 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 42 42 42 86 86 86 42 42 42 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 14 14 14 38 38 38 74 74 74 66 66 66
+- 2 2 6 6 6 6 90 90 90 250 250 250
+-253 253 253 253 253 253 238 238 238 198 198 198
+-190 190 190 190 190 190 195 195 195 221 221 221
+-246 246 246 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 82 82 82 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 78 78 78 70 70 70 34 34 34
+- 14 14 14 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 34 34 34 66 66 66 78 78 78 6 6 6
+- 2 2 6 18 18 18 218 218 218 253 253 253
+-253 253 253 253 253 253 253 253 253 246 246 246
+-226 226 226 231 231 231 246 246 246 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 178 178 178 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 18 18 18 90 90 90 62 62 62
+- 30 30 30 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 26 26 26
+- 58 58 58 90 90 90 18 18 18 2 2 6
+- 2 2 6 110 110 110 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 231 231 231 18 18 18 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 18 18 18 94 94 94
+- 54 54 54 26 26 26 10 10 10 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 22 22 22 50 50 50
+- 90 90 90 26 26 26 2 2 6 2 2 6
+- 14 14 14 195 195 195 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 242 242 242 54 54 54 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 38 38 38
+- 86 86 86 50 50 50 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 38 38 38 82 82 82
+- 34 34 34 2 2 6 2 2 6 2 2 6
+- 42 42 42 195 195 195 246 246 246 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-242 242 242 242 242 242 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 250 250 250 246 246 246 238 238 238
+-226 226 226 231 231 231 101 101 101 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 38 38 38 82 82 82 42 42 42 14 14 14
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 10 10 10 26 26 26 62 62 62 66 66 66
+- 2 2 6 2 2 6 2 2 6 6 6 6
+- 70 70 70 170 170 170 206 206 206 234 234 234
+-246 246 246 250 250 250 250 250 250 238 238 238
+-226 226 226 231 231 231 238 238 238 250 250 250
+-250 250 250 250 250 250 246 246 246 231 231 231
+-214 214 214 206 206 206 202 202 202 202 202 202
+-198 198 198 202 202 202 182 182 182 18 18 18
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 62 62 62 66 66 66 30 30 30
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 14 14 14 42 42 42 82 82 82 18 18 18
+- 2 2 6 2 2 6 2 2 6 10 10 10
+- 94 94 94 182 182 182 218 218 218 242 242 242
+-250 250 250 253 253 253 253 253 253 250 250 250
+-234 234 234 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 246 246 246
+-238 238 238 226 226 226 210 210 210 202 202 202
+-195 195 195 195 195 195 210 210 210 158 158 158
+- 6 6 6 14 14 14 50 50 50 14 14 14
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 86 86 86 46 46 46
+- 18 18 18 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 22 22 22 54 54 54 70 70 70 2 2 6
+- 2 2 6 10 10 10 2 2 6 22 22 22
+-166 166 166 231 231 231 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-242 242 242 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 246 246 246
+-231 231 231 206 206 206 198 198 198 226 226 226
+- 94 94 94 2 2 6 6 6 6 38 38 38
+- 30 30 30 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 62 62 62 66 66 66
+- 26 26 26 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 74 74 74 50 50 50 2 2 6
+- 26 26 26 26 26 26 2 2 6 106 106 106
+-238 238 238 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 246 246 246 218 218 218 202 202 202
+-210 210 210 14 14 14 2 2 6 2 2 6
+- 30 30 30 22 22 22 2 2 6 2 2 6
+- 2 2 6 2 2 6 18 18 18 86 86 86
+- 42 42 42 14 14 14 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 90 90 90 22 22 22 2 2 6
+- 42 42 42 2 2 6 18 18 18 218 218 218
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 250 250 250 221 221 221
+-218 218 218 101 101 101 2 2 6 14 14 14
+- 18 18 18 38 38 38 10 10 10 2 2 6
+- 2 2 6 2 2 6 2 2 6 78 78 78
+- 58 58 58 22 22 22 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 54 54 54 82 82 82 2 2 6 26 26 26
+- 22 22 22 2 2 6 123 123 123 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-238 238 238 198 198 198 6 6 6 38 38 38
+- 58 58 58 26 26 26 38 38 38 2 2 6
+- 2 2 6 2 2 6 2 2 6 46 46 46
+- 78 78 78 30 30 30 10 10 10 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 30 30 30
+- 74 74 74 58 58 58 2 2 6 42 42 42
+- 2 2 6 22 22 22 231 231 231 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 246 246 246 46 46 46 38 38 38
+- 42 42 42 14 14 14 38 38 38 14 14 14
+- 2 2 6 2 2 6 2 2 6 6 6 6
+- 86 86 86 46 46 46 14 14 14 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 14 14 14 42 42 42
+- 90 90 90 18 18 18 18 18 18 26 26 26
+- 2 2 6 116 116 116 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 250 250 250 238 238 238
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 94 94 94 6 6 6
+- 2 2 6 2 2 6 10 10 10 34 34 34
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 74 74 74 58 58 58 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 10 10 10 26 26 26 66 66 66
+- 82 82 82 2 2 6 38 38 38 6 6 6
+- 14 14 14 210 210 210 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 246 246 246 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 144 144 144 2 2 6
+- 2 2 6 2 2 6 2 2 6 46 46 46
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 42 42 42 74 74 74 30 30 30 10 10 10
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 42 42 42 90 90 90
+- 26 26 26 6 6 6 42 42 42 2 2 6
+- 74 74 74 250 250 250 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 242 242 242 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 182 182 182 2 2 6
+- 2 2 6 2 2 6 2 2 6 46 46 46
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 10 10 10 86 86 86 38 38 38 10 10 10
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 10 10 10 26 26 26 66 66 66 82 82 82
+- 2 2 6 22 22 22 18 18 18 2 2 6
+-149 149 149 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 206 206 206 2 2 6
+- 2 2 6 2 2 6 2 2 6 38 38 38
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 86 86 86 46 46 46 14 14 14
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 18 18 18 46 46 46 86 86 86 18 18 18
+- 2 2 6 34 34 34 10 10 10 6 6 6
+-210 210 210 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 221 221 221 6 6 6
+- 2 2 6 2 2 6 6 6 6 30 30 30
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 82 82 82 54 54 54 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 26 26 26 66 66 66 62 62 62 2 2 6
+- 2 2 6 38 38 38 10 10 10 26 26 26
+-238 238 238 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 238 238 238
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 6 6 6
+- 2 2 6 2 2 6 10 10 10 30 30 30
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 58 58 58 22 22 22
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 78 78 78 6 6 6 2 2 6
+- 2 2 6 46 46 46 14 14 14 42 42 42
+-246 246 246 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 10 10 10
+- 2 2 6 2 2 6 22 22 22 14 14 14
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 62 62 62 22 22 22
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 74 74 74 2 2 6 2 2 6
+- 14 14 14 70 70 70 34 34 34 62 62 62
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 14 14 14
+- 2 2 6 2 2 6 30 30 30 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 62 62 62 22 22 22
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 54 54 54 62 62 62 2 2 6 2 2 6
+- 2 2 6 30 30 30 46 46 46 70 70 70
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 226 226 226 10 10 10
+- 2 2 6 6 6 6 30 30 30 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 58 58 58 22 22 22
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 22 22 22
+- 58 58 58 62 62 62 2 2 6 2 2 6
+- 2 2 6 2 2 6 30 30 30 78 78 78
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 206 206 206 2 2 6
+- 22 22 22 34 34 34 18 14 6 22 22 22
+- 26 26 26 18 18 18 6 6 6 2 2 6
+- 2 2 6 82 82 82 54 54 54 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 26 26 26
+- 62 62 62 106 106 106 74 54 14 185 133 11
+-210 162 10 121 92 8 6 6 6 62 62 62
+-238 238 238 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 158 158 158 18 18 18
+- 14 14 14 2 2 6 2 2 6 2 2 6
+- 6 6 6 18 18 18 66 66 66 38 38 38
+- 6 6 6 94 94 94 50 50 50 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 10 10 10 10 10 10 18 18 18 38 38 38
+- 78 78 78 142 134 106 216 158 10 242 186 14
+-246 190 14 246 190 14 156 118 10 10 10 10
+- 90 90 90 238 238 238 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 250 250 250
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 246 230 190
+-238 204 91 238 204 91 181 142 44 37 26 9
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 38 38 38 46 46 46
+- 26 26 26 106 106 106 54 54 54 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 14 14 14 22 22 22
+- 30 30 30 38 38 38 50 50 50 70 70 70
+-106 106 106 190 142 34 226 170 11 242 186 14
+-246 190 14 246 190 14 246 190 14 154 114 10
+- 6 6 6 74 74 74 226 226 226 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 250 250 250
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 228 184 62
+-241 196 14 241 208 19 232 195 16 38 30 10
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 30 30 30 26 26 26
+-203 166 17 154 142 90 66 66 66 26 26 26
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 38 38 38 58 58 58
+- 78 78 78 86 86 86 101 101 101 123 123 123
+-175 146 61 210 150 10 234 174 13 246 186 14
+-246 190 14 246 190 14 246 190 14 238 190 10
+-102 78 10 2 2 6 46 46 46 198 198 198
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 224 178 62
+-242 186 14 241 196 14 210 166 10 22 18 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 6 6 6 121 92 8
+-238 202 15 232 195 16 82 82 82 34 34 34
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 14 14 14 38 38 38 70 70 70 154 122 46
+-190 142 34 200 144 11 197 138 11 197 138 11
+-213 154 11 226 170 11 242 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-225 175 15 46 32 6 2 2 6 22 22 22
+-158 158 158 250 250 250 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 250 250 250 242 242 242 224 178 62
+-239 182 13 236 186 11 213 154 11 46 32 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 61 42 6 225 175 15
+-238 190 10 236 186 11 112 100 78 42 42 42
+- 14 14 14 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 22 22 22 54 54 54 154 122 46 213 154 11
+-226 170 11 230 174 11 226 170 11 226 170 11
+-236 178 12 242 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-241 196 14 184 144 12 10 10 10 2 2 6
+- 6 6 6 116 116 116 242 242 242 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 231 231 231 198 198 198 214 170 54
+-236 178 12 236 178 12 210 150 10 137 92 6
+- 18 14 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 70 47 6 200 144 11 236 178 12
+-239 182 13 239 182 13 124 112 88 58 58 58
+- 22 22 22 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 70 70 70 180 133 36 226 170 11
+-239 182 13 242 186 14 242 186 14 246 186 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 232 195 16 98 70 6 2 2 6
+- 2 2 6 2 2 6 66 66 66 221 221 221
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 206 206 206 198 198 198 214 166 58
+-230 174 11 230 174 11 216 158 10 192 133 9
+-163 110 8 116 81 8 102 78 10 116 81 8
+-167 114 7 197 138 11 226 170 11 239 182 13
+-242 186 14 242 186 14 162 146 94 78 78 78
+- 34 34 34 14 14 14 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 30 30 30 78 78 78 190 142 34 226 170 11
+-239 182 13 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 241 196 14 203 166 17 22 18 6
+- 2 2 6 2 2 6 2 2 6 38 38 38
+-218 218 218 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 206 206 206 198 198 198 202 162 69
+-226 170 11 236 178 12 224 166 10 210 150 10
+-200 144 11 197 138 11 192 133 9 197 138 11
+-210 150 10 226 170 11 242 186 14 246 190 14
+-246 190 14 246 186 14 225 175 15 124 112 88
+- 62 62 62 30 30 30 14 14 14 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 78 78 78 174 135 50 224 166 10
+-239 182 13 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 241 196 14 139 102 15
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 78 78 78 250 250 250 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 214 214 214 198 198 198 190 150 46
+-219 162 10 236 178 12 234 174 13 224 166 10
+-216 158 10 213 154 11 213 154 11 216 158 10
+-226 170 11 239 182 13 246 190 14 246 190 14
+-246 190 14 246 190 14 242 186 14 206 162 42
+-101 101 101 58 58 58 30 30 30 14 14 14
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 74 74 74 174 135 50 216 158 10
+-236 178 12 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 241 196 14 226 184 13
+- 61 42 6 2 2 6 2 2 6 2 2 6
+- 22 22 22 238 238 238 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 226 226 226 187 187 187 180 133 36
+-216 158 10 236 178 12 239 182 13 236 178 12
+-230 174 11 226 170 11 226 170 11 230 174 11
+-236 178 12 242 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 186 14 239 182 13
+-206 162 42 106 106 106 66 66 66 34 34 34
+- 14 14 14 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 26 26 26 70 70 70 163 133 67 213 154 11
+-236 178 12 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 241 196 14
+-190 146 13 18 14 6 2 2 6 2 2 6
+- 46 46 46 246 246 246 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 221 221 221 86 86 86 156 107 11
+-216 158 10 236 178 12 242 186 14 246 186 14
+-242 186 14 239 182 13 239 182 13 242 186 14
+-242 186 14 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-242 186 14 225 175 15 142 122 72 66 66 66
+- 30 30 30 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 26 26 26 70 70 70 163 133 67 210 150 10
+-236 178 12 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-232 195 16 121 92 8 34 34 34 106 106 106
+-221 221 221 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-242 242 242 82 82 82 18 14 6 163 110 8
+-216 158 10 236 178 12 242 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 242 186 14 163 133 67
+- 46 46 46 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 78 78 78 163 133 67 210 150 10
+-236 178 12 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-241 196 14 215 174 15 190 178 144 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 218 218 218
+- 58 58 58 2 2 6 22 18 6 167 114 7
+-216 158 10 236 178 12 246 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 186 14 242 186 14 190 150 46
+- 54 54 54 22 22 22 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 38 38 38 86 86 86 180 133 36 213 154 11
+-236 178 12 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 232 195 16 190 146 13 214 214 214
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 250 250 250 170 170 170 26 26 26
+- 2 2 6 2 2 6 37 26 9 163 110 8
+-219 162 10 239 182 13 246 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 186 14 236 178 12 224 166 10 142 122 72
+- 46 46 46 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 109 106 95 192 133 9 224 166 10
+-242 186 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-242 186 14 226 184 13 210 162 10 142 110 46
+-226 226 226 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-198 198 198 66 66 66 2 2 6 2 2 6
+- 2 2 6 2 2 6 50 34 6 156 107 11
+-219 162 10 239 182 13 246 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 242 186 14
+-234 174 13 213 154 11 154 122 46 66 66 66
+- 30 30 30 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 22 22 22
+- 58 58 58 154 121 60 206 145 10 234 174 13
+-242 186 14 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 186 14 236 178 12 210 162 10 163 110 8
+- 61 42 6 138 138 138 218 218 218 250 250 250
+-253 253 253 253 253 253 253 253 253 250 250 250
+-242 242 242 210 210 210 144 144 144 66 66 66
+- 6 6 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 61 42 6 163 110 8
+-216 158 10 236 178 12 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 239 182 13 230 174 11 216 158 10
+-190 142 34 124 112 88 70 70 70 38 38 38
+- 18 18 18 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 22 22 22
+- 62 62 62 168 124 44 206 145 10 224 166 10
+-236 178 12 239 182 13 242 186 14 242 186 14
+-246 186 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 236 178 12 216 158 10 175 118 6
+- 80 54 7 2 2 6 6 6 6 30 30 30
+- 54 54 54 62 62 62 50 50 50 38 38 38
+- 14 14 14 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 80 54 7 167 114 7
+-213 154 11 236 178 12 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 242 186 14 239 182 13 239 182 13
+-230 174 11 210 150 10 174 135 50 124 112 88
+- 82 82 82 54 54 54 34 34 34 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 158 118 36 192 133 9 200 144 11
+-216 158 10 219 162 10 224 166 10 226 170 11
+-230 174 11 236 178 12 239 182 13 239 182 13
+-242 186 14 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 186 14 230 174 11 210 150 10 163 110 8
+-104 69 6 10 10 10 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 91 60 6 167 114 7
+-206 145 10 230 174 11 242 186 14 246 190 14
+-246 190 14 246 190 14 246 186 14 242 186 14
+-239 182 13 230 174 11 224 166 10 213 154 11
+-180 133 36 124 112 88 86 86 86 58 58 58
+- 38 38 38 22 22 22 10 10 10 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 34 34 34 70 70 70 138 110 50 158 118 36
+-167 114 7 180 123 7 192 133 9 197 138 11
+-200 144 11 206 145 10 213 154 11 219 162 10
+-224 166 10 230 174 11 239 182 13 242 186 14
+-246 186 14 246 186 14 246 186 14 246 186 14
+-239 182 13 216 158 10 185 133 11 152 99 6
+-104 69 6 18 14 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 80 54 7 152 99 6
+-192 133 9 219 162 10 236 178 12 239 182 13
+-246 186 14 242 186 14 239 182 13 236 178 12
+-224 166 10 206 145 10 192 133 9 154 121 60
+- 94 94 94 62 62 62 42 42 42 22 22 22
+- 14 14 14 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 18 18 18 34 34 34 58 58 58 78 78 78
+-101 98 89 124 112 88 142 110 46 156 107 11
+-163 110 8 167 114 7 175 118 6 180 123 7
+-185 133 11 197 138 11 210 150 10 219 162 10
+-226 170 11 236 178 12 236 178 12 234 174 13
+-219 162 10 197 138 11 163 110 8 130 83 6
+- 91 60 6 10 10 10 2 2 6 2 2 6
+- 18 18 18 38 38 38 38 38 38 38 38 38
+- 38 38 38 38 38 38 38 38 38 38 38 38
+- 38 38 38 38 38 38 26 26 26 2 2 6
+- 2 2 6 6 6 6 70 47 6 137 92 6
+-175 118 6 200 144 11 219 162 10 230 174 11
+-234 174 13 230 174 11 219 162 10 210 150 10
+-192 133 9 163 110 8 124 112 88 82 82 82
+- 50 50 50 30 30 30 14 14 14 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 22 22 22 34 34 34
+- 42 42 42 58 58 58 74 74 74 86 86 86
+-101 98 89 122 102 70 130 98 46 121 87 25
+-137 92 6 152 99 6 163 110 8 180 123 7
+-185 133 11 197 138 11 206 145 10 200 144 11
+-180 123 7 156 107 11 130 83 6 104 69 6
+- 50 34 6 54 54 54 110 110 110 101 98 89
+- 86 86 86 82 82 82 78 78 78 78 78 78
+- 78 78 78 78 78 78 78 78 78 78 78 78
+- 78 78 78 82 82 82 86 86 86 94 94 94
+-106 106 106 101 101 101 86 66 34 124 80 6
+-156 107 11 180 123 7 192 133 9 200 144 11
+-206 145 10 200 144 11 192 133 9 175 118 6
+-139 102 15 109 106 95 70 70 70 42 42 42
+- 22 22 22 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 10 10 10
+- 14 14 14 22 22 22 30 30 30 38 38 38
+- 50 50 50 62 62 62 74 74 74 90 90 90
+-101 98 89 112 100 78 121 87 25 124 80 6
+-137 92 6 152 99 6 152 99 6 152 99 6
+-138 86 6 124 80 6 98 70 6 86 66 30
+-101 98 89 82 82 82 58 58 58 46 46 46
+- 38 38 38 34 34 34 34 34 34 34 34 34
+- 34 34 34 34 34 34 34 34 34 34 34 34
+- 34 34 34 34 34 34 38 38 38 42 42 42
+- 54 54 54 82 82 82 94 86 76 91 60 6
+-134 86 6 156 107 11 167 114 7 175 118 6
+-175 118 6 167 114 7 152 99 6 121 87 25
+-101 98 89 62 62 62 34 34 34 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 6 6 6 10 10 10
+- 18 18 18 22 22 22 30 30 30 42 42 42
+- 50 50 50 66 66 66 86 86 86 101 98 89
+-106 86 58 98 70 6 104 69 6 104 69 6
+-104 69 6 91 60 6 82 62 34 90 90 90
+- 62 62 62 38 38 38 22 22 22 14 14 14
+- 10 10 10 10 10 10 10 10 10 10 10 10
+- 10 10 10 10 10 10 6 6 6 10 10 10
+- 10 10 10 10 10 10 10 10 10 14 14 14
+- 22 22 22 42 42 42 70 70 70 89 81 66
+- 80 54 7 104 69 6 124 80 6 137 92 6
+-134 86 6 116 81 8 100 82 52 86 86 86
+- 58 58 58 30 30 30 14 14 14 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 10 10 10 14 14 14
+- 18 18 18 26 26 26 38 38 38 54 54 54
+- 70 70 70 86 86 86 94 86 76 89 81 66
+- 89 81 66 86 86 86 74 74 74 50 50 50
+- 30 30 30 14 14 14 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 34 34 34 58 58 58
+- 82 82 82 89 81 66 89 81 66 89 81 66
+- 94 86 66 94 86 76 74 74 74 50 50 50
+- 26 26 26 14 14 14 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 6 6 6 14 14 14 18 18 18
+- 30 30 30 38 38 38 46 46 46 54 54 54
+- 50 50 50 42 42 42 30 30 30 18 18 18
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 14 14 14 26 26 26
+- 38 38 38 50 50 50 58 58 58 58 58 58
+- 54 54 54 42 42 42 30 30 30 18 18 18
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 6 6 6 10 10 10 14 14 14 18 18 18
+- 18 18 18 14 14 14 10 10 10 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 14 14 14 18 18 18 22 22 22 22 22 22
+- 18 18 18 14 14 14 10 10 10 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 6 9 23 30 36 44 54 65 57 72 88 44 54 65 6 12 15 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 31 41 52
++103 134 161 163 205 246 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 143 185 225
++82 108 129 8 14 16 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 17 24 30 126 162 196 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 161 203 243 92 119 140 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 44 54 65 154 195 235 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 138 174 208 21 27 33 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 70 96 117 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 157 198 239 49 59 70 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 0 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 3 6 52 62 74 170 212 252 170 212 252 170 212 252 170 212 252 129 165 199
++82 108 129 149 191 231 170 212 252 170 212 252 170 212 252 129 165 199 82 108 129 149 191 231
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 166 207 248 37 48 59 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 21 13 4 31 23 12 0 2 0 0 2 0 105 75 32 155 111 43 23 15 7
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 6 9 3 10 13 146 188 228 170 212 252 170 212 252 170 212 252 157 198 239 0 6 9
++0 2 0 52 62 74 170 212 252 170 212 252 154 195 235 0 6 9 0 2 0 55 66 77
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 151 193 233 17 24 30
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++10 12 8 23 15 7 139 99 44 206 148 61 67 49 21 0 2 0 125 92 35 206 148 61
++15 9 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 96 127 154 170 212 252 170 212 252 170 212 252 170 212 252 92 119 140 21 22 20
++10 12 8 53 68 84 170 212 252 170 212 252 92 119 140 10 12 8 7 10 5 53 68 84
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 134 170 204
++0 6 9 0 3 6 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 21 22 20
++62 64 61 38 40 37 0 2 0 34 26 8 212 153 66 64 46 18 0 2 0 170 124 49
++180 132 57 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++18 22 24 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 65 87 102 115 117 114
++43 44 42 88 115 136 170 212 252 170 212 252 68 83 99 108 110 107 60 62 59 88 115 136
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++80 98 121 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 10 12 8 56 58 55 95 96 94 178 180 177 215 217 214 198 200 197
++158 160 156 138 140 137 82 83 81 0 2 0 64 46 18 228 167 73 23 15 7 41 31 10
++250 179 73 55 39 17 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++75 94 116 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 63 78 94 0 2 0
++0 2 0 126 162 196 170 212 252 170 212 252 57 72 88 0 2 0 0 2 0 126 162 196
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++157 198 239 8 14 16 0 6 9 0 2 0 45 47 44 195 197 194 192 194 191 38 40 37
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 192 194 191 234 236 233 176 178 175 118 120 117 143 145 142 176 178 175
++215 217 214 234 236 233 234 236 233 104 106 103 0 2 0 142 101 40 134 100 43 0 2 0
++164 119 51 170 124 49 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 115 152 185 8 14 16
++49 59 70 166 207 248 170 212 252 170 212 252 119 150 178 8 14 16 55 66 77 166 207 248
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 92 119 140 0 2 0 0 2 0 200 202 199 254 255 252 254 255 252 244 246 243
++40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 38 40 37 234 236 233 234 236 233 234 236 233 135 137 134 215 217 214 171 173 170
++141 142 139 138 140 137 138 140 137 135 137 134 31 32 30 3 6 2 212 153 66 15 9 7
++78 58 25 248 178 79 41 31 10 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 3 6 21 27 33
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 163 205 246 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 154 195 235 0 6 9 82 83 81 254 255 252 254 255 252 254 255 252 254 255 252
++188 190 187 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 62 64 61 234 236 233 234 236 233 234 236 233 198 200 197 131 133 130 198 200 197
++232 234 231 234 236 233 234 236 233 234 236 233 152 154 151 0 2 0 147 105 44 67 49 21
++23 15 7 250 179 73 158 114 46 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 6 9 61 76 92
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 154 195 235 103 134 161 80 98 121
++52 62 74 18 22 24 0 2 0 3 10 13 38 45 51 80 98 121 151 193 233 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 109 141 168 0 2 0 169 171 168 254 255 252 254 255 252 254 255 252 254 255 252
++226 228 225 65 66 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 43 44 42 234 236 233 234 236 233 234 236 233 234 236 233 131 133 130 192 194 191
++152 154 151 141 142 139 141 142 139 141 142 139 158 160 156 3 6 2 82 62 28 129 95 39
++0 2 0 206 148 61 248 178 79 21 13 4 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 96 115 138
++170 212 252 170 212 252 170 212 252 170 212 252 129 165 199 18 22 24 0 2 0 0 2 0
++34 26 8 75 55 22 114 83 33 95 68 30 55 39 17 7 0 0 0 6 9 84 103 125
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 84 103 125 0 2 0 229 231 228 254 255 252 254 255 252 254 255 252 171 173 170
++0 2 0 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 18 20 17 234 236 233 234 236 233 234 236 233 234 236 233 138 140 137 178 180 177
++226 228 225 234 236 233 234 236 233 234 236 233 231 233 230 45 47 44 23 15 7 190 136 56
++0 2 0 147 105 44 250 179 73 64 46 18 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 122 159 192
++170 212 252 170 212 252 170 212 252 126 162 196 0 2 0 26 20 13 190 136 56 245 175 76
++250 179 73 161 117 49 164 119 51 245 175 76 250 179 73 206 148 61 75 55 22 0 2 0
++126 162 196 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 68 83 99 0 2 0 252 254 250 254 255 252 254 255 252 254 255 252 71 73 70
++8 14 16 88 115 136 17 24 30 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 232 234 231 234 236 233 234 236 233 234 236 233 215 217 214 148 150 147
++183 185 181 141 142 139 135 137 134 135 137 134 141 142 139 87 89 86 0 2 0 202 145 58
++3 6 2 88 66 26 250 179 73 109 79 35 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 157 198 239
++170 212 252 170 212 252 166 207 248 26 33 39 26 20 13 224 163 69 250 179 73 250 179 73
++250 179 73 197 142 62 202 145 58 250 179 73 250 179 73 250 179 73 234 172 70 21 13 4
++38 45 51 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 52 62 74 21 22 20 254 255 252 254 255 252 254 255 252 254 255 252 21 22 20
++49 59 70 170 212 252 166 207 248 91 123 149 8 14 16 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 215 217 214 234 236 233 234 236 233 234 236 233 234 236 233 123 125 122
++188 190 187 229 231 228 234 236 233 234 236 233 222 224 221 118 120 117 0 2 0 168 123 54
++34 26 8 67 49 21 250 179 73 134 100 43 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 34 41 47 170 212 252
++170 212 252 170 212 252 85 112 133 0 2 0 164 119 51 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 129 95 39
++0 2 0 138 174 208 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 34 44 55 45 47 44 254 255 252 254 255 252 254 255 252 254 255 252 24 22 25
++52 62 74 170 212 252 170 212 252 170 212 252 138 174 208 10 16 18 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 178 180 177 234 236 233 234 236 233 234 236 233 234 236 233 141 142 139
++198 200 197 148 150 147 135 137 134 135 137 134 148 150 147 123 125 122 0 2 0 190 136 56
++21 13 4 78 58 25 250 179 73 129 95 39 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 82 108 129 170 212 252
++170 212 252 170 212 252 23 30 36 58 42 19 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 147 105 44
++0 2 0 139 181 221 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 34 41 47 45 47 44 254 255 252 254 255 252 254 255 252 254 255 252 56 58 55
++25 32 38 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 10 16 18 0 6 9
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 91 93 90 234 236 233 234 236 233 234 236 233 234 236 233 126 127 125
++169 171 168 222 224 221 234 236 233 229 231 228 178 180 177 71 73 70 0 2 0 212 153 66
++0 2 0 95 68 30 250 179 73 119 87 37 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 138 174 208 170 212 252
++170 212 252 154 195 235 0 2 0 125 92 35 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 119 87 37
++0 2 0 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 57 72 88 7 10 5 252 254 250 254 255 252 254 255 252 254 255 252 95 96 94
++0 6 9 166 207 248 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 8 14 16
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 7 10 5 222 224 221 234 236 233 234 236 233 234 236 233 141 142 139
++183 185 181 138 140 137 131 133 130 141 142 139 192 194 191 102 104 101 0 2 0 224 163 69
++0 2 0 105 75 32 250 179 73 55 39 17 7 0 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 21 27 33 170 212 252 170 212 252
++170 212 252 115 152 185 0 2 0 180 132 57 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 228 167 73 10 12 8
++38 45 51 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 82 108 129 0 2 0 222 224 221 254 255 252 254 255 252 254 255 252 158 160 156
++0 2 0 92 119 140 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 122 159 192
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 141 142 139 234 236 233 234 236 233 234 236 233 131 133 130
++185 187 183 231 233 230 222 224 221 158 160 156 138 140 137 48 50 48 3 6 2 250 179 73
++134 100 43 206 148 61 218 158 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 75 94 116 170 212 252 170 212 252
++170 212 252 92 119 140 0 2 0 224 163 69 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 87 61 23 7 0 0
++134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 109 141 168 0 2 0 178 180 177 254 255 252 254 255 252 254 255 252 252 254 250
++39 43 45 10 16 18 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++88 115 136 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 45 47 44 234 236 233 234 236 233 234 236 233 131 133 130
++148 150 147 138 140 137 148 150 147 210 212 209 152 154 151 26 27 25 29 21 8 250 179 73
++250 179 73 234 172 70 55 39 17 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 126 162 196 170 212 252 170 212 252
++170 212 252 103 134 161 0 2 0 202 145 58 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 238 175 73 75 55 22 0 2 0 75 102 123
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 140 177 211 0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252
++183 185 181 0 2 0 75 94 116 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 57 72 88 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 162 164 161 234 236 233 234 236 233 135 137 134
++226 228 225 198 200 197 104 106 103 15 17 14 0 2 0 15 9 7 147 105 44 250 179 73
++248 178 79 55 39 17 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 6 9 21 27 33 170 212 252 170 212 252 170 212 252
++170 212 252 122 159 192 0 2 0 175 129 54 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 250 179 73 202 145 58 55 39 17 0 2 0 82 108 129 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 12 17 20 60 62 59 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 69 71 68 0 6 9 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 159 201 241 26 33 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 7 10 5 162 164 161 215 217 214 95 96 94
++56 58 55 0 2 0 0 2 0 0 2 0 61 44 16 238 175 73 250 179 73 250 179 73
++218 158 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 88 115 136 170 212 252 170 212 252 170 212 252
++170 212 252 143 185 225 0 2 0 147 105 44 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 212 153 66 95 68 30 0 2 0 8 14 16 103 134 161 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 68 83 99 0 2 0 231 233 230 254 255 252 254 255 252 254 255 252
++254 255 252 210 212 209 0 6 9 53 68 84 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 126 162 196 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 7 0 0 23 15 7 250 179 73 250 179 73 250 179 73
++250 179 73 29 21 8 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 6 9 154 195 235 170 212 252 170 212 252 170 212 252
++170 212 252 166 207 248 0 2 0 52 36 13 158 114 46 180 132 57 161 117 49 119 87 37
++41 31 10 0 2 0 0 2 0 72 87 103 154 195 235 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 115 152 185 0 2 0 152 154 151 254 255 252 238 241 237 85 87 84
++229 231 228 254 255 252 99 101 98 0 2 0 126 162 196 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 63 78 94 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 202 145 58 250 179 73 250 179 73
++250 179 73 105 75 32 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 32 39 45 0 2 0 57 72 88 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 85 112 133 12 17 20 0 2 0 0 2 0 0 2 0 0 2 0
++34 41 47 92 110 133 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 166 207 248 6 12 15 71 73 70 254 255 252 229 231 228 0 2 0
++141 142 139 254 255 252 231 233 230 10 12 8 34 44 55 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 154 195 235 6 12 15 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 125 92 35 250 179 73 250 179 73
++250 179 73 180 132 57 0 2 0 0 2 0 0 2 0 0 2 0 3 10 13 68 83 99
++129 165 199 85 112 133 0 2 0 122 159 192 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 126 162 196 119 156 189 134 170 204 149 191 231
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 57 72 88 3 6 2 242 244 240 254 255 252 35 37 34
++78 80 77 254 255 252 254 255 252 128 130 127 0 2 0 105 137 164 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 91 123 149 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 55 39 17 250 179 73 250 179 73
++250 179 73 245 175 76 7 10 5 0 2 0 44 54 65 103 134 161 161 203 243 170 212 252
++170 212 252 21 27 33 25 32 38 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 61 76 92 0 2 0 242 244 240 254 255 252 102 104 101
++10 12 8 231 233 230 254 255 252 244 246 243 26 27 25 21 27 33 159 201 241 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 32 39 45 0 6 9 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 218 158 64 250 179 73
++250 179 73 250 179 73 75 55 22 0 2 0 161 203 243 170 212 252 170 212 252 170 212 252
++115 147 174 0 2 0 91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 159 201 241 146 188 228
++140 177 211 134 170 204 146 188 228 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 17 24 30 62 64 61 254 255 252 254 255 252 215 217 214
++0 2 0 102 104 101 254 255 252 254 255 252 166 168 165 0 2 0 72 87 103 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 129 165 199 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 75 32 250 179 73
++250 179 73 250 179 73 150 108 46 0 2 0 113 145 172 170 212 252 170 212 252 170 212 252
++49 59 70 3 10 13 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 166 207 248 109 141 168 65 87 102 28 35 41 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 6 9 28 35 41 70 96 117 138 174 208 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 0 2 0 102 104 101 254 255 252 254 255 252 254 255 252
++102 104 101 0 2 0 192 194 191 254 255 252 254 255 252 78 80 77 0 2 0 122 159 192
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 34 44 55 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 61 76 92 154 195 235 0 6 9 29 21 8 250 179 73
++250 179 73 250 179 73 224 163 69 0 2 0 68 83 99 170 212 252 170 212 252 143 179 213
++0 2 0 72 87 103 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++161 203 243 96 115 138 17 24 30 0 2 0 0 2 0 45 47 44 102 104 101 123 125 122
++138 140 137 143 145 142 115 117 114 82 83 81 43 44 42 0 2 0 0 2 0 32 39 45
++126 162 196 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 0 2 0 85 87 84 254 255 252 254 255 252 254 255 252
++242 244 240 27 29 27 35 37 34 254 255 252 254 255 252 231 233 230 10 12 8 21 27 33
++159 201 241 170 212 252 170 212 252 170 212 252 170 212 252 163 205 246 0 6 9 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 6 9 44 54 65 170 212 252 170 212 252 34 44 55 0 2 0 82 62 28
++109 79 35 224 163 69 250 179 73 52 36 13 15 20 22 170 212 252 170 212 252 75 89 106
++0 2 0 143 179 213 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 134 170 204
++25 32 38 0 2 0 40 41 39 155 157 153 238 241 237 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 210 212 209 115 117 114 18 20 17
++0 2 0 68 83 99 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 52 62 74 7 10 5 234 236 233 254 255 252 254 255 252
++254 255 252 195 197 194 102 104 101 254 255 252 254 255 252 254 255 252 162 164 161 0 2 0
++72 87 103 170 212 252 170 212 252 170 212 252 170 212 252 119 156 189 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 115 147 174 170 212 252 91 123 149 0 2 0 0 2 0 6 12 15
++0 2 0 15 9 7 197 142 62 125 92 35 0 2 0 115 152 185 113 145 172 3 6 2
++41 51 62 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 113 145 172 0 6 9
++10 12 8 155 157 153 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 232 234 231
++87 89 86 0 2 0 32 39 45 154 195 235 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 115 152 185 0 2 0 138 140 137 254 255 252 254 255 252
++254 255 252 254 255 252 249 251 248 254 255 252 254 255 252 254 255 252 254 255 252 65 66 64
++0 2 0 122 159 192 170 212 252 170 212 252 170 212 252 66 80 97 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 154 195 235 170 212 252 143 179 213 88 115 136 149 191 231 170 212 252
++126 162 196 3 6 2 64 46 18 202 145 58 0 2 0 0 2 0 0 2 0 0 2 0
++92 119 140 170 212 252 170 212 252 170 212 252 170 212 252 143 179 213 3 10 13 27 29 27
++215 217 214 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 155 157 153 0 2 0 32 39 45 154 195 235 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 23 30 36 27 29 27 249 251 248 254 255 252
++254 255 252 188 190 187 7 10 5 226 228 225 254 255 252 254 255 252 254 255 252 231 233 230
++7 10 5 21 27 33 159 201 241 170 212 252 103 134 161 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 119 156 189 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 55 66 77 11 4 3 250 179 73 24 17 10 0 2 0 0 2 0 0 2 0
++143 185 225 170 212 252 170 212 252 170 212 252 159 201 241 28 35 41 7 10 5 200 202 199
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 155 157 153 0 2 0 55 66 77 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 96 127 154 0 2 0 158 160 156 254 255 252
++254 255 252 192 194 191 0 2 0 176 178 175 254 255 252 254 255 252 254 255 252 254 255 252
++141 142 139 0 2 0 72 87 103 129 165 199 0 6 9 0 6 9 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 6 9 12 17 20 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252
++138 174 208 17 24 30 29 21 8 250 179 73 101 72 28 0 2 0 0 2 0 32 39 45
++170 212 252 170 212 252 170 212 252 170 212 252 57 72 88 0 2 0 152 154 151 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 108 110 107 0 2 0 115 152 185 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 166 207 248 18 22 24 40 41 39 254 255 252
++254 255 252 232 234 231 0 2 0 148 150 147 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 10 12 8 0 2 0 8 14 16 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 6 9 41 51 62 61 76 92 34 44 55 3 10 13
++0 2 0 11 4 3 164 119 51 250 179 73 175 129 54 0 2 0 0 2 0 82 108 129
++170 212 252 170 212 252 170 212 252 98 129 156 0 2 0 95 96 94 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 238 241 237 18 20 17 25 32 38 166 207 248 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 85 112 133 0 2 0 188 190 187
++254 255 252 254 255 252 198 200 197 242 244 240 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 120 122 119 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 6 9 0 2 0 0 6 9 7 0 0
++31 23 12 202 145 58 250 179 73 250 179 73 238 175 73 0 2 0 0 2 0 122 159 192
++170 212 252 170 212 252 170 212 252 28 35 41 31 32 30 244 246 243 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 152 154 151 0 2 0 85 112 133 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 0 2 0 148 150 147
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 222 224 221 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++7 0 0 234 172 70 250 179 73 250 179 73 250 179 73 34 26 8 0 2 0 149 191 231
++170 212 252 170 212 252 129 165 199 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 252 254 250 48 50 48 3 10 13 146 188 228
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 157 198 239 0 2 0 118 120 117
++254 255 252 254 255 252 254 255 252 169 171 168 231 233 230 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 170 124 49 250 179 73 250 179 73 250 179 73 48 33 15 6 12 15 170 212 252
++170 212 252 170 212 252 65 87 102 0 2 0 222 224 221 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 195 197 194 0 2 0 84 103 125
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 3 10 13 85 87 84
++254 255 252 254 255 252 234 236 233 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 99 101 98 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 95 68 30 250 179 73 250 179 73 250 179 73 34 26 8 34 44 55 170 212 252
++170 212 252 163 205 246 8 14 16 62 64 61 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 35 37 34 34 44 55
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 26 33 39 60 62 59
++254 255 252 254 255 252 238 241 237 0 2 0 108 110 107 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 158 160 156 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 23 15 7 248 178 79 250 179 73 245 175 76 0 2 0 63 78 94 170 212 252
++170 212 252 109 141 168 0 2 0 158 160 156 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 104 106 103 0 2 0
++154 195 235 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 21 27 33 69 71 68
++254 255 252 254 255 252 244 246 243 0 2 0 91 93 90 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 215 217 214 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 197 142 62 250 179 73 212 153 66 0 2 0 92 110 133 170 212 252
++170 212 252 80 98 121 0 2 0 231 233 230 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 176 178 175 0 2 0
++105 137 164 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 8 14 16 87 89 86
++254 255 252 254 255 252 254 255 252 40 41 39 21 22 20 252 254 250 254 255 252 254 255 252
++254 255 252 254 255 252 252 254 250 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 125 92 35 250 179 73 170 124 49 0 2 0 113 145 172 170 212 252
++170 212 252 53 68 84 15 17 14 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 242 244 240 0 2 0
++63 78 94 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 0 2 0 104 106 103
++254 255 252 254 255 252 254 255 252 123 125 122 0 2 0 166 168 165 254 255 252 254 255 252
++254 255 252 254 255 252 234 236 233 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 7 0 0 52 36 13 250 179 73 129 95 39 0 2 0 143 179 213 170 212 252
++170 212 252 32 39 45 48 50 48 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 60 62 59
++18 22 24 170 212 252 170 212 252 170 212 252 170 212 252 163 205 246 0 2 0 102 104 101
++254 255 252 254 255 252 254 255 252 226 228 225 15 17 14 10 12 8 215 217 214 254 255 252
++254 255 252 254 255 252 210 212 209 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 88 66 26 29 21 8 0 2 0 166 207 248 170 212 252
++170 212 252 3 10 13 85 87 84 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 123 125 122
++0 2 0 149 191 231 170 212 252 170 212 252 170 212 252 170 212 252 21 27 33 56 58 55
++254 255 252 254 255 252 254 255 252 254 255 252 178 180 177 0 2 0 38 40 37 238 241 237
++254 255 252 254 255 252 210 212 209 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 7 0 0 7 0 0 0 2 0 161 203 243 170 212 252
++149 191 231 0 2 0 123 125 122 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 141 142 139
++0 2 0 143 179 213 170 212 252 170 212 252 170 212 252 170 212 252 66 80 97 0 2 0
++210 212 209 254 255 252 254 255 252 254 255 252 254 255 252 120 122 119 0 2 0 21 22 20
++143 145 142 244 246 243 219 221 218 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 149 191 231 170 212 252
++129 165 199 0 2 0 158 160 156 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 155 157 153
++0 2 0 134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 143 185 225 0 6 9
++69 71 68 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 71 73 70 0 2 0
++0 2 0 0 2 0 40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 139 181 221 170 212 252
++129 165 199 0 2 0 162 164 161 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 169 171 168
++0 2 0 119 156 189 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 75 94 116
++0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252 69 71 68 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 134 170 204 170 212 252
++134 170 204 0 2 0 152 154 151 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 183 185 181
++0 2 0 113 145 172 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 166 207 248
++44 54 65 0 2 0 162 164 161 254 255 252 254 255 252 254 255 252 35 37 34 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 126 162 196 170 212 252
++138 174 208 0 2 0 143 145 142 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 198 200 197
++0 2 0 103 134 161 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++157 198 239 28 35 41 0 2 0 188 190 187 254 255 252 252 254 250 3 6 2 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 115 152 185 170 212 252
++143 179 213 0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 210 212 209
++0 2 0 91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 146 188 228 0 6 9 26 27 25 242 244 240 176 178 175 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 137 164 170 212 252
++143 185 225 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 185 187 183
++0 2 0 105 137 164 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 163 205 246 0 2 0 0 2 0 102 104 101 60 62 59 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 80 98 121 170 212 252
++149 191 231 0 2 0 118 120 117 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 143 145 142
++0 2 0 134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 143 179 213 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 44 54 65 170 212 252
++170 212 252 3 10 13 85 87 84 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 108 110 107
++0 2 0 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 115 152 185 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 3 10 13 170 212 252
++170 212 252 34 44 55 43 44 42 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 69 71 68
++15 20 22 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 75 94 116 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 139 181 221
++170 212 252 63 78 94 3 6 2 249 251 248 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 31 32 30
++41 51 62 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++161 203 243 6 12 15 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 137 164
++170 212 252 88 115 136 0 2 0 210 212 209 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 249 251 248 0 2 0
++68 83 99 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++96 127 154 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 61 76 92
++170 212 252 119 150 178 0 2 0 169 171 168 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 183 185 181 0 2 0
++91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++28 35 41 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 6 9
++146 188 228 143 185 225 0 2 0 126 127 125 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 85 87 84 0 6 9
++154 195 235 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 98 129 156
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++72 90 112 170 212 252 18 22 24 56 58 55 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 238 241 237 7 10 5 55 66 77
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 122 159 192 0 6 9
++0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 122 159 192 72 87 103 0 2 0 229 231 228 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 152 154 151 0 2 0 113 145 172
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 139 181 221 8 14 16 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 18 22 24 109 141 168 0 2 0 148 150 147 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 56 58 55 12 17 20 166 207 248
++170 212 252 170 212 252 170 212 252 170 212 252 146 188 228 23 30 36 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 101 72 28 202 145 58
++180 132 57 0 2 0 38 45 51 3 10 13 69 71 68 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 200 202 199 0 2 0 75 89 106 170 212 252
++170 212 252 170 212 252 170 212 252 109 141 168 8 14 16 0 2 0 21 13 4 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 7 0 0 0 2 0 101 72 28 218 158 64 250 179 73 250 179 73
++250 179 73 139 99 44 0 2 0 8 14 16 0 2 0 238 241 237 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 244 246 243 38 40 37 3 10 13 139 181 221 170 212 252
++170 212 252 161 203 243 66 80 97 0 2 0 31 23 12 191 142 60 248 183 74 180 132 57
++44 34 15 0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 23 15 7 190 136 56 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 150 108 46 0 2 0 0 2 0 82 83 81 222 224 221 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 102 104 101 0 2 0 98 129 156 170 212 252 163 205 246
++98 129 156 23 30 36 0 2 0 82 62 28 234 172 70 248 183 74 248 183 74 248 183 74
++248 183 74 158 114 46 29 21 8 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 64 46 18 109 79 35 150 108 46 224 163 69 250 179 73
++250 179 73 250 179 73 250 179 73 158 114 46 0 2 0 0 2 0 3 6 2 115 117 114
++234 236 233 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 176 178 175 0 2 0 57 72 88 146 188 228 80 98 121 8 14 16
++0 2 0 24 17 10 158 114 46 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74
++248 183 74 248 183 74 242 178 77 58 42 19 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 0 2 0 67 49 21 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 228 167 73 95 68 30 0 2 0 0 2 0
++0 2 0 52 54 51 108 110 107 162 164 161 219 221 218 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 252 254 250
++219 221 218 178 180 177 18 20 17 6 12 15 26 33 39 0 2 0 0 2 0 52 36 13
++164 119 51 242 178 77 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 242 178 77
++187 138 56 175 129 54 158 114 46 82 62 28 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 78 58 25 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 234 172 70 142 101 40
++44 34 15 10 12 8 0 2 0 0 2 0 0 2 0 18 20 17 60 62 59 71 73 70
++82 83 81 95 96 94 104 106 103 118 120 117 115 117 114 78 80 77 40 41 39 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 44 34 15 105 75 32 191 142 60 248 183 74
++248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 105 75 32
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 187 138 56 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 142 101 40 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 206 148 61 248 183 74 248 183 74 248 183 74
++248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 161 117 49
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 228 167 73 250 179 73
++238 175 73 190 136 56 158 114 46 234 172 70 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 147 105 44 0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 67 49 21 248 183 74 248 183 74 248 183 74
++248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74
++31 23 12 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 10 5 21 13 4
++0 2 0 0 2 0 0 2 0 147 105 44 250 179 73 250 179 73 250 179 73 250 179 73
++134 100 43 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 155 111 43 248 183 74 248 183 74
++248 183 74 248 183 74 224 163 69 55 39 17 64 46 18 164 119 51 242 178 77 248 183 74
++75 55 22 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 202 145 58 250 179 73 250 179 73 228 167 73 88 66 26
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 168 123 54 248 183 74
++248 183 74 248 183 74 158 114 46 0 2 0 7 0 0 0 2 0 10 12 8 44 34 15
++15 9 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 29 21 8 250 179 73 250 179 73 158 114 46 15 14 3 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 175 129 54
++248 183 74 248 183 74 114 83 33 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 29 21 8 147 105 44 58 42 19 0 2 0 7 0 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++105 75 32 218 158 64 23 15 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
+diff -Nur linux-2.6.39.1/drivers/video/logo/logo_linux_mono.pbm linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_mono.pbm
+--- linux-2.6.39.1/drivers/video/logo/logo_linux_mono.pbm 2011-06-02 21:34:20.000000000 -0300
++++ linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_mono.pbm 2011-06-22 13:42:06.000000000 -0300
+@@ -1,203 +1,159 @@
+-P1
+-# Standard black and white Linux logo
+-80 80
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1
+-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
+-1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-1 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1
+-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 1
+-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1
+-1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1
+-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1
+-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1
+-1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1
+-1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
+-0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0
+-1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
+-0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1
+-1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1
+-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1
+-1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1
+-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0
+-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1
+-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0
+-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1
+-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0
+-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1
+-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0
+-0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 0
+-0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
+-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+-1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+-1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
+-1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
++P2
++80 78
++255
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 255 255 255 0 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 255 255 255 255 255 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255
++0 0 0 0 0 0 0 0 0 0
++0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255
++255 0 0 0 0 0 0 0 0 0
++0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255
++255 255 0 0 0 0 0 0 0 0
++0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255
++255 255 0 0 0 0 0 0 0 0
++0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255
++255 255 255 0 0 0 0 0 0 0
++0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255
++255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 255 255 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255
++255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 0 255 255 0 0 255 255
++255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 255 255 255 0 0 255
++255 255 255 255 255 255 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 0 255 255 255 0 255
++255 255 255 255 255 255 255 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 0 255 255 255 0 0
++255 255 255 255 255 255 255 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 255 255 255 0
++0 255 255 255 255 255 255 255 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 255 255 255 0
++0 255 255 255 255 255 255 255 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255
++0 0 255 255 255 255 255 255 0 0
++0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 255 255 0 0 255 255 0 0 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 255 255 255
++255 0 0 255 255 255 255 255 0 0
++0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 255 0 0 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255
++255 0 0 255 255 255 255 0 0 0
++0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 0 0 255 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 255 255 255
++255 255 0 0 255 255 255 0 0 0
++0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 255 255 255 255 0 255 255 255
++255 255 255 0 0 255 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 0 255 255 255
++255 255 255 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255
++255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255
++255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255
++255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 255 255
++255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255
++255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255
++255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255
++255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 0 255
++255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 0 0
++255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255 255 0
++0 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255 255 255
++0 0 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 255 255
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 255 255
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 255 255 255 255
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 0 0 255 255 255
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 255 255
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 255 255 255 255 255 255 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
+diff -Nur linux-2.6.39.1/drivers/video/logo/logo_linux_vga16.ppm linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_vga16.ppm
+--- linux-2.6.39.1/drivers/video/logo/logo_linux_vga16.ppm 2011-06-02 21:34:20.000000000 -0300
++++ linux-2.6.39-LIBRE/drivers/video/logo/logo_linux_vga16.ppm 2011-06-22 13:42:06.000000000 -0300
+@@ -1,1604 +1,18724 @@
+ P3
+-# Standard 16-color Linux logo
+-80 80
++# CREATOR: GIMP PNM Filter Version 1.1
++80 78
+ 255
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 85 85 85 85 85 85 85 85 85
+- 85 85 85 85 85 85 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 85 85 85
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 85 85 85 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 170 170 170 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+-170 170 170 170 170 170 85 85 85 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 170 170 170 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 170 170 170 170 170
+-170 170 170 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 85 85 85 170 170 170 170 170 170 170 170 170
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 170 170 170 255 255 255 255 255 255
+-255 255 255 170 170 170 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+-170 170 170 170 170 170 255 255 255 255 255 255
+- 0 0 0 0 0 0 0 0 0 0 0 0
+-170 170 170 255 255 255 170 170 170 170 170 170
+-255 255 255 170 170 170 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+-170 170 170 0 0 0 0 0 0 255 255 255
+- 85 85 85 0 0 0 0 0 0 0 0 0
+-255 255 255 170 170 170 0 0 0 85 85 85
+-170 170 170 255 255 255 170 170 170 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+- 85 85 85 0 0 0 0 0 0 170 170 170
+- 85 85 85 0 0 0 0 0 0 0 0 0
+-255 255 255 85 85 85 0 0 0 0 0 0
+- 85 85 85 255 255 255 170 170 170 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+-170 170 170 0 0 0 0 0 0 170 170 170
+- 85 85 85 85 85 85 85 85 85 85 85 85
+-255 255 255 85 85 85 0 0 0 0 0 0
+- 85 85 85 255 255 255 170 170 170 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+-255 255 255 0 0 0 0 0 0 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 0 0 0 0 0 0
+- 85 85 85 255 255 255 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+-170 170 170 170 170 170 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 170 170 170 170 170 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 85 85 85 0 0 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 85 85 85 0 0 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 170 85 0
+-170 85 0 170 85 0 85 85 85 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 85 85 85 0 0 0
+- 85 85 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 85 85 85 0 0 0
+- 0 0 0 85 85 85 170 170 170 85 85 85
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 85 85 85 0 0 0
+- 85 85 85 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 170 170 170 170 170 170 170 170 0 0 0
+- 0 0 0 0 0 0 170 170 170 170 170 170
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 85 85 85 170 170 170 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 170 170 170 170 170
+-170 170 170 170 170 170 170 170 170 85 85 85
+- 0 0 0 0 0 0 85 85 85 85 85 85
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 85 85 85 170 170 170 170 170 170 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 170 170 170 170 170 170 170 170 170 170 170
+-255 255 255 255 255 255 255 255 255 170 170 170
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 85 85 85
+-255 255 255 255 255 255 170 170 170 170 170 170
+-170 170 170 170 170 170 170 170 170 170 170 170
+-170 170 170 170 170 170 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 170 170 170
+-255 255 255 255 255 255 170 170 170 170 170 170
+-170 170 170 170 170 170 170 170 170 170 170 170
+-170 170 170 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-170 170 170 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 85 85 85 255 255 255
+-255 255 255 255 255 255 255 255 255 170 170 170
+-170 170 170 170 170 170 170 170 170 170 170 170
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 85 85 85 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 85 85 85 170 170 170 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 170 170 170 170 170 170 170 170 170
+-255 255 255 255 255 255 255 255 255 170 170 170
+-170 170 170 170 170 170 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-170 170 170 170 170 170 170 170 170 170 170 170
+-170 170 170 170 170 170 170 170 170 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+-170 170 170 170 170 170 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-170 170 170 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 170 170 170
+-170 170 170 170 170 170 170 170 170 85 85 85
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+-170 170 170 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 170 170 170 170 170 170
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 85 85 85 0 0 0 0 0 0 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 170 170 170
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 170 170 170
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-170 170 170 85 85 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+- 0 0 0 0 0 0 85 85 85 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 0 0 0 85 85 85
+- 85 85 85 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+- 0 0 0 85 85 85 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 0 0 0 85 85 85
+- 85 85 85 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 85 85 85
+- 0 0 0 170 170 170 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 85 85 85 0 0 0
+- 0 0 0 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 85 85 85 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 85 85 85 0 0 0 0 0 0
+-170 170 170 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 0 0 0
+- 85 85 85 85 85 85 85 85 85 85 85 85
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 170 85 0
+-255 255 85 170 85 0 0 0 0 0 0 0
+- 85 85 85 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 85 85 85 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 0 0 0
+- 0 0 0 85 85 85 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 85 170 85 0 255 255 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 85 85 85
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+- 0 0 0 0 0 0 85 85 85 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 85
+-170 85 0 255 255 85 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 0 0 0 0 0 0 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 170 85 0
+-255 255 85 170 85 0 255 255 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 170 85 0
+-255 255 85 170 85 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 0 0 0 0 0 0 0 0 0
+- 85 85 85 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 85
+-170 85 0 255 255 85 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 255 255 85
+-170 85 0 255 255 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 255 255 85 170 85 0
+-255 255 85 170 85 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 0 0 0
+- 0 0 0 0 0 0 85 85 85 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 170 170 170 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 170 170 170 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 170 170 170 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 170 170 170 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 0 0 0 0 0 0 0 0 0
+- 85 85 85 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 85 85 85 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 85 85 85 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-170 170 170 85 85 85 85 85 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 170 170 170
+- 85 85 85 0 0 0 0 0 0 170 85 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 85 85 85
+- 0 0 0 0 0 0 0 0 0 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-170 170 170 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-170 170 170 85 85 85 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 170 85 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 170 85 0
+-170 85 0 170 170 170 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 85 85 85
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 170 85 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 170 85 0 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 170 85 0
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 170 85 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 170 85 0 170 85 0 170 85 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 170 85 0
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 85 85 85 85 85 85 85 85 85
+- 85 85 85 85 85 85 85 85 85 85 85 85
+- 85 85 85 85 85 85 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 170 85 0
+-170 85 0 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-170 85 0 170 85 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 170 85 0 170 85 0
+- 85 85 85 85 85 85 85 85 85 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 85 85 85 85 85 85 85 85 85 170 85 0
+-170 85 0 170 85 0 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 170 85 0
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++85
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++85
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++85
++85
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++170
++170
++170
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++85
++85
++85
++0
++0
++0
++85
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++170
++170
++170
++170
++170
++170
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++170
++170
++170
++85
++85
++85
++170
++170
++170
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++0
++0
++0
++0
++0
++0
++255
++85
++85
++0
++0
++0
++85
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++255
++85
++85
++85
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++0
++0
++0
++85
++85
++85
++255
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++255
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++85
++85
++85
++0
++0
++0
++255
++85
++85
++0
++0
++0
++85
++85
++85
++255
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++255
++85
++85
++0
++0
++0
++85
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++85
++85
++85
++0
++0
++0
++255
++85
++85
++0
++0
++0
++85
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++85
++85
++85
++0
++0
++0
++255
++85
++85
++0
++0
++0
++85
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++85
++85
++85
++0
++0
++0
++255
++85
++85
++0
++0
++0
++85
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++85
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++170
++170
++170
++255
++255
++255
++170
++170
++170
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++85
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++85
++85
++85
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++85
++85
++85
++170
++170
++170
++170
++170
++170
++85
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++170
++170
++170
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++170
++170
++170
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++85
++85
++85
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
diff --git a/libre/linux-libre-lts/change-default-console-loglevel.patch b/libre/linux-libre-lts/change-default-console-loglevel.patch
new file mode 100644
index 000000000..2685d4d23
--- /dev/null
+++ b/libre/linux-libre-lts/change-default-console-loglevel.patch
@@ -0,0 +1,12 @@
+diff -upr linux-3.0.orig/kernel/printk.c linux-3.0/kernel/printk.c
+--- linux-3.0.orig/kernel/printk.c 2011-07-22 05:17:23.000000000 +0300
++++ linux-3.0/kernel/printk.c 2011-07-27 14:43:07.000000000 +0300
+@@ -58,7 +58,7 @@ void asmlinkage __attribute__((weak)) ea
+
+ /* We show everything that is MORE important than this.. */
+ #define MINIMUM_CONSOLE_LOGLEVEL 1 /* Minimum loglevel we let people use */
+-#define DEFAULT_CONSOLE_LOGLEVEL 7 /* anything MORE serious than KERN_DEBUG */
++#define DEFAULT_CONSOLE_LOGLEVEL 4 /* anything MORE serious than KERN_WARNING */
+
+ DECLARE_WAIT_QUEUE_HEAD(log_wait);
+
diff --git a/libre/linux-libre-lts/config.i686 b/libre/linux-libre-lts/config.i686
new file mode 100644
index 000000000..942c1a052
--- /dev/null
+++ b/libre/linux-libre-lts/config.i686
@@ -0,0 +1,6308 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/x86 3.10.15-1 Kernel Configuration
+#
+# CONFIG_64BIT is not set
+CONFIG_X86_32=y
+CONFIG_X86=y
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# CONFIG_ZONE_DMA32 is not set
+# CONFIG_AUDIT_ARCH is not set
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_X86_32_SMP=y
+CONFIG_X86_HT=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
+CONFIG_ARCH_CPU_PROBE_RELEASE=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION="-LIBRE-LTS"
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_DEFAULT_HOSTNAME="(none)"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_FHANDLE=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_WATCH=y
+CONFIG_AUDIT_TREE=y
+CONFIG_AUDIT_LOGINUID_IMMUTABLE=y
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_IRQ_DOMAIN=y
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_KTIME_SCALAR=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_FANOUT=32
+CONFIG_RCU_FANOUT_LEAF=16
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_RCU_NOCB_CPU=y
+CONFIG_RCU_NOCB_CPU_NONE=y
+# CONFIG_RCU_NOCB_CPU_ZERO is not set
+# CONFIG_RCU_NOCB_CPU_ALL is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=19
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_MEMCG=y
+CONFIG_MEMCG_SWAP=y
+# CONFIG_MEMCG_SWAP_ENABLED is not set
+CONFIG_MEMCG_KMEM=y
+# CONFIG_CGROUP_HUGETLB is not set
+# CONFIG_CGROUP_PERF is not set
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_SCHED_AUTOGROUP=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_HAVE_UID16=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_HOTPLUG=y
+CONFIG_HAVE_PCSPKR_PLATFORM=y
+# CONFIG_EXPERT is not set
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_OPROFILE_NMI_TIMER=y
+CONFIG_KPROBES=y
+CONFIG_JUMP_LABEL=y
+CONFIG_OPTPROBES=y
+CONFIG_KPROBES_ON_FTRACE=y
+CONFIG_UPROBES=y
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_KRETPROBES=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_OLD_SIGACTION=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSGLIB=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_THROTTLING=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+# CONFIG_UNIXWARE_DISKLABEL is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_CFQ_GROUP_IOSCHED=y
+CONFIG_DEFAULT_DEADLINE=y
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="deadline"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_ASN1=m
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_ZONE_DMA=y
+CONFIG_SMP=y
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_BIGSMP is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+# CONFIG_X86_GOLDFISH is not set
+# CONFIG_X86_INTEL_LPSS is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_X86_32_IRIS=m
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_HYPERVISOR_GUEST=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_DEBUG is not set
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+# CONFIG_XEN_PRIVILEGED_GUEST is not set
+CONFIG_KVM_GUEST=y
+CONFIG_LGUEST_GUEST=y
+CONFIG_PARAVIRT_TIME_ACCOUNTING=y
+CONFIG_PARAVIRT_CLOCK=y
+CONFIG_NO_BOOTMEM=y
+# CONFIG_MEMTEST is not set
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+CONFIG_M686=y
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MELAN is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+CONFIG_X86_GENERIC=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_L1_CACHE_SHIFT=6
+# CONFIG_X86_PPRO_FENCE is not set
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_CPU_SUP_TRANSMETA_32=y
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_NR_CPUS=8
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+# CONFIG_X86_ANCIENT_MCE is not set
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_VM86=y
+CONFIG_TOSHIBA=m
+CONFIG_I8K=m
+CONFIG_X86_REBOOTFIXUPS=y
+CONFIG_MICROCODE=m
+# CONFIG_MICROCODE_INTEL is not set
+# CONFIG_MICROCODE_AMD is not set
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+# CONFIG_NOHIGHMEM is not set
+CONFIG_HIGHMEM4G=y
+# CONFIG_HIGHMEM64G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_HIGHMEM=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+CONFIG_MEMORY_ISOLATION=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+CONFIG_CLEANCACHE=y
+CONFIG_FRONTSWAP=y
+# CONFIG_HIGHPTE is not set
+CONFIG_X86_CHECK_BIOS_CORRUPTION=y
+CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
+CONFIG_X86_RESERVE_LOW=64
+# CONFIG_MATH_EMULATION is not set
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_ARCH_RANDOM=y
+CONFIG_X86_SMAP=y
+CONFIG_EFI=y
+CONFIG_EFI_STUB=y
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+CONFIG_HZ_100=y
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=100
+CONFIG_SCHED_HRTICK=y
+CONFIG_KEXEC=y
+# CONFIG_CRASH_DUMP is not set
+# CONFIG_KEXEC_JUMP is not set
+CONFIG_PHYSICAL_START=0x1000000
+CONFIG_RELOCATABLE=y
+CONFIG_X86_NEED_RELOCS=y
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
+# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_AUTOSLEEP=y
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=100
+CONFIG_PM_WAKELOCKS_GC=y
+CONFIG_PM_RUNTIME=y
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_TEST_SUSPEND is not set
+CONFIG_PM_SLEEP_DEBUG=y
+CONFIG_PM_TRACE=y
+CONFIG_PM_TRACE_RTC=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+# CONFIG_ACPI_PROCFS is not set
+# CONFIG_ACPI_PROCFS_POWER is not set
+CONFIG_ACPI_EC_DEBUGFS=m
+# CONFIG_ACPI_PROC_EVENT is not set
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_I2C=m
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_IPMI=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=y
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_SBS=m
+CONFIG_ACPI_HED=y
+CONFIG_ACPI_CUSTOM_METHOD=m
+CONFIG_ACPI_BGRT=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_MEMORY_FAILURE=y
+CONFIG_ACPI_APEI_EINJ=m
+CONFIG_ACPI_APEI_ERST_DEBUG=m
+CONFIG_SFI=y
+CONFIG_X86_APM_BOOT=y
+CONFIG_APM=y
+# CONFIG_APM_IGNORE_USER_SUSPEND is not set
+CONFIG_APM_DO_ENABLE=y
+# CONFIG_APM_CPU_IDLE is not set
+# CONFIG_APM_DISPLAY_BLANK is not set
+# CONFIG_APM_ALLOW_INTS is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# x86 CPU frequency scaling drivers
+#
+CONFIG_X86_INTEL_PSTATE=y
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ_CPB=y
+CONFIG_X86_POWERNOW_K6=m
+CONFIG_X86_POWERNOW_K7=m
+CONFIG_X86_POWERNOW_K7_ACPI=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_AMD_FREQ_SENSITIVITY=m
+CONFIG_X86_GX_SUSPMOD=m
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+CONFIG_X86_SPEEDSTEP_ICH=m
+CONFIG_X86_SPEEDSTEP_SMI=m
+CONFIG_X86_P4_CLOCKMOD=m
+CONFIG_X86_CPUFREQ_NFORCE2=m
+CONFIG_X86_LONGRUN=m
+CONFIG_X86_LONGHAUL=m
+CONFIG_X86_E_POWERSAVER=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
+CONFIG_CPU_IDLE=y
+# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+CONFIG_INTEL_IDLE=y
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+# CONFIG_PCI_GOOLPC is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_OLPC=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_REALLOC_ENABLE_AUTO=y
+CONFIG_PCI_STUB=m
+CONFIG_HT_IRQ=y
+CONFIG_PCI_ATS=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_PRI=y
+CONFIG_PCI_PASID=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_PCI_LABEL=y
+CONFIG_ISA_DMA_API=y
+CONFIG_ISA=y
+# CONFIG_EISA is not set
+# CONFIG_SCx200 is not set
+CONFIG_OLPC=y
+CONFIG_OLPC_XO1_PM=y
+CONFIG_OLPC_XO1_RTC=y
+CONFIG_OLPC_XO1_SCI=y
+CONFIG_OLPC_XO15_SCI=y
+# CONFIG_ALIX is not set
+# CONFIG_NET5501 is not set
+# CONFIG_GEOS is not set
+CONFIG_AMD_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+CONFIG_TCIC=m
+CONFIG_PCMCIA_PROBE=y
+CONFIG_PCCARD_NONSTATIC=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_COMPAQ=m
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
+CONFIG_HOTPLUG_PCI_IBM=m
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_HOTPLUG_PCI_CPCI=y
+CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
+CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
+CONFIG_HOTPLUG_PCI_SHPC=m
+CONFIG_RAPIDIO=y
+CONFIG_RAPIDIO_TSI721=y
+CONFIG_RAPIDIO_DISC_TIMEOUT=30
+# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set
+CONFIG_RAPIDIO_DMA_ENGINE=y
+CONFIG_RAPIDIO_DEBUG=y
+CONFIG_RAPIDIO_ENUM_BASIC=m
+CONFIG_RAPIDIO_TSI57X=y
+CONFIG_RAPIDIO_CPS_XX=y
+CONFIG_RAPIDIO_TSI568=y
+CONFIG_RAPIDIO_CPS_GEN2=y
+CONFIG_RAPIDIO_TSI500=y
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_HAVE_AOUT=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=y
+CONFIG_COREDUMP=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_HAVE_TEXT_POKE_SMP=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=m
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=m
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_FIB_TRIE_STATS=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+# CONFIG_NET_IPGRE_BROADCAST is not set
+CONFIG_IP_MROUTE=y
+# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_ARPD=y
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=y
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+# CONFIG_IPV6_MROUTE is not set
+CONFIG_NETLABEL=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETWORK_PHY_TIMESTAMPING=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_PROCFS=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMEOUT=y
+CONFIG_NF_CONNTRACK_TIMESTAMP=y
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+CONFIG_NF_CT_NETLINK_HELPER=m
+CONFIG_NETFILTER_NETLINK_QUEUE_CT=y
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NETFILTER_TPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_AUDIT=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT_IPV4=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_NF_NAT_IPV6=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_NET_DCCPPROBE=m
+CONFIG_IP_SCTP=m
+CONFIG_NET_SCTPPROBE=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_L2TP=m
+# CONFIG_L2TP_DEBUGFS is not set
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_MRP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_HAVE_NET_DSA=y
+CONFIG_NET_DSA=m
+CONFIG_NET_DSA_TAG_DSA=y
+CONFIG_NET_DSA_TAG_EDSA=y
+CONFIG_NET_DSA_TAG_TRAILER=y
+CONFIG_VLAN_8021Q=m
+# CONFIG_VLAN_8021Q_GVRP is not set
+CONFIG_VLAN_8021Q_MVRP=y
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_LTPC=m
+CONFIG_COPS=m
+CONFIG_COPS_DAYNA=y
+CONFIG_COPS_TANGENT=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+CONFIG_PHONET=m
+CONFIG_IEEE802154=m
+CONFIG_IEEE802154_6LOWPAN=m
+CONFIG_MAC802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+# CONFIG_CLS_U32_MARK is not set
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+# CONFIG_NET_EMATCH is not set
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+CONFIG_BATMAN_ADV=m
+CONFIG_BATMAN_ADV_BLA=y
+CONFIG_BATMAN_ADV_DAT=y
+CONFIG_BATMAN_ADV_NC=y
+# CONFIG_BATMAN_ADV_DEBUG is not set
+CONFIG_OPENVSWITCH=m
+CONFIG_VSOCKETS=m
+CONFIG_VMWARE_VMCI_VSOCKETS=m
+CONFIG_NETLINK_MMAP=y
+CONFIG_NETLINK_DIAG=m
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+CONFIG_NETPRIO_CGROUP=m
+CONFIG_BQL=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+CONFIG_NET_TCPPROBE=m
+CONFIG_NET_DROP_MONITOR=y
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+CONFIG_AX25_DAMA_SLAVE=y
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_SCC=m
+# CONFIG_SCC_DELAY is not set
+# CONFIG_SCC_TRXECHO is not set
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_BAYCOM_EPP=m
+CONFIG_YAM=m
+# CONFIG_CAN is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_IRDA_ULTRA=y
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_TOSHIBA_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+# CONFIG_BT_BNEP_MC_FILTER is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+# CONFIG_BT_CMTP is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_BT_WILINK=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+CONFIG_CAIF=m
+# CONFIG_CAIF_DEBUG is not set
+CONFIG_CAIF_NETDEV=m
+CONFIG_CAIF_USB=m
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+CONFIG_NFC=m
+CONFIG_NFC_NCI=m
+CONFIG_NFC_HCI=m
+# CONFIG_NFC_SHDLC is not set
+
+#
+# Near Field Communication (NFC) devices
+#
+CONFIG_NFC_PN533=m
+CONFIG_NFC_WILINK=m
+CONFIG_NFC_MEI_PHY=m
+CONFIG_NFC_PN544=m
+CONFIG_NFC_PN544_MEI=m
+CONFIG_NFC_MICROREAD=m
+CONFIG_NFC_MICROREAD_MEI=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_MMIO=m
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_CMA is not set
+
+#
+# Bus devices
+#
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+CONFIG_MTD=m
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_REDBOOT_PARTS=m
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=m
+CONFIG_MTD_OF_PARTS=m
+CONFIG_MTD_AR7_PARTS=m
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+# CONFIG_SM_FTL is not set
+CONFIG_MTD_OOPS=m
+CONFIG_MTD_SWAP=m
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_GEN_PROBE=m
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_CFI_UTIL=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_PHYSMAP_OF=m
+CONFIG_MTD_SC520CDP=m
+CONFIG_MTD_NETSC520=m
+CONFIG_MTD_TS5500=m
+# CONFIG_MTD_SBC_GXX is not set
+# CONFIG_MTD_AMD76XROM is not set
+# CONFIG_MTD_ICHXROM is not set
+# CONFIG_MTD_ESB2ROM is not set
+# CONFIG_MTD_CK804XROM is not set
+CONFIG_MTD_SCB2_FLASH=m
+# CONFIG_MTD_NETtel is not set
+# CONFIG_MTD_L440GX is not set
+CONFIG_MTD_PCI=m
+# CONFIG_MTD_PCMCIA is not set
+# CONFIG_MTD_GPIO_ADDR is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+CONFIG_MTD_PLATRAM=m
+# CONFIG_MTD_LATCH_ADDR is not set
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_PMC551=m
+# CONFIG_MTD_PMC551_BUGFIX is not set
+# CONFIG_MTD_PMC551_DEBUG is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_SLRAM is not set
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+
+#
+# Disk-On-Chip Device Drivers
+#
+CONFIG_MTD_DOCG3=m
+CONFIG_BCH_CONST_M=14
+CONFIG_BCH_CONST_T=4
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+CONFIG_MTD_LPDDR=m
+CONFIG_MTD_QINFO_PROBE=m
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+# CONFIG_MTD_UBI_GLUEBI is not set
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+CONFIG_PROC_DEVICETREE=y
+# CONFIG_OF_SELFTEST is not set
+CONFIG_OF_PROMTREE=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_DEVICE=y
+CONFIG_OF_I2C=m
+CONFIG_OF_NET=y
+CONFIG_OF_MDIO=m
+CONFIG_OF_PCI=y
+CONFIG_OF_PCI_IRQ=y
+CONFIG_OF_MTD=y
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
+
+#
+# Protocols
+#
+CONFIG_ISAPNP=y
+# CONFIG_PNPBIOS is not set
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=m
+# CONFIG_PARIDE is not set
+CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+# CONFIG_CISS_SCSI_TAPE is not set
+CONFIG_BLK_DEV_DAC960=m
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NVME=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=m
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_BLK_DEV_RBD=m
+CONFIG_BLK_DEV_RSXX=m
+
+#
+# Misc devices
+#
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_AD525X_DPOT=m
+CONFIG_AD525X_DPOT_I2C=m
+# CONFIG_AD525X_DPOT_SPI is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_IBM_ASM is not set
+CONFIG_PHANTOM=m
+CONFIG_INTEL_MID_PTI=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+# CONFIG_ATMEL_SSC is not set
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_APDS9802ALS=m
+CONFIG_ISL29003=m
+CONFIG_ISL29020=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_SENSORS_BH1780=m
+CONFIG_SENSORS_BH1770=m
+CONFIG_SENSORS_APDS990X=m
+CONFIG_HMC6352=m
+CONFIG_DS1682=m
+# CONFIG_TI_DAC7512 is not set
+CONFIG_VMWARE_BALLOON=m
+CONFIG_BMP085=y
+CONFIG_BMP085_I2C=m
+# CONFIG_BMP085_SPI is not set
+# CONFIG_PCH_PHUB is not set
+CONFIG_USB_SWITCH_FSA9480=m
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+# CONFIG_SRAM is not set
+CONFIG_C2PORT=m
+CONFIG_C2PORT_DURAMAR_2150=m
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+# CONFIG_EEPROM_93XX46 is not set
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+
+#
+# Texas Instruments shared transport line discipline
+#
+CONFIG_TI_ST=m
+CONFIG_SENSORS_LIS3_I2C=m
+
+#
+# Altera FPGA firmware download module
+#
+CONFIG_ALTERA_STAPL=m
+CONFIG_INTEL_MEI=m
+CONFIG_INTEL_MEI_ME=m
+CONFIG_VMWARE_VMCI=m
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=m
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SCAN_ASYNC=y
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+# CONFIG_SCSI_FC_TGT_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_ISCSI_BOOT_SYSFS=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_CXGB4_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_SCSI_BNX2X_FCOE=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+CONFIG_SCSI_7000FASST=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AHA152X=m
+CONFIG_SCSI_AHA1542=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+CONFIG_SCSI_MVSAS_TASKLET=y
+CONFIG_SCSI_MVUMI=m
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_SCSI_IN2000=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
+CONFIG_SCSI_MPT3SAS_LOGGING=y
+CONFIG_SCSI_UFSHCD=m
+CONFIG_SCSI_UFSHCD_PCI=m
+CONFIG_SCSI_UFSHCD_PLATFORM=m
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_BUSLOGIC=m
+# CONFIG_SCSI_FLASHPOINT is not set
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_DTC3280=m
+CONFIG_SCSI_EATA=m
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_ISCI=m
+CONFIG_SCSI_GENERIC_NCR5380=m
+CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
+CONFIG_SCSI_GENERIC_NCR53C400=y
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_NCR53C406A=m
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_PAS16=m
+CONFIG_SCSI_QLOGIC_FAS=m
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLA_FC=m
+CONFIG_TCM_QLA2XXX=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_SYM53C416=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_T128=m
+CONFIG_SCSI_U14_34F=m
+# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
+# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
+CONFIG_SCSI_U14_34F_MAX_TAGS=8
+CONFIG_SCSI_ULTRASTOR=m
+CONFIG_SCSI_NSP32=m
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
+CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_VIRTIO=m
+CONFIG_SCSI_CHELSIO_FCOE=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_NINJA_SCSI=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=0
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+CONFIG_SATA_ZPODD=y
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_AHCI_PLATFORM=m
+CONFIG_SATA_INIC162X=m
+CONFIG_SATA_ACARD_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_SX4=m
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_HIGHBANK=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_SVW=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+
+#
+# PATA SFF controllers with BMDMA
+#
+CONFIG_PATA_ALI=m
+CONFIG_PATA_AMD=m
+CONFIG_PATA_ARASAN_CF=m
+CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATIIXP=m
+CONFIG_PATA_ATP867X=m
+CONFIG_PATA_CMD64X=m
+CONFIG_PATA_CS5520=m
+CONFIG_PATA_CS5530=m
+CONFIG_PATA_CS5535=m
+CONFIG_PATA_CS5536=m
+CONFIG_PATA_CYPRESS=m
+CONFIG_PATA_EFAR=m
+CONFIG_PATA_HPT366=m
+CONFIG_PATA_HPT37X=m
+CONFIG_PATA_HPT3X2N=m
+CONFIG_PATA_HPT3X3=m
+# CONFIG_PATA_HPT3X3_DMA is not set
+CONFIG_PATA_IT8213=m
+CONFIG_PATA_IT821X=m
+CONFIG_PATA_JMICRON=m
+CONFIG_PATA_MARVELL=m
+CONFIG_PATA_NETCELL=m
+CONFIG_PATA_NINJA32=m
+CONFIG_PATA_NS87415=m
+CONFIG_PATA_OLDPIIX=m
+CONFIG_PATA_OPTIDMA=m
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_PDC_OLD=m
+CONFIG_PATA_RADISYS=m
+CONFIG_PATA_RDC=m
+CONFIG_PATA_SC1200=m
+CONFIG_PATA_SCH=m
+CONFIG_PATA_SERVERWORKS=m
+CONFIG_PATA_SIL680=m
+CONFIG_PATA_SIS=m
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_TRIFLEX=m
+CONFIG_PATA_VIA=m
+CONFIG_PATA_WINBOND=m
+
+#
+# PIO-only SFF controllers
+#
+CONFIG_PATA_CMD640_PCI=m
+CONFIG_PATA_ISAPNP=m
+CONFIG_PATA_MPIIX=m
+CONFIG_PATA_NS87410=m
+CONFIG_PATA_OPTI=m
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_QDI=m
+CONFIG_PATA_RZ1000=m
+CONFIG_PATA_WINBOND_VLB=m
+
+#
+# Generic fallback / legacy drivers
+#
+CONFIG_PATA_ACPI=m
+CONFIG_ATA_GENERIC=m
+CONFIG_PATA_LEGACY=m
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BCACHE=m
+# CONFIG_BCACHE_DEBUG is not set
+# CONFIG_BCACHE_EDEBUG is not set
+# CONFIG_BCACHE_CLOSURES_DEBUG is not set
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_BUFIO=m
+CONFIG_DM_BIO_PRISON=m
+CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_THIN_PROVISIONING=m
+# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
+CONFIG_DM_CACHE=m
+CONFIG_DM_CACHE_MQ=m
+CONFIG_DM_CACHE_CLEANER=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_RAID=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_UEVENT=y
+CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
+CONFIG_TARGET_CORE=m
+CONFIG_TCM_IBLOCK=m
+CONFIG_TCM_FILEIO=m
+CONFIG_TCM_PSCSI=m
+CONFIG_LOOPBACK_TARGET=m
+CONFIG_TCM_FC=m
+CONFIG_ISCSI_TARGET=m
+CONFIG_SBP_TARGET=m
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+CONFIG_FIREWIRE_NOSY=m
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_EQUALIZER=m
+# CONFIG_NET_FC is not set
+CONFIG_MII=m
+CONFIG_IFB=m
+CONFIG_NET_TEAM=m
+CONFIG_NET_TEAM_MODE_BROADCAST=m
+CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
+CONFIG_NET_TEAM_MODE_RANDOM=m
+CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
+CONFIG_NET_TEAM_MODE_LOADBALANCE=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_VXLAN=m
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_RIONET=m
+CONFIG_RIONET_TX_SIZE=128
+CONFIG_RIONET_RX_SIZE=128
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_SUNGEM_PHY=m
+# CONFIG_ARCNET is not set
+CONFIG_ATM_DRIVERS=y
+# CONFIG_ATM_DUMMY is not set
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+
+#
+# CAIF transport drivers
+#
+CONFIG_CAIF_TTY=m
+CONFIG_CAIF_SPI_SLAVE=m
+CONFIG_CAIF_SPI_SYNC=y
+CONFIG_CAIF_HSI=m
+CONFIG_CAIF_VIRTIO=m
+CONFIG_VHOST_NET=m
+CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_RING=m
+
+#
+# Distributed Switch Architecture drivers
+#
+CONFIG_NET_DSA_MV88E6XXX=m
+CONFIG_NET_DSA_MV88E6060=m
+CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
+CONFIG_NET_DSA_MV88E6131=m
+CONFIG_NET_DSA_MV88E6123_61_65=m
+CONFIG_ETHERNET=y
+CONFIG_MDIO=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_EL3=m
+CONFIG_3C515=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_3C589=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_NET_VENDOR_ADAPTEC=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_NET_VENDOR_ALTEON=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_NET_VENDOR_AMD=y
+CONFIG_AMD8111_ETH=m
+CONFIG_LANCE=m
+CONFIG_PCNET32=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_NI65=m
+CONFIG_NET_VENDOR_ATHEROS=y
+CONFIG_ATL2=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_ALX=m
+CONFIG_NET_CADENCE=y
+CONFIG_ARM_AT91_ETHER=m
+CONFIG_MACB=m
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_TIGON3=m
+CONFIG_BNX2X=m
+CONFIG_BNX2X_SRIOV=y
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
+CONFIG_NET_CALXEDA_XGMAC=m
+CONFIG_NET_VENDOR_CHELSIO=y
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4=m
+CONFIG_CHELSIO_T4VF=m
+CONFIG_NET_VENDOR_CIRRUS=y
+CONFIG_CS89x0=m
+# CONFIG_CS89x0_PLATFORM is not set
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_ENIC=m
+CONFIG_DNET=m
+CONFIG_NET_VENDOR_DEC=y
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_NET_VENDOR_DLINK=y
+CONFIG_DL2K=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_NET_VENDOR_EMULEX=y
+CONFIG_BE2NET=m
+CONFIG_NET_VENDOR_EXAR=y
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_NET_VENDOR_FUJITSU=y
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_NET_VENDOR_HP=y
+CONFIG_HP100=m
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_E100=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IGB=m
+CONFIG_IGB_HWMON=y
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_IXGB=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_HWMON=y
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_IP1000=m
+CONFIG_JME=m
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_MVMDIO=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKGE_GENESIS=y
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_NET_VENDOR_MICREL=y
+CONFIG_KS8842=m
+# CONFIG_KS8851 is not set
+CONFIG_KS8851_MLL=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_NET_VENDOR_MICROCHIP=y
+# CONFIG_ENC28J60 is not set
+CONFIG_NET_VENDOR_MYRI=y
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_FEALNX=m
+CONFIG_NET_VENDOR_NATSEMI=y
+CONFIG_NATSEMI=m
+CONFIG_NS83820=m
+CONFIG_NET_VENDOR_8390=y
+CONFIG_PCMCIA_AXNET=m
+CONFIG_NE2000=m
+CONFIG_NE2K_PCI=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_ULTRA=m
+CONFIG_WD80x3=m
+CONFIG_NET_VENDOR_NVIDIA=y
+CONFIG_FORCEDETH=m
+CONFIG_NET_VENDOR_OKI=y
+CONFIG_PCH_GBE=m
+CONFIG_ETHOC=m
+CONFIG_NET_PACKET_ENGINE=y
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_NET_VENDOR_QLOGIC=y
+CONFIG_QLA3XXX=m
+CONFIG_QLCNIC=m
+CONFIG_QLCNIC_SRIOV=y
+CONFIG_QLGE=m
+CONFIG_NETXEN_NIC=m
+CONFIG_NET_VENDOR_REALTEK=y
+CONFIG_ATP=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R8169=m
+CONFIG_NET_VENDOR_RDC=y
+CONFIG_R6040=m
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_SC92031=m
+CONFIG_NET_VENDOR_SIS=y
+CONFIG_SIS900=m
+CONFIG_SIS190=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_SFC_MCDI_MON=y
+CONFIG_SFC_SRIOV=y
+CONFIG_NET_VENDOR_SMSC=y
+CONFIG_SMC9194=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_ETH=m
+# CONFIG_STMMAC_PLATFORM is not set
+CONFIG_STMMAC_PCI=y
+# CONFIG_STMMAC_DEBUG_FS is not set
+# CONFIG_STMMAC_DA is not set
+CONFIG_NET_VENDOR_SUN=y
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NIU=m
+CONFIG_NET_VENDOR_TEHUTI=y
+CONFIG_TEHUTI=m
+CONFIG_NET_VENDOR_TI=y
+CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VIA=y
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_VIA_VELOCITY=m
+CONFIG_NET_VENDOR_WIZNET=y
+CONFIG_WIZNET_W5100=m
+CONFIG_WIZNET_W5300=m
+# CONFIG_WIZNET_BUS_DIRECT is not set
+# CONFIG_WIZNET_BUS_INDIRECT is not set
+CONFIG_WIZNET_BUS_ANY=y
+CONFIG_NET_VENDOR_XIRCOM=y
+CONFIG_PCMCIA_XIRC2PS=m
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_NET_SB1000=m
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_AT803X_PHY=m
+CONFIG_AMD_PHY=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_BCM87XX_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_MDIO_BUS_MUX=m
+CONFIG_MDIO_BUS_MUX_GPIO=m
+CONFIG_MDIO_BUS_MUX_MMIOREG=m
+# CONFIG_MICREL_KS8995MA is not set
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOATM=m
+CONFIG_PPPOE=m
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_SLIP=m
+CONFIG_SLHC=m
+# CONFIG_SLIP_COMPRESSED is not set
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_CDC_MBIM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_QMI_WWAN=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_USB_VL600=m
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+CONFIG_ATH_CARDS=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+# CONFIG_ATH5K_TRACER is not set
+CONFIG_ATH5K_PCI=y
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
+CONFIG_ATH9K=m
+CONFIG_ATH9K_PCI=y
+CONFIG_ATH9K_AHB=y
+# CONFIG_ATH9K_DEBUGFS is not set
+# CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set
+CONFIG_ATH9K_HTC=m
+# CONFIG_ATH9K_HTC_DEBUGFS is not set
+CONFIG_CARL9170=m
+CONFIG_CARL9170_LEDS=y
+CONFIG_CARL9170_WPC=y
+# CONFIG_CARL9170_HWRNG is not set
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
+# CONFIG_ATH6KL_DEBUG is not set
+# CONFIG_ATH6KL_TRACING is not set
+CONFIG_AR5523=m
+CONFIG_WIL6210=m
+CONFIG_WIL6210_ISR_COR=y
+CONFIG_B43=m
+CONFIG_B43_BCMA=y
+# CONFIG_B43_BCMA_EXTRA is not set
+CONFIG_B43_SSB=y
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_BCMA_PIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_N=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_PHY_HT=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMSMAC=m
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
+# CONFIG_BRCM_TRACING is not set
+# CONFIG_BRCMDBG is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_IWLWIFI_OPMODE_MODULAR=y
+
+#
+# Debugging Options
+#
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEVICE_TRACING=y
+# CONFIG_IWLWIFI_P2P is not set
+CONFIG_IWLEGACY=m
+CONFIG_IWL4965=m
+CONFIG_IWL3945=m
+
+#
+# iwl3945 / iwl4965 Debugging Options
+#
+# CONFIG_IWLEGACY_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_SPI is not set
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+CONFIG_HERMES_PRISM=y
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_ORINOCO_USB=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+# CONFIG_P54_SPI is not set
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT33XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2800PCI_RT53XX=y
+CONFIG_RT2800PCI_RT3290=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT33XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_MMIO=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_RTLWIFI=m
+# CONFIG_RTLWIFI_DEBUG is not set
+CONFIG_RTL8192CE=m
+CONFIG_RTL8192SE=m
+CONFIG_RTL8192DE=m
+CONFIG_RTL8723AE=m
+CONFIG_RTL8188EE=m
+CONFIG_RTL8192CU=m
+CONFIG_RTL8192C_COMMON=m
+CONFIG_WL_TI=y
+CONFIG_WL1251=m
+# CONFIG_WL1251_SPI is not set
+CONFIG_WL1251_SDIO=m
+CONFIG_WL12XX=m
+CONFIG_WL18XX=m
+CONFIG_WLCORE=m
+# CONFIG_WLCORE_SPI is not set
+CONFIG_WLCORE_SDIO=m
+CONFIG_WILINK_PLATFORM_DATA=y
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_MWIFIEX_USB=m
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+# CONFIG_WAN is not set
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_IEEE802154_FAKELB=m
+CONFIG_IEEE802154_AT86RF230=m
+# CONFIG_IEEE802154_MRF24J40 is not set
+CONFIG_VMXNET3=m
+CONFIG_HYPERV_NET=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_0=y
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_AVM_A1=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_IX1MICROR2=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_ASUSCOM=y
+CONFIG_HISAX_TELEINT=y
+CONFIG_HISAX_HFCS=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_SPORTSTER=y
+CONFIG_HISAX_MIC=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_ISURF=y
+CONFIG_HISAX_HSTSAPHIR=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_DRV_ICN=m
+CONFIG_ISDN_DRV_PCBIT=m
+CONFIG_ISDN_DRV_SC=m
+CONFIG_ISDN_DRV_ACT2000=m
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_T1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_CAPI=y
+# CONFIG_GIGASET_I4L is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_INPUT_MATRIXKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ADP5589=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_QT1070=m
+CONFIG_KEYBOARD_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+CONFIG_KEYBOARD_TCA6416=m
+CONFIG_KEYBOARD_TCA8418=m
+CONFIG_KEYBOARD_MATRIX=m
+# CONFIG_KEYBOARD_LM8323 is not set
+CONFIG_KEYBOARD_LM8333=m
+# CONFIG_KEYBOARD_MAX7359 is not set
+CONFIG_KEYBOARD_MCS=m
+CONFIG_KEYBOARD_MPR121=m
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_PS2_OLPC=y
+CONFIG_MOUSE_SERIAL=y
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_CYAPA=m
+CONFIG_MOUSE_INPORT=m
+# CONFIG_MOUSE_ATIXL is not set
+CONFIG_MOUSE_LOGIBM=m
+CONFIG_MOUSE_PC110PAD=m
+CONFIG_MOUSE_VSXXXAA=m
+# CONFIG_MOUSE_GPIO is not set
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_MOUSE_SYNAPTICS_USB=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_AS5011=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_HANWANG=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_AD7877 is not set
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
+CONFIG_TOUCHSCREEN_BU21013=m
+CONFIG_TOUCHSCREEN_CY8CTMG110=m
+CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
+CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
+# CONFIG_TOUCHSCREEN_CYTTSP_SPI is not set
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_HAMPSHIRE=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_EGALAX=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_WACOM_I2C=m
+CONFIG_TOUCHSCREEN_MAX11801=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MMS114=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_HTCPEN=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+CONFIG_TOUCHSCREEN_WM9705=y
+CONFIG_TOUCHSCREEN_WM9712=y
+CONFIG_TOUCHSCREEN_WM9713=y
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+CONFIG_TOUCHSCREEN_MC13783=m
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+CONFIG_TOUCHSCREEN_USB_ELO=y
+CONFIG_TOUCHSCREEN_USB_E2I=y
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC_SERIO=m
+# CONFIG_TOUCHSCREEN_TSC2005 is not set
+CONFIG_TOUCHSCREEN_TSC2007=m
+CONFIG_TOUCHSCREEN_ST1232=m
+CONFIG_TOUCHSCREEN_TPS6507X=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_AD714X=m
+CONFIG_INPUT_AD714X_I2C=m
+CONFIG_INPUT_AD714X_SPI=m
+CONFIG_INPUT_BMA150=m
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_MC13783_PWRBUTTON=m
+CONFIG_INPUT_MMA8450=m
+CONFIG_INPUT_MPU3050=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_GP2A=m
+# CONFIG_INPUT_GPIO_TILT_POLLED is not set
+CONFIG_INPUT_WISTRON_BTNS=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_KXTJ9=m
+# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_PCF8574=m
+CONFIG_INPUT_PWM_BEEPER=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+CONFIG_INPUT_ADXL34X=m
+CONFIG_INPUT_ADXL34X_I2C=m
+CONFIG_INPUT_ADXL34X_SPI=m
+# CONFIG_INPUT_IMS_PCU is not set
+CONFIG_INPUT_CMA3000=m
+CONFIG_INPUT_CMA3000_I2C=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_SERIO_PS2MULT=m
+CONFIG_SERIO_ARC_PS2=m
+CONFIG_SERIO_APBPS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+# CONFIG_SYNCLINK_GT is not set
+CONFIG_NOZOMI=m
+# CONFIG_ISI is not set
+CONFIG_N_HDLC=m
+CONFIG_N_GSM=m
+CONFIG_TRACE_ROUTER=m
+CONFIG_TRACE_SINK=m
+# CONFIG_DEVKMEM is not set
+# CONFIG_STALDRV is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+CONFIG_SERIAL_8250_DW=m
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+CONFIG_SERIAL_MFD_HSU=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_OF_PLATFORM=m
+CONFIG_SERIAL_SCCNXP=m
+# CONFIG_SERIAL_TIMBERDALE is not set
+CONFIG_SERIAL_ALTERA_JTAGUART=m
+CONFIG_SERIAL_ALTERA_UART=m
+CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
+CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
+# CONFIG_SERIAL_IFX6X60 is not set
+CONFIG_SERIAL_PCH_UART=m
+CONFIG_SERIAL_XILINX_PS_UART=m
+CONFIG_SERIAL_ARC=m
+CONFIG_SERIAL_ARC_NR_PORTS=1
+CONFIG_SERIAL_RP2=m
+CONFIG_SERIAL_RP2_NR_UARTS=32
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_VIRTIO_CONSOLE=y
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_GEODE=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_TPM=m
+CONFIG_NVRAM=m
+CONFIG_DTLK=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+CONFIG_SONYPI=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_TIS_I2C_INFINEON=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TCG_ST33_I2C=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_ISMT=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_EG20T=m
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_INTEL_MID=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_PCA_PLATFORM=m
+CONFIG_I2C_PXA=m
+CONFIG_I2C_PXA_PCI=y
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_DIOLAN_U2C=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+CONFIG_I2C_VIPERBOARD=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_PCA_ISA=m
+CONFIG_SCx200_ACB=m
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_BUTTERFLY is not set
+# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_LM70_LLP is not set
+# CONFIG_SPI_FSL_SPI is not set
+# CONFIG_SPI_OC_TINY is not set
+# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_PXA2XX_PCI is not set
+# CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_TOPCLIFF_PCH is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+
+#
+# Qualcomm MSM SSBI bus support
+#
+# CONFIG_SSBI is not set
+# CONFIG_HSI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_PPS_CLIENT_PARPORT=m
+CONFIG_PPS_CLIENT_GPIO=m
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+CONFIG_DP83640_PHY=m
+CONFIG_PTP_1588_CLOCK_PCH=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_GPIOLIB=y
+CONFIG_OF_GPIO=y
+CONFIG_GPIO_ACPI=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+
+#
+# Memory mapped GPIO drivers:
+#
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_IT8761E is not set
+# CONFIG_GPIO_TS5500 is not set
+CONFIG_GPIO_SCH=m
+CONFIG_GPIO_ICH=m
+# CONFIG_GPIO_VX855 is not set
+# CONFIG_GPIO_LYNXPOINT is not set
+# CONFIG_GPIO_GRGPIO is not set
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_ARIZONA=m
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_ADP5588 is not set
+# CONFIG_GPIO_ADNP is not set
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=y
+CONFIG_GPIO_AMD8111=m
+# CONFIG_GPIO_LANGWELL is not set
+# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_ML_IOH is not set
+# CONFIG_GPIO_SODAVILLE is not set
+# CONFIG_GPIO_RDC321X is not set
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_74X164 is not set
+
+#
+# AC97 GPIO expanders:
+#
+CONFIG_GPIO_UCB1400=y
+
+#
+# MODULbus GPIO expanders:
+#
+
+#
+# USB GPIO expanders:
+#
+CONFIG_GPIO_VIPERBOARD=m
+# CONFIG_W1 is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_TEST_POWER=m
+# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
+# CONFIG_BATTERY_DS2782 is not set
+CONFIG_BATTERY_OLPC=m
+# CONFIG_BATTERY_SBS is not set
+# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_BATTERY_MAX17040 is not set
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_CHARGER_PCF50633 is not set
+# CONFIG_CHARGER_ISP1704 is not set
+# CONFIG_CHARGER_MAX8903 is not set
+# CONFIG_CHARGER_LP8727 is not set
+# CONFIG_CHARGER_GPIO is not set
+# CONFIG_CHARGER_BQ2415X is not set
+# CONFIG_CHARGER_SMB347 is not set
+# CONFIG_BATTERY_GOLDFISH is not set
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_GPIO=y
+CONFIG_POWER_AVS=y
+CONFIG_HWMON=y
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+# CONFIG_SENSORS_AD7314 is not set
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+# CONFIG_SENSORS_ADCXX is not set
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7X10=m
+CONFIG_SENSORS_ADT7310=m
+CONFIG_SENSORS_ADT7410=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_FAM15H_POWER=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS620=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+# CONFIG_SENSORS_GPIO_FAN is not set
+CONFIG_SENSORS_HIH6130=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_JC42=m
+CONFIG_SENSORS_LINEAGE=m
+CONFIG_SENSORS_LM63=m
+# CONFIG_SENSORS_LM70 is not set
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4151=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LTC4261=m
+CONFIG_SENSORS_LM95234=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_LM95245=m
+# CONFIG_SENSORS_MAX1111 is not set
+CONFIG_SENSORS_MAX16065=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX1668=m
+CONFIG_SENSORS_MAX197=m
+CONFIG_SENSORS_MAX6639=m
+CONFIG_SENSORS_MAX6642=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_MAX6697=m
+CONFIG_SENSORS_MCP3021=m
+CONFIG_SENSORS_NCT6775=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_PMBUS=m
+CONFIG_SENSORS_PMBUS=m
+CONFIG_SENSORS_ADM1275=m
+CONFIG_SENSORS_LM25066=m
+CONFIG_SENSORS_LTC2978=m
+CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX34440=m
+CONFIG_SENSORS_MAX8688=m
+CONFIG_SENSORS_UCD9000=m
+CONFIG_SENSORS_UCD9200=m
+CONFIG_SENSORS_ZL6100=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SHT21=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMM665=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_EMC1403=m
+CONFIG_SENSORS_EMC2103=m
+CONFIG_SENSORS_EMC6W201=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_SCH56XX_COMMON=m
+CONFIG_SENSORS_SCH5627=m
+CONFIG_SENSORS_SCH5636=m
+CONFIG_SENSORS_ADS1015=m
+CONFIG_SENSORS_ADS7828=m
+# CONFIG_SENSORS_ADS7871 is not set
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_INA209=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP102=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83795=m
+# CONFIG_SENSORS_W83795_FANCTRL is not set
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ACPI_POWER=m
+CONFIG_SENSORS_ATK0110=m
+CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+# CONFIG_THERMAL_GOV_USER_SPACE is not set
+# CONFIG_CPU_THERMAL is not set
+# CONFIG_THERMAL_EMULATION is not set
+CONFIG_INTEL_POWERCLAMP=m
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_RETU_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_F71808E_WDT=m
+CONFIG_SP5100_TCO=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_IE6XX_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_HPWDT_NMI_DECODING=y
+CONFIG_SC1200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_NV_TCO=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_SBC7240_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_VIA_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+
+#
+# ISA-based Watchdog Cards
+#
+CONFIG_PCWATCHDOG=m
+CONFIG_MIXCOMWD=m
+CONFIG_WDT=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+CONFIG_SSB_DRIVER_GPIO=y
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+CONFIG_BCMA=m
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+CONFIG_BCMA_DRIVER_GMAC_CMN=y
+CONFIG_BCMA_DRIVER_GPIO=y
+# CONFIG_BCMA_DEBUG is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+CONFIG_MFD_CS5535=m
+# CONFIG_MFD_CROS_EC is not set
+# CONFIG_MFD_DA9052_SPI is not set
+CONFIG_MFD_MC13783=m
+CONFIG_MFD_MC13XXX=m
+# CONFIG_MFD_MC13XXX_SPI is not set
+CONFIG_MFD_MC13XXX_I2C=m
+CONFIG_HTC_PASIC3=m
+CONFIG_LPC_ICH=m
+CONFIG_LPC_SCH=m
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_EZX_PCAP is not set
+CONFIG_MFD_VIPERBOARD=m
+CONFIG_MFD_RETU=m
+CONFIG_MFD_PCF50633=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_UCB1400_CORE=m
+CONFIG_MFD_RDC321X=m
+CONFIG_MFD_RTSX_PCI=m
+CONFIG_MFD_SI476X_CORE=m
+CONFIG_MFD_SM501=m
+CONFIG_MFD_SM501_GPIO=y
+CONFIG_ABX500_CORE=y
+# CONFIG_MFD_STMPE is not set
+# CONFIG_MFD_SYSCON is not set
+CONFIG_MFD_TI_AM335X_TSCADC=m
+# CONFIG_TPS6105X is not set
+CONFIG_TPS65010=m
+CONFIG_TPS6507X=m
+CONFIG_MFD_TPS65217=m
+# CONFIG_MFD_TPS65912 is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_WL1273_CORE=m
+CONFIG_MFD_LM3533=m
+# CONFIG_MFD_TIMBERDALE is not set
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_VX855=m
+CONFIG_MFD_ARIZONA=y
+CONFIG_MFD_ARIZONA_I2C=m
+# CONFIG_MFD_ARIZONA_SPI is not set
+CONFIG_MFD_WM5102=y
+CONFIG_MFD_WM5110=y
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+CONFIG_VIDEO_V4L2=m
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_V4L2_MEM2MEM_DEV=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+# CONFIG_VIDEO_V4L2_INT_DEVICE is not set
+CONFIG_DVB_CORE=m
+CONFIG_DVB_NET=y
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+
+#
+# Media drivers
+#
+CONFIG_RC_CORE=m
+CONFIG_RC_MAP=m
+CONFIG_RC_DECODERS=y
+CONFIG_LIRC=m
+CONFIG_IR_LIRC_CODEC=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_SANYO_DECODER=m
+CONFIG_IR_MCE_KBD_DECODER=m
+CONFIG_RC_DEVICES=y
+CONFIG_RC_ATI_REMOTE=m
+CONFIG_IR_ENE=m
+CONFIG_IR_IMON=m
+CONFIG_IR_MCEUSB=m
+CONFIG_IR_ITE_CIR=m
+CONFIG_IR_FINTEK=m
+CONFIG_IR_NUVOTON=m
+CONFIG_IR_REDRAT3=m
+CONFIG_IR_STREAMZAP=m
+CONFIG_IR_WINBOND_CIR=m
+CONFIG_IR_IGUANA=m
+CONFIG_IR_TTUSBIR=m
+CONFIG_RC_LOOPBACK=m
+CONFIG_IR_GPIO_CIR=m
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_JL2005BCD=m
+CONFIG_USB_GSPCA_KINECT=m
+CONFIG_USB_GSPCA_KONICA=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_NW80X=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SE401=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SPCA1528=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_SQ930X=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_VICAM=m
+CONFIG_USB_GSPCA_XIRLINK_CIT=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_VIDEO_CPIA2=m
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_USB_SN9C102=m
+
+#
+# Analog TV USB devices
+#
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_STK1160=m
+CONFIG_VIDEO_STK1160_AC97=y
+
+#
+# Analog/digital TV USB devices
+#
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_AU0828_V4L2=y
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_RC=y
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_TM6000=m
+CONFIG_VIDEO_TM6000_ALSA=m
+CONFIG_VIDEO_TM6000_DVB=m
+
+#
+# Digital TV USB devices
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_PCTV452E=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_USB_TECHNISAT_USB2=m
+CONFIG_DVB_USB_V2=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_AF9035=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_AZ6007=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_IT913X=m
+CONFIG_DVB_USB_LME2510=m
+CONFIG_DVB_USB_MXL111SF=m
+CONFIG_DVB_USB_RTL28XXU=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_USB_DRV=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_EM28XX_RC=m
+CONFIG_MEDIA_PCI_SUPPORT=y
+
+#
+# Media capture support
+#
+CONFIG_VIDEO_MEYE=m
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_MXB=m
+
+#
+# Media capture/analog/hybrid TV support
+#
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_MEDIA_ALTERA_CI=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_BT848=m
+CONFIG_DVB_BT8XX=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_RC=y
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_SAA7164=m
+
+#
+# Media digital TV PCI Adapters
+#
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
+CONFIG_DVB_PLUTO2=m
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_PT1=m
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+CONFIG_DVB_NGENE=m
+CONFIG_DVB_DDBRIDGE=m
+# CONFIG_V4L_PLATFORM_DRIVERS is not set
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
+CONFIG_VIDEO_SH_VEU=m
+# CONFIG_V4L_TEST_DRIVERS is not set
+
+#
+# Supported MMC/SDIO adapters
+#
+CONFIG_SMS_SDIO_DRV=m
+CONFIG_MEDIA_PARPORT_SUPPORT=y
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_PMS=m
+CONFIG_VIDEO_W9966=m
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_SI470X=y
+CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
+CONFIG_USB_MR800=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_SHARK=m
+CONFIG_RADIO_SHARK2=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_KEENE=m
+CONFIG_USB_MA901=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_WL1273=m
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+CONFIG_RADIO_WL128X=m
+# CONFIG_V4L_RADIO_ISA_DRIVERS is not set
+
+#
+# Supported FireWire (IEEE 1394) Adapters
+#
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_INPUT=y
+CONFIG_MEDIA_COMMON_OPTIONS=y
+
+#
+# common driver options
+#
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_CYPRESS_FIRMWARE=m
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_SMS_SIANO_MDTV=m
+CONFIG_SMS_SIANO_RC=y
+# CONFIG_SMS_SIANO_DEBUGFS is not set
+
+#
+# Media ancillary drivers (tuners, sensors, i2c, frontends)
+#
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+CONFIG_MEDIA_ATTACH=y
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Audio decoders, processors and mixers
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_UDA1342=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+CONFIG_VIDEO_SONY_BTF_MPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_TW2804=m
+CONFIG_VIDEO_TW9903=m
+CONFIG_VIDEO_TW9906=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_CX25840=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+
+#
+# Camera sensor devices
+#
+CONFIG_VIDEO_OV7640=m
+CONFIG_VIDEO_MT9V011=m
+
+#
+# Flash devices
+#
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_M52790=m
+
+#
+# Sensors used on soc_camera driver
+#
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_XC4000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
+CONFIG_MEDIA_TUNER_TDA18212=m
+CONFIG_MEDIA_TUNER_E4000=m
+CONFIG_MEDIA_TUNER_FC2580=m
+CONFIG_MEDIA_TUNER_TUA9001=m
+CONFIG_MEDIA_TUNER_IT913X=m
+CONFIG_MEDIA_TUNER_R820T=m
+
+#
+# Multistandard (satellite) frontends
+#
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+
+#
+# Multistandard (cable + terrestrial) frontends
+#
+CONFIG_DVB_DRXK=m
+CONFIG_DVB_TDA18271C2DD=m
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_TS2020=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_TDA10071=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_DRXD=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_STV0367=m
+CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LG2160=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_AU8522_DTV=m
+CONFIG_DVB_AU8522_V4L=m
+CONFIG_DVB_S5H1411=m
+
+#
+# ISDB-T (terrestrial) frontends
+#
+CONFIG_DVB_S921=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_MB86A20S=m
+
+#
+# Digital terrestrial only tuners/PLL
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_TUNER_DIB0090=m
+
+#
+# SEC control devices for DVB-S
+#
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_LNBP22=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_A8293=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DVB_TDA665x=m
+CONFIG_DVB_IX2505V=m
+CONFIG_DVB_IT913X_FE=m
+CONFIG_DVB_M88RS2000=m
+CONFIG_DVB_AF9033=m
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+
+#
+# Graphics support
+#
+CONFIG_AGP=m
+CONFIG_AGP_ALI=m
+CONFIG_AGP_ATI=m
+CONFIG_AGP_AMD=m
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_NVIDIA=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_SWORKS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_EFFICEON=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_USB=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_TTM=m
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
+CONFIG_DRM_I2C_NXP_TDA998X=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+# CONFIG_DRM_RADEON_UMS is not set
+CONFIG_DRM_NOUVEAU=m
+CONFIG_NOUVEAU_DEBUG=5
+CONFIG_NOUVEAU_DEBUG_DEFAULT=3
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+# CONFIG_DRM_I810 is not set
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_VMWGFX_FBCON=y
+CONFIG_DRM_GMA500=m
+CONFIG_DRM_GMA600=y
+CONFIG_DRM_GMA3600=y
+CONFIG_DRM_UDL=m
+CONFIG_DRM_AST=m
+CONFIG_DRM_MGAG200=m
+CONFIG_DRM_CIRRUS_QEMU=m
+CONFIG_DRM_QXL=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_HDMI=y
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ARC is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_VGA16=m
+CONFIG_FB_UVESA=m
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_N411 is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
+CONFIG_FB_I810=m
+CONFIG_FB_I810_GTF=y
+CONFIG_FB_I810_I2C=y
+# CONFIG_FB_LE80578 is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+CONFIG_FB_VIA=m
+CONFIG_FB_VIA_DIRECT_PROCFS=y
+CONFIG_FB_VIA_X_COMPATIBILITY=y
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_GEODE is not set
+# CONFIG_FB_TMIO is not set
+# CONFIG_FB_SM501 is not set
+# CONFIG_FB_SMSCUFX is not set
+CONFIG_FB_UDL=m
+# CONFIG_FB_GOLDFISH is not set
+CONFIG_FB_VIRTUAL=m
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+# CONFIG_FB_AUO_K190X is not set
+CONFIG_FB_HYPERV=m
+# CONFIG_FB_SIMPLE is not set
+# CONFIG_EXYNOS_VIDEO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+# CONFIG_LCD_L4F00242T03 is not set
+# CONFIG_LCD_LMS283GF05 is not set
+# CONFIG_LCD_LTV350QV is not set
+# CONFIG_LCD_ILI922X is not set
+# CONFIG_LCD_ILI9320 is not set
+# CONFIG_LCD_TDO24M is not set
+# CONFIG_LCD_VGG2432A4 is not set
+CONFIG_LCD_PLATFORM=m
+# CONFIG_LCD_S6E63M0 is not set
+# CONFIG_LCD_LD9040 is not set
+# CONFIG_LCD_AMS369FG06 is not set
+# CONFIG_LCD_LMS501KF03 is not set
+# CONFIG_LCD_HX8357 is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_BACKLIGHT_LM3533=m
+CONFIG_BACKLIGHT_PWM=m
+CONFIG_BACKLIGHT_APPLE=m
+# CONFIG_BACKLIGHT_SAHARA is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
+CONFIG_BACKLIGHT_PCF50633=m
+# CONFIG_BACKLIGHT_LM3630 is not set
+# CONFIG_BACKLIGHT_LM3639 is not set
+# CONFIG_BACKLIGHT_LP855X is not set
+# CONFIG_BACKLIGHT_OT200 is not set
+# CONFIG_BACKLIGHT_TPS65217 is not set
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+# CONFIG_MDA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_FONT_AUTOSELECT=y
+# CONFIG_LOGO is not set
+CONFIG_FB_SSD1307=m
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_KCTL_JACK=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+CONFIG_SND_OPL4_LIB_SEQ=m
+CONFIG_SND_SBAWE_SEQ=m
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_OPL4_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_ALOOP=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_WSS_LIB=m
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB8_DSP=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_ISA=y
+CONFIG_SND_ADLIB=m
+CONFIG_SND_AD1816A=m
+CONFIG_SND_AD1848=m
+CONFIG_SND_ALS100=m
+CONFIG_SND_AZT1605=m
+CONFIG_SND_AZT2316=m
+CONFIG_SND_AZT2320=m
+CONFIG_SND_CMI8328=m
+CONFIG_SND_CMI8330=m
+CONFIG_SND_CS4231=m
+CONFIG_SND_CS4236=m
+CONFIG_SND_ES1688=m
+CONFIG_SND_ES18XX=m
+CONFIG_SND_SC6000=m
+CONFIG_SND_GUSCLASSIC=m
+CONFIG_SND_GUSEXTREME=m
+CONFIG_SND_GUSMAX=m
+CONFIG_SND_INTERWAVE=m
+CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_JAZZ16=m
+CONFIG_SND_OPL3SA2=m
+CONFIG_SND_OPTI92X_AD1848=m
+CONFIG_SND_OPTI92X_CS4231=m
+CONFIG_SND_OPTI93X=m
+CONFIG_SND_MIRO=m
+CONFIG_SND_SB8=m
+CONFIG_SND_SB16=m
+CONFIG_SND_SBAWE=m
+CONFIG_SND_SB16_CSP=y
+CONFIG_SND_SSCAPE=m
+CONFIG_SND_WAVEFRONT=m
+CONFIG_SND_MSND_PINNACLE=m
+CONFIG_SND_MSND_CLASSIC=m
+CONFIG_SND_TEA575X=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ASIHPI=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_ES1968_INPUT=y
+CONFIG_SND_ES1968_RADIO=y
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_DSP_LOADER=y
+CONFIG_SND_HDA_PREALLOC_SIZE=4096
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_HDMI=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CA0132=y
+CONFIG_SND_HDA_CODEC_CA0132_DSP=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LOLA=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MAESTRO3_INPUT=y
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SIS7019=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_FIREWIRE=y
+CONFIG_SND_FIREWIRE_LIB=m
+CONFIG_SND_FIREWIRE_SPEAKERS=m
+CONFIG_SND_ISIGHT=m
+CONFIG_SND_SCS1X=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID support
+#
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=m
+
+#
+# Special HID drivers
+#
+CONFIG_HID_A4TECH=m
+CONFIG_HID_ACRUX=m
+CONFIG_HID_ACRUX_FF=y
+CONFIG_HID_APPLE=m
+CONFIG_HID_APPLEIR=m
+CONFIG_HID_AUREAL=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_PRODIKEYS=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EMS_FF=m
+CONFIG_HID_ELECOM=m
+CONFIG_HID_EZKEY=m
+CONFIG_HID_HOLTEK=m
+CONFIG_HOLTEK_FF=y
+CONFIG_HID_KEYTOUCH=m
+CONFIG_HID_KYE=m
+CONFIG_HID_UCLOGIC=m
+CONFIG_HID_WALTOP=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_ICADE=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LCPOWER=m
+CONFIG_HID_LENOVO_TPKBD=m
+CONFIG_HID_LOGITECH=m
+CONFIG_HID_LOGITECH_DJ=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIWHEELS_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_MULTITOUCH=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_PICOLCD=m
+CONFIG_HID_PICOLCD_FB=y
+CONFIG_HID_PICOLCD_BACKLIGHT=y
+CONFIG_HID_PICOLCD_LCD=y
+CONFIG_HID_PICOLCD_LEDS=y
+CONFIG_HID_PICOLCD_CIR=y
+CONFIG_HID_PRIMAX=m
+CONFIG_HID_PS3REMOTE=m
+CONFIG_HID_ROCCAT=m
+CONFIG_HID_SAITEK=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_SPEEDLINK=m
+CONFIG_HID_STEELSERIES=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_HYPERV_MOUSE=m
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TIVO=m
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THINGM=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_WIIMOTE=m
+CONFIG_HID_WIIMOTE_EXT=y
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_HID_ZYDACRON=m
+CONFIG_HID_SENSOR_HUB=m
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# I2C HID support
+#
+CONFIG_I2C_HID=m
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB_ARCH_HAS_XHCI=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=m
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+CONFIG_USB_DYNAMIC_MINORS=y
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=m
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=m
+# CONFIG_USB_EHCI_HCD_PLATFORM is not set
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_HCD_PLATFORM is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+# CONFIG_USB_SL811_HCD_ISO is not set
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_RENESAS_USBHS_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_HCD_BCMA is not set
+# CONFIG_USB_HCD_SSB is not set
+CONFIG_USB_MUSB_HDRC=m
+CONFIG_USB_MUSB_TUSB6010=m
+CONFIG_USB_MUSB_DSPS=m
+CONFIG_USB_MUSB_UX500=m
+# CONFIG_USB_UX500_DMA is not set
+CONFIG_MUSB_PIO_ONLY=y
+CONFIG_USB_RENESAS_USBHS=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_REALTEK=m
+CONFIG_REALTEK_AUTOPM=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+CONFIG_USB_STORAGE_ENE_UB6250=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+# CONFIG_USB_DWC3 is not set
+# CONFIG_USB_CHIPIDEA is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_F81232=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_METRO=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7715_PARPORT=y
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
+CONFIG_USB_SERIAL_XSENS_MT=m
+CONFIG_USB_SERIAL_ZIO=m
+CONFIG_USB_SERIAL_WISHBONE=m
+CONFIG_USB_SERIAL_ZTE=m
+CONFIG_USB_SERIAL_SSU100=m
+CONFIG_USB_SERIAL_QT2=m
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_YUREX=m
+CONFIG_USB_EZUSB_FX2=m
+CONFIG_USB_HSIC_USB3503=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=m
+# CONFIG_OMAP_CONTROL_USB is not set
+# CONFIG_OMAP_USB3 is not set
+CONFIG_SAMSUNG_USBPHY=m
+CONFIG_SAMSUNG_USB2PHY=m
+CONFIG_SAMSUNG_USB3PHY=m
+# CONFIG_USB_GPIO_VBUS is not set
+CONFIG_USB_ISP1301=m
+CONFIG_USB_RCAR_PHY=m
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+
+#
+# USB Peripheral Controller
+#
+CONFIG_USB_FUSB300=m
+CONFIG_USB_R8A66597=m
+CONFIG_USB_RENESAS_USBHS_UDC=m
+CONFIG_USB_PXA27X=m
+CONFIG_USB_MV_UDC=m
+CONFIG_USB_MV_U3D=m
+CONFIG_USB_GADGET_MUSB_HDRC=m
+CONFIG_USB_M66592=m
+CONFIG_USB_AMD5536UDC=m
+CONFIG_USB_NET2272=m
+CONFIG_USB_NET2272_DMA=y
+CONFIG_USB_NET2280=m
+CONFIG_USB_GOKU=m
+CONFIG_USB_EG20T=m
+CONFIG_USB_DUMMY_HCD=m
+CONFIG_USB_LIBCOMPOSITE=m
+CONFIG_USB_F_ACM=m
+CONFIG_USB_U_SERIAL=m
+CONFIG_USB_F_SERIAL=m
+CONFIG_USB_F_OBEX=m
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_AUDIO=m
+# CONFIG_GADGET_UAC1 is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+CONFIG_USB_G_NCM=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FUNCTIONFS=m
+CONFIG_USB_FUNCTIONFS_ETH=y
+CONFIG_USB_FUNCTIONFS_RNDIS=y
+CONFIG_USB_FUNCTIONFS_GENERIC=y
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_GADGET_TARGET=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_ACM_MS is not set
+# CONFIG_USB_G_MULTI is not set
+CONFIG_USB_G_HID=m
+CONFIG_USB_G_DBGP=m
+# CONFIG_USB_G_DBGP_PRINTK is not set
+CONFIG_USB_G_DBGP_SERIAL=y
+CONFIG_USB_G_WEBCAM=m
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_I1480U=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+# CONFIG_MMC_CLKGATE is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_ACPI=m
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MMC_VUB300=m
+CONFIG_MMC_USHC=m
+CONFIG_MMC_REALTEK_PCI=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_MEMSTICK_R592=m
+CONFIG_MEMSTICK_REALTEK_PCI=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_LM3530=m
+CONFIG_LEDS_LM3533=m
+CONFIG_LEDS_LM3642=m
+CONFIG_LEDS_PCA9532=m
+# CONFIG_LEDS_PCA9532_GPIO is not set
+# CONFIG_LEDS_GPIO is not set
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_LP55XX_COMMON=m
+CONFIG_LEDS_LP5521=m
+CONFIG_LEDS_LP5523=m
+CONFIG_LEDS_LP5562=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_PCA9633=m
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_PWM is not set
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_MC13783=m
+CONFIG_LEDS_TCA6507=m
+CONFIG_LEDS_LM355x=m
+CONFIG_LEDS_OT200=m
+CONFIG_LEDS_BLINKM=m
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_ONESHOT=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+# CONFIG_LEDS_TRIGGER_CPU is not set
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_LEDS_TRIGGER_TRANSIENT=m
+CONFIG_LEDS_TRIGGER_CAMERA=m
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC=y
+CONFIG_EDAC_LEGACY_SYSFS=y
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
+CONFIG_EDAC_MCE_INJ=m
+CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD76X=m
+CONFIG_EDAC_E7XXX=m
+CONFIG_EDAC_E752X=m
+CONFIG_EDAC_I82875P=m
+CONFIG_EDAC_I82975X=m
+CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
+CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
+CONFIG_EDAC_I7CORE=m
+CONFIG_EDAC_I82860=m
+CONFIG_EDAC_R82600=m
+CONFIG_EDAC_I5000=m
+CONFIG_EDAC_I5100=m
+CONFIG_EDAC_I7300=m
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_DS3232=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_ISL12022=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8523=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+CONFIG_RTC_DRV_EM3027=m
+CONFIG_RTC_DRV_RV3029C2=m
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+# CONFIG_RTC_DRV_RX4581 is not set
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_DS2404=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MC13XXX=m
+CONFIG_RTC_DRV_SNVS=m
+
+#
+# HID Sensor RTC drivers
+#
+# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_INTEL_MID_DMAC=m
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DW_DMAC=m
+# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
+CONFIG_TIMB_DMA=m
+CONFIG_PCH_DMA=m
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_ACPI=y
+CONFIG_DMA_OF=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+CONFIG_ASYNC_TX_DMA=y
+# CONFIG_DMATEST is not set
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+CONFIG_KS0108=m
+CONFIG_KS0108_PORT=0x378
+CONFIG_KS0108_DELAY=2
+CONFIG_CFAG12864B=m
+CONFIG_CFAG12864B_RATE=20
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+# CONFIG_UIO_DMEM_GENIRQ is not set
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO=m
+CONFIG_VFIO_PCI=m
+CONFIG_VFIO_PCI_VGA=y
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO=y
+
+#
+# Virtio drivers
+#
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_MMIO=m
+CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
+
+#
+# Microsoft Hyper-V guest support
+#
+CONFIG_HYPERV=m
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_BALLOON=m
+CONFIG_STAGING=y
+CONFIG_ET131X=m
+CONFIG_SLICOSS=m
+CONFIG_USBIP_CORE=m
+CONFIG_USBIP_VHCI_HCD=m
+CONFIG_USBIP_HOST=m
+# CONFIG_USBIP_DEBUG is not set
+CONFIG_W35UND=m
+CONFIG_PRISM2_USB=m
+CONFIG_ECHO=m
+CONFIG_COMEDI=m
+# CONFIG_COMEDI_DEBUG is not set
+CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
+CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
+CONFIG_COMEDI_MISC_DRIVERS=y
+CONFIG_COMEDI_KCOMEDILIB=m
+CONFIG_COMEDI_BOND=m
+CONFIG_COMEDI_TEST=m
+CONFIG_COMEDI_PARPORT=m
+CONFIG_COMEDI_SERIAL2002=m
+CONFIG_COMEDI_SKEL=m
+CONFIG_COMEDI_ISA_DRIVERS=y
+CONFIG_COMEDI_ACL7225B=m
+CONFIG_COMEDI_PCL711=m
+CONFIG_COMEDI_PCL724=m
+CONFIG_COMEDI_PCL725=m
+CONFIG_COMEDI_PCL726=m
+CONFIG_COMEDI_PCL730=m
+CONFIG_COMEDI_PCL812=m
+CONFIG_COMEDI_PCL816=m
+CONFIG_COMEDI_PCL818=m
+CONFIG_COMEDI_PCM3724=m
+CONFIG_COMEDI_PCM3730=m
+CONFIG_COMEDI_AMPLC_DIO200_ISA=m
+CONFIG_COMEDI_AMPLC_PC236_ISA=m
+CONFIG_COMEDI_AMPLC_PC263_ISA=m
+CONFIG_COMEDI_RTI800=m
+CONFIG_COMEDI_RTI802=m
+CONFIG_COMEDI_DAS16M1=m
+CONFIG_COMEDI_DAS08_ISA=m
+CONFIG_COMEDI_DAS16=m
+CONFIG_COMEDI_DAS800=m
+CONFIG_COMEDI_DAS1800=m
+CONFIG_COMEDI_DAS6402=m
+CONFIG_COMEDI_DT2801=m
+CONFIG_COMEDI_DT2811=m
+CONFIG_COMEDI_DT2814=m
+CONFIG_COMEDI_DT2815=m
+CONFIG_COMEDI_DT2817=m
+CONFIG_COMEDI_DT282X=m
+CONFIG_COMEDI_DMM32AT=m
+CONFIG_COMEDI_FL512=m
+CONFIG_COMEDI_AIO_AIO12_8=m
+CONFIG_COMEDI_AIO_IIRO_16=m
+CONFIG_COMEDI_C6XDIGIO=m
+CONFIG_COMEDI_MPC624=m
+CONFIG_COMEDI_ADQ12B=m
+CONFIG_COMEDI_NI_AT_A2150=m
+CONFIG_COMEDI_NI_AT_AO=m
+CONFIG_COMEDI_NI_ATMIO=m
+CONFIG_COMEDI_NI_ATMIO16D=m
+CONFIG_COMEDI_NI_LABPC_ISA=m
+CONFIG_COMEDI_PCMAD=m
+CONFIG_COMEDI_PCMDA12=m
+CONFIG_COMEDI_PCMMIO=m
+CONFIG_COMEDI_PCMUIO=m
+CONFIG_COMEDI_MULTIQ3=m
+CONFIG_COMEDI_POC=m
+CONFIG_COMEDI_PCI_DRIVERS=y
+CONFIG_COMEDI_8255_PCI=m
+CONFIG_COMEDI_ADDI_WATCHDOG=m
+CONFIG_COMEDI_ADDI_APCI_035=m
+CONFIG_COMEDI_ADDI_APCI_1032=m
+CONFIG_COMEDI_ADDI_APCI_1500=m
+CONFIG_COMEDI_ADDI_APCI_1516=m
+CONFIG_COMEDI_ADDI_APCI_1564=m
+CONFIG_COMEDI_ADDI_APCI_16XX=m
+CONFIG_COMEDI_ADDI_APCI_2032=m
+CONFIG_COMEDI_ADDI_APCI_2200=m
+CONFIG_COMEDI_ADDI_APCI_3120=m
+CONFIG_COMEDI_ADDI_APCI_3501=m
+CONFIG_COMEDI_ADDI_APCI_3XXX=m
+CONFIG_COMEDI_ADL_PCI6208=m
+CONFIG_COMEDI_ADL_PCI7X3X=m
+CONFIG_COMEDI_ADL_PCI8164=m
+CONFIG_COMEDI_ADL_PCI9111=m
+CONFIG_COMEDI_ADL_PCI9118=m
+CONFIG_COMEDI_ADV_PCI1710=m
+CONFIG_COMEDI_ADV_PCI1723=m
+CONFIG_COMEDI_ADV_PCI1724=m
+CONFIG_COMEDI_ADV_PCI_DIO=m
+CONFIG_COMEDI_AMPLC_DIO200_PCI=m
+CONFIG_COMEDI_AMPLC_PC236_PCI=m
+CONFIG_COMEDI_AMPLC_PC263_PCI=m
+CONFIG_COMEDI_AMPLC_PCI224=m
+CONFIG_COMEDI_AMPLC_PCI230=m
+CONFIG_COMEDI_CONTEC_PCI_DIO=m
+CONFIG_COMEDI_DAS08_PCI=m
+CONFIG_COMEDI_DT3000=m
+CONFIG_COMEDI_DYNA_PCI10XX=m
+CONFIG_COMEDI_UNIOXX5=m
+CONFIG_COMEDI_GSC_HPDI=m
+CONFIG_COMEDI_ICP_MULTI=m
+CONFIG_COMEDI_II_PCI20KC=m
+CONFIG_COMEDI_DAQBOARD2000=m
+CONFIG_COMEDI_JR3_PCI=m
+CONFIG_COMEDI_KE_COUNTER=m
+CONFIG_COMEDI_CB_PCIDAS64=m
+CONFIG_COMEDI_CB_PCIDAS=m
+CONFIG_COMEDI_CB_PCIDDA=m
+# CONFIG_COMEDI_CB_PCIMDAS is not set
+CONFIG_COMEDI_CB_PCIMDDA=m
+CONFIG_COMEDI_ME4000=m
+CONFIG_COMEDI_ME_DAQ=m
+CONFIG_COMEDI_NI_6527=m
+CONFIG_COMEDI_NI_65XX=m
+CONFIG_COMEDI_NI_660X=m
+CONFIG_COMEDI_NI_670X=m
+CONFIG_COMEDI_NI_LABPC_PCI=m
+CONFIG_COMEDI_NI_PCIDIO=m
+CONFIG_COMEDI_NI_PCIMIO=m
+CONFIG_COMEDI_RTD520=m
+CONFIG_COMEDI_S526=m
+CONFIG_COMEDI_S626=m
+CONFIG_COMEDI_SSV_DNP=m
+CONFIG_COMEDI_MITE=m
+CONFIG_COMEDI_NI_TIOCMD=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=y
+CONFIG_COMEDI_CB_DAS16_CS=m
+CONFIG_COMEDI_DAS08_CS=m
+CONFIG_COMEDI_NI_DAQ_700_CS=m
+CONFIG_COMEDI_NI_DAQ_DIO24_CS=m
+CONFIG_COMEDI_NI_LABPC_CS=m
+CONFIG_COMEDI_NI_MIO_CS=m
+CONFIG_COMEDI_QUATECH_DAQP_CS=m
+CONFIG_COMEDI_USB_DRIVERS=y
+CONFIG_COMEDI_DT9812=m
+CONFIG_COMEDI_USBDUX=m
+CONFIG_COMEDI_USBDUXFAST=m
+CONFIG_COMEDI_USBDUXSIGMA=m
+CONFIG_COMEDI_VMK80XX=m
+CONFIG_COMEDI_8255=m
+CONFIG_COMEDI_FC=m
+CONFIG_COMEDI_AMPLC_DIO200=m
+CONFIG_COMEDI_AMPLC_PC236=m
+CONFIG_COMEDI_DAS08=m
+CONFIG_COMEDI_NI_LABPC=m
+CONFIG_COMEDI_NI_TIO=m
+# CONFIG_FB_OLPC_DCON is not set
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192U=m
+CONFIG_RTLLIB=m
+CONFIG_RTLLIB_CRYPTO_CCMP=m
+CONFIG_RTLLIB_CRYPTO_TKIP=m
+CONFIG_RTLLIB_CRYPTO_WEP=m
+CONFIG_RTL8192E=m
+CONFIG_R8712U=m
+CONFIG_RTS5139=m
+# CONFIG_RTS5139_DEBUG is not set
+# CONFIG_TRANZPORT is not set
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_DX_SEP=m
+CONFIG_ZSMALLOC=y
+CONFIG_ZRAM=m
+# CONFIG_ZRAM_DEBUG is not set
+CONFIG_WLAGS49_H2=m
+CONFIG_WLAGS49_H25=m
+CONFIG_FB_SM7XX=m
+CONFIG_CRYSTALHD=m
+CONFIG_FB_XGI=m
+CONFIG_ACPI_QUICKSTART=m
+CONFIG_USB_ENESTORAGE=m
+CONFIG_BCM_WIMAX=m
+CONFIG_FT1000=m
+CONFIG_FT1000_USB=m
+CONFIG_FT1000_PCMCIA=m
+
+#
+# Speakup console speech
+#
+CONFIG_SPEAKUP=m
+CONFIG_SPEAKUP_SYNTH_ACNTSA=m
+CONFIG_SPEAKUP_SYNTH_ACNTPC=m
+CONFIG_SPEAKUP_SYNTH_APOLLO=m
+CONFIG_SPEAKUP_SYNTH_AUDPTR=m
+CONFIG_SPEAKUP_SYNTH_BNS=m
+CONFIG_SPEAKUP_SYNTH_DECTLK=m
+CONFIG_SPEAKUP_SYNTH_DECEXT=m
+CONFIG_SPEAKUP_SYNTH_DECPC=m
+CONFIG_SPEAKUP_SYNTH_DTLK=m
+CONFIG_SPEAKUP_SYNTH_KEYPC=m
+CONFIG_SPEAKUP_SYNTH_LTLK=m
+CONFIG_SPEAKUP_SYNTH_SOFT=m
+CONFIG_SPEAKUP_SYNTH_SPKOUT=m
+CONFIG_SPEAKUP_SYNTH_TXPRT=m
+CONFIG_SPEAKUP_SYNTH_DUMMY=m
+CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
+CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
+CONFIG_STAGING_MEDIA=y
+CONFIG_DVB_AS102=m
+CONFIG_DVB_CXD2099=m
+CONFIG_VIDEO_DT3155=m
+CONFIG_DT3155_CCIR=y
+CONFIG_DT3155_STREAMING=y
+CONFIG_VIDEO_GO7007=m
+CONFIG_VIDEO_GO7007_USB=m
+CONFIG_VIDEO_GO7007_LOADER=m
+# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
+CONFIG_SOLO6X10=m
+CONFIG_LIRC_STAGING=y
+CONFIG_LIRC_BT829=m
+CONFIG_LIRC_IGORPLUGUSB=m
+CONFIG_LIRC_IMON=m
+CONFIG_LIRC_PARALLEL=m
+CONFIG_LIRC_SASEM=m
+CONFIG_LIRC_SERIAL=m
+CONFIG_LIRC_SERIAL_TRANSMITTER=y
+CONFIG_LIRC_SIR=m
+CONFIG_LIRC_ZILOG=m
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+CONFIG_USB_WPAN_HCD=m
+CONFIG_WIMAX_GDM72XX=m
+CONFIG_WIMAX_GDM72XX_QOS=y
+CONFIG_WIMAX_GDM72XX_K_MODE=y
+CONFIG_WIMAX_GDM72XX_WIMAX2=y
+CONFIG_WIMAX_GDM72XX_USB=y
+# CONFIG_WIMAX_GDM72XX_SDIO is not set
+CONFIG_WIMAX_GDM72XX_USB_PM=y
+CONFIG_CSR_WIFI=m
+CONFIG_NET_VENDOR_SILICOM=y
+CONFIG_SBYPASS=m
+CONFIG_BPCTL=m
+CONFIG_CED1401=m
+CONFIG_DGRP=m
+CONFIG_FIREWIRE_SERIAL=m
+CONFIG_ZCACHE=m
+# CONFIG_ZCACHE_DEBUG is not set
+# CONFIG_USB_DWC2 is not set
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_CHROMEOS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_DELL_WMI_AIO=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_FUJITSU_TABLET=m
+CONFIG_AMILO_RFKILL=m
+CONFIG_TC1100_WMI=m
+CONFIG_HP_ACCEL=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_IDEAPAD_LAPTOP=m
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_SENSORS_HDAPS=m
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_ASUS_WMI=m
+CONFIG_ASUS_NB_WMI=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+CONFIG_INTEL_IPS=m
+CONFIG_IBM_RTL=m
+CONFIG_XO1_RFKILL=m
+CONFIG_XO15_EBOOK=m
+CONFIG_SAMSUNG_LAPTOP=m
+CONFIG_MXM_WMI=m
+CONFIG_INTEL_OAKTRAIL=m
+CONFIG_SAMSUNG_Q10=m
+CONFIG_APPLE_GMUX=m
+CONFIG_PVPANIC=m
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_CLKSRC_I8253=y
+CONFIG_CLKEVT_I8253=y
+CONFIG_I8253_LOCK=y
+CONFIG_CLKBLD_I8253=y
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+CONFIG_OF_IOMMU=y
+CONFIG_DMAR_TABLE=y
+CONFIG_INTEL_IOMMU=y
+# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
+CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+
+#
+# Remoteproc drivers
+#
+CONFIG_REMOTEPROC=m
+CONFIG_STE_MODEM_RPROC=m
+
+#
+# Rpmsg drivers
+#
+# CONFIG_PM_DEVFREQ is not set
+CONFIG_EXTCON=m
+
+#
+# Extcon Device Drivers
+#
+CONFIG_EXTCON_GPIO=m
+CONFIG_MEMORY=y
+# CONFIG_IIO is not set
+# CONFIG_VME_BUS is not set
+CONFIG_PWM=y
+CONFIG_IRQCHIP=y
+CONFIG_IPACK_BUS=m
+CONFIG_BOARD_TPCI200=m
+CONFIG_SERIAL_IPOCTAL=m
+# CONFIG_RESET_CONTROLLER is not set
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=m
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+# CONFIG_EFI_VARS is not set
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_USE_FOR_EXT23=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+CONFIG_JFS_STATISTICS=y
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCFS2_FS_STATS=y
+# CONFIG_OCFS2_DEBUG_MASKLOG is not set
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+CONFIG_NILFS2_FS=m
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+# CONFIG_ECRYPT_FS_MESSAGING is not set
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=m
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+CONFIG_MINIX_FS=m
+CONFIG_OMFS_FS=m
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_PSTORE=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_FTRACE is not set
+CONFIG_PSTORE_RAM=m
+# CONFIG_SYSV_FS is not set
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_F2FS_FS=m
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_EFIVAR_FS=y
+CONFIG_ORE=m
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V2=m
+CONFIG_NFS_V3=m
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=m
+CONFIG_NFS_SWAP=y
+CONFIG_NFS_V4_1=y
+CONFIG_PNFS_FILE_LAYOUT=m
+CONFIG_PNFS_BLOCK=m
+CONFIG_PNFS_OBJLAYOUT=m
+CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="linux-libre.fsfla.org"
+CONFIG_NFS_FSCACHE=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFS_DEBUG=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+# CONFIG_NFSD_FAULT_INJECTION is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_SUNRPC_BACKCHANNEL=y
+CONFIG_SUNRPC_SWAP=y
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_SUNRPC_DEBUG=y
+CONFIG_CEPH_FS=m
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+CONFIG_CIFS_UPCALL=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_CIFS_ACL=y
+# CONFIG_CIFS_DEBUG is not set
+CONFIG_CIFS_DFS_UPCALL=y
+CONFIG_CIFS_SMB2=y
+CONFIG_CIFS_FSCACHE=y
+CONFIG_NCP_FS=m
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+# CONFIG_NCPFS_EXTRAS is not set
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_MAC_ROMAN=m
+CONFIG_NLS_MAC_CELTIC=m
+CONFIG_NLS_MAC_CENTEURO=m
+CONFIG_NLS_MAC_CROATIAN=m
+CONFIG_NLS_MAC_CYRILLIC=m
+CONFIG_NLS_MAC_GAELIC=m
+CONFIG_NLS_MAC_GREEK=m
+CONFIG_NLS_MAC_ICELAND=m
+CONFIG_NLS_MAC_INUIT=m
+CONFIG_NLS_MAC_ROMANIAN=m
+CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+CONFIG_ENABLE_WARN_DEPRECATED=y
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+# CONFIG_READABLE_ASM is not set
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_LOCKUP_DETECTOR=y
+CONFIG_HARDLOCKUP_DETECTOR=y
+# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
+# CONFIG_RCU_CPU_STALL_INFO is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+CONFIG_LKDTM=m
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+CONFIG_SCHED_TRACER=y
+CONFIG_FTRACE_SYSCALLS=y
+CONFIG_TRACER_SNAPSHOT=y
+# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+CONFIG_STACK_TRACER=y
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_KPROBE_EVENT=y
+CONFIG_UPROBE_EVENT=y
+CONFIG_PROBE_EVENTS=y
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_FUNCTION_PROFILER=y
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE_TEST is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+# CONFIG_RBTREE_TEST is not set
+# CONFIG_INTERVAL_TREE_TEST is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+CONFIG_DYNAMIC_DEBUG=y
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+CONFIG_ASYNC_RAID6_TEST=m
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_TEST_STRING_HELPERS is not set
+CONFIG_TEST_KSTRTOX=m
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_X86_PTDUMP is not set
+CONFIG_DEBUG_RODATA=y
+# CONFIG_DEBUG_RODATA_TEST is not set
+# CONFIG_DEBUG_SET_MODULE_RONX is not set
+# CONFIG_DEBUG_NX_TEST is not set
+CONFIG_DOUBLEFAULT=y
+# CONFIG_DEBUG_TLBFLUSH is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+# CONFIG_X86_DECODER_SELFTEST is not set
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_NMI_SELFTEST is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_TRUSTED_KEYS=m
+CONFIG_ENCRYPTED_KEYS=m
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+CONFIG_SECURITY_PATH=y
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+CONFIG_SECURITY_TOMOYO=y
+CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
+CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
+# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set
+CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/usr/bin/tomoyo-init"
+CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/usr/lib/systemd/systemd"
+CONFIG_SECURITY_APPARMOR=y
+CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0
+CONFIG_SECURITY_YAMA=y
+CONFIG_SECURITY_YAMA_STACKED=y
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
+# CONFIG_DEFAULT_SECURITY_YAMA is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=m
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_ABLK_HELPER_X86=m
+CONFIG_CRYPTO_GLUE_HELPER_X86=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_SEQIV=m
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_CRC32=m
+CONFIG_CRYPTO_CRC32_PCLMUL=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_AES_586=m
+CONFIG_CRYPTO_AES_NI_INTEL=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_BLOWFISH_COMMON=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST_COMMON=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_SERPENT_SSE2_586=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_TWOFISH_586=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=y
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_USER_API=m
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_GEODE=m
+CONFIG_CRYPTO_DEV_HIFN_795X=m
+CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+CONFIG_ASYMMETRIC_KEY_TYPE=m
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
+CONFIG_PUBLIC_KEY_ALGO_RSA=m
+CONFIG_X509_CERTIFICATE_PARSER=m
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_KVM_ASYNC_PF=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_KVM_MMU_AUDIT=y
+CONFIG_KVM_DEVICE_ASSIGNMENT=y
+CONFIG_LGUEST=m
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=m
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_IO=y
+CONFIG_PERCPU_RWSEM=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_CRC8=m
+CONFIG_AUDIT_GENERIC=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_REED_SOLOMON=m
+CONFIG_REED_SOLOMON_ENC8=y
+CONFIG_REED_SOLOMON_DEC8=y
+CONFIG_BCH=m
+CONFIG_BCH_CONST_PARAMS=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_LRU_CACHE=m
+CONFIG_AVERAGE=y
+CONFIG_CLZ_TAB=y
+CONFIG_CORDIC=m
+CONFIG_DDR=y
+CONFIG_MPILIB=m
+CONFIG_OID_REGISTRY=m
+CONFIG_UCS2_STRING=y
diff --git a/libre/linux-libre-lts/config.x86_64 b/libre/linux-libre-lts/config.x86_64
new file mode 100644
index 000000000..b798887e7
--- /dev/null
+++ b/libre/linux-libre-lts/config.x86_64
@@ -0,0 +1,6109 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/x86 3.10.15-1 Kernel Configuration
+#
+CONFIG_64BIT=y
+CONFIG_X86_64=y
+CONFIG_X86=y
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_OUTPUT_FORMAT="elf64-x86-64"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ZONE_DMA32=y
+CONFIG_AUDIT_ARCH=y
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_X86_64_SMP=y
+CONFIG_X86_HT=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
+CONFIG_ARCH_CPU_PROBE_RELEASE=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+CONFIG_LOCALVERSION="-LIBRE-LTS"
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+CONFIG_DEFAULT_HOSTNAME="(none)"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_FHANDLE=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_WATCH=y
+CONFIG_AUDIT_TREE=y
+CONFIG_AUDIT_LOGINUID_IMMUTABLE=y
+CONFIG_HAVE_GENERIC_HARDIRQS=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_IRQ_DOMAIN=y
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_ARCH_CLOCKSOURCE_DATA=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+# CONFIG_PREEMPT_RCU is not set
+CONFIG_RCU_STALL_COMMON=y
+# CONFIG_RCU_USER_QS is not set
+CONFIG_RCU_FANOUT=64
+CONFIG_RCU_FANOUT_LEAF=16
+# CONFIG_RCU_FANOUT_EXACT is not set
+# CONFIG_RCU_FAST_NO_HZ is not set
+# CONFIG_TREE_RCU_TRACE is not set
+CONFIG_RCU_NOCB_CPU=y
+CONFIG_RCU_NOCB_CPU_NONE=y
+# CONFIG_RCU_NOCB_CPU_ZERO is not set
+# CONFIG_RCU_NOCB_CPU_ALL is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=19
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
+CONFIG_ARCH_USES_NUMA_PROT_NONE=y
+CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
+CONFIG_NUMA_BALANCING=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_MEMCG=y
+CONFIG_MEMCG_SWAP=y
+# CONFIG_MEMCG_SWAP_ENABLED is not set
+CONFIG_MEMCG_KMEM=y
+# CONFIG_CGROUP_HUGETLB is not set
+# CONFIG_CGROUP_PERF is not set
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_SCHED_AUTOGROUP=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_HAVE_UID16=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_HOTPLUG=y
+CONFIG_HAVE_PCSPKR_PLATFORM=y
+# CONFIG_EXPERT is not set
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_OPROFILE_NMI_TIMER=y
+CONFIG_KPROBES=y
+CONFIG_JUMP_LABEL=y
+CONFIG_OPTPROBES=y
+CONFIG_KPROBES_ON_FTRACE=y
+CONFIG_UPROBES=y
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_KRETPROBES=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
+CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_HAVE_CONTEXT_TRACKING=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_COMPAT_OLD_SIGACTION=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSGLIB=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_THROTTLING=y
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+# CONFIG_UNIXWARE_DISKLABEL is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_BLOCK_COMPAT=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_CFQ_GROUP_IOSCHED=y
+CONFIG_DEFAULT_DEADLINE=y
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="deadline"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_ASN1=m
+CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
+CONFIG_INLINE_READ_UNLOCK=y
+CONFIG_INLINE_READ_UNLOCK_IRQ=y
+CONFIG_INLINE_WRITE_UNLOCK=y
+CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_ZONE_DMA=y
+CONFIG_SMP=y
+CONFIG_X86_X2APIC=y
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+# CONFIG_X86_INTEL_LPSS is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_HYPERVISOR_GUEST=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_DEBUG is not set
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_XEN=y
+CONFIG_XEN_DOM0=y
+CONFIG_XEN_PRIVILEGED_GUEST=y
+CONFIG_XEN_PVHVM=y
+CONFIG_XEN_MAX_DOMAIN_MEMORY=500
+CONFIG_XEN_SAVE_RESTORE=y
+# CONFIG_XEN_DEBUG_FS is not set
+CONFIG_KVM_GUEST=y
+CONFIG_PARAVIRT_TIME_ACCOUNTING=y
+CONFIG_PARAVIRT_CLOCK=y
+CONFIG_NO_BOOTMEM=y
+# CONFIG_MEMTEST is not set
+# CONFIG_MK8 is not set
+# CONFIG_MPSC is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+CONFIG_GENERIC_CPU=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=64
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_GART_IOMMU=y
+CONFIG_CALGARY_IOMMU=y
+CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
+CONFIG_SWIOTLB=y
+CONFIG_IOMMU_HELPER=y
+# CONFIG_MAXSMP is not set
+CONFIG_NR_CPUS=128
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_I8K=m
+CONFIG_MICROCODE=m
+# CONFIG_MICROCODE_INTEL is not set
+# CONFIG_MICROCODE_AMD is not set
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_DIRECT_GBPAGES=y
+CONFIG_NUMA=y
+CONFIG_AMD_NUMA=y
+CONFIG_X86_64_ACPI_NUMA=y
+CONFIG_NODES_SPAN_OTHER_NODES=y
+# CONFIG_NUMA_EMU is not set
+CONFIG_NODES_SHIFT=6
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_MEMORY_PROBE=y
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_NEED_MULTIPLE_NODES=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+CONFIG_MEMORY_ISOLATION=y
+# CONFIG_MOVABLE_NODE is not set
+CONFIG_HAVE_BOOTMEM_INFO_NODE=y
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTPLUG_SPARSE=y
+CONFIG_MEMORY_HOTREMOVE=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+CONFIG_CLEANCACHE=y
+CONFIG_FRONTSWAP=y
+CONFIG_X86_CHECK_BIOS_CORRUPTION=y
+CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
+CONFIG_X86_RESERVE_LOW=64
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_ARCH_RANDOM=y
+CONFIG_X86_SMAP=y
+CONFIG_EFI=y
+CONFIG_EFI_STUB=y
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+CONFIG_HZ_100=y
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=100
+CONFIG_SCHED_HRTICK=y
+CONFIG_KEXEC=y
+# CONFIG_CRASH_DUMP is not set
+CONFIG_KEXEC_JUMP=y
+CONFIG_PHYSICAL_START=0x1000000
+CONFIG_RELOCATABLE=y
+CONFIG_PHYSICAL_ALIGN=0x1000000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
+# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_USE_PERCPU_NUMA_NODE_ID=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_ARCH_HIBERNATION_HEADER=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_AUTOSLEEP=y
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=100
+CONFIG_PM_WAKELOCKS_GC=y
+CONFIG_PM_RUNTIME=y
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_TEST_SUSPEND is not set
+CONFIG_PM_SLEEP_DEBUG=y
+CONFIG_PM_TRACE=y
+CONFIG_PM_TRACE_RTC=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+# CONFIG_ACPI_PROCFS is not set
+# CONFIG_ACPI_PROCFS_POWER is not set
+CONFIG_ACPI_EC_DEBUGFS=m
+# CONFIG_ACPI_PROC_EVENT is not set
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_I2C=m
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_IPMI=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+CONFIG_ACPI_NUMA=y
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=y
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_HOTPLUG_MEMORY=y
+CONFIG_ACPI_SBS=m
+CONFIG_ACPI_HED=y
+CONFIG_ACPI_CUSTOM_METHOD=m
+CONFIG_ACPI_BGRT=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_MEMORY_FAILURE=y
+CONFIG_ACPI_APEI_EINJ=m
+CONFIG_ACPI_APEI_ERST_DEBUG=m
+CONFIG_SFI=y
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# x86 CPU frequency scaling drivers
+#
+CONFIG_X86_INTEL_PSTATE=y
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ_CPB=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_AMD_FREQ_SENSITIVITY=m
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+CONFIG_X86_P4_CLOCKMOD=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_CPU_IDLE=y
+# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+CONFIG_INTEL_IDLE=y
+
+#
+# Memory power savings
+#
+CONFIG_I7300_IDLE_IOAT_CHANNEL=y
+CONFIG_I7300_IDLE=m
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_XEN=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=m
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_REALLOC_ENABLE_AUTO=y
+CONFIG_PCI_STUB=m
+CONFIG_XEN_PCIDEV_FRONTEND=m
+CONFIG_HT_IRQ=y
+CONFIG_PCI_ATS=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_PRI=y
+CONFIG_PCI_PASID=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_PCI_LABEL=y
+CONFIG_ISA_DMA_API=y
+CONFIG_AMD_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_PCCARD_NONSTATIC=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_HOTPLUG_PCI_CPCI=y
+CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
+CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
+CONFIG_HOTPLUG_PCI_SHPC=m
+CONFIG_RAPIDIO=y
+CONFIG_RAPIDIO_TSI721=y
+CONFIG_RAPIDIO_DISC_TIMEOUT=30
+# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set
+CONFIG_RAPIDIO_DMA_ENGINE=y
+CONFIG_RAPIDIO_DEBUG=y
+CONFIG_RAPIDIO_ENUM_BASIC=m
+CONFIG_RAPIDIO_TSI57X=y
+CONFIG_RAPIDIO_CPS_XX=y
+CONFIG_RAPIDIO_TSI568=y
+CONFIG_RAPIDIO_CPS_GEN2=y
+CONFIG_RAPIDIO_TSI500=y
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+# CONFIG_HAVE_AOUT is not set
+CONFIG_BINFMT_MISC=y
+CONFIG_COREDUMP=y
+CONFIG_IA32_EMULATION=y
+CONFIG_IA32_AOUT=m
+CONFIG_X86_X32=y
+CONFIG_COMPAT=y
+CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_KEYS_COMPAT=y
+CONFIG_HAVE_TEXT_POKE_SMP=y
+CONFIG_X86_DEV_DMA_OPS=y
+CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=m
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=m
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_FIB_TRIE_STATS=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+# CONFIG_NET_IPGRE_BROADCAST is not set
+CONFIG_IP_MROUTE=y
+# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_ARPD=y
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=y
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+# CONFIG_IPV6_MROUTE is not set
+CONFIG_NETLABEL=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETWORK_PHY_TIMESTAMPING=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_PROCFS=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMEOUT=y
+CONFIG_NF_CONNTRACK_TIMESTAMP=y
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+CONFIG_NF_CT_NETLINK_HELPER=m
+CONFIG_NETFILTER_NETLINK_QUEUE_CT=y
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NETFILTER_TPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_AUDIT=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT_IPV4=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_NF_NAT_IPV6=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_NET_DCCPPROBE=m
+CONFIG_IP_SCTP=m
+CONFIG_NET_SCTPPROBE=m
+# CONFIG_SCTP_DBG_MSG is not set
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_L2TP=m
+# CONFIG_L2TP_DEBUGFS is not set
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_MRP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_HAVE_NET_DSA=y
+CONFIG_NET_DSA=m
+CONFIG_NET_DSA_TAG_DSA=y
+CONFIG_NET_DSA_TAG_EDSA=y
+CONFIG_NET_DSA_TAG_TRAILER=y
+CONFIG_VLAN_8021Q=m
+# CONFIG_VLAN_8021Q_GVRP is not set
+CONFIG_VLAN_8021Q_MVRP=y
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+CONFIG_PHONET=m
+CONFIG_IEEE802154=m
+CONFIG_IEEE802154_6LOWPAN=m
+CONFIG_MAC802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+# CONFIG_CLS_U32_MARK is not set
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+# CONFIG_NET_EMATCH is not set
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+CONFIG_BATMAN_ADV=m
+CONFIG_BATMAN_ADV_BLA=y
+CONFIG_BATMAN_ADV_DAT=y
+CONFIG_BATMAN_ADV_NC=y
+# CONFIG_BATMAN_ADV_DEBUG is not set
+CONFIG_OPENVSWITCH=m
+CONFIG_VSOCKETS=m
+CONFIG_VMWARE_VMCI_VSOCKETS=m
+CONFIG_NETLINK_MMAP=y
+CONFIG_NETLINK_DIAG=m
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+CONFIG_NETPRIO_CGROUP=m
+CONFIG_BQL=y
+CONFIG_BPF_JIT=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+CONFIG_NET_TCPPROBE=m
+CONFIG_NET_DROP_MONITOR=y
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+CONFIG_AX25_DAMA_SLAVE=y
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_YAM=m
+# CONFIG_CAN is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_IRDA_ULTRA=y
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+# CONFIG_BT_BNEP_MC_FILTER is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+# CONFIG_BT_CMTP is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_BT_WILINK=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+CONFIG_CAIF=m
+# CONFIG_CAIF_DEBUG is not set
+CONFIG_CAIF_NETDEV=m
+CONFIG_CAIF_USB=m
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+CONFIG_NFC=m
+CONFIG_NFC_NCI=m
+CONFIG_NFC_HCI=m
+# CONFIG_NFC_SHDLC is not set
+
+#
+# Near Field Communication (NFC) devices
+#
+CONFIG_NFC_PN533=m
+CONFIG_NFC_WILINK=m
+CONFIG_NFC_MEI_PHY=m
+CONFIG_NFC_PN544=m
+CONFIG_NFC_PN544_MEI=m
+CONFIG_NFC_MICROREAD=m
+CONFIG_NFC_MICROREAD_MEI=m
+CONFIG_HAVE_BPF_JIT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+CONFIG_SYS_HYPERVISOR=y
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_MMIO=m
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+
+#
+# Bus devices
+#
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+CONFIG_MTD=m
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_REDBOOT_PARTS=m
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=m
+CONFIG_MTD_AR7_PARTS=m
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+# CONFIG_SM_FTL is not set
+CONFIG_MTD_OOPS=m
+CONFIG_MTD_SWAP=m
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_GEN_PROBE=m
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_CFI_UTIL=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_SC520CDP=m
+CONFIG_MTD_NETSC520=m
+CONFIG_MTD_TS5500=m
+# CONFIG_MTD_SBC_GXX is not set
+# CONFIG_MTD_AMD76XROM is not set
+# CONFIG_MTD_ICHXROM is not set
+# CONFIG_MTD_ESB2ROM is not set
+# CONFIG_MTD_CK804XROM is not set
+CONFIG_MTD_SCB2_FLASH=m
+# CONFIG_MTD_NETtel is not set
+# CONFIG_MTD_L440GX is not set
+CONFIG_MTD_PCI=m
+# CONFIG_MTD_PCMCIA is not set
+# CONFIG_MTD_GPIO_ADDR is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+CONFIG_MTD_PLATRAM=m
+# CONFIG_MTD_LATCH_ADDR is not set
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_PMC551=m
+# CONFIG_MTD_PMC551_BUGFIX is not set
+# CONFIG_MTD_PMC551_DEBUG is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_SLRAM is not set
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+
+#
+# Disk-On-Chip Device Drivers
+#
+CONFIG_MTD_DOCG3=m
+CONFIG_BCH_CONST_M=14
+CONFIG_BCH_CONST_T=4
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+CONFIG_MTD_LPDDR=m
+CONFIG_MTD_QINFO_PROBE=m
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+# CONFIG_MTD_UBI_GLUEBI is not set
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
+
+#
+# Protocols
+#
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=m
+# CONFIG_PARIDE is not set
+CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+# CONFIG_CISS_SCSI_TAPE is not set
+CONFIG_BLK_DEV_DAC960=m
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NVME=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=m
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_XEN_BLKDEV_FRONTEND=m
+CONFIG_XEN_BLKDEV_BACKEND=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_BLK_DEV_RBD=m
+CONFIG_BLK_DEV_RSXX=m
+
+#
+# Misc devices
+#
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_AD525X_DPOT=m
+CONFIG_AD525X_DPOT_I2C=m
+# CONFIG_AD525X_DPOT_SPI is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_IBM_ASM is not set
+CONFIG_PHANTOM=m
+CONFIG_INTEL_MID_PTI=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+# CONFIG_ATMEL_SSC is not set
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_APDS9802ALS=m
+CONFIG_ISL29003=m
+CONFIG_ISL29020=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_SENSORS_BH1780=m
+CONFIG_SENSORS_BH1770=m
+CONFIG_SENSORS_APDS990X=m
+CONFIG_HMC6352=m
+CONFIG_DS1682=m
+# CONFIG_TI_DAC7512 is not set
+CONFIG_VMWARE_BALLOON=m
+CONFIG_BMP085=y
+CONFIG_BMP085_I2C=m
+# CONFIG_BMP085_SPI is not set
+CONFIG_PCH_PHUB=m
+CONFIG_USB_SWITCH_FSA9480=m
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+# CONFIG_SRAM is not set
+CONFIG_C2PORT=m
+CONFIG_C2PORT_DURAMAR_2150=m
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+# CONFIG_EEPROM_93XX46 is not set
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+
+#
+# Texas Instruments shared transport line discipline
+#
+CONFIG_TI_ST=m
+CONFIG_SENSORS_LIS3_I2C=m
+
+#
+# Altera FPGA firmware download module
+#
+CONFIG_ALTERA_STAPL=m
+CONFIG_INTEL_MEI=m
+CONFIG_INTEL_MEI_ME=m
+CONFIG_VMWARE_VMCI=m
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=m
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SCAN_ASYNC=y
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+# CONFIG_SCSI_FC_TGT_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_ISCSI_BOOT_SYSFS=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_CXGB4_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_SCSI_BNX2X_FCOE=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+CONFIG_SCSI_MVSAS_TASKLET=y
+CONFIG_SCSI_MVUMI=m
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
+CONFIG_SCSI_MPT3SAS_LOGGING=y
+CONFIG_SCSI_UFSHCD=m
+CONFIG_SCSI_UFSHCD_PCI=m
+CONFIG_SCSI_UFSHCD_PLATFORM=m
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_BUSLOGIC=m
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_EATA=m
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_ISCI=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLA_FC=m
+CONFIG_TCM_QLA2XXX=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
+CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_VIRTIO=m
+CONFIG_SCSI_CHELSIO_FCOE=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=0
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+CONFIG_SATA_ZPODD=y
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_AHCI_PLATFORM=m
+CONFIG_SATA_INIC162X=m
+CONFIG_SATA_ACARD_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_SX4=m
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_HIGHBANK=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_SVW=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+
+#
+# PATA SFF controllers with BMDMA
+#
+CONFIG_PATA_ALI=m
+CONFIG_PATA_AMD=m
+CONFIG_PATA_ARASAN_CF=m
+CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATIIXP=m
+CONFIG_PATA_ATP867X=m
+CONFIG_PATA_CMD64X=m
+CONFIG_PATA_CS5520=m
+CONFIG_PATA_CS5530=m
+CONFIG_PATA_CS5536=m
+CONFIG_PATA_CYPRESS=m
+CONFIG_PATA_EFAR=m
+CONFIG_PATA_HPT366=m
+CONFIG_PATA_HPT37X=m
+CONFIG_PATA_HPT3X2N=m
+CONFIG_PATA_HPT3X3=m
+# CONFIG_PATA_HPT3X3_DMA is not set
+CONFIG_PATA_IT8213=m
+CONFIG_PATA_IT821X=m
+CONFIG_PATA_JMICRON=m
+CONFIG_PATA_MARVELL=m
+CONFIG_PATA_NETCELL=m
+CONFIG_PATA_NINJA32=m
+CONFIG_PATA_NS87415=m
+CONFIG_PATA_OLDPIIX=m
+CONFIG_PATA_OPTIDMA=m
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_PDC_OLD=m
+CONFIG_PATA_RADISYS=m
+CONFIG_PATA_RDC=m
+CONFIG_PATA_SC1200=m
+CONFIG_PATA_SCH=m
+CONFIG_PATA_SERVERWORKS=m
+CONFIG_PATA_SIL680=m
+CONFIG_PATA_SIS=m
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_TRIFLEX=m
+CONFIG_PATA_VIA=m
+CONFIG_PATA_WINBOND=m
+
+#
+# PIO-only SFF controllers
+#
+CONFIG_PATA_CMD640_PCI=m
+CONFIG_PATA_MPIIX=m
+CONFIG_PATA_NS87410=m
+CONFIG_PATA_OPTI=m
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_RZ1000=m
+
+#
+# Generic fallback / legacy drivers
+#
+CONFIG_PATA_ACPI=m
+CONFIG_ATA_GENERIC=m
+CONFIG_PATA_LEGACY=m
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BCACHE=m
+# CONFIG_BCACHE_DEBUG is not set
+# CONFIG_BCACHE_EDEBUG is not set
+# CONFIG_BCACHE_CLOSURES_DEBUG is not set
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_BUFIO=m
+CONFIG_DM_BIO_PRISON=m
+CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_THIN_PROVISIONING=m
+# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
+CONFIG_DM_CACHE=m
+CONFIG_DM_CACHE_MQ=m
+CONFIG_DM_CACHE_CLEANER=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_RAID=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_UEVENT=y
+CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
+CONFIG_TARGET_CORE=m
+CONFIG_TCM_IBLOCK=m
+CONFIG_TCM_FILEIO=m
+CONFIG_TCM_PSCSI=m
+CONFIG_LOOPBACK_TARGET=m
+CONFIG_TCM_FC=m
+CONFIG_ISCSI_TARGET=m
+CONFIG_SBP_TARGET=m
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+CONFIG_FIREWIRE_NOSY=m
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_EXT_ADAPTEC_DMA64=y
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_EQUALIZER=m
+# CONFIG_NET_FC is not set
+CONFIG_MII=m
+CONFIG_IFB=m
+CONFIG_NET_TEAM=m
+CONFIG_NET_TEAM_MODE_BROADCAST=m
+CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
+CONFIG_NET_TEAM_MODE_RANDOM=m
+CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
+CONFIG_NET_TEAM_MODE_LOADBALANCE=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_VXLAN=m
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_RIONET=m
+CONFIG_RIONET_TX_SIZE=128
+CONFIG_RIONET_RX_SIZE=128
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_SUNGEM_PHY=m
+# CONFIG_ARCNET is not set
+CONFIG_ATM_DRIVERS=y
+# CONFIG_ATM_DUMMY is not set
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+
+#
+# CAIF transport drivers
+#
+CONFIG_CAIF_TTY=m
+CONFIG_CAIF_SPI_SLAVE=m
+CONFIG_CAIF_SPI_SYNC=y
+CONFIG_CAIF_HSI=m
+CONFIG_CAIF_VIRTIO=m
+CONFIG_VHOST_NET=m
+CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_RING=m
+
+#
+# Distributed Switch Architecture drivers
+#
+CONFIG_NET_DSA_MV88E6XXX=m
+CONFIG_NET_DSA_MV88E6060=m
+CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
+CONFIG_NET_DSA_MV88E6131=m
+CONFIG_NET_DSA_MV88E6123_61_65=m
+CONFIG_ETHERNET=y
+CONFIG_MDIO=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_3C589=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_NET_VENDOR_ADAPTEC=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_NET_VENDOR_ALTEON=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_NET_VENDOR_AMD=y
+CONFIG_AMD8111_ETH=m
+CONFIG_PCNET32=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_NET_VENDOR_ATHEROS=y
+CONFIG_ATL2=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_ALX=m
+CONFIG_NET_CADENCE=y
+CONFIG_ARM_AT91_ETHER=m
+CONFIG_MACB=m
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_TIGON3=m
+CONFIG_BNX2X=m
+CONFIG_BNX2X_SRIOV=y
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
+CONFIG_NET_CALXEDA_XGMAC=m
+CONFIG_NET_VENDOR_CHELSIO=y
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4=m
+CONFIG_CHELSIO_T4VF=m
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_ENIC=m
+CONFIG_DNET=m
+CONFIG_NET_VENDOR_DEC=y
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_NET_VENDOR_DLINK=y
+CONFIG_DL2K=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_NET_VENDOR_EMULEX=y
+CONFIG_BE2NET=m
+CONFIG_NET_VENDOR_EXAR=y
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_NET_VENDOR_FUJITSU=y
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_NET_VENDOR_HP=y
+CONFIG_HP100=m
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_E100=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IGB=m
+CONFIG_IGB_HWMON=y
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_IXGB=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_HWMON=y
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_IP1000=m
+CONFIG_JME=m
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_MVMDIO=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKGE_GENESIS=y
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+CONFIG_NET_VENDOR_MICREL=y
+CONFIG_KS8842=m
+# CONFIG_KS8851 is not set
+CONFIG_KS8851_MLL=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_NET_VENDOR_MICROCHIP=y
+# CONFIG_ENC28J60 is not set
+CONFIG_NET_VENDOR_MYRI=y
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_FEALNX=m
+CONFIG_NET_VENDOR_NATSEMI=y
+CONFIG_NATSEMI=m
+CONFIG_NS83820=m
+CONFIG_NET_VENDOR_8390=y
+CONFIG_PCMCIA_AXNET=m
+CONFIG_NE2K_PCI=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_NET_VENDOR_NVIDIA=y
+CONFIG_FORCEDETH=m
+CONFIG_NET_VENDOR_OKI=y
+CONFIG_PCH_GBE=m
+CONFIG_ETHOC=m
+CONFIG_NET_PACKET_ENGINE=y
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_NET_VENDOR_QLOGIC=y
+CONFIG_QLA3XXX=m
+CONFIG_QLCNIC=m
+CONFIG_QLCNIC_SRIOV=y
+CONFIG_QLGE=m
+CONFIG_NETXEN_NIC=m
+CONFIG_NET_VENDOR_REALTEK=y
+CONFIG_ATP=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R8169=m
+CONFIG_NET_VENDOR_RDC=y
+CONFIG_R6040=m
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_SC92031=m
+CONFIG_NET_VENDOR_SIS=y
+CONFIG_SIS900=m
+CONFIG_SIS190=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_SFC_MCDI_MON=y
+CONFIG_SFC_SRIOV=y
+CONFIG_NET_VENDOR_SMSC=y
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_EPIC100=m
+CONFIG_SMSC9420=m
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_ETH=m
+# CONFIG_STMMAC_PLATFORM is not set
+CONFIG_STMMAC_PCI=y
+# CONFIG_STMMAC_DEBUG_FS is not set
+# CONFIG_STMMAC_DA is not set
+CONFIG_NET_VENDOR_SUN=y
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NIU=m
+CONFIG_NET_VENDOR_TEHUTI=y
+CONFIG_TEHUTI=m
+CONFIG_NET_VENDOR_TI=y
+CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VIA=y
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_VIA_VELOCITY=m
+CONFIG_NET_VENDOR_WIZNET=y
+CONFIG_WIZNET_W5100=m
+CONFIG_WIZNET_W5300=m
+# CONFIG_WIZNET_BUS_DIRECT is not set
+# CONFIG_WIZNET_BUS_INDIRECT is not set
+CONFIG_WIZNET_BUS_ANY=y
+CONFIG_NET_VENDOR_XIRCOM=y
+CONFIG_PCMCIA_XIRC2PS=m
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_NET_SB1000=m
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_AT803X_PHY=m
+CONFIG_AMD_PHY=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_BCM87XX_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_MICREL_KS8995MA is not set
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOATM=m
+CONFIG_PPPOE=m
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_SLIP=m
+CONFIG_SLHC=m
+# CONFIG_SLIP_COMPRESSED is not set
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_CDC_MBIM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_QMI_WWAN=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_USB_VL600=m
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+CONFIG_ATH_CARDS=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+# CONFIG_ATH5K_TRACER is not set
+CONFIG_ATH5K_PCI=y
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
+CONFIG_ATH9K=m
+CONFIG_ATH9K_PCI=y
+CONFIG_ATH9K_AHB=y
+# CONFIG_ATH9K_DEBUGFS is not set
+# CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set
+CONFIG_ATH9K_HTC=m
+# CONFIG_ATH9K_HTC_DEBUGFS is not set
+CONFIG_CARL9170=m
+CONFIG_CARL9170_LEDS=y
+CONFIG_CARL9170_WPC=y
+# CONFIG_CARL9170_HWRNG is not set
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
+# CONFIG_ATH6KL_DEBUG is not set
+# CONFIG_ATH6KL_TRACING is not set
+CONFIG_AR5523=m
+CONFIG_WIL6210=m
+CONFIG_WIL6210_ISR_COR=y
+CONFIG_B43=m
+CONFIG_B43_BCMA=y
+# CONFIG_B43_BCMA_EXTRA is not set
+CONFIG_B43_SSB=y
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_BCMA_PIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_N=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_PHY_HT=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMSMAC=m
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
+# CONFIG_BRCM_TRACING is not set
+# CONFIG_BRCMDBG is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_IWLWIFI_OPMODE_MODULAR=y
+
+#
+# Debugging Options
+#
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEVICE_TRACING=y
+# CONFIG_IWLWIFI_P2P is not set
+CONFIG_IWLEGACY=m
+CONFIG_IWL4965=m
+CONFIG_IWL3945=m
+
+#
+# iwl3945 / iwl4965 Debugging Options
+#
+# CONFIG_IWLEGACY_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_SPI is not set
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+CONFIG_HERMES_PRISM=y
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_ORINOCO_USB=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+# CONFIG_P54_SPI is not set
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT33XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2800PCI_RT53XX=y
+CONFIG_RT2800PCI_RT3290=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT33XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_MMIO=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_RTLWIFI=m
+# CONFIG_RTLWIFI_DEBUG is not set
+CONFIG_RTL8192CE=m
+CONFIG_RTL8192SE=m
+CONFIG_RTL8192DE=m
+CONFIG_RTL8723AE=m
+CONFIG_RTL8188EE=m
+CONFIG_RTL8192CU=m
+CONFIG_RTL8192C_COMMON=m
+CONFIG_WL_TI=y
+CONFIG_WL1251=m
+# CONFIG_WL1251_SPI is not set
+CONFIG_WL1251_SDIO=m
+CONFIG_WL12XX=m
+CONFIG_WL18XX=m
+CONFIG_WLCORE=m
+# CONFIG_WLCORE_SPI is not set
+CONFIG_WLCORE_SDIO=m
+CONFIG_WILINK_PLATFORM_DATA=y
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_MWIFIEX_USB=m
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+# CONFIG_WAN is not set
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_IEEE802154_FAKELB=m
+CONFIG_IEEE802154_AT86RF230=m
+# CONFIG_IEEE802154_MRF24J40 is not set
+CONFIG_XEN_NETDEV_FRONTEND=m
+CONFIG_XEN_NETDEV_BACKEND=m
+CONFIG_VMXNET3=m
+CONFIG_HYPERV_NET=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_CAPI=y
+# CONFIG_GIGASET_I4L is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_INPUT_MATRIXKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ADP5589=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_QT1070=m
+CONFIG_KEYBOARD_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+CONFIG_KEYBOARD_TCA6416=m
+CONFIG_KEYBOARD_TCA8418=m
+CONFIG_KEYBOARD_MATRIX=m
+# CONFIG_KEYBOARD_LM8323 is not set
+CONFIG_KEYBOARD_LM8333=m
+# CONFIG_KEYBOARD_MAX7359 is not set
+CONFIG_KEYBOARD_MCS=m
+CONFIG_KEYBOARD_MPR121=m
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=y
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_CYAPA=m
+CONFIG_MOUSE_VSXXXAA=m
+# CONFIG_MOUSE_GPIO is not set
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_MOUSE_SYNAPTICS_USB=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_AS5011=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_HANWANG=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_AD7877 is not set
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
+CONFIG_TOUCHSCREEN_BU21013=m
+CONFIG_TOUCHSCREEN_CY8CTMG110=m
+CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
+CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
+# CONFIG_TOUCHSCREEN_CYTTSP_SPI is not set
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_HAMPSHIRE=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_WACOM_I2C=m
+CONFIG_TOUCHSCREEN_MAX11801=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MMS114=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+CONFIG_TOUCHSCREEN_WM9705=y
+CONFIG_TOUCHSCREEN_WM9712=y
+CONFIG_TOUCHSCREEN_WM9713=y
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+CONFIG_TOUCHSCREEN_MC13783=m
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+CONFIG_TOUCHSCREEN_USB_ELO=y
+CONFIG_TOUCHSCREEN_USB_E2I=y
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC_SERIO=m
+# CONFIG_TOUCHSCREEN_TSC2005 is not set
+CONFIG_TOUCHSCREEN_TSC2007=m
+CONFIG_TOUCHSCREEN_ST1232=m
+CONFIG_TOUCHSCREEN_TPS6507X=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_AD714X=m
+CONFIG_INPUT_AD714X_I2C=m
+CONFIG_INPUT_AD714X_SPI=m
+CONFIG_INPUT_BMA150=m
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_MC13783_PWRBUTTON=m
+CONFIG_INPUT_MMA8450=m
+CONFIG_INPUT_MPU3050=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_GP2A=m
+# CONFIG_INPUT_GPIO_TILT_POLLED is not set
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_KXTJ9=m
+# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_PCF8574=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+CONFIG_INPUT_ADXL34X=m
+CONFIG_INPUT_ADXL34X_I2C=m
+CONFIG_INPUT_ADXL34X_SPI=m
+# CONFIG_INPUT_IMS_PCU is not set
+CONFIG_INPUT_CMA3000=m
+CONFIG_INPUT_CMA3000_I2C=m
+CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_SERIO_PS2MULT=m
+CONFIG_SERIO_ARC_PS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+# CONFIG_SYNCLINK_GT is not set
+CONFIG_NOZOMI=m
+# CONFIG_ISI is not set
+CONFIG_N_HDLC=m
+CONFIG_N_GSM=m
+CONFIG_TRACE_ROUTER=m
+CONFIG_TRACE_SINK=m
+# CONFIG_DEVKMEM is not set
+# CONFIG_STALDRV is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+CONFIG_SERIAL_8250_DW=m
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+CONFIG_SERIAL_MFD_HSU=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_SCCNXP=m
+# CONFIG_SERIAL_TIMBERDALE is not set
+CONFIG_SERIAL_ALTERA_JTAGUART=m
+CONFIG_SERIAL_ALTERA_UART=m
+CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
+CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
+# CONFIG_SERIAL_IFX6X60 is not set
+CONFIG_SERIAL_PCH_UART=m
+CONFIG_SERIAL_ARC=m
+CONFIG_SERIAL_ARC_NR_PORTS=1
+CONFIG_SERIAL_RP2=m
+CONFIG_SERIAL_RP2_NR_UARTS=32
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_IRQ=y
+CONFIG_HVC_XEN=y
+CONFIG_HVC_XEN_FRONTEND=y
+CONFIG_VIRTIO_CONSOLE=m
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_TPM=m
+CONFIG_NVRAM=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_TIS_I2C_INFINEON=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TCG_ST33_I2C=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_ISMT=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_EG20T=m
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_INTEL_MID=m
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_DIOLAN_U2C=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+CONFIG_I2C_VIPERBOARD=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_BUTTERFLY is not set
+# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_LM70_LLP is not set
+# CONFIG_SPI_OC_TINY is not set
+CONFIG_SPI_PXA2XX_DMA=y
+CONFIG_SPI_PXA2XX=m
+CONFIG_SPI_PXA2XX_PCI=m
+# CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_TOPCLIFF_PCH is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+
+#
+# Qualcomm MSM SSBI bus support
+#
+CONFIG_SSBI=m
+# CONFIG_HSI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_PPS_CLIENT_PARPORT=m
+CONFIG_PPS_CLIENT_GPIO=m
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+CONFIG_DP83640_PHY=m
+CONFIG_PTP_1588_CLOCK_PCH=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_ACPI=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+
+#
+# Memory mapped GPIO drivers:
+#
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_IT8761E is not set
+# CONFIG_GPIO_TS5500 is not set
+CONFIG_GPIO_SCH=m
+CONFIG_GPIO_ICH=m
+# CONFIG_GPIO_VX855 is not set
+# CONFIG_GPIO_LYNXPOINT is not set
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_ARIZONA=m
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_ADP5588 is not set
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_AMD8111=m
+CONFIG_GPIO_LANGWELL=y
+# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_ML_IOH is not set
+# CONFIG_GPIO_RDC321X is not set
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_74X164 is not set
+
+#
+# AC97 GPIO expanders:
+#
+CONFIG_GPIO_UCB1400=y
+
+#
+# MODULbus GPIO expanders:
+#
+
+#
+# USB GPIO expanders:
+#
+CONFIG_GPIO_VIPERBOARD=m
+# CONFIG_W1 is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_TEST_POWER=m
+# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_SBS is not set
+# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_BATTERY_MAX17040 is not set
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_CHARGER_PCF50633 is not set
+# CONFIG_CHARGER_ISP1704 is not set
+# CONFIG_CHARGER_MAX8903 is not set
+# CONFIG_CHARGER_LP8727 is not set
+# CONFIG_CHARGER_GPIO is not set
+# CONFIG_CHARGER_BQ2415X is not set
+# CONFIG_CHARGER_SMB347 is not set
+# CONFIG_BATTERY_GOLDFISH is not set
+CONFIG_POWER_RESET=y
+CONFIG_POWER_AVS=y
+CONFIG_HWMON=y
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+# CONFIG_SENSORS_AD7314 is not set
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+# CONFIG_SENSORS_ADCXX is not set
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7X10=m
+CONFIG_SENSORS_ADT7310=m
+CONFIG_SENSORS_ADT7410=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_FAM15H_POWER=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS620=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+# CONFIG_SENSORS_GPIO_FAN is not set
+CONFIG_SENSORS_HIH6130=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_JC42=m
+CONFIG_SENSORS_LINEAGE=m
+CONFIG_SENSORS_LM63=m
+# CONFIG_SENSORS_LM70 is not set
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4151=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LTC4261=m
+CONFIG_SENSORS_LM95234=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_LM95245=m
+# CONFIG_SENSORS_MAX1111 is not set
+CONFIG_SENSORS_MAX16065=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX1668=m
+CONFIG_SENSORS_MAX197=m
+CONFIG_SENSORS_MAX6639=m
+CONFIG_SENSORS_MAX6642=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_MAX6697=m
+CONFIG_SENSORS_MCP3021=m
+CONFIG_SENSORS_NCT6775=m
+CONFIG_SENSORS_NTC_THERMISTOR=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_PMBUS=m
+CONFIG_SENSORS_PMBUS=m
+CONFIG_SENSORS_ADM1275=m
+CONFIG_SENSORS_LM25066=m
+CONFIG_SENSORS_LTC2978=m
+CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX34440=m
+CONFIG_SENSORS_MAX8688=m
+CONFIG_SENSORS_UCD9000=m
+CONFIG_SENSORS_UCD9200=m
+CONFIG_SENSORS_ZL6100=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SHT21=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMM665=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_EMC1403=m
+CONFIG_SENSORS_EMC2103=m
+CONFIG_SENSORS_EMC6W201=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_SCH56XX_COMMON=m
+CONFIG_SENSORS_SCH5627=m
+CONFIG_SENSORS_SCH5636=m
+CONFIG_SENSORS_ADS1015=m
+CONFIG_SENSORS_ADS7828=m
+# CONFIG_SENSORS_ADS7871 is not set
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_INA209=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP102=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83795=m
+# CONFIG_SENSORS_W83795_FANCTRL is not set
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ACPI_POWER=m
+CONFIG_SENSORS_ATK0110=m
+CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+# CONFIG_THERMAL_GOV_USER_SPACE is not set
+# CONFIG_CPU_THERMAL is not set
+# CONFIG_THERMAL_EMULATION is not set
+CONFIG_INTEL_POWERCLAMP=m
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_RETU_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_F71808E_WDT=m
+CONFIG_SP5100_TCO=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_IE6XX_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_HPWDT_NMI_DECODING=y
+CONFIG_SC1200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_NV_TCO=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_VIA_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+CONFIG_XEN_WDT=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+CONFIG_SSB_DRIVER_GPIO=y
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+CONFIG_BCMA=m
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+CONFIG_BCMA_DRIVER_GMAC_CMN=y
+CONFIG_BCMA_DRIVER_GPIO=y
+# CONFIG_BCMA_DEBUG is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+CONFIG_MFD_CS5535=m
+# CONFIG_MFD_CROS_EC is not set
+# CONFIG_MFD_DA9052_SPI is not set
+CONFIG_MFD_MC13783=m
+CONFIG_MFD_MC13XXX=m
+# CONFIG_MFD_MC13XXX_SPI is not set
+CONFIG_MFD_MC13XXX_I2C=m
+CONFIG_HTC_PASIC3=m
+CONFIG_LPC_ICH=m
+CONFIG_LPC_SCH=m
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_EZX_PCAP is not set
+CONFIG_MFD_VIPERBOARD=m
+CONFIG_MFD_RETU=m
+CONFIG_MFD_PCF50633=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_UCB1400_CORE=m
+CONFIG_MFD_RDC321X=m
+CONFIG_MFD_RTSX_PCI=m
+CONFIG_MFD_SI476X_CORE=m
+CONFIG_MFD_SM501=m
+CONFIG_MFD_SM501_GPIO=y
+CONFIG_ABX500_CORE=y
+# CONFIG_MFD_STMPE is not set
+# CONFIG_MFD_SYSCON is not set
+CONFIG_MFD_TI_AM335X_TSCADC=m
+# CONFIG_TPS6105X is not set
+CONFIG_TPS65010=m
+CONFIG_TPS6507X=m
+CONFIG_MFD_TPS65217=m
+# CONFIG_MFD_TPS65912 is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_WL1273_CORE=m
+CONFIG_MFD_LM3533=m
+# CONFIG_MFD_TIMBERDALE is not set
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_VX855=m
+CONFIG_MFD_ARIZONA=y
+CONFIG_MFD_ARIZONA_I2C=m
+# CONFIG_MFD_ARIZONA_SPI is not set
+CONFIG_MFD_WM5102=y
+CONFIG_MFD_WM5110=y
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+CONFIG_VIDEO_V4L2=m
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_V4L2_MEM2MEM_DEV=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+# CONFIG_VIDEO_V4L2_INT_DEVICE is not set
+CONFIG_DVB_CORE=m
+CONFIG_DVB_NET=y
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+
+#
+# Media drivers
+#
+CONFIG_RC_CORE=m
+CONFIG_RC_MAP=m
+CONFIG_RC_DECODERS=y
+CONFIG_LIRC=m
+CONFIG_IR_LIRC_CODEC=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_SANYO_DECODER=m
+CONFIG_IR_MCE_KBD_DECODER=m
+CONFIG_RC_DEVICES=y
+CONFIG_RC_ATI_REMOTE=m
+CONFIG_IR_ENE=m
+CONFIG_IR_IMON=m
+CONFIG_IR_MCEUSB=m
+CONFIG_IR_ITE_CIR=m
+CONFIG_IR_FINTEK=m
+CONFIG_IR_NUVOTON=m
+CONFIG_IR_REDRAT3=m
+CONFIG_IR_STREAMZAP=m
+CONFIG_IR_WINBOND_CIR=m
+CONFIG_IR_IGUANA=m
+CONFIG_IR_TTUSBIR=m
+CONFIG_RC_LOOPBACK=m
+CONFIG_IR_GPIO_CIR=m
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_JL2005BCD=m
+CONFIG_USB_GSPCA_KINECT=m
+CONFIG_USB_GSPCA_KONICA=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_NW80X=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SE401=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SPCA1528=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_SQ930X=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_VICAM=m
+CONFIG_USB_GSPCA_XIRLINK_CIT=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_VIDEO_CPIA2=m
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_USB_SN9C102=m
+
+#
+# Analog TV USB devices
+#
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_STK1160=m
+CONFIG_VIDEO_STK1160_AC97=y
+
+#
+# Analog/digital TV USB devices
+#
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_AU0828_V4L2=y
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_RC=y
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_TM6000=m
+CONFIG_VIDEO_TM6000_ALSA=m
+CONFIG_VIDEO_TM6000_DVB=m
+
+#
+# Digital TV USB devices
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_PCTV452E=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_USB_TECHNISAT_USB2=m
+CONFIG_DVB_USB_V2=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_AF9035=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_AZ6007=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_IT913X=m
+CONFIG_DVB_USB_LME2510=m
+CONFIG_DVB_USB_MXL111SF=m
+CONFIG_DVB_USB_RTL28XXU=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_USB_DRV=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_EM28XX_RC=m
+CONFIG_MEDIA_PCI_SUPPORT=y
+
+#
+# Media capture support
+#
+CONFIG_VIDEO_MEYE=m
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_MXB=m
+
+#
+# Media capture/analog/hybrid TV support
+#
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_MEDIA_ALTERA_CI=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_BT848=m
+CONFIG_DVB_BT8XX=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_RC=y
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_SAA7164=m
+
+#
+# Media digital TV PCI Adapters
+#
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
+CONFIG_DVB_PLUTO2=m
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_PT1=m
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+CONFIG_DVB_NGENE=m
+CONFIG_DVB_DDBRIDGE=m
+# CONFIG_V4L_PLATFORM_DRIVERS is not set
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
+CONFIG_VIDEO_SH_VEU=m
+# CONFIG_V4L_TEST_DRIVERS is not set
+
+#
+# Supported MMC/SDIO adapters
+#
+CONFIG_SMS_SDIO_DRV=m
+CONFIG_MEDIA_PARPORT_SUPPORT=y
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_SI470X=y
+CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
+CONFIG_USB_MR800=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_SHARK=m
+CONFIG_RADIO_SHARK2=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_KEENE=m
+CONFIG_USB_MA901=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_WL1273=m
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+CONFIG_RADIO_WL128X=m
+
+#
+# Supported FireWire (IEEE 1394) Adapters
+#
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_INPUT=y
+CONFIG_MEDIA_COMMON_OPTIONS=y
+
+#
+# common driver options
+#
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_CYPRESS_FIRMWARE=m
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_SMS_SIANO_MDTV=m
+CONFIG_SMS_SIANO_RC=y
+# CONFIG_SMS_SIANO_DEBUGFS is not set
+
+#
+# Media ancillary drivers (tuners, sensors, i2c, frontends)
+#
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+CONFIG_MEDIA_ATTACH=y
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Audio decoders, processors and mixers
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_UDA1342=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+CONFIG_VIDEO_SONY_BTF_MPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_TW2804=m
+CONFIG_VIDEO_TW9903=m
+CONFIG_VIDEO_TW9906=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_CX25840=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+
+#
+# Camera sensor devices
+#
+CONFIG_VIDEO_OV7640=m
+CONFIG_VIDEO_MT9V011=m
+
+#
+# Flash devices
+#
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_M52790=m
+
+#
+# Sensors used on soc_camera driver
+#
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_XC4000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
+CONFIG_MEDIA_TUNER_TDA18212=m
+CONFIG_MEDIA_TUNER_E4000=m
+CONFIG_MEDIA_TUNER_FC2580=m
+CONFIG_MEDIA_TUNER_TUA9001=m
+CONFIG_MEDIA_TUNER_IT913X=m
+CONFIG_MEDIA_TUNER_R820T=m
+
+#
+# Multistandard (satellite) frontends
+#
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+
+#
+# Multistandard (cable + terrestrial) frontends
+#
+CONFIG_DVB_DRXK=m
+CONFIG_DVB_TDA18271C2DD=m
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_TS2020=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_TDA10071=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_DRXD=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_STV0367=m
+CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LG2160=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_AU8522_DTV=m
+CONFIG_DVB_AU8522_V4L=m
+CONFIG_DVB_S5H1411=m
+
+#
+# ISDB-T (terrestrial) frontends
+#
+CONFIG_DVB_S921=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_MB86A20S=m
+
+#
+# Digital terrestrial only tuners/PLL
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_TUNER_DIB0090=m
+
+#
+# SEC control devices for DVB-S
+#
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_LNBP22=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_A8293=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DVB_TDA665x=m
+CONFIG_DVB_IX2505V=m
+CONFIG_DVB_IT913X_FE=m
+CONFIG_DVB_M88RS2000=m
+CONFIG_DVB_AF9033=m
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+
+#
+# Graphics support
+#
+CONFIG_AGP=y
+CONFIG_AGP_AMD64=y
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_VIA=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_USB=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_TTM=m
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
+CONFIG_DRM_I2C_NXP_TDA998X=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+# CONFIG_DRM_RADEON_UMS is not set
+CONFIG_DRM_NOUVEAU=m
+CONFIG_NOUVEAU_DEBUG=5
+CONFIG_NOUVEAU_DEBUG_DEFAULT=3
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+# CONFIG_DRM_I810 is not set
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_VMWGFX_FBCON=y
+CONFIG_DRM_GMA500=m
+CONFIG_DRM_GMA600=y
+CONFIG_DRM_GMA3600=y
+CONFIG_DRM_UDL=m
+CONFIG_DRM_AST=m
+CONFIG_DRM_MGAG200=m
+CONFIG_DRM_CIRRUS_QEMU=m
+CONFIG_DRM_QXL=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_HDMI=y
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+# CONFIG_FB_DDC is not set
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ARC is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_VGA16=m
+CONFIG_FB_UVESA=m
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_N411 is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
+# CONFIG_FB_LE80578 is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+CONFIG_FB_VIA=m
+CONFIG_FB_VIA_DIRECT_PROCFS=y
+CONFIG_FB_VIA_X_COMPATIBILITY=y
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_GEODE is not set
+# CONFIG_FB_TMIO is not set
+# CONFIG_FB_SM501 is not set
+# CONFIG_FB_SMSCUFX is not set
+CONFIG_FB_UDL=m
+# CONFIG_FB_GOLDFISH is not set
+CONFIG_FB_VIRTUAL=m
+CONFIG_XEN_FBDEV_FRONTEND=m
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+# CONFIG_FB_AUO_K190X is not set
+CONFIG_FB_HYPERV=m
+# CONFIG_EXYNOS_VIDEO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+# CONFIG_LCD_L4F00242T03 is not set
+# CONFIG_LCD_LMS283GF05 is not set
+# CONFIG_LCD_LTV350QV is not set
+# CONFIG_LCD_ILI922X is not set
+# CONFIG_LCD_ILI9320 is not set
+# CONFIG_LCD_TDO24M is not set
+# CONFIG_LCD_VGG2432A4 is not set
+CONFIG_LCD_PLATFORM=m
+# CONFIG_LCD_S6E63M0 is not set
+# CONFIG_LCD_LD9040 is not set
+# CONFIG_LCD_AMS369FG06 is not set
+# CONFIG_LCD_LMS501KF03 is not set
+# CONFIG_LCD_HX8357 is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_BACKLIGHT_LM3533=m
+CONFIG_BACKLIGHT_APPLE=m
+# CONFIG_BACKLIGHT_SAHARA is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
+CONFIG_BACKLIGHT_PCF50633=m
+# CONFIG_BACKLIGHT_LM3630 is not set
+# CONFIG_BACKLIGHT_LM3639 is not set
+# CONFIG_BACKLIGHT_LP855X is not set
+# CONFIG_BACKLIGHT_OT200 is not set
+# CONFIG_BACKLIGHT_TPS65217 is not set
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_FONT_AUTOSELECT=y
+# CONFIG_LOGO is not set
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_KCTL_JACK=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_ALOOP=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_TEA575X=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ASIHPI=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_ES1968_INPUT=y
+CONFIG_SND_ES1968_RADIO=y
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_DSP_LOADER=y
+CONFIG_SND_HDA_PREALLOC_SIZE=4096
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_HDMI=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CA0132=y
+CONFIG_SND_HDA_CODEC_CA0132_DSP=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LOLA=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MAESTRO3_INPUT=y
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_FIREWIRE=y
+CONFIG_SND_FIREWIRE_LIB=m
+CONFIG_SND_FIREWIRE_SPEAKERS=m
+CONFIG_SND_ISIGHT=m
+CONFIG_SND_SCS1X=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID support
+#
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=m
+
+#
+# Special HID drivers
+#
+CONFIG_HID_A4TECH=m
+CONFIG_HID_ACRUX=m
+CONFIG_HID_ACRUX_FF=y
+CONFIG_HID_APPLE=m
+CONFIG_HID_APPLEIR=m
+CONFIG_HID_AUREAL=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_PRODIKEYS=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EMS_FF=m
+CONFIG_HID_ELECOM=m
+CONFIG_HID_EZKEY=m
+CONFIG_HID_HOLTEK=m
+CONFIG_HOLTEK_FF=y
+CONFIG_HID_KEYTOUCH=m
+CONFIG_HID_KYE=m
+CONFIG_HID_UCLOGIC=m
+CONFIG_HID_WALTOP=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_ICADE=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LCPOWER=m
+CONFIG_HID_LENOVO_TPKBD=m
+CONFIG_HID_LOGITECH=m
+CONFIG_HID_LOGITECH_DJ=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIWHEELS_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_MULTITOUCH=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_PICOLCD=m
+CONFIG_HID_PICOLCD_FB=y
+CONFIG_HID_PICOLCD_BACKLIGHT=y
+CONFIG_HID_PICOLCD_LCD=y
+CONFIG_HID_PICOLCD_LEDS=y
+CONFIG_HID_PICOLCD_CIR=y
+CONFIG_HID_PRIMAX=m
+CONFIG_HID_PS3REMOTE=m
+CONFIG_HID_ROCCAT=m
+CONFIG_HID_SAITEK=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_SPEEDLINK=m
+CONFIG_HID_STEELSERIES=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_HYPERV_MOUSE=m
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TIVO=m
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THINGM=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_WIIMOTE=m
+CONFIG_HID_WIIMOTE_EXT=y
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_HID_ZYDACRON=m
+CONFIG_HID_SENSOR_HUB=m
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# I2C HID support
+#
+CONFIG_I2C_HID=m
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB_ARCH_HAS_XHCI=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=m
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+CONFIG_USB_DYNAMIC_MINORS=y
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=m
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+# CONFIG_USB_XHCI_HCD_DEBUGGING is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=m
+# CONFIG_USB_EHCI_HCD_PLATFORM is not set
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_HCD_PLATFORM is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+# CONFIG_USB_SL811_HCD_ISO is not set
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_RENESAS_USBHS_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_HCD_BCMA is not set
+# CONFIG_USB_HCD_SSB is not set
+CONFIG_USB_MUSB_HDRC=m
+CONFIG_USB_MUSB_TUSB6010=m
+CONFIG_USB_MUSB_DSPS=m
+CONFIG_USB_MUSB_UX500=m
+# CONFIG_USB_UX500_DMA is not set
+CONFIG_MUSB_PIO_ONLY=y
+CONFIG_USB_RENESAS_USBHS=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_REALTEK=m
+CONFIG_REALTEK_AUTOPM=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+CONFIG_USB_STORAGE_ENE_UB6250=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+# CONFIG_USB_DWC3 is not set
+# CONFIG_USB_CHIPIDEA is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_F81232=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KEYSPAN_MPR=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
+CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19=y
+CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
+CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
+CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_METRO=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7715_PARPORT=y
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MOTOROLA=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_HP4X=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIEMENS_MPI=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
+CONFIG_USB_SERIAL_XSENS_MT=m
+CONFIG_USB_SERIAL_ZIO=m
+CONFIG_USB_SERIAL_WISHBONE=m
+CONFIG_USB_SERIAL_ZTE=m
+CONFIG_USB_SERIAL_SSU100=m
+CONFIG_USB_SERIAL_QT2=m
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_YUREX=m
+CONFIG_USB_EZUSB_FX2=m
+CONFIG_USB_HSIC_USB3503=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=m
+# CONFIG_OMAP_CONTROL_USB is not set
+# CONFIG_OMAP_USB3 is not set
+CONFIG_SAMSUNG_USBPHY=m
+CONFIG_SAMSUNG_USB2PHY=m
+CONFIG_SAMSUNG_USB3PHY=m
+# CONFIG_USB_GPIO_VBUS is not set
+CONFIG_USB_ISP1301=m
+CONFIG_USB_RCAR_PHY=m
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+
+#
+# USB Peripheral Controller
+#
+CONFIG_USB_R8A66597=m
+CONFIG_USB_RENESAS_USBHS_UDC=m
+CONFIG_USB_PXA27X=m
+CONFIG_USB_MV_UDC=m
+CONFIG_USB_MV_U3D=m
+CONFIG_USB_GADGET_MUSB_HDRC=m
+CONFIG_USB_M66592=m
+CONFIG_USB_AMD5536UDC=m
+CONFIG_USB_NET2272=m
+CONFIG_USB_NET2272_DMA=y
+CONFIG_USB_NET2280=m
+CONFIG_USB_GOKU=m
+CONFIG_USB_EG20T=m
+CONFIG_USB_DUMMY_HCD=m
+CONFIG_USB_LIBCOMPOSITE=m
+CONFIG_USB_F_ACM=m
+CONFIG_USB_U_SERIAL=m
+CONFIG_USB_F_SERIAL=m
+CONFIG_USB_F_OBEX=m
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_AUDIO=m
+# CONFIG_GADGET_UAC1 is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+CONFIG_USB_G_NCM=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FUNCTIONFS=m
+CONFIG_USB_FUNCTIONFS_ETH=y
+CONFIG_USB_FUNCTIONFS_RNDIS=y
+CONFIG_USB_FUNCTIONFS_GENERIC=y
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_GADGET_TARGET=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_ACM_MS is not set
+# CONFIG_USB_G_MULTI is not set
+CONFIG_USB_G_HID=m
+CONFIG_USB_G_DBGP=m
+# CONFIG_USB_G_DBGP_PRINTK is not set
+CONFIG_USB_G_DBGP_SERIAL=y
+CONFIG_USB_G_WEBCAM=m
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_I1480U=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+# CONFIG_MMC_CLKGATE is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_ACPI=m
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+# CONFIG_MMC_SPI is not set
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MMC_VUB300=m
+CONFIG_MMC_USHC=m
+CONFIG_MMC_REALTEK_PCI=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_MEMSTICK_R592=m
+CONFIG_MEMSTICK_REALTEK_PCI=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_LM3530=m
+CONFIG_LEDS_LM3533=m
+CONFIG_LEDS_LM3642=m
+CONFIG_LEDS_PCA9532=m
+# CONFIG_LEDS_PCA9532_GPIO is not set
+# CONFIG_LEDS_GPIO is not set
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_LP55XX_COMMON=m
+CONFIG_LEDS_LP5521=m
+CONFIG_LEDS_LP5523=m
+CONFIG_LEDS_LP5562=m
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+CONFIG_LEDS_PCA9633=m
+# CONFIG_LEDS_DAC124S085 is not set
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_MC13783=m
+CONFIG_LEDS_TCA6507=m
+CONFIG_LEDS_LM355x=m
+CONFIG_LEDS_OT200=m
+CONFIG_LEDS_BLINKM=m
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_ONESHOT=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+# CONFIG_LEDS_TRIGGER_CPU is not set
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_LEDS_TRIGGER_TRANSIENT=m
+CONFIG_LEDS_TRIGGER_CAMERA=m
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC=y
+CONFIG_EDAC_LEGACY_SYSFS=y
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
+CONFIG_EDAC_MCE_INJ=m
+CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD64=m
+# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
+CONFIG_EDAC_E752X=m
+CONFIG_EDAC_I82975X=m
+CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
+CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
+CONFIG_EDAC_I7CORE=m
+CONFIG_EDAC_I5000=m
+CONFIG_EDAC_I5100=m
+CONFIG_EDAC_I7300=m
+CONFIG_EDAC_SBRIDGE=m
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_DS3232=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_ISL12022=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF8523=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+CONFIG_RTC_DRV_EM3027=m
+CONFIG_RTC_DRV_RV3029C2=m
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+# CONFIG_RTC_DRV_RX4581 is not set
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_DS2404=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MC13XXX=m
+
+#
+# HID Sensor RTC drivers
+#
+# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_INTEL_MID_DMAC=m
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DW_DMAC=m
+# CONFIG_DW_DMAC_BIG_ENDIAN_IO is not set
+CONFIG_TIMB_DMA=m
+CONFIG_PCH_DMA=m
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_ACPI=y
+
+#
+# DMA Clients
+#
+CONFIG_NET_DMA=y
+CONFIG_ASYNC_TX_DMA=y
+# CONFIG_DMATEST is not set
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+CONFIG_KS0108=m
+CONFIG_KS0108_PORT=0x378
+CONFIG_KS0108_DELAY=2
+CONFIG_CFAG12864B=m
+CONFIG_CFAG12864B_RATE=20
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV=m
+CONFIG_UIO_PDRV_GENIRQ=m
+# CONFIG_UIO_DMEM_GENIRQ is not set
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO=m
+CONFIG_VFIO_PCI=m
+CONFIG_VFIO_PCI_VGA=y
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO=m
+
+#
+# Virtio drivers
+#
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_MMIO=m
+CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
+
+#
+# Microsoft Hyper-V guest support
+#
+CONFIG_HYPERV=m
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_BALLOON=m
+
+#
+# Xen driver support
+#
+CONFIG_XEN_BALLOON=y
+# CONFIG_XEN_SELFBALLOONING is not set
+CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XEN_BACKEND=y
+CONFIG_XENFS=m
+CONFIG_XEN_COMPAT_XENFS=y
+CONFIG_XEN_SYS_HYPERVISOR=y
+CONFIG_XEN_XENBUS_FRONTEND=y
+CONFIG_XEN_GNTDEV=m
+CONFIG_XEN_GRANT_DEV_ALLOC=m
+CONFIG_SWIOTLB_XEN=y
+CONFIG_XEN_TMEM=m
+CONFIG_XEN_PCIDEV_BACKEND=m
+CONFIG_XEN_PRIVCMD=m
+CONFIG_XEN_ACPI_PROCESSOR=m
+# CONFIG_XEN_MCE_LOG is not set
+CONFIG_XEN_HAVE_PVMMU=y
+CONFIG_STAGING=y
+CONFIG_ET131X=m
+CONFIG_SLICOSS=m
+CONFIG_USBIP_CORE=m
+CONFIG_USBIP_VHCI_HCD=m
+CONFIG_USBIP_HOST=m
+# CONFIG_USBIP_DEBUG is not set
+CONFIG_W35UND=m
+CONFIG_PRISM2_USB=m
+CONFIG_ECHO=m
+CONFIG_COMEDI=m
+# CONFIG_COMEDI_DEBUG is not set
+CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
+CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
+CONFIG_COMEDI_MISC_DRIVERS=y
+CONFIG_COMEDI_KCOMEDILIB=m
+CONFIG_COMEDI_BOND=m
+CONFIG_COMEDI_TEST=m
+CONFIG_COMEDI_PARPORT=m
+CONFIG_COMEDI_SERIAL2002=m
+CONFIG_COMEDI_SKEL=m
+CONFIG_COMEDI_PCI_DRIVERS=y
+CONFIG_COMEDI_8255_PCI=m
+CONFIG_COMEDI_ADDI_WATCHDOG=m
+CONFIG_COMEDI_ADDI_APCI_035=m
+CONFIG_COMEDI_ADDI_APCI_1032=m
+CONFIG_COMEDI_ADDI_APCI_1500=m
+CONFIG_COMEDI_ADDI_APCI_1516=m
+CONFIG_COMEDI_ADDI_APCI_1564=m
+CONFIG_COMEDI_ADDI_APCI_16XX=m
+CONFIG_COMEDI_ADDI_APCI_2032=m
+CONFIG_COMEDI_ADDI_APCI_2200=m
+CONFIG_COMEDI_ADDI_APCI_3120=m
+CONFIG_COMEDI_ADDI_APCI_3501=m
+CONFIG_COMEDI_ADDI_APCI_3XXX=m
+CONFIG_COMEDI_ADL_PCI6208=m
+CONFIG_COMEDI_ADL_PCI7X3X=m
+CONFIG_COMEDI_ADL_PCI8164=m
+CONFIG_COMEDI_ADL_PCI9111=m
+CONFIG_COMEDI_ADL_PCI9118=m
+CONFIG_COMEDI_ADV_PCI1710=m
+CONFIG_COMEDI_ADV_PCI1723=m
+CONFIG_COMEDI_ADV_PCI1724=m
+CONFIG_COMEDI_ADV_PCI_DIO=m
+CONFIG_COMEDI_AMPLC_DIO200_PCI=m
+CONFIG_COMEDI_AMPLC_PC236_PCI=m
+CONFIG_COMEDI_AMPLC_PC263_PCI=m
+CONFIG_COMEDI_AMPLC_PCI224=m
+CONFIG_COMEDI_AMPLC_PCI230=m
+CONFIG_COMEDI_CONTEC_PCI_DIO=m
+CONFIG_COMEDI_DAS08_PCI=m
+CONFIG_COMEDI_DT3000=m
+CONFIG_COMEDI_DYNA_PCI10XX=m
+CONFIG_COMEDI_UNIOXX5=m
+CONFIG_COMEDI_GSC_HPDI=m
+CONFIG_COMEDI_ICP_MULTI=m
+CONFIG_COMEDI_II_PCI20KC=m
+CONFIG_COMEDI_DAQBOARD2000=m
+CONFIG_COMEDI_JR3_PCI=m
+CONFIG_COMEDI_KE_COUNTER=m
+CONFIG_COMEDI_CB_PCIDAS64=m
+CONFIG_COMEDI_CB_PCIDAS=m
+CONFIG_COMEDI_CB_PCIDDA=m
+CONFIG_COMEDI_CB_PCIMDAS=m
+CONFIG_COMEDI_CB_PCIMDDA=m
+CONFIG_COMEDI_ME4000=m
+CONFIG_COMEDI_ME_DAQ=m
+CONFIG_COMEDI_NI_6527=m
+CONFIG_COMEDI_NI_65XX=m
+CONFIG_COMEDI_NI_660X=m
+CONFIG_COMEDI_NI_670X=m
+CONFIG_COMEDI_NI_LABPC_PCI=m
+CONFIG_COMEDI_NI_PCIDIO=m
+CONFIG_COMEDI_NI_PCIMIO=m
+CONFIG_COMEDI_RTD520=m
+CONFIG_COMEDI_S526=m
+CONFIG_COMEDI_S626=m
+CONFIG_COMEDI_SSV_DNP=m
+CONFIG_COMEDI_MITE=m
+CONFIG_COMEDI_NI_TIOCMD=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=y
+CONFIG_COMEDI_CB_DAS16_CS=m
+CONFIG_COMEDI_DAS08_CS=m
+CONFIG_COMEDI_NI_DAQ_700_CS=m
+CONFIG_COMEDI_NI_DAQ_DIO24_CS=m
+CONFIG_COMEDI_NI_LABPC_CS=m
+CONFIG_COMEDI_NI_MIO_CS=m
+CONFIG_COMEDI_QUATECH_DAQP_CS=m
+CONFIG_COMEDI_USB_DRIVERS=y
+CONFIG_COMEDI_DT9812=m
+CONFIG_COMEDI_USBDUX=m
+CONFIG_COMEDI_USBDUXFAST=m
+CONFIG_COMEDI_USBDUXSIGMA=m
+CONFIG_COMEDI_VMK80XX=m
+CONFIG_COMEDI_8255=m
+CONFIG_COMEDI_FC=m
+CONFIG_COMEDI_AMPLC_DIO200=m
+CONFIG_COMEDI_AMPLC_PC236=m
+CONFIG_COMEDI_DAS08=m
+CONFIG_COMEDI_NI_LABPC=m
+CONFIG_COMEDI_NI_TIO=m
+CONFIG_ASUS_OLED=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192U=m
+CONFIG_RTLLIB=m
+CONFIG_RTLLIB_CRYPTO_CCMP=m
+CONFIG_RTLLIB_CRYPTO_TKIP=m
+CONFIG_RTLLIB_CRYPTO_WEP=m
+CONFIG_RTL8192E=m
+CONFIG_R8712U=m
+CONFIG_RTS5139=m
+# CONFIG_RTS5139_DEBUG is not set
+# CONFIG_TRANZPORT is not set
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_DX_SEP=m
+CONFIG_ZSMALLOC=y
+CONFIG_ZRAM=m
+# CONFIG_ZRAM_DEBUG is not set
+CONFIG_WLAGS49_H2=m
+CONFIG_WLAGS49_H25=m
+CONFIG_FB_SM7XX=m
+CONFIG_CRYSTALHD=m
+CONFIG_FB_XGI=m
+CONFIG_ACPI_QUICKSTART=m
+CONFIG_USB_ENESTORAGE=m
+CONFIG_BCM_WIMAX=m
+CONFIG_FT1000=m
+CONFIG_FT1000_USB=m
+CONFIG_FT1000_PCMCIA=m
+
+#
+# Speakup console speech
+#
+CONFIG_SPEAKUP=m
+CONFIG_SPEAKUP_SYNTH_ACNTSA=m
+CONFIG_SPEAKUP_SYNTH_ACNTPC=m
+CONFIG_SPEAKUP_SYNTH_APOLLO=m
+CONFIG_SPEAKUP_SYNTH_AUDPTR=m
+CONFIG_SPEAKUP_SYNTH_BNS=m
+CONFIG_SPEAKUP_SYNTH_DECTLK=m
+CONFIG_SPEAKUP_SYNTH_DECEXT=m
+CONFIG_SPEAKUP_SYNTH_DECPC=m
+CONFIG_SPEAKUP_SYNTH_DTLK=m
+CONFIG_SPEAKUP_SYNTH_KEYPC=m
+CONFIG_SPEAKUP_SYNTH_LTLK=m
+CONFIG_SPEAKUP_SYNTH_SOFT=m
+CONFIG_SPEAKUP_SYNTH_SPKOUT=m
+CONFIG_SPEAKUP_SYNTH_TXPRT=m
+CONFIG_SPEAKUP_SYNTH_DUMMY=m
+CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
+CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
+CONFIG_STAGING_MEDIA=y
+CONFIG_DVB_AS102=m
+CONFIG_DVB_CXD2099=m
+CONFIG_VIDEO_DT3155=m
+CONFIG_DT3155_CCIR=y
+CONFIG_DT3155_STREAMING=y
+CONFIG_VIDEO_GO7007=m
+CONFIG_VIDEO_GO7007_USB=m
+CONFIG_VIDEO_GO7007_LOADER=m
+# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
+CONFIG_SOLO6X10=m
+CONFIG_LIRC_STAGING=y
+CONFIG_LIRC_BT829=m
+CONFIG_LIRC_IGORPLUGUSB=m
+CONFIG_LIRC_IMON=m
+CONFIG_LIRC_PARALLEL=m
+CONFIG_LIRC_SASEM=m
+CONFIG_LIRC_SERIAL=m
+CONFIG_LIRC_SERIAL_TRANSMITTER=y
+CONFIG_LIRC_SIR=m
+CONFIG_LIRC_ZILOG=m
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+CONFIG_USB_WPAN_HCD=m
+CONFIG_WIMAX_GDM72XX=m
+CONFIG_WIMAX_GDM72XX_QOS=y
+CONFIG_WIMAX_GDM72XX_K_MODE=y
+CONFIG_WIMAX_GDM72XX_WIMAX2=y
+CONFIG_WIMAX_GDM72XX_USB=y
+# CONFIG_WIMAX_GDM72XX_SDIO is not set
+CONFIG_WIMAX_GDM72XX_USB_PM=y
+CONFIG_CSR_WIFI=m
+CONFIG_NET_VENDOR_SILICOM=y
+CONFIG_SBYPASS=m
+CONFIG_BPCTL=m
+CONFIG_CED1401=m
+CONFIG_DGRP=m
+CONFIG_FIREWIRE_SERIAL=m
+CONFIG_ZCACHE=m
+# CONFIG_ZCACHE_DEBUG is not set
+CONFIG_RAMSTER=m
+# CONFIG_RAMSTER_DEBUG is not set
+# CONFIG_USB_DWC2 is not set
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_CHROMEOS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_DELL_WMI_AIO=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_FUJITSU_TABLET=m
+CONFIG_AMILO_RFKILL=m
+CONFIG_HP_ACCEL=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_IDEAPAD_LAPTOP=m
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_SENSORS_HDAPS=m
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_ASUS_WMI=m
+CONFIG_ASUS_NB_WMI=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+CONFIG_INTEL_IPS=m
+CONFIG_IBM_RTL=m
+CONFIG_XO15_EBOOK=m
+CONFIG_SAMSUNG_LAPTOP=m
+CONFIG_MXM_WMI=m
+CONFIG_INTEL_OAKTRAIL=m
+CONFIG_SAMSUNG_Q10=m
+CONFIG_APPLE_GMUX=m
+CONFIG_PVPANIC=m
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_CLKEVT_I8253=y
+CONFIG_I8253_LOCK=y
+CONFIG_CLKBLD_I8253=y
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+CONFIG_AMD_IOMMU=y
+# CONFIG_AMD_IOMMU_STATS is not set
+CONFIG_AMD_IOMMU_V2=m
+CONFIG_DMAR_TABLE=y
+CONFIG_INTEL_IOMMU=y
+# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
+CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+CONFIG_IRQ_REMAP=y
+
+#
+# Remoteproc drivers
+#
+CONFIG_REMOTEPROC=m
+CONFIG_STE_MODEM_RPROC=m
+
+#
+# Rpmsg drivers
+#
+# CONFIG_PM_DEVFREQ is not set
+CONFIG_EXTCON=m
+
+#
+# Extcon Device Drivers
+#
+CONFIG_EXTCON_GPIO=m
+CONFIG_MEMORY=y
+# CONFIG_IIO is not set
+# CONFIG_NTB is not set
+# CONFIG_VME_BUS is not set
+# CONFIG_PWM is not set
+CONFIG_IPACK_BUS=m
+CONFIG_BOARD_TPCI200=m
+CONFIG_SERIAL_IPOCTAL=m
+# CONFIG_RESET_CONTROLLER is not set
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=m
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+# CONFIG_EFI_VARS is not set
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_USE_FOR_EXT23=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+CONFIG_JFS_STATISTICS=y
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCFS2_FS_STATS=y
+# CONFIG_OCFS2_DEBUG_MASKLOG is not set
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+CONFIG_NILFS2_FS=m
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+CONFIG_QUOTACTL_COMPAT=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+# CONFIG_ECRYPT_FS_MESSAGING is not set
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=m
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+CONFIG_MINIX_FS=m
+CONFIG_OMFS_FS=m
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_PSTORE=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_FTRACE is not set
+CONFIG_PSTORE_RAM=m
+# CONFIG_SYSV_FS is not set
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_F2FS_FS=m
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_EFIVAR_FS=y
+CONFIG_ORE=m
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V2=m
+CONFIG_NFS_V3=m
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=m
+CONFIG_NFS_SWAP=y
+CONFIG_NFS_V4_1=y
+CONFIG_PNFS_FILE_LAYOUT=m
+CONFIG_PNFS_BLOCK=m
+CONFIG_PNFS_OBJLAYOUT=m
+CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="linux-libre.fsfla.org"
+CONFIG_NFS_FSCACHE=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFS_DEBUG=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+# CONFIG_NFSD_FAULT_INJECTION is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_SUNRPC_BACKCHANNEL=y
+CONFIG_SUNRPC_SWAP=y
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_SUNRPC_DEBUG=y
+CONFIG_CEPH_FS=m
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+CONFIG_CIFS_UPCALL=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_CIFS_ACL=y
+# CONFIG_CIFS_DEBUG is not set
+CONFIG_CIFS_DFS_UPCALL=y
+CONFIG_CIFS_SMB2=y
+CONFIG_CIFS_FSCACHE=y
+CONFIG_NCP_FS=m
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+# CONFIG_NCPFS_EXTRAS is not set
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_MAC_ROMAN=m
+CONFIG_NLS_MAC_CELTIC=m
+CONFIG_NLS_MAC_CENTEURO=m
+CONFIG_NLS_MAC_CROATIAN=m
+CONFIG_NLS_MAC_CYRILLIC=m
+CONFIG_NLS_MAC_GAELIC=m
+CONFIG_NLS_MAC_GREEK=m
+CONFIG_NLS_MAC_ICELAND=m
+CONFIG_NLS_MAC_INUIT=m
+CONFIG_NLS_MAC_ROMANIAN=m
+CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+CONFIG_ENABLE_WARN_DEPRECATED=y
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_STRIP_ASM_SYMS=y
+# CONFIG_READABLE_ASM is not set
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_LOCKUP_DETECTOR=y
+CONFIG_HARDLOCKUP_DETECTOR=y
+# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
+# CONFIG_RCU_CPU_STALL_INFO is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+CONFIG_LKDTM=m
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_FENTRY=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+CONFIG_SCHED_TRACER=y
+CONFIG_FTRACE_SYSCALLS=y
+CONFIG_TRACER_SNAPSHOT=y
+# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+CONFIG_STACK_TRACER=y
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_KPROBE_EVENT=y
+CONFIG_UPROBE_EVENT=y
+CONFIG_PROBE_EVENTS=y
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_FUNCTION_PROFILER=y
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE_TEST is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+# CONFIG_RBTREE_TEST is not set
+# CONFIG_INTERVAL_TREE_TEST is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+CONFIG_DYNAMIC_DEBUG=y
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+CONFIG_ASYNC_RAID6_TEST=m
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_TEST_STRING_HELPERS is not set
+CONFIG_TEST_KSTRTOX=m
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+# CONFIG_X86_PTDUMP is not set
+CONFIG_DEBUG_RODATA=y
+# CONFIG_DEBUG_RODATA_TEST is not set
+# CONFIG_DEBUG_SET_MODULE_RONX is not set
+# CONFIG_DEBUG_NX_TEST is not set
+# CONFIG_DEBUG_TLBFLUSH is not set
+# CONFIG_IOMMU_DEBUG is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+# CONFIG_X86_DECODER_SELFTEST is not set
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_NMI_SELFTEST is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_TRUSTED_KEYS=m
+CONFIG_ENCRYPTED_KEYS=m
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+CONFIG_SECURITY_PATH=y
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+CONFIG_SECURITY_TOMOYO=y
+CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
+CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
+# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set
+CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/usr/bin/tomoyo-init"
+CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/usr/lib/systemd/systemd"
+CONFIG_SECURITY_APPARMOR=y
+CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0
+CONFIG_SECURITY_YAMA=y
+CONFIG_SECURITY_YAMA_STACKED=y
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
+# CONFIG_DEFAULT_SECURITY_YAMA is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=m
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=m
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_ABLK_HELPER_X86=m
+CONFIG_CRYPTO_GLUE_HELPER_X86=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_SEQIV=m
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_CRC32=m
+CONFIG_CRYPTO_CRC32_PCLMUL=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA1_SSSE3=m
+CONFIG_CRYPTO_SHA256_SSSE3=m
+CONFIG_CRYPTO_SHA512_SSSE3=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_AES_X86_64=m
+CONFIG_CRYPTO_AES_NI_INTEL=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_BLOWFISH_COMMON=m
+CONFIG_CRYPTO_BLOWFISH_X86_64=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAMELLIA_X86_64=m
+CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
+CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
+CONFIG_CRYPTO_CAST_COMMON=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST5_AVX_X86_64=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_CAST6_AVX_X86_64=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_X86_64=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
+CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
+CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_TWOFISH_X86_64=m
+CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
+CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=y
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_USER_API=m
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_ASYMMETRIC_KEY_TYPE=m
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
+CONFIG_PUBLIC_KEY_ALGO_RSA=m
+CONFIG_X509_CERTIFICATE_PARSER=m
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_KVM_ASYNC_PF=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_KVM_MMU_AUDIT=y
+CONFIG_KVM_DEVICE_ASSIGNMENT=y
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=m
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_IO=y
+CONFIG_PERCPU_RWSEM=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_CRC8=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_REED_SOLOMON=m
+CONFIG_REED_SOLOMON_ENC8=y
+CONFIG_REED_SOLOMON_DEC8=y
+CONFIG_BCH=m
+CONFIG_BCH_CONST_PARAMS=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_LRU_CACHE=m
+CONFIG_AVERAGE=y
+CONFIG_CLZ_TAB=y
+CONFIG_CORDIC=m
+CONFIG_DDR=y
+CONFIG_MPILIB=m
+CONFIG_OID_REGISTRY=m
+CONFIG_UCS2_STRING=y
diff --git a/libre/linux-libre-lts/criu-no-expert.patch b/libre/linux-libre-lts/criu-no-expert.patch
new file mode 100644
index 000000000..2124427e9
--- /dev/null
+++ b/libre/linux-libre-lts/criu-no-expert.patch
@@ -0,0 +1,22 @@
+diff --git a/init/Kconfig b/init/Kconfig
+index be8b7f5..7461760 100644
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -989,7 +989,7 @@ config DEBUG_BLK_CGROUP
+ endif # CGROUPS
+
+ config CHECKPOINT_RESTORE
+- bool "Checkpoint/restore support" if EXPERT
++ bool "Checkpoint/restore support"
+ default n
+ help
+ Enables additional kernel features in a sake of checkpoint/restore.
+@@ -1000,7 +1000,7 @@ config CHECKPOINT_RESTORE
+ If unsure, say N here.
+
+ menuconfig NAMESPACES
+- bool "Namespaces support" if EXPERT
++ bool "Namespaces support"
+ default !EXPERT
+ help
+ Provides the way to make tasks work with different objects using
diff --git a/libre/linux-libre-lts/linux-libre-lts.install b/libre/linux-libre-lts/linux-libre-lts.install
new file mode 100644
index 000000000..7a4a271df
--- /dev/null
+++ b/libre/linux-libre-lts/linux-libre-lts.install
@@ -0,0 +1,35 @@
+# arg 1: the new package version
+# arg 2: the old package version
+
+KERNEL_NAME=-lts
+KERNEL_VERSION=
+
+post_install () {
+ # updating module dependencies
+ echo ">>> Updating module dependencies. Please wait ..."
+ depmod ${KERNEL_VERSION}
+ if command -v mkinitcpio 2>&1 > /dev/null; then
+ echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
+ mkinitcpio -p linux-libre${KERNEL_NAME}
+ fi
+}
+
+post_upgrade() {
+ if findmnt --fstab -uno SOURCE /boot &>/dev/null && ! mountpoint -q /boot; then
+ echo "WARNING: /boot appears to be a separate partition but is not mounted."
+ fi
+
+ # updating module dependencies
+ echo ">>> Updating module dependencies. Please wait ..."
+ depmod ${KERNEL_VERSION}
+ if command -v mkinitcpio 2>&1 > /dev/null; then
+ echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
+ mkinitcpio -p linux-libre${KERNEL_NAME}
+ fi
+}
+
+post_remove() {
+ # also remove the compat symlinks
+ rm -f boot/initramfs-linux-libre${KERNEL_NAME}.img
+ rm -f boot/initramfs-linux-libre${KERNEL_NAME}-fallback.img
+}
diff --git a/libre/linux-libre-lts/linux-libre-lts.preset b/libre/linux-libre-lts/linux-libre-lts.preset
new file mode 100644
index 000000000..37cf35ed0
--- /dev/null
+++ b/libre/linux-libre-lts/linux-libre-lts.preset
@@ -0,0 +1,14 @@
+# mkinitcpio preset file for the 'linux-libre-lts' package
+
+ALL_config="/etc/mkinitcpio.conf"
+ALL_kver="/boot/vmlinuz-linux-libre-lts"
+
+PRESETS=('default' 'fallback')
+
+#default_config="/etc/mkinitcpio.conf"
+default_image="/boot/initramfs-linux-libre-lts.img"
+#default_options=""
+
+#fallback_config="/etc/mkinitcpio.conf"
+fallback_image="/boot/initramfs-linux-libre-lts-fallback.img"
+fallback_options="-S autodetect"
diff --git a/libre/linux-libre-manpages/PKGBUILD b/libre/linux-libre-manpages/PKGBUILD
new file mode 100644
index 000000000..877805172
--- /dev/null
+++ b/libre/linux-libre-manpages/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 199517 2013-11-13 23:06:20Z thomas $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Maintainer: Thomas Baechler <thomas@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname=linux-libre-manpages
+pkgver=3.12
+pkgrel=1
+pkgdesc="Kernel hackers manual - Section 9 manpages that comes with the Linux-libre kernel"
+arch=('any')
+url="http://linux-libre.fsfla.org/"
+license=('GPL2')
+makedepends=('xmlto' 'docbook-xsl')
+replaces=('kernel26-manpages' 'kernel26-libre-manpages' 'linux-manpages')
+conflicts=('kernel26-manpages' 'kernel26-libre-manpages' 'linux-manpages')
+provides=('kernel26-manpages' 'linux-manpages')
+source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/linux-libre-${pkgver}-gnu.tar.xz")
+md5sums=('254f59707b6676b59ce5ca5c3c698319')
+
+build() {
+ cd "${srcdir}/linux-$pkgver"
+ make mandocs
+}
+
+package() {
+ install -d "${pkgdir}/usr/share/man/man9/"
+ install "${srcdir}"/linux-$pkgver/Documentation/DocBook/man/*.9.gz \
+ "${pkgdir}/usr/share/man/man9/"
+
+ find "${pkgdir}" -type f -exec chmod 644 {} \;
+}
diff --git a/libre/linux-libre-tools/cpupower.default b/libre/linux-libre-tools/cpupower.default
new file mode 100644
index 000000000..b5c522ea1
--- /dev/null
+++ b/libre/linux-libre-tools/cpupower.default
@@ -0,0 +1,29 @@
+# Define CPUs governor
+# valid governors: ondemand, performance, powersave, conservative, userspace.
+#governor='ondemand'
+
+# Limit frequency range
+# Valid suffixes: Hz, kHz (default), MHz, GHz, THz
+#min_freq="2.25GHz"
+#max_freq="3GHz"
+
+# Specific frequency to be set.
+# Requires userspace governor to be available.
+# Do not set governor field if you use this one.
+#freq=
+
+# Utilizes cores in one processor package/socket first before processes are
+# scheduled to other processor packages/sockets.
+# See man (1) CPUPOWER-SET for additional details.
+#mc_scheduler=
+
+# Utilizes thread siblings of one processor core first before processes are
+# scheduled to other cores. See man (1) CPUPOWER-SET for additional details.
+#smp_scheduler=
+
+# Sets a register on supported Intel processore which allows software to convey
+# its policy for the relative importance of performance versus energy savings to
+# the processor. See man (1) CPUPOWER-SET for additional details.
+#perf_bias=
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/linux-libre-tools/cpupower.install b/libre/linux-libre-tools/cpupower.install
new file mode 100644
index 000000000..10e07ae52
--- /dev/null
+++ b/libre/linux-libre-tools/cpupower.install
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ if [ "$(vercmp $2 3.7-4)" -le 0 ]; then
+ cat << EOF
+===> cpupower startup config file moved to /etc/default/cpupower
+EOF
+ fi
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/linux-libre-tools/cpupower.service b/libre/linux-libre-tools/cpupower.service
new file mode 100644
index 000000000..aaeba2b08
--- /dev/null
+++ b/libre/linux-libre-tools/cpupower.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Apply cpupower configuration
+
+[Service]
+Type=oneshot
+ExecStart=/usr/lib/systemd/scripts/cpupower
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/linux-libre-tools/cpupower.systemd b/libre/linux-libre-tools/cpupower.systemd
new file mode 100644
index 000000000..51c645415
--- /dev/null
+++ b/libre/linux-libre-tools/cpupower.systemd
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+. /etc/default/cpupower
+
+declare -i fail=0
+
+# parse frequency options
+declare -a params=()
+params+=(${governor:+-g $governor})
+params+=(${min_freq:+-d $min_freq})
+params+=(${max_freq:+-u $max_freq})
+params+=(${freq:+-f $freq})
+
+# apply frequency options
+if ((${#params[@]} > 0)); then
+ cpupower frequency-set "${params[@]}" >/dev/null || fail=1
+fi
+
+# parse cpu options
+declare -a params=()
+params+=(${mc_scheduler:+-m $mc_scheduler})
+params+=(${smp_scheduler:+-s $smp_scheduler})
+params+=(${perf_bias:+-b $perf_bias})
+
+# apply cpu options
+if ((${#params[@]} > 0)); then
+ cpupower set "${params[@]}" >/dev/null || fail=1
+fi
+
+exit $fail
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/linux-libre-tools/usbipd.service b/libre/linux-libre-tools/usbipd.service
new file mode 100644
index 000000000..1807e94b1
--- /dev/null
+++ b/libre/linux-libre-tools/usbipd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=USB/IP server
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/usbipd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/linux-libre/0001-x86-x32-Correct-invalid-use-of-user-timespec-in-the-.patch b/libre/linux-libre/0001-x86-x32-Correct-invalid-use-of-user-timespec-in-the-.patch
new file mode 100644
index 000000000..3f1bccc80
--- /dev/null
+++ b/libre/linux-libre/0001-x86-x32-Correct-invalid-use-of-user-timespec-in-the-.patch
@@ -0,0 +1,80 @@
+From 2def2ef2ae5f3990aabdbe8a755911902707d268 Mon Sep 17 00:00:00 2001
+From: PaX Team <pageexec@freemail.hu>
+Date: Thu, 30 Jan 2014 16:59:25 -0800
+Subject: [PATCH] x86, x32: Correct invalid use of user timespec in the kernel
+
+The x32 case for the recvmsg() timout handling is broken:
+
+ asmlinkage long compat_sys_recvmmsg(int fd, struct compat_mmsghdr __user *mmsg,
+ unsigned int vlen, unsigned int flags,
+ struct compat_timespec __user *timeout)
+ {
+ int datagrams;
+ struct timespec ktspec;
+
+ if (flags & MSG_CMSG_COMPAT)
+ return -EINVAL;
+
+ if (COMPAT_USE_64BIT_TIME)
+ return __sys_recvmmsg(fd, (struct mmsghdr __user *)mmsg, vlen,
+ flags | MSG_CMSG_COMPAT,
+ (struct timespec *) timeout);
+ ...
+
+The timeout pointer parameter is provided by userland (hence the __user
+annotation) but for x32 syscalls it's simply cast to a kernel pointer
+and is passed to __sys_recvmmsg which will eventually directly
+dereference it for both reading and writing. Other callers to
+__sys_recvmmsg properly copy from userland to the kernel first.
+
+The bug was introduced by commit ee4fa23c4bfc ("compat: Use
+COMPAT_USE_64BIT_TIME in net/compat.c") and should affect all kernels
+since 3.4 (and perhaps vendor kernels if they backported x32 support
+along with this code).
+
+Note that CONFIG_X86_X32_ABI gets enabled at build time and only if
+CONFIG_X86_X32 is enabled and ld can build x32 executables.
+
+Other uses of COMPAT_USE_64BIT_TIME seem fine.
+
+This addresses CVE-2014-0038.
+
+Signed-off-by: PaX Team <pageexec@freemail.hu>
+Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
+Cc: <stable@vger.kernel.org> # v3.4+
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+---
+ net/compat.c | 9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/net/compat.c b/net/compat.c
+index dd32e34..f50161f 100644
+--- a/net/compat.c
++++ b/net/compat.c
+@@ -780,21 +780,16 @@ asmlinkage long compat_sys_recvmmsg(int fd, struct compat_mmsghdr __user *mmsg,
+ if (flags & MSG_CMSG_COMPAT)
+ return -EINVAL;
+
+- if (COMPAT_USE_64BIT_TIME)
+- return __sys_recvmmsg(fd, (struct mmsghdr __user *)mmsg, vlen,
+- flags | MSG_CMSG_COMPAT,
+- (struct timespec *) timeout);
+-
+ if (timeout == NULL)
+ return __sys_recvmmsg(fd, (struct mmsghdr __user *)mmsg, vlen,
+ flags | MSG_CMSG_COMPAT, NULL);
+
+- if (get_compat_timespec(&ktspec, timeout))
++ if (compat_get_timespec(&ktspec, timeout))
+ return -EFAULT;
+
+ datagrams = __sys_recvmmsg(fd, (struct mmsghdr __user *)mmsg, vlen,
+ flags | MSG_CMSG_COMPAT, &ktspec);
+- if (datagrams > 0 && put_compat_timespec(&ktspec, timeout))
++ if (datagrams > 0 && compat_put_timespec(&ktspec, timeout))
+ datagrams = -EFAULT;
+
+ return datagrams;
+--
+1.8.5.3
+
diff --git a/libre/linux-libre/ChangeLog b/libre/linux-libre/ChangeLog
new file mode 100644
index 000000000..5259f3e89
--- /dev/null
+++ b/libre/linux-libre/ChangeLog
@@ -0,0 +1,39 @@
+2013-07-15 André Silva <emulatorman@parabola.nu>
+
+ * linux-libre-3.10.1-1
+ * Removed linux-libre-kmod-alx package from Parabola due which CONFIG_ALX module was implemented by default in the kernel.
+
+2013-04-30 André Silva <emulatorman@parabola.nu>
+
+ * linux-libre-3.9-2
+ * Removed CONFIG_STUB_POULSBO module from config files.
+
+2012-12-19 André Silva <emulatorman@parabola.nu>
+
+ * linux-libre-3.7.1-1
+ * Replaced CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" to CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="linux-libre.fsfla.org"
+
+2012-05-26 André Silva <emulatorman@parabola.nu>
+
+ * linux-libre-3.4-1.2
+ * Disabled CONFIG_MICROCODE_INTEL and CONFIG_MICROCODE_AMD modules [3]
+
+2012-04-24 André Silva <emulatorman@parabola.nu>
+
+ * linux-libre-3.3.3-1
+ * Disabled CONFIG_STUB_POULSBO module [2]
+
+2012-04-08 André Silva <emulatorman@parabola.nu>
+
+ * linux-libre-3.3.1-1.1
+ * Disabled CONFIG_IPW2100 and CONFIG_IPW2200 modules [1]
+
+2012-03-03 André Silva <emulatorman@parabola.nu>
+
+ * linux-libre-3.2.9-2
+ * Enabled CONFIG_FB_VT8623 module [0]
+
+[0] https://labs.parabola.nu/issues/14
+[1] https://labs.parabola.nu/issues/47
+[2] https://labs.parabola.nu/issues/90
+[3] https://labs.parabola.nu/issues/116
diff --git a/libre/linux-libre/Kbuild b/libre/linux-libre/Kbuild
new file mode 100644
index 000000000..8a9d7dceb
--- /dev/null
+++ b/libre/linux-libre/Kbuild
@@ -0,0 +1,19 @@
+# Fail on warnings - also for files referenced in subdirs
+# -Werror can be disabled for specific files using:
+# CFLAGS_<file.o> := -Wno-error
+subdir-ccflags-y := -Wno-error
+
+# platform specific definitions
+include arch/mips/Kbuild.platforms
+obj-y := $(platform-y)
+
+# make clean traverses $(obj-) without having included .config, so
+# everything ends up here
+obj- := $(platform-)
+
+# mips object files
+# The object files are linked as core-y files would be linked
+
+obj-y += kernel/
+obj-y += mm/
+obj-y += math-emu/
diff --git a/libre/linux-libre/Kbuild.platforms b/libre/linux-libre/Kbuild.platforms
new file mode 100644
index 000000000..90a226888
--- /dev/null
+++ b/libre/linux-libre/Kbuild.platforms
@@ -0,0 +1,6 @@
+# All platforms listed in alphabetic order
+
+platforms += loongson
+
+# include the platform specific files
+include $(patsubst %, $(srctree)/arch/mips/%/Platform, $(platforms))
diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD
index 3b6e38fb8..384490ae6 100644
--- a/libre/linux-libre/PKGBUILD
+++ b/libre/linux-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 204729 2014-01-26 08:54:46Z thomas $
+# $Id: PKGBUILD 204911 2014-01-31 09:59:51Z bluewind $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
@@ -12,8 +12,8 @@ pkgbase=linux-libre # Build stock -LIBRE kernel
_basekernel=3.12
_sublevel=9
pkgver=${_basekernel}.${_sublevel}
-pkgrel=1
-_lxopkgver=${_basekernel}.8 # nearly always the same as pkgver
+pkgrel=2
+_lxopkgver=${_basekernel}.9 # nearly always the same as pkgver
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
@@ -36,6 +36,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch'
'sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch'
'rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch'
+ '0001-x86-x32-Correct-invalid-use-of-user-timespec-in-the-.patch'
"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.xz")
md5sums=('254f59707b6676b59ce5ca5c3c698319'
'348975e36e4dd27f5d8fc50e92de8922'
@@ -53,7 +54,8 @@ md5sums=('254f59707b6676b59ce5ca5c3c698319'
'cec0bb8981936eab2943b2009b7a6fff'
'88d9cddf9e0050a76ec4674f264fb2a1'
'cb9016630212ef07b168892fbcfd4e5d'
- '0569e96c071703cc244f1ea7ee87d40a')
+ '336d2c4afd7ee5f2bdf0dcb1a54df4b2'
+ '9cdff00e5aa53962869857d64a1ccf01')
if [ "$CARCH" != "mips64el" ]; then
# don't use the Loongson-specific patches on non-mips64el arches.
unset source[${#source[@]}-1]
@@ -99,6 +101,9 @@ prepare() {
patch -Np1 -i "${srcdir}/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch"
+ # Fix CVE-2014-0038
+ patch -p1 -i "${srcdir}/0001-x86-x32-Correct-invalid-use-of-user-timespec-in-the-.patch"
+
if [ "$CARCH" == "mips64el" ]; then
sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre|" Makefile
sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \
diff --git a/libre/linux-libre/boot-logo.patch b/libre/linux-libre/boot-logo.patch
new file mode 100644
index 000000000..3f4e0dea4
--- /dev/null
+++ b/libre/linux-libre/boot-logo.patch
@@ -0,0 +1,23167 @@
+diff --git a/drivers/video/logo/logo_linux_clut224.ppm b/drivers/video/logo/logo_linux_clut224.ppm
+index 3c14e43..c9d8373 100644
+--- a/drivers/video/logo/logo_linux_clut224.ppm
++++ b/drivers/video/logo/logo_linux_clut224.ppm
+@@ -1,1604 +1,861 @@
+ P3
+-# Standard 224-color Linux logo
+-80 80
++80 78
+ 255
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 6 6 6 10 10 10 10 10 10
+- 10 10 10 6 6 6 6 6 6 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 10 10 10 14 14 14
+- 22 22 22 26 26 26 30 30 30 34 34 34
+- 30 30 30 30 30 30 26 26 26 18 18 18
+- 14 14 14 10 10 10 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 26 26 26 42 42 42
+- 54 54 54 66 66 66 78 78 78 78 78 78
+- 78 78 78 74 74 74 66 66 66 54 54 54
+- 42 42 42 26 26 26 18 18 18 10 10 10
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 22 22 22 42 42 42 66 66 66 86 86 86
+- 66 66 66 38 38 38 38 38 38 22 22 22
+- 26 26 26 34 34 34 54 54 54 66 66 66
+- 86 86 86 70 70 70 46 46 46 26 26 26
+- 14 14 14 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 26 26 26
+- 50 50 50 82 82 82 58 58 58 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 54 54 54 86 86 86 66 66 66
+- 38 38 38 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 22 22 22 50 50 50
+- 78 78 78 34 34 34 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 6 6 6 70 70 70
+- 78 78 78 46 46 46 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 42 42 42 82 82 82
+- 26 26 26 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 14 14 14
+- 46 46 46 34 34 34 6 6 6 2 2 6
+- 42 42 42 78 78 78 42 42 42 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 0 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 10 10 10 30 30 30 66 66 66 58 58 58
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 26 26 26
+- 86 86 86 101 101 101 46 46 46 10 10 10
+- 2 2 6 58 58 58 70 70 70 34 34 34
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 14 14 14 42 42 42 86 86 86 10 10 10
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 30 30 30
+- 94 94 94 94 94 94 58 58 58 26 26 26
+- 2 2 6 6 6 6 78 78 78 54 54 54
+- 22 22 22 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 22 22 22 62 62 62 62 62 62 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 26 26 26
+- 54 54 54 38 38 38 18 18 18 10 10 10
+- 2 2 6 2 2 6 34 34 34 82 82 82
+- 38 38 38 14 14 14 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 30 30 30 78 78 78 30 30 30 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 10 10 10
+- 10 10 10 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 78 78 78
+- 50 50 50 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 86 86 86 14 14 14 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 54 54 54
+- 66 66 66 26 26 26 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 82 82 82 2 2 6 2 2 6
+- 2 2 6 6 6 6 10 10 10 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 6 6 6
+- 14 14 14 10 10 10 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 18 18 18
+- 82 82 82 34 34 34 10 10 10 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 2 2 6
+- 6 6 6 6 6 6 22 22 22 34 34 34
+- 6 6 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 18 18 18 34 34 34
+- 10 10 10 50 50 50 22 22 22 2 2 6
+- 2 2 6 2 2 6 2 2 6 10 10 10
+- 86 86 86 42 42 42 14 14 14 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 2 2 6
+- 38 38 38 116 116 116 94 94 94 22 22 22
+- 22 22 22 2 2 6 2 2 6 2 2 6
+- 14 14 14 86 86 86 138 138 138 162 162 162
+-154 154 154 38 38 38 26 26 26 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 86 86 86 46 46 46 14 14 14 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 14 14 14
+-134 134 134 198 198 198 195 195 195 116 116 116
+- 10 10 10 2 2 6 2 2 6 6 6 6
+-101 98 89 187 187 187 210 210 210 218 218 218
+-214 214 214 134 134 134 14 14 14 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 86 86 86 50 50 50 18 18 18 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 1 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 54 54 54
+-218 218 218 195 195 195 226 226 226 246 246 246
+- 58 58 58 2 2 6 2 2 6 30 30 30
+-210 210 210 253 253 253 174 174 174 123 123 123
+-221 221 221 234 234 234 74 74 74 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 70 70 70 58 58 58 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 82 82 82 2 2 6 106 106 106
+-170 170 170 26 26 26 86 86 86 226 226 226
+-123 123 123 10 10 10 14 14 14 46 46 46
+-231 231 231 190 190 190 6 6 6 70 70 70
+- 90 90 90 238 238 238 158 158 158 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 70 70 70 58 58 58 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 1 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 86 86 86 6 6 6 116 116 116
+-106 106 106 6 6 6 70 70 70 149 149 149
+-128 128 128 18 18 18 38 38 38 54 54 54
+-221 221 221 106 106 106 2 2 6 14 14 14
+- 46 46 46 190 190 190 198 198 198 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 74 74 74 62 62 62 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 1 0 0 0
+- 0 0 1 0 0 0 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 94 94 94 14 14 14 101 101 101
+-128 128 128 2 2 6 18 18 18 116 116 116
+-118 98 46 121 92 8 121 92 8 98 78 10
+-162 162 162 106 106 106 2 2 6 2 2 6
+- 2 2 6 195 195 195 195 195 195 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 74 74 74 62 62 62 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 1 0 0 1
+- 0 0 1 0 0 0 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 90 90 90 14 14 14 58 58 58
+-210 210 210 26 26 26 54 38 6 154 114 10
+-226 170 11 236 186 11 225 175 15 184 144 12
+-215 174 15 175 146 61 37 26 9 2 2 6
+- 70 70 70 246 246 246 138 138 138 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 70 70 70 66 66 66 26 26 26 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 86 86 86 14 14 14 10 10 10
+-195 195 195 188 164 115 192 133 9 225 175 15
+-239 182 13 234 190 10 232 195 16 232 200 30
+-245 207 45 241 208 19 232 195 16 184 144 12
+-218 194 134 211 206 186 42 42 42 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 50 50 50 74 74 74 30 30 30 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 34 34 34 86 86 86 14 14 14 2 2 6
+-121 87 25 192 133 9 219 162 10 239 182 13
+-236 186 11 232 195 16 241 208 19 244 214 54
+-246 218 60 246 218 38 246 215 20 241 208 19
+-241 208 19 226 184 13 121 87 25 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 50 50 50 82 82 82 34 34 34 10 10 10
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 34 34 34 82 82 82 30 30 30 61 42 6
+-180 123 7 206 145 10 230 174 11 239 182 13
+-234 190 10 238 202 15 241 208 19 246 218 74
+-246 218 38 246 215 20 246 215 20 246 215 20
+-226 184 13 215 174 15 184 144 12 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 26 26 26 94 94 94 42 42 42 14 14 14
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 78 78 78 50 50 50 104 69 6
+-192 133 9 216 158 10 236 178 12 236 186 11
+-232 195 16 241 208 19 244 214 54 245 215 43
+-246 215 20 246 215 20 241 208 19 198 155 10
+-200 144 11 216 158 10 156 118 10 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 90 90 90 54 54 54 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 78 78 78 46 46 46 22 22 22
+-137 92 6 210 162 10 239 182 13 238 190 10
+-238 202 15 241 208 19 246 215 20 246 215 20
+-241 208 19 203 166 17 185 133 11 210 150 10
+-216 158 10 210 150 10 102 78 10 2 2 6
+- 6 6 6 54 54 54 14 14 14 2 2 6
+- 2 2 6 62 62 62 74 74 74 30 30 30
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 34 34 34 78 78 78 50 50 50 6 6 6
+- 94 70 30 139 102 15 190 146 13 226 184 13
+-232 200 30 232 195 16 215 174 15 190 146 13
+-168 122 10 192 133 9 210 150 10 213 154 11
+-202 150 34 182 157 106 101 98 89 2 2 6
+- 2 2 6 78 78 78 116 116 116 58 58 58
+- 2 2 6 22 22 22 90 90 90 46 46 46
+- 18 18 18 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 86 86 86 50 50 50 6 6 6
+-128 128 128 174 154 114 156 107 11 168 122 10
+-198 155 10 184 144 12 197 138 11 200 144 11
+-206 145 10 206 145 10 197 138 11 188 164 115
+-195 195 195 198 198 198 174 174 174 14 14 14
+- 2 2 6 22 22 22 116 116 116 116 116 116
+- 22 22 22 2 2 6 74 74 74 70 70 70
+- 30 30 30 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 101 101 101 26 26 26 10 10 10
+-138 138 138 190 190 190 174 154 114 156 107 11
+-197 138 11 200 144 11 197 138 11 192 133 9
+-180 123 7 190 142 34 190 178 144 187 187 187
+-202 202 202 221 221 221 214 214 214 66 66 66
+- 2 2 6 2 2 6 50 50 50 62 62 62
+- 6 6 6 2 2 6 10 10 10 90 90 90
+- 50 50 50 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 34 34 34
+- 74 74 74 74 74 74 2 2 6 6 6 6
+-144 144 144 198 198 198 190 190 190 178 166 146
+-154 121 60 156 107 11 156 107 11 168 124 44
+-174 154 114 187 187 187 190 190 190 210 210 210
+-246 246 246 253 253 253 253 253 253 182 182 182
+- 6 6 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 62 62 62
+- 74 74 74 34 34 34 14 14 14 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 10 10 10 22 22 22 54 54 54
+- 94 94 94 18 18 18 2 2 6 46 46 46
+-234 234 234 221 221 221 190 190 190 190 190 190
+-190 190 190 187 187 187 187 187 187 190 190 190
+-190 190 190 195 195 195 214 214 214 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+- 82 82 82 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 14 14 14
+- 86 86 86 54 54 54 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 46 46 46 90 90 90
+- 46 46 46 18 18 18 6 6 6 182 182 182
+-253 253 253 246 246 246 206 206 206 190 190 190
+-190 190 190 190 190 190 190 190 190 190 190 190
+-206 206 206 231 231 231 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-202 202 202 14 14 14 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 42 42 42 86 86 86 42 42 42 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 14 14 14 38 38 38 74 74 74 66 66 66
+- 2 2 6 6 6 6 90 90 90 250 250 250
+-253 253 253 253 253 253 238 238 238 198 198 198
+-190 190 190 190 190 190 195 195 195 221 221 221
+-246 246 246 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 82 82 82 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 78 78 78 70 70 70 34 34 34
+- 14 14 14 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 34 34 34 66 66 66 78 78 78 6 6 6
+- 2 2 6 18 18 18 218 218 218 253 253 253
+-253 253 253 253 253 253 253 253 253 246 246 246
+-226 226 226 231 231 231 246 246 246 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 178 178 178 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 18 18 18 90 90 90 62 62 62
+- 30 30 30 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 26 26 26
+- 58 58 58 90 90 90 18 18 18 2 2 6
+- 2 2 6 110 110 110 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 231 231 231 18 18 18 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 18 18 18 94 94 94
+- 54 54 54 26 26 26 10 10 10 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 22 22 22 50 50 50
+- 90 90 90 26 26 26 2 2 6 2 2 6
+- 14 14 14 195 195 195 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 242 242 242 54 54 54 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 38 38 38
+- 86 86 86 50 50 50 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 38 38 38 82 82 82
+- 34 34 34 2 2 6 2 2 6 2 2 6
+- 42 42 42 195 195 195 246 246 246 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-242 242 242 242 242 242 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 250 250 250 246 246 246 238 238 238
+-226 226 226 231 231 231 101 101 101 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 38 38 38 82 82 82 42 42 42 14 14 14
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 10 10 10 26 26 26 62 62 62 66 66 66
+- 2 2 6 2 2 6 2 2 6 6 6 6
+- 70 70 70 170 170 170 206 206 206 234 234 234
+-246 246 246 250 250 250 250 250 250 238 238 238
+-226 226 226 231 231 231 238 238 238 250 250 250
+-250 250 250 250 250 250 246 246 246 231 231 231
+-214 214 214 206 206 206 202 202 202 202 202 202
+-198 198 198 202 202 202 182 182 182 18 18 18
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 62 62 62 66 66 66 30 30 30
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 14 14 14 42 42 42 82 82 82 18 18 18
+- 2 2 6 2 2 6 2 2 6 10 10 10
+- 94 94 94 182 182 182 218 218 218 242 242 242
+-250 250 250 253 253 253 253 253 253 250 250 250
+-234 234 234 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 246 246 246
+-238 238 238 226 226 226 210 210 210 202 202 202
+-195 195 195 195 195 195 210 210 210 158 158 158
+- 6 6 6 14 14 14 50 50 50 14 14 14
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 86 86 86 46 46 46
+- 18 18 18 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 22 22 22 54 54 54 70 70 70 2 2 6
+- 2 2 6 10 10 10 2 2 6 22 22 22
+-166 166 166 231 231 231 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-242 242 242 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 246 246 246
+-231 231 231 206 206 206 198 198 198 226 226 226
+- 94 94 94 2 2 6 6 6 6 38 38 38
+- 30 30 30 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 62 62 62 66 66 66
+- 26 26 26 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 74 74 74 50 50 50 2 2 6
+- 26 26 26 26 26 26 2 2 6 106 106 106
+-238 238 238 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 246 246 246 218 218 218 202 202 202
+-210 210 210 14 14 14 2 2 6 2 2 6
+- 30 30 30 22 22 22 2 2 6 2 2 6
+- 2 2 6 2 2 6 18 18 18 86 86 86
+- 42 42 42 14 14 14 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 90 90 90 22 22 22 2 2 6
+- 42 42 42 2 2 6 18 18 18 218 218 218
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 250 250 250 221 221 221
+-218 218 218 101 101 101 2 2 6 14 14 14
+- 18 18 18 38 38 38 10 10 10 2 2 6
+- 2 2 6 2 2 6 2 2 6 78 78 78
+- 58 58 58 22 22 22 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 54 54 54 82 82 82 2 2 6 26 26 26
+- 22 22 22 2 2 6 123 123 123 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-238 238 238 198 198 198 6 6 6 38 38 38
+- 58 58 58 26 26 26 38 38 38 2 2 6
+- 2 2 6 2 2 6 2 2 6 46 46 46
+- 78 78 78 30 30 30 10 10 10 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 30 30 30
+- 74 74 74 58 58 58 2 2 6 42 42 42
+- 2 2 6 22 22 22 231 231 231 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 246 246 246 46 46 46 38 38 38
+- 42 42 42 14 14 14 38 38 38 14 14 14
+- 2 2 6 2 2 6 2 2 6 6 6 6
+- 86 86 86 46 46 46 14 14 14 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 14 14 14 42 42 42
+- 90 90 90 18 18 18 18 18 18 26 26 26
+- 2 2 6 116 116 116 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 250 250 250 238 238 238
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 94 94 94 6 6 6
+- 2 2 6 2 2 6 10 10 10 34 34 34
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 74 74 74 58 58 58 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 10 10 10 26 26 26 66 66 66
+- 82 82 82 2 2 6 38 38 38 6 6 6
+- 14 14 14 210 210 210 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 246 246 246 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 144 144 144 2 2 6
+- 2 2 6 2 2 6 2 2 6 46 46 46
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 42 42 42 74 74 74 30 30 30 10 10 10
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 42 42 42 90 90 90
+- 26 26 26 6 6 6 42 42 42 2 2 6
+- 74 74 74 250 250 250 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 242 242 242 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 182 182 182 2 2 6
+- 2 2 6 2 2 6 2 2 6 46 46 46
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 10 10 10 86 86 86 38 38 38 10 10 10
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 10 10 10 26 26 26 66 66 66 82 82 82
+- 2 2 6 22 22 22 18 18 18 2 2 6
+-149 149 149 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 206 206 206 2 2 6
+- 2 2 6 2 2 6 2 2 6 38 38 38
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 86 86 86 46 46 46 14 14 14
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 18 18 18 46 46 46 86 86 86 18 18 18
+- 2 2 6 34 34 34 10 10 10 6 6 6
+-210 210 210 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 221 221 221 6 6 6
+- 2 2 6 2 2 6 6 6 6 30 30 30
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 82 82 82 54 54 54 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 26 26 26 66 66 66 62 62 62 2 2 6
+- 2 2 6 38 38 38 10 10 10 26 26 26
+-238 238 238 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 238 238 238
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 6 6 6
+- 2 2 6 2 2 6 10 10 10 30 30 30
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 58 58 58 22 22 22
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 78 78 78 6 6 6 2 2 6
+- 2 2 6 46 46 46 14 14 14 42 42 42
+-246 246 246 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 10 10 10
+- 2 2 6 2 2 6 22 22 22 14 14 14
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 62 62 62 22 22 22
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 74 74 74 2 2 6 2 2 6
+- 14 14 14 70 70 70 34 34 34 62 62 62
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 14 14 14
+- 2 2 6 2 2 6 30 30 30 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 62 62 62 22 22 22
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 54 54 54 62 62 62 2 2 6 2 2 6
+- 2 2 6 30 30 30 46 46 46 70 70 70
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 226 226 226 10 10 10
+- 2 2 6 6 6 6 30 30 30 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 58 58 58 22 22 22
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 22 22 22
+- 58 58 58 62 62 62 2 2 6 2 2 6
+- 2 2 6 2 2 6 30 30 30 78 78 78
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 206 206 206 2 2 6
+- 22 22 22 34 34 34 18 14 6 22 22 22
+- 26 26 26 18 18 18 6 6 6 2 2 6
+- 2 2 6 82 82 82 54 54 54 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 26 26 26
+- 62 62 62 106 106 106 74 54 14 185 133 11
+-210 162 10 121 92 8 6 6 6 62 62 62
+-238 238 238 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 158 158 158 18 18 18
+- 14 14 14 2 2 6 2 2 6 2 2 6
+- 6 6 6 18 18 18 66 66 66 38 38 38
+- 6 6 6 94 94 94 50 50 50 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 10 10 10 10 10 10 18 18 18 38 38 38
+- 78 78 78 142 134 106 216 158 10 242 186 14
+-246 190 14 246 190 14 156 118 10 10 10 10
+- 90 90 90 238 238 238 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 250 250 250
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 246 230 190
+-238 204 91 238 204 91 181 142 44 37 26 9
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 38 38 38 46 46 46
+- 26 26 26 106 106 106 54 54 54 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 14 14 14 22 22 22
+- 30 30 30 38 38 38 50 50 50 70 70 70
+-106 106 106 190 142 34 226 170 11 242 186 14
+-246 190 14 246 190 14 246 190 14 154 114 10
+- 6 6 6 74 74 74 226 226 226 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 250 250 250
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 228 184 62
+-241 196 14 241 208 19 232 195 16 38 30 10
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 30 30 30 26 26 26
+-203 166 17 154 142 90 66 66 66 26 26 26
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 38 38 38 58 58 58
+- 78 78 78 86 86 86 101 101 101 123 123 123
+-175 146 61 210 150 10 234 174 13 246 186 14
+-246 190 14 246 190 14 246 190 14 238 190 10
+-102 78 10 2 2 6 46 46 46 198 198 198
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 224 178 62
+-242 186 14 241 196 14 210 166 10 22 18 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 6 6 6 121 92 8
+-238 202 15 232 195 16 82 82 82 34 34 34
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 14 14 14 38 38 38 70 70 70 154 122 46
+-190 142 34 200 144 11 197 138 11 197 138 11
+-213 154 11 226 170 11 242 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-225 175 15 46 32 6 2 2 6 22 22 22
+-158 158 158 250 250 250 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 250 250 250 242 242 242 224 178 62
+-239 182 13 236 186 11 213 154 11 46 32 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 61 42 6 225 175 15
+-238 190 10 236 186 11 112 100 78 42 42 42
+- 14 14 14 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 22 22 22 54 54 54 154 122 46 213 154 11
+-226 170 11 230 174 11 226 170 11 226 170 11
+-236 178 12 242 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-241 196 14 184 144 12 10 10 10 2 2 6
+- 6 6 6 116 116 116 242 242 242 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 231 231 231 198 198 198 214 170 54
+-236 178 12 236 178 12 210 150 10 137 92 6
+- 18 14 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 70 47 6 200 144 11 236 178 12
+-239 182 13 239 182 13 124 112 88 58 58 58
+- 22 22 22 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 70 70 70 180 133 36 226 170 11
+-239 182 13 242 186 14 242 186 14 246 186 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 232 195 16 98 70 6 2 2 6
+- 2 2 6 2 2 6 66 66 66 221 221 221
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 206 206 206 198 198 198 214 166 58
+-230 174 11 230 174 11 216 158 10 192 133 9
+-163 110 8 116 81 8 102 78 10 116 81 8
+-167 114 7 197 138 11 226 170 11 239 182 13
+-242 186 14 242 186 14 162 146 94 78 78 78
+- 34 34 34 14 14 14 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 30 30 30 78 78 78 190 142 34 226 170 11
+-239 182 13 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 241 196 14 203 166 17 22 18 6
+- 2 2 6 2 2 6 2 2 6 38 38 38
+-218 218 218 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 206 206 206 198 198 198 202 162 69
+-226 170 11 236 178 12 224 166 10 210 150 10
+-200 144 11 197 138 11 192 133 9 197 138 11
+-210 150 10 226 170 11 242 186 14 246 190 14
+-246 190 14 246 186 14 225 175 15 124 112 88
+- 62 62 62 30 30 30 14 14 14 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 78 78 78 174 135 50 224 166 10
+-239 182 13 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 241 196 14 139 102 15
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 78 78 78 250 250 250 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 214 214 214 198 198 198 190 150 46
+-219 162 10 236 178 12 234 174 13 224 166 10
+-216 158 10 213 154 11 213 154 11 216 158 10
+-226 170 11 239 182 13 246 190 14 246 190 14
+-246 190 14 246 190 14 242 186 14 206 162 42
+-101 101 101 58 58 58 30 30 30 14 14 14
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 74 74 74 174 135 50 216 158 10
+-236 178 12 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 241 196 14 226 184 13
+- 61 42 6 2 2 6 2 2 6 2 2 6
+- 22 22 22 238 238 238 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 226 226 226 187 187 187 180 133 36
+-216 158 10 236 178 12 239 182 13 236 178 12
+-230 174 11 226 170 11 226 170 11 230 174 11
+-236 178 12 242 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 186 14 239 182 13
+-206 162 42 106 106 106 66 66 66 34 34 34
+- 14 14 14 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 26 26 26 70 70 70 163 133 67 213 154 11
+-236 178 12 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 241 196 14
+-190 146 13 18 14 6 2 2 6 2 2 6
+- 46 46 46 246 246 246 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 221 221 221 86 86 86 156 107 11
+-216 158 10 236 178 12 242 186 14 246 186 14
+-242 186 14 239 182 13 239 182 13 242 186 14
+-242 186 14 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-242 186 14 225 175 15 142 122 72 66 66 66
+- 30 30 30 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 26 26 26 70 70 70 163 133 67 210 150 10
+-236 178 12 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-232 195 16 121 92 8 34 34 34 106 106 106
+-221 221 221 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-242 242 242 82 82 82 18 14 6 163 110 8
+-216 158 10 236 178 12 242 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 242 186 14 163 133 67
+- 46 46 46 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 78 78 78 163 133 67 210 150 10
+-236 178 12 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-241 196 14 215 174 15 190 178 144 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 218 218 218
+- 58 58 58 2 2 6 22 18 6 167 114 7
+-216 158 10 236 178 12 246 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 186 14 242 186 14 190 150 46
+- 54 54 54 22 22 22 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 38 38 38 86 86 86 180 133 36 213 154 11
+-236 178 12 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 232 195 16 190 146 13 214 214 214
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 250 250 250 170 170 170 26 26 26
+- 2 2 6 2 2 6 37 26 9 163 110 8
+-219 162 10 239 182 13 246 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 186 14 236 178 12 224 166 10 142 122 72
+- 46 46 46 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 109 106 95 192 133 9 224 166 10
+-242 186 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-242 186 14 226 184 13 210 162 10 142 110 46
+-226 226 226 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-198 198 198 66 66 66 2 2 6 2 2 6
+- 2 2 6 2 2 6 50 34 6 156 107 11
+-219 162 10 239 182 13 246 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 242 186 14
+-234 174 13 213 154 11 154 122 46 66 66 66
+- 30 30 30 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 22 22 22
+- 58 58 58 154 121 60 206 145 10 234 174 13
+-242 186 14 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 186 14 236 178 12 210 162 10 163 110 8
+- 61 42 6 138 138 138 218 218 218 250 250 250
+-253 253 253 253 253 253 253 253 253 250 250 250
+-242 242 242 210 210 210 144 144 144 66 66 66
+- 6 6 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 61 42 6 163 110 8
+-216 158 10 236 178 12 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 239 182 13 230 174 11 216 158 10
+-190 142 34 124 112 88 70 70 70 38 38 38
+- 18 18 18 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 22 22 22
+- 62 62 62 168 124 44 206 145 10 224 166 10
+-236 178 12 239 182 13 242 186 14 242 186 14
+-246 186 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 236 178 12 216 158 10 175 118 6
+- 80 54 7 2 2 6 6 6 6 30 30 30
+- 54 54 54 62 62 62 50 50 50 38 38 38
+- 14 14 14 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 80 54 7 167 114 7
+-213 154 11 236 178 12 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 242 186 14 239 182 13 239 182 13
+-230 174 11 210 150 10 174 135 50 124 112 88
+- 82 82 82 54 54 54 34 34 34 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 158 118 36 192 133 9 200 144 11
+-216 158 10 219 162 10 224 166 10 226 170 11
+-230 174 11 236 178 12 239 182 13 239 182 13
+-242 186 14 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 186 14 230 174 11 210 150 10 163 110 8
+-104 69 6 10 10 10 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 91 60 6 167 114 7
+-206 145 10 230 174 11 242 186 14 246 190 14
+-246 190 14 246 190 14 246 186 14 242 186 14
+-239 182 13 230 174 11 224 166 10 213 154 11
+-180 133 36 124 112 88 86 86 86 58 58 58
+- 38 38 38 22 22 22 10 10 10 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 34 34 34 70 70 70 138 110 50 158 118 36
+-167 114 7 180 123 7 192 133 9 197 138 11
+-200 144 11 206 145 10 213 154 11 219 162 10
+-224 166 10 230 174 11 239 182 13 242 186 14
+-246 186 14 246 186 14 246 186 14 246 186 14
+-239 182 13 216 158 10 185 133 11 152 99 6
+-104 69 6 18 14 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 80 54 7 152 99 6
+-192 133 9 219 162 10 236 178 12 239 182 13
+-246 186 14 242 186 14 239 182 13 236 178 12
+-224 166 10 206 145 10 192 133 9 154 121 60
+- 94 94 94 62 62 62 42 42 42 22 22 22
+- 14 14 14 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 18 18 18 34 34 34 58 58 58 78 78 78
+-101 98 89 124 112 88 142 110 46 156 107 11
+-163 110 8 167 114 7 175 118 6 180 123 7
+-185 133 11 197 138 11 210 150 10 219 162 10
+-226 170 11 236 178 12 236 178 12 234 174 13
+-219 162 10 197 138 11 163 110 8 130 83 6
+- 91 60 6 10 10 10 2 2 6 2 2 6
+- 18 18 18 38 38 38 38 38 38 38 38 38
+- 38 38 38 38 38 38 38 38 38 38 38 38
+- 38 38 38 38 38 38 26 26 26 2 2 6
+- 2 2 6 6 6 6 70 47 6 137 92 6
+-175 118 6 200 144 11 219 162 10 230 174 11
+-234 174 13 230 174 11 219 162 10 210 150 10
+-192 133 9 163 110 8 124 112 88 82 82 82
+- 50 50 50 30 30 30 14 14 14 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 22 22 22 34 34 34
+- 42 42 42 58 58 58 74 74 74 86 86 86
+-101 98 89 122 102 70 130 98 46 121 87 25
+-137 92 6 152 99 6 163 110 8 180 123 7
+-185 133 11 197 138 11 206 145 10 200 144 11
+-180 123 7 156 107 11 130 83 6 104 69 6
+- 50 34 6 54 54 54 110 110 110 101 98 89
+- 86 86 86 82 82 82 78 78 78 78 78 78
+- 78 78 78 78 78 78 78 78 78 78 78 78
+- 78 78 78 82 82 82 86 86 86 94 94 94
+-106 106 106 101 101 101 86 66 34 124 80 6
+-156 107 11 180 123 7 192 133 9 200 144 11
+-206 145 10 200 144 11 192 133 9 175 118 6
+-139 102 15 109 106 95 70 70 70 42 42 42
+- 22 22 22 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 10 10 10
+- 14 14 14 22 22 22 30 30 30 38 38 38
+- 50 50 50 62 62 62 74 74 74 90 90 90
+-101 98 89 112 100 78 121 87 25 124 80 6
+-137 92 6 152 99 6 152 99 6 152 99 6
+-138 86 6 124 80 6 98 70 6 86 66 30
+-101 98 89 82 82 82 58 58 58 46 46 46
+- 38 38 38 34 34 34 34 34 34 34 34 34
+- 34 34 34 34 34 34 34 34 34 34 34 34
+- 34 34 34 34 34 34 38 38 38 42 42 42
+- 54 54 54 82 82 82 94 86 76 91 60 6
+-134 86 6 156 107 11 167 114 7 175 118 6
+-175 118 6 167 114 7 152 99 6 121 87 25
+-101 98 89 62 62 62 34 34 34 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 6 6 6 10 10 10
+- 18 18 18 22 22 22 30 30 30 42 42 42
+- 50 50 50 66 66 66 86 86 86 101 98 89
+-106 86 58 98 70 6 104 69 6 104 69 6
+-104 69 6 91 60 6 82 62 34 90 90 90
+- 62 62 62 38 38 38 22 22 22 14 14 14
+- 10 10 10 10 10 10 10 10 10 10 10 10
+- 10 10 10 10 10 10 6 6 6 10 10 10
+- 10 10 10 10 10 10 10 10 10 14 14 14
+- 22 22 22 42 42 42 70 70 70 89 81 66
+- 80 54 7 104 69 6 124 80 6 137 92 6
+-134 86 6 116 81 8 100 82 52 86 86 86
+- 58 58 58 30 30 30 14 14 14 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 10 10 10 14 14 14
+- 18 18 18 26 26 26 38 38 38 54 54 54
+- 70 70 70 86 86 86 94 86 76 89 81 66
+- 89 81 66 86 86 86 74 74 74 50 50 50
+- 30 30 30 14 14 14 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 34 34 34 58 58 58
+- 82 82 82 89 81 66 89 81 66 89 81 66
+- 94 86 66 94 86 76 74 74 74 50 50 50
+- 26 26 26 14 14 14 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 6 6 6 14 14 14 18 18 18
+- 30 30 30 38 38 38 46 46 46 54 54 54
+- 50 50 50 42 42 42 30 30 30 18 18 18
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 14 14 14 26 26 26
+- 38 38 38 50 50 50 58 58 58 58 58 58
+- 54 54 54 42 42 42 30 30 30 18 18 18
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 6 6 6 10 10 10 14 14 14 18 18 18
+- 18 18 18 14 14 14 10 10 10 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 14 14 14 18 18 18 22 22 22 22 22 22
+- 18 18 18 14 14 14 10 10 10 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 6 9 23 30 36 44 54 65 57 72 88 44 54 65 6 12 15 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 31 41 52
++103 134 161 163 205 246 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 143 185 225
++82 108 129 8 14 16 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 17 24 30 126 162 196 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 161 203 243 92 119 140 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 44 54 65 154 195 235 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 138 174 208 21 27 33 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 70 96 117 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 157 198 239 49 59 70 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 0 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 3 6 52 62 74 170 212 252 170 212 252 170 212 252 170 212 252 129 165 199
++82 108 129 149 191 231 170 212 252 170 212 252 170 212 252 129 165 199 82 108 129 149 191 231
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 166 207 248 37 48 59 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 21 13 4 31 23 12 0 2 0 0 2 0 105 75 32 155 111 43 23 15 7
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 6 9 3 10 13 146 188 228 170 212 252 170 212 252 170 212 252 157 198 239 0 6 9
++0 2 0 52 62 74 170 212 252 170 212 252 154 195 235 0 6 9 0 2 0 55 66 77
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 151 193 233 17 24 30
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++10 12 8 23 15 7 139 99 44 206 148 61 67 49 21 0 2 0 125 92 35 206 148 61
++15 9 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 96 127 154 170 212 252 170 212 252 170 212 252 170 212 252 92 119 140 21 22 20
++10 12 8 53 68 84 170 212 252 170 212 252 92 119 140 10 12 8 7 10 5 53 68 84
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 134 170 204
++0 6 9 0 3 6 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 21 22 20
++62 64 61 38 40 37 0 2 0 34 26 8 212 153 66 64 46 18 0 2 0 170 124 49
++180 132 57 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++18 22 24 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 65 87 102 115 117 114
++43 44 42 88 115 136 170 212 252 170 212 252 68 83 99 108 110 107 60 62 59 88 115 136
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++80 98 121 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 10 12 8 56 58 55 95 96 94 178 180 177 215 217 214 198 200 197
++158 160 156 138 140 137 82 83 81 0 2 0 64 46 18 228 167 73 23 15 7 41 31 10
++250 179 73 55 39 17 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++75 94 116 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 63 78 94 0 2 0
++0 2 0 126 162 196 170 212 252 170 212 252 57 72 88 0 2 0 0 2 0 126 162 196
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++157 198 239 8 14 16 0 6 9 0 2 0 45 47 44 195 197 194 192 194 191 38 40 37
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 192 194 191 234 236 233 176 178 175 118 120 117 143 145 142 176 178 175
++215 217 214 234 236 233 234 236 233 104 106 103 0 2 0 142 101 40 134 100 43 0 2 0
++164 119 51 170 124 49 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 115 152 185 8 14 16
++49 59 70 166 207 248 170 212 252 170 212 252 119 150 178 8 14 16 55 66 77 166 207 248
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 92 119 140 0 2 0 0 2 0 200 202 199 254 255 252 254 255 252 244 246 243
++40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 38 40 37 234 236 233 234 236 233 234 236 233 135 137 134 215 217 214 171 173 170
++141 142 139 138 140 137 138 140 137 135 137 134 31 32 30 3 6 2 212 153 66 15 9 7
++78 58 25 248 178 79 41 31 10 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 3 6 21 27 33
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 163 205 246 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 154 195 235 0 6 9 82 83 81 254 255 252 254 255 252 254 255 252 254 255 252
++188 190 187 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 62 64 61 234 236 233 234 236 233 234 236 233 198 200 197 131 133 130 198 200 197
++232 234 231 234 236 233 234 236 233 234 236 233 152 154 151 0 2 0 147 105 44 67 49 21
++23 15 7 250 179 73 158 114 46 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 6 9 61 76 92
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 154 195 235 103 134 161 80 98 121
++52 62 74 18 22 24 0 2 0 3 10 13 38 45 51 80 98 121 151 193 233 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 109 141 168 0 2 0 169 171 168 254 255 252 254 255 252 254 255 252 254 255 252
++226 228 225 65 66 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 43 44 42 234 236 233 234 236 233 234 236 233 234 236 233 131 133 130 192 194 191
++152 154 151 141 142 139 141 142 139 141 142 139 158 160 156 3 6 2 82 62 28 129 95 39
++0 2 0 206 148 61 248 178 79 21 13 4 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 96 115 138
++170 212 252 170 212 252 170 212 252 170 212 252 129 165 199 18 22 24 0 2 0 0 2 0
++34 26 8 75 55 22 114 83 33 95 68 30 55 39 17 7 0 0 0 6 9 84 103 125
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 84 103 125 0 2 0 229 231 228 254 255 252 254 255 252 254 255 252 171 173 170
++0 2 0 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 18 20 17 234 236 233 234 236 233 234 236 233 234 236 233 138 140 137 178 180 177
++226 228 225 234 236 233 234 236 233 234 236 233 231 233 230 45 47 44 23 15 7 190 136 56
++0 2 0 147 105 44 250 179 73 64 46 18 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 122 159 192
++170 212 252 170 212 252 170 212 252 126 162 196 0 2 0 26 20 13 190 136 56 245 175 76
++250 179 73 161 117 49 164 119 51 245 175 76 250 179 73 206 148 61 75 55 22 0 2 0
++126 162 196 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 68 83 99 0 2 0 252 254 250 254 255 252 254 255 252 254 255 252 71 73 70
++8 14 16 88 115 136 17 24 30 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 232 234 231 234 236 233 234 236 233 234 236 233 215 217 214 148 150 147
++183 185 181 141 142 139 135 137 134 135 137 134 141 142 139 87 89 86 0 2 0 202 145 58
++3 6 2 88 66 26 250 179 73 109 79 35 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 157 198 239
++170 212 252 170 212 252 166 207 248 26 33 39 26 20 13 224 163 69 250 179 73 250 179 73
++250 179 73 197 142 62 202 145 58 250 179 73 250 179 73 250 179 73 234 172 70 21 13 4
++38 45 51 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 52 62 74 21 22 20 254 255 252 254 255 252 254 255 252 254 255 252 21 22 20
++49 59 70 170 212 252 166 207 248 91 123 149 8 14 16 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 215 217 214 234 236 233 234 236 233 234 236 233 234 236 233 123 125 122
++188 190 187 229 231 228 234 236 233 234 236 233 222 224 221 118 120 117 0 2 0 168 123 54
++34 26 8 67 49 21 250 179 73 134 100 43 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 34 41 47 170 212 252
++170 212 252 170 212 252 85 112 133 0 2 0 164 119 51 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 129 95 39
++0 2 0 138 174 208 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 34 44 55 45 47 44 254 255 252 254 255 252 254 255 252 254 255 252 24 22 25
++52 62 74 170 212 252 170 212 252 170 212 252 138 174 208 10 16 18 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 178 180 177 234 236 233 234 236 233 234 236 233 234 236 233 141 142 139
++198 200 197 148 150 147 135 137 134 135 137 134 148 150 147 123 125 122 0 2 0 190 136 56
++21 13 4 78 58 25 250 179 73 129 95 39 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 82 108 129 170 212 252
++170 212 252 170 212 252 23 30 36 58 42 19 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 147 105 44
++0 2 0 139 181 221 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 34 41 47 45 47 44 254 255 252 254 255 252 254 255 252 254 255 252 56 58 55
++25 32 38 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 10 16 18 0 6 9
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 91 93 90 234 236 233 234 236 233 234 236 233 234 236 233 126 127 125
++169 171 168 222 224 221 234 236 233 229 231 228 178 180 177 71 73 70 0 2 0 212 153 66
++0 2 0 95 68 30 250 179 73 119 87 37 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 138 174 208 170 212 252
++170 212 252 154 195 235 0 2 0 125 92 35 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 119 87 37
++0 2 0 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 57 72 88 7 10 5 252 254 250 254 255 252 254 255 252 254 255 252 95 96 94
++0 6 9 166 207 248 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 8 14 16
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 7 10 5 222 224 221 234 236 233 234 236 233 234 236 233 141 142 139
++183 185 181 138 140 137 131 133 130 141 142 139 192 194 191 102 104 101 0 2 0 224 163 69
++0 2 0 105 75 32 250 179 73 55 39 17 7 0 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 21 27 33 170 212 252 170 212 252
++170 212 252 115 152 185 0 2 0 180 132 57 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 228 167 73 10 12 8
++38 45 51 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 82 108 129 0 2 0 222 224 221 254 255 252 254 255 252 254 255 252 158 160 156
++0 2 0 92 119 140 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 122 159 192
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 141 142 139 234 236 233 234 236 233 234 236 233 131 133 130
++185 187 183 231 233 230 222 224 221 158 160 156 138 140 137 48 50 48 3 6 2 250 179 73
++134 100 43 206 148 61 218 158 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 75 94 116 170 212 252 170 212 252
++170 212 252 92 119 140 0 2 0 224 163 69 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 87 61 23 7 0 0
++134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 109 141 168 0 2 0 178 180 177 254 255 252 254 255 252 254 255 252 252 254 250
++39 43 45 10 16 18 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++88 115 136 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 45 47 44 234 236 233 234 236 233 234 236 233 131 133 130
++148 150 147 138 140 137 148 150 147 210 212 209 152 154 151 26 27 25 29 21 8 250 179 73
++250 179 73 234 172 70 55 39 17 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 126 162 196 170 212 252 170 212 252
++170 212 252 103 134 161 0 2 0 202 145 58 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 238 175 73 75 55 22 0 2 0 75 102 123
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 140 177 211 0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252
++183 185 181 0 2 0 75 94 116 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 57 72 88 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 162 164 161 234 236 233 234 236 233 135 137 134
++226 228 225 198 200 197 104 106 103 15 17 14 0 2 0 15 9 7 147 105 44 250 179 73
++248 178 79 55 39 17 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 6 9 21 27 33 170 212 252 170 212 252 170 212 252
++170 212 252 122 159 192 0 2 0 175 129 54 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 250 179 73 202 145 58 55 39 17 0 2 0 82 108 129 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 12 17 20 60 62 59 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 69 71 68 0 6 9 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 159 201 241 26 33 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 7 10 5 162 164 161 215 217 214 95 96 94
++56 58 55 0 2 0 0 2 0 0 2 0 61 44 16 238 175 73 250 179 73 250 179 73
++218 158 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 88 115 136 170 212 252 170 212 252 170 212 252
++170 212 252 143 185 225 0 2 0 147 105 44 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 212 153 66 95 68 30 0 2 0 8 14 16 103 134 161 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 68 83 99 0 2 0 231 233 230 254 255 252 254 255 252 254 255 252
++254 255 252 210 212 209 0 6 9 53 68 84 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 126 162 196 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 7 0 0 23 15 7 250 179 73 250 179 73 250 179 73
++250 179 73 29 21 8 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 6 9 154 195 235 170 212 252 170 212 252 170 212 252
++170 212 252 166 207 248 0 2 0 52 36 13 158 114 46 180 132 57 161 117 49 119 87 37
++41 31 10 0 2 0 0 2 0 72 87 103 154 195 235 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 115 152 185 0 2 0 152 154 151 254 255 252 238 241 237 85 87 84
++229 231 228 254 255 252 99 101 98 0 2 0 126 162 196 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 63 78 94 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 202 145 58 250 179 73 250 179 73
++250 179 73 105 75 32 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 32 39 45 0 2 0 57 72 88 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 85 112 133 12 17 20 0 2 0 0 2 0 0 2 0 0 2 0
++34 41 47 92 110 133 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 166 207 248 6 12 15 71 73 70 254 255 252 229 231 228 0 2 0
++141 142 139 254 255 252 231 233 230 10 12 8 34 44 55 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 154 195 235 6 12 15 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 125 92 35 250 179 73 250 179 73
++250 179 73 180 132 57 0 2 0 0 2 0 0 2 0 0 2 0 3 10 13 68 83 99
++129 165 199 85 112 133 0 2 0 122 159 192 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 126 162 196 119 156 189 134 170 204 149 191 231
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 57 72 88 3 6 2 242 244 240 254 255 252 35 37 34
++78 80 77 254 255 252 254 255 252 128 130 127 0 2 0 105 137 164 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 91 123 149 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 55 39 17 250 179 73 250 179 73
++250 179 73 245 175 76 7 10 5 0 2 0 44 54 65 103 134 161 161 203 243 170 212 252
++170 212 252 21 27 33 25 32 38 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 61 76 92 0 2 0 242 244 240 254 255 252 102 104 101
++10 12 8 231 233 230 254 255 252 244 246 243 26 27 25 21 27 33 159 201 241 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 32 39 45 0 6 9 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 218 158 64 250 179 73
++250 179 73 250 179 73 75 55 22 0 2 0 161 203 243 170 212 252 170 212 252 170 212 252
++115 147 174 0 2 0 91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 159 201 241 146 188 228
++140 177 211 134 170 204 146 188 228 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 17 24 30 62 64 61 254 255 252 254 255 252 215 217 214
++0 2 0 102 104 101 254 255 252 254 255 252 166 168 165 0 2 0 72 87 103 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 129 165 199 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 75 32 250 179 73
++250 179 73 250 179 73 150 108 46 0 2 0 113 145 172 170 212 252 170 212 252 170 212 252
++49 59 70 3 10 13 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 166 207 248 109 141 168 65 87 102 28 35 41 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 6 9 28 35 41 70 96 117 138 174 208 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 0 2 0 102 104 101 254 255 252 254 255 252 254 255 252
++102 104 101 0 2 0 192 194 191 254 255 252 254 255 252 78 80 77 0 2 0 122 159 192
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 34 44 55 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 61 76 92 154 195 235 0 6 9 29 21 8 250 179 73
++250 179 73 250 179 73 224 163 69 0 2 0 68 83 99 170 212 252 170 212 252 143 179 213
++0 2 0 72 87 103 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++161 203 243 96 115 138 17 24 30 0 2 0 0 2 0 45 47 44 102 104 101 123 125 122
++138 140 137 143 145 142 115 117 114 82 83 81 43 44 42 0 2 0 0 2 0 32 39 45
++126 162 196 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 0 2 0 85 87 84 254 255 252 254 255 252 254 255 252
++242 244 240 27 29 27 35 37 34 254 255 252 254 255 252 231 233 230 10 12 8 21 27 33
++159 201 241 170 212 252 170 212 252 170 212 252 170 212 252 163 205 246 0 6 9 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 6 9 44 54 65 170 212 252 170 212 252 34 44 55 0 2 0 82 62 28
++109 79 35 224 163 69 250 179 73 52 36 13 15 20 22 170 212 252 170 212 252 75 89 106
++0 2 0 143 179 213 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 134 170 204
++25 32 38 0 2 0 40 41 39 155 157 153 238 241 237 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 210 212 209 115 117 114 18 20 17
++0 2 0 68 83 99 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 52 62 74 7 10 5 234 236 233 254 255 252 254 255 252
++254 255 252 195 197 194 102 104 101 254 255 252 254 255 252 254 255 252 162 164 161 0 2 0
++72 87 103 170 212 252 170 212 252 170 212 252 170 212 252 119 156 189 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 115 147 174 170 212 252 91 123 149 0 2 0 0 2 0 6 12 15
++0 2 0 15 9 7 197 142 62 125 92 35 0 2 0 115 152 185 113 145 172 3 6 2
++41 51 62 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 113 145 172 0 6 9
++10 12 8 155 157 153 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 232 234 231
++87 89 86 0 2 0 32 39 45 154 195 235 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 115 152 185 0 2 0 138 140 137 254 255 252 254 255 252
++254 255 252 254 255 252 249 251 248 254 255 252 254 255 252 254 255 252 254 255 252 65 66 64
++0 2 0 122 159 192 170 212 252 170 212 252 170 212 252 66 80 97 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 154 195 235 170 212 252 143 179 213 88 115 136 149 191 231 170 212 252
++126 162 196 3 6 2 64 46 18 202 145 58 0 2 0 0 2 0 0 2 0 0 2 0
++92 119 140 170 212 252 170 212 252 170 212 252 170 212 252 143 179 213 3 10 13 27 29 27
++215 217 214 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 155 157 153 0 2 0 32 39 45 154 195 235 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 23 30 36 27 29 27 249 251 248 254 255 252
++254 255 252 188 190 187 7 10 5 226 228 225 254 255 252 254 255 252 254 255 252 231 233 230
++7 10 5 21 27 33 159 201 241 170 212 252 103 134 161 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 119 156 189 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 55 66 77 11 4 3 250 179 73 24 17 10 0 2 0 0 2 0 0 2 0
++143 185 225 170 212 252 170 212 252 170 212 252 159 201 241 28 35 41 7 10 5 200 202 199
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 155 157 153 0 2 0 55 66 77 170 212 252 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 96 127 154 0 2 0 158 160 156 254 255 252
++254 255 252 192 194 191 0 2 0 176 178 175 254 255 252 254 255 252 254 255 252 254 255 252
++141 142 139 0 2 0 72 87 103 129 165 199 0 6 9 0 6 9 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 6 9 12 17 20 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252
++138 174 208 17 24 30 29 21 8 250 179 73 101 72 28 0 2 0 0 2 0 32 39 45
++170 212 252 170 212 252 170 212 252 170 212 252 57 72 88 0 2 0 152 154 151 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 108 110 107 0 2 0 115 152 185 170 212 252 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 166 207 248 18 22 24 40 41 39 254 255 252
++254 255 252 232 234 231 0 2 0 148 150 147 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 10 12 8 0 2 0 8 14 16 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 6 9 41 51 62 61 76 92 34 44 55 3 10 13
++0 2 0 11 4 3 164 119 51 250 179 73 175 129 54 0 2 0 0 2 0 82 108 129
++170 212 252 170 212 252 170 212 252 98 129 156 0 2 0 95 96 94 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 238 241 237 18 20 17 25 32 38 166 207 248 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 85 112 133 0 2 0 188 190 187
++254 255 252 254 255 252 198 200 197 242 244 240 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 120 122 119 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 6 9 0 2 0 0 6 9 7 0 0
++31 23 12 202 145 58 250 179 73 250 179 73 238 175 73 0 2 0 0 2 0 122 159 192
++170 212 252 170 212 252 170 212 252 28 35 41 31 32 30 244 246 243 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 152 154 151 0 2 0 85 112 133 170 212 252
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 0 2 0 148 150 147
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 222 224 221 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++7 0 0 234 172 70 250 179 73 250 179 73 250 179 73 34 26 8 0 2 0 149 191 231
++170 212 252 170 212 252 129 165 199 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 252 254 250 48 50 48 3 10 13 146 188 228
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 157 198 239 0 2 0 118 120 117
++254 255 252 254 255 252 254 255 252 169 171 168 231 233 230 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 170 124 49 250 179 73 250 179 73 250 179 73 48 33 15 6 12 15 170 212 252
++170 212 252 170 212 252 65 87 102 0 2 0 222 224 221 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 195 197 194 0 2 0 84 103 125
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 3 10 13 85 87 84
++254 255 252 254 255 252 234 236 233 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 99 101 98 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 95 68 30 250 179 73 250 179 73 250 179 73 34 26 8 34 44 55 170 212 252
++170 212 252 163 205 246 8 14 16 62 64 61 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 35 37 34 34 44 55
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 26 33 39 60 62 59
++254 255 252 254 255 252 238 241 237 0 2 0 108 110 107 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 158 160 156 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 23 15 7 248 178 79 250 179 73 245 175 76 0 2 0 63 78 94 170 212 252
++170 212 252 109 141 168 0 2 0 158 160 156 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 104 106 103 0 2 0
++154 195 235 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 21 27 33 69 71 68
++254 255 252 254 255 252 244 246 243 0 2 0 91 93 90 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 215 217 214 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 197 142 62 250 179 73 212 153 66 0 2 0 92 110 133 170 212 252
++170 212 252 80 98 121 0 2 0 231 233 230 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 176 178 175 0 2 0
++105 137 164 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 8 14 16 87 89 86
++254 255 252 254 255 252 254 255 252 40 41 39 21 22 20 252 254 250 254 255 252 254 255 252
++254 255 252 254 255 252 252 254 250 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 125 92 35 250 179 73 170 124 49 0 2 0 113 145 172 170 212 252
++170 212 252 53 68 84 15 17 14 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 242 244 240 0 2 0
++63 78 94 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 0 2 0 104 106 103
++254 255 252 254 255 252 254 255 252 123 125 122 0 2 0 166 168 165 254 255 252 254 255 252
++254 255 252 254 255 252 234 236 233 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 7 0 0 52 36 13 250 179 73 129 95 39 0 2 0 143 179 213 170 212 252
++170 212 252 32 39 45 48 50 48 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 60 62 59
++18 22 24 170 212 252 170 212 252 170 212 252 170 212 252 163 205 246 0 2 0 102 104 101
++254 255 252 254 255 252 254 255 252 226 228 225 15 17 14 10 12 8 215 217 214 254 255 252
++254 255 252 254 255 252 210 212 209 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 88 66 26 29 21 8 0 2 0 166 207 248 170 212 252
++170 212 252 3 10 13 85 87 84 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 123 125 122
++0 2 0 149 191 231 170 212 252 170 212 252 170 212 252 170 212 252 21 27 33 56 58 55
++254 255 252 254 255 252 254 255 252 254 255 252 178 180 177 0 2 0 38 40 37 238 241 237
++254 255 252 254 255 252 210 212 209 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 7 0 0 7 0 0 0 2 0 161 203 243 170 212 252
++149 191 231 0 2 0 123 125 122 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 141 142 139
++0 2 0 143 179 213 170 212 252 170 212 252 170 212 252 170 212 252 66 80 97 0 2 0
++210 212 209 254 255 252 254 255 252 254 255 252 254 255 252 120 122 119 0 2 0 21 22 20
++143 145 142 244 246 243 219 221 218 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 149 191 231 170 212 252
++129 165 199 0 2 0 158 160 156 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 155 157 153
++0 2 0 134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 143 185 225 0 6 9
++69 71 68 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 71 73 70 0 2 0
++0 2 0 0 2 0 40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 139 181 221 170 212 252
++129 165 199 0 2 0 162 164 161 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 169 171 168
++0 2 0 119 156 189 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 75 94 116
++0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252 69 71 68 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 134 170 204 170 212 252
++134 170 204 0 2 0 152 154 151 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 183 185 181
++0 2 0 113 145 172 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 166 207 248
++44 54 65 0 2 0 162 164 161 254 255 252 254 255 252 254 255 252 35 37 34 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 126 162 196 170 212 252
++138 174 208 0 2 0 143 145 142 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 198 200 197
++0 2 0 103 134 161 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++157 198 239 28 35 41 0 2 0 188 190 187 254 255 252 252 254 250 3 6 2 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 115 152 185 170 212 252
++143 179 213 0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 210 212 209
++0 2 0 91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 146 188 228 0 6 9 26 27 25 242 244 240 176 178 175 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 137 164 170 212 252
++143 185 225 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 185 187 183
++0 2 0 105 137 164 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 163 205 246 0 2 0 0 2 0 102 104 101 60 62 59 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 80 98 121 170 212 252
++149 191 231 0 2 0 118 120 117 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 143 145 142
++0 2 0 134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 143 179 213 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 44 54 65 170 212 252
++170 212 252 3 10 13 85 87 84 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 108 110 107
++0 2 0 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 115 152 185 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 3 10 13 170 212 252
++170 212 252 34 44 55 43 44 42 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 69 71 68
++15 20 22 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++170 212 252 75 94 116 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 139 181 221
++170 212 252 63 78 94 3 6 2 249 251 248 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 31 32 30
++41 51 62 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++161 203 243 6 12 15 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 137 164
++170 212 252 88 115 136 0 2 0 210 212 209 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 249 251 248 0 2 0
++68 83 99 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++96 127 154 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 61 76 92
++170 212 252 119 150 178 0 2 0 169 171 168 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 183 185 181 0 2 0
++91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
++28 35 41 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 6 9
++146 188 228 143 185 225 0 2 0 126 127 125 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 85 87 84 0 6 9
++154 195 235 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 98 129 156
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++72 90 112 170 212 252 18 22 24 56 58 55 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 238 241 237 7 10 5 55 66 77
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 122 159 192 0 6 9
++0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 122 159 192 72 87 103 0 2 0 229 231 228 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 152 154 151 0 2 0 113 145 172
++170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 139 181 221 8 14 16 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 18 22 24 109 141 168 0 2 0 148 150 147 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 56 58 55 12 17 20 166 207 248
++170 212 252 170 212 252 170 212 252 170 212 252 146 188 228 23 30 36 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 101 72 28 202 145 58
++180 132 57 0 2 0 38 45 51 3 10 13 69 71 68 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 200 202 199 0 2 0 75 89 106 170 212 252
++170 212 252 170 212 252 170 212 252 109 141 168 8 14 16 0 2 0 21 13 4 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 7 0 0 0 2 0 101 72 28 218 158 64 250 179 73 250 179 73
++250 179 73 139 99 44 0 2 0 8 14 16 0 2 0 238 241 237 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 244 246 243 38 40 37 3 10 13 139 181 221 170 212 252
++170 212 252 161 203 243 66 80 97 0 2 0 31 23 12 191 142 60 248 183 74 180 132 57
++44 34 15 0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 23 15 7 190 136 56 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 150 108 46 0 2 0 0 2 0 82 83 81 222 224 221 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 102 104 101 0 2 0 98 129 156 170 212 252 163 205 246
++98 129 156 23 30 36 0 2 0 82 62 28 234 172 70 248 183 74 248 183 74 248 183 74
++248 183 74 158 114 46 29 21 8 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 64 46 18 109 79 35 150 108 46 224 163 69 250 179 73
++250 179 73 250 179 73 250 179 73 158 114 46 0 2 0 0 2 0 3 6 2 115 117 114
++234 236 233 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 176 178 175 0 2 0 57 72 88 146 188 228 80 98 121 8 14 16
++0 2 0 24 17 10 158 114 46 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74
++248 183 74 248 183 74 242 178 77 58 42 19 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 0 2 0 67 49 21 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 228 167 73 95 68 30 0 2 0 0 2 0
++0 2 0 52 54 51 108 110 107 162 164 161 219 221 218 254 255 252 254 255 252 254 255 252
++254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 252 254 250
++219 221 218 178 180 177 18 20 17 6 12 15 26 33 39 0 2 0 0 2 0 52 36 13
++164 119 51 242 178 77 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 242 178 77
++187 138 56 175 129 54 158 114 46 82 62 28 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 78 58 25 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 234 172 70 142 101 40
++44 34 15 10 12 8 0 2 0 0 2 0 0 2 0 18 20 17 60 62 59 71 73 70
++82 83 81 95 96 94 104 106 103 118 120 117 115 117 114 78 80 77 40 41 39 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 44 34 15 105 75 32 191 142 60 248 183 74
++248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 105 75 32
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 187 138 56 250 179 73
++250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 250 179 73 142 101 40 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 206 148 61 248 183 74 248 183 74 248 183 74
++248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 161 117 49
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 228 167 73 250 179 73
++238 175 73 190 136 56 158 114 46 234 172 70 250 179 73 250 179 73 250 179 73 250 179 73
++250 179 73 147 105 44 0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 67 49 21 248 183 74 248 183 74 248 183 74
++248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74
++31 23 12 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 10 5 21 13 4
++0 2 0 0 2 0 0 2 0 147 105 44 250 179 73 250 179 73 250 179 73 250 179 73
++134 100 43 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 155 111 43 248 183 74 248 183 74
++248 183 74 248 183 74 224 163 69 55 39 17 64 46 18 164 119 51 242 178 77 248 183 74
++75 55 22 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 202 145 58 250 179 73 250 179 73 228 167 73 88 66 26
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 168 123 54 248 183 74
++248 183 74 248 183 74 158 114 46 0 2 0 7 0 0 0 2 0 10 12 8 44 34 15
++15 9 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 29 21 8 250 179 73 250 179 73 158 114 46 15 14 3 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 175 129 54
++248 183 74 248 183 74 114 83 33 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 29 21 8 147 105 44 58 42 19 0 2 0 7 0 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++105 75 32 218 158 64 23 15 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
++
+diff --git a/drivers/video/logo/logo_linux_mono.pbm b/drivers/video/logo/logo_linux_mono.pbm
+index 2f14d9f..3d3c358 100644
+--- a/drivers/video/logo/logo_linux_mono.pbm
++++ b/drivers/video/logo/logo_linux_mono.pbm
+@@ -1,203 +1,159 @@
+-P1
+-# Standard black and white Linux logo
+-80 80
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1
+-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
+-1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-1 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1
+-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 0 0 1
+-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1
+-1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1
+-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1
+-1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1
+-1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
+-1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1
+-1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
+-0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0
+-1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
+-0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1
+-1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1
+-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1
+-1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1
+-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0
+-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1
+-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0
+-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1
+-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0
+-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1
+-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0
+-0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 0
+-0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
+-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
+-1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
+-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
+-1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
+-1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+-1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
++P2
++80 78
++255
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 255 255 255 0 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 255 255 255 255 255 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 0
++0 0 0 0 0 0 0 0 0 0
++0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255
++0 0 0 0 0 0 0 0 0 0
++0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255
++255 0 0 0 0 0 0 0 0 0
++0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255
++255 255 0 0 0 0 0 0 0 0
++0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255
++255 255 0 0 0 0 0 0 0 0
++0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255
++255 255 255 0 0 0 0 0 0 0
++0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255
++255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 255 255 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255
++255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 0 255 255 0 0 255 255
++255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 255 255 255 0 0 255
++255 255 255 255 255 255 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 0 255 255 255 0 255
++255 255 255 255 255 255 255 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 0 255 255 255 0 0
++255 255 255 255 255 255 255 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 255 255 255 0
++0 255 255 255 255 255 255 255 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 255 255 255 0
++0 255 255 255 255 255 255 255 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255
++0 0 255 255 255 255 255 255 0 0
++0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 255 255 0 0 255 255 0 0 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 255 255 255
++255 0 0 255 255 255 255 255 0 0
++0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 255 0 0 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255
++255 0 0 255 255 255 255 0 0 0
++0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 0 0 255 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 255 255 255
++255 255 0 0 255 255 255 0 0 0
++0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 255 255 255 255 0 255 255 255
++255 255 255 0 0 255 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 0 255 255 255
++255 255 255 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255
++255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255
++255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255
++255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 255 255
++255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255
++255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255
++255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255
++255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 0 255
++255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 0 0
++255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255 255 0
++0 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255 255 255
++0 0 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 255 255
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 255 255
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 255 255 255 255
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 0 0 255 255 255
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 255 255
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 255 255 255 255 255 255 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0
+diff --git a/drivers/video/logo/logo_linux_vga16.ppm b/drivers/video/logo/logo_linux_vga16.ppm
+index 1850c15..f279f97 100644
+--- a/drivers/video/logo/logo_linux_vga16.ppm
++++ b/drivers/video/logo/logo_linux_vga16.ppm
+@@ -1,1604 +1,18724 @@
+ P3
+-# Standard 16-color Linux logo
+-80 80
+-255
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 85 85 85 85 85 85 85 85 85
+- 85 85 85 85 85 85 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 85 85 85
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 85 85 85 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 170 170 170 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+-170 170 170 170 170 170 85 85 85 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 170 170 170 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 170 170 170 170 170
+-170 170 170 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 85 85 85 170 170 170 170 170 170 170 170 170
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 170 170 170 255 255 255 255 255 255
+-255 255 255 170 170 170 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+-170 170 170 170 170 170 255 255 255 255 255 255
+- 0 0 0 0 0 0 0 0 0 0 0 0
+-170 170 170 255 255 255 170 170 170 170 170 170
+-255 255 255 170 170 170 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+-170 170 170 0 0 0 0 0 0 255 255 255
+- 85 85 85 0 0 0 0 0 0 0 0 0
+-255 255 255 170 170 170 0 0 0 85 85 85
+-170 170 170 255 255 255 170 170 170 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+- 85 85 85 0 0 0 0 0 0 170 170 170
+- 85 85 85 0 0 0 0 0 0 0 0 0
+-255 255 255 85 85 85 0 0 0 0 0 0
+- 85 85 85 255 255 255 170 170 170 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+-170 170 170 0 0 0 0 0 0 170 170 170
+- 85 85 85 85 85 85 85 85 85 85 85 85
+-255 255 255 85 85 85 0 0 0 0 0 0
+- 85 85 85 255 255 255 170 170 170 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+-255 255 255 0 0 0 0 0 0 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 0 0 0 0 0 0
+- 85 85 85 255 255 255 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+-170 170 170 170 170 170 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 170 170 170 170 170 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 85 85 85 0 0 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 85 85 85 0 0 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 170 85 0
+-170 85 0 170 85 0 85 85 85 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 85 85 85 0 0 0
+- 85 85 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 85 85 85 0 0 0
+- 0 0 0 85 85 85 170 170 170 85 85 85
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 85 85 85 0 0 0
+- 85 85 85 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 170 170 170 170 170 170 170 170 0 0 0
+- 0 0 0 0 0 0 170 170 170 170 170 170
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 85 85 85 170 170 170 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 170 170 170 170 170
+-170 170 170 170 170 170 170 170 170 85 85 85
+- 0 0 0 0 0 0 85 85 85 85 85 85
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 85 85 85 170 170 170 170 170 170 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 170 170 170 170 170 170 170 170 170 170 170
+-255 255 255 255 255 255 255 255 255 170 170 170
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 85 85 85
+-255 255 255 255 255 255 170 170 170 170 170 170
+-170 170 170 170 170 170 170 170 170 170 170 170
+-170 170 170 170 170 170 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 170 170 170
+-255 255 255 255 255 255 170 170 170 170 170 170
+-170 170 170 170 170 170 170 170 170 170 170 170
+-170 170 170 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-170 170 170 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 85 85 85 255 255 255
+-255 255 255 255 255 255 255 255 255 170 170 170
+-170 170 170 170 170 170 170 170 170 170 170 170
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 85 85 85 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 85 85 85 170 170 170 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 170 170 170 170 170 170 170 170 170
+-255 255 255 255 255 255 255 255 255 170 170 170
+-170 170 170 170 170 170 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-170 170 170 170 170 170 170 170 170 170 170 170
+-170 170 170 170 170 170 170 170 170 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+-170 170 170 170 170 170 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-170 170 170 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 170 170 170
+-170 170 170 170 170 170 170 170 170 85 85 85
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+-170 170 170 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 170 170 170 170 170 170
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 85 85 85 0 0 0 0 0 0 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 170 170 170
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 170 170 170
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-170 170 170 85 85 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+- 0 0 0 0 0 0 85 85 85 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 0 0 0 85 85 85
+- 85 85 85 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+- 0 0 0 85 85 85 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 0 0 0 85 85 85
+- 85 85 85 0 0 0 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 85 85 85
+- 0 0 0 170 170 170 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 85 85 85 0 0 0
+- 0 0 0 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 85 85 85 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 85 85 85 0 0 0 0 0 0
+-170 170 170 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 0 0 0
+- 85 85 85 85 85 85 85 85 85 85 85 85
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 0 0 0 170 85 0
+-255 255 85 170 85 0 0 0 0 0 0 0
+- 85 85 85 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 85 85 85 85 85 85 0 0 0
+- 0 0 0 85 85 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 0 0 0
+- 0 0 0 85 85 85 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 85 170 85 0 255 255 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 85 85 85
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+- 0 0 0 0 0 0 85 85 85 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 85
+-170 85 0 255 255 85 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 0 0 0 0 0 0 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 170 85 0
+-255 255 85 170 85 0 255 255 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 170 85 0
+-255 255 85 170 85 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 0 0 0 0 0 0 0 0 0
+- 85 85 85 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 85
+-170 85 0 255 255 85 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 255 255 85
+-170 85 0 255 255 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 0 0 0 0 0 0
+- 0 0 0 85 85 85 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 255 255 85 170 85 0
+-255 255 85 170 85 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 0 0 0
+- 0 0 0 0 0 0 85 85 85 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 170 170 170 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 170 170 170 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 170 170 170 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 170 170 170 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 0 0 0 0 0 0 0 0 0
+- 85 85 85 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 170 170 170 85 85 85 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 85 85 85 85 85 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-170 170 170 85 85 85 85 85 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 170 170 170
+- 85 85 85 0 0 0 0 0 0 170 85 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 85 85 85
+- 0 0 0 0 0 0 0 0 0 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-170 170 170 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-170 170 170 85 85 85 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 170 85 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 170 85 0
+-170 85 0 170 170 170 255 255 255 255 255 255
+-255 255 255 255 255 255 255 255 255 255 255 255
+-255 255 255 255 255 255 170 170 170 85 85 85
+- 85 85 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 170 85 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 170 85 0 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 170 85 0
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 85 85 85 170 85 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 170 85 0 170 85 0 170 85 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 170 85 0
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 85 85 85 85 85 85 85 85 85 85 85 85
+- 85 85 85 85 85 85 85 85 85 85 85 85
+- 85 85 85 85 85 85 85 85 85 0 0 0
+- 0 0 0 0 0 0 0 0 0 170 85 0
+-170 85 0 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 255 255 85 170 85 0
+-170 85 0 170 85 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 255 255 85 170 85 0
+-255 255 85 170 85 0 170 85 0 170 85 0
+- 85 85 85 85 85 85 85 85 85 85 85 85
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 85 85 85
+- 85 85 85 85 85 85 85 85 85 170 85 0
+-170 85 0 170 85 0 170 85 0 255 255 85
+-170 85 0 255 255 85 170 85 0 170 85 0
+-170 85 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+-170 85 0 170 85 0 170 85 0 170 85 0
+-170 85 0 170 85 0 170 85 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
++# CREATOR: GIMP PNM Filter Version 1.1
++80 78
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++85
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++85
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++85
++85
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++170
++170
++170
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++85
++85
++85
++0
++0
++0
++85
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++170
++170
++170
++170
++170
++170
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++170
++170
++170
++85
++85
++85
++170
++170
++170
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++0
++0
++0
++0
++0
++0
++255
++85
++85
++0
++0
++0
++85
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++255
++85
++85
++85
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++0
++0
++0
++85
++85
++85
++255
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++255
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++85
++85
++85
++0
++0
++0
++255
++85
++85
++0
++0
++0
++85
++85
++85
++255
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++255
++85
++85
++0
++0
++0
++85
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++85
++85
++85
++0
++0
++0
++255
++85
++85
++0
++0
++0
++85
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++85
++85
++85
++0
++0
++0
++255
++85
++85
++0
++0
++0
++85
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++85
++85
++85
++0
++0
++0
++255
++85
++85
++0
++0
++0
++85
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++85
++85
++85
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++170
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++170
++170
++170
++255
++255
++255
++170
++170
++170
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++85
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++85
++85
++85
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++85
++85
++85
++170
++170
++170
++170
++170
++170
++85
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++255
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++85
++85
++255
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++170
++170
++170
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++255
++255
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++85
++85
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++170
++170
++170
++0
++0
++0
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++85
++85
++85
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++0
++0
++0
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++85
++85
++85
++0
++0
++0
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++85
++85
++85
++85
++255
++255
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++170
++170
++170
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++255
++170
++170
++170
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++85
++85
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++85
++85
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++255
++255
++85
++255
++255
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++85
++85
++85
++255
++255
++85
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
++0
diff --git a/libre/linux-libre/change-default-console-loglevel.patch b/libre/linux-libre/change-default-console-loglevel.patch
new file mode 100644
index 000000000..22cd69a09
--- /dev/null
+++ b/libre/linux-libre/change-default-console-loglevel.patch
@@ -0,0 +1,12 @@
+diff -upr linux-3.0.orig/kernel/printk.c linux-3.0/kernel/printk.c
+--- linux-3.0.orig/kernel/printk/printk.c 2011-07-22 05:17:23.000000000 +0300
++++ linux-3.0/kernel/printk/printk.c 2011-07-27 14:43:07.000000000 +0300
+@@ -58,7 +58,7 @@ void asmlinkage __attribute__((weak)) ea
+
+ /* We show everything that is MORE important than this.. */
+ #define MINIMUM_CONSOLE_LOGLEVEL 1 /* Minimum loglevel we let people use */
+-#define DEFAULT_CONSOLE_LOGLEVEL 7 /* anything MORE serious than KERN_DEBUG */
++#define DEFAULT_CONSOLE_LOGLEVEL 4 /* anything MORE serious than KERN_WARNING */
+
+ DECLARE_WAIT_QUEUE_HEAD(log_wait);
+
diff --git a/libre/linux-libre/config.i686 b/libre/linux-libre/config.i686
new file mode 100644
index 000000000..94cc0e63b
--- /dev/null
+++ b/libre/linux-libre/config.i686
@@ -0,0 +1,6463 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/x86 3.12.7-1 Kernel Configuration
+#
+# CONFIG_64BIT is not set
+CONFIG_X86_32=y
+CONFIG_X86=y
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
+# CONFIG_ZONE_DMA32 is not set
+# CONFIG_AUDIT_ARCH is not set
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_X86_32_SMP=y
+CONFIG_X86_HT=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
+CONFIG_ARCH_CPU_PROBE_RELEASE=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+# CONFIG_COMPILE_TEST is not set
+CONFIG_LOCALVERSION="-LIBRE"
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KERNEL_LZ4=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_KERNEL_LZ4 is not set
+CONFIG_DEFAULT_HOSTNAME="(none)"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_FHANDLE=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_WATCH=y
+CONFIG_AUDIT_TREE=y
+CONFIG_AUDIT_LOGINUID_IMMUTABLE=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_IRQ_DOMAIN=y
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_KTIME_SCALAR=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_PREEMPT_RCU=y
+CONFIG_PREEMPT_RCU=y
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_FANOUT=32
+CONFIG_RCU_FANOUT_LEAF=16
+# CONFIG_RCU_FANOUT_EXACT is not set
+CONFIG_RCU_FAST_NO_HZ=y
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_RCU_BOOST is not set
+CONFIG_RCU_NOCB_CPU=y
+CONFIG_RCU_NOCB_CPU_NONE=y
+# CONFIG_RCU_NOCB_CPU_ZERO is not set
+# CONFIG_RCU_NOCB_CPU_ALL is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=19
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_MEMCG=y
+CONFIG_MEMCG_SWAP=y
+# CONFIG_MEMCG_SWAP_ENABLED is not set
+CONFIG_MEMCG_KMEM=y
+# CONFIG_CGROUP_HUGETLB is not set
+# CONFIG_CGROUP_PERF is not set
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+# CONFIG_USER_NS is not set
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set
+CONFIG_SCHED_AUTOGROUP=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+CONFIG_RD_LZ4=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_HAVE_UID16=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_HAVE_PCSPKR_PLATFORM=y
+# CONFIG_EXPERT is not set
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_SLUB_CPU_PARTIAL=y
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_OPROFILE_NMI_TIMER=y
+CONFIG_KPROBES=y
+CONFIG_JUMP_LABEL=y
+CONFIG_KPROBES_ON_FTRACE=y
+CONFIG_UPROBES=y
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_KRETPROBES=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_SOFT_DIRTY=y
+CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_OLD_SIGACTION=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_LBDAF=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSGLIB=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_THROTTLING=y
+# CONFIG_BLK_CMDLINE_PARSER is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+CONFIG_AIX_PARTITION=y
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+# CONFIG_UNIXWARE_DISKLABEL is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+# CONFIG_CMDLINE_PARTITION is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_CFQ_GROUP_IOSCHED=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_ASN1=m
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_ZONE_DMA=y
+CONFIG_SMP=y
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_BIGSMP is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+# CONFIG_X86_INTEL_LPSS is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_X86_32_IRIS=m
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_HYPERVISOR_GUEST=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_DEBUG is not set
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+# CONFIG_XEN_PRIVILEGED_GUEST is not set
+CONFIG_KVM_GUEST=y
+# CONFIG_KVM_DEBUG_FS is not set
+CONFIG_LGUEST_GUEST=y
+CONFIG_PARAVIRT_TIME_ACCOUNTING=y
+CONFIG_PARAVIRT_CLOCK=y
+CONFIG_NO_BOOTMEM=y
+# CONFIG_MEMTEST is not set
+# CONFIG_M486 is not set
+# CONFIG_M586 is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M586MMX is not set
+CONFIG_M686=y
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MELAN is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+CONFIG_X86_GENERIC=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_L1_CACHE_SHIFT=6
+# CONFIG_X86_PPRO_FENCE is not set
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_CPU_SUP_TRANSMETA_32=y
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_NR_CPUS=8
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_COUNT=y
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+# CONFIG_X86_ANCIENT_MCE is not set
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_VM86=y
+CONFIG_TOSHIBA=m
+CONFIG_I8K=m
+CONFIG_X86_REBOOTFIXUPS=y
+CONFIG_MICROCODE=m
+# CONFIG_MICROCODE_INTEL is not set
+# CONFIG_MICROCODE_AMD is not set
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+# CONFIG_NOHIGHMEM is not set
+CONFIG_HIGHMEM4G=y
+# CONFIG_HIGHMEM64G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_HIGHMEM=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+CONFIG_MEMORY_ISOLATION=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+CONFIG_CLEANCACHE=y
+CONFIG_FRONTSWAP=y
+# CONFIG_CMA is not set
+CONFIG_ZBUD=y
+CONFIG_ZSWAP=y
+# CONFIG_HIGHPTE is not set
+CONFIG_X86_CHECK_BIOS_CORRUPTION=y
+CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
+CONFIG_X86_RESERVE_LOW=64
+# CONFIG_MATH_EMULATION is not set
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_ARCH_RANDOM=y
+CONFIG_X86_SMAP=y
+CONFIG_EFI=y
+CONFIG_EFI_STUB=y
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+CONFIG_HZ_300=y
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=300
+CONFIG_SCHED_HRTICK=y
+CONFIG_KEXEC=y
+# CONFIG_CRASH_DUMP is not set
+# CONFIG_KEXEC_JUMP is not set
+CONFIG_PHYSICAL_START=0x1000000
+CONFIG_RELOCATABLE=y
+CONFIG_X86_NEED_RELOCS=y
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
+# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_AUTOSLEEP=y
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=100
+CONFIG_PM_WAKELOCKS_GC=y
+CONFIG_PM_RUNTIME=y
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_TEST_SUSPEND is not set
+CONFIG_PM_SLEEP_DEBUG=y
+CONFIG_PM_TRACE=y
+CONFIG_PM_TRACE_RTC=y
+CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+# CONFIG_ACPI_PROCFS is not set
+# CONFIG_ACPI_PROCFS_POWER is not set
+CONFIG_ACPI_EC_DEBUGFS=m
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_IPMI=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=y
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_SBS=m
+CONFIG_ACPI_HED=y
+CONFIG_ACPI_CUSTOM_METHOD=m
+CONFIG_ACPI_BGRT=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_MEMORY_FAILURE=y
+CONFIG_ACPI_APEI_EINJ=m
+CONFIG_ACPI_APEI_ERST_DEBUG=m
+CONFIG_SFI=y
+CONFIG_X86_APM_BOOT=y
+CONFIG_APM=y
+# CONFIG_APM_IGNORE_USER_SUSPEND is not set
+CONFIG_APM_DO_ENABLE=y
+# CONFIG_APM_CPU_IDLE is not set
+# CONFIG_APM_DISPLAY_BLANK is not set
+# CONFIG_APM_ALLOW_INTS is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# x86 CPU frequency scaling drivers
+#
+CONFIG_X86_INTEL_PSTATE=y
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ_CPB=y
+CONFIG_X86_POWERNOW_K6=m
+CONFIG_X86_POWERNOW_K7=m
+CONFIG_X86_POWERNOW_K7_ACPI=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_AMD_FREQ_SENSITIVITY=m
+CONFIG_X86_GX_SUSPMOD=m
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+CONFIG_X86_SPEEDSTEP_ICH=m
+CONFIG_X86_SPEEDSTEP_SMI=m
+CONFIG_X86_P4_CLOCKMOD=m
+CONFIG_X86_CPUFREQ_NFORCE2=m
+CONFIG_X86_LONGRUN=m
+CONFIG_X86_LONGHAUL=m
+CONFIG_X86_E_POWERSAVER=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y
+
+#
+# CPU Idle
+#
+CONFIG_CPU_IDLE=y
+# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+CONFIG_INTEL_IDLE=y
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GODIRECT is not set
+# CONFIG_PCI_GOOLPC is not set
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_OLPC=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=y
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_REALLOC_ENABLE_AUTO=y
+CONFIG_PCI_STUB=m
+CONFIG_HT_IRQ=y
+CONFIG_PCI_ATS=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_PRI=y
+CONFIG_PCI_PASID=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_PCI_LABEL=y
+
+#
+# PCI host controller drivers
+#
+CONFIG_ISA_DMA_API=y
+CONFIG_ISA=y
+# CONFIG_EISA is not set
+# CONFIG_SCx200 is not set
+CONFIG_OLPC=y
+CONFIG_OLPC_XO1_PM=y
+CONFIG_OLPC_XO1_RTC=y
+CONFIG_OLPC_XO1_SCI=y
+CONFIG_OLPC_XO15_SCI=y
+# CONFIG_ALIX is not set
+# CONFIG_NET5501 is not set
+# CONFIG_GEOS is not set
+CONFIG_AMD_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_I82365=m
+CONFIG_TCIC=m
+CONFIG_PCMCIA_PROBE=y
+CONFIG_PCCARD_NONSTATIC=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_COMPAQ=m
+# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
+CONFIG_HOTPLUG_PCI_IBM=m
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_HOTPLUG_PCI_CPCI=y
+CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
+CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
+CONFIG_HOTPLUG_PCI_SHPC=m
+CONFIG_RAPIDIO=y
+CONFIG_RAPIDIO_TSI721=y
+CONFIG_RAPIDIO_DISC_TIMEOUT=30
+# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set
+CONFIG_RAPIDIO_DMA_ENGINE=y
+CONFIG_RAPIDIO_DEBUG=y
+CONFIG_RAPIDIO_ENUM_BASIC=m
+
+#
+# RapidIO Switch drivers
+#
+CONFIG_RAPIDIO_TSI57X=y
+CONFIG_RAPIDIO_CPS_XX=y
+CONFIG_RAPIDIO_TSI568=y
+CONFIG_RAPIDIO_CPS_GEN2=y
+# CONFIG_X86_SYSFB is not set
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_HAVE_AOUT=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=y
+CONFIG_COREDUMP=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=m
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=m
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_FIB_TRIE_STATS=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+# CONFIG_NET_IPGRE_BROADCAST is not set
+CONFIG_IP_MROUTE=y
+# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=y
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+# CONFIG_IPV6_MROUTE is not set
+CONFIG_NETLABEL=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETWORK_PHY_TIMESTAMPING=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_PROCFS=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMEOUT=y
+CONFIG_NF_CONNTRACK_TIMESTAMP=y
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+CONFIG_NF_CT_NETLINK_HELPER=m
+CONFIG_NETFILTER_NETLINK_QUEUE_CT=y
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NETFILTER_SYNPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_AUDIT=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_SYNPROXY=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT_IPV4=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_TARGET_SYNPROXY=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_NF_NAT_IPV6=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_NET_DCCPPROBE=m
+CONFIG_IP_SCTP=m
+CONFIG_NET_SCTPPROBE=m
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_L2TP=m
+# CONFIG_L2TP_DEBUGFS is not set
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_MRP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_HAVE_NET_DSA=y
+CONFIG_NET_DSA=m
+CONFIG_NET_DSA_TAG_DSA=y
+CONFIG_NET_DSA_TAG_EDSA=y
+CONFIG_NET_DSA_TAG_TRAILER=y
+CONFIG_VLAN_8021Q=m
+# CONFIG_VLAN_8021Q_GVRP is not set
+CONFIG_VLAN_8021Q_MVRP=y
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_LTPC=m
+CONFIG_COPS=m
+CONFIG_COPS_DAYNA=y
+CONFIG_COPS_TANGENT=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+CONFIG_PHONET=m
+CONFIG_IEEE802154=m
+CONFIG_IEEE802154_6LOWPAN=m
+CONFIG_MAC802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_FQ=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+# CONFIG_CLS_U32_MARK is not set
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+# CONFIG_NET_EMATCH is not set
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+CONFIG_BATMAN_ADV=m
+CONFIG_BATMAN_ADV_BLA=y
+CONFIG_BATMAN_ADV_DAT=y
+CONFIG_BATMAN_ADV_NC=y
+# CONFIG_BATMAN_ADV_DEBUG is not set
+CONFIG_OPENVSWITCH=m
+CONFIG_OPENVSWITCH_GRE=y
+CONFIG_OPENVSWITCH_VXLAN=y
+CONFIG_VSOCKETS=m
+CONFIG_VMWARE_VMCI_VSOCKETS=m
+CONFIG_NETLINK_MMAP=y
+CONFIG_NETLINK_DIAG=m
+CONFIG_NET_MPLS_GSO=m
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+CONFIG_NETPRIO_CGROUP=m
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+CONFIG_NET_TCPPROBE=m
+CONFIG_NET_DROP_MONITOR=y
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+CONFIG_AX25_DAMA_SLAVE=y
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_SCC=m
+# CONFIG_SCC_DELAY is not set
+# CONFIG_SCC_TRXECHO is not set
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_BAYCOM_EPP=m
+CONFIG_YAM=m
+# CONFIG_CAN is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_IRDA_ULTRA=y
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_TOSHIBA_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_CMTP=m
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_BT_WILINK=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+CONFIG_CAIF=m
+# CONFIG_CAIF_DEBUG is not set
+CONFIG_CAIF_NETDEV=m
+CONFIG_CAIF_USB=m
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+CONFIG_NFC=m
+CONFIG_NFC_NCI=m
+# CONFIG_NFC_NCI_SPI is not set
+CONFIG_NFC_HCI=m
+# CONFIG_NFC_SHDLC is not set
+
+#
+# Near Field Communication (NFC) devices
+#
+CONFIG_NFC_PN533=m
+CONFIG_NFC_WILINK=m
+CONFIG_NFC_MEI_PHY=m
+CONFIG_NFC_SIM=m
+CONFIG_NFC_PN544=m
+CONFIG_NFC_PN544_MEI=m
+CONFIG_NFC_MICROREAD=m
+CONFIG_NFC_MICROREAD_MEI=m
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+CONFIG_FW_LOADER_USER_HELPER=y
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_MMIO=m
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+
+#
+# Bus devices
+#
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+CONFIG_MTD=m
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_REDBOOT_PARTS=m
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=m
+CONFIG_MTD_OF_PARTS=m
+CONFIG_MTD_AR7_PARTS=m
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+# CONFIG_SM_FTL is not set
+CONFIG_MTD_OOPS=m
+CONFIG_MTD_SWAP=m
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_GEN_PROBE=m
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_CFI_UTIL=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_PHYSMAP_OF=m
+CONFIG_MTD_SC520CDP=m
+CONFIG_MTD_NETSC520=m
+CONFIG_MTD_TS5500=m
+# CONFIG_MTD_SBC_GXX is not set
+# CONFIG_MTD_AMD76XROM is not set
+# CONFIG_MTD_ICHXROM is not set
+# CONFIG_MTD_ESB2ROM is not set
+# CONFIG_MTD_CK804XROM is not set
+CONFIG_MTD_SCB2_FLASH=m
+# CONFIG_MTD_NETtel is not set
+# CONFIG_MTD_L440GX is not set
+CONFIG_MTD_PCI=m
+# CONFIG_MTD_PCMCIA is not set
+# CONFIG_MTD_GPIO_ADDR is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+CONFIG_MTD_PLATRAM=m
+# CONFIG_MTD_LATCH_ADDR is not set
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_PMC551=m
+# CONFIG_MTD_PMC551_BUGFIX is not set
+# CONFIG_MTD_PMC551_DEBUG is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_SLRAM is not set
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+
+#
+# Disk-On-Chip Device Drivers
+#
+CONFIG_MTD_DOCG3=m
+CONFIG_BCH_CONST_M=14
+CONFIG_BCH_CONST_T=4
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+CONFIG_MTD_LPDDR=m
+CONFIG_MTD_QINFO_PROBE=m
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+# CONFIG_MTD_UBI_GLUEBI is not set
+CONFIG_OF=y
+
+#
+# Device Tree and Open Firmware support
+#
+CONFIG_PROC_DEVICETREE=y
+# CONFIG_OF_SELFTEST is not set
+CONFIG_OF_PROMTREE=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_NET=y
+CONFIG_OF_MDIO=m
+CONFIG_OF_PCI=y
+CONFIG_OF_PCI_IRQ=y
+CONFIG_OF_MTD=y
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
+
+#
+# Protocols
+#
+CONFIG_ISAPNP=y
+# CONFIG_PNPBIOS is not set
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=m
+# CONFIG_PARIDE is not set
+CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+# CONFIG_CISS_SCSI_TAPE is not set
+CONFIG_BLK_DEV_DAC960=m
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NVME=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=m
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_BLK_DEV_RBD=m
+CONFIG_BLK_DEV_RSXX=m
+
+#
+# Misc devices
+#
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_AD525X_DPOT=m
+CONFIG_AD525X_DPOT_I2C=m
+# CONFIG_AD525X_DPOT_SPI is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_IBM_ASM is not set
+CONFIG_PHANTOM=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+# CONFIG_ATMEL_SSC is not set
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_APDS9802ALS=m
+CONFIG_ISL29003=m
+CONFIG_ISL29020=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_SENSORS_BH1780=m
+CONFIG_SENSORS_BH1770=m
+CONFIG_SENSORS_APDS990X=m
+CONFIG_HMC6352=m
+CONFIG_DS1682=m
+# CONFIG_TI_DAC7512 is not set
+CONFIG_VMWARE_BALLOON=m
+CONFIG_BMP085=y
+CONFIG_BMP085_I2C=m
+# CONFIG_BMP085_SPI is not set
+# CONFIG_PCH_PHUB is not set
+CONFIG_USB_SWITCH_FSA9480=m
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+# CONFIG_SRAM is not set
+CONFIG_C2PORT=m
+CONFIG_C2PORT_DURAMAR_2150=m
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+# CONFIG_EEPROM_93XX46 is not set
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+
+#
+# Texas Instruments shared transport line discipline
+#
+CONFIG_TI_ST=m
+CONFIG_SENSORS_LIS3_I2C=m
+
+#
+# Altera FPGA firmware download module
+#
+CONFIG_ALTERA_STAPL=m
+CONFIG_INTEL_MEI=m
+CONFIG_INTEL_MEI_ME=m
+CONFIG_VMWARE_VMCI=m
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=m
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SCAN_ASYNC=y
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+# CONFIG_SCSI_FC_TGT_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_ISCSI_BOOT_SYSFS=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_CXGB4_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_SCSI_BNX2X_FCOE=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+CONFIG_SCSI_7000FASST=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AHA152X=m
+CONFIG_SCSI_AHA1542=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+CONFIG_SCSI_MVSAS_TASKLET=y
+CONFIG_SCSI_MVUMI=m
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_SCSI_IN2000=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_ESAS2R=m
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
+CONFIG_SCSI_MPT3SAS_LOGGING=y
+CONFIG_SCSI_UFSHCD=m
+CONFIG_SCSI_UFSHCD_PCI=m
+CONFIG_SCSI_UFSHCD_PLATFORM=m
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_BUSLOGIC=m
+# CONFIG_SCSI_FLASHPOINT is not set
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_DTC3280=m
+CONFIG_SCSI_EATA=m
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_ISCI=m
+CONFIG_SCSI_GENERIC_NCR5380=m
+CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
+CONFIG_SCSI_GENERIC_NCR53C400=y
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_NCR53C406A=m
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_PAS16=m
+CONFIG_SCSI_QLOGIC_FAS=m
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLA_FC=m
+CONFIG_TCM_QLA2XXX=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_SYM53C416=m
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+CONFIG_SCSI_T128=m
+CONFIG_SCSI_U14_34F=m
+# CONFIG_SCSI_U14_34F_TAGGED_QUEUE is not set
+# CONFIG_SCSI_U14_34F_LINKED_COMMANDS is not set
+CONFIG_SCSI_U14_34F_MAX_TAGS=8
+CONFIG_SCSI_ULTRASTOR=m
+CONFIG_SCSI_NSP32=m
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
+CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_VIRTIO=m
+CONFIG_SCSI_CHELSIO_FCOE=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_NINJA_SCSI=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=0
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+CONFIG_SATA_ZPODD=y
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_AHCI_PLATFORM=m
+CONFIG_SATA_INIC162X=m
+CONFIG_SATA_ACARD_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_SX4=m
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_HIGHBANK=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_RCAR=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_SVW=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+
+#
+# PATA SFF controllers with BMDMA
+#
+CONFIG_PATA_ALI=m
+CONFIG_PATA_AMD=m
+CONFIG_PATA_ARASAN_CF=m
+CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATIIXP=m
+CONFIG_PATA_ATP867X=m
+CONFIG_PATA_CMD64X=m
+CONFIG_PATA_CS5520=m
+CONFIG_PATA_CS5530=m
+CONFIG_PATA_CS5535=m
+CONFIG_PATA_CS5536=m
+CONFIG_PATA_CYPRESS=m
+CONFIG_PATA_EFAR=m
+CONFIG_PATA_HPT366=m
+CONFIG_PATA_HPT37X=m
+CONFIG_PATA_HPT3X2N=m
+CONFIG_PATA_HPT3X3=m
+# CONFIG_PATA_HPT3X3_DMA is not set
+CONFIG_PATA_IT8213=m
+CONFIG_PATA_IT821X=m
+CONFIG_PATA_JMICRON=m
+CONFIG_PATA_MARVELL=m
+CONFIG_PATA_NETCELL=m
+CONFIG_PATA_NINJA32=m
+CONFIG_PATA_NS87415=m
+CONFIG_PATA_OLDPIIX=m
+CONFIG_PATA_OPTIDMA=m
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_PDC_OLD=m
+CONFIG_PATA_RADISYS=m
+CONFIG_PATA_RDC=m
+CONFIG_PATA_SC1200=m
+CONFIG_PATA_SCH=m
+CONFIG_PATA_SERVERWORKS=m
+CONFIG_PATA_SIL680=m
+CONFIG_PATA_SIS=m
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_TRIFLEX=m
+CONFIG_PATA_VIA=m
+CONFIG_PATA_WINBOND=m
+
+#
+# PIO-only SFF controllers
+#
+CONFIG_PATA_CMD640_PCI=m
+CONFIG_PATA_ISAPNP=m
+CONFIG_PATA_MPIIX=m
+CONFIG_PATA_NS87410=m
+CONFIG_PATA_OPTI=m
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_QDI=m
+CONFIG_PATA_RZ1000=m
+CONFIG_PATA_WINBOND_VLB=m
+
+#
+# Generic fallback / legacy drivers
+#
+CONFIG_PATA_ACPI=m
+CONFIG_ATA_GENERIC=m
+CONFIG_PATA_LEGACY=m
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BCACHE=m
+# CONFIG_BCACHE_DEBUG is not set
+# CONFIG_BCACHE_EDEBUG is not set
+# CONFIG_BCACHE_CLOSURES_DEBUG is not set
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_BUFIO=m
+CONFIG_DM_BIO_PRISON=m
+CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_THIN_PROVISIONING=m
+# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
+CONFIG_DM_CACHE=m
+CONFIG_DM_CACHE_MQ=m
+CONFIG_DM_CACHE_CLEANER=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_RAID=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_UEVENT=y
+CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
+CONFIG_DM_SWITCH=m
+CONFIG_TARGET_CORE=m
+CONFIG_TCM_IBLOCK=m
+CONFIG_TCM_FILEIO=m
+CONFIG_TCM_PSCSI=m
+CONFIG_LOOPBACK_TARGET=m
+CONFIG_TCM_FC=m
+CONFIG_ISCSI_TARGET=m
+CONFIG_SBP_TARGET=m
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+CONFIG_FIREWIRE_NOSY=m
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_MII=m
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_EQUALIZER=m
+# CONFIG_NET_FC is not set
+CONFIG_IFB=m
+CONFIG_NET_TEAM=m
+CONFIG_NET_TEAM_MODE_BROADCAST=m
+CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
+CONFIG_NET_TEAM_MODE_RANDOM=m
+CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
+CONFIG_NET_TEAM_MODE_LOADBALANCE=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_VXLAN=m
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_RIONET=m
+CONFIG_RIONET_TX_SIZE=128
+CONFIG_RIONET_RX_SIZE=128
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_NLMON=m
+CONFIG_SUNGEM_PHY=m
+# CONFIG_ARCNET is not set
+CONFIG_ATM_DRIVERS=y
+# CONFIG_ATM_DUMMY is not set
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+
+#
+# CAIF transport drivers
+#
+CONFIG_CAIF_TTY=m
+CONFIG_CAIF_SPI_SLAVE=m
+CONFIG_CAIF_SPI_SYNC=y
+CONFIG_CAIF_HSI=m
+CONFIG_CAIF_VIRTIO=m
+CONFIG_VHOST_NET=m
+CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_RING=m
+CONFIG_VHOST=m
+
+#
+# Distributed Switch Architecture drivers
+#
+CONFIG_NET_DSA_MV88E6XXX=m
+CONFIG_NET_DSA_MV88E6060=m
+CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
+CONFIG_NET_DSA_MV88E6131=m
+CONFIG_NET_DSA_MV88E6123_61_65=m
+CONFIG_ETHERNET=y
+CONFIG_MDIO=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_EL3=m
+CONFIG_3C515=m
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_3C589=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_NET_VENDOR_ADAPTEC=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_NET_VENDOR_ALTEON=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_NET_VENDOR_AMD=y
+CONFIG_AMD8111_ETH=m
+CONFIG_LANCE=m
+CONFIG_PCNET32=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_NI65=m
+CONFIG_NET_VENDOR_ARC=y
+CONFIG_ARC_EMAC=m
+CONFIG_NET_VENDOR_ATHEROS=y
+CONFIG_ATL2=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_ALX=m
+CONFIG_NET_CADENCE=y
+CONFIG_ARM_AT91_ETHER=m
+CONFIG_MACB=m
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_TIGON3=m
+CONFIG_BNX2X=m
+CONFIG_BNX2X_SRIOV=y
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
+CONFIG_NET_CALXEDA_XGMAC=m
+CONFIG_NET_VENDOR_CHELSIO=y
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4=m
+CONFIG_CHELSIO_T4VF=m
+CONFIG_NET_VENDOR_CIRRUS=y
+CONFIG_CS89x0=m
+# CONFIG_CS89x0_PLATFORM is not set
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_ENIC=m
+CONFIG_DNET=m
+CONFIG_NET_VENDOR_DEC=y
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_NET_VENDOR_DLINK=y
+CONFIG_DL2K=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_NET_VENDOR_EMULEX=y
+CONFIG_BE2NET=m
+CONFIG_NET_VENDOR_EXAR=y
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_NET_VENDOR_FUJITSU=y
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_NET_VENDOR_HP=y
+CONFIG_HP100=m
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_E100=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IGB=m
+CONFIG_IGB_HWMON=y
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_IXGB=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_HWMON=y
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_I40E=m
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_IP1000=m
+CONFIG_JME=m
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_MVMDIO=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKGE_GENESIS=y
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+# CONFIG_MLX5_CORE is not set
+CONFIG_NET_VENDOR_MICREL=y
+CONFIG_KS8842=m
+# CONFIG_KS8851 is not set
+CONFIG_KS8851_MLL=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_NET_VENDOR_MICROCHIP=y
+# CONFIG_ENC28J60 is not set
+CONFIG_NET_VENDOR_MYRI=y
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_FEALNX=m
+CONFIG_NET_VENDOR_NATSEMI=y
+CONFIG_NATSEMI=m
+CONFIG_NS83820=m
+CONFIG_NET_VENDOR_8390=y
+CONFIG_PCMCIA_AXNET=m
+CONFIG_NE2000=m
+CONFIG_NE2K_PCI=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_ULTRA=m
+CONFIG_WD80x3=m
+CONFIG_NET_VENDOR_NVIDIA=y
+CONFIG_FORCEDETH=m
+CONFIG_NET_VENDOR_OKI=y
+CONFIG_PCH_GBE=m
+CONFIG_ETHOC=m
+CONFIG_NET_PACKET_ENGINE=y
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_NET_VENDOR_QLOGIC=y
+CONFIG_QLA3XXX=m
+CONFIG_QLCNIC=m
+CONFIG_QLCNIC_SRIOV=y
+CONFIG_QLGE=m
+CONFIG_NETXEN_NIC=m
+CONFIG_NET_VENDOR_REALTEK=y
+CONFIG_ATP=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R8169=m
+CONFIG_SH_ETH=m
+CONFIG_NET_VENDOR_RDC=y
+CONFIG_R6040=m
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_SC92031=m
+CONFIG_NET_VENDOR_SIS=y
+CONFIG_SIS900=m
+CONFIG_SIS190=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_SFC_MCDI_MON=y
+CONFIG_SFC_SRIOV=y
+CONFIG_NET_VENDOR_SMSC=y
+CONFIG_SMC9194=m
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_EPIC100=m
+CONFIG_SMSC911X=m
+# CONFIG_SMSC911X_ARCH_HOOKS is not set
+CONFIG_SMSC9420=m
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_ETH=m
+# CONFIG_STMMAC_PLATFORM is not set
+CONFIG_STMMAC_PCI=y
+# CONFIG_STMMAC_DEBUG_FS is not set
+# CONFIG_STMMAC_DA is not set
+CONFIG_NET_VENDOR_SUN=y
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NIU=m
+CONFIG_NET_VENDOR_TEHUTI=y
+CONFIG_TEHUTI=m
+CONFIG_NET_VENDOR_TI=y
+CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VIA=y
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_VIA_VELOCITY=m
+CONFIG_NET_VENDOR_WIZNET=y
+CONFIG_WIZNET_W5100=m
+CONFIG_WIZNET_W5300=m
+# CONFIG_WIZNET_BUS_DIRECT is not set
+# CONFIG_WIZNET_BUS_INDIRECT is not set
+CONFIG_WIZNET_BUS_ANY=y
+CONFIG_NET_VENDOR_XIRCOM=y
+CONFIG_PCMCIA_XIRC2PS=m
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_NET_SB1000=m
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_AT803X_PHY=m
+CONFIG_AMD_PHY=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_BCM87XX_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+CONFIG_MDIO_BITBANG=m
+# CONFIG_MDIO_GPIO is not set
+CONFIG_MDIO_BUS_MUX=m
+CONFIG_MDIO_BUS_MUX_GPIO=m
+CONFIG_MDIO_BUS_MUX_MMIOREG=m
+# CONFIG_MICREL_KS8995MA is not set
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOATM=m
+CONFIG_PPPOE=m
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_SLIP=m
+CONFIG_SLHC=m
+# CONFIG_SLIP_COMPRESSED is not set
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_CDC_MBIM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SR9700=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_QMI_WWAN=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_USB_VL600=m
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+CONFIG_ATH_CARDS=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+# CONFIG_ATH5K_TRACER is not set
+CONFIG_ATH5K_PCI=y
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
+CONFIG_ATH9K=m
+CONFIG_ATH9K_PCI=y
+CONFIG_ATH9K_AHB=y
+# CONFIG_ATH9K_DEBUGFS is not set
+# CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set
+CONFIG_ATH9K_RFKILL=y
+CONFIG_ATH9K_HTC=m
+# CONFIG_ATH9K_HTC_DEBUGFS is not set
+CONFIG_CARL9170=m
+CONFIG_CARL9170_LEDS=y
+CONFIG_CARL9170_WPC=y
+# CONFIG_CARL9170_HWRNG is not set
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
+# CONFIG_ATH6KL_DEBUG is not set
+# CONFIG_ATH6KL_TRACING is not set
+CONFIG_AR5523=m
+CONFIG_WIL6210=m
+CONFIG_WIL6210_ISR_COR=y
+# CONFIG_WIL6210_TRACING is not set
+CONFIG_ATH10K=m
+CONFIG_ATH10K_PCI=m
+# CONFIG_ATH10K_DEBUG is not set
+CONFIG_ATH10K_DEBUGFS=y
+# CONFIG_ATH10K_TRACING is not set
+CONFIG_B43=m
+CONFIG_B43_BCMA=y
+CONFIG_B43_SSB=y
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_BCMA_PIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_N=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_PHY_HT=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMSMAC=m
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
+# CONFIG_BRCM_TRACING is not set
+# CONFIG_BRCMDBG is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_IWLWIFI_OPMODE_MODULAR=y
+
+#
+# Debugging Options
+#
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEVICE_TRACING=y
+CONFIG_IWLEGACY=m
+CONFIG_IWL4965=m
+CONFIG_IWL3945=m
+
+#
+# iwl3945 / iwl4965 Debugging Options
+#
+# CONFIG_IWLEGACY_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_SPI is not set
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+CONFIG_HERMES_PRISM=y
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_ORINOCO_USB=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+# CONFIG_P54_SPI is not set
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT33XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2800PCI_RT53XX=y
+CONFIG_RT2800PCI_RT3290=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT33XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_RT3573=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_MMIO=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_RTL_CARDS=m
+CONFIG_RTL8192CE=m
+CONFIG_RTL8192SE=m
+CONFIG_RTL8192DE=m
+CONFIG_RTL8723AE=m
+CONFIG_RTL8188EE=m
+CONFIG_RTL8192CU=m
+CONFIG_RTLWIFI=m
+CONFIG_RTLWIFI_PCI=m
+CONFIG_RTLWIFI_USB=m
+# CONFIG_RTLWIFI_DEBUG is not set
+CONFIG_RTL8192C_COMMON=m
+CONFIG_WL_TI=y
+CONFIG_WL1251=m
+# CONFIG_WL1251_SPI is not set
+CONFIG_WL1251_SDIO=m
+CONFIG_WL12XX=m
+CONFIG_WL18XX=m
+CONFIG_WLCORE=m
+# CONFIG_WLCORE_SPI is not set
+CONFIG_WLCORE_SDIO=m
+CONFIG_WILINK_PLATFORM_DATA=y
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_MWIFIEX_USB=m
+CONFIG_CW1200=m
+CONFIG_CW1200_WLAN_SDIO=m
+CONFIG_CW1200_WLAN_SPI=m
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+# CONFIG_WAN is not set
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_IEEE802154_FAKELB=m
+CONFIG_IEEE802154_AT86RF230=m
+# CONFIG_IEEE802154_MRF24J40 is not set
+CONFIG_VMXNET3=m
+CONFIG_HYPERV_NET=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_0=y
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_AVM_A1=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_IX1MICROR2=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_ASUSCOM=y
+CONFIG_HISAX_TELEINT=y
+CONFIG_HISAX_HFCS=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_SPORTSTER=y
+CONFIG_HISAX_MIC=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_ISURF=y
+CONFIG_HISAX_HSTSAPHIR=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_DRV_ICN=m
+CONFIG_ISDN_DRV_PCBIT=m
+CONFIG_ISDN_DRV_SC=m
+CONFIG_ISDN_DRV_ACT2000=m
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_T1ISA=m
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_CAPI=y
+# CONFIG_GIGASET_I4L is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_INPUT_MATRIXKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ADP5589=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_QT1070=m
+CONFIG_KEYBOARD_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+CONFIG_KEYBOARD_TCA6416=m
+CONFIG_KEYBOARD_TCA8418=m
+CONFIG_KEYBOARD_MATRIX=m
+# CONFIG_KEYBOARD_LM8323 is not set
+CONFIG_KEYBOARD_LM8333=m
+# CONFIG_KEYBOARD_MAX7359 is not set
+CONFIG_KEYBOARD_MCS=m
+CONFIG_KEYBOARD_MPR121=m
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_PS2_OLPC=y
+CONFIG_MOUSE_SERIAL=y
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_CYAPA=m
+CONFIG_MOUSE_INPORT=m
+# CONFIG_MOUSE_ATIXL is not set
+CONFIG_MOUSE_LOGIBM=m
+CONFIG_MOUSE_PC110PAD=m
+CONFIG_MOUSE_VSXXXAA=m
+# CONFIG_MOUSE_GPIO is not set
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_MOUSE_SYNAPTICS_USB=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_AS5011=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_HANWANG=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_AD7877 is not set
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
+CONFIG_TOUCHSCREEN_BU21013=m
+CONFIG_TOUCHSCREEN_CY8CTMG110=m
+CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
+CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
+# CONFIG_TOUCHSCREEN_CYTTSP_SPI is not set
+CONFIG_TOUCHSCREEN_CYTTSP4_CORE=m
+CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m
+CONFIG_TOUCHSCREEN_CYTTSP4_SPI=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_HAMPSHIRE=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_EGALAX=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_WACOM_I2C=m
+CONFIG_TOUCHSCREEN_MAX11801=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MMS114=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_HTCPEN=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+CONFIG_TOUCHSCREEN_WM9705=y
+CONFIG_TOUCHSCREEN_WM9712=y
+CONFIG_TOUCHSCREEN_WM9713=y
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+CONFIG_TOUCHSCREEN_MC13783=m
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+CONFIG_TOUCHSCREEN_USB_ELO=y
+CONFIG_TOUCHSCREEN_USB_E2I=y
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC_SERIO=m
+# CONFIG_TOUCHSCREEN_TSC2005 is not set
+CONFIG_TOUCHSCREEN_TSC2007=m
+CONFIG_TOUCHSCREEN_ST1232=m
+CONFIG_TOUCHSCREEN_TPS6507X=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_AD714X=m
+CONFIG_INPUT_AD714X_I2C=m
+CONFIG_INPUT_AD714X_SPI=m
+CONFIG_INPUT_BMA150=m
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_MC13783_PWRBUTTON=m
+CONFIG_INPUT_MMA8450=m
+CONFIG_INPUT_MPU3050=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_GP2A=m
+# CONFIG_INPUT_GPIO_TILT_POLLED is not set
+CONFIG_INPUT_WISTRON_BTNS=m
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_KXTJ9=m
+# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_PCF8574=m
+# CONFIG_INPUT_PWM_BEEPER is not set
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+CONFIG_INPUT_ADXL34X=m
+CONFIG_INPUT_ADXL34X_I2C=m
+CONFIG_INPUT_ADXL34X_SPI=m
+# CONFIG_INPUT_IMS_PCU is not set
+CONFIG_INPUT_CMA3000=m
+CONFIG_INPUT_CMA3000_I2C=m
+CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_SERIO_PS2MULT=m
+CONFIG_SERIO_ARC_PS2=m
+CONFIG_SERIO_APBPS2=m
+CONFIG_SERIO_OLPC_APSP=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+# CONFIG_SYNCLINK_GT is not set
+CONFIG_NOZOMI=m
+# CONFIG_ISI is not set
+CONFIG_N_HDLC=m
+CONFIG_N_GSM=m
+CONFIG_TRACE_ROUTER=m
+CONFIG_TRACE_SINK=m
+# CONFIG_DEVKMEM is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+CONFIG_SERIAL_8250_DW=m
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+CONFIG_SERIAL_MFD_HSU=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_OF_PLATFORM=m
+CONFIG_SERIAL_SCCNXP=m
+# CONFIG_SERIAL_TIMBERDALE is not set
+CONFIG_SERIAL_ALTERA_JTAGUART=m
+CONFIG_SERIAL_ALTERA_UART=m
+CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
+CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
+# CONFIG_SERIAL_IFX6X60 is not set
+CONFIG_SERIAL_PCH_UART=m
+CONFIG_SERIAL_XILINX_PS_UART=m
+CONFIG_SERIAL_ARC=m
+CONFIG_SERIAL_ARC_NR_PORTS=1
+CONFIG_SERIAL_RP2=m
+CONFIG_SERIAL_RP2_NR_UARTS=32
+CONFIG_SERIAL_FSL_LPUART=m
+CONFIG_SERIAL_ST_ASC=m
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_VIRTIO_CONSOLE=y
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_GEODE=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_TPM=m
+CONFIG_NVRAM=m
+CONFIG_DTLK=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+CONFIG_SONYPI=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+CONFIG_PC8736x_GPIO=m
+CONFIG_NSC_GPIO=m
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_TIS_I2C_INFINEON=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TCG_ST33_I2C=m
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_MUX=m
+
+#
+# Multiplexer I2C Chip support
+#
+# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_MUX_GPIO is not set
+CONFIG_I2C_MUX_PCA9541=m
+CONFIG_I2C_MUX_PCA954x=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_ISMT=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_EG20T=m
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_PCA_PLATFORM=m
+CONFIG_I2C_PXA=m
+CONFIG_I2C_PXA_PCI=y
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_DIOLAN_U2C=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+CONFIG_I2C_VIPERBOARD=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_PCA_ISA=m
+CONFIG_SCx200_ACB=m
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_BUTTERFLY is not set
+# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_LM70_LLP is not set
+# CONFIG_SPI_FSL_SPI is not set
+# CONFIG_SPI_FSL_DSPI is not set
+# CONFIG_SPI_OC_TINY is not set
+# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_PXA2XX_PCI is not set
+# CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_TOPCLIFF_PCH is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+# CONFIG_HSI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_PPS_CLIENT_PARPORT=m
+CONFIG_PPS_CLIENT_GPIO=m
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+CONFIG_DP83640_PHY=m
+CONFIG_PTP_1588_CLOCK_PCH=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_GPIOLIB=y
+CONFIG_OF_GPIO=y
+CONFIG_GPIO_ACPI=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+
+#
+# Memory mapped GPIO drivers:
+#
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_IT8761E is not set
+# CONFIG_GPIO_F7188X is not set
+# CONFIG_GPIO_TS5500 is not set
+CONFIG_GPIO_SCH=m
+CONFIG_GPIO_ICH=m
+# CONFIG_GPIO_VX855 is not set
+# CONFIG_GPIO_LYNXPOINT is not set
+# CONFIG_GPIO_GRGPIO is not set
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_ARIZONA=m
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_ADP5588 is not set
+# CONFIG_GPIO_ADNP is not set
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=y
+CONFIG_GPIO_AMD8111=m
+# CONFIG_GPIO_LANGWELL is not set
+# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_ML_IOH is not set
+# CONFIG_GPIO_SODAVILLE is not set
+# CONFIG_GPIO_RDC321X is not set
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_74X164 is not set
+
+#
+# AC97 GPIO expanders:
+#
+CONFIG_GPIO_UCB1400=y
+
+#
+# LPC GPIO expanders:
+#
+
+#
+# MODULbus GPIO expanders:
+#
+
+#
+# USB GPIO expanders:
+#
+CONFIG_GPIO_VIPERBOARD=m
+# CONFIG_W1 is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_TEST_POWER=m
+# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
+# CONFIG_BATTERY_DS2782 is not set
+CONFIG_BATTERY_OLPC=m
+# CONFIG_BATTERY_SBS is not set
+# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_BATTERY_MAX17040 is not set
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_CHARGER_PCF50633 is not set
+# CONFIG_CHARGER_ISP1704 is not set
+# CONFIG_CHARGER_MAX8903 is not set
+# CONFIG_CHARGER_LP8727 is not set
+# CONFIG_CHARGER_GPIO is not set
+# CONFIG_CHARGER_BQ2415X is not set
+# CONFIG_CHARGER_BQ24190 is not set
+# CONFIG_CHARGER_SMB347 is not set
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_GPIO=y
+CONFIG_POWER_AVS=y
+CONFIG_HWMON=y
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+# CONFIG_SENSORS_AD7314 is not set
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+# CONFIG_SENSORS_ADCXX is not set
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7X10=m
+CONFIG_SENSORS_ADT7310=m
+CONFIG_SENSORS_ADT7410=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_FAM15H_POWER=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS620=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_G762=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+# CONFIG_SENSORS_GPIO_FAN is not set
+CONFIG_SENSORS_HIH6130=m
+CONFIG_SENSORS_HTU21=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_JC42=m
+CONFIG_SENSORS_LINEAGE=m
+CONFIG_SENSORS_LM63=m
+# CONFIG_SENSORS_LM70 is not set
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4151=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LTC4261=m
+CONFIG_SENSORS_LM95234=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_LM95245=m
+# CONFIG_SENSORS_MAX1111 is not set
+CONFIG_SENSORS_MAX16065=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX1668=m
+CONFIG_SENSORS_MAX197=m
+CONFIG_SENSORS_MAX6639=m
+CONFIG_SENSORS_MAX6642=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_MAX6697=m
+CONFIG_SENSORS_MCP3021=m
+CONFIG_SENSORS_NCT6775=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_PMBUS=m
+CONFIG_SENSORS_PMBUS=m
+CONFIG_SENSORS_ADM1275=m
+CONFIG_SENSORS_LM25066=m
+CONFIG_SENSORS_LTC2978=m
+CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX34440=m
+CONFIG_SENSORS_MAX8688=m
+CONFIG_SENSORS_UCD9000=m
+CONFIG_SENSORS_UCD9200=m
+CONFIG_SENSORS_ZL6100=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SHT21=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMM665=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_EMC1403=m
+CONFIG_SENSORS_EMC2103=m
+CONFIG_SENSORS_EMC6W201=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_SCH56XX_COMMON=m
+CONFIG_SENSORS_SCH5627=m
+CONFIG_SENSORS_SCH5636=m
+CONFIG_SENSORS_ADS1015=m
+CONFIG_SENSORS_ADS7828=m
+# CONFIG_SENSORS_ADS7871 is not set
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_INA209=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP102=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83795=m
+# CONFIG_SENSORS_W83795_FANCTRL is not set
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ACPI_POWER=m
+CONFIG_SENSORS_ATK0110=m
+CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_USER_SPACE=y
+# CONFIG_CPU_THERMAL is not set
+# CONFIG_THERMAL_EMULATION is not set
+CONFIG_INTEL_POWERCLAMP=m
+CONFIG_X86_PKG_TEMP_THERMAL=m
+
+#
+# Texas Instruments thermal drivers
+#
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_RETU_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_F71808E_WDT=m
+CONFIG_SP5100_TCO=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_IE6XX_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_HPWDT_NMI_DECODING=y
+CONFIG_SC1200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_NV_TCO=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_SBC7240_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_VIA_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+CONFIG_MEN_A21_WDT=m
+
+#
+# ISA-based Watchdog Cards
+#
+CONFIG_PCWATCHDOG=m
+CONFIG_MIXCOMWD=m
+CONFIG_WDT=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+CONFIG_SSB_DRIVER_GPIO=y
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+CONFIG_BCMA=m
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+# CONFIG_BCMA_HOST_SOC is not set
+CONFIG_BCMA_DRIVER_GMAC_CMN=y
+CONFIG_BCMA_DRIVER_GPIO=y
+# CONFIG_BCMA_DEBUG is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+CONFIG_MFD_CS5535=m
+# CONFIG_MFD_CROS_EC is not set
+# CONFIG_MFD_DA9052_SPI is not set
+CONFIG_MFD_MC13783=m
+CONFIG_MFD_MC13XXX=m
+# CONFIG_MFD_MC13XXX_SPI is not set
+CONFIG_MFD_MC13XXX_I2C=m
+CONFIG_HTC_PASIC3=m
+CONFIG_LPC_ICH=m
+CONFIG_LPC_SCH=m
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_EZX_PCAP is not set
+CONFIG_MFD_VIPERBOARD=m
+CONFIG_MFD_RETU=m
+CONFIG_MFD_PCF50633=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_UCB1400_CORE=m
+CONFIG_MFD_RDC321X=m
+CONFIG_MFD_RTSX_PCI=m
+CONFIG_MFD_SI476X_CORE=m
+CONFIG_MFD_SM501=m
+CONFIG_MFD_SM501_GPIO=y
+CONFIG_ABX500_CORE=y
+# CONFIG_MFD_STMPE is not set
+# CONFIG_MFD_SYSCON is not set
+CONFIG_MFD_TI_AM335X_TSCADC=m
+# CONFIG_TPS6105X is not set
+CONFIG_TPS65010=m
+CONFIG_TPS6507X=m
+CONFIG_MFD_TPS65217=m
+# CONFIG_MFD_TPS65912 is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_WL1273_CORE=m
+CONFIG_MFD_LM3533=m
+# CONFIG_MFD_TIMBERDALE is not set
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_VX855=m
+CONFIG_MFD_ARIZONA=y
+CONFIG_MFD_ARIZONA_I2C=m
+# CONFIG_MFD_ARIZONA_SPI is not set
+CONFIG_MFD_WM5102=y
+CONFIG_MFD_WM5110=y
+# CONFIG_MFD_WM8997 is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+CONFIG_VIDEO_V4L2=m
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_V4L2_MEM2MEM_DEV=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+# CONFIG_VIDEO_V4L2_INT_DEVICE is not set
+CONFIG_DVB_CORE=m
+CONFIG_DVB_NET=y
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+
+#
+# Media drivers
+#
+CONFIG_RC_CORE=m
+CONFIG_RC_MAP=m
+CONFIG_RC_DECODERS=y
+CONFIG_LIRC=m
+CONFIG_IR_LIRC_CODEC=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_SANYO_DECODER=m
+CONFIG_IR_MCE_KBD_DECODER=m
+CONFIG_RC_DEVICES=y
+CONFIG_RC_ATI_REMOTE=m
+CONFIG_IR_ENE=m
+CONFIG_IR_IMON=m
+CONFIG_IR_MCEUSB=m
+CONFIG_IR_ITE_CIR=m
+CONFIG_IR_FINTEK=m
+CONFIG_IR_NUVOTON=m
+CONFIG_IR_REDRAT3=m
+CONFIG_IR_STREAMZAP=m
+CONFIG_IR_WINBOND_CIR=m
+CONFIG_IR_IGUANA=m
+CONFIG_IR_TTUSBIR=m
+CONFIG_RC_LOOPBACK=m
+CONFIG_IR_GPIO_CIR=m
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_JL2005BCD=m
+CONFIG_USB_GSPCA_KINECT=m
+CONFIG_USB_GSPCA_KONICA=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_NW80X=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SE401=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SPCA1528=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_SQ930X=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STK1135=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_VICAM=m
+CONFIG_USB_GSPCA_XIRLINK_CIT=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_VIDEO_CPIA2=m
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_USB_SN9C102=m
+CONFIG_VIDEO_USBTV=m
+
+#
+# Analog TV USB devices
+#
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_STK1160_COMMON=m
+CONFIG_VIDEO_STK1160_AC97=y
+CONFIG_VIDEO_STK1160=m
+
+#
+# Analog/digital TV USB devices
+#
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_AU0828_V4L2=y
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_RC=y
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_TM6000=m
+CONFIG_VIDEO_TM6000_ALSA=m
+CONFIG_VIDEO_TM6000_DVB=m
+
+#
+# Digital TV USB devices
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_PCTV452E=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_USB_TECHNISAT_USB2=m
+CONFIG_DVB_USB_V2=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_AF9035=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_AZ6007=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_IT913X=m
+CONFIG_DVB_USB_LME2510=m
+CONFIG_DVB_USB_MXL111SF=m
+CONFIG_DVB_USB_RTL28XXU=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_USB_DRV=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_EM28XX_RC=m
+CONFIG_MEDIA_PCI_SUPPORT=y
+
+#
+# Media capture support
+#
+CONFIG_VIDEO_MEYE=m
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_MXB=m
+
+#
+# Media capture/analog/hybrid TV support
+#
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_MEDIA_ALTERA_CI=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_ENABLE_VP3054=y
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_BT848=m
+CONFIG_DVB_BT8XX=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_RC=y
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_SAA7164=m
+
+#
+# Media digital TV PCI Adapters
+#
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
+CONFIG_DVB_PLUTO2=m
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_PT1=m
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+CONFIG_DVB_NGENE=m
+CONFIG_DVB_DDBRIDGE=m
+# CONFIG_V4L_PLATFORM_DRIVERS is not set
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
+CONFIG_VIDEO_SH_VEU=m
+CONFIG_VIDEO_RENESAS_VSP1=m
+# CONFIG_V4L_TEST_DRIVERS is not set
+
+#
+# Supported MMC/SDIO adapters
+#
+CONFIG_SMS_SDIO_DRV=m
+CONFIG_MEDIA_PARPORT_SUPPORT=y
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_PMS=m
+CONFIG_VIDEO_W9966=m
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_TEA575X=m
+CONFIG_RADIO_SI470X=y
+CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
+CONFIG_USB_MR800=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_SHARK=m
+CONFIG_RADIO_SHARK2=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_KEENE=m
+CONFIG_USB_MA901=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_WL1273=m
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+CONFIG_RADIO_WL128X=m
+# CONFIG_V4L_RADIO_ISA_DRIVERS is not set
+
+#
+# Supported FireWire (IEEE 1394) Adapters
+#
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_INPUT=y
+CONFIG_MEDIA_COMMON_OPTIONS=y
+
+#
+# common driver options
+#
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_CYPRESS_FIRMWARE=m
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_SMS_SIANO_MDTV=m
+CONFIG_SMS_SIANO_RC=y
+
+#
+# Media ancillary drivers (tuners, sensors, i2c, frontends)
+#
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+CONFIG_MEDIA_ATTACH=y
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Audio decoders, processors and mixers
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_UDA1342=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+CONFIG_VIDEO_SONY_BTF_MPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_TW2804=m
+CONFIG_VIDEO_TW9903=m
+CONFIG_VIDEO_TW9906=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_CX25840=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+
+#
+# Camera sensor devices
+#
+CONFIG_VIDEO_OV7640=m
+CONFIG_VIDEO_MT9V011=m
+
+#
+# Flash devices
+#
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_M52790=m
+
+#
+# Sensors used on soc_camera driver
+#
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_XC4000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
+CONFIG_MEDIA_TUNER_TDA18212=m
+CONFIG_MEDIA_TUNER_E4000=m
+CONFIG_MEDIA_TUNER_FC2580=m
+CONFIG_MEDIA_TUNER_TUA9001=m
+CONFIG_MEDIA_TUNER_IT913X=m
+CONFIG_MEDIA_TUNER_R820T=m
+
+#
+# Multistandard (satellite) frontends
+#
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+
+#
+# Multistandard (cable + terrestrial) frontends
+#
+CONFIG_DVB_DRXK=m
+CONFIG_DVB_TDA18271C2DD=m
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_TS2020=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_TDA10071=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_DRXD=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_STV0367=m
+CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LG2160=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_AU8522_DTV=m
+CONFIG_DVB_AU8522_V4L=m
+CONFIG_DVB_S5H1411=m
+
+#
+# ISDB-T (terrestrial) frontends
+#
+CONFIG_DVB_S921=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_MB86A20S=m
+
+#
+# Digital terrestrial only tuners/PLL
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_TUNER_DIB0090=m
+
+#
+# SEC control devices for DVB-S
+#
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_LNBP22=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_A8293=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DVB_TDA665x=m
+CONFIG_DVB_IX2505V=m
+CONFIG_DVB_IT913X_FE=m
+CONFIG_DVB_M88RS2000=m
+CONFIG_DVB_AF9033=m
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+
+#
+# Graphics support
+#
+CONFIG_AGP=m
+CONFIG_AGP_ALI=m
+CONFIG_AGP_ATI=m
+CONFIG_AGP_AMD=m
+CONFIG_AGP_AMD64=m
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_NVIDIA=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_SWORKS=m
+CONFIG_AGP_VIA=m
+CONFIG_AGP_EFFICEON=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_USB=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_TTM=m
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
+CONFIG_DRM_I2C_NXP_TDA998X=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+# CONFIG_DRM_RADEON_UMS is not set
+CONFIG_DRM_NOUVEAU=m
+CONFIG_NOUVEAU_DEBUG=5
+CONFIG_NOUVEAU_DEBUG_DEFAULT=3
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+# CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_VMWGFX_FBCON=y
+CONFIG_DRM_GMA500=m
+CONFIG_DRM_GMA600=y
+CONFIG_DRM_GMA3600=y
+CONFIG_DRM_UDL=m
+CONFIG_DRM_AST=m
+CONFIG_DRM_MGAG200=m
+CONFIG_DRM_CIRRUS_QEMU=m
+CONFIG_DRM_QXL=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_HDMI=y
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ARC is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_VGA16=m
+CONFIG_FB_UVESA=m
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_N411 is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
+CONFIG_FB_I810=m
+CONFIG_FB_I810_GTF=y
+CONFIG_FB_I810_I2C=y
+# CONFIG_FB_LE80578 is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+CONFIG_FB_VIA=m
+CONFIG_FB_VIA_DIRECT_PROCFS=y
+CONFIG_FB_VIA_X_COMPATIBILITY=y
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_GEODE is not set
+# CONFIG_FB_TMIO is not set
+# CONFIG_FB_SM501 is not set
+# CONFIG_FB_SMSCUFX is not set
+CONFIG_FB_UDL=m
+# CONFIG_FB_GOLDFISH is not set
+CONFIG_FB_VIRTUAL=m
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+# CONFIG_FB_AUO_K190X is not set
+CONFIG_FB_HYPERV=m
+# CONFIG_FB_SIMPLE is not set
+# CONFIG_EXYNOS_VIDEO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+# CONFIG_LCD_L4F00242T03 is not set
+# CONFIG_LCD_LMS283GF05 is not set
+# CONFIG_LCD_LTV350QV is not set
+# CONFIG_LCD_ILI922X is not set
+# CONFIG_LCD_ILI9320 is not set
+# CONFIG_LCD_TDO24M is not set
+# CONFIG_LCD_VGG2432A4 is not set
+CONFIG_LCD_PLATFORM=m
+# CONFIG_LCD_S6E63M0 is not set
+# CONFIG_LCD_LD9040 is not set
+# CONFIG_LCD_AMS369FG06 is not set
+# CONFIG_LCD_LMS501KF03 is not set
+# CONFIG_LCD_HX8357 is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_BACKLIGHT_LM3533=m
+# CONFIG_BACKLIGHT_PWM is not set
+CONFIG_BACKLIGHT_APPLE=m
+# CONFIG_BACKLIGHT_SAHARA is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
+CONFIG_BACKLIGHT_PCF50633=m
+# CONFIG_BACKLIGHT_LM3630 is not set
+# CONFIG_BACKLIGHT_LM3639 is not set
+# CONFIG_BACKLIGHT_LP855X is not set
+# CONFIG_BACKLIGHT_OT200 is not set
+# CONFIG_BACKLIGHT_TPS65217 is not set
+# CONFIG_BACKLIGHT_GPIO is not set
+# CONFIG_BACKLIGHT_LV5207LP is not set
+# CONFIG_BACKLIGHT_BD6107 is not set
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+# CONFIG_MDA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_LOGO is not set
+CONFIG_FB_SSD1307=m
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_MAX_CARDS=32
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_KCTL_JACK=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+CONFIG_SND_OPL4_LIB_SEQ=m
+CONFIG_SND_SBAWE_SEQ=m
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_OPL4_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_ALOOP=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_WSS_LIB=m
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB8_DSP=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_ISA=y
+CONFIG_SND_ADLIB=m
+CONFIG_SND_AD1816A=m
+CONFIG_SND_AD1848=m
+CONFIG_SND_ALS100=m
+CONFIG_SND_AZT1605=m
+CONFIG_SND_AZT2316=m
+CONFIG_SND_AZT2320=m
+CONFIG_SND_CMI8328=m
+CONFIG_SND_CMI8330=m
+CONFIG_SND_CS4231=m
+CONFIG_SND_CS4236=m
+CONFIG_SND_ES1688=m
+CONFIG_SND_ES18XX=m
+CONFIG_SND_SC6000=m
+CONFIG_SND_GUSCLASSIC=m
+CONFIG_SND_GUSEXTREME=m
+CONFIG_SND_GUSMAX=m
+CONFIG_SND_INTERWAVE=m
+CONFIG_SND_INTERWAVE_STB=m
+CONFIG_SND_JAZZ16=m
+CONFIG_SND_OPL3SA2=m
+CONFIG_SND_OPTI92X_AD1848=m
+CONFIG_SND_OPTI92X_CS4231=m
+CONFIG_SND_OPTI93X=m
+CONFIG_SND_MIRO=m
+CONFIG_SND_SB8=m
+CONFIG_SND_SB16=m
+CONFIG_SND_SBAWE=m
+CONFIG_SND_SB16_CSP=y
+CONFIG_SND_SSCAPE=m
+CONFIG_SND_WAVEFRONT=m
+CONFIG_SND_MSND_PINNACLE=m
+CONFIG_SND_MSND_CLASSIC=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ASIHPI=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_ES1968_INPUT=y
+CONFIG_SND_ES1968_RADIO=y
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_DSP_LOADER=y
+CONFIG_SND_HDA_PREALLOC_SIZE=4096
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_HDMI=y
+CONFIG_SND_HDA_I915=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CA0132=y
+CONFIG_SND_HDA_CODEC_CA0132_DSP=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LOLA=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MAESTRO3_INPUT=y
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SIS7019=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_USB_HIFACE=m
+CONFIG_SND_FIREWIRE=y
+CONFIG_SND_FIREWIRE_LIB=m
+CONFIG_SND_FIREWIRE_SPEAKERS=m
+CONFIG_SND_ISIGHT=m
+CONFIG_SND_SCS1X=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID support
+#
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=m
+
+#
+# Special HID drivers
+#
+CONFIG_HID_A4TECH=m
+CONFIG_HID_ACRUX=m
+CONFIG_HID_ACRUX_FF=y
+CONFIG_HID_APPLE=m
+CONFIG_HID_APPLEIR=m
+CONFIG_HID_AUREAL=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_PRODIKEYS=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EMS_FF=m
+CONFIG_HID_ELECOM=m
+CONFIG_HID_ELO=m
+CONFIG_HID_EZKEY=m
+CONFIG_HID_HOLTEK=m
+CONFIG_HOLTEK_FF=y
+CONFIG_HID_HUION=m
+CONFIG_HID_KEYTOUCH=m
+CONFIG_HID_KYE=m
+CONFIG_HID_UCLOGIC=m
+CONFIG_HID_WALTOP=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_ICADE=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LCPOWER=m
+CONFIG_HID_LENOVO_TPKBD=m
+CONFIG_HID_LOGITECH=m
+CONFIG_HID_LOGITECH_DJ=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIWHEELS_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_MULTITOUCH=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_PICOLCD=m
+CONFIG_HID_PICOLCD_FB=y
+CONFIG_HID_PICOLCD_BACKLIGHT=y
+CONFIG_HID_PICOLCD_LCD=y
+CONFIG_HID_PICOLCD_LEDS=y
+CONFIG_HID_PICOLCD_CIR=y
+CONFIG_HID_PRIMAX=m
+CONFIG_HID_ROCCAT=m
+CONFIG_HID_SAITEK=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_SPEEDLINK=m
+CONFIG_HID_STEELSERIES=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_HYPERV_MOUSE=m
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TIVO=m
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THINGM=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_WIIMOTE=m
+CONFIG_HID_XINMO=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_HID_ZYDACRON=m
+CONFIG_HID_SENSOR_HUB=m
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# I2C HID support
+#
+CONFIG_I2C_HID=m
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=m
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+CONFIG_USB_DYNAMIC_MINORS=y
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=m
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=m
+# CONFIG_USB_EHCI_HCD_PLATFORM is not set
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_FUSBH200_HCD=m
+CONFIG_USB_FOTG210_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD_PCI=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_HCD_PLATFORM is not set
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+# CONFIG_USB_SL811_HCD_ISO is not set
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_RENESAS_USBHS_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_HCD_BCMA is not set
+# CONFIG_USB_HCD_SSB is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+CONFIG_USB_MUSB_HDRC=m
+# CONFIG_USB_MUSB_HOST is not set
+# CONFIG_USB_MUSB_GADGET is not set
+CONFIG_USB_MUSB_DUAL_ROLE=y
+CONFIG_USB_MUSB_TUSB6010=m
+CONFIG_USB_MUSB_DSPS=m
+CONFIG_USB_MUSB_UX500=m
+CONFIG_USB_MUSB_AM335X_CHILD=m
+# CONFIG_USB_UX500_DMA is not set
+CONFIG_MUSB_PIO_ONLY=y
+CONFIG_USB_RENESAS_USBHS=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_REALTEK=m
+CONFIG_REALTEK_AUTOPM=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+CONFIG_USB_STORAGE_ENE_UB6250=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+# CONFIG_USB_DWC3 is not set
+# CONFIG_USB_CHIPIDEA is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_SIMPLE=m
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_F81232=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_METRO=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7715_PARPORT=y
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_XSENS_MT=m
+CONFIG_USB_SERIAL_WISHBONE=m
+CONFIG_USB_SERIAL_ZTE=m
+CONFIG_USB_SERIAL_SSU100=m
+CONFIG_USB_SERIAL_QT2=m
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_YUREX=m
+CONFIG_USB_EZUSB_FX2=m
+CONFIG_USB_HSIC_USB3503=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+
+#
+# USB Physical Layer drivers
+#
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=m
+# CONFIG_AM335X_PHY_USB is not set
+CONFIG_SAMSUNG_USBPHY=m
+CONFIG_SAMSUNG_USB2PHY=m
+CONFIG_SAMSUNG_USB3PHY=m
+# CONFIG_USB_GPIO_VBUS is not set
+CONFIG_USB_ISP1301=m
+CONFIG_USB_RCAR_PHY=m
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+
+#
+# USB Peripheral Controller
+#
+CONFIG_USB_FUSB300=m
+CONFIG_USB_FOTG210_UDC=m
+CONFIG_USB_R8A66597=m
+CONFIG_USB_RENESAS_USBHS_UDC=m
+CONFIG_USB_PXA27X=m
+CONFIG_USB_MV_UDC=m
+CONFIG_USB_MV_U3D=m
+CONFIG_USB_M66592=m
+CONFIG_USB_AMD5536UDC=m
+CONFIG_USB_NET2272=m
+CONFIG_USB_NET2272_DMA=y
+CONFIG_USB_NET2280=m
+CONFIG_USB_GOKU=m
+CONFIG_USB_EG20T=m
+CONFIG_USB_DUMMY_HCD=m
+CONFIG_USB_LIBCOMPOSITE=m
+CONFIG_USB_F_ACM=m
+CONFIG_USB_U_SERIAL=m
+CONFIG_USB_U_ETHER=m
+CONFIG_USB_U_RNDIS=m
+CONFIG_USB_F_SERIAL=m
+CONFIG_USB_F_OBEX=m
+CONFIG_USB_F_NCM=m
+CONFIG_USB_F_ECM=m
+CONFIG_USB_F_SUBSET=m
+CONFIG_USB_F_RNDIS=m
+# CONFIG_USB_CONFIGFS is not set
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_AUDIO=m
+# CONFIG_GADGET_UAC1 is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+CONFIG_USB_G_NCM=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FUNCTIONFS=m
+CONFIG_USB_FUNCTIONFS_ETH=y
+CONFIG_USB_FUNCTIONFS_RNDIS=y
+CONFIG_USB_FUNCTIONFS_GENERIC=y
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_GADGET_TARGET=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_ACM_MS is not set
+# CONFIG_USB_G_MULTI is not set
+CONFIG_USB_G_HID=m
+CONFIG_USB_G_DBGP=m
+# CONFIG_USB_G_DBGP_PRINTK is not set
+CONFIG_USB_G_DBGP_SERIAL=y
+CONFIG_USB_G_WEBCAM=m
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_I1480U=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+# CONFIG_MMC_CLKGATE is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_ACPI=m
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MMC_VUB300=m
+CONFIG_MMC_USHC=m
+CONFIG_MMC_REALTEK_PCI=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+# CONFIG_MS_BLOCK is not set
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_MEMSTICK_R592=m
+CONFIG_MEMSTICK_REALTEK_PCI=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_LM3530=m
+CONFIG_LEDS_LM3533=m
+CONFIG_LEDS_LM3642=m
+CONFIG_LEDS_PCA9532=m
+# CONFIG_LEDS_PCA9532_GPIO is not set
+# CONFIG_LEDS_GPIO is not set
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_LP55XX_COMMON=m
+CONFIG_LEDS_LP5521=m
+CONFIG_LEDS_LP5523=m
+CONFIG_LEDS_LP5562=m
+# CONFIG_LEDS_LP8501 is not set
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_PWM is not set
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_MC13783=m
+CONFIG_LEDS_TCA6507=m
+CONFIG_LEDS_LM355x=m
+CONFIG_LEDS_OT200=m
+CONFIG_LEDS_BLINKM=m
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_ONESHOT=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+# CONFIG_LEDS_TRIGGER_CPU is not set
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_LEDS_TRIGGER_TRANSIENT=m
+CONFIG_LEDS_TRIGGER_CAMERA=m
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC=y
+CONFIG_EDAC_LEGACY_SYSFS=y
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
+CONFIG_EDAC_MCE_INJ=m
+CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD76X=m
+CONFIG_EDAC_E7XXX=m
+CONFIG_EDAC_E752X=m
+CONFIG_EDAC_I82875P=m
+CONFIG_EDAC_I82975X=m
+CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
+CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
+CONFIG_EDAC_I7CORE=m
+CONFIG_EDAC_I82860=m
+CONFIG_EDAC_R82600=m
+CONFIG_EDAC_I5000=m
+CONFIG_EDAC_I5100=m
+CONFIG_EDAC_I7300=m
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_DS3232=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_ISL12022=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF2127=m
+CONFIG_RTC_DRV_PCF8523=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+CONFIG_RTC_DRV_EM3027=m
+CONFIG_RTC_DRV_RV3029C2=m
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+# CONFIG_RTC_DRV_RX4581 is not set
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_DS2404=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MC13XXX=m
+CONFIG_RTC_DRV_SNVS=m
+# CONFIG_RTC_DRV_MOXART is not set
+
+#
+# HID Sensor RTC drivers
+#
+# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_INTEL_MID_DMAC=m
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DW_DMAC_CORE=m
+CONFIG_DW_DMAC=m
+CONFIG_DW_DMAC_PCI=m
+CONFIG_TIMB_DMA=m
+CONFIG_PCH_DMA=m
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_ACPI=y
+CONFIG_DMA_OF=y
+
+#
+# DMA Clients
+#
+CONFIG_ASYNC_TX_DMA=y
+# CONFIG_DMATEST is not set
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+CONFIG_KS0108=m
+CONFIG_KS0108_PORT=0x378
+CONFIG_KS0108_DELAY=2
+CONFIG_CFAG12864B=m
+CONFIG_CFAG12864B_RATE=20
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV_GENIRQ=m
+# CONFIG_UIO_DMEM_GENIRQ is not set
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+# CONFIG_UIO_MF624 is not set
+CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO=m
+CONFIG_VFIO_PCI=m
+CONFIG_VFIO_PCI_VGA=y
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO=y
+
+#
+# Virtio drivers
+#
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_MMIO=m
+CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
+
+#
+# Microsoft Hyper-V guest support
+#
+CONFIG_HYPERV=m
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_BALLOON=m
+CONFIG_STAGING=y
+CONFIG_ET131X=m
+CONFIG_SLICOSS=m
+CONFIG_USBIP_CORE=m
+CONFIG_USBIP_VHCI_HCD=m
+CONFIG_USBIP_HOST=m
+# CONFIG_USBIP_DEBUG is not set
+CONFIG_W35UND=m
+CONFIG_PRISM2_USB=m
+CONFIG_ECHO=m
+CONFIG_COMEDI=m
+# CONFIG_COMEDI_DEBUG is not set
+CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
+CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
+CONFIG_COMEDI_MISC_DRIVERS=y
+CONFIG_COMEDI_KCOMEDILIB=m
+CONFIG_COMEDI_BOND=m
+CONFIG_COMEDI_TEST=m
+CONFIG_COMEDI_PARPORT=m
+CONFIG_COMEDI_SERIAL2002=m
+CONFIG_COMEDI_SKEL=m
+CONFIG_COMEDI_SSV_DNP=m
+CONFIG_COMEDI_ISA_DRIVERS=y
+CONFIG_COMEDI_PCL711=m
+CONFIG_COMEDI_PCL724=m
+CONFIG_COMEDI_PCL726=m
+CONFIG_COMEDI_PCL730=m
+CONFIG_COMEDI_PCL812=m
+CONFIG_COMEDI_PCL816=m
+CONFIG_COMEDI_PCL818=m
+CONFIG_COMEDI_PCM3724=m
+CONFIG_COMEDI_AMPLC_DIO200_ISA=m
+CONFIG_COMEDI_AMPLC_PC236_ISA=m
+CONFIG_COMEDI_AMPLC_PC263_ISA=m
+CONFIG_COMEDI_RTI800=m
+CONFIG_COMEDI_RTI802=m
+CONFIG_COMEDI_DAS16M1=m
+CONFIG_COMEDI_DAS08_ISA=m
+CONFIG_COMEDI_DAS16=m
+CONFIG_COMEDI_DAS800=m
+CONFIG_COMEDI_DAS1800=m
+CONFIG_COMEDI_DAS6402=m
+CONFIG_COMEDI_DT2801=m
+CONFIG_COMEDI_DT2811=m
+CONFIG_COMEDI_DT2814=m
+CONFIG_COMEDI_DT2815=m
+CONFIG_COMEDI_DT2817=m
+CONFIG_COMEDI_DT282X=m
+CONFIG_COMEDI_DMM32AT=m
+CONFIG_COMEDI_UNIOXX5=m
+CONFIG_COMEDI_FL512=m
+CONFIG_COMEDI_AIO_AIO12_8=m
+CONFIG_COMEDI_AIO_IIRO_16=m
+CONFIG_COMEDI_II_PCI20KC=m
+CONFIG_COMEDI_C6XDIGIO=m
+CONFIG_COMEDI_MPC624=m
+CONFIG_COMEDI_ADQ12B=m
+CONFIG_COMEDI_NI_AT_A2150=m
+CONFIG_COMEDI_NI_AT_AO=m
+CONFIG_COMEDI_NI_ATMIO=m
+CONFIG_COMEDI_NI_ATMIO16D=m
+CONFIG_COMEDI_NI_LABPC_ISA=m
+CONFIG_COMEDI_PCMAD=m
+CONFIG_COMEDI_PCMDA12=m
+CONFIG_COMEDI_PCMMIO=m
+CONFIG_COMEDI_PCMUIO=m
+CONFIG_COMEDI_MULTIQ3=m
+CONFIG_COMEDI_POC=m
+CONFIG_COMEDI_S526=m
+CONFIG_COMEDI_PCI_DRIVERS=y
+CONFIG_COMEDI_8255_PCI=m
+CONFIG_COMEDI_ADDI_WATCHDOG=m
+CONFIG_COMEDI_ADDI_APCI_035=m
+CONFIG_COMEDI_ADDI_APCI_1032=m
+CONFIG_COMEDI_ADDI_APCI_1500=m
+CONFIG_COMEDI_ADDI_APCI_1516=m
+CONFIG_COMEDI_ADDI_APCI_1564=m
+CONFIG_COMEDI_ADDI_APCI_16XX=m
+CONFIG_COMEDI_ADDI_APCI_2032=m
+CONFIG_COMEDI_ADDI_APCI_2200=m
+CONFIG_COMEDI_ADDI_APCI_3120=m
+CONFIG_COMEDI_ADDI_APCI_3501=m
+CONFIG_COMEDI_ADDI_APCI_3XXX=m
+CONFIG_COMEDI_ADL_PCI6208=m
+CONFIG_COMEDI_ADL_PCI7X3X=m
+CONFIG_COMEDI_ADL_PCI8164=m
+CONFIG_COMEDI_ADL_PCI9111=m
+CONFIG_COMEDI_ADL_PCI9118=m
+CONFIG_COMEDI_ADV_PCI1710=m
+CONFIG_COMEDI_ADV_PCI1723=m
+CONFIG_COMEDI_ADV_PCI1724=m
+CONFIG_COMEDI_ADV_PCI_DIO=m
+CONFIG_COMEDI_AMPLC_DIO200_PCI=m
+CONFIG_COMEDI_AMPLC_PC236_PCI=m
+CONFIG_COMEDI_AMPLC_PC263_PCI=m
+CONFIG_COMEDI_AMPLC_PCI224=m
+CONFIG_COMEDI_AMPLC_PCI230=m
+CONFIG_COMEDI_CONTEC_PCI_DIO=m
+CONFIG_COMEDI_DAS08_PCI=m
+CONFIG_COMEDI_DT3000=m
+CONFIG_COMEDI_DYNA_PCI10XX=m
+CONFIG_COMEDI_GSC_HPDI=m
+CONFIG_COMEDI_ICP_MULTI=m
+CONFIG_COMEDI_DAQBOARD2000=m
+CONFIG_COMEDI_JR3_PCI=m
+CONFIG_COMEDI_KE_COUNTER=m
+CONFIG_COMEDI_CB_PCIDAS64=m
+CONFIG_COMEDI_CB_PCIDAS=m
+CONFIG_COMEDI_CB_PCIDDA=m
+# CONFIG_COMEDI_CB_PCIMDAS is not set
+CONFIG_COMEDI_CB_PCIMDDA=m
+CONFIG_COMEDI_ME4000=m
+CONFIG_COMEDI_ME_DAQ=m
+CONFIG_COMEDI_NI_6527=m
+CONFIG_COMEDI_NI_65XX=m
+CONFIG_COMEDI_NI_660X=m
+CONFIG_COMEDI_NI_670X=m
+CONFIG_COMEDI_NI_LABPC_PCI=m
+CONFIG_COMEDI_NI_PCIDIO=m
+CONFIG_COMEDI_NI_PCIMIO=m
+CONFIG_COMEDI_RTD520=m
+CONFIG_COMEDI_S626=m
+CONFIG_COMEDI_MITE=m
+CONFIG_COMEDI_NI_TIOCMD=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=y
+CONFIG_COMEDI_CB_DAS16_CS=m
+CONFIG_COMEDI_DAS08_CS=m
+CONFIG_COMEDI_NI_DAQ_700_CS=m
+CONFIG_COMEDI_NI_DAQ_DIO24_CS=m
+CONFIG_COMEDI_NI_LABPC_CS=m
+CONFIG_COMEDI_NI_MIO_CS=m
+CONFIG_COMEDI_QUATECH_DAQP_CS=m
+CONFIG_COMEDI_USB_DRIVERS=y
+CONFIG_COMEDI_DT9812=m
+CONFIG_COMEDI_USBDUX=m
+CONFIG_COMEDI_USBDUXFAST=m
+CONFIG_COMEDI_USBDUXSIGMA=m
+CONFIG_COMEDI_VMK80XX=m
+CONFIG_COMEDI_8255=m
+CONFIG_COMEDI_FC=m
+CONFIG_COMEDI_AMPLC_DIO200=m
+CONFIG_COMEDI_AMPLC_PC236=m
+CONFIG_COMEDI_DAS08=m
+CONFIG_COMEDI_NI_LABPC=m
+CONFIG_COMEDI_NI_LABPC_ISADMA=m
+CONFIG_COMEDI_NI_TIO=m
+# CONFIG_FB_OLPC_DCON is not set
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192U=m
+CONFIG_RTLLIB=m
+CONFIG_RTLLIB_CRYPTO_CCMP=m
+CONFIG_RTLLIB_CRYPTO_TKIP=m
+CONFIG_RTLLIB_CRYPTO_WEP=m
+CONFIG_RTL8192E=m
+CONFIG_R8712U=m
+CONFIG_R8188EU=m
+CONFIG_88EU_AP_MODE=y
+CONFIG_88EU_P2P=y
+CONFIG_RTS5139=m
+# CONFIG_RTS5139_DEBUG is not set
+# CONFIG_TRANZPORT is not set
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_DX_SEP=m
+CONFIG_ZSMALLOC=y
+CONFIG_ZRAM=m
+# CONFIG_ZRAM_DEBUG is not set
+CONFIG_WLAGS49_H2=m
+CONFIG_WLAGS49_H25=m
+CONFIG_FB_SM7XX=m
+CONFIG_CRYSTALHD=m
+CONFIG_FB_XGI=m
+CONFIG_ACPI_QUICKSTART=m
+CONFIG_USB_ENESTORAGE=m
+CONFIG_BCM_WIMAX=m
+CONFIG_FT1000=m
+CONFIG_FT1000_USB=m
+CONFIG_FT1000_PCMCIA=m
+
+#
+# Speakup console speech
+#
+CONFIG_SPEAKUP=m
+CONFIG_SPEAKUP_SYNTH_ACNTSA=m
+CONFIG_SPEAKUP_SYNTH_ACNTPC=m
+CONFIG_SPEAKUP_SYNTH_APOLLO=m
+CONFIG_SPEAKUP_SYNTH_AUDPTR=m
+CONFIG_SPEAKUP_SYNTH_BNS=m
+CONFIG_SPEAKUP_SYNTH_DECTLK=m
+CONFIG_SPEAKUP_SYNTH_DECEXT=m
+CONFIG_SPEAKUP_SYNTH_DECPC=m
+CONFIG_SPEAKUP_SYNTH_DTLK=m
+CONFIG_SPEAKUP_SYNTH_KEYPC=m
+CONFIG_SPEAKUP_SYNTH_LTLK=m
+CONFIG_SPEAKUP_SYNTH_SOFT=m
+CONFIG_SPEAKUP_SYNTH_SPKOUT=m
+CONFIG_SPEAKUP_SYNTH_TXPRT=m
+CONFIG_SPEAKUP_SYNTH_DUMMY=m
+CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
+CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
+CONFIG_STAGING_MEDIA=y
+CONFIG_DVB_AS102=m
+CONFIG_DVB_CXD2099=m
+CONFIG_VIDEO_DT3155=m
+CONFIG_DT3155_CCIR=y
+CONFIG_DT3155_STREAMING=y
+CONFIG_VIDEO_GO7007=m
+CONFIG_VIDEO_GO7007_USB=m
+CONFIG_VIDEO_GO7007_LOADER=m
+# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
+# CONFIG_USB_MSI3101 is not set
+CONFIG_SOLO6X10=m
+CONFIG_LIRC_STAGING=y
+CONFIG_LIRC_BT829=m
+CONFIG_LIRC_IGORPLUGUSB=m
+CONFIG_LIRC_IMON=m
+CONFIG_LIRC_PARALLEL=m
+CONFIG_LIRC_SASEM=m
+CONFIG_LIRC_SERIAL=m
+CONFIG_LIRC_SERIAL_TRANSMITTER=y
+CONFIG_LIRC_SIR=m
+CONFIG_LIRC_ZILOG=m
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+CONFIG_USB_WPAN_HCD=m
+CONFIG_WIMAX_GDM72XX=m
+CONFIG_WIMAX_GDM72XX_QOS=y
+CONFIG_WIMAX_GDM72XX_K_MODE=y
+CONFIG_WIMAX_GDM72XX_WIMAX2=y
+CONFIG_WIMAX_GDM72XX_USB=y
+# CONFIG_WIMAX_GDM72XX_SDIO is not set
+CONFIG_WIMAX_GDM72XX_USB_PM=y
+# CONFIG_LTE_GDM724X is not set
+CONFIG_NET_VENDOR_SILICOM=y
+CONFIG_SBYPASS=m
+CONFIG_BPCTL=m
+CONFIG_CED1401=m
+CONFIG_DGRP=m
+CONFIG_FIREWIRE_SERIAL=m
+# CONFIG_USB_DWC2 is not set
+CONFIG_LUSTRE_FS=m
+CONFIG_LUSTRE_OBD_MAX_IOCTL_BUFFER=8192
+# CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set
+CONFIG_LUSTRE_LLITE_LLOOP=y
+CONFIG_LNET=m
+CONFIG_LNET_MAX_PAYLOAD=1048576
+CONFIG_LNET_SELFTEST=m
+CONFIG_USB_BTMTK=m
+# CONFIG_XILLYBUS is not set
+CONFIG_DGNC=m
+CONFIG_DGAP=m
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_CHROMEOS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_DELL_WMI_AIO=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_FUJITSU_TABLET=m
+CONFIG_AMILO_RFKILL=m
+CONFIG_TC1100_WMI=m
+CONFIG_HP_ACCEL=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_IDEAPAD_LAPTOP=m
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_SENSORS_HDAPS=m
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_ASUS_WMI=m
+CONFIG_ASUS_NB_WMI=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+CONFIG_INTEL_IPS=m
+CONFIG_IBM_RTL=m
+CONFIG_XO1_RFKILL=m
+CONFIG_XO15_EBOOK=m
+CONFIG_SAMSUNG_LAPTOP=m
+CONFIG_MXM_WMI=m
+CONFIG_INTEL_OAKTRAIL=m
+CONFIG_SAMSUNG_Q10=m
+CONFIG_APPLE_GMUX=m
+CONFIG_INTEL_RST=y
+CONFIG_INTEL_SMARTCONNECT=y
+CONFIG_PVPANIC=m
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_CLKSRC_I8253=y
+CONFIG_CLKEVT_I8253=y
+CONFIG_I8253_LOCK=y
+CONFIG_CLKBLD_I8253=y
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+CONFIG_OF_IOMMU=y
+CONFIG_DMAR_TABLE=y
+CONFIG_INTEL_IOMMU=y
+# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
+CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+
+#
+# Remoteproc drivers
+#
+CONFIG_REMOTEPROC=m
+CONFIG_STE_MODEM_RPROC=m
+
+#
+# Rpmsg drivers
+#
+# CONFIG_PM_DEVFREQ is not set
+CONFIG_EXTCON=m
+
+#
+# Extcon Device Drivers
+#
+CONFIG_OF_EXTCON=m
+CONFIG_EXTCON_GPIO=m
+CONFIG_MEMORY=y
+# CONFIG_IIO is not set
+# CONFIG_NTB is not set
+# CONFIG_VME_BUS is not set
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+# CONFIG_PWM_PCA9685 is not set
+CONFIG_IRQCHIP=y
+CONFIG_IPACK_BUS=m
+CONFIG_BOARD_TPCI200=m
+CONFIG_SERIAL_IPOCTAL=m
+# CONFIG_RESET_CONTROLLER is not set
+CONFIG_FMC=m
+CONFIG_FMC_FAKEDEV=m
+CONFIG_FMC_TRIVIAL=m
+CONFIG_FMC_WRITE_EEPROM=m
+CONFIG_FMC_CHARDEV=m
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=m
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+# CONFIG_EFI_VARS is not set
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_USE_FOR_EXT23=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+CONFIG_JFS_STATISTICS=y
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCFS2_FS_STATS=y
+# CONFIG_OCFS2_DEBUG_MASKLOG is not set
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+# CONFIG_BTRFS_ASSERT is not set
+CONFIG_NILFS2_FS=m
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+# CONFIG_ECRYPT_FS_MESSAGING is not set
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_HFSPLUS_FS_POSIX_ACL=y
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=m
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+CONFIG_MINIX_FS=m
+CONFIG_OMFS_FS=m
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_PSTORE=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_FTRACE is not set
+CONFIG_PSTORE_RAM=m
+# CONFIG_SYSV_FS is not set
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_F2FS_FS=m
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_F2FS_FS_SECURITY=y
+CONFIG_EFIVAR_FS=y
+CONFIG_ORE=m
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V2=m
+CONFIG_NFS_V3=m
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=m
+CONFIG_NFS_SWAP=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_PNFS_FILE_LAYOUT=m
+CONFIG_PNFS_BLOCK=m
+CONFIG_PNFS_OBJLAYOUT=m
+CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="linux-libre.fsfla.org"
+CONFIG_NFS_V4_SECURITY_LABEL=y
+CONFIG_NFS_FSCACHE=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFS_DEBUG=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_V4_SECURITY_LABEL=y
+# CONFIG_NFSD_FAULT_INJECTION is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_SUNRPC_BACKCHANNEL=y
+CONFIG_SUNRPC_SWAP=y
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_SUNRPC_DEBUG=y
+CONFIG_CEPH_FS=m
+CONFIG_CEPH_FSCACHE=y
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+CONFIG_CIFS_UPCALL=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_CIFS_ACL=y
+# CONFIG_CIFS_DEBUG is not set
+CONFIG_CIFS_DFS_UPCALL=y
+CONFIG_CIFS_SMB2=y
+CONFIG_CIFS_FSCACHE=y
+CONFIG_NCP_FS=m
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+# CONFIG_NCPFS_EXTRAS is not set
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_9P_FS_SECURITY=y
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_MAC_ROMAN=m
+CONFIG_NLS_MAC_CELTIC=m
+CONFIG_NLS_MAC_CENTEURO=m
+CONFIG_NLS_MAC_CROATIAN=m
+CONFIG_NLS_MAC_CYRILLIC=m
+CONFIG_NLS_MAC_GAELIC=m
+CONFIG_NLS_MAC_GREEK=m
+CONFIG_NLS_MAC_ICELAND=m
+CONFIG_NLS_MAC_INUIT=m
+CONFIG_NLS_MAC_ROMANIAN=m
+CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+# CONFIG_BOOT_PRINTK_DELAY is not set
+CONFIG_DYNAMIC_DEBUG=y
+
+#
+# Compile-time checks and compiler options
+#
+# CONFIG_DEBUG_INFO is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=1024
+CONFIG_STRIP_ASM_SYMS=y
+# CONFIG_READABLE_ASM is not set
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+
+#
+# Memory Debugging
+#
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_DEBUG_HIGHMEM is not set
+CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_DEBUG_SHIRQ is not set
+
+#
+# Debug Lockups and Hangs
+#
+CONFIG_LOCKUP_DETECTOR=y
+CONFIG_HARDLOCKUP_DETECTOR=y
+# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_PREEMPT is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_PROVE_RCU_DELAY is not set
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
+# CONFIG_RCU_CPU_STALL_VERBOSE is not set
+# CONFIG_RCU_CPU_STALL_INFO is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+CONFIG_SCHED_TRACER=y
+CONFIG_FTRACE_SYSCALLS=y
+CONFIG_TRACER_SNAPSHOT=y
+# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+CONFIG_STACK_TRACER=y
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_KPROBE_EVENT=y
+CONFIG_UPROBE_EVENT=y
+CONFIG_PROBE_EVENTS=y
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_FUNCTION_PROFILER=y
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE_TEST is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+
+#
+# Runtime Testing
+#
+CONFIG_LKDTM=m
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_RBTREE_TEST is not set
+# CONFIG_INTERVAL_TREE_TEST is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+CONFIG_ASYNC_RAID6_TEST=m
+# CONFIG_TEST_STRING_HELPERS is not set
+CONFIG_TEST_KSTRTOX=m
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_X86_PTDUMP is not set
+CONFIG_DEBUG_RODATA=y
+# CONFIG_DEBUG_RODATA_TEST is not set
+# CONFIG_DEBUG_SET_MODULE_RONX is not set
+# CONFIG_DEBUG_NX_TEST is not set
+CONFIG_DOUBLEFAULT=y
+# CONFIG_DEBUG_TLBFLUSH is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+# CONFIG_X86_DECODER_SELFTEST is not set
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_NMI_SELFTEST is not set
+# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_TRUSTED_KEYS=m
+CONFIG_ENCRYPTED_KEYS=m
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+CONFIG_SECURITY_PATH=y
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+CONFIG_SECURITY_TOMOYO=y
+CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
+CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
+# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set
+CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/usr/bin/tomoyo-init"
+CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/usr/lib/systemd/systemd"
+CONFIG_SECURITY_APPARMOR=y
+CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0
+CONFIG_SECURITY_APPARMOR_HASH=y
+CONFIG_SECURITY_YAMA=y
+CONFIG_SECURITY_YAMA_STACKED=y
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
+# CONFIG_DEFAULT_SECURITY_YAMA is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=m
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_ABLK_HELPER_X86=m
+CONFIG_CRYPTO_GLUE_HELPER_X86=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_SEQIV=m
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_CRC32=m
+CONFIG_CRYPTO_CRC32_PCLMUL=m
+CONFIG_CRYPTO_CRCT10DIF=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_AES_586=m
+CONFIG_CRYPTO_AES_NI_INTEL=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_BLOWFISH_COMMON=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST_COMMON=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_586=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_SERPENT_SSE2_586=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_TWOFISH_586=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=y
+CONFIG_CRYPTO_LZ4=m
+CONFIG_CRYPTO_LZ4HC=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_USER_API=m
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_CRYPTO_DEV_GEODE=m
+CONFIG_CRYPTO_DEV_HIFN_795X=m
+CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
+CONFIG_ASYMMETRIC_KEY_TYPE=m
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
+CONFIG_PUBLIC_KEY_ALGO_RSA=m
+CONFIG_X509_CERTIFICATE_PARSER=m
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_KVM_ASYNC_PF=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_KVM_MMU_AUDIT=y
+CONFIG_KVM_DEVICE_ASSIGNMENT=y
+CONFIG_LGUEST=m
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=m
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_IO=y
+CONFIG_PERCPU_RWSEM=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_CRC8=m
+CONFIG_AUDIT_GENERIC=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_COMPRESS=m
+CONFIG_LZ4HC_COMPRESS=m
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_DECOMPRESS_LZ4=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_REED_SOLOMON=m
+CONFIG_REED_SOLOMON_ENC8=y
+CONFIG_REED_SOLOMON_DEC8=y
+CONFIG_BCH=m
+CONFIG_BCH_CONST_PARAMS=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_LRU_CACHE=m
+CONFIG_AVERAGE=y
+CONFIG_CLZ_TAB=y
+CONFIG_CORDIC=m
+CONFIG_DDR=y
+CONFIG_MPILIB=m
+CONFIG_OID_REGISTRY=m
+CONFIG_UCS2_STRING=y
+CONFIG_FONT_SUPPORT=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_FONT_AUTOSELECT=y
diff --git a/libre/linux-libre/config.x86_64 b/libre/linux-libre/config.x86_64
new file mode 100644
index 000000000..4cd9f61a0
--- /dev/null
+++ b/libre/linux-libre/config.x86_64
@@ -0,0 +1,6263 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/x86 3.12.7-1 Kernel Configuration
+#
+CONFIG_64BIT=y
+CONFIG_X86_64=y
+CONFIG_X86=y
+CONFIG_INSTRUCTION_DECODER=y
+CONFIG_OUTPUT_FORMAT="elf64-x86-64"
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_MMU=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_AUTOPROBE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
+CONFIG_ZONE_DMA32=y
+CONFIG_AUDIT_ARCH=y
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_HAVE_INTEL_TXT=y
+CONFIG_X86_64_SMP=y
+CONFIG_X86_HT=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
+CONFIG_ARCH_CPU_PROBE_RELEASE=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+# CONFIG_COMPILE_TEST is not set
+CONFIG_LOCALVERSION="-LIBRE"
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KERNEL_LZ4=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_BZIP2 is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_KERNEL_LZ4 is not set
+CONFIG_DEFAULT_HOSTNAME="(none)"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_FHANDLE=y
+CONFIG_AUDIT=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_WATCH=y
+CONFIG_AUDIT_TREE=y
+CONFIG_AUDIT_LOGINUID_IMMUTABLE=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_IRQ_DOMAIN=y
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_ARCH_CLOCKSOURCE_DATA=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_PREEMPT_RCU=y
+CONFIG_PREEMPT_RCU=y
+CONFIG_RCU_STALL_COMMON=y
+# CONFIG_RCU_USER_QS is not set
+CONFIG_RCU_FANOUT=64
+CONFIG_RCU_FANOUT_LEAF=16
+# CONFIG_RCU_FANOUT_EXACT is not set
+CONFIG_RCU_FAST_NO_HZ=y
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_RCU_BOOST is not set
+CONFIG_RCU_NOCB_CPU=y
+CONFIG_RCU_NOCB_CPU_NONE=y
+# CONFIG_RCU_NOCB_CPU_ZERO is not set
+# CONFIG_RCU_NOCB_CPU_ALL is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=19
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y
+CONFIG_ARCH_USES_NUMA_PROT_NONE=y
+CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
+CONFIG_NUMA_BALANCING=y
+CONFIG_CGROUPS=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_RESOURCE_COUNTERS=y
+CONFIG_MEMCG=y
+CONFIG_MEMCG_SWAP=y
+# CONFIG_MEMCG_SWAP_ENABLED is not set
+CONFIG_MEMCG_KMEM=y
+# CONFIG_CGROUP_HUGETLB is not set
+# CONFIG_CGROUP_PERF is not set
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+# CONFIG_USER_NS is not set
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_UIDGID_STRICT_TYPE_CHECKS is not set
+CONFIG_SCHED_AUTOGROUP=y
+CONFIG_MM_OWNER=y
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+CONFIG_RD_LZ4=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_HAVE_UID16=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_HAVE_PCSPKR_PLATFORM=y
+# CONFIG_EXPERT is not set
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_SLUB_CPU_PARTIAL=y
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+CONFIG_OPROFILE=m
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+CONFIG_HAVE_OPROFILE=y
+CONFIG_OPROFILE_NMI_TIMER=y
+CONFIG_KPROBES=y
+CONFIG_JUMP_LABEL=y
+CONFIG_KPROBES_ON_FTRACE=y
+CONFIG_UPROBES=y
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_KRETPROBES=y
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
+CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_HAVE_CONTEXT_TRACKING=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_SOFT_DIRTY=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_COMPAT_OLD_SIGACTION=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_STOP_MACHINE=y
+CONFIG_BLOCK=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_BSGLIB=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_THROTTLING=y
+# CONFIG_BLK_CMDLINE_PARSER is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+CONFIG_AIX_PARTITION=y
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+CONFIG_SOLARIS_X86_PARTITION=y
+# CONFIG_UNIXWARE_DISKLABEL is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+CONFIG_KARMA_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+# CONFIG_CMDLINE_PARTITION is not set
+CONFIG_BLOCK_COMPAT=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_CFQ_GROUP_IOSCHED=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_ASN1=m
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_FREEZER=y
+
+#
+# Processor type and features
+#
+CONFIG_ZONE_DMA=y
+CONFIG_SMP=y
+CONFIG_X86_X2APIC=y
+CONFIG_X86_MPPARSE=y
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+# CONFIG_X86_INTEL_LPSS is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_HYPERVISOR_GUEST=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_DEBUG is not set
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+CONFIG_XEN=y
+CONFIG_XEN_DOM0=y
+CONFIG_XEN_PRIVILEGED_GUEST=y
+CONFIG_XEN_PVHVM=y
+CONFIG_XEN_MAX_DOMAIN_MEMORY=500
+CONFIG_XEN_SAVE_RESTORE=y
+# CONFIG_XEN_DEBUG_FS is not set
+CONFIG_KVM_GUEST=y
+# CONFIG_KVM_DEBUG_FS is not set
+CONFIG_PARAVIRT_TIME_ACCOUNTING=y
+CONFIG_PARAVIRT_CLOCK=y
+CONFIG_NO_BOOTMEM=y
+# CONFIG_MEMTEST is not set
+# CONFIG_MK8 is not set
+# CONFIG_MPSC is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MATOM is not set
+CONFIG_GENERIC_CPU=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_TSC=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=64
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_CPU_SUP_INTEL=y
+CONFIG_CPU_SUP_AMD=y
+CONFIG_CPU_SUP_CENTAUR=y
+CONFIG_HPET_TIMER=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_DMI=y
+CONFIG_GART_IOMMU=y
+CONFIG_CALGARY_IOMMU=y
+CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
+CONFIG_SWIOTLB=y
+CONFIG_IOMMU_HELPER=y
+# CONFIG_MAXSMP is not set
+CONFIG_NR_CPUS=128
+CONFIG_SCHED_SMT=y
+CONFIG_SCHED_MC=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_COUNT=y
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_AMD=y
+CONFIG_X86_MCE_THRESHOLD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_I8K=m
+CONFIG_MICROCODE=m
+# CONFIG_MICROCODE_INTEL is not set
+# CONFIG_MICROCODE_AMD is not set
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_X86_MSR=m
+CONFIG_X86_CPUID=m
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_DIRECT_GBPAGES=y
+CONFIG_NUMA=y
+CONFIG_AMD_NUMA=y
+CONFIG_X86_64_ACPI_NUMA=y
+CONFIG_NODES_SPAN_OTHER_NODES=y
+# CONFIG_NUMA_EMU is not set
+CONFIG_NODES_SHIFT=6
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_MEMORY_PROBE=y
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_NEED_MULTIPLE_NODES=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+CONFIG_MEMORY_ISOLATION=y
+# CONFIG_MOVABLE_NODE is not set
+CONFIG_HAVE_BOOTMEM_INFO_NODE=y
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_MEMORY_HOTPLUG_SPARSE=y
+CONFIG_MEMORY_HOTREMOVE=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_MEMORY_FAILURE=y
+CONFIG_HWPOISON_INJECT=m
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+CONFIG_CLEANCACHE=y
+CONFIG_FRONTSWAP=y
+# CONFIG_CMA is not set
+CONFIG_ZBUD=y
+CONFIG_ZSWAP=y
+CONFIG_MEM_SOFT_DIRTY=y
+CONFIG_X86_CHECK_BIOS_CORRUPTION=y
+CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
+CONFIG_X86_RESERVE_LOW=64
+CONFIG_MTRR=y
+CONFIG_MTRR_SANITIZER=y
+CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
+CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
+CONFIG_X86_PAT=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_ARCH_RANDOM=y
+CONFIG_X86_SMAP=y
+CONFIG_EFI=y
+CONFIG_EFI_STUB=y
+CONFIG_SECCOMP=y
+CONFIG_CC_STACKPROTECTOR=y
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+CONFIG_HZ_300=y
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=300
+CONFIG_SCHED_HRTICK=y
+CONFIG_KEXEC=y
+# CONFIG_CRASH_DUMP is not set
+CONFIG_KEXEC_JUMP=y
+CONFIG_PHYSICAL_START=0x1000000
+CONFIG_RELOCATABLE=y
+CONFIG_PHYSICAL_ALIGN=0x1000000
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
+# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CMDLINE_BOOL is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+CONFIG_USE_PERCPU_NUMA_NODE_ID=y
+
+#
+# Power management and ACPI options
+#
+CONFIG_ARCH_HIBERNATION_HEADER=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_AUTOSLEEP=y
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=100
+CONFIG_PM_WAKELOCKS_GC=y
+CONFIG_PM_RUNTIME=y
+CONFIG_PM=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_ADVANCED_DEBUG=y
+# CONFIG_PM_TEST_SUSPEND is not set
+CONFIG_PM_SLEEP_DEBUG=y
+CONFIG_PM_TRACE=y
+CONFIG_PM_TRACE_RTC=y
+# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
+CONFIG_ACPI=y
+CONFIG_ACPI_SLEEP=y
+# CONFIG_ACPI_PROCFS is not set
+# CONFIG_ACPI_PROCFS_POWER is not set
+CONFIG_ACPI_EC_DEBUGFS=m
+CONFIG_ACPI_AC=m
+CONFIG_ACPI_BATTERY=m
+CONFIG_ACPI_BUTTON=m
+CONFIG_ACPI_VIDEO=m
+CONFIG_ACPI_FAN=m
+CONFIG_ACPI_DOCK=y
+CONFIG_ACPI_PROCESSOR=m
+CONFIG_ACPI_IPMI=m
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
+CONFIG_ACPI_THERMAL=m
+CONFIG_ACPI_NUMA=y
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
+CONFIG_ACPI_BLACKLIST_YEAR=0
+# CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_PCI_SLOT=y
+CONFIG_X86_PM_TIMER=y
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_HOTPLUG_MEMORY=y
+CONFIG_ACPI_SBS=m
+CONFIG_ACPI_HED=y
+CONFIG_ACPI_CUSTOM_METHOD=m
+CONFIG_ACPI_BGRT=y
+CONFIG_ACPI_APEI=y
+CONFIG_ACPI_APEI_GHES=y
+CONFIG_ACPI_APEI_PCIEAER=y
+CONFIG_ACPI_APEI_MEMORY_FAILURE=y
+CONFIG_ACPI_APEI_EINJ=m
+CONFIG_ACPI_APEI_ERST_DEBUG=m
+CONFIG_SFI=y
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=m
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+
+#
+# x86 CPU frequency scaling drivers
+#
+CONFIG_X86_INTEL_PSTATE=y
+CONFIG_X86_PCC_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ=m
+CONFIG_X86_ACPI_CPUFREQ_CPB=y
+CONFIG_X86_POWERNOW_K8=m
+CONFIG_X86_AMD_FREQ_SENSITIVITY=m
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+CONFIG_X86_P4_CLOCKMOD=m
+
+#
+# shared options
+#
+CONFIG_X86_SPEEDSTEP_LIB=m
+
+#
+# CPU Idle
+#
+CONFIG_CPU_IDLE=y
+# CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+CONFIG_INTEL_IDLE=y
+
+#
+# Memory power savings
+#
+CONFIG_I7300_IDLE_IOAT_CHANNEL=y
+CONFIG_I7300_IDLE=m
+
+#
+# Bus options (PCI etc.)
+#
+CONFIG_PCI=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_XEN=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=y
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+CONFIG_PCI_MSI=y
+# CONFIG_PCI_DEBUG is not set
+CONFIG_PCI_REALLOC_ENABLE_AUTO=y
+CONFIG_PCI_STUB=m
+CONFIG_XEN_PCIDEV_FRONTEND=m
+CONFIG_HT_IRQ=y
+CONFIG_PCI_ATS=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_PRI=y
+CONFIG_PCI_PASID=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_PCI_LABEL=y
+
+#
+# PCI host controller drivers
+#
+CONFIG_ISA_DMA_API=y
+CONFIG_AMD_NB=y
+CONFIG_PCCARD=m
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+CONFIG_YENTA_O2=y
+CONFIG_YENTA_RICOH=y
+CONFIG_YENTA_TI=y
+CONFIG_YENTA_ENE_TUNE=y
+CONFIG_YENTA_TOSHIBA=y
+CONFIG_PD6729=m
+CONFIG_I82092=m
+CONFIG_PCCARD_NONSTATIC=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_ACPI=y
+CONFIG_HOTPLUG_PCI_ACPI_IBM=m
+CONFIG_HOTPLUG_PCI_CPCI=y
+CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
+CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
+CONFIG_HOTPLUG_PCI_SHPC=m
+CONFIG_RAPIDIO=y
+CONFIG_RAPIDIO_TSI721=y
+CONFIG_RAPIDIO_DISC_TIMEOUT=30
+# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set
+CONFIG_RAPIDIO_DMA_ENGINE=y
+CONFIG_RAPIDIO_DEBUG=y
+CONFIG_RAPIDIO_ENUM_BASIC=m
+
+#
+# RapidIO Switch drivers
+#
+CONFIG_RAPIDIO_TSI57X=y
+CONFIG_RAPIDIO_CPS_XX=y
+CONFIG_RAPIDIO_TSI568=y
+CONFIG_RAPIDIO_CPS_GEN2=y
+# CONFIG_X86_SYSFB is not set
+
+#
+# Executable file formats / Emulations
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+# CONFIG_HAVE_AOUT is not set
+CONFIG_BINFMT_MISC=y
+CONFIG_COREDUMP=y
+CONFIG_IA32_EMULATION=y
+CONFIG_IA32_AOUT=m
+CONFIG_X86_X32=y
+CONFIG_COMPAT=y
+CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_KEYS_COMPAT=y
+CONFIG_X86_DEV_DMA_OPS=y
+CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_DIAG=m
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=m
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_FIB_TRIE_STATS=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+# CONFIG_NET_IPGRE_BROADCAST is not set
+CONFIG_IP_MROUTE=y
+# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=m
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_LRO=y
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=y
+CONFIG_IPV6_PRIVACY=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+# CONFIG_IPV6_MROUTE is not set
+CONFIG_NETLABEL=y
+CONFIG_NETWORK_SECMARK=y
+CONFIG_NETWORK_PHY_TIMESTAMPING=y
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_PROCFS=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMEOUT=y
+CONFIG_NF_CONNTRACK_TIMESTAMP=y
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=m
+CONFIG_NF_CT_PROTO_GRE=m
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CT_PROTO_UDPLITE=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+CONFIG_NF_CT_NETLINK_HELPER=m
+CONFIG_NETFILTER_NETLINK_QUEUE_CT=y
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_NF_NAT_PROTO_DCCP=m
+CONFIG_NF_NAT_PROTO_UDPLITE=m
+CONFIG_NF_NAT_PROTO_SCTP=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NETFILTER_SYNPROXY=m
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_AUDIT=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_SECMARK=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+# CONFIG_IP_VS_IPV6 is not set
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_SYNPROXY=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_NF_NAT_IPV4=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PROTO_GRE=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_SECURITY=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_CONNTRACK_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_TARGET_SYNPROXY=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_NF_NAT_IPV6=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_ULOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_TFRC_LIB=y
+
+#
+# DCCP Kernel Hacking
+#
+# CONFIG_IP_DCCP_DEBUG is not set
+CONFIG_NET_DCCPPROBE=m
+CONFIG_IP_SCTP=m
+CONFIG_NET_SCTPPROBE=m
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_L2TP=m
+# CONFIG_L2TP_DEBUGFS is not set
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_MRP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_HAVE_NET_DSA=y
+CONFIG_NET_DSA=m
+CONFIG_NET_DSA_TAG_DSA=y
+CONFIG_NET_DSA_TAG_EDSA=y
+CONFIG_NET_DSA_TAG_TRAILER=y
+CONFIG_VLAN_8021Q=m
+# CONFIG_VLAN_8021Q_GVRP is not set
+CONFIG_VLAN_8021Q_MVRP=y
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+CONFIG_PHONET=m
+CONFIG_IEEE802154=m
+CONFIG_IEEE802154_6LOWPAN=m
+CONFIG_MAC802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_FQ=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_TCINDEX=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+# CONFIG_CLS_U32_MARK is not set
+CONFIG_NET_CLS_RSVP=m
+CONFIG_NET_CLS_RSVP6=m
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=y
+# CONFIG_NET_EMATCH is not set
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+CONFIG_NET_CLS_IND=y
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+CONFIG_BATMAN_ADV=m
+CONFIG_BATMAN_ADV_BLA=y
+CONFIG_BATMAN_ADV_DAT=y
+CONFIG_BATMAN_ADV_NC=y
+# CONFIG_BATMAN_ADV_DEBUG is not set
+CONFIG_OPENVSWITCH=m
+CONFIG_OPENVSWITCH_GRE=y
+CONFIG_OPENVSWITCH_VXLAN=y
+CONFIG_VSOCKETS=m
+CONFIG_VMWARE_VMCI_VSOCKETS=m
+CONFIG_NETLINK_MMAP=y
+CONFIG_NETLINK_DIAG=m
+CONFIG_NET_MPLS_GSO=m
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+CONFIG_NETPRIO_CGROUP=m
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+CONFIG_BPF_JIT=y
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+CONFIG_NET_TCPPROBE=m
+CONFIG_NET_DROP_MONITOR=y
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+CONFIG_AX25_DAMA_SLAVE=y
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_BAYCOM_PAR=m
+CONFIG_YAM=m
+# CONFIG_CAN is not set
+CONFIG_IRDA=m
+
+#
+# IrDA protocols
+#
+CONFIG_IRLAN=m
+CONFIG_IRNET=m
+CONFIG_IRCOMM=m
+CONFIG_IRDA_ULTRA=y
+
+#
+# IrDA options
+#
+CONFIG_IRDA_CACHE_LAST_LSAP=y
+CONFIG_IRDA_FAST_RR=y
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=m
+
+#
+# Dongle support
+#
+CONFIG_DONGLE=y
+CONFIG_ESI_DONGLE=m
+CONFIG_ACTISYS_DONGLE=m
+CONFIG_TEKRAM_DONGLE=m
+CONFIG_TOIM3232_DONGLE=m
+CONFIG_LITELINK_DONGLE=m
+CONFIG_MA600_DONGLE=m
+CONFIG_GIRBIL_DONGLE=m
+CONFIG_MCP2120_DONGLE=m
+CONFIG_OLD_BELKIN_DONGLE=m
+CONFIG_ACT200L_DONGLE=m
+CONFIG_KINGSUN_DONGLE=m
+CONFIG_KSDAZZLE_DONGLE=m
+CONFIG_KS959_DONGLE=m
+
+#
+# FIR device drivers
+#
+CONFIG_USB_IRDA=m
+CONFIG_SIGMATEL_FIR=m
+CONFIG_NSC_FIR=m
+CONFIG_WINBOND_FIR=m
+CONFIG_SMC_IRCC_FIR=m
+CONFIG_ALI_FIR=m
+CONFIG_VLSI_FIR=m
+CONFIG_VIA_FIR=m
+CONFIG_MCS_FIR=m
+CONFIG_BT=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_CMTP=m
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTSDIO=m
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+CONFIG_BT_HCIUART_ATH3K=y
+CONFIG_BT_HCIUART_LL=y
+CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBPA10X=m
+CONFIG_BT_HCIBFUSB=m
+CONFIG_BT_HCIDTL1=m
+CONFIG_BT_HCIBT3C=m
+CONFIG_BT_HCIBLUECARD=m
+CONFIG_BT_HCIBTUART=m
+CONFIG_BT_HCIVHCI=m
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+CONFIG_BT_ATH3K=m
+CONFIG_BT_WILINK=m
+CONFIG_AF_RXRPC=m
+# CONFIG_AF_RXRPC_DEBUG is not set
+CONFIG_RXKAD=m
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_SPY=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_NET_9P=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+CONFIG_CAIF=m
+# CONFIG_CAIF_DEBUG is not set
+CONFIG_CAIF_NETDEV=m
+CONFIG_CAIF_USB=m
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+CONFIG_NFC=m
+CONFIG_NFC_NCI=m
+# CONFIG_NFC_NCI_SPI is not set
+CONFIG_NFC_HCI=m
+# CONFIG_NFC_SHDLC is not set
+
+#
+# Near Field Communication (NFC) devices
+#
+CONFIG_NFC_PN533=m
+CONFIG_NFC_WILINK=m
+CONFIG_NFC_MEI_PHY=m
+CONFIG_NFC_SIM=m
+CONFIG_NFC_PN544=m
+CONFIG_NFC_PN544_MEI=m
+CONFIG_NFC_MICROREAD=m
+CONFIG_NFC_MICROREAD_MEI=m
+CONFIG_HAVE_BPF_JIT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_DEVTMPFS=y
+# CONFIG_DEVTMPFS_MOUNT is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_FIRMWARE_IN_KERNEL is not set
+CONFIG_EXTRA_FIRMWARE=""
+CONFIG_FW_LOADER_USER_HELPER=y
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+CONFIG_SYS_HYPERVISOR=y
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_MMIO=m
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+
+#
+# Bus devices
+#
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+CONFIG_MTD=m
+CONFIG_MTD_TESTS=m
+CONFIG_MTD_REDBOOT_PARTS=m
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=m
+CONFIG_MTD_AR7_PARTS=m
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+# CONFIG_SM_FTL is not set
+CONFIG_MTD_OOPS=m
+CONFIG_MTD_SWAP=m
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_GEN_PROBE=m
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_CFI_UTIL=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+CONFIG_MTD_SC520CDP=m
+CONFIG_MTD_NETSC520=m
+CONFIG_MTD_TS5500=m
+# CONFIG_MTD_SBC_GXX is not set
+# CONFIG_MTD_AMD76XROM is not set
+# CONFIG_MTD_ICHXROM is not set
+# CONFIG_MTD_ESB2ROM is not set
+# CONFIG_MTD_CK804XROM is not set
+CONFIG_MTD_SCB2_FLASH=m
+# CONFIG_MTD_NETtel is not set
+# CONFIG_MTD_L440GX is not set
+CONFIG_MTD_PCI=m
+# CONFIG_MTD_PCMCIA is not set
+# CONFIG_MTD_GPIO_ADDR is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+CONFIG_MTD_PLATRAM=m
+# CONFIG_MTD_LATCH_ADDR is not set
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_PMC551=m
+# CONFIG_MTD_PMC551_BUGFIX is not set
+# CONFIG_MTD_PMC551_DEBUG is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_SLRAM is not set
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+
+#
+# Disk-On-Chip Device Drivers
+#
+CONFIG_MTD_DOCG3=m
+CONFIG_BCH_CONST_M=14
+CONFIG_BCH_CONST_T=4
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+CONFIG_MTD_LPDDR=m
+CONFIG_MTD_QINFO_PROBE=m
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+# CONFIG_MTD_UBI_GLUEBI is not set
+CONFIG_PARPORT=m
+CONFIG_PARPORT_PC=m
+CONFIG_PARPORT_SERIAL=m
+# CONFIG_PARPORT_PC_FIFO is not set
+# CONFIG_PARPORT_PC_SUPERIO is not set
+CONFIG_PARPORT_PC_PCMCIA=m
+# CONFIG_PARPORT_GSC is not set
+CONFIG_PARPORT_AX88796=m
+CONFIG_PARPORT_1284=y
+CONFIG_PARPORT_NOT_PC=y
+CONFIG_PNP=y
+# CONFIG_PNP_DEBUG_MESSAGES is not set
+
+#
+# Protocols
+#
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=m
+# CONFIG_PARIDE is not set
+CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
+CONFIG_BLK_CPQ_DA=m
+CONFIG_BLK_CPQ_CISS_DA=m
+# CONFIG_CISS_SCSI_TAPE is not set
+CONFIG_BLK_DEV_DAC960=m
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_NVME=m
+CONFIG_BLK_DEV_OSD=m
+CONFIG_BLK_DEV_SX8=m
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+CONFIG_XEN_BLKDEV_FRONTEND=m
+CONFIG_XEN_BLKDEV_BACKEND=m
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_HD is not set
+CONFIG_BLK_DEV_RBD=m
+CONFIG_BLK_DEV_RSXX=m
+
+#
+# Misc devices
+#
+CONFIG_SENSORS_LIS3LV02D=m
+CONFIG_AD525X_DPOT=m
+CONFIG_AD525X_DPOT_I2C=m
+# CONFIG_AD525X_DPOT_SPI is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_IBM_ASM is not set
+CONFIG_PHANTOM=m
+CONFIG_SGI_IOC4=m
+CONFIG_TIFM_CORE=m
+CONFIG_TIFM_7XX1=m
+CONFIG_ICS932S401=m
+# CONFIG_ATMEL_SSC is not set
+CONFIG_ENCLOSURE_SERVICES=m
+CONFIG_CS5535_MFGPT=m
+CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+CONFIG_CS5535_CLOCK_EVENT_SRC=m
+CONFIG_HP_ILO=m
+CONFIG_APDS9802ALS=m
+CONFIG_ISL29003=m
+CONFIG_ISL29020=m
+CONFIG_SENSORS_TSL2550=m
+CONFIG_SENSORS_BH1780=m
+CONFIG_SENSORS_BH1770=m
+CONFIG_SENSORS_APDS990X=m
+CONFIG_HMC6352=m
+CONFIG_DS1682=m
+# CONFIG_TI_DAC7512 is not set
+CONFIG_VMWARE_BALLOON=m
+CONFIG_BMP085=y
+CONFIG_BMP085_I2C=m
+# CONFIG_BMP085_SPI is not set
+CONFIG_PCH_PHUB=m
+CONFIG_USB_SWITCH_FSA9480=m
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+# CONFIG_SRAM is not set
+CONFIG_C2PORT=m
+CONFIG_C2PORT_DURAMAR_2150=m
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+# CONFIG_EEPROM_AT25 is not set
+CONFIG_EEPROM_LEGACY=m
+CONFIG_EEPROM_MAX6875=m
+CONFIG_EEPROM_93CX6=m
+# CONFIG_EEPROM_93XX46 is not set
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+
+#
+# Texas Instruments shared transport line discipline
+#
+CONFIG_TI_ST=m
+CONFIG_SENSORS_LIS3_I2C=m
+
+#
+# Altera FPGA firmware download module
+#
+CONFIG_ALTERA_STAPL=m
+CONFIG_INTEL_MEI=m
+CONFIG_INTEL_MEI_ME=m
+CONFIG_VMWARE_VMCI=m
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=m
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=m
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_TGT=m
+CONFIG_SCSI_NETLINK=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=m
+CONFIG_CHR_DEV_ST=m
+CONFIG_CHR_DEV_OSST=m
+CONFIG_BLK_DEV_SR=m
+CONFIG_BLK_DEV_SR_VENDOR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_CHR_DEV_SCH=m
+CONFIG_SCSI_ENCLOSURE=m
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SCAN_ASYNC=y
+
+#
+# SCSI Transports
+#
+CONFIG_SCSI_SPI_ATTRS=m
+CONFIG_SCSI_FC_ATTRS=m
+# CONFIG_SCSI_FC_TGT_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=m
+CONFIG_SCSI_SAS_ATTRS=m
+CONFIG_SCSI_SAS_LIBSAS=m
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+CONFIG_SCSI_SRP_ATTRS=m
+CONFIG_SCSI_SRP_TGT_ATTRS=y
+CONFIG_SCSI_LOWLEVEL=y
+CONFIG_ISCSI_TCP=m
+CONFIG_ISCSI_BOOT_SYSFS=m
+CONFIG_SCSI_CXGB3_ISCSI=m
+CONFIG_SCSI_CXGB4_ISCSI=m
+CONFIG_SCSI_BNX2_ISCSI=m
+CONFIG_SCSI_BNX2X_FCOE=m
+CONFIG_BE2ISCSI=m
+CONFIG_BLK_DEV_3W_XXXX_RAID=m
+CONFIG_SCSI_HPSA=m
+CONFIG_SCSI_3W_9XXX=m
+CONFIG_SCSI_3W_SAS=m
+CONFIG_SCSI_ACARD=m
+CONFIG_SCSI_AACRAID=m
+CONFIG_SCSI_AIC7XXX=m
+CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
+CONFIG_AIC7XXX_RESET_DELAY_MS=15000
+# CONFIG_AIC7XXX_DEBUG_ENABLE is not set
+CONFIG_AIC7XXX_DEBUG_MASK=0
+CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+CONFIG_SCSI_AIC79XX=m
+CONFIG_AIC79XX_CMDS_PER_DEVICE=32
+CONFIG_AIC79XX_RESET_DELAY_MS=15000
+# CONFIG_AIC79XX_DEBUG_ENABLE is not set
+CONFIG_AIC79XX_DEBUG_MASK=0
+CONFIG_AIC79XX_REG_PRETTY_PRINT=y
+CONFIG_SCSI_AIC94XX=m
+# CONFIG_AIC94XX_DEBUG is not set
+CONFIG_SCSI_MVSAS=m
+# CONFIG_SCSI_MVSAS_DEBUG is not set
+CONFIG_SCSI_MVSAS_TASKLET=y
+CONFIG_SCSI_MVUMI=m
+CONFIG_SCSI_DPT_I2O=m
+CONFIG_SCSI_ADVANSYS=m
+CONFIG_SCSI_ARCMSR=m
+CONFIG_SCSI_ESAS2R=m
+CONFIG_MEGARAID_NEWGEN=y
+CONFIG_MEGARAID_MM=m
+CONFIG_MEGARAID_MAILBOX=m
+CONFIG_MEGARAID_LEGACY=m
+CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT2SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+# CONFIG_SCSI_MPT2SAS_LOGGING is not set
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
+CONFIG_SCSI_MPT3SAS_LOGGING=y
+CONFIG_SCSI_UFSHCD=m
+CONFIG_SCSI_UFSHCD_PCI=m
+CONFIG_SCSI_UFSHCD_PLATFORM=m
+CONFIG_SCSI_HPTIOP=m
+CONFIG_SCSI_BUSLOGIC=m
+CONFIG_SCSI_FLASHPOINT=y
+CONFIG_VMWARE_PVSCSI=m
+CONFIG_HYPERV_STORAGE=m
+CONFIG_LIBFC=m
+CONFIG_LIBFCOE=m
+CONFIG_FCOE=m
+CONFIG_FCOE_FNIC=m
+CONFIG_SCSI_DMX3191D=m
+CONFIG_SCSI_EATA=m
+# CONFIG_SCSI_EATA_TAGGED_QUEUE is not set
+# CONFIG_SCSI_EATA_LINKED_COMMANDS is not set
+CONFIG_SCSI_EATA_MAX_TAGS=16
+CONFIG_SCSI_FUTURE_DOMAIN=m
+CONFIG_SCSI_GDTH=m
+CONFIG_SCSI_ISCI=m
+CONFIG_SCSI_IPS=m
+CONFIG_SCSI_INITIO=m
+CONFIG_SCSI_INIA100=m
+CONFIG_SCSI_PPA=m
+CONFIG_SCSI_IMM=m
+# CONFIG_SCSI_IZIP_EPP16 is not set
+# CONFIG_SCSI_IZIP_SLOW_CTR is not set
+CONFIG_SCSI_STEX=m
+CONFIG_SCSI_SYM53C8XX_2=m
+CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
+CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
+CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
+CONFIG_SCSI_SYM53C8XX_MMIO=y
+CONFIG_SCSI_IPR=m
+# CONFIG_SCSI_IPR_TRACE is not set
+# CONFIG_SCSI_IPR_DUMP is not set
+CONFIG_SCSI_QLOGIC_1280=m
+CONFIG_SCSI_QLA_FC=m
+CONFIG_TCM_QLA2XXX=m
+CONFIG_SCSI_QLA_ISCSI=m
+CONFIG_SCSI_LPFC=m
+# CONFIG_SCSI_LPFC_DEBUG_FS is not set
+CONFIG_SCSI_DC395x=m
+CONFIG_SCSI_DC390T=m
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_PMCRAID=m
+CONFIG_SCSI_PM8001=m
+CONFIG_SCSI_SRP=m
+CONFIG_SCSI_BFA_FC=m
+CONFIG_SCSI_VIRTIO=m
+CONFIG_SCSI_CHELSIO_FCOE=m
+CONFIG_SCSI_LOWLEVEL_PCMCIA=y
+CONFIG_PCMCIA_AHA152X=m
+CONFIG_PCMCIA_FDOMAIN=m
+CONFIG_PCMCIA_QLOGIC=m
+CONFIG_PCMCIA_SYM53C500=m
+CONFIG_SCSI_DH=m
+CONFIG_SCSI_DH_RDAC=m
+CONFIG_SCSI_DH_HP_SW=m
+CONFIG_SCSI_DH_EMC=m
+CONFIG_SCSI_DH_ALUA=m
+CONFIG_SCSI_OSD_INITIATOR=m
+CONFIG_SCSI_OSD_ULD=m
+CONFIG_SCSI_OSD_DPRINT_SENSE=0
+# CONFIG_SCSI_OSD_DEBUG is not set
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+CONFIG_SATA_ZPODD=y
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_AHCI_PLATFORM=m
+CONFIG_SATA_INIC162X=m
+CONFIG_SATA_ACARD_AHCI=m
+CONFIG_SATA_SIL24=m
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+CONFIG_PDC_ADMA=m
+CONFIG_SATA_QSTOR=m
+CONFIG_SATA_SX4=m
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+CONFIG_ATA_PIIX=m
+CONFIG_SATA_HIGHBANK=m
+CONFIG_SATA_MV=m
+CONFIG_SATA_NV=m
+CONFIG_SATA_PROMISE=m
+CONFIG_SATA_RCAR=m
+CONFIG_SATA_SIL=m
+CONFIG_SATA_SIS=m
+CONFIG_SATA_SVW=m
+CONFIG_SATA_ULI=m
+CONFIG_SATA_VIA=m
+CONFIG_SATA_VITESSE=m
+
+#
+# PATA SFF controllers with BMDMA
+#
+CONFIG_PATA_ALI=m
+CONFIG_PATA_AMD=m
+CONFIG_PATA_ARASAN_CF=m
+CONFIG_PATA_ARTOP=m
+CONFIG_PATA_ATIIXP=m
+CONFIG_PATA_ATP867X=m
+CONFIG_PATA_CMD64X=m
+CONFIG_PATA_CS5520=m
+CONFIG_PATA_CS5530=m
+CONFIG_PATA_CS5536=m
+CONFIG_PATA_CYPRESS=m
+CONFIG_PATA_EFAR=m
+CONFIG_PATA_HPT366=m
+CONFIG_PATA_HPT37X=m
+CONFIG_PATA_HPT3X2N=m
+CONFIG_PATA_HPT3X3=m
+# CONFIG_PATA_HPT3X3_DMA is not set
+CONFIG_PATA_IT8213=m
+CONFIG_PATA_IT821X=m
+CONFIG_PATA_JMICRON=m
+CONFIG_PATA_MARVELL=m
+CONFIG_PATA_NETCELL=m
+CONFIG_PATA_NINJA32=m
+CONFIG_PATA_NS87415=m
+CONFIG_PATA_OLDPIIX=m
+CONFIG_PATA_OPTIDMA=m
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_PDC_OLD=m
+CONFIG_PATA_RADISYS=m
+CONFIG_PATA_RDC=m
+CONFIG_PATA_SC1200=m
+CONFIG_PATA_SCH=m
+CONFIG_PATA_SERVERWORKS=m
+CONFIG_PATA_SIL680=m
+CONFIG_PATA_SIS=m
+CONFIG_PATA_TOSHIBA=m
+CONFIG_PATA_TRIFLEX=m
+CONFIG_PATA_VIA=m
+CONFIG_PATA_WINBOND=m
+
+#
+# PIO-only SFF controllers
+#
+CONFIG_PATA_CMD640_PCI=m
+CONFIG_PATA_MPIIX=m
+CONFIG_PATA_NS87410=m
+CONFIG_PATA_OPTI=m
+CONFIG_PATA_PCMCIA=m
+CONFIG_PATA_RZ1000=m
+
+#
+# Generic fallback / legacy drivers
+#
+CONFIG_PATA_ACPI=m
+CONFIG_ATA_GENERIC=m
+CONFIG_PATA_LEGACY=m
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BCACHE=m
+# CONFIG_BCACHE_DEBUG is not set
+# CONFIG_BCACHE_EDEBUG is not set
+# CONFIG_BCACHE_CLOSURES_DEBUG is not set
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_BUFIO=m
+CONFIG_DM_BIO_PRISON=m
+CONFIG_DM_PERSISTENT_DATA=m
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_THIN_PROVISIONING=m
+# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set
+CONFIG_DM_CACHE=m
+CONFIG_DM_CACHE_MQ=m
+CONFIG_DM_CACHE_CLEANER=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_RAID=m
+CONFIG_DM_LOG_USERSPACE=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_MULTIPATH_QL=m
+CONFIG_DM_MULTIPATH_ST=m
+CONFIG_DM_DELAY=m
+CONFIG_DM_UEVENT=y
+CONFIG_DM_FLAKEY=m
+CONFIG_DM_VERITY=m
+CONFIG_DM_SWITCH=m
+CONFIG_TARGET_CORE=m
+CONFIG_TCM_IBLOCK=m
+CONFIG_TCM_FILEIO=m
+CONFIG_TCM_PSCSI=m
+CONFIG_LOOPBACK_TARGET=m
+CONFIG_TCM_FC=m
+CONFIG_ISCSI_TARGET=m
+CONFIG_SBP_TARGET=m
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=m
+CONFIG_FUSION_FC=m
+CONFIG_FUSION_SAS=m
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_CTL=m
+# CONFIG_FUSION_LOGGING is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+CONFIG_FIREWIRE=m
+CONFIG_FIREWIRE_OHCI=m
+CONFIG_FIREWIRE_SBP2=m
+CONFIG_FIREWIRE_NET=m
+CONFIG_FIREWIRE_NOSY=m
+CONFIG_I2O=m
+CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
+CONFIG_I2O_EXT_ADAPTEC=y
+CONFIG_I2O_EXT_ADAPTEC_DMA64=y
+CONFIG_I2O_CONFIG=m
+CONFIG_I2O_CONFIG_OLD_IOCTL=y
+CONFIG_I2O_BUS=m
+CONFIG_I2O_BLOCK=m
+CONFIG_I2O_SCSI=m
+CONFIG_I2O_PROC=m
+CONFIG_MACINTOSH_DRIVERS=y
+CONFIG_MAC_EMUMOUSEBTN=y
+CONFIG_NETDEVICES=y
+CONFIG_MII=m
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_EQUALIZER=m
+# CONFIG_NET_FC is not set
+CONFIG_IFB=m
+CONFIG_NET_TEAM=m
+CONFIG_NET_TEAM_MODE_BROADCAST=m
+CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
+CONFIG_NET_TEAM_MODE_RANDOM=m
+CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
+CONFIG_NET_TEAM_MODE_LOADBALANCE=m
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_VXLAN=m
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_RIONET=m
+CONFIG_RIONET_TX_SIZE=128
+CONFIG_RIONET_RX_SIZE=128
+CONFIG_TUN=m
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_NLMON=m
+CONFIG_SUNGEM_PHY=m
+# CONFIG_ARCNET is not set
+CONFIG_ATM_DRIVERS=y
+# CONFIG_ATM_DUMMY is not set
+CONFIG_ATM_TCP=m
+CONFIG_ATM_LANAI=m
+CONFIG_ATM_ENI=m
+# CONFIG_ATM_ENI_DEBUG is not set
+# CONFIG_ATM_ENI_TUNE_BURST is not set
+CONFIG_ATM_FIRESTREAM=m
+CONFIG_ATM_ZATM=m
+# CONFIG_ATM_ZATM_DEBUG is not set
+CONFIG_ATM_NICSTAR=m
+# CONFIG_ATM_NICSTAR_USE_SUNI is not set
+# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set
+CONFIG_ATM_IDT77252=m
+# CONFIG_ATM_IDT77252_DEBUG is not set
+# CONFIG_ATM_IDT77252_RCV_ALL is not set
+CONFIG_ATM_IDT77252_USE_SUNI=y
+CONFIG_ATM_AMBASSADOR=m
+# CONFIG_ATM_AMBASSADOR_DEBUG is not set
+CONFIG_ATM_HORIZON=m
+# CONFIG_ATM_HORIZON_DEBUG is not set
+CONFIG_ATM_IA=m
+# CONFIG_ATM_IA_DEBUG is not set
+CONFIG_ATM_FORE200E=m
+# CONFIG_ATM_FORE200E_USE_TASKLET is not set
+CONFIG_ATM_FORE200E_TX_RETRY=16
+CONFIG_ATM_FORE200E_DEBUG=0
+CONFIG_ATM_HE=m
+# CONFIG_ATM_HE_USE_SUNI is not set
+CONFIG_ATM_SOLOS=m
+
+#
+# CAIF transport drivers
+#
+CONFIG_CAIF_TTY=m
+CONFIG_CAIF_SPI_SLAVE=m
+CONFIG_CAIF_SPI_SYNC=y
+CONFIG_CAIF_HSI=m
+CONFIG_CAIF_VIRTIO=m
+CONFIG_VHOST_NET=m
+CONFIG_VHOST_SCSI=m
+CONFIG_VHOST_RING=m
+CONFIG_VHOST=m
+
+#
+# Distributed Switch Architecture drivers
+#
+CONFIG_NET_DSA_MV88E6XXX=m
+CONFIG_NET_DSA_MV88E6060=m
+CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
+CONFIG_NET_DSA_MV88E6131=m
+CONFIG_NET_DSA_MV88E6123_61_65=m
+CONFIG_ETHERNET=y
+CONFIG_MDIO=m
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_PCMCIA_3C574=m
+CONFIG_PCMCIA_3C589=m
+CONFIG_VORTEX=m
+CONFIG_TYPHOON=m
+CONFIG_NET_VENDOR_ADAPTEC=y
+CONFIG_ADAPTEC_STARFIRE=m
+CONFIG_NET_VENDOR_ALTEON=y
+CONFIG_ACENIC=m
+# CONFIG_ACENIC_OMIT_TIGON_I is not set
+CONFIG_NET_VENDOR_AMD=y
+CONFIG_AMD8111_ETH=m
+CONFIG_PCNET32=m
+CONFIG_PCMCIA_NMCLAN=m
+CONFIG_NET_VENDOR_ARC=y
+CONFIG_NET_VENDOR_ATHEROS=y
+CONFIG_ATL2=m
+CONFIG_ATL1=m
+CONFIG_ATL1E=m
+CONFIG_ATL1C=m
+CONFIG_ALX=m
+CONFIG_NET_CADENCE=y
+CONFIG_ARM_AT91_ETHER=m
+CONFIG_MACB=m
+CONFIG_NET_VENDOR_BROADCOM=y
+CONFIG_B44=m
+CONFIG_B44_PCI_AUTOSELECT=y
+CONFIG_B44_PCICORE_AUTOSELECT=y
+CONFIG_B44_PCI=y
+CONFIG_BNX2=m
+CONFIG_CNIC=m
+CONFIG_TIGON3=m
+CONFIG_BNX2X=m
+CONFIG_BNX2X_SRIOV=y
+CONFIG_NET_VENDOR_BROCADE=y
+CONFIG_BNA=m
+CONFIG_NET_CALXEDA_XGMAC=m
+CONFIG_NET_VENDOR_CHELSIO=y
+CONFIG_CHELSIO_T1=m
+CONFIG_CHELSIO_T1_1G=y
+CONFIG_CHELSIO_T3=m
+CONFIG_CHELSIO_T4=m
+CONFIG_CHELSIO_T4VF=m
+CONFIG_NET_VENDOR_CISCO=y
+CONFIG_ENIC=m
+CONFIG_DNET=m
+CONFIG_NET_VENDOR_DEC=y
+CONFIG_NET_TULIP=y
+CONFIG_DE2104X=m
+CONFIG_DE2104X_DSL=0
+CONFIG_TULIP=m
+# CONFIG_TULIP_MWI is not set
+# CONFIG_TULIP_MMIO is not set
+# CONFIG_TULIP_NAPI is not set
+CONFIG_DE4X5=m
+CONFIG_WINBOND_840=m
+CONFIG_DM9102=m
+CONFIG_ULI526X=m
+CONFIG_PCMCIA_XIRCOM=m
+CONFIG_NET_VENDOR_DLINK=y
+CONFIG_DL2K=m
+CONFIG_SUNDANCE=m
+# CONFIG_SUNDANCE_MMIO is not set
+CONFIG_NET_VENDOR_EMULEX=y
+CONFIG_BE2NET=m
+CONFIG_NET_VENDOR_EXAR=y
+CONFIG_S2IO=m
+CONFIG_VXGE=m
+# CONFIG_VXGE_DEBUG_TRACE_ALL is not set
+CONFIG_NET_VENDOR_FUJITSU=y
+CONFIG_PCMCIA_FMVJ18X=m
+CONFIG_NET_VENDOR_HP=y
+CONFIG_HP100=m
+CONFIG_NET_VENDOR_INTEL=y
+CONFIG_E100=m
+CONFIG_E1000=m
+CONFIG_E1000E=m
+CONFIG_IGB=m
+CONFIG_IGB_HWMON=y
+CONFIG_IGB_DCA=y
+CONFIG_IGBVF=m
+CONFIG_IXGB=m
+CONFIG_IXGBE=m
+CONFIG_IXGBE_HWMON=y
+CONFIG_IXGBE_DCA=y
+CONFIG_IXGBEVF=m
+CONFIG_I40E=m
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_IP1000=m
+CONFIG_JME=m
+CONFIG_NET_VENDOR_MARVELL=y
+CONFIG_MVMDIO=m
+CONFIG_SKGE=m
+# CONFIG_SKGE_DEBUG is not set
+CONFIG_SKGE_GENESIS=y
+CONFIG_SKY2=m
+# CONFIG_SKY2_DEBUG is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+CONFIG_MLX4_EN=m
+CONFIG_MLX4_CORE=m
+CONFIG_MLX4_DEBUG=y
+# CONFIG_MLX5_CORE is not set
+CONFIG_NET_VENDOR_MICREL=y
+CONFIG_KS8842=m
+# CONFIG_KS8851 is not set
+CONFIG_KS8851_MLL=m
+CONFIG_KSZ884X_PCI=m
+CONFIG_NET_VENDOR_MICROCHIP=y
+# CONFIG_ENC28J60 is not set
+CONFIG_NET_VENDOR_MYRI=y
+CONFIG_MYRI10GE=m
+CONFIG_MYRI10GE_DCA=y
+CONFIG_FEALNX=m
+CONFIG_NET_VENDOR_NATSEMI=y
+CONFIG_NATSEMI=m
+CONFIG_NS83820=m
+CONFIG_NET_VENDOR_8390=y
+CONFIG_PCMCIA_AXNET=m
+CONFIG_NE2K_PCI=m
+CONFIG_PCMCIA_PCNET=m
+CONFIG_NET_VENDOR_NVIDIA=y
+CONFIG_FORCEDETH=m
+CONFIG_NET_VENDOR_OKI=y
+CONFIG_PCH_GBE=m
+CONFIG_ETHOC=m
+CONFIG_NET_PACKET_ENGINE=y
+CONFIG_HAMACHI=m
+CONFIG_YELLOWFIN=m
+CONFIG_NET_VENDOR_QLOGIC=y
+CONFIG_QLA3XXX=m
+CONFIG_QLCNIC=m
+CONFIG_QLCNIC_SRIOV=y
+CONFIG_QLGE=m
+CONFIG_NETXEN_NIC=m
+CONFIG_NET_VENDOR_REALTEK=y
+CONFIG_ATP=m
+CONFIG_8139CP=m
+CONFIG_8139TOO=m
+# CONFIG_8139TOO_PIO is not set
+CONFIG_8139TOO_TUNE_TWISTER=y
+CONFIG_8139TOO_8129=y
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_R8169=m
+CONFIG_SH_ETH=m
+CONFIG_NET_VENDOR_RDC=y
+CONFIG_R6040=m
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+CONFIG_SC92031=m
+CONFIG_NET_VENDOR_SIS=y
+CONFIG_SIS900=m
+CONFIG_SIS190=m
+CONFIG_SFC=m
+CONFIG_SFC_MTD=y
+CONFIG_SFC_MCDI_MON=y
+CONFIG_SFC_SRIOV=y
+CONFIG_NET_VENDOR_SMSC=y
+CONFIG_PCMCIA_SMC91C92=m
+CONFIG_EPIC100=m
+CONFIG_SMSC911X=m
+# CONFIG_SMSC911X_ARCH_HOOKS is not set
+CONFIG_SMSC9420=m
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_ETH=m
+# CONFIG_STMMAC_PLATFORM is not set
+CONFIG_STMMAC_PCI=y
+# CONFIG_STMMAC_DEBUG_FS is not set
+# CONFIG_STMMAC_DA is not set
+CONFIG_NET_VENDOR_SUN=y
+CONFIG_HAPPYMEAL=m
+CONFIG_SUNGEM=m
+CONFIG_CASSINI=m
+CONFIG_NIU=m
+CONFIG_NET_VENDOR_TEHUTI=y
+CONFIG_TEHUTI=m
+CONFIG_NET_VENDOR_TI=y
+CONFIG_TLAN=m
+CONFIG_NET_VENDOR_VIA=y
+CONFIG_VIA_RHINE=m
+# CONFIG_VIA_RHINE_MMIO is not set
+CONFIG_VIA_VELOCITY=m
+CONFIG_NET_VENDOR_WIZNET=y
+CONFIG_WIZNET_W5100=m
+CONFIG_WIZNET_W5300=m
+# CONFIG_WIZNET_BUS_DIRECT is not set
+# CONFIG_WIZNET_BUS_INDIRECT is not set
+CONFIG_WIZNET_BUS_ANY=y
+CONFIG_NET_VENDOR_XIRCOM=y
+CONFIG_PCMCIA_XIRC2PS=m
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_NET_SB1000=m
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+CONFIG_AT803X_PHY=m
+CONFIG_AMD_PHY=m
+CONFIG_MARVELL_PHY=m
+CONFIG_DAVICOM_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_LXT_PHY=m
+CONFIG_CICADA_PHY=m
+CONFIG_VITESSE_PHY=m
+CONFIG_SMSC_PHY=m
+CONFIG_BROADCOM_PHY=m
+CONFIG_BCM87XX_PHY=m
+CONFIG_ICPLUS_PHY=m
+CONFIG_REALTEK_PHY=m
+CONFIG_NATIONAL_PHY=m
+CONFIG_STE10XP=m
+CONFIG_LSI_ET1011C_PHY=m
+CONFIG_MICREL_PHY=m
+CONFIG_MDIO_BITBANG=m
+# CONFIG_MDIO_GPIO is not set
+# CONFIG_MICREL_KS8995MA is not set
+CONFIG_PLIP=m
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOATM=m
+CONFIG_PPPOE=m
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_SLIP=m
+CONFIG_SLHC=m
+# CONFIG_SLIP_COMPRESSED is not set
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_CDC_MBIM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SR9700=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_QMI_WWAN=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_CDC_PHONET=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_USB_VL600=m
+CONFIG_WLAN=y
+CONFIG_PCMCIA_RAYCS=m
+CONFIG_LIBERTAS_THINFIRM=m
+# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
+CONFIG_LIBERTAS_THINFIRM_USB=m
+CONFIG_AIRO=m
+CONFIG_ATMEL=m
+CONFIG_PCI_ATMEL=m
+CONFIG_PCMCIA_ATMEL=m
+CONFIG_AT76C50X_USB=m
+CONFIG_AIRO_CS=m
+CONFIG_PCMCIA_WL3501=m
+CONFIG_PRISM54=m
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_ADM8211=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_MWL8K=m
+CONFIG_ATH_COMMON=m
+CONFIG_ATH_CARDS=m
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+# CONFIG_ATH5K_TRACER is not set
+CONFIG_ATH5K_PCI=y
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
+CONFIG_ATH9K=m
+CONFIG_ATH9K_PCI=y
+CONFIG_ATH9K_AHB=y
+# CONFIG_ATH9K_DEBUGFS is not set
+# CONFIG_ATH9K_LEGACY_RATE_CONTROL is not set
+CONFIG_ATH9K_RFKILL=y
+CONFIG_ATH9K_HTC=m
+# CONFIG_ATH9K_HTC_DEBUGFS is not set
+CONFIG_CARL9170=m
+CONFIG_CARL9170_LEDS=y
+CONFIG_CARL9170_WPC=y
+# CONFIG_CARL9170_HWRNG is not set
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
+# CONFIG_ATH6KL_DEBUG is not set
+# CONFIG_ATH6KL_TRACING is not set
+CONFIG_AR5523=m
+CONFIG_WIL6210=m
+CONFIG_WIL6210_ISR_COR=y
+# CONFIG_WIL6210_TRACING is not set
+CONFIG_ATH10K=m
+CONFIG_ATH10K_PCI=m
+# CONFIG_ATH10K_DEBUG is not set
+CONFIG_ATH10K_DEBUGFS=y
+# CONFIG_ATH10K_TRACING is not set
+CONFIG_B43=m
+CONFIG_B43_BCMA=y
+CONFIG_B43_SSB=y
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+CONFIG_B43_PCMCIA=y
+CONFIG_B43_SDIO=y
+CONFIG_B43_BCMA_PIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_N=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_PHY_HT=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+CONFIG_B43LEGACY=m
+CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_HWRNG=y
+# CONFIG_B43LEGACY_DEBUG is not set
+CONFIG_B43LEGACY_DMA=y
+CONFIG_B43LEGACY_PIO=y
+CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+# CONFIG_B43LEGACY_DMA_MODE is not set
+# CONFIG_B43LEGACY_PIO_MODE is not set
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMSMAC=m
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_SDIO=y
+CONFIG_BRCMFMAC_USB=y
+# CONFIG_BRCM_TRACING is not set
+# CONFIG_BRCMDBG is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set
+CONFIG_HOSTAP_PLX=m
+CONFIG_HOSTAP_PCI=m
+CONFIG_HOSTAP_CS=m
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+CONFIG_IWLWIFI=m
+CONFIG_IWLDVM=m
+CONFIG_IWLMVM=m
+CONFIG_IWLWIFI_OPMODE_MODULAR=y
+
+#
+# Debugging Options
+#
+# CONFIG_IWLWIFI_DEBUG is not set
+CONFIG_IWLWIFI_DEVICE_TRACING=y
+CONFIG_IWLEGACY=m
+CONFIG_IWL4965=m
+CONFIG_IWL3945=m
+
+#
+# iwl3945 / iwl4965 Debugging Options
+#
+# CONFIG_IWLEGACY_DEBUG is not set
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_CS=m
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_SPI is not set
+# CONFIG_LIBERTAS_DEBUG is not set
+CONFIG_LIBERTAS_MESH=y
+CONFIG_HERMES=m
+CONFIG_HERMES_PRISM=y
+CONFIG_HERMES_CACHE_FW_ON_INIT=y
+CONFIG_PLX_HERMES=m
+CONFIG_TMD_HERMES=m
+CONFIG_NORTEL_HERMES=m
+CONFIG_PCI_HERMES=m
+CONFIG_PCMCIA_HERMES=m
+CONFIG_PCMCIA_SPECTRUM=m
+CONFIG_ORINOCO_USB=m
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+CONFIG_P54_PCI=m
+# CONFIG_P54_SPI is not set
+CONFIG_P54_LEDS=y
+CONFIG_RT2X00=m
+CONFIG_RT2400PCI=m
+CONFIG_RT2500PCI=m
+CONFIG_RT61PCI=m
+CONFIG_RT2800PCI=m
+CONFIG_RT2800PCI_RT33XX=y
+CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2800PCI_RT53XX=y
+CONFIG_RT2800PCI_RT3290=y
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT33XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_RT3573=y
+CONFIG_RT2800USB_RT53XX=y
+CONFIG_RT2800USB_RT55XX=y
+CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_MMIO=m
+CONFIG_RT2X00_LIB_PCI=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_RTL_CARDS=m
+CONFIG_RTL8192CE=m
+CONFIG_RTL8192SE=m
+CONFIG_RTL8192DE=m
+CONFIG_RTL8723AE=m
+CONFIG_RTL8188EE=m
+CONFIG_RTL8192CU=m
+CONFIG_RTLWIFI=m
+CONFIG_RTLWIFI_PCI=m
+CONFIG_RTLWIFI_USB=m
+# CONFIG_RTLWIFI_DEBUG is not set
+CONFIG_RTL8192C_COMMON=m
+CONFIG_WL_TI=y
+CONFIG_WL1251=m
+# CONFIG_WL1251_SPI is not set
+CONFIG_WL1251_SDIO=m
+CONFIG_WL12XX=m
+CONFIG_WL18XX=m
+CONFIG_WLCORE=m
+# CONFIG_WLCORE_SPI is not set
+CONFIG_WLCORE_SDIO=m
+CONFIG_WILINK_PLATFORM_DATA=y
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_MWIFIEX_USB=m
+CONFIG_CW1200=m
+CONFIG_CW1200_WLAN_SDIO=m
+CONFIG_CW1200_WLAN_SPI=m
+
+#
+# WiMAX Wireless Broadband devices
+#
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
+# CONFIG_WAN is not set
+CONFIG_IEEE802154_DRIVERS=m
+CONFIG_IEEE802154_FAKEHARD=m
+CONFIG_IEEE802154_FAKELB=m
+CONFIG_IEEE802154_AT86RF230=m
+# CONFIG_IEEE802154_MRF24J40 is not set
+CONFIG_XEN_NETDEV_FRONTEND=m
+CONFIG_XEN_NETDEV_BACKEND=m
+CONFIG_VMXNET3=m
+CONFIG_HYPERV_NET=m
+CONFIG_ISDN=y
+CONFIG_ISDN_I4L=m
+CONFIG_ISDN_PPP=y
+CONFIG_ISDN_PPP_VJ=y
+CONFIG_ISDN_MPP=y
+CONFIG_IPPP_FILTER=y
+CONFIG_ISDN_PPP_BSDCOMP=m
+CONFIG_ISDN_AUDIO=y
+CONFIG_ISDN_TTY_FAX=y
+
+#
+# ISDN feature submodules
+#
+CONFIG_ISDN_DIVERSION=m
+
+#
+# ISDN4Linux hardware drivers
+#
+
+#
+# Passive cards
+#
+CONFIG_ISDN_DRV_HISAX=m
+
+#
+# D-channel protocol features
+#
+CONFIG_HISAX_EURO=y
+CONFIG_DE_AOC=y
+# CONFIG_HISAX_NO_SENDCOMPLETE is not set
+# CONFIG_HISAX_NO_LLC is not set
+# CONFIG_HISAX_NO_KEYPAD is not set
+CONFIG_HISAX_1TR6=y
+CONFIG_HISAX_NI1=y
+CONFIG_HISAX_MAX_CARDS=8
+
+#
+# HiSax supported cards
+#
+CONFIG_HISAX_16_3=y
+CONFIG_HISAX_TELESPCI=y
+CONFIG_HISAX_S0BOX=y
+CONFIG_HISAX_FRITZPCI=y
+CONFIG_HISAX_AVM_A1_PCMCIA=y
+CONFIG_HISAX_ELSA=y
+CONFIG_HISAX_DIEHLDIVA=y
+CONFIG_HISAX_SEDLBAUER=y
+CONFIG_HISAX_NETJET=y
+CONFIG_HISAX_NETJET_U=y
+CONFIG_HISAX_NICCY=y
+CONFIG_HISAX_BKM_A4T=y
+CONFIG_HISAX_SCT_QUADRO=y
+CONFIG_HISAX_GAZEL=y
+CONFIG_HISAX_HFC_PCI=y
+CONFIG_HISAX_W6692=y
+CONFIG_HISAX_HFC_SX=y
+CONFIG_HISAX_ENTERNOW_PCI=y
+# CONFIG_HISAX_DEBUG is not set
+
+#
+# HiSax PCMCIA card service modules
+#
+CONFIG_HISAX_SEDLBAUER_CS=m
+CONFIG_HISAX_ELSA_CS=m
+CONFIG_HISAX_AVM_A1_CS=m
+CONFIG_HISAX_TELES_CS=m
+
+#
+# HiSax sub driver modules
+#
+CONFIG_HISAX_ST5481=m
+CONFIG_HISAX_HFCUSB=m
+CONFIG_HISAX_HFC4S8S=m
+CONFIG_HISAX_FRITZ_PCIPNP=m
+
+#
+# Active cards
+#
+CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
+CONFIG_CAPI_TRACE=y
+CONFIG_ISDN_CAPI_MIDDLEWARE=y
+CONFIG_ISDN_CAPI_CAPI20=m
+CONFIG_ISDN_CAPI_CAPIDRV=m
+
+#
+# CAPI hardware drivers
+#
+CONFIG_CAPI_AVM=y
+CONFIG_ISDN_DRV_AVMB1_B1PCI=m
+CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
+CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
+CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
+CONFIG_ISDN_DRV_AVMB1_T1PCI=m
+CONFIG_ISDN_DRV_AVMB1_C4=m
+CONFIG_CAPI_EICON=y
+CONFIG_ISDN_DIVAS=m
+CONFIG_ISDN_DIVAS_BRIPCI=y
+CONFIG_ISDN_DIVAS_PRIPCI=y
+CONFIG_ISDN_DIVAS_DIVACAPI=m
+CONFIG_ISDN_DIVAS_USERIDI=m
+CONFIG_ISDN_DIVAS_MAINT=m
+CONFIG_ISDN_DRV_GIGASET=m
+CONFIG_GIGASET_CAPI=y
+# CONFIG_GIGASET_I4L is not set
+# CONFIG_GIGASET_DUMMYLL is not set
+CONFIG_GIGASET_BASE=m
+CONFIG_GIGASET_M105=m
+CONFIG_GIGASET_M101=m
+# CONFIG_GIGASET_DEBUG is not set
+CONFIG_HYSDN=m
+CONFIG_HYSDN_CAPI=y
+CONFIG_MISDN=m
+CONFIG_MISDN_DSP=m
+CONFIG_MISDN_L1OIP=m
+
+#
+# mISDN hardware drivers
+#
+CONFIG_MISDN_HFCPCI=m
+CONFIG_MISDN_HFCMULTI=m
+CONFIG_MISDN_HFCUSB=m
+CONFIG_MISDN_AVMFRITZ=m
+CONFIG_MISDN_SPEEDFAX=m
+CONFIG_MISDN_INFINEON=m
+CONFIG_MISDN_W6692=m
+CONFIG_MISDN_NETJET=m
+CONFIG_MISDN_IPAC=m
+CONFIG_MISDN_ISAR=m
+CONFIG_ISDN_HDLC=m
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_POLLDEV=m
+CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_INPUT_MATRIXKMAP=m
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ADP5588=m
+CONFIG_KEYBOARD_ADP5589=m
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_QT1070=m
+CONFIG_KEYBOARD_QT2160=m
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+CONFIG_KEYBOARD_TCA6416=m
+CONFIG_KEYBOARD_TCA8418=m
+CONFIG_KEYBOARD_MATRIX=m
+# CONFIG_KEYBOARD_LM8323 is not set
+CONFIG_KEYBOARD_LM8333=m
+# CONFIG_KEYBOARD_MAX7359 is not set
+CONFIG_KEYBOARD_MCS=m
+CONFIG_KEYBOARD_MPR121=m
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_ELANTECH=y
+CONFIG_MOUSE_PS2_SENTELIC=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_SERIAL=y
+CONFIG_MOUSE_APPLETOUCH=m
+CONFIG_MOUSE_BCM5974=m
+CONFIG_MOUSE_CYAPA=m
+CONFIG_MOUSE_VSXXXAA=m
+# CONFIG_MOUSE_GPIO is not set
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_MOUSE_SYNAPTICS_USB=m
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ANALOG=m
+CONFIG_JOYSTICK_A3D=m
+CONFIG_JOYSTICK_ADI=m
+CONFIG_JOYSTICK_COBRA=m
+CONFIG_JOYSTICK_GF2K=m
+CONFIG_JOYSTICK_GRIP=m
+CONFIG_JOYSTICK_GRIP_MP=m
+CONFIG_JOYSTICK_GUILLEMOT=m
+CONFIG_JOYSTICK_INTERACT=m
+CONFIG_JOYSTICK_SIDEWINDER=m
+CONFIG_JOYSTICK_TMDC=m
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=y
+CONFIG_JOYSTICK_IFORCE_232=y
+CONFIG_JOYSTICK_WARRIOR=m
+CONFIG_JOYSTICK_MAGELLAN=m
+CONFIG_JOYSTICK_SPACEORB=m
+CONFIG_JOYSTICK_SPACEBALL=m
+CONFIG_JOYSTICK_STINGER=m
+CONFIG_JOYSTICK_TWIDJOY=m
+CONFIG_JOYSTICK_ZHENHUA=m
+CONFIG_JOYSTICK_DB9=m
+CONFIG_JOYSTICK_GAMECON=m
+CONFIG_JOYSTICK_TURBOGRAFX=m
+CONFIG_JOYSTICK_AS5011=m
+CONFIG_JOYSTICK_JOYDUMP=m
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=m
+CONFIG_TABLET_USB_AIPTEK=m
+CONFIG_TABLET_USB_GTCO=m
+CONFIG_TABLET_USB_HANWANG=m
+CONFIG_TABLET_USB_KBTAB=m
+CONFIG_TABLET_USB_WACOM=m
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_AD7877 is not set
+CONFIG_TOUCHSCREEN_AD7879=m
+CONFIG_TOUCHSCREEN_AD7879_I2C=m
+# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+CONFIG_TOUCHSCREEN_AUO_PIXCIR=m
+CONFIG_TOUCHSCREEN_BU21013=m
+CONFIG_TOUCHSCREEN_CY8CTMG110=m
+CONFIG_TOUCHSCREEN_CYTTSP_CORE=m
+CONFIG_TOUCHSCREEN_CYTTSP_I2C=m
+# CONFIG_TOUCHSCREEN_CYTTSP_SPI is not set
+CONFIG_TOUCHSCREEN_CYTTSP4_CORE=m
+CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m
+CONFIG_TOUCHSCREEN_CYTTSP4_SPI=m
+CONFIG_TOUCHSCREEN_DYNAPRO=m
+CONFIG_TOUCHSCREEN_HAMPSHIRE=m
+CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FUJITSU=m
+CONFIG_TOUCHSCREEN_ILI210X=m
+CONFIG_TOUCHSCREEN_GUNZE=m
+CONFIG_TOUCHSCREEN_ELO=m
+CONFIG_TOUCHSCREEN_WACOM_W8001=m
+CONFIG_TOUCHSCREEN_WACOM_I2C=m
+CONFIG_TOUCHSCREEN_MAX11801=m
+CONFIG_TOUCHSCREEN_MCS5000=m
+CONFIG_TOUCHSCREEN_MMS114=m
+CONFIG_TOUCHSCREEN_MTOUCH=m
+CONFIG_TOUCHSCREEN_INEXIO=m
+CONFIG_TOUCHSCREEN_MK712=m
+CONFIG_TOUCHSCREEN_PENMOUNT=m
+CONFIG_TOUCHSCREEN_EDT_FT5X06=m
+CONFIG_TOUCHSCREEN_TOUCHRIGHT=m
+CONFIG_TOUCHSCREEN_TOUCHWIN=m
+CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m
+CONFIG_TOUCHSCREEN_UCB1400=m
+CONFIG_TOUCHSCREEN_PIXCIR=m
+CONFIG_TOUCHSCREEN_WM97XX=m
+CONFIG_TOUCHSCREEN_WM9705=y
+CONFIG_TOUCHSCREEN_WM9712=y
+CONFIG_TOUCHSCREEN_WM9713=y
+CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
+CONFIG_TOUCHSCREEN_MC13783=m
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+CONFIG_TOUCHSCREEN_USB_ELO=y
+CONFIG_TOUCHSCREEN_USB_E2I=y
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
+CONFIG_TOUCHSCREEN_TOUCHIT213=m
+CONFIG_TOUCHSCREEN_TSC_SERIO=m
+# CONFIG_TOUCHSCREEN_TSC2005 is not set
+CONFIG_TOUCHSCREEN_TSC2007=m
+CONFIG_TOUCHSCREEN_ST1232=m
+CONFIG_TOUCHSCREEN_TPS6507X=m
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_AD714X=m
+CONFIG_INPUT_AD714X_I2C=m
+CONFIG_INPUT_AD714X_SPI=m
+CONFIG_INPUT_BMA150=m
+CONFIG_INPUT_PCSPKR=m
+CONFIG_INPUT_MC13783_PWRBUTTON=m
+CONFIG_INPUT_MMA8450=m
+CONFIG_INPUT_MPU3050=m
+CONFIG_INPUT_APANEL=m
+CONFIG_INPUT_GP2A=m
+# CONFIG_INPUT_GPIO_TILT_POLLED is not set
+CONFIG_INPUT_ATLAS_BTNS=m
+CONFIG_INPUT_ATI_REMOTE2=m
+CONFIG_INPUT_KEYSPAN_REMOTE=m
+CONFIG_INPUT_KXTJ9=m
+# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set
+CONFIG_INPUT_POWERMATE=m
+CONFIG_INPUT_YEALINK=m
+CONFIG_INPUT_CM109=m
+CONFIG_INPUT_RETU_PWRBUTTON=m
+CONFIG_INPUT_UINPUT=m
+CONFIG_INPUT_PCF50633_PMU=m
+CONFIG_INPUT_PCF8574=m
+CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+CONFIG_INPUT_ADXL34X=m
+CONFIG_INPUT_ADXL34X_I2C=m
+CONFIG_INPUT_ADXL34X_SPI=m
+# CONFIG_INPUT_IMS_PCU is not set
+CONFIG_INPUT_CMA3000=m
+CONFIG_INPUT_CMA3000_I2C=m
+CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
+CONFIG_INPUT_IDEAPAD_SLIDEBAR=m
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=m
+CONFIG_SERIO_CT82C710=m
+CONFIG_SERIO_PARKBD=m
+CONFIG_SERIO_PCIPS2=m
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=m
+CONFIG_SERIO_ALTERA_PS2=m
+CONFIG_SERIO_PS2MULT=m
+CONFIG_SERIO_ARC_PS2=m
+CONFIG_GAMEPORT=m
+CONFIG_GAMEPORT_NS558=m
+CONFIG_GAMEPORT_L4=m
+CONFIG_GAMEPORT_EMU10K1=m
+CONFIG_GAMEPORT_FM801=m
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_SERIAL_NONSTANDARD=y
+CONFIG_ROCKETPORT=m
+CONFIG_CYCLADES=m
+# CONFIG_CYZ_INTR is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+CONFIG_SYNCLINK=m
+CONFIG_SYNCLINKMP=m
+# CONFIG_SYNCLINK_GT is not set
+CONFIG_NOZOMI=m
+# CONFIG_ISI is not set
+CONFIG_N_HDLC=m
+CONFIG_N_GSM=m
+CONFIG_TRACE_ROUTER=m
+CONFIG_TRACE_SINK=m
+# CONFIG_DEVKMEM is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_CS=m
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+CONFIG_SERIAL_8250_DW=m
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+CONFIG_SERIAL_MFD_HSU=m
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=m
+CONFIG_SERIAL_SCCNXP=m
+# CONFIG_SERIAL_TIMBERDALE is not set
+CONFIG_SERIAL_ALTERA_JTAGUART=m
+CONFIG_SERIAL_ALTERA_UART=m
+CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
+CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
+# CONFIG_SERIAL_IFX6X60 is not set
+CONFIG_SERIAL_PCH_UART=m
+CONFIG_SERIAL_ARC=m
+CONFIG_SERIAL_ARC_NR_PORTS=1
+CONFIG_SERIAL_RP2=m
+CONFIG_SERIAL_RP2_NR_UARTS=32
+CONFIG_SERIAL_FSL_LPUART=m
+CONFIG_SERIAL_ST_ASC=m
+CONFIG_PRINTER=m
+# CONFIG_LP_CONSOLE is not set
+CONFIG_PPDEV=m
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_IRQ=y
+CONFIG_HVC_XEN=y
+CONFIG_HVC_XEN_FRONTEND=y
+CONFIG_VIRTIO_CONSOLE=m
+CONFIG_IPMI_HANDLER=m
+# CONFIG_IPMI_PANIC_EVENT is not set
+CONFIG_IPMI_DEVICE_INTERFACE=m
+CONFIG_IPMI_SI=m
+CONFIG_IPMI_WATCHDOG=m
+CONFIG_IPMI_POWEROFF=m
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+CONFIG_HW_RANDOM_INTEL=m
+CONFIG_HW_RANDOM_AMD=m
+CONFIG_HW_RANDOM_VIA=m
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_TPM=m
+CONFIG_NVRAM=m
+CONFIG_R3964=m
+CONFIG_APPLICOM=m
+
+#
+# PCMCIA character devices
+#
+CONFIG_SYNCLINK_CS=m
+CONFIG_CARDMAN_4000=m
+CONFIG_CARDMAN_4040=m
+CONFIG_IPWIRELESS=m
+CONFIG_MWAVE=m
+# CONFIG_RAW_DRIVER is not set
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HANGCHECK_TIMER=m
+CONFIG_TCG_TPM=m
+CONFIG_TCG_TIS=m
+CONFIG_TCG_TIS_I2C_INFINEON=m
+CONFIG_TCG_NSC=m
+CONFIG_TCG_ATMEL=m
+CONFIG_TCG_INFINEON=m
+CONFIG_TCG_ST33_I2C=m
+# CONFIG_TCG_XEN is not set
+CONFIG_TELCLOCK=m
+CONFIG_DEVPORT=y
+CONFIG_I2C=m
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_MUX=m
+
+#
+# Multiplexer I2C Chip support
+#
+# CONFIG_I2C_MUX_GPIO is not set
+CONFIG_I2C_MUX_PCA9541=m
+CONFIG_I2C_MUX_PCA954x=m
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOPCA=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+CONFIG_I2C_ALI1535=m
+CONFIG_I2C_ALI1563=m
+CONFIG_I2C_ALI15X3=m
+CONFIG_I2C_AMD756=m
+CONFIG_I2C_AMD756_S4882=m
+CONFIG_I2C_AMD8111=m
+CONFIG_I2C_I801=m
+CONFIG_I2C_ISCH=m
+CONFIG_I2C_ISMT=m
+CONFIG_I2C_PIIX4=m
+CONFIG_I2C_NFORCE2=m
+CONFIG_I2C_NFORCE2_S4985=m
+CONFIG_I2C_SIS5595=m
+CONFIG_I2C_SIS630=m
+CONFIG_I2C_SIS96X=m
+CONFIG_I2C_VIA=m
+CONFIG_I2C_VIAPRO=m
+
+#
+# ACPI drivers
+#
+CONFIG_I2C_SCMI=m
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=m
+CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_EG20T=m
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_OCORES=m
+CONFIG_I2C_PCA_PLATFORM=m
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_SIMTEC=m
+CONFIG_I2C_XILINX=m
+
+#
+# External I2C/SMBus adapter drivers
+#
+CONFIG_I2C_DIOLAN_U2C=m
+CONFIG_I2C_PARPORT=m
+CONFIG_I2C_PARPORT_LIGHT=m
+CONFIG_I2C_TAOS_EVM=m
+CONFIG_I2C_TINY_USB=m
+CONFIG_I2C_VIPERBOARD=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_BUTTERFLY is not set
+# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_LM70_LLP is not set
+# CONFIG_SPI_FSL_DSPI is not set
+# CONFIG_SPI_OC_TINY is not set
+CONFIG_SPI_PXA2XX_DMA=y
+CONFIG_SPI_PXA2XX=m
+CONFIG_SPI_PXA2XX_PCI=m
+# CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_TOPCLIFF_PCH is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_DESIGNWARE is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+# CONFIG_HSI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_PPS_CLIENT_PARPORT=m
+CONFIG_PPS_CLIENT_GPIO=m
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+CONFIG_DP83640_PHY=m
+CONFIG_PTP_1588_CLOCK_PCH=m
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_GPIO_DEVRES=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_ACPI=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+
+#
+# Memory mapped GPIO drivers:
+#
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_IT8761E is not set
+# CONFIG_GPIO_F7188X is not set
+# CONFIG_GPIO_TS5500 is not set
+CONFIG_GPIO_SCH=m
+CONFIG_GPIO_ICH=m
+# CONFIG_GPIO_VX855 is not set
+# CONFIG_GPIO_LYNXPOINT is not set
+
+#
+# I2C GPIO expanders:
+#
+CONFIG_GPIO_ARIZONA=m
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_ADP5588 is not set
+
+#
+# PCI GPIO expanders:
+#
+CONFIG_GPIO_CS5535=m
+CONFIG_GPIO_AMD8111=m
+CONFIG_GPIO_LANGWELL=y
+# CONFIG_GPIO_PCH is not set
+# CONFIG_GPIO_ML_IOH is not set
+# CONFIG_GPIO_RDC321X is not set
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_74X164 is not set
+
+#
+# AC97 GPIO expanders:
+#
+CONFIG_GPIO_UCB1400=y
+
+#
+# LPC GPIO expanders:
+#
+
+#
+# MODULbus GPIO expanders:
+#
+
+#
+# USB GPIO expanders:
+#
+CONFIG_GPIO_VIPERBOARD=m
+# CONFIG_W1 is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_PDA_POWER=m
+CONFIG_TEST_POWER=m
+# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_SBS is not set
+# CONFIG_BATTERY_BQ27x00 is not set
+# CONFIG_BATTERY_MAX17040 is not set
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_CHARGER_PCF50633 is not set
+# CONFIG_CHARGER_ISP1704 is not set
+# CONFIG_CHARGER_MAX8903 is not set
+# CONFIG_CHARGER_LP8727 is not set
+# CONFIG_CHARGER_GPIO is not set
+# CONFIG_CHARGER_BQ2415X is not set
+# CONFIG_CHARGER_BQ24190 is not set
+# CONFIG_CHARGER_SMB347 is not set
+CONFIG_POWER_RESET=y
+CONFIG_POWER_AVS=y
+CONFIG_HWMON=y
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+CONFIG_SENSORS_ABITUGURU=m
+CONFIG_SENSORS_ABITUGURU3=m
+# CONFIG_SENSORS_AD7314 is not set
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+# CONFIG_SENSORS_ADCXX is not set
+CONFIG_SENSORS_ADM1021=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7X10=m
+CONFIG_SENSORS_ADT7310=m
+CONFIG_SENSORS_ADT7410=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+CONFIG_SENSORS_ASC7621=m
+CONFIG_SENSORS_K8TEMP=m
+CONFIG_SENSORS_K10TEMP=m
+CONFIG_SENSORS_FAM15H_POWER=m
+CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DS620=m
+CONFIG_SENSORS_DS1621=m
+CONFIG_SENSORS_I5K_AMB=m
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+CONFIG_SENSORS_FSCHMD=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_G762=m
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+# CONFIG_SENSORS_GPIO_FAN is not set
+CONFIG_SENSORS_HIH6130=m
+CONFIG_SENSORS_HTU21=m
+CONFIG_SENSORS_CORETEMP=m
+CONFIG_SENSORS_IBMAEM=m
+CONFIG_SENSORS_IBMPEX=m
+CONFIG_SENSORS_IT87=m
+CONFIG_SENSORS_JC42=m
+CONFIG_SENSORS_LINEAGE=m
+CONFIG_SENSORS_LM63=m
+# CONFIG_SENSORS_LM70 is not set
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LTC4151=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LTC4261=m
+CONFIG_SENSORS_LM95234=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_LM95245=m
+# CONFIG_SENSORS_MAX1111 is not set
+CONFIG_SENSORS_MAX16065=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX1668=m
+CONFIG_SENSORS_MAX197=m
+CONFIG_SENSORS_MAX6639=m
+CONFIG_SENSORS_MAX6642=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_MAX6697=m
+CONFIG_SENSORS_MCP3021=m
+CONFIG_SENSORS_NCT6775=m
+CONFIG_SENSORS_NTC_THERMISTOR=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_PCF8591=m
+CONFIG_PMBUS=m
+CONFIG_SENSORS_PMBUS=m
+CONFIG_SENSORS_ADM1275=m
+CONFIG_SENSORS_LM25066=m
+CONFIG_SENSORS_LTC2978=m
+CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX34440=m
+CONFIG_SENSORS_MAX8688=m
+CONFIG_SENSORS_UCD9000=m
+CONFIG_SENSORS_UCD9200=m
+CONFIG_SENSORS_ZL6100=m
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SHT21=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_SMM665=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_EMC1403=m
+CONFIG_SENSORS_EMC2103=m
+CONFIG_SENSORS_EMC6W201=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_SCH56XX_COMMON=m
+CONFIG_SENSORS_SCH5627=m
+CONFIG_SENSORS_SCH5636=m
+CONFIG_SENSORS_ADS1015=m
+CONFIG_SENSORS_ADS7828=m
+# CONFIG_SENSORS_ADS7871 is not set
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_INA209=m
+CONFIG_SENSORS_INA2XX=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP102=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+CONFIG_SENSORS_VIA_CPUTEMP=m
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83795=m
+# CONFIG_SENSORS_W83795_FANCTRL is not set
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_SENSORS_APPLESMC=m
+CONFIG_SENSORS_MC13783_ADC=m
+
+#
+# ACPI drivers
+#
+CONFIG_SENSORS_ACPI_POWER=m
+CONFIG_SENSORS_ATK0110=m
+CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_USER_SPACE=y
+# CONFIG_CPU_THERMAL is not set
+# CONFIG_THERMAL_EMULATION is not set
+CONFIG_INTEL_POWERCLAMP=m
+CONFIG_X86_PKG_TEMP_THERMAL=m
+
+#
+# Texas Instruments thermal drivers
+#
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+CONFIG_SOFT_WATCHDOG=m
+CONFIG_RETU_WATCHDOG=m
+CONFIG_ACQUIRE_WDT=m
+CONFIG_ADVANTECH_WDT=m
+CONFIG_ALIM1535_WDT=m
+CONFIG_ALIM7101_WDT=m
+CONFIG_F71808E_WDT=m
+CONFIG_SP5100_TCO=m
+CONFIG_GEODE_WDT=m
+CONFIG_SC520_WDT=m
+CONFIG_SBC_FITPC2_WATCHDOG=m
+CONFIG_EUROTECH_WDT=m
+CONFIG_IB700_WDT=m
+CONFIG_IBMASR=m
+CONFIG_WAFER_WDT=m
+CONFIG_I6300ESB_WDT=m
+CONFIG_IE6XX_WDT=m
+CONFIG_ITCO_WDT=m
+CONFIG_ITCO_VENDOR_SUPPORT=y
+CONFIG_IT8712F_WDT=m
+CONFIG_IT87_WDT=m
+CONFIG_HP_WATCHDOG=m
+CONFIG_HPWDT_NMI_DECODING=y
+CONFIG_SC1200_WDT=m
+CONFIG_PC87413_WDT=m
+CONFIG_NV_TCO=m
+CONFIG_60XX_WDT=m
+CONFIG_SBC8360_WDT=m
+CONFIG_CPU5_WDT=m
+CONFIG_SMSC_SCH311X_WDT=m
+CONFIG_SMSC37B787_WDT=m
+CONFIG_VIA_WDT=m
+CONFIG_W83627HF_WDT=m
+CONFIG_W83697HF_WDT=m
+CONFIG_W83697UG_WDT=m
+CONFIG_W83877F_WDT=m
+CONFIG_W83977F_WDT=m
+CONFIG_MACHZ_WDT=m
+CONFIG_SBC_EPX_C3_WATCHDOG=m
+CONFIG_MEN_A21_WDT=m
+CONFIG_XEN_WDT=m
+
+#
+# PCI-based Watchdog Cards
+#
+CONFIG_PCIPCWATCHDOG=m
+CONFIG_WDTPCI=m
+
+#
+# USB-based Watchdog Cards
+#
+CONFIG_USBPCWATCHDOG=m
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
+CONFIG_SSB_PCMCIAHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DEBUG is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+CONFIG_SSB_DRIVER_GPIO=y
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+CONFIG_BCMA=m
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+# CONFIG_BCMA_HOST_SOC is not set
+CONFIG_BCMA_DRIVER_GMAC_CMN=y
+CONFIG_BCMA_DRIVER_GPIO=y
+# CONFIG_BCMA_DEBUG is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+CONFIG_MFD_CS5535=m
+# CONFIG_MFD_CROS_EC is not set
+# CONFIG_MFD_DA9052_SPI is not set
+CONFIG_MFD_MC13783=m
+CONFIG_MFD_MC13XXX=m
+# CONFIG_MFD_MC13XXX_SPI is not set
+CONFIG_MFD_MC13XXX_I2C=m
+CONFIG_HTC_PASIC3=m
+CONFIG_LPC_ICH=m
+CONFIG_LPC_SCH=m
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_EZX_PCAP is not set
+CONFIG_MFD_VIPERBOARD=m
+CONFIG_MFD_RETU=m
+CONFIG_MFD_PCF50633=m
+CONFIG_PCF50633_ADC=m
+CONFIG_PCF50633_GPIO=m
+CONFIG_UCB1400_CORE=m
+CONFIG_MFD_RDC321X=m
+CONFIG_MFD_RTSX_PCI=m
+CONFIG_MFD_SI476X_CORE=m
+CONFIG_MFD_SM501=m
+CONFIG_MFD_SM501_GPIO=y
+CONFIG_ABX500_CORE=y
+# CONFIG_MFD_STMPE is not set
+# CONFIG_MFD_SYSCON is not set
+CONFIG_MFD_TI_AM335X_TSCADC=m
+# CONFIG_TPS6105X is not set
+CONFIG_TPS65010=m
+CONFIG_TPS6507X=m
+CONFIG_MFD_TPS65217=m
+# CONFIG_MFD_TPS65912 is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+CONFIG_MFD_WL1273_CORE=m
+CONFIG_MFD_LM3533=m
+# CONFIG_MFD_TIMBERDALE is not set
+# CONFIG_MFD_TMIO is not set
+CONFIG_MFD_VX855=m
+CONFIG_MFD_ARIZONA=y
+CONFIG_MFD_ARIZONA_I2C=m
+# CONFIG_MFD_ARIZONA_SPI is not set
+CONFIG_MFD_WM5102=y
+CONFIG_MFD_WM5110=y
+# CONFIG_MFD_WM8997 is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_REGULATOR is not set
+CONFIG_MEDIA_SUPPORT=m
+
+#
+# Multimedia core support
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_MEDIA_RADIO_SUPPORT=y
+CONFIG_MEDIA_RC_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+CONFIG_VIDEO_V4L2=m
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_V4L2_MEM2MEM_DEV=m
+CONFIG_VIDEOBUF_GEN=m
+CONFIG_VIDEOBUF_DMA_SG=m
+CONFIG_VIDEOBUF_VMALLOC=m
+CONFIG_VIDEOBUF_DVB=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+# CONFIG_VIDEO_V4L2_INT_DEVICE is not set
+CONFIG_DVB_CORE=m
+CONFIG_DVB_NET=y
+CONFIG_TTPCI_EEPROM=m
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+
+#
+# Media drivers
+#
+CONFIG_RC_CORE=m
+CONFIG_RC_MAP=m
+CONFIG_RC_DECODERS=y
+CONFIG_LIRC=m
+CONFIG_IR_LIRC_CODEC=m
+CONFIG_IR_NEC_DECODER=m
+CONFIG_IR_RC5_DECODER=m
+CONFIG_IR_RC6_DECODER=m
+CONFIG_IR_JVC_DECODER=m
+CONFIG_IR_SONY_DECODER=m
+CONFIG_IR_RC5_SZ_DECODER=m
+CONFIG_IR_SANYO_DECODER=m
+CONFIG_IR_MCE_KBD_DECODER=m
+CONFIG_RC_DEVICES=y
+CONFIG_RC_ATI_REMOTE=m
+CONFIG_IR_ENE=m
+CONFIG_IR_IMON=m
+CONFIG_IR_MCEUSB=m
+CONFIG_IR_ITE_CIR=m
+CONFIG_IR_FINTEK=m
+CONFIG_IR_NUVOTON=m
+CONFIG_IR_REDRAT3=m
+CONFIG_IR_STREAMZAP=m
+CONFIG_IR_WINBOND_CIR=m
+CONFIG_IR_IGUANA=m
+CONFIG_IR_TTUSBIR=m
+CONFIG_RC_LOOPBACK=m
+CONFIG_IR_GPIO_CIR=m
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+CONFIG_USB_M5602=m
+CONFIG_USB_STV06XX=m
+CONFIG_USB_GL860=m
+CONFIG_USB_GSPCA_BENQ=m
+CONFIG_USB_GSPCA_CONEX=m
+CONFIG_USB_GSPCA_CPIA1=m
+CONFIG_USB_GSPCA_ETOMS=m
+CONFIG_USB_GSPCA_FINEPIX=m
+CONFIG_USB_GSPCA_JEILINJ=m
+CONFIG_USB_GSPCA_JL2005BCD=m
+CONFIG_USB_GSPCA_KINECT=m
+CONFIG_USB_GSPCA_KONICA=m
+CONFIG_USB_GSPCA_MARS=m
+CONFIG_USB_GSPCA_MR97310A=m
+CONFIG_USB_GSPCA_NW80X=m
+CONFIG_USB_GSPCA_OV519=m
+CONFIG_USB_GSPCA_OV534=m
+CONFIG_USB_GSPCA_OV534_9=m
+CONFIG_USB_GSPCA_PAC207=m
+CONFIG_USB_GSPCA_PAC7302=m
+CONFIG_USB_GSPCA_PAC7311=m
+CONFIG_USB_GSPCA_SE401=m
+CONFIG_USB_GSPCA_SN9C2028=m
+CONFIG_USB_GSPCA_SN9C20X=m
+CONFIG_USB_GSPCA_SONIXB=m
+CONFIG_USB_GSPCA_SONIXJ=m
+CONFIG_USB_GSPCA_SPCA500=m
+CONFIG_USB_GSPCA_SPCA501=m
+CONFIG_USB_GSPCA_SPCA505=m
+CONFIG_USB_GSPCA_SPCA506=m
+CONFIG_USB_GSPCA_SPCA508=m
+CONFIG_USB_GSPCA_SPCA561=m
+CONFIG_USB_GSPCA_SPCA1528=m
+CONFIG_USB_GSPCA_SQ905=m
+CONFIG_USB_GSPCA_SQ905C=m
+CONFIG_USB_GSPCA_SQ930X=m
+CONFIG_USB_GSPCA_STK014=m
+CONFIG_USB_GSPCA_STK1135=m
+CONFIG_USB_GSPCA_STV0680=m
+CONFIG_USB_GSPCA_SUNPLUS=m
+CONFIG_USB_GSPCA_T613=m
+CONFIG_USB_GSPCA_TOPRO=m
+CONFIG_USB_GSPCA_TV8532=m
+CONFIG_USB_GSPCA_VC032X=m
+CONFIG_USB_GSPCA_VICAM=m
+CONFIG_USB_GSPCA_XIRLINK_CIT=m
+CONFIG_USB_GSPCA_ZC3XX=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_PWC_INPUT_EVDEV=y
+CONFIG_VIDEO_CPIA2=m
+CONFIG_USB_ZR364XX=m
+CONFIG_USB_STKWEBCAM=m
+CONFIG_USB_S2255=m
+CONFIG_USB_SN9C102=m
+CONFIG_VIDEO_USBTV=m
+
+#
+# Analog TV USB devices
+#
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+CONFIG_VIDEO_HDPVR=m
+CONFIG_VIDEO_TLG2300=m
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_STK1160_COMMON=m
+CONFIG_VIDEO_STK1160_AC97=y
+CONFIG_VIDEO_STK1160=m
+
+#
+# Analog/digital TV USB devices
+#
+CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_AU0828_V4L2=y
+CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_RC=y
+CONFIG_VIDEO_CX231XX_ALSA=m
+CONFIG_VIDEO_CX231XX_DVB=m
+CONFIG_VIDEO_TM6000=m
+CONFIG_VIDEO_TM6000_ALSA=m
+CONFIG_VIDEO_TM6000_DVB=m
+
+#
+# Digital TV USB devices
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+CONFIG_DVB_USB_PCTV452E=m
+CONFIG_DVB_USB_DW2102=m
+CONFIG_DVB_USB_CINERGY_T2=m
+CONFIG_DVB_USB_DTV5100=m
+CONFIG_DVB_USB_FRIIO=m
+CONFIG_DVB_USB_AZ6027=m
+CONFIG_DVB_USB_TECHNISAT_USB2=m
+CONFIG_DVB_USB_V2=m
+CONFIG_DVB_USB_AF9015=m
+CONFIG_DVB_USB_AF9035=m
+CONFIG_DVB_USB_ANYSEE=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_AZ6007=m
+CONFIG_DVB_USB_CE6230=m
+CONFIG_DVB_USB_EC168=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_IT913X=m
+CONFIG_DVB_USB_LME2510=m
+CONFIG_DVB_USB_MXL111SF=m
+CONFIG_DVB_USB_RTL28XXU=m
+CONFIG_DVB_TTUSB_BUDGET=m
+CONFIG_DVB_TTUSB_DEC=m
+CONFIG_SMS_USB_DRV=m
+CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_EM28XX_RC=m
+CONFIG_MEDIA_PCI_SUPPORT=y
+
+#
+# Media capture support
+#
+CONFIG_VIDEO_MEYE=m
+
+#
+# Media capture/analog TV support
+#
+CONFIG_VIDEO_IVTV=m
+CONFIG_VIDEO_IVTV_ALSA=m
+CONFIG_VIDEO_FB_IVTV=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_ZORAN_AVS6EYES=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_MXB=m
+
+#
+# Media capture/analog/hybrid TV support
+#
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
+CONFIG_VIDEO_CX23885=m
+CONFIG_MEDIA_ALTERA_CI=m
+CONFIG_VIDEO_CX25821=m
+CONFIG_VIDEO_CX25821_ALSA=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+CONFIG_VIDEO_CX88_BLACKBIRD=m
+CONFIG_VIDEO_CX88_DVB=m
+CONFIG_VIDEO_CX88_ENABLE_VP3054=y
+CONFIG_VIDEO_CX88_VP3054=m
+CONFIG_VIDEO_CX88_MPEG=m
+CONFIG_VIDEO_BT848=m
+CONFIG_DVB_BT8XX=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_SAA7134_ALSA=m
+CONFIG_VIDEO_SAA7134_RC=y
+CONFIG_VIDEO_SAA7134_DVB=m
+CONFIG_VIDEO_SAA7164=m
+
+#
+# Media digital TV PCI Adapters
+#
+CONFIG_DVB_AV7110=m
+CONFIG_DVB_AV7110_OSD=y
+CONFIG_DVB_BUDGET_CORE=m
+CONFIG_DVB_BUDGET=m
+CONFIG_DVB_BUDGET_CI=m
+CONFIG_DVB_BUDGET_AV=m
+CONFIG_DVB_BUDGET_PATCH=m
+CONFIG_DVB_B2C2_FLEXCOP_PCI=m
+# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set
+CONFIG_DVB_PLUTO2=m
+CONFIG_DVB_DM1105=m
+CONFIG_DVB_PT1=m
+CONFIG_MANTIS_CORE=m
+CONFIG_DVB_MANTIS=m
+CONFIG_DVB_HOPPER=m
+CONFIG_DVB_NGENE=m
+CONFIG_DVB_DDBRIDGE=m
+# CONFIG_V4L_PLATFORM_DRIVERS is not set
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
+CONFIG_VIDEO_SH_VEU=m
+CONFIG_VIDEO_RENESAS_VSP1=m
+# CONFIG_V4L_TEST_DRIVERS is not set
+
+#
+# Supported MMC/SDIO adapters
+#
+CONFIG_SMS_SDIO_DRV=m
+CONFIG_MEDIA_PARPORT_SUPPORT=y
+CONFIG_VIDEO_BWQCAM=m
+CONFIG_VIDEO_CQCAM=m
+CONFIG_VIDEO_W9966=m
+CONFIG_RADIO_ADAPTERS=y
+CONFIG_RADIO_TEA575X=m
+CONFIG_RADIO_SI470X=y
+CONFIG_USB_SI470X=m
+CONFIG_I2C_SI470X=m
+CONFIG_USB_MR800=m
+CONFIG_USB_DSBR=m
+CONFIG_RADIO_MAXIRADIO=m
+CONFIG_RADIO_SHARK=m
+CONFIG_RADIO_SHARK2=m
+CONFIG_I2C_SI4713=m
+CONFIG_RADIO_SI4713=m
+CONFIG_USB_KEENE=m
+CONFIG_USB_MA901=m
+CONFIG_RADIO_TEA5764=m
+CONFIG_RADIO_SAA7706H=m
+CONFIG_RADIO_TEF6862=m
+CONFIG_RADIO_WL1273=m
+
+#
+# Texas Instruments WL128x FM driver (ST based)
+#
+CONFIG_RADIO_WL128X=m
+
+#
+# Supported FireWire (IEEE 1394) Adapters
+#
+CONFIG_DVB_FIREDTV=m
+CONFIG_DVB_FIREDTV_INPUT=y
+CONFIG_MEDIA_COMMON_OPTIONS=y
+
+#
+# common driver options
+#
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_CYPRESS_FIRMWARE=m
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_SMS_SIANO_MDTV=m
+CONFIG_SMS_SIANO_RC=y
+
+#
+# Media ancillary drivers (tuners, sensors, i2c, frontends)
+#
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+CONFIG_MEDIA_ATTACH=y
+CONFIG_VIDEO_IR_I2C=m
+
+#
+# Audio decoders, processors and mixers
+#
+CONFIG_VIDEO_TVAUDIO=m
+CONFIG_VIDEO_TDA7432=m
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_UDA1342=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_WM8739=m
+CONFIG_VIDEO_VP27SMPX=m
+CONFIG_VIDEO_SONY_BTF_MPX=m
+
+#
+# RDS decoders
+#
+CONFIG_VIDEO_SAA6588=m
+
+#
+# Video decoders
+#
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_BT866=m
+CONFIG_VIDEO_KS0127=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+CONFIG_VIDEO_TW2804=m
+CONFIG_VIDEO_TW9903=m
+CONFIG_VIDEO_TW9906=m
+CONFIG_VIDEO_VPX3220=m
+
+#
+# Video and audio decoders
+#
+CONFIG_VIDEO_SAA717X=m
+CONFIG_VIDEO_CX25840=m
+
+#
+# Video encoders
+#
+CONFIG_VIDEO_SAA7127=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+
+#
+# Camera sensor devices
+#
+CONFIG_VIDEO_OV7640=m
+CONFIG_VIDEO_MT9V011=m
+
+#
+# Flash devices
+#
+
+#
+# Video improvement chips
+#
+CONFIG_VIDEO_UPD64031A=m
+CONFIG_VIDEO_UPD64083=m
+
+#
+# Miscelaneous helper chips
+#
+CONFIG_VIDEO_M52790=m
+
+#
+# Sensors used on soc_camera driver
+#
+CONFIG_MEDIA_TUNER=m
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_XC4000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
+CONFIG_MEDIA_TUNER_TDA18212=m
+CONFIG_MEDIA_TUNER_E4000=m
+CONFIG_MEDIA_TUNER_FC2580=m
+CONFIG_MEDIA_TUNER_TUA9001=m
+CONFIG_MEDIA_TUNER_IT913X=m
+CONFIG_MEDIA_TUNER_R820T=m
+
+#
+# Multistandard (satellite) frontends
+#
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+
+#
+# Multistandard (cable + terrestrial) frontends
+#
+CONFIG_DVB_DRXK=m
+CONFIG_DVB_TDA18271C2DD=m
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_TS2020=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_TDA10071=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_DRXD=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_STV0367=m
+CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LG2160=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_AU8522_DTV=m
+CONFIG_DVB_AU8522_V4L=m
+CONFIG_DVB_S5H1411=m
+
+#
+# ISDB-T (terrestrial) frontends
+#
+CONFIG_DVB_S921=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_MB86A20S=m
+
+#
+# Digital terrestrial only tuners/PLL
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_TUNER_DIB0090=m
+
+#
+# SEC control devices for DVB-S
+#
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_LNBP22=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_A8293=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DVB_TDA665x=m
+CONFIG_DVB_IX2505V=m
+CONFIG_DVB_IT913X_FE=m
+CONFIG_DVB_M88RS2000=m
+CONFIG_DVB_AF9033=m
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+
+#
+# Graphics support
+#
+CONFIG_AGP=y
+CONFIG_AGP_AMD64=y
+CONFIG_AGP_INTEL=m
+CONFIG_AGP_SIS=m
+CONFIG_AGP_VIA=m
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_VGA_SWITCHEROO=y
+CONFIG_DRM=m
+CONFIG_DRM_USB=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_TTM=m
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
+CONFIG_DRM_I2C_NXP_TDA998X=m
+CONFIG_DRM_TDFX=m
+CONFIG_DRM_R128=m
+CONFIG_DRM_RADEON=m
+# CONFIG_DRM_RADEON_UMS is not set
+CONFIG_DRM_NOUVEAU=m
+CONFIG_NOUVEAU_DEBUG=5
+CONFIG_NOUVEAU_DEBUG_DEFAULT=3
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_I915=m
+CONFIG_DRM_I915_KMS=y
+# CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
+CONFIG_DRM_MGA=m
+CONFIG_DRM_SIS=m
+CONFIG_DRM_VIA=m
+CONFIG_DRM_SAVAGE=m
+CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_VMWGFX_FBCON=y
+CONFIG_DRM_GMA500=m
+CONFIG_DRM_GMA600=y
+CONFIG_DRM_GMA3600=y
+CONFIG_DRM_UDL=m
+CONFIG_DRM_AST=m
+CONFIG_DRM_MGAG200=m
+CONFIG_DRM_CIRRUS_QEMU=m
+CONFIG_DRM_QXL=m
+CONFIG_VGASTATE=m
+CONFIG_VIDEO_OUTPUT_CONTROL=m
+CONFIG_HDMI=y
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+# CONFIG_FB_DDC is not set
+CONFIG_FB_BOOT_VESA_SUPPORT=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ARC is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+CONFIG_FB_VGA16=m
+CONFIG_FB_UVESA=m
+CONFIG_FB_VESA=y
+CONFIG_FB_EFI=y
+# CONFIG_FB_N411 is not set
+# CONFIG_FB_HGA is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
+# CONFIG_FB_LE80578 is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+CONFIG_FB_VIA=m
+CONFIG_FB_VIA_DIRECT_PROCFS=y
+CONFIG_FB_VIA_X_COMPATIBILITY=y
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+CONFIG_FB_VOODOO1=m
+CONFIG_FB_VT8623=m
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_TMIO is not set
+# CONFIG_FB_SM501 is not set
+# CONFIG_FB_SMSCUFX is not set
+CONFIG_FB_UDL=m
+# CONFIG_FB_GOLDFISH is not set
+CONFIG_FB_VIRTUAL=m
+CONFIG_XEN_FBDEV_FRONTEND=m
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+# CONFIG_FB_AUO_K190X is not set
+CONFIG_FB_HYPERV=m
+# CONFIG_FB_SIMPLE is not set
+# CONFIG_EXYNOS_VIDEO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+# CONFIG_LCD_L4F00242T03 is not set
+# CONFIG_LCD_LMS283GF05 is not set
+# CONFIG_LCD_LTV350QV is not set
+# CONFIG_LCD_ILI922X is not set
+# CONFIG_LCD_ILI9320 is not set
+# CONFIG_LCD_TDO24M is not set
+# CONFIG_LCD_VGG2432A4 is not set
+CONFIG_LCD_PLATFORM=m
+# CONFIG_LCD_S6E63M0 is not set
+# CONFIG_LCD_LD9040 is not set
+# CONFIG_LCD_AMS369FG06 is not set
+# CONFIG_LCD_LMS501KF03 is not set
+# CONFIG_LCD_HX8357 is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_GENERIC is not set
+CONFIG_BACKLIGHT_LM3533=m
+CONFIG_BACKLIGHT_APPLE=m
+# CONFIG_BACKLIGHT_SAHARA is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
+CONFIG_BACKLIGHT_PCF50633=m
+# CONFIG_BACKLIGHT_LM3630 is not set
+# CONFIG_BACKLIGHT_LM3639 is not set
+# CONFIG_BACKLIGHT_LP855X is not set
+# CONFIG_BACKLIGHT_OT200 is not set
+# CONFIG_BACKLIGHT_TPS65217 is not set
+# CONFIG_BACKLIGHT_GPIO is not set
+# CONFIG_BACKLIGHT_LV5207LP is not set
+# CONFIG_BACKLIGHT_BD6107 is not set
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_LOGO is not set
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_SEQUENCER=m
+CONFIG_SND_SEQ_DUMMY=m
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_MAX_CARDS=32
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_KCTL_JACK=y
+CONFIG_SND_DMA_SGBUF=y
+CONFIG_SND_RAWMIDI_SEQ=m
+CONFIG_SND_OPL3_LIB_SEQ=m
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+CONFIG_SND_EMU10K1_SEQ=m
+CONFIG_SND_MPU401_UART=m
+CONFIG_SND_OPL3_LIB=m
+CONFIG_SND_VX_LIB=m
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_PCSP is not set
+CONFIG_SND_DUMMY=m
+CONFIG_SND_ALOOP=m
+CONFIG_SND_VIRMIDI=m
+CONFIG_SND_MTPAV=m
+CONFIG_SND_MTS64=m
+CONFIG_SND_SERIAL_U16550=m
+CONFIG_SND_MPU401=m
+CONFIG_SND_PORTMAN2X4=m
+CONFIG_SND_AC97_POWER_SAVE=y
+CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
+CONFIG_SND_SB_COMMON=m
+CONFIG_SND_SB16_DSP=m
+CONFIG_SND_PCI=y
+CONFIG_SND_AD1889=m
+CONFIG_SND_ALS300=m
+CONFIG_SND_ALS4000=m
+CONFIG_SND_ALI5451=m
+CONFIG_SND_ASIHPI=m
+CONFIG_SND_ATIIXP=m
+CONFIG_SND_ATIIXP_MODEM=m
+CONFIG_SND_AU8810=m
+CONFIG_SND_AU8820=m
+CONFIG_SND_AU8830=m
+CONFIG_SND_AW2=m
+CONFIG_SND_AZT3328=m
+CONFIG_SND_BT87X=m
+# CONFIG_SND_BT87X_OVERCLOCK is not set
+CONFIG_SND_CA0106=m
+CONFIG_SND_CMIPCI=m
+CONFIG_SND_OXYGEN_LIB=m
+CONFIG_SND_OXYGEN=m
+CONFIG_SND_CS4281=m
+CONFIG_SND_CS46XX=m
+CONFIG_SND_CS46XX_NEW_DSP=y
+CONFIG_SND_CS5530=m
+CONFIG_SND_CS5535AUDIO=m
+CONFIG_SND_CTXFI=m
+CONFIG_SND_DARLA20=m
+CONFIG_SND_GINA20=m
+CONFIG_SND_LAYLA20=m
+CONFIG_SND_DARLA24=m
+CONFIG_SND_GINA24=m
+CONFIG_SND_LAYLA24=m
+CONFIG_SND_MONA=m
+CONFIG_SND_MIA=m
+CONFIG_SND_ECHO3G=m
+CONFIG_SND_INDIGO=m
+CONFIG_SND_INDIGOIO=m
+CONFIG_SND_INDIGODJ=m
+CONFIG_SND_INDIGOIOX=m
+CONFIG_SND_INDIGODJX=m
+CONFIG_SND_EMU10K1=m
+CONFIG_SND_EMU10K1X=m
+CONFIG_SND_ENS1370=m
+CONFIG_SND_ENS1371=m
+CONFIG_SND_ES1938=m
+CONFIG_SND_ES1968=m
+CONFIG_SND_ES1968_INPUT=y
+CONFIG_SND_ES1968_RADIO=y
+CONFIG_SND_FM801=m
+CONFIG_SND_FM801_TEA575X_BOOL=y
+CONFIG_SND_HDA_INTEL=m
+CONFIG_SND_HDA_DSP_LOADER=y
+CONFIG_SND_HDA_PREALLOC_SIZE=4096
+CONFIG_SND_HDA_HWDEP=y
+CONFIG_SND_HDA_RECONFIG=y
+CONFIG_SND_HDA_INPUT_BEEP=y
+CONFIG_SND_HDA_INPUT_BEEP_MODE=1
+CONFIG_SND_HDA_INPUT_JACK=y
+CONFIG_SND_HDA_PATCH_LOADER=y
+CONFIG_SND_HDA_CODEC_REALTEK=y
+CONFIG_SND_HDA_CODEC_ANALOG=y
+CONFIG_SND_HDA_CODEC_SIGMATEL=y
+CONFIG_SND_HDA_CODEC_VIA=y
+CONFIG_SND_HDA_CODEC_HDMI=y
+CONFIG_SND_HDA_I915=y
+CONFIG_SND_HDA_CODEC_CIRRUS=y
+CONFIG_SND_HDA_CODEC_CONEXANT=y
+CONFIG_SND_HDA_CODEC_CA0110=y
+CONFIG_SND_HDA_CODEC_CA0132=y
+CONFIG_SND_HDA_CODEC_CA0132_DSP=y
+CONFIG_SND_HDA_CODEC_CMEDIA=y
+CONFIG_SND_HDA_CODEC_SI3054=y
+CONFIG_SND_HDA_GENERIC=y
+CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
+CONFIG_SND_HDSP=m
+CONFIG_SND_HDSPM=m
+CONFIG_SND_ICE1712=m
+CONFIG_SND_ICE1724=m
+CONFIG_SND_INTEL8X0=m
+CONFIG_SND_INTEL8X0M=m
+CONFIG_SND_KORG1212=m
+CONFIG_SND_LOLA=m
+CONFIG_SND_LX6464ES=m
+CONFIG_SND_MAESTRO3=m
+CONFIG_SND_MAESTRO3_INPUT=y
+CONFIG_SND_MIXART=m
+CONFIG_SND_NM256=m
+CONFIG_SND_PCXHR=m
+CONFIG_SND_RIPTIDE=m
+CONFIG_SND_RME32=m
+CONFIG_SND_RME96=m
+CONFIG_SND_RME9652=m
+CONFIG_SND_SONICVIBES=m
+CONFIG_SND_TRIDENT=m
+CONFIG_SND_VIA82XX=m
+CONFIG_SND_VIA82XX_MODEM=m
+CONFIG_SND_VIRTUOSO=m
+CONFIG_SND_VX222=m
+CONFIG_SND_YMFPCI=m
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_USX2Y=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_US122L=m
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_USB_HIFACE=m
+CONFIG_SND_FIREWIRE=y
+CONFIG_SND_FIREWIRE_LIB=m
+CONFIG_SND_FIREWIRE_SPEAKERS=m
+CONFIG_SND_ISIGHT=m
+CONFIG_SND_SCS1X=m
+CONFIG_SND_PCMCIA=y
+CONFIG_SND_VXPOCKET=m
+CONFIG_SND_PDAUDIOCF=m
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+
+#
+# HID support
+#
+CONFIG_HID=m
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=m
+
+#
+# Special HID drivers
+#
+CONFIG_HID_A4TECH=m
+CONFIG_HID_ACRUX=m
+CONFIG_HID_ACRUX_FF=y
+CONFIG_HID_APPLE=m
+CONFIG_HID_APPLEIR=m
+CONFIG_HID_AUREAL=m
+CONFIG_HID_BELKIN=m
+CONFIG_HID_CHERRY=m
+CONFIG_HID_CHICONY=m
+CONFIG_HID_PRODIKEYS=m
+CONFIG_HID_CYPRESS=m
+CONFIG_HID_DRAGONRISE=m
+CONFIG_DRAGONRISE_FF=y
+CONFIG_HID_EMS_FF=m
+CONFIG_HID_ELECOM=m
+CONFIG_HID_ELO=m
+CONFIG_HID_EZKEY=m
+CONFIG_HID_HOLTEK=m
+CONFIG_HOLTEK_FF=y
+CONFIG_HID_HUION=m
+CONFIG_HID_KEYTOUCH=m
+CONFIG_HID_KYE=m
+CONFIG_HID_UCLOGIC=m
+CONFIG_HID_WALTOP=m
+CONFIG_HID_GYRATION=m
+CONFIG_HID_ICADE=m
+CONFIG_HID_TWINHAN=m
+CONFIG_HID_KENSINGTON=m
+CONFIG_HID_LCPOWER=m
+CONFIG_HID_LENOVO_TPKBD=m
+CONFIG_HID_LOGITECH=m
+CONFIG_HID_LOGITECH_DJ=m
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIWHEELS_FF=y
+CONFIG_HID_MAGICMOUSE=m
+CONFIG_HID_MICROSOFT=m
+CONFIG_HID_MONTEREY=m
+CONFIG_HID_MULTITOUCH=m
+CONFIG_HID_NTRIG=m
+CONFIG_HID_ORTEK=m
+CONFIG_HID_PANTHERLORD=m
+CONFIG_PANTHERLORD_FF=y
+CONFIG_HID_PETALYNX=m
+CONFIG_HID_PICOLCD=m
+CONFIG_HID_PICOLCD_FB=y
+CONFIG_HID_PICOLCD_BACKLIGHT=y
+CONFIG_HID_PICOLCD_LCD=y
+CONFIG_HID_PICOLCD_LEDS=y
+CONFIG_HID_PICOLCD_CIR=y
+CONFIG_HID_PRIMAX=m
+CONFIG_HID_ROCCAT=m
+CONFIG_HID_SAITEK=m
+CONFIG_HID_SAMSUNG=m
+CONFIG_HID_SONY=m
+CONFIG_HID_SPEEDLINK=m
+CONFIG_HID_STEELSERIES=m
+CONFIG_HID_SUNPLUS=m
+CONFIG_HID_GREENASIA=m
+CONFIG_GREENASIA_FF=y
+CONFIG_HID_HYPERV_MOUSE=m
+CONFIG_HID_SMARTJOYPLUS=m
+CONFIG_SMARTJOYPLUS_FF=y
+CONFIG_HID_TIVO=m
+CONFIG_HID_TOPSEED=m
+CONFIG_HID_THINGM=m
+CONFIG_HID_THRUSTMASTER=m
+CONFIG_THRUSTMASTER_FF=y
+CONFIG_HID_WACOM=m
+CONFIG_HID_WIIMOTE=m
+CONFIG_HID_XINMO=m
+CONFIG_HID_ZEROPLUS=m
+CONFIG_ZEROPLUS_FF=y
+CONFIG_HID_ZYDACRON=m
+CONFIG_HID_SENSOR_HUB=m
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=m
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+
+#
+# I2C HID support
+#
+CONFIG_I2C_HID=m
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=m
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=m
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+CONFIG_USB_DYNAMIC_MINORS=y
+# CONFIG_USB_OTG is not set
+CONFIG_USB_MON=m
+CONFIG_USB_WUSB=m
+CONFIG_USB_WUSB_CBAF=m
+# CONFIG_USB_WUSB_CBAF_DEBUG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_C67X00_HCD=m
+CONFIG_USB_XHCI_HCD=m
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=m
+# CONFIG_USB_EHCI_HCD_PLATFORM is not set
+CONFIG_USB_OXU210HP_HCD=m
+CONFIG_USB_ISP116X_HCD=m
+CONFIG_USB_ISP1760_HCD=m
+CONFIG_USB_ISP1362_HCD=m
+CONFIG_USB_FUSBH200_HCD=m
+CONFIG_USB_FOTG210_HCD=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD_PCI=m
+# CONFIG_USB_OHCI_HCD_SSB is not set
+# CONFIG_USB_OHCI_HCD_PLATFORM is not set
+CONFIG_USB_UHCI_HCD=m
+CONFIG_USB_U132_HCD=m
+CONFIG_USB_SL811_HCD=m
+# CONFIG_USB_SL811_HCD_ISO is not set
+CONFIG_USB_SL811_CS=m
+CONFIG_USB_R8A66597_HCD=m
+CONFIG_USB_RENESAS_USBHS_HCD=m
+CONFIG_USB_WHCI_HCD=m
+CONFIG_USB_HWA_HCD=m
+# CONFIG_USB_HCD_BCMA is not set
+# CONFIG_USB_HCD_SSB is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+CONFIG_USB_MUSB_HDRC=m
+# CONFIG_USB_MUSB_HOST is not set
+# CONFIG_USB_MUSB_GADGET is not set
+CONFIG_USB_MUSB_DUAL_ROLE=y
+CONFIG_USB_MUSB_TUSB6010=m
+CONFIG_USB_MUSB_UX500=m
+# CONFIG_USB_UX500_DMA is not set
+CONFIG_MUSB_PIO_ONLY=y
+CONFIG_USB_RENESAS_USBHS=m
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_REALTEK=m
+CONFIG_REALTEK_AUTOPM=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+CONFIG_USB_STORAGE_ENE_UB6250=m
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=m
+CONFIG_USB_MICROTEK=m
+# CONFIG_USB_DWC3 is not set
+# CONFIG_USB_CHIPIDEA is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_USS720=m
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_SIMPLE=m
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_F81232=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_METRO=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7715_PARPORT=y
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_XSENS_MT=m
+CONFIG_USB_SERIAL_WISHBONE=m
+CONFIG_USB_SERIAL_ZTE=m
+CONFIG_USB_SERIAL_SSU100=m
+CONFIG_USB_SERIAL_QT2=m
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+CONFIG_USB_ADUTUX=m
+CONFIG_USB_SEVSEG=m
+CONFIG_USB_RIO500=m
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+CONFIG_USB_LED=m
+CONFIG_USB_CYPRESS_CY7C63=m
+CONFIG_USB_CYTHERM=m
+CONFIG_USB_IDMOUSE=m
+CONFIG_USB_FTDI_ELAN=m
+CONFIG_USB_APPLEDISPLAY=m
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_SISUSBVGA_CON is not set
+CONFIG_USB_LD=m
+CONFIG_USB_TRANCEVIBRATOR=m
+CONFIG_USB_IOWARRIOR=m
+CONFIG_USB_TEST=m
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+CONFIG_USB_ISIGHTFW=m
+CONFIG_USB_YUREX=m
+CONFIG_USB_EZUSB_FX2=m
+CONFIG_USB_HSIC_USB3503=m
+CONFIG_USB_ATM=m
+CONFIG_USB_SPEEDTOUCH=m
+CONFIG_USB_CXACRU=m
+CONFIG_USB_UEAGLEATM=m
+CONFIG_USB_XUSBATM=m
+
+#
+# USB Physical Layer drivers
+#
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=m
+# CONFIG_AM335X_PHY_USB is not set
+CONFIG_SAMSUNG_USBPHY=m
+CONFIG_SAMSUNG_USB2PHY=m
+CONFIG_SAMSUNG_USB3PHY=m
+# CONFIG_USB_GPIO_VBUS is not set
+CONFIG_USB_ISP1301=m
+CONFIG_USB_RCAR_PHY=m
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+
+#
+# USB Peripheral Controller
+#
+CONFIG_USB_FOTG210_UDC=m
+CONFIG_USB_R8A66597=m
+CONFIG_USB_RENESAS_USBHS_UDC=m
+CONFIG_USB_PXA27X=m
+CONFIG_USB_MV_UDC=m
+CONFIG_USB_MV_U3D=m
+CONFIG_USB_M66592=m
+CONFIG_USB_AMD5536UDC=m
+CONFIG_USB_NET2272=m
+CONFIG_USB_NET2272_DMA=y
+CONFIG_USB_NET2280=m
+CONFIG_USB_GOKU=m
+CONFIG_USB_EG20T=m
+CONFIG_USB_DUMMY_HCD=m
+CONFIG_USB_LIBCOMPOSITE=m
+CONFIG_USB_F_ACM=m
+CONFIG_USB_U_SERIAL=m
+CONFIG_USB_U_ETHER=m
+CONFIG_USB_U_RNDIS=m
+CONFIG_USB_F_SERIAL=m
+CONFIG_USB_F_OBEX=m
+CONFIG_USB_F_NCM=m
+CONFIG_USB_F_ECM=m
+CONFIG_USB_F_SUBSET=m
+CONFIG_USB_F_RNDIS=m
+# CONFIG_USB_CONFIGFS is not set
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_AUDIO=m
+# CONFIG_GADGET_UAC1 is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_ETH_EEM is not set
+CONFIG_USB_G_NCM=m
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FUNCTIONFS=m
+CONFIG_USB_FUNCTIONFS_ETH=y
+CONFIG_USB_FUNCTIONFS_RNDIS=y
+CONFIG_USB_FUNCTIONFS_GENERIC=y
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_GADGET_TARGET=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_MIDI_GADGET=m
+CONFIG_USB_G_PRINTER=m
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_NOKIA is not set
+# CONFIG_USB_G_ACM_MS is not set
+# CONFIG_USB_G_MULTI is not set
+CONFIG_USB_G_HID=m
+CONFIG_USB_G_DBGP=m
+# CONFIG_USB_G_DBGP_PRINTK is not set
+CONFIG_USB_G_DBGP_SERIAL=y
+CONFIG_USB_G_WEBCAM=m
+CONFIG_UWB=m
+CONFIG_UWB_HWA=m
+CONFIG_UWB_WHCI=m
+CONFIG_UWB_I1480U=m
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+# CONFIG_MMC_CLKGATE is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=m
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_ACPI=m
+CONFIG_MMC_SDHCI_PLTFM=m
+CONFIG_MMC_WBSD=m
+CONFIG_MMC_TIFM_SD=m
+# CONFIG_MMC_SPI is not set
+CONFIG_MMC_SDRICOH_CS=m
+CONFIG_MMC_CB710=m
+CONFIG_MMC_VIA_SDMMC=m
+CONFIG_MMC_VUB300=m
+CONFIG_MMC_USHC=m
+CONFIG_MMC_REALTEK_PCI=m
+CONFIG_MEMSTICK=m
+# CONFIG_MEMSTICK_DEBUG is not set
+
+#
+# MemoryStick drivers
+#
+# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
+CONFIG_MSPRO_BLOCK=m
+# CONFIG_MS_BLOCK is not set
+
+#
+# MemoryStick Host Controller Drivers
+#
+CONFIG_MEMSTICK_TIFM_MS=m
+CONFIG_MEMSTICK_JMICRON_38X=m
+CONFIG_MEMSTICK_R592=m
+CONFIG_MEMSTICK_REALTEK_PCI=m
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_LM3530=m
+CONFIG_LEDS_LM3533=m
+CONFIG_LEDS_LM3642=m
+CONFIG_LEDS_PCA9532=m
+# CONFIG_LEDS_PCA9532_GPIO is not set
+# CONFIG_LEDS_GPIO is not set
+CONFIG_LEDS_LP3944=m
+CONFIG_LEDS_LP55XX_COMMON=m
+CONFIG_LEDS_LP5521=m
+CONFIG_LEDS_LP5523=m
+CONFIG_LEDS_LP5562=m
+# CONFIG_LEDS_LP8501 is not set
+CONFIG_LEDS_CLEVO_MAIL=m
+CONFIG_LEDS_PCA955X=m
+# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_DAC124S085 is not set
+CONFIG_LEDS_BD2802=m
+CONFIG_LEDS_INTEL_SS4200=m
+CONFIG_LEDS_LT3593=m
+CONFIG_LEDS_DELL_NETBOOKS=m
+CONFIG_LEDS_MC13783=m
+CONFIG_LEDS_TCA6507=m
+CONFIG_LEDS_LM355x=m
+CONFIG_LEDS_OT200=m
+CONFIG_LEDS_BLINKM=m
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_ONESHOT=m
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+# CONFIG_LEDS_TRIGGER_CPU is not set
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_LEDS_TRIGGER_TRANSIENT=m
+CONFIG_LEDS_TRIGGER_CAMERA=m
+CONFIG_ACCESSIBILITY=y
+CONFIG_A11Y_BRAILLE_CONSOLE=y
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC=y
+CONFIG_EDAC_LEGACY_SYSFS=y
+# CONFIG_EDAC_DEBUG is not set
+CONFIG_EDAC_DECODE_MCE=m
+CONFIG_EDAC_MCE_INJ=m
+CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_AMD64=m
+# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
+CONFIG_EDAC_E752X=m
+CONFIG_EDAC_I82975X=m
+CONFIG_EDAC_I3000=m
+CONFIG_EDAC_I3200=m
+CONFIG_EDAC_X38=m
+CONFIG_EDAC_I5400=m
+CONFIG_EDAC_I7CORE=m
+CONFIG_EDAC_I5000=m
+CONFIG_EDAC_I5100=m
+CONFIG_EDAC_I7300=m
+CONFIG_EDAC_SBRIDGE=m
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_INTF_DEV_UIE_EMUL=y
+CONFIG_RTC_DRV_TEST=m
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1374=m
+CONFIG_RTC_DRV_DS1672=m
+CONFIG_RTC_DRV_DS3232=m
+CONFIG_RTC_DRV_MAX6900=m
+CONFIG_RTC_DRV_RS5C372=m
+CONFIG_RTC_DRV_ISL1208=m
+CONFIG_RTC_DRV_ISL12022=m
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_DRV_PCF2127=m
+CONFIG_RTC_DRV_PCF8523=m
+CONFIG_RTC_DRV_PCF8563=m
+CONFIG_RTC_DRV_PCF8583=m
+CONFIG_RTC_DRV_M41T80=m
+CONFIG_RTC_DRV_M41T80_WDT=y
+CONFIG_RTC_DRV_BQ32K=m
+CONFIG_RTC_DRV_S35390A=m
+CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_RX8581=m
+CONFIG_RTC_DRV_RX8025=m
+CONFIG_RTC_DRV_EM3027=m
+CONFIG_RTC_DRV_RV3029C2=m
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+# CONFIG_RTC_DRV_RX4581 is not set
+
+#
+# Platform RTC drivers
+#
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_RTC_DRV_DS1286=m
+CONFIG_RTC_DRV_DS1511=m
+CONFIG_RTC_DRV_DS1553=m
+CONFIG_RTC_DRV_DS1742=m
+CONFIG_RTC_DRV_STK17TA8=m
+CONFIG_RTC_DRV_M48T86=m
+CONFIG_RTC_DRV_M48T35=m
+CONFIG_RTC_DRV_M48T59=m
+CONFIG_RTC_DRV_MSM6242=m
+CONFIG_RTC_DRV_BQ4802=m
+CONFIG_RTC_DRV_RP5C01=m
+CONFIG_RTC_DRV_V3020=m
+CONFIG_RTC_DRV_DS2404=m
+CONFIG_RTC_DRV_PCF50633=m
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_MC13XXX=m
+# CONFIG_RTC_DRV_MOXART is not set
+
+#
+# HID Sensor RTC drivers
+#
+# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_INTEL_MID_DMAC=m
+CONFIG_INTEL_IOATDMA=m
+CONFIG_DW_DMAC_CORE=m
+CONFIG_DW_DMAC=m
+CONFIG_DW_DMAC_PCI=m
+CONFIG_TIMB_DMA=m
+CONFIG_PCH_DMA=m
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_ACPI=y
+
+#
+# DMA Clients
+#
+CONFIG_ASYNC_TX_DMA=y
+# CONFIG_DMATEST is not set
+CONFIG_DCA=m
+CONFIG_AUXDISPLAY=y
+CONFIG_KS0108=m
+CONFIG_KS0108_PORT=0x378
+CONFIG_KS0108_DELAY=2
+CONFIG_CFAG12864B=m
+CONFIG_CFAG12864B_RATE=20
+CONFIG_UIO=m
+CONFIG_UIO_CIF=m
+CONFIG_UIO_PDRV_GENIRQ=m
+# CONFIG_UIO_DMEM_GENIRQ is not set
+CONFIG_UIO_AEC=m
+CONFIG_UIO_SERCOS3=m
+CONFIG_UIO_PCI_GENERIC=m
+CONFIG_UIO_NETX=m
+# CONFIG_UIO_MF624 is not set
+CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO=m
+CONFIG_VFIO_PCI=m
+CONFIG_VFIO_PCI_VGA=y
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO=m
+
+#
+# Virtio drivers
+#
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_MMIO=m
+CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
+
+#
+# Microsoft Hyper-V guest support
+#
+CONFIG_HYPERV=m
+CONFIG_HYPERV_UTILS=m
+CONFIG_HYPERV_BALLOON=m
+
+#
+# Xen driver support
+#
+CONFIG_XEN_BALLOON=y
+# CONFIG_XEN_SELFBALLOONING is not set
+CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_DEV_EVTCHN=m
+CONFIG_XEN_BACKEND=y
+CONFIG_XENFS=m
+CONFIG_XEN_COMPAT_XENFS=y
+CONFIG_XEN_SYS_HYPERVISOR=y
+CONFIG_XEN_XENBUS_FRONTEND=y
+CONFIG_XEN_GNTDEV=m
+CONFIG_XEN_GRANT_DEV_ALLOC=m
+CONFIG_SWIOTLB_XEN=y
+CONFIG_XEN_TMEM=m
+CONFIG_XEN_PCIDEV_BACKEND=m
+CONFIG_XEN_PRIVCMD=m
+CONFIG_XEN_ACPI_PROCESSOR=m
+# CONFIG_XEN_MCE_LOG is not set
+CONFIG_XEN_HAVE_PVMMU=y
+CONFIG_STAGING=y
+CONFIG_ET131X=m
+CONFIG_SLICOSS=m
+CONFIG_USBIP_CORE=m
+CONFIG_USBIP_VHCI_HCD=m
+CONFIG_USBIP_HOST=m
+# CONFIG_USBIP_DEBUG is not set
+CONFIG_W35UND=m
+CONFIG_PRISM2_USB=m
+CONFIG_ECHO=m
+CONFIG_COMEDI=m
+# CONFIG_COMEDI_DEBUG is not set
+CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
+CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
+CONFIG_COMEDI_MISC_DRIVERS=y
+CONFIG_COMEDI_KCOMEDILIB=m
+CONFIG_COMEDI_BOND=m
+CONFIG_COMEDI_TEST=m
+CONFIG_COMEDI_PARPORT=m
+CONFIG_COMEDI_SERIAL2002=m
+CONFIG_COMEDI_SKEL=m
+# CONFIG_COMEDI_ISA_DRIVERS is not set
+CONFIG_COMEDI_PCI_DRIVERS=y
+CONFIG_COMEDI_8255_PCI=m
+CONFIG_COMEDI_ADDI_WATCHDOG=m
+CONFIG_COMEDI_ADDI_APCI_035=m
+CONFIG_COMEDI_ADDI_APCI_1032=m
+CONFIG_COMEDI_ADDI_APCI_1500=m
+CONFIG_COMEDI_ADDI_APCI_1516=m
+CONFIG_COMEDI_ADDI_APCI_1564=m
+CONFIG_COMEDI_ADDI_APCI_16XX=m
+CONFIG_COMEDI_ADDI_APCI_2032=m
+CONFIG_COMEDI_ADDI_APCI_2200=m
+CONFIG_COMEDI_ADDI_APCI_3120=m
+CONFIG_COMEDI_ADDI_APCI_3501=m
+CONFIG_COMEDI_ADDI_APCI_3XXX=m
+CONFIG_COMEDI_ADL_PCI6208=m
+CONFIG_COMEDI_ADL_PCI7X3X=m
+CONFIG_COMEDI_ADL_PCI8164=m
+CONFIG_COMEDI_ADL_PCI9111=m
+CONFIG_COMEDI_ADL_PCI9118=m
+CONFIG_COMEDI_ADV_PCI1710=m
+CONFIG_COMEDI_ADV_PCI1723=m
+CONFIG_COMEDI_ADV_PCI1724=m
+CONFIG_COMEDI_ADV_PCI_DIO=m
+CONFIG_COMEDI_AMPLC_DIO200_PCI=m
+CONFIG_COMEDI_AMPLC_PC236_PCI=m
+CONFIG_COMEDI_AMPLC_PC263_PCI=m
+CONFIG_COMEDI_AMPLC_PCI224=m
+CONFIG_COMEDI_AMPLC_PCI230=m
+CONFIG_COMEDI_CONTEC_PCI_DIO=m
+CONFIG_COMEDI_DAS08_PCI=m
+CONFIG_COMEDI_DT3000=m
+CONFIG_COMEDI_DYNA_PCI10XX=m
+CONFIG_COMEDI_GSC_HPDI=m
+CONFIG_COMEDI_ICP_MULTI=m
+CONFIG_COMEDI_DAQBOARD2000=m
+CONFIG_COMEDI_JR3_PCI=m
+CONFIG_COMEDI_KE_COUNTER=m
+CONFIG_COMEDI_CB_PCIDAS64=m
+CONFIG_COMEDI_CB_PCIDAS=m
+CONFIG_COMEDI_CB_PCIDDA=m
+CONFIG_COMEDI_CB_PCIMDAS=m
+CONFIG_COMEDI_CB_PCIMDDA=m
+CONFIG_COMEDI_ME4000=m
+CONFIG_COMEDI_ME_DAQ=m
+CONFIG_COMEDI_NI_6527=m
+CONFIG_COMEDI_NI_65XX=m
+CONFIG_COMEDI_NI_660X=m
+CONFIG_COMEDI_NI_670X=m
+CONFIG_COMEDI_NI_LABPC_PCI=m
+CONFIG_COMEDI_NI_PCIDIO=m
+CONFIG_COMEDI_NI_PCIMIO=m
+CONFIG_COMEDI_RTD520=m
+CONFIG_COMEDI_S626=m
+CONFIG_COMEDI_MITE=m
+CONFIG_COMEDI_NI_TIOCMD=m
+CONFIG_COMEDI_PCMCIA_DRIVERS=y
+CONFIG_COMEDI_CB_DAS16_CS=m
+CONFIG_COMEDI_DAS08_CS=m
+CONFIG_COMEDI_NI_DAQ_700_CS=m
+CONFIG_COMEDI_NI_DAQ_DIO24_CS=m
+CONFIG_COMEDI_NI_LABPC_CS=m
+CONFIG_COMEDI_NI_MIO_CS=m
+CONFIG_COMEDI_QUATECH_DAQP_CS=m
+CONFIG_COMEDI_USB_DRIVERS=y
+CONFIG_COMEDI_DT9812=m
+CONFIG_COMEDI_USBDUX=m
+CONFIG_COMEDI_USBDUXFAST=m
+CONFIG_COMEDI_USBDUXSIGMA=m
+CONFIG_COMEDI_VMK80XX=m
+CONFIG_COMEDI_8255=m
+CONFIG_COMEDI_FC=m
+CONFIG_COMEDI_AMPLC_DIO200=m
+CONFIG_COMEDI_AMPLC_PC236=m
+CONFIG_COMEDI_DAS08=m
+CONFIG_COMEDI_NI_LABPC=m
+CONFIG_COMEDI_NI_TIO=m
+# CONFIG_PANEL is not set
+CONFIG_R8187SE=m
+CONFIG_RTL8192U=m
+CONFIG_RTLLIB=m
+CONFIG_RTLLIB_CRYPTO_CCMP=m
+CONFIG_RTLLIB_CRYPTO_TKIP=m
+CONFIG_RTLLIB_CRYPTO_WEP=m
+CONFIG_RTL8192E=m
+CONFIG_R8712U=m
+CONFIG_R8188EU=m
+CONFIG_88EU_AP_MODE=y
+CONFIG_88EU_P2P=y
+CONFIG_RTS5139=m
+# CONFIG_RTS5139_DEBUG is not set
+# CONFIG_TRANZPORT is not set
+CONFIG_IDE_PHISON=m
+CONFIG_LINE6_USB=m
+# CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set
+CONFIG_USB_SERIAL_QUATECH2=m
+CONFIG_VT6655=m
+CONFIG_VT6656=m
+CONFIG_DX_SEP=m
+CONFIG_ZSMALLOC=y
+CONFIG_ZRAM=m
+# CONFIG_ZRAM_DEBUG is not set
+CONFIG_WLAGS49_H2=m
+CONFIG_WLAGS49_H25=m
+CONFIG_FB_SM7XX=m
+CONFIG_CRYSTALHD=m
+CONFIG_FB_XGI=m
+CONFIG_ACPI_QUICKSTART=m
+CONFIG_USB_ENESTORAGE=m
+CONFIG_BCM_WIMAX=m
+CONFIG_FT1000=m
+CONFIG_FT1000_USB=m
+CONFIG_FT1000_PCMCIA=m
+
+#
+# Speakup console speech
+#
+CONFIG_SPEAKUP=m
+CONFIG_SPEAKUP_SYNTH_ACNTSA=m
+CONFIG_SPEAKUP_SYNTH_ACNTPC=m
+CONFIG_SPEAKUP_SYNTH_APOLLO=m
+CONFIG_SPEAKUP_SYNTH_AUDPTR=m
+CONFIG_SPEAKUP_SYNTH_BNS=m
+CONFIG_SPEAKUP_SYNTH_DECTLK=m
+CONFIG_SPEAKUP_SYNTH_DECEXT=m
+CONFIG_SPEAKUP_SYNTH_DECPC=m
+CONFIG_SPEAKUP_SYNTH_DTLK=m
+CONFIG_SPEAKUP_SYNTH_KEYPC=m
+CONFIG_SPEAKUP_SYNTH_LTLK=m
+CONFIG_SPEAKUP_SYNTH_SOFT=m
+CONFIG_SPEAKUP_SYNTH_SPKOUT=m
+CONFIG_SPEAKUP_SYNTH_TXPRT=m
+CONFIG_SPEAKUP_SYNTH_DUMMY=m
+CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
+CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
+CONFIG_STAGING_MEDIA=y
+CONFIG_DVB_AS102=m
+CONFIG_DVB_CXD2099=m
+CONFIG_VIDEO_DT3155=m
+CONFIG_DT3155_CCIR=y
+CONFIG_DT3155_STREAMING=y
+CONFIG_VIDEO_GO7007=m
+CONFIG_VIDEO_GO7007_USB=m
+CONFIG_VIDEO_GO7007_LOADER=m
+# CONFIG_VIDEO_GO7007_USB_S2250_BOARD is not set
+# CONFIG_USB_MSI3101 is not set
+CONFIG_SOLO6X10=m
+CONFIG_LIRC_STAGING=y
+CONFIG_LIRC_BT829=m
+CONFIG_LIRC_IGORPLUGUSB=m
+CONFIG_LIRC_IMON=m
+CONFIG_LIRC_PARALLEL=m
+CONFIG_LIRC_SASEM=m
+CONFIG_LIRC_SERIAL=m
+CONFIG_LIRC_SERIAL_TRANSMITTER=y
+CONFIG_LIRC_SIR=m
+CONFIG_LIRC_ZILOG=m
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+CONFIG_USB_WPAN_HCD=m
+CONFIG_WIMAX_GDM72XX=m
+CONFIG_WIMAX_GDM72XX_QOS=y
+CONFIG_WIMAX_GDM72XX_K_MODE=y
+CONFIG_WIMAX_GDM72XX_WIMAX2=y
+CONFIG_WIMAX_GDM72XX_USB=y
+# CONFIG_WIMAX_GDM72XX_SDIO is not set
+CONFIG_WIMAX_GDM72XX_USB_PM=y
+# CONFIG_LTE_GDM724X is not set
+CONFIG_NET_VENDOR_SILICOM=y
+CONFIG_SBYPASS=m
+CONFIG_BPCTL=m
+CONFIG_CED1401=m
+CONFIG_DGRP=m
+CONFIG_FIREWIRE_SERIAL=m
+# CONFIG_USB_DWC2 is not set
+CONFIG_LUSTRE_FS=m
+CONFIG_LUSTRE_OBD_MAX_IOCTL_BUFFER=8192
+# CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set
+CONFIG_LUSTRE_LLITE_LLOOP=y
+CONFIG_LNET=m
+CONFIG_LNET_MAX_PAYLOAD=1048576
+CONFIG_LNET_SELFTEST=m
+CONFIG_USB_BTMTK=m
+# CONFIG_XILLYBUS is not set
+CONFIG_DGNC=m
+CONFIG_DGAP=m
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_ACER_WMI=m
+CONFIG_ACERHDF=m
+CONFIG_ASUS_LAPTOP=m
+CONFIG_CHROMEOS_LAPTOP=m
+CONFIG_DELL_LAPTOP=m
+CONFIG_DELL_WMI=m
+CONFIG_DELL_WMI_AIO=m
+CONFIG_FUJITSU_LAPTOP=m
+# CONFIG_FUJITSU_LAPTOP_DEBUG is not set
+CONFIG_FUJITSU_TABLET=m
+CONFIG_AMILO_RFKILL=m
+CONFIG_HP_ACCEL=m
+CONFIG_HP_WMI=m
+CONFIG_MSI_LAPTOP=m
+CONFIG_PANASONIC_LAPTOP=m
+CONFIG_COMPAL_LAPTOP=m
+CONFIG_SONY_LAPTOP=m
+# CONFIG_SONYPI_COMPAT is not set
+CONFIG_IDEAPAD_LAPTOP=m
+CONFIG_THINKPAD_ACPI=m
+CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
+# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
+# CONFIG_THINKPAD_ACPI_DEBUG is not set
+# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
+CONFIG_THINKPAD_ACPI_VIDEO=y
+CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
+CONFIG_SENSORS_HDAPS=m
+CONFIG_INTEL_MENLOW=m
+CONFIG_EEEPC_LAPTOP=m
+CONFIG_ASUS_WMI=m
+CONFIG_ASUS_NB_WMI=m
+CONFIG_EEEPC_WMI=m
+CONFIG_ACPI_WMI=m
+CONFIG_MSI_WMI=m
+CONFIG_TOPSTAR_LAPTOP=m
+CONFIG_ACPI_TOSHIBA=m
+CONFIG_TOSHIBA_BT_RFKILL=m
+CONFIG_ACPI_CMPC=m
+CONFIG_INTEL_IPS=m
+CONFIG_IBM_RTL=m
+CONFIG_XO15_EBOOK=m
+CONFIG_SAMSUNG_LAPTOP=m
+CONFIG_MXM_WMI=m
+CONFIG_INTEL_OAKTRAIL=m
+CONFIG_SAMSUNG_Q10=m
+CONFIG_APPLE_GMUX=m
+CONFIG_INTEL_RST=m
+CONFIG_INTEL_SMARTCONNECT=y
+CONFIG_PVPANIC=m
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_CLKEVT_I8253=y
+CONFIG_I8253_LOCK=y
+CONFIG_CLKBLD_I8253=y
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+CONFIG_AMD_IOMMU=y
+# CONFIG_AMD_IOMMU_STATS is not set
+CONFIG_AMD_IOMMU_V2=m
+CONFIG_DMAR_TABLE=y
+CONFIG_INTEL_IOMMU=y
+# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
+CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+CONFIG_IRQ_REMAP=y
+
+#
+# Remoteproc drivers
+#
+CONFIG_REMOTEPROC=m
+CONFIG_STE_MODEM_RPROC=m
+
+#
+# Rpmsg drivers
+#
+# CONFIG_PM_DEVFREQ is not set
+CONFIG_EXTCON=m
+
+#
+# Extcon Device Drivers
+#
+CONFIG_EXTCON_GPIO=m
+CONFIG_MEMORY=y
+# CONFIG_IIO is not set
+# CONFIG_NTB is not set
+# CONFIG_VME_BUS is not set
+# CONFIG_PWM is not set
+CONFIG_IPACK_BUS=m
+CONFIG_BOARD_TPCI200=m
+CONFIG_SERIAL_IPOCTAL=m
+# CONFIG_RESET_CONTROLLER is not set
+CONFIG_FMC=m
+CONFIG_FMC_FAKEDEV=m
+CONFIG_FMC_TRIVIAL=m
+CONFIG_FMC_WRITE_EEPROM=m
+CONFIG_FMC_CHARDEV=m
+
+#
+# Firmware Drivers
+#
+CONFIG_EDD=m
+# CONFIG_EDD_OFF is not set
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_DELL_RBU=m
+CONFIG_DCDBAS=m
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=m
+CONFIG_ISCSI_IBFT_FIND=y
+CONFIG_ISCSI_IBFT=m
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+# CONFIG_EFI_VARS is not set
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=m
+CONFIG_EXT4_USE_FOR_EXT23=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=m
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFS_FS=m
+CONFIG_JFS_POSIX_ACL=y
+CONFIG_JFS_SECURITY=y
+# CONFIG_JFS_DEBUG is not set
+CONFIG_JFS_STATISTICS=y
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_GFS2_FS_LOCKING_DLM=y
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
+CONFIG_OCFS2_FS_STATS=y
+# CONFIG_OCFS2_DEBUG_MASKLOG is not set
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+# CONFIG_BTRFS_ASSERT is not set
+CONFIG_NILFS2_FS=m
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+CONFIG_QFMT_V1=m
+CONFIG_QFMT_V2=m
+CONFIG_QUOTACTL=y
+CONFIG_QUOTACTL_COMPAT=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_GENERIC_ACL=y
+
+#
+# Caches
+#
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+CONFIG_FSCACHE_HISTOGRAM=y
+# CONFIG_FSCACHE_DEBUG is not set
+# CONFIG_FSCACHE_OBJECT_LIST is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_HISTOGRAM is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+CONFIG_AFFS_FS=m
+CONFIG_ECRYPT_FS=m
+# CONFIG_ECRYPT_FS_MESSAGING is not set
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+CONFIG_HFSPLUS_FS_POSIX_ACL=y
+CONFIG_BEFS_FS=m
+# CONFIG_BEFS_DEBUG is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=m
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_LOGFS=m
+CONFIG_CRAMFS=m
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+CONFIG_MINIX_FS=m
+CONFIG_OMFS_FS=m
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_PSTORE=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_FTRACE is not set
+CONFIG_PSTORE_RAM=m
+# CONFIG_SYSV_FS is not set
+CONFIG_UFS_FS=m
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EXOFS_FS=m
+# CONFIG_EXOFS_DEBUG is not set
+CONFIG_F2FS_FS=m
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_F2FS_FS_SECURITY=y
+CONFIG_EFIVAR_FS=y
+CONFIG_ORE=m
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V2=m
+CONFIG_NFS_V3=m
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=m
+CONFIG_NFS_SWAP=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_PNFS_FILE_LAYOUT=m
+CONFIG_PNFS_BLOCK=m
+CONFIG_PNFS_OBJLAYOUT=m
+CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="linux-libre.fsfla.org"
+CONFIG_NFS_V4_SECURITY_LABEL=y
+CONFIG_NFS_FSCACHE=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFS_DEBUG=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V2_ACL=y
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_V4_SECURITY_LABEL=y
+# CONFIG_NFSD_FAULT_INJECTION is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_SUNRPC_BACKCHANNEL=y
+CONFIG_SUNRPC_SWAP=y
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_SUNRPC_DEBUG=y
+CONFIG_CEPH_FS=m
+CONFIG_CEPH_FSCACHE=y
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+CONFIG_CIFS_UPCALL=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_CIFS_ACL=y
+# CONFIG_CIFS_DEBUG is not set
+CONFIG_CIFS_DFS_UPCALL=y
+CONFIG_CIFS_SMB2=y
+CONFIG_CIFS_FSCACHE=y
+CONFIG_NCP_FS=m
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+CONFIG_NCPFS_NFS_NS=y
+CONFIG_NCPFS_OS2_NS=y
+CONFIG_NCPFS_SMALLDOS=y
+CONFIG_NCPFS_NLS=y
+# CONFIG_NCPFS_EXTRAS is not set
+CONFIG_CODA_FS=m
+CONFIG_AFS_FS=m
+# CONFIG_AFS_DEBUG is not set
+CONFIG_AFS_FSCACHE=y
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_9P_FS_SECURITY=y
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_MAC_ROMAN=m
+CONFIG_NLS_MAC_CELTIC=m
+CONFIG_NLS_MAC_CENTEURO=m
+CONFIG_NLS_MAC_CROATIAN=m
+CONFIG_NLS_MAC_CYRILLIC=m
+CONFIG_NLS_MAC_GAELIC=m
+CONFIG_NLS_MAC_GREEK=m
+CONFIG_NLS_MAC_ICELAND=m
+CONFIG_NLS_MAC_INUIT=m
+CONFIG_NLS_MAC_ROMANIAN=m
+CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UTF8=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
+# CONFIG_BOOT_PRINTK_DELAY is not set
+CONFIG_DYNAMIC_DEBUG=y
+
+#
+# Compile-time checks and compiler options
+#
+# CONFIG_DEBUG_INFO is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+# CONFIG_ENABLE_MUST_CHECK is not set
+CONFIG_FRAME_WARN=2048
+CONFIG_STRIP_ASM_SYMS=y
+# CONFIG_READABLE_ASM is not set
+CONFIG_UNUSED_SYMBOLS=y
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_DEBUG_KERNEL=y
+
+#
+# Memory Debugging
+#
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
+# CONFIG_DEBUG_STACKOVERFLOW is not set
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+# CONFIG_DEBUG_SHIRQ is not set
+
+#
+# Debug Lockups and Hangs
+#
+CONFIG_LOCKUP_DETECTOR=y
+CONFIG_HARDLOCKUP_DETECTOR=y
+# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_PREEMPT is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_PROVE_RCU_DELAY is not set
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=60
+# CONFIG_RCU_CPU_STALL_VERBOSE is not set
+# CONFIG_RCU_CPU_STALL_INFO is not set
+# CONFIG_RCU_TRACE is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y
+# CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_FENTRY=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACER_MAX_TRACE=y
+CONFIG_TRACE_CLOCK=y
+CONFIG_RING_BUFFER=y
+CONFIG_EVENT_TRACING=y
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_TRACING=y
+CONFIG_GENERIC_TRACER=y
+CONFIG_TRACING_SUPPORT=y
+CONFIG_FTRACE=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUNCTION_GRAPH_TRACER=y
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+CONFIG_SCHED_TRACER=y
+CONFIG_FTRACE_SYSCALLS=y
+CONFIG_TRACER_SNAPSHOT=y
+# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
+CONFIG_BRANCH_PROFILE_NONE=y
+# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
+# CONFIG_PROFILE_ALL_BRANCHES is not set
+CONFIG_STACK_TRACER=y
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_KPROBE_EVENT=y
+CONFIG_UPROBE_EVENT=y
+CONFIG_PROBE_EVENTS=y
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_FUNCTION_PROFILER=y
+CONFIG_FTRACE_MCOUNT_RECORD=y
+# CONFIG_FTRACE_STARTUP_TEST is not set
+CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE_TEST is not set
+CONFIG_RING_BUFFER_BENCHMARK=m
+# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+
+#
+# Runtime Testing
+#
+CONFIG_LKDTM=m
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_KPROBES_SANITY_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_RBTREE_TEST is not set
+# CONFIG_INTERVAL_TREE_TEST is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+CONFIG_ASYNC_RAID6_TEST=m
+# CONFIG_TEST_STRING_HELPERS is not set
+CONFIG_TEST_KSTRTOX=m
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_FIREWIRE_OHCI_REMOTE_DMA is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_STRICT_DEVMEM=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_X86_PTDUMP is not set
+CONFIG_DEBUG_RODATA=y
+# CONFIG_DEBUG_RODATA_TEST is not set
+# CONFIG_DEBUG_SET_MODULE_RONX is not set
+# CONFIG_DEBUG_NX_TEST is not set
+CONFIG_DOUBLEFAULT=y
+# CONFIG_DEBUG_TLBFLUSH is not set
+# CONFIG_IOMMU_DEBUG is not set
+# CONFIG_IOMMU_STRESS is not set
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+# CONFIG_X86_DECODER_SELFTEST is not set
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_CPA_DEBUG is not set
+# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_DEBUG_NMI_SELFTEST is not set
+# CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_TRUSTED_KEYS=m
+CONFIG_ENCRYPTED_KEYS=m
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+CONFIG_SECURITY_PATH=y
+# CONFIG_INTEL_TXT is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+CONFIG_SECURITY_TOMOYO=y
+CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
+CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
+# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set
+CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/usr/bin/tomoyo-init"
+CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/usr/lib/systemd/systemd"
+CONFIG_SECURITY_APPARMOR=y
+CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0
+CONFIG_SECURITY_APPARMOR_HASH=y
+CONFIG_SECURITY_YAMA=y
+CONFIG_SECURITY_YAMA_STACKED=y
+# CONFIG_IMA is not set
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
+# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
+# CONFIG_DEFAULT_SECURITY_YAMA is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_PCOMP=m
+CONFIG_CRYPTO_PCOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_ABLK_HELPER_X86=m
+CONFIG_CRYPTO_GLUE_HELPER_X86=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_SEQIV=m
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_XTS=m
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+CONFIG_CRYPTO_VMAC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_CRC32C_INTEL=m
+CONFIG_CRYPTO_CRC32=m
+CONFIG_CRYPTO_CRC32_PCLMUL=m
+CONFIG_CRYPTO_CRCT10DIF=m
+CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_RMD128=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_RMD256=m
+CONFIG_CRYPTO_RMD320=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA1_SSSE3=m
+CONFIG_CRYPTO_SHA256_SSSE3=m
+CONFIG_CRYPTO_SHA512_SSSE3=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_AES_X86_64=m
+CONFIG_CRYPTO_AES_NI_INTEL=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_BLOWFISH_COMMON=m
+CONFIG_CRYPTO_BLOWFISH_X86_64=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAMELLIA_X86_64=m
+CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
+CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
+CONFIG_CRYPTO_CAST_COMMON=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST5_AVX_X86_64=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_CAST6_AVX_X86_64=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_SALSA20=m
+CONFIG_CRYPTO_SALSA20_X86_64=m
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
+CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
+CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_TWOFISH_X86_64=m
+CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
+CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_ZLIB=m
+CONFIG_CRYPTO_LZO=y
+CONFIG_CRYPTO_LZ4=m
+CONFIG_CRYPTO_LZ4HC=m
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=m
+CONFIG_CRYPTO_USER_API=m
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_DEV_PADLOCK=m
+CONFIG_CRYPTO_DEV_PADLOCK_AES=m
+CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
+CONFIG_ASYMMETRIC_KEY_TYPE=m
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
+CONFIG_PUBLIC_KEY_ALGO_RSA=m
+CONFIG_X509_CERTIFICATE_PARSER=m
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_APIC_ARCHITECTURE=y
+CONFIG_KVM_MMIO=y
+CONFIG_KVM_ASYNC_PF=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+CONFIG_KVM_INTEL=m
+CONFIG_KVM_AMD=m
+CONFIG_KVM_MMU_AUDIT=y
+CONFIG_KVM_DEVICE_ASSIGNMENT=y
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=m
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_IO=y
+CONFIG_PERCPU_RWSEM=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+CONFIG_CMPXCHG_LOCKREF=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC_T10DIF=m
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=m
+CONFIG_LIBCRC32C=m
+CONFIG_CRC8=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_COMPRESS=m
+CONFIG_LZ4HC_COMPRESS=m
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_DECOMPRESS_LZ4=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_REED_SOLOMON=m
+CONFIG_REED_SOLOMON_ENC8=y
+CONFIG_REED_SOLOMON_DEC8=y
+CONFIG_BCH=m
+CONFIG_BCH_CONST_PARAMS=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_BTREE=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_CHECK_SIGNATURE=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_NLATTR=y
+CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
+CONFIG_LRU_CACHE=m
+CONFIG_AVERAGE=y
+CONFIG_CLZ_TAB=y
+CONFIG_CORDIC=m
+CONFIG_DDR=y
+CONFIG_MPILIB=m
+CONFIG_OID_REGISTRY=m
+CONFIG_UCS2_STRING=y
+CONFIG_FONT_SUPPORT=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+CONFIG_FONT_AUTOSELECT=y
diff --git a/libre/linux-libre/criu-no-expert.patch b/libre/linux-libre/criu-no-expert.patch
new file mode 100644
index 000000000..2124427e9
--- /dev/null
+++ b/libre/linux-libre/criu-no-expert.patch
@@ -0,0 +1,22 @@
+diff --git a/init/Kconfig b/init/Kconfig
+index be8b7f5..7461760 100644
+--- a/init/Kconfig
++++ b/init/Kconfig
+@@ -989,7 +989,7 @@ config DEBUG_BLK_CGROUP
+ endif # CGROUPS
+
+ config CHECKPOINT_RESTORE
+- bool "Checkpoint/restore support" if EXPERT
++ bool "Checkpoint/restore support"
+ default n
+ help
+ Enables additional kernel features in a sake of checkpoint/restore.
+@@ -1000,7 +1000,7 @@ config CHECKPOINT_RESTORE
+ If unsure, say N here.
+
+ menuconfig NAMESPACES
+- bool "Namespaces support" if EXPERT
++ bool "Namespaces support"
+ default !EXPERT
+ help
+ Provides the way to make tasks work with different objects using
diff --git a/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install
new file mode 100644
index 000000000..8d5658aab
--- /dev/null
+++ b/libre/linux-libre/linux-libre.install
@@ -0,0 +1,35 @@
+# arg 1: the new package version
+# arg 2: the old package version
+
+KERNEL_NAME=
+KERNEL_VERSION=
+
+post_install () {
+ # updating module dependencies
+ echo ">>> Updating module dependencies. Please wait ..."
+ depmod ${KERNEL_VERSION}
+ if command -v mkinitcpio 2>&1 > /dev/null; then
+ echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
+ mkinitcpio -p linux-libre${KERNEL_NAME}
+ fi
+}
+
+post_upgrade() {
+ if findmnt --fstab -uno SOURCE /boot &>/dev/null && ! mountpoint -q /boot; then
+ echo "WARNING: /boot appears to be a separate partition but is not mounted."
+ fi
+
+ # updating module dependencies
+ echo ">>> Updating module dependencies. Please wait ..."
+ depmod ${KERNEL_VERSION}
+ if command -v mkinitcpio 2>&1 > /dev/null; then
+ echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
+ mkinitcpio -p linux-libre${KERNEL_NAME}
+ fi
+}
+
+post_remove() {
+ # also remove the compat symlinks
+ rm -f boot/initramfs-linux-libre${KERNEL_NAME}.img
+ rm -f boot/initramfs-linux-libre${KERNEL_NAME}-fallback.img
+}
diff --git a/libre/linux-libre/linux-libre.preset b/libre/linux-libre/linux-libre.preset
new file mode 100644
index 000000000..0ac59eb14
--- /dev/null
+++ b/libre/linux-libre/linux-libre.preset
@@ -0,0 +1,14 @@
+# mkinitcpio preset file for the 'linux-libre' package
+
+ALL_config="/etc/mkinitcpio.conf"
+ALL_kver="/boot/vmlinuz-linux-libre"
+
+PRESETS=('default' 'fallback')
+
+#default_config="/etc/mkinitcpio.conf"
+default_image="/boot/initramfs-linux-libre.img"
+#default_options=""
+
+#fallback_config="/etc/mkinitcpio.conf"
+fallback_image="/boot/initramfs-linux-libre-fallback.img"
+fallback_options="-S autodetect"
diff --git a/libre/linux-libre/logo_linux_clut224.ppm b/libre/linux-libre/logo_linux_clut224.ppm
new file mode 100644
index 000000000..c9d837347
--- /dev/null
+++ b/libre/linux-libre/logo_linux_clut224.ppm
@@ -0,0 +1,861 @@
+P3
+80 78
+255
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 6 9 23 30 36 44 54 65 57 72 88 44 54 65 6 12 15 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 31 41 52
+103 134 161 163 205 246 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 143 185 225
+82 108 129 8 14 16 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 17 24 30 126 162 196 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 161 203 243 92 119 140 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 44 54 65 154 195 235 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 138 174 208 21 27 33 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 70 96 117 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 157 198 239 49 59 70 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 0 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 3 6 52 62 74 170 212 252 170 212 252 170 212 252 170 212 252 129 165 199
+82 108 129 149 191 231 170 212 252 170 212 252 170 212 252 129 165 199 82 108 129 149 191 231
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 166 207 248 37 48 59 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 21 13 4 31 23 12 0 2 0 0 2 0 105 75 32 155 111 43 23 15 7
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 6 9 3 10 13 146 188 228 170 212 252 170 212 252 170 212 252 157 198 239 0 6 9
+0 2 0 52 62 74 170 212 252 170 212 252 154 195 235 0 6 9 0 2 0 55 66 77
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 151 193 233 17 24 30
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+10 12 8 23 15 7 139 99 44 206 148 61 67 49 21 0 2 0 125 92 35 206 148 61
+15 9 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 96 127 154 170 212 252 170 212 252 170 212 252 170 212 252 92 119 140 21 22 20
+10 12 8 53 68 84 170 212 252 170 212 252 92 119 140 10 12 8 7 10 5 53 68 84
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 134 170 204
+0 6 9 0 3 6 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 21 22 20
+62 64 61 38 40 37 0 2 0 34 26 8 212 153 66 64 46 18 0 2 0 170 124 49
+180 132 57 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+18 22 24 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 65 87 102 115 117 114
+43 44 42 88 115 136 170 212 252 170 212 252 68 83 99 108 110 107 60 62 59 88 115 136
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+80 98 121 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 10 12 8 56 58 55 95 96 94 178 180 177 215 217 214 198 200 197
+158 160 156 138 140 137 82 83 81 0 2 0 64 46 18 228 167 73 23 15 7 41 31 10
+250 179 73 55 39 17 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+75 94 116 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 63 78 94 0 2 0
+0 2 0 126 162 196 170 212 252 170 212 252 57 72 88 0 2 0 0 2 0 126 162 196
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+157 198 239 8 14 16 0 6 9 0 2 0 45 47 44 195 197 194 192 194 191 38 40 37
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 192 194 191 234 236 233 176 178 175 118 120 117 143 145 142 176 178 175
+215 217 214 234 236 233 234 236 233 104 106 103 0 2 0 142 101 40 134 100 43 0 2 0
+164 119 51 170 124 49 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 115 152 185 8 14 16
+49 59 70 166 207 248 170 212 252 170 212 252 119 150 178 8 14 16 55 66 77 166 207 248
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 92 119 140 0 2 0 0 2 0 200 202 199 254 255 252 254 255 252 244 246 243
+40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 38 40 37 234 236 233 234 236 233 234 236 233 135 137 134 215 217 214 171 173 170
+141 142 139 138 140 137 138 140 137 135 137 134 31 32 30 3 6 2 212 153 66 15 9 7
+78 58 25 248 178 79 41 31 10 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 3 6 21 27 33
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 163 205 246 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 154 195 235 0 6 9 82 83 81 254 255 252 254 255 252 254 255 252 254 255 252
+188 190 187 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 62 64 61 234 236 233 234 236 233 234 236 233 198 200 197 131 133 130 198 200 197
+232 234 231 234 236 233 234 236 233 234 236 233 152 154 151 0 2 0 147 105 44 67 49 21
+23 15 7 250 179 73 158 114 46 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 6 9 61 76 92
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 154 195 235 103 134 161 80 98 121
+52 62 74 18 22 24 0 2 0 3 10 13 38 45 51 80 98 121 151 193 233 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 109 141 168 0 2 0 169 171 168 254 255 252 254 255 252 254 255 252 254 255 252
+226 228 225 65 66 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 43 44 42 234 236 233 234 236 233 234 236 233 234 236 233 131 133 130 192 194 191
+152 154 151 141 142 139 141 142 139 141 142 139 158 160 156 3 6 2 82 62 28 129 95 39
+0 2 0 206 148 61 248 178 79 21 13 4 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 96 115 138
+170 212 252 170 212 252 170 212 252 170 212 252 129 165 199 18 22 24 0 2 0 0 2 0
+34 26 8 75 55 22 114 83 33 95 68 30 55 39 17 7 0 0 0 6 9 84 103 125
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 84 103 125 0 2 0 229 231 228 254 255 252 254 255 252 254 255 252 171 173 170
+0 2 0 0 2 0 0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 18 20 17 234 236 233 234 236 233 234 236 233 234 236 233 138 140 137 178 180 177
+226 228 225 234 236 233 234 236 233 234 236 233 231 233 230 45 47 44 23 15 7 190 136 56
+0 2 0 147 105 44 250 179 73 64 46 18 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 122 159 192
+170 212 252 170 212 252 170 212 252 126 162 196 0 2 0 26 20 13 190 136 56 245 175 76
+250 179 73 161 117 49 164 119 51 245 175 76 250 179 73 206 148 61 75 55 22 0 2 0
+126 162 196 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 68 83 99 0 2 0 252 254 250 254 255 252 254 255 252 254 255 252 71 73 70
+8 14 16 88 115 136 17 24 30 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 232 234 231 234 236 233 234 236 233 234 236 233 215 217 214 148 150 147
+183 185 181 141 142 139 135 137 134 135 137 134 141 142 139 87 89 86 0 2 0 202 145 58
+3 6 2 88 66 26 250 179 73 109 79 35 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 157 198 239
+170 212 252 170 212 252 166 207 248 26 33 39 26 20 13 224 163 69 250 179 73 250 179 73
+250 179 73 197 142 62 202 145 58 250 179 73 250 179 73 250 179 73 234 172 70 21 13 4
+38 45 51 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 52 62 74 21 22 20 254 255 252 254 255 252 254 255 252 254 255 252 21 22 20
+49 59 70 170 212 252 166 207 248 91 123 149 8 14 16 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 215 217 214 234 236 233 234 236 233 234 236 233 234 236 233 123 125 122
+188 190 187 229 231 228 234 236 233 234 236 233 222 224 221 118 120 117 0 2 0 168 123 54
+34 26 8 67 49 21 250 179 73 134 100 43 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 34 41 47 170 212 252
+170 212 252 170 212 252 85 112 133 0 2 0 164 119 51 250 179 73 250 179 73 250 179 73
+250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 129 95 39
+0 2 0 138 174 208 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 34 44 55 45 47 44 254 255 252 254 255 252 254 255 252 254 255 252 24 22 25
+52 62 74 170 212 252 170 212 252 170 212 252 138 174 208 10 16 18 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 178 180 177 234 236 233 234 236 233 234 236 233 234 236 233 141 142 139
+198 200 197 148 150 147 135 137 134 135 137 134 148 150 147 123 125 122 0 2 0 190 136 56
+21 13 4 78 58 25 250 179 73 129 95 39 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 82 108 129 170 212 252
+170 212 252 170 212 252 23 30 36 58 42 19 250 179 73 250 179 73 250 179 73 250 179 73
+250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 147 105 44
+0 2 0 139 181 221 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 34 41 47 45 47 44 254 255 252 254 255 252 254 255 252 254 255 252 56 58 55
+25 32 38 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 10 16 18 0 6 9
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 91 93 90 234 236 233 234 236 233 234 236 233 234 236 233 126 127 125
+169 171 168 222 224 221 234 236 233 229 231 228 178 180 177 71 73 70 0 2 0 212 153 66
+0 2 0 95 68 30 250 179 73 119 87 37 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 138 174 208 170 212 252
+170 212 252 154 195 235 0 2 0 125 92 35 250 179 73 250 179 73 250 179 73 250 179 73
+250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 119 87 37
+0 2 0 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 57 72 88 7 10 5 252 254 250 254 255 252 254 255 252 254 255 252 95 96 94
+0 6 9 166 207 248 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 8 14 16
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 7 10 5 222 224 221 234 236 233 234 236 233 234 236 233 141 142 139
+183 185 181 138 140 137 131 133 130 141 142 139 192 194 191 102 104 101 0 2 0 224 163 69
+0 2 0 105 75 32 250 179 73 55 39 17 7 0 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 21 27 33 170 212 252 170 212 252
+170 212 252 115 152 185 0 2 0 180 132 57 250 179 73 250 179 73 250 179 73 250 179 73
+250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 228 167 73 10 12 8
+38 45 51 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 82 108 129 0 2 0 222 224 221 254 255 252 254 255 252 254 255 252 158 160 156
+0 2 0 92 119 140 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 122 159 192
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 141 142 139 234 236 233 234 236 233 234 236 233 131 133 130
+185 187 183 231 233 230 222 224 221 158 160 156 138 140 137 48 50 48 3 6 2 250 179 73
+134 100 43 206 148 61 218 158 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 75 94 116 170 212 252 170 212 252
+170 212 252 92 119 140 0 2 0 224 163 69 250 179 73 250 179 73 250 179 73 250 179 73
+250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 87 61 23 7 0 0
+134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 109 141 168 0 2 0 178 180 177 254 255 252 254 255 252 254 255 252 252 254 250
+39 43 45 10 16 18 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+88 115 136 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 45 47 44 234 236 233 234 236 233 234 236 233 131 133 130
+148 150 147 138 140 137 148 150 147 210 212 209 152 154 151 26 27 25 29 21 8 250 179 73
+250 179 73 234 172 70 55 39 17 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 126 162 196 170 212 252 170 212 252
+170 212 252 103 134 161 0 2 0 202 145 58 250 179 73 250 179 73 250 179 73 250 179 73
+250 179 73 250 179 73 250 179 73 250 179 73 238 175 73 75 55 22 0 2 0 75 102 123
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 140 177 211 0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252
+183 185 181 0 2 0 75 94 116 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 57 72 88 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 162 164 161 234 236 233 234 236 233 135 137 134
+226 228 225 198 200 197 104 106 103 15 17 14 0 2 0 15 9 7 147 105 44 250 179 73
+248 178 79 55 39 17 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 6 9 21 27 33 170 212 252 170 212 252 170 212 252
+170 212 252 122 159 192 0 2 0 175 129 54 250 179 73 250 179 73 250 179 73 250 179 73
+250 179 73 250 179 73 250 179 73 202 145 58 55 39 17 0 2 0 82 108 129 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 12 17 20 60 62 59 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 69 71 68 0 6 9 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 159 201 241 26 33 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 7 10 5 162 164 161 215 217 214 95 96 94
+56 58 55 0 2 0 0 2 0 0 2 0 61 44 16 238 175 73 250 179 73 250 179 73
+218 158 64 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 88 115 136 170 212 252 170 212 252 170 212 252
+170 212 252 143 185 225 0 2 0 147 105 44 250 179 73 250 179 73 250 179 73 250 179 73
+250 179 73 212 153 66 95 68 30 0 2 0 8 14 16 103 134 161 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 68 83 99 0 2 0 231 233 230 254 255 252 254 255 252 254 255 252
+254 255 252 210 212 209 0 6 9 53 68 84 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 126 162 196 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 7 0 0 23 15 7 250 179 73 250 179 73 250 179 73
+250 179 73 29 21 8 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 6 9 154 195 235 170 212 252 170 212 252 170 212 252
+170 212 252 166 207 248 0 2 0 52 36 13 158 114 46 180 132 57 161 117 49 119 87 37
+41 31 10 0 2 0 0 2 0 72 87 103 154 195 235 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 115 152 185 0 2 0 152 154 151 254 255 252 238 241 237 85 87 84
+229 231 228 254 255 252 99 101 98 0 2 0 126 162 196 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 63 78 94 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 202 145 58 250 179 73 250 179 73
+250 179 73 105 75 32 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 32 39 45 0 2 0 57 72 88 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 85 112 133 12 17 20 0 2 0 0 2 0 0 2 0 0 2 0
+34 41 47 92 110 133 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 166 207 248 6 12 15 71 73 70 254 255 252 229 231 228 0 2 0
+141 142 139 254 255 252 231 233 230 10 12 8 34 44 55 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 154 195 235 6 12 15 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 125 92 35 250 179 73 250 179 73
+250 179 73 180 132 57 0 2 0 0 2 0 0 2 0 0 2 0 3 10 13 68 83 99
+129 165 199 85 112 133 0 2 0 122 159 192 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 126 162 196 119 156 189 134 170 204 149 191 231
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 57 72 88 3 6 2 242 244 240 254 255 252 35 37 34
+78 80 77 254 255 252 254 255 252 128 130 127 0 2 0 105 137 164 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 91 123 149 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 55 39 17 250 179 73 250 179 73
+250 179 73 245 175 76 7 10 5 0 2 0 44 54 65 103 134 161 161 203 243 170 212 252
+170 212 252 21 27 33 25 32 38 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 61 76 92 0 2 0 242 244 240 254 255 252 102 104 101
+10 12 8 231 233 230 254 255 252 244 246 243 26 27 25 21 27 33 159 201 241 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 32 39 45 0 6 9 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 218 158 64 250 179 73
+250 179 73 250 179 73 75 55 22 0 2 0 161 203 243 170 212 252 170 212 252 170 212 252
+115 147 174 0 2 0 91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 159 201 241 146 188 228
+140 177 211 134 170 204 146 188 228 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 17 24 30 62 64 61 254 255 252 254 255 252 215 217 214
+0 2 0 102 104 101 254 255 252 254 255 252 166 168 165 0 2 0 72 87 103 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 129 165 199 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 75 32 250 179 73
+250 179 73 250 179 73 150 108 46 0 2 0 113 145 172 170 212 252 170 212 252 170 212 252
+49 59 70 3 10 13 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 166 207 248 109 141 168 65 87 102 28 35 41 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 6 9 28 35 41 70 96 117 138 174 208 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 0 2 0 102 104 101 254 255 252 254 255 252 254 255 252
+102 104 101 0 2 0 192 194 191 254 255 252 254 255 252 78 80 77 0 2 0 122 159 192
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 34 44 55 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 61 76 92 154 195 235 0 6 9 29 21 8 250 179 73
+250 179 73 250 179 73 224 163 69 0 2 0 68 83 99 170 212 252 170 212 252 143 179 213
+0 2 0 72 87 103 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+161 203 243 96 115 138 17 24 30 0 2 0 0 2 0 45 47 44 102 104 101 123 125 122
+138 140 137 143 145 142 115 117 114 82 83 81 43 44 42 0 2 0 0 2 0 32 39 45
+126 162 196 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 0 2 0 85 87 84 254 255 252 254 255 252 254 255 252
+242 244 240 27 29 27 35 37 34 254 255 252 254 255 252 231 233 230 10 12 8 21 27 33
+159 201 241 170 212 252 170 212 252 170 212 252 170 212 252 163 205 246 0 6 9 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 6 9 44 54 65 170 212 252 170 212 252 34 44 55 0 2 0 82 62 28
+109 79 35 224 163 69 250 179 73 52 36 13 15 20 22 170 212 252 170 212 252 75 89 106
+0 2 0 143 179 213 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 134 170 204
+25 32 38 0 2 0 40 41 39 155 157 153 238 241 237 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 210 212 209 115 117 114 18 20 17
+0 2 0 68 83 99 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 52 62 74 7 10 5 234 236 233 254 255 252 254 255 252
+254 255 252 195 197 194 102 104 101 254 255 252 254 255 252 254 255 252 162 164 161 0 2 0
+72 87 103 170 212 252 170 212 252 170 212 252 170 212 252 119 156 189 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 115 147 174 170 212 252 91 123 149 0 2 0 0 2 0 6 12 15
+0 2 0 15 9 7 197 142 62 125 92 35 0 2 0 115 152 185 113 145 172 3 6 2
+41 51 62 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 113 145 172 0 6 9
+10 12 8 155 157 153 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 232 234 231
+87 89 86 0 2 0 32 39 45 154 195 235 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 115 152 185 0 2 0 138 140 137 254 255 252 254 255 252
+254 255 252 254 255 252 249 251 248 254 255 252 254 255 252 254 255 252 254 255 252 65 66 64
+0 2 0 122 159 192 170 212 252 170 212 252 170 212 252 66 80 97 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 154 195 235 170 212 252 143 179 213 88 115 136 149 191 231 170 212 252
+126 162 196 3 6 2 64 46 18 202 145 58 0 2 0 0 2 0 0 2 0 0 2 0
+92 119 140 170 212 252 170 212 252 170 212 252 170 212 252 143 179 213 3 10 13 27 29 27
+215 217 214 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 155 157 153 0 2 0 32 39 45 154 195 235 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 23 30 36 27 29 27 249 251 248 254 255 252
+254 255 252 188 190 187 7 10 5 226 228 225 254 255 252 254 255 252 254 255 252 231 233 230
+7 10 5 21 27 33 159 201 241 170 212 252 103 134 161 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 119 156 189 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 55 66 77 11 4 3 250 179 73 24 17 10 0 2 0 0 2 0 0 2 0
+143 185 225 170 212 252 170 212 252 170 212 252 159 201 241 28 35 41 7 10 5 200 202 199
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 155 157 153 0 2 0 55 66 77 170 212 252 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 96 127 154 0 2 0 158 160 156 254 255 252
+254 255 252 192 194 191 0 2 0 176 178 175 254 255 252 254 255 252 254 255 252 254 255 252
+141 142 139 0 2 0 72 87 103 129 165 199 0 6 9 0 6 9 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 6 9 12 17 20 143 185 225 170 212 252 170 212 252 170 212 252 170 212 252
+138 174 208 17 24 30 29 21 8 250 179 73 101 72 28 0 2 0 0 2 0 32 39 45
+170 212 252 170 212 252 170 212 252 170 212 252 57 72 88 0 2 0 152 154 151 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 108 110 107 0 2 0 115 152 185 170 212 252 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 166 207 248 18 22 24 40 41 39 254 255 252
+254 255 252 232 234 231 0 2 0 148 150 147 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 10 12 8 0 2 0 8 14 16 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 6 9 41 51 62 61 76 92 34 44 55 3 10 13
+0 2 0 11 4 3 164 119 51 250 179 73 175 129 54 0 2 0 0 2 0 82 108 129
+170 212 252 170 212 252 170 212 252 98 129 156 0 2 0 95 96 94 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 238 241 237 18 20 17 25 32 38 166 207 248 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 85 112 133 0 2 0 188 190 187
+254 255 252 254 255 252 198 200 197 242 244 240 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 120 122 119 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 6 9 0 2 0 0 6 9 7 0 0
+31 23 12 202 145 58 250 179 73 250 179 73 238 175 73 0 2 0 0 2 0 122 159 192
+170 212 252 170 212 252 170 212 252 28 35 41 31 32 30 244 246 243 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 152 154 151 0 2 0 85 112 133 170 212 252
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 138 174 208 0 2 0 148 150 147
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 222 224 221 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+7 0 0 234 172 70 250 179 73 250 179 73 250 179 73 34 26 8 0 2 0 149 191 231
+170 212 252 170 212 252 129 165 199 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 252 254 250 48 50 48 3 10 13 146 188 228
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 157 198 239 0 2 0 118 120 117
+254 255 252 254 255 252 254 255 252 169 171 168 231 233 230 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 170 124 49 250 179 73 250 179 73 250 179 73 48 33 15 6 12 15 170 212 252
+170 212 252 170 212 252 65 87 102 0 2 0 222 224 221 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 195 197 194 0 2 0 84 103 125
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 3 10 13 85 87 84
+254 255 252 254 255 252 234 236 233 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 99 101 98 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 95 68 30 250 179 73 250 179 73 250 179 73 34 26 8 34 44 55 170 212 252
+170 212 252 163 205 246 8 14 16 62 64 61 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 35 37 34 34 44 55
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 26 33 39 60 62 59
+254 255 252 254 255 252 238 241 237 0 2 0 108 110 107 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 158 160 156 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 23 15 7 248 178 79 250 179 73 245 175 76 0 2 0 63 78 94 170 212 252
+170 212 252 109 141 168 0 2 0 158 160 156 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 104 106 103 0 2 0
+154 195 235 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 21 27 33 69 71 68
+254 255 252 254 255 252 244 246 243 0 2 0 91 93 90 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 215 217 214 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 197 142 62 250 179 73 212 153 66 0 2 0 92 110 133 170 212 252
+170 212 252 80 98 121 0 2 0 231 233 230 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 176 178 175 0 2 0
+105 137 164 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 8 14 16 87 89 86
+254 255 252 254 255 252 254 255 252 40 41 39 21 22 20 252 254 250 254 255 252 254 255 252
+254 255 252 254 255 252 252 254 250 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 125 92 35 250 179 73 170 124 49 0 2 0 113 145 172 170 212 252
+170 212 252 53 68 84 15 17 14 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 242 244 240 0 2 0
+63 78 94 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 0 2 0 104 106 103
+254 255 252 254 255 252 254 255 252 123 125 122 0 2 0 166 168 165 254 255 252 254 255 252
+254 255 252 254 255 252 234 236 233 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 7 0 0 52 36 13 250 179 73 129 95 39 0 2 0 143 179 213 170 212 252
+170 212 252 32 39 45 48 50 48 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 60 62 59
+18 22 24 170 212 252 170 212 252 170 212 252 170 212 252 163 205 246 0 2 0 102 104 101
+254 255 252 254 255 252 254 255 252 226 228 225 15 17 14 10 12 8 215 217 214 254 255 252
+254 255 252 254 255 252 210 212 209 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 88 66 26 29 21 8 0 2 0 166 207 248 170 212 252
+170 212 252 3 10 13 85 87 84 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 123 125 122
+0 2 0 149 191 231 170 212 252 170 212 252 170 212 252 170 212 252 21 27 33 56 58 55
+254 255 252 254 255 252 254 255 252 254 255 252 178 180 177 0 2 0 38 40 37 238 241 237
+254 255 252 254 255 252 210 212 209 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 7 0 0 7 0 0 0 2 0 161 203 243 170 212 252
+149 191 231 0 2 0 123 125 122 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 141 142 139
+0 2 0 143 179 213 170 212 252 170 212 252 170 212 252 170 212 252 66 80 97 0 2 0
+210 212 209 254 255 252 254 255 252 254 255 252 254 255 252 120 122 119 0 2 0 21 22 20
+143 145 142 244 246 243 219 221 218 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 149 191 231 170 212 252
+129 165 199 0 2 0 158 160 156 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 155 157 153
+0 2 0 134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 143 185 225 0 6 9
+69 71 68 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 71 73 70 0 2 0
+0 2 0 0 2 0 40 41 39 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 139 181 221 170 212 252
+129 165 199 0 2 0 162 164 161 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 169 171 168
+0 2 0 119 156 189 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 75 94 116
+0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252 69 71 68 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 134 170 204 170 212 252
+134 170 204 0 2 0 152 154 151 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 183 185 181
+0 2 0 113 145 172 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 166 207 248
+44 54 65 0 2 0 162 164 161 254 255 252 254 255 252 254 255 252 35 37 34 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 126 162 196 170 212 252
+138 174 208 0 2 0 143 145 142 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 198 200 197
+0 2 0 103 134 161 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+157 198 239 28 35 41 0 2 0 188 190 187 254 255 252 252 254 250 3 6 2 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 115 152 185 170 212 252
+143 179 213 0 2 0 135 137 134 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 210 212 209
+0 2 0 91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 146 188 228 0 6 9 26 27 25 242 244 240 176 178 175 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 137 164 170 212 252
+143 185 225 0 2 0 128 130 127 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 185 187 183
+0 2 0 105 137 164 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 163 205 246 0 2 0 0 2 0 102 104 101 60 62 59 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 80 98 121 170 212 252
+149 191 231 0 2 0 118 120 117 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 143 145 142
+0 2 0 134 170 204 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 143 179 213 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 44 54 65 170 212 252
+170 212 252 3 10 13 85 87 84 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 108 110 107
+0 2 0 157 198 239 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 115 152 185 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 3 10 13 170 212 252
+170 212 252 34 44 55 43 44 42 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 69 71 68
+15 20 22 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+170 212 252 75 94 116 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 139 181 221
+170 212 252 63 78 94 3 6 2 249 251 248 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 31 32 30
+41 51 62 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+161 203 243 6 12 15 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 105 137 164
+170 212 252 88 115 136 0 2 0 210 212 209 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 249 251 248 0 2 0
+68 83 99 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+96 127 154 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 61 76 92
+170 212 252 119 150 178 0 2 0 169 171 168 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 183 185 181 0 2 0
+91 123 149 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252
+28 35 41 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 6 9
+146 188 228 143 185 225 0 2 0 126 127 125 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 85 87 84 0 6 9
+154 195 235 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 98 129 156
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+72 90 112 170 212 252 18 22 24 56 58 55 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 238 241 237 7 10 5 55 66 77
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 122 159 192 0 6 9
+0 6 9 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 122 159 192 72 87 103 0 2 0 229 231 228 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 152 154 151 0 2 0 113 145 172
+170 212 252 170 212 252 170 212 252 170 212 252 170 212 252 139 181 221 8 14 16 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 18 22 24 109 141 168 0 2 0 148 150 147 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 56 58 55 12 17 20 166 207 248
+170 212 252 170 212 252 170 212 252 170 212 252 146 188 228 23 30 36 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 101 72 28 202 145 58
+180 132 57 0 2 0 38 45 51 3 10 13 69 71 68 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 200 202 199 0 2 0 75 89 106 170 212 252
+170 212 252 170 212 252 170 212 252 109 141 168 8 14 16 0 2 0 21 13 4 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 7 0 0 0 2 0 101 72 28 218 158 64 250 179 73 250 179 73
+250 179 73 139 99 44 0 2 0 8 14 16 0 2 0 238 241 237 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 244 246 243 38 40 37 3 10 13 139 181 221 170 212 252
+170 212 252 161 203 243 66 80 97 0 2 0 31 23 12 191 142 60 248 183 74 180 132 57
+44 34 15 0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 23 15 7 190 136 56 250 179 73 250 179 73 250 179 73 250 179 73
+250 179 73 250 179 73 150 108 46 0 2 0 0 2 0 82 83 81 222 224 221 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 102 104 101 0 2 0 98 129 156 170 212 252 163 205 246
+98 129 156 23 30 36 0 2 0 82 62 28 234 172 70 248 183 74 248 183 74 248 183 74
+248 183 74 158 114 46 29 21 8 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 64 46 18 109 79 35 150 108 46 224 163 69 250 179 73
+250 179 73 250 179 73 250 179 73 158 114 46 0 2 0 0 2 0 3 6 2 115 117 114
+234 236 233 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 176 178 175 0 2 0 57 72 88 146 188 228 80 98 121 8 14 16
+0 2 0 24 17 10 158 114 46 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74
+248 183 74 248 183 74 242 178 77 58 42 19 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 0 2 0 67 49 21 250 179 73
+250 179 73 250 179 73 250 179 73 250 179 73 228 167 73 95 68 30 0 2 0 0 2 0
+0 2 0 52 54 51 108 110 107 162 164 161 219 221 218 254 255 252 254 255 252 254 255 252
+254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 254 255 252 252 254 250
+219 221 218 178 180 177 18 20 17 6 12 15 26 33 39 0 2 0 0 2 0 52 36 13
+164 119 51 242 178 77 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 242 178 77
+187 138 56 175 129 54 158 114 46 82 62 28 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 78 58 25 250 179 73
+250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 234 172 70 142 101 40
+44 34 15 10 12 8 0 2 0 0 2 0 0 2 0 18 20 17 60 62 59 71 73 70
+82 83 81 95 96 94 104 106 103 118 120 117 115 117 114 78 80 77 40 41 39 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 44 34 15 105 75 32 191 142 60 248 183 74
+248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 105 75 32
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 187 138 56 250 179 73
+250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73 250 179 73
+250 179 73 250 179 73 142 101 40 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 206 148 61 248 183 74 248 183 74 248 183 74
+248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 161 117 49
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 228 167 73 250 179 73
+238 175 73 190 136 56 158 114 46 234 172 70 250 179 73 250 179 73 250 179 73 250 179 73
+250 179 73 147 105 44 0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 67 49 21 248 183 74 248 183 74 248 183 74
+248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74 248 183 74
+31 23 12 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 10 5 21 13 4
+0 2 0 0 2 0 0 2 0 147 105 44 250 179 73 250 179 73 250 179 73 250 179 73
+134 100 43 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 155 111 43 248 183 74 248 183 74
+248 183 74 248 183 74 224 163 69 55 39 17 64 46 18 164 119 51 242 178 77 248 183 74
+75 55 22 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 202 145 58 250 179 73 250 179 73 228 167 73 88 66 26
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 168 123 54 248 183 74
+248 183 74 248 183 74 158 114 46 0 2 0 7 0 0 0 2 0 10 12 8 44 34 15
+15 9 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 29 21 8 250 179 73 250 179 73 158 114 46 15 14 3 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 7 0 0 0 2 0 175 129 54
+248 183 74 248 183 74 114 83 33 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 29 21 8 147 105 44 58 42 19 0 2 0 7 0 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+105 75 32 218 158 64 23 15 7 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 7 0 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0 0 2 0
+
diff --git a/libre/linux-libre/logo_linux_mono.pbm b/libre/linux-libre/logo_linux_mono.pbm
new file mode 100644
index 000000000..3d3c35807
--- /dev/null
+++ b/libre/linux-libre/logo_linux_mono.pbm
@@ -0,0 +1,159 @@
+P2
+80 78
+255
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 255 255 255 0 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 255 255 255 255 255 0 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 255 255 255 255 255 255 255 255 255 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 0
+0 0 0 0 0 0 0 0 0 0
+0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255
+0 0 0 0 0 0 0 0 0 0
+0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255
+255 0 0 0 0 0 0 0 0 0
+0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255
+255 255 0 0 0 0 0 0 0 0
+0 0 0 255 255 255 255 255 255 255 255 255 255 0 0 255 0 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255
+255 255 0 0 0 0 0 0 0 0
+0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255
+255 255 255 0 0 0 0 0 0 0
+0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255
+255 255 255 255 0 0 0 0 0 0
+0 0 0 0 0 255 255 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255
+255 255 255 255 255 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 0 255 255 0 0 255 255
+255 255 255 255 255 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 255 255 255 0 0 255
+255 255 255 255 255 255 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 0 255 255 255 0 255
+255 255 255 255 255 255 255 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 0 0 255 255 255 0 0
+255 255 255 255 255 255 255 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 255 255 255 0
+0 255 255 255 255 255 255 255 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 0 0 255 255 255 0
+0 255 255 255 255 255 255 255 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255
+0 0 255 255 255 255 255 255 0 0
+0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 255 255 0 0 255 255 0 0 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 255 255 255
+255 0 0 255 255 255 255 255 0 0
+0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 255 0 0 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255
+255 0 0 255 255 255 255 0 0 0
+0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 0 0 255 0 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 255 255 255
+255 255 0 0 255 255 255 0 0 0
+0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 255 255 255 255 0 255 255 255
+255 255 255 0 0 255 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 0 255 255 255
+255 255 255 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255
+255 255 255 255 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255
+255 255 255 255 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255
+255 255 255 255 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 255 255
+255 255 255 255 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255
+255 255 255 255 255 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255
+255 255 255 255 255 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 0 0 255
+255 255 255 255 255 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 0 255
+255 255 255 255 255 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 255 255 255 255 0 0
+255 255 255 255 255 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255 255 0
+0 255 255 255 255 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 0 0 255 255 255 255 255 255
+0 0 255 255 255 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 255 255
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 0 0 255 255 255 255 255
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 255 255 255 255
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 0 0 255 255 255
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 255 255
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 255 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 255 255 255 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 255 255 255 0 0 0 255 255 255 255 255 255 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 255 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 255 255 255 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 0 0 255 255 255 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0
diff --git a/libre/linux-libre/logo_linux_vga16.ppm b/libre/linux-libre/logo_linux_vga16.ppm
new file mode 100644
index 000000000..f279f972c
--- /dev/null
+++ b/libre/linux-libre/logo_linux_vga16.ppm
@@ -0,0 +1,18724 @@
+P3
+# CREATOR: GIMP PNM Filter Version 1.1
+80 78
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+85
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+85
+85
+85
+0
+0
+0
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+85
+85
+85
+0
+0
+0
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+85
+85
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+85
+85
+170
+170
+170
+255
+255
+255
+170
+170
+170
+170
+170
+170
+170
+170
+170
+85
+85
+85
+0
+0
+0
+85
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+170
+170
+170
+170
+170
+170
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+170
+170
+170
+255
+255
+255
+170
+170
+170
+85
+85
+85
+170
+170
+170
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+255
+85
+85
+255
+85
+85
+0
+0
+0
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+255
+255
+255
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+0
+0
+0
+0
+0
+0
+255
+85
+85
+0
+0
+0
+85
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+170
+170
+170
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+255
+85
+85
+85
+85
+85
+0
+0
+0
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+0
+0
+0
+85
+85
+85
+255
+85
+85
+0
+0
+0
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+255
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+255
+85
+85
+0
+0
+0
+255
+85
+85
+255
+85
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+85
+85
+85
+0
+0
+0
+255
+85
+85
+0
+0
+0
+85
+85
+85
+255
+85
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+255
+85
+85
+0
+0
+0
+85
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+85
+85
+85
+0
+0
+0
+255
+85
+85
+0
+0
+0
+85
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+85
+85
+85
+0
+0
+0
+255
+85
+85
+0
+0
+0
+85
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+85
+85
+85
+0
+0
+0
+255
+85
+85
+0
+0
+0
+85
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+170
+170
+170
+255
+255
+255
+255
+255
+255
+170
+170
+170
+170
+170
+170
+85
+85
+85
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+170
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+170
+170
+170
+255
+255
+255
+170
+170
+170
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+170
+170
+170
+255
+255
+255
+85
+85
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+85
+85
+85
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+85
+85
+85
+85
+85
+170
+170
+170
+170
+170
+170
+85
+85
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+85
+85
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+255
+85
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+255
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+85
+85
+255
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+255
+255
+255
+170
+170
+170
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+255
+255
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+85
+85
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+170
+170
+170
+0
+0
+0
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+85
+85
+85
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+0
+0
+0
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+85
+85
+85
+0
+0
+0
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+85
+85
+85
+85
+255
+255
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+85
+85
+170
+170
+170
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+170
+170
+170
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+85
+85
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+85
+255
+255
+85
+255
+255
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+255
+255
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
diff --git a/libre/linux-libre/nfs-check-gssd-running-before-krb5i-auth.patch b/libre/linux-libre/nfs-check-gssd-running-before-krb5i-auth.patch
new file mode 100644
index 000000000..be81fec76
--- /dev/null
+++ b/libre/linux-libre/nfs-check-gssd-running-before-krb5i-auth.patch
@@ -0,0 +1,48 @@
+Bugzilla: N/A
+Upstream-status: queued in NFS git tree (for 3.13/3.14?)
+
+Currently, the client will attempt to use krb5i in the SETCLIENTID call
+even if rpc.gssd isn't running. When that fails, it'll then fall back to
+RPC_AUTH_UNIX. This introduced a delay when mounting if rpc.gssd isn't
+running, and causes warning messages to pop up in the ring buffer.
+
+Check to see if rpc.gssd is running before even attempting to use krb5i
+auth, and just silently skip trying to do so if it isn't. In the event
+that the admin is actually trying to mount with krb5*, it will still
+fail at a later stage of the mount attempt.
+
+Signed-off-by: Jeff Layton <jlayton@redhat.com>
+Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
+---
+ fs/nfs/nfs4client.c | 7 ++++++-
+ 1 files changed, 6 insertions(+), 1 deletions(-)
+
+diff -up linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c
+--- linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c.orig 2013-09-02 16:46:10.000000000 -0400
++++ linux-3.11.9-200.fc19.x86_64/fs/nfs/nfs4client.c 2013-11-21 10:20:27.288286000 -0500
+@@ -10,6 +10,7 @@
+ #include <linux/sunrpc/auth.h>
+ #include <linux/sunrpc/xprt.h>
+ #include <linux/sunrpc/bc_xprt.h>
++#include <linux/sunrpc/rpc_pipe_fs.h>
+ #include "internal.h"
+ #include "callback.h"
+ #include "delegation.h"
+@@ -206,7 +207,11 @@ struct nfs_client *nfs4_init_client(stru
+ if (clp->cl_minorversion != 0)
+ __set_bit(NFS_CS_INFINITE_SLOTS, &clp->cl_flags);
+ __set_bit(NFS_CS_DISCRTRY, &clp->cl_flags);
+- error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_GSS_KRB5I);
++
++ error = -EINVAL;
++ if (gssd_running(clp->cl_net))
++ error = nfs_create_rpc_client(clp, timeparms,
++ RPC_AUTH_GSS_KRB5I);
+ if (error == -EINVAL)
+ error = nfs_create_rpc_client(clp, timeparms, RPC_AUTH_UNIX);
+ if (error < 0)
+
+_______________________________________________
+kernel mailing list
+kernel@lists.fedoraproject.org
+https://admin.fedoraproject.org/mailman/listinfo/kernel
diff --git a/libre/linux-libre/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch b/libre/linux-libre/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch
new file mode 100644
index 000000000..ed03f34dd
--- /dev/null
+++ b/libre/linux-libre/rpc_pipe-fix-cleanup-of-dummy-gssd-directory-when-notification-fails.patch
@@ -0,0 +1,50 @@
+Bugzilla: 1037793
+Upstream-status: submitted for 3.14
+
+Currently, it could leak dentry references in some cases. Make sure
+we clean up properly.
+
+Signed-off-by: Jeff Layton <jlayton@redhat.com>
+---
+ net/sunrpc/rpc_pipe.c | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c
+index 5d973b2..b185548 100644
+--- a/net/sunrpc/rpc_pipe.c
++++ b/net/sunrpc/rpc_pipe.c
+@@ -1369,6 +1369,18 @@ out:
+ return pipe_dentry;
+ }
+
++static void
++rpc_gssd_dummy_depopulate(struct dentry *pipe_dentry)
++{
++ struct dentry *clnt_dir = pipe_dentry->d_parent;
++ struct dentry *gssd_dir = clnt_dir->d_parent;
++
++ __rpc_rmpipe(clnt_dir->d_inode, pipe_dentry);
++ __rpc_depopulate(clnt_dir, gssd_dummy_info_file, 0, 1);
++ __rpc_depopulate(gssd_dir, gssd_dummy_clnt_dir, 0, 1);
++ dput(pipe_dentry);
++}
++
+ static int
+ rpc_fill_super(struct super_block *sb, void *data, int silent)
+ {
+@@ -1412,7 +1424,7 @@ rpc_fill_super(struct super_block *sb, void *data, int silent)
+ return 0;
+
+ err_depopulate:
+- dput(gssd_dentry);
++ rpc_gssd_dummy_depopulate(gssd_dentry);
+ blocking_notifier_call_chain(&rpc_pipefs_notifier_list,
+ RPC_PIPEFS_UMOUNT,
+ sb);
+--
+1.8.4.2
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/libre/linux-libre/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch b/libre/linux-libre/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch
new file mode 100644
index 000000000..e4b1a255f
--- /dev/null
+++ b/libre/linux-libre/rpc_pipe-remove-the-clntXX-dir-if-creating-the-pipe-fails.patch
@@ -0,0 +1,32 @@
+Bugzilla: 1037793
+Upstream-status: submitted for 3.14
+
+In the event that we create the gssd/clntXX dir, but the pipe creation
+subsequently fails, then we should remove the clntXX dir before
+returning.
+
+Signed-off-by: Jeff Layton <jlayton@redhat.com>
+---
+ net/sunrpc/rpc_pipe.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c
+index 5cd7ad1..0b74c61 100644
+--- a/net/sunrpc/rpc_pipe.c
++++ b/net/sunrpc/rpc_pipe.c
+@@ -1313,6 +1313,8 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data)
+ }
+
+ pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data);
++ if (IS_ERR(pipe_dentry))
++ __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1);
+ out:
+ dput(clnt_dentry);
+ dput(gssd_dentry);
+--
+1.8.4.2
+
+--
+To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
+the body of a message to majordomo@vger.kernel.org
+More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/libre/linux-libre/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch b/libre/linux-libre/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch
new file mode 100644
index 000000000..dd3b5ba2f
--- /dev/null
+++ b/libre/linux-libre/sunrpc-add-an-info-file-for-the-dummy-gssd-pipe.patch
@@ -0,0 +1,96 @@
+Bugzilla: 1037793
+Upstream-status: submitted for 3.14
+
+rpc.gssd expects to see an "info" file in each clntXX dir. Since adding
+the dummy gssd pipe, users that run rpc.gssd see a lot of these messages
+spamming the logs:
+
+ rpc.gssd[508]: ERROR: can't open /var/lib/nfs/rpc_pipefs/gssd/clntXX/info: No such file or directory
+ rpc.gssd[508]: ERROR: failed to read service info
+
+Add a dummy gssd/clntXX/info file to help silence these messages.
+
+Signed-off-by: Jeff Layton <jlayton@redhat.com>
+---
+ net/sunrpc/rpc_pipe.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 49 insertions(+), 1 deletion(-)
+
+diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c
+index 0b74c61..5d973b2 100644
+--- a/net/sunrpc/rpc_pipe.c
++++ b/net/sunrpc/rpc_pipe.c
+@@ -17,6 +17,7 @@
+ #include <linux/fsnotify.h>
+ #include <linux/kernel.h>
+ #include <linux/rcupdate.h>
++#include <linux/utsname.h>
+
+ #include <asm/ioctls.h>
+ #include <linux/poll.h>
+@@ -1275,6 +1276,44 @@ static const struct rpc_pipe_ops gssd_dummy_pipe_ops = {
+ .downcall = dummy_downcall,
+ };
+
++/*
++ * Here we present a bogus "info" file to keep rpc.gssd happy. We don't expect
++ * that it will ever use this info to handle an upcall, but rpc.gssd expects
++ * that this file will be there and have a certain format.
++ */
++static int
++rpc_show_dummy_info(struct seq_file *m, void *v)
++{
++ seq_printf(m, "RPC server: %s\n", utsname()->nodename);
++ seq_printf(m, "service: foo (1) version 0\n");
++ seq_printf(m, "address: 127.0.0.1\n");
++ seq_printf(m, "protocol: tcp\n");
++ seq_printf(m, "port: 0\n");
++ return 0;
++}
++
++static int
++rpc_dummy_info_open(struct inode *inode, struct file *file)
++{
++ return single_open(file, rpc_show_dummy_info, NULL);
++}
++
++static const struct file_operations rpc_dummy_info_operations = {
++ .owner = THIS_MODULE,
++ .open = rpc_dummy_info_open,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .release = single_release,
++};
++
++static const struct rpc_filelist gssd_dummy_info_file[] = {
++ [0] = {
++ .name = "info",
++ .i_fop = &rpc_dummy_info_operations,
++ .mode = S_IFREG | S_IRUSR,
++ },
++};
++
+ /**
+ * rpc_gssd_dummy_populate - create a dummy gssd pipe
+ * @root: root of the rpc_pipefs filesystem
+@@ -1312,9 +1351,18 @@ rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data)
+ goto out;
+ }
+
++ ret = rpc_populate(clnt_dentry, gssd_dummy_info_file, 0, 1, NULL);
++ if (ret) {
++ __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1);
++ pipe_dentry = ERR_PTR(ret);
++ goto out;
++ }
++
+ pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data);
+- if (IS_ERR(pipe_dentry))
++ if (IS_ERR(pipe_dentry)) {
++ __rpc_depopulate(clnt_dentry, gssd_dummy_info_file, 0, 1);
+ __rpc_depopulate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1);
++ }
+ out:
+ dput(clnt_dentry);
+ dput(gssd_dentry);
+--
+1.8.4.2
diff --git a/libre/linux-libre/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch b/libre/linux-libre/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch
new file mode 100644
index 000000000..805498a70
--- /dev/null
+++ b/libre/linux-libre/sunrpc-create-a-new-dummy-pipe-for-gssd-to-hold-open.patch
@@ -0,0 +1,233 @@
+Bugzilla: N/A
+Upstream-status: queued in NFS git tree (for 3.13/3.14?)
+
+rpc.gssd will naturally hold open any pipe named */clnt*/gssd that shows
+up under rpc_pipefs. That behavior gives us a reliable mechanism to tell
+whether it's actually running or not.
+
+Create a new toplevel "gssd" directory in rpc_pipefs when it's mounted.
+Under that directory create another directory called "clntXX", and then
+within that a pipe called "gssd".
+
+We'll never send an upcall along that pipe, and any downcall written to
+it will just return -EINVAL.
+
+Signed-off-by: Jeff Layton <jlayton@redhat.com>
+Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
+---
+ include/linux/sunrpc/rpc_pipe_fs.h | 3 +-
+ net/sunrpc/netns.h | 1 +
+ net/sunrpc/rpc_pipe.c | 93 ++++++++++++++++++++++++++++++++++-
+ net/sunrpc/sunrpc_syms.c | 8 +++-
+ 4 files changed, 100 insertions(+), 5 deletions(-)
+
+diff -up linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h.orig linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h
+--- linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h.orig 2013-09-02 16:46:10.000000000 -0400
++++ linux-3.11.9-200.fc19.x86_64/include/linux/sunrpc/rpc_pipe_fs.h 2013-11-21 10:11:17.893026000 -0500
+@@ -64,7 +64,8 @@ enum {
+
+ extern struct dentry *rpc_d_lookup_sb(const struct super_block *sb,
+ const unsigned char *dir_name);
+-extern void rpc_pipefs_init_net(struct net *net);
++extern int rpc_pipefs_init_net(struct net *net);
++extern void rpc_pipefs_exit_net(struct net *net);
+ extern struct super_block *rpc_get_sb_net(const struct net *net);
+ extern void rpc_put_sb_net(const struct net *net);
+
+diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h
+--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h.orig 2013-09-02 16:46:10.000000000 -0400
++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/netns.h 2013-11-21 10:11:17.897029000 -0500
+@@ -14,6 +14,7 @@ struct sunrpc_net {
+ struct cache_detail *rsi_cache;
+
+ struct super_block *pipefs_sb;
++ struct rpc_pipe *gssd_dummy;
+ struct mutex pipefs_sb_lock;
+
+ struct list_head all_clients;
+diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c
+--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c.orig 2013-09-02 16:46:10.000000000 -0400
++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/rpc_pipe.c 2013-11-21 10:11:17.903026000 -0500
+@@ -38,7 +38,7 @@
+ #define NET_NAME(net) ((net == &init_net) ? " (init_net)" : "")
+
+ static struct file_system_type rpc_pipe_fs_type;
+-
++static const struct rpc_pipe_ops gssd_dummy_pipe_ops;
+
+ static struct kmem_cache *rpc_inode_cachep __read_mostly;
+
+@@ -1019,6 +1019,7 @@ enum {
+ RPCAUTH_nfsd4_cb,
+ RPCAUTH_cache,
+ RPCAUTH_nfsd,
++ RPCAUTH_gssd,
+ RPCAUTH_RootEOF
+ };
+
+@@ -1055,6 +1056,10 @@ static const struct rpc_filelist files[]
+ .name = "nfsd",
+ .mode = S_IFDIR | S_IRUGO | S_IXUGO,
+ },
++ [RPCAUTH_gssd] = {
++ .name = "gssd",
++ .mode = S_IFDIR | S_IRUGO | S_IXUGO,
++ },
+ };
+
+ /*
+@@ -1068,13 +1073,25 @@ struct dentry *rpc_d_lookup_sb(const str
+ }
+ EXPORT_SYMBOL_GPL(rpc_d_lookup_sb);
+
+-void rpc_pipefs_init_net(struct net *net)
++int rpc_pipefs_init_net(struct net *net)
+ {
+ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id);
+
++ sn->gssd_dummy = rpc_mkpipe_data(&gssd_dummy_pipe_ops, 0);
++ if (IS_ERR(sn->gssd_dummy))
++ return PTR_ERR(sn->gssd_dummy);
++
+ mutex_init(&sn->pipefs_sb_lock);
+ sn->gssd_running = 1;
+ sn->pipe_version = -1;
++ return 0;
++}
++
++void rpc_pipefs_exit_net(struct net *net)
++{
++ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id);
++
++ rpc_destroy_pipe_data(sn->gssd_dummy);
+ }
+
+ /*
+@@ -1104,11 +1121,73 @@ void rpc_put_sb_net(const struct net *ne
+ }
+ EXPORT_SYMBOL_GPL(rpc_put_sb_net);
+
++static const struct rpc_filelist gssd_dummy_clnt_dir[] = {
++ [0] = {
++ .name = "clntXX",
++ .mode = S_IFDIR | S_IRUGO | S_IXUGO,
++ },
++};
++
++static ssize_t
++dummy_downcall(struct file *filp, const char __user *src, size_t len)
++{
++ return -EINVAL;
++}
++
++static const struct rpc_pipe_ops gssd_dummy_pipe_ops = {
++ .upcall = rpc_pipe_generic_upcall,
++ .downcall = dummy_downcall,
++};
++
++/**
++ * rpc_gssd_dummy_populate - create a dummy gssd pipe
++ * @root: root of the rpc_pipefs filesystem
++ * @pipe_data: pipe data created when netns is initialized
++ *
++ * Create a dummy set of directories and a pipe that gssd can hold open to
++ * indicate that it is up and running.
++ */
++static struct dentry *
++rpc_gssd_dummy_populate(struct dentry *root, struct rpc_pipe *pipe_data)
++{
++ int ret = 0;
++ struct dentry *gssd_dentry;
++ struct dentry *clnt_dentry = NULL;
++ struct dentry *pipe_dentry = NULL;
++ struct qstr q = QSTR_INIT(files[RPCAUTH_gssd].name,
++ strlen(files[RPCAUTH_gssd].name));
++
++ /* We should never get this far if "gssd" doesn't exist */
++ gssd_dentry = d_hash_and_lookup(root, &q);
++ if (!gssd_dentry)
++ return ERR_PTR(-ENOENT);
++
++ ret = rpc_populate(gssd_dentry, gssd_dummy_clnt_dir, 0, 1, NULL);
++ if (ret) {
++ pipe_dentry = ERR_PTR(ret);
++ goto out;
++ }
++
++ q.name = gssd_dummy_clnt_dir[0].name;
++ q.len = strlen(gssd_dummy_clnt_dir[0].name);
++ clnt_dentry = d_hash_and_lookup(gssd_dentry, &q);
++ if (!clnt_dentry) {
++ pipe_dentry = ERR_PTR(-ENOENT);
++ goto out;
++ }
++
++ pipe_dentry = rpc_mkpipe_dentry(clnt_dentry, "gssd", NULL, pipe_data);
++out:
++ dput(clnt_dentry);
++ dput(gssd_dentry);
++ return pipe_dentry;
++}
++
+ static int
+ rpc_fill_super(struct super_block *sb, void *data, int silent)
+ {
+ struct inode *inode;
+- struct dentry *root;
++ struct dentry *root, *gssd_dentry;
+ struct net *net = data;
+ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id);
+ int err;
+@@ -1126,6 +1205,13 @@ rpc_fill_super(struct super_block *sb, v
+ return -ENOMEM;
+ if (rpc_populate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF, NULL))
+ return -ENOMEM;
++
++ gssd_dentry = rpc_gssd_dummy_populate(root, sn->gssd_dummy);
++ if (IS_ERR(gssd_dentry)) {
++ __rpc_depopulate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF);
++ return PTR_ERR(gssd_dentry);
++ }
++
+ dprintk("RPC: sending pipefs MOUNT notification for net %p%s\n",
+ net, NET_NAME(net));
+ mutex_lock(&sn->pipefs_sb_lock);
+@@ -1140,6 +1226,7 @@ rpc_fill_super(struct super_block *sb, v
+ return 0;
+
+ err_depopulate:
++ dput(gssd_dentry);
+ blocking_notifier_call_chain(&rpc_pipefs_notifier_list,
+ RPC_PIPEFS_UMOUNT,
+ sb);
+diff -up linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c.orig linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c
+--- linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c.orig 2013-09-02 16:46:10.000000000 -0400
++++ linux-3.11.9-200.fc19.x86_64/net/sunrpc/sunrpc_syms.c 2013-11-21 10:11:17.908026000 -0500
+@@ -44,12 +44,17 @@ static __net_init int sunrpc_init_net(st
+ if (err)
+ goto err_unixgid;
+
+- rpc_pipefs_init_net(net);
++ err = rpc_pipefs_init_net(net);
++ if (err)
++ goto err_pipefs;
++
+ INIT_LIST_HEAD(&sn->all_clients);
+ spin_lock_init(&sn->rpc_client_lock);
+ spin_lock_init(&sn->rpcb_clnt_lock);
+ return 0;
+
++err_pipefs:
++ unix_gid_cache_destroy(net);
+ err_unixgid:
+ ip_map_cache_destroy(net);
+ err_ipmap:
+@@ -60,6 +65,7 @@ err_proc:
+
+ static __net_exit void sunrpc_exit_net(struct net *net)
+ {
++ rpc_pipefs_exit_net(net);
+ unix_gid_cache_destroy(net);
+ ip_map_cache_destroy(net);
+ rpc_proc_exit(net);
+
diff --git a/libre/linux-libre/sunrpc-replace-gssd_running-with-more-reliable-check.patch b/libre/linux-libre/sunrpc-replace-gssd_running-with-more-reliable-check.patch
new file mode 100644
index 000000000..8cd5c0090
--- /dev/null
+++ b/libre/linux-libre/sunrpc-replace-gssd_running-with-more-reliable-check.patch
@@ -0,0 +1,139 @@
+Bugzilla: N/A
+Upstream-status: queued in NFS git tree (for 3.13/3.14?)
+
+Now that we have a more reliable method to tell if gssd is running, we
+can replace the sn->gssd_running flag with a function that will query to
+see if it's up and running.
+
+There's also no need to attempt an upcall that we know will fail, so
+just return -EACCES if gssd isn't running. Finally, fix the warn_gss()
+message not to claim that that the upcall timed out since we don't
+necesarily perform one now when gssd isn't running, and remove the
+extraneous newline from the message.
+
+Signed-off-by: Jeff Layton <jlayton@redhat.com>
+Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
+---
+ Fixed up to apply to 3.12.1 by Josh Boyer <jwboyer@fedoraproject.org>
+
+ include/linux/sunrpc/rpc_pipe_fs.h | 2 ++
+ net/sunrpc/auth_gss/auth_gss.c | 17 +++++++----------
+ net/sunrpc/netns.h | 2 --
+ net/sunrpc/rpc_pipe.c | 14 ++++++++++----
+ 4 files changed, 19 insertions(+), 16 deletions(-)
+
+diff --git a/include/linux/sunrpc/rpc_pipe_fs.h b/include/linux/sunrpc/rpc_pipe_fs.h
+index 85f1342..7f490be 100644
+--- a/include/linux/sunrpc/rpc_pipe_fs.h
++++ b/include/linux/sunrpc/rpc_pipe_fs.h
+@@ -131,5 +131,7 @@ extern int rpc_unlink(struct dentry *);
+ extern int register_rpc_pipefs(void);
+ extern void unregister_rpc_pipefs(void);
+
++extern bool gssd_running(struct net *net);
++
+ #endif
+ #endif
+diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c
+index 0846566..1ada878 100644
+--- a/net/sunrpc/auth_gss/auth_gss.c
++++ b/net/sunrpc/auth_gss/auth_gss.c
+@@ -517,8 +517,7 @@ static void warn_gssd(void)
+ unsigned long now = jiffies;
+
+ if (time_after(now, ratelimit)) {
+- printk(KERN_WARNING "RPC: AUTH_GSS upcall timed out.\n"
+- "Please check user daemon is running.\n");
++ pr_warn("RPC: AUTH_GSS upcall failed. Please check user daemon is running.\n");
+ ratelimit = now + 15*HZ;
+ }
+ }
+@@ -581,7 +580,6 @@ gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred)
+ struct rpc_pipe *pipe;
+ struct rpc_cred *cred = &gss_cred->gc_base;
+ struct gss_upcall_msg *gss_msg;
+- unsigned long timeout;
+ DEFINE_WAIT(wait);
+ int err;
+
+@@ -589,17 +587,16 @@ gss_create_upcall(struct gss_auth *gss_auth, struct gss_cred *gss_cred)
+ __func__, from_kuid(&init_user_ns, cred->cr_uid));
+ retry:
+ err = 0;
+- /* Default timeout is 15s unless we know that gssd is not running */
+- timeout = 15 * HZ;
+- if (!sn->gssd_running)
+- timeout = HZ >> 2;
++ /* if gssd is down, just skip upcalling altogether */
++ if (!gssd_running(net)) {
++ warn_gssd();
++ return -EACCES;
++ }
+ gss_msg = gss_setup_upcall(gss_auth, cred);
+ if (PTR_ERR(gss_msg) == -EAGAIN) {
+ err = wait_event_interruptible_timeout(pipe_version_waitqueue,
+- sn->pipe_version >= 0, timeout);
++ sn->pipe_version >= 0, 15 * HZ);
+ if (sn->pipe_version < 0) {
+- if (err == 0)
+- sn->gssd_running = 0;
+ warn_gssd();
+ err = -EACCES;
+ }
+diff --git a/net/sunrpc/netns.h b/net/sunrpc/netns.h
+index 8a8e841..94e506f 100644
+--- a/net/sunrpc/netns.h
++++ b/net/sunrpc/netns.h
+@@ -33,8 +33,6 @@ struct sunrpc_net {
+ int pipe_version;
+ atomic_t pipe_users;
+ struct proc_dir_entry *use_gssp_proc;
+-
+- unsigned int gssd_running;
+ };
+
+ extern int sunrpc_net_id;
+diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c
+index 40aef18..ad444f3 100644
+--- a/net/sunrpc/rpc_pipe.c
++++ b/net/sunrpc/rpc_pipe.c
+@@ -216,14 +216,11 @@ rpc_destroy_inode(struct inode *inode)
+ static int
+ rpc_pipe_open(struct inode *inode, struct file *filp)
+ {
+- struct net *net = inode->i_sb->s_fs_info;
+- struct sunrpc_net *sn = net_generic(net, sunrpc_net_id);
+ struct rpc_pipe *pipe;
+ int first_open;
+ int res = -ENXIO;
+
+ mutex_lock(&inode->i_mutex);
+- sn->gssd_running = 1;
+ pipe = RPC_I(inode)->pipe;
+ if (pipe == NULL)
+ goto out;
+@@ -1231,7 +1228,6 @@ int rpc_pipefs_init_net(struct net *net)
+ return PTR_ERR(sn->gssd_dummy);
+
+ mutex_init(&sn->pipefs_sb_lock);
+- sn->gssd_running = 1;
+ sn->pipe_version = -1;
+ return 0;
+ }
+@@ -1385,6 +1381,16 @@ err_depopulate:
+ return err;
+ }
+
++bool
++gssd_running(struct net *net)
++{
++ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id);
++ struct rpc_pipe *pipe = sn->gssd_dummy;
++
++ return pipe->nreaders || pipe->nwriters;
++}
++EXPORT_SYMBOL_GPL(gssd_running);
++
+ static struct dentry *
+ rpc_mount(struct file_system_type *fs_type,
+ int flags, const char *dev_name, void *data)
diff --git a/libre/lirc-libre/PKGBUILD b/libre/lirc-libre/PKGBUILD
index 277f31c7c..66ca49ac6 100644
--- a/libre/lirc-libre/PKGBUILD
+++ b/libre/lirc-libre/PKGBUILD
@@ -6,7 +6,7 @@ _pkgbase=lirc
pkgbase=lirc-libre
pkgname=('lirc-libre' 'lirc-libre-utils')
pkgver=0.9.0
-pkgrel=69
+pkgrel=69.1
epoch=1
_extramodules=extramodules-3.12-LIBRE
arch=('i686' 'x86_64' 'mips64el')
@@ -84,7 +84,7 @@ build() {
package_lirc-libre() {
pkgdesc="Linux Infrared Remote Control kernel modules for stock kernel (built for the linux-libre kernel package)"
- depends=('lirc-utils-libre' 'linux-libre>=3.12' 'linux-libre<3.13')
+ depends=('lirc-libre-utils' 'linux-libre>=3.12' 'linux-libre<3.13')
replaces=('lirc' 'lirc+pctv')
conflicts=('lirc')
provides=("lirc=$pkgver")
@@ -100,7 +100,7 @@ package_lirc-libre() {
}
package_lirc-libre-utils() {
- pkgdesc="Linux Infrared Remote Control utils"
+ pkgdesc="Linux Infrared Remote Control utils (built for the linux-libre kernel package)"
depends=('alsa-lib' 'libx11' 'libftdi-compat' 'libirman')
optdepends=('python2: pronto2lirc utility')
options=('strip')
diff --git a/libre/lirc-libre/irexec.service b/libre/lirc-libre/irexec.service
new file mode 100644
index 000000000..5d7915b29
--- /dev/null
+++ b/libre/lirc-libre/irexec.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=IR Exec
+After=lirc.service
+Wants=lirc.service
+
+[Service]
+ExecStart=/usr/bin/irexec --daemon
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/lirc-libre/kernel-2.6.39.patch b/libre/lirc-libre/kernel-2.6.39.patch
new file mode 100644
index 000000000..7353d61ca
--- /dev/null
+++ b/libre/lirc-libre/kernel-2.6.39.patch
@@ -0,0 +1,54 @@
+diff -ru lirc-0.9.0/drivers//lirc_atiusb/lirc_atiusb.c lirc-0.9.0.new/drivers//lirc_atiusb/lirc_atiusb.c
+--- lirc-0.9.0/drivers//lirc_atiusb/lirc_atiusb.c 2011-03-25 23:28:18.000000000 +0100
++++ lirc-0.9.0.new/drivers//lirc_atiusb/lirc_atiusb.c 2011-06-07 17:02:20.356580306 +0200
+@@ -48,7 +48,6 @@
+ #include <linux/slab.h>
+ #include <linux/module.h>
+ #include <linux/kmod.h>
+-#include <linux/smp_lock.h>
+ #include <linux/completion.h>
+ #include <linux/uaccess.h>
+ #include <linux/usb.h>
+diff -ru lirc-0.9.0/drivers//lirc_i2c/lirc_i2c.c lirc-0.9.0.new/drivers//lirc_i2c/lirc_i2c.c
+--- lirc-0.9.0/drivers//lirc_i2c/lirc_i2c.c 2011-03-25 23:28:18.000000000 +0100
++++ lirc-0.9.0.new/drivers//lirc_i2c/lirc_i2c.c 2011-06-07 17:04:19.725933627 +0200
+@@ -555,8 +555,8 @@
+ kfree(ir);
+ return -EINVAL;
+ }
+- printk(KERN_INFO "lirc_i2c: chip 0x%x found @ 0x%02x (%s)\n",
+- adap->id, addr, ir->c.name);
++ printk(KERN_INFO "lirc_i2c: chip found @ 0x%02x (%s)\n",
++ addr, ir->c.name);
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
+ /* register device */
+diff -ru lirc-0.9.0/drivers//lirc_wpc8769l/lirc_wpc8769l.c lirc-0.9.0.new/drivers//lirc_wpc8769l/lirc_wpc8769l.c
+--- lirc-0.9.0/drivers//lirc_wpc8769l/lirc_wpc8769l.c 2011-03-25 23:28:18.000000000 +0100
++++ lirc-0.9.0.new/drivers//lirc_wpc8769l/lirc_wpc8769l.c 2011-06-07 17:07:23.984935411 +0200
+@@ -361,14 +361,14 @@
+ size = count << 3;
+
+ ldata = (unsigned long *) data_buf;
+- next_one = generic_find_next_le_bit(ldata, size, 0);
++ next_one = find_next_zero_bit_le(ldata, size, 0);
+
+ if (next_one > 0)
+ put_pulse_bit(next_one
+ * WPC8769L_USECS_PER_BIT);
+
+ while (next_one < size) {
+- next_zero = generic_find_next_zero_le_bit(ldata,
++ next_zero = find_next_zero_bit_le(ldata,
+ size, next_one + 1);
+
+ put_space_bit(
+@@ -376,7 +376,7 @@
+ * WPC8769L_USECS_PER_BIT);
+
+ if (next_zero < size) {
+- next_one = generic_find_next_le_bit(ldata,
++ next_one = find_next_bit_le(ldata,
+ size, next_zero + 1);
+
+ put_pulse_bit(
diff --git a/libre/lirc-libre/linux-3.8.patch b/libre/lirc-libre/linux-3.8.patch
new file mode 100644
index 000000000..7b6378a83
--- /dev/null
+++ b/libre/lirc-libre/linux-3.8.patch
@@ -0,0 +1,80 @@
+diff -upr lirc-0.9.0.orig/drivers/lirc_serial/lirc_serial.c lirc-0.9.0/drivers/lirc_serial/lirc_serial.c
+--- lirc-0.9.0.orig/drivers/lirc_serial/lirc_serial.c 2013-02-21 02:36:25.000000000 +0200
++++ lirc-0.9.0/drivers/lirc_serial/lirc_serial.c 2013-02-21 02:39:55.000000000 +0200
+@@ -1103,12 +1103,12 @@ static struct lirc_driver driver = {
+
+ static struct platform_device *lirc_serial_dev;
+
+-static int __devinit lirc_serial_probe(struct platform_device *dev)
++static int lirc_serial_probe(struct platform_device *dev)
+ {
+ return 0;
+ }
+
+-static int __devexit lirc_serial_remove(struct platform_device *dev)
++static int lirc_serial_remove(struct platform_device *dev)
+ {
+ return 0;
+ }
+@@ -1159,7 +1159,7 @@ static int lirc_serial_resume(struct pla
+
+ static struct platform_driver lirc_serial_driver = {
+ .probe = lirc_serial_probe,
+- .remove = __devexit_p(lirc_serial_remove),
++ .remove = lirc_serial_remove,
+ .suspend = lirc_serial_suspend,
+ .resume = lirc_serial_resume,
+ .driver = {
+diff -upr lirc-0.9.0.orig/drivers/lirc_sir/lirc_sir.c lirc-0.9.0/drivers/lirc_sir/lirc_sir.c
+--- lirc-0.9.0.orig/drivers/lirc_sir/lirc_sir.c 2013-02-21 02:36:25.000000000 +0200
++++ lirc-0.9.0/drivers/lirc_sir/lirc_sir.c 2013-02-21 02:38:24.000000000 +0200
+@@ -1290,19 +1290,19 @@ static int init_lirc_sir(void)
+ return 0;
+ }
+
+-static int __devinit lirc_sir_probe(struct platform_device *dev)
++static int lirc_sir_probe(struct platform_device *dev)
+ {
+ return 0;
+ }
+
+-static int __devexit lirc_sir_remove(struct platform_device *dev)
++static int lirc_sir_remove(struct platform_device *dev)
+ {
+ return 0;
+ }
+
+ static struct platform_driver lirc_sir_driver = {
+ .probe = lirc_sir_probe,
+- .remove = __devexit_p(lirc_sir_remove),
++ .remove = lirc_sir_remove,
+ .driver = {
+ .name = "lirc_sir",
+ .owner = THIS_MODULE,
+diff -upr lirc-0.9.0.orig/drivers/lirc_wpc8769l/lirc_wpc8769l.c lirc-0.9.0/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+--- lirc-0.9.0.orig/drivers/lirc_wpc8769l/lirc_wpc8769l.c 2013-02-21 02:36:25.000000000 +0200
++++ lirc-0.9.0/drivers/lirc_wpc8769l/lirc_wpc8769l.c 2013-02-21 02:39:39.000000000 +0200
+@@ -930,12 +930,12 @@ static int wpc8769l_acpi_detect(void)
+ #ifdef MODULE
+ static struct platform_device *lirc_wpc8769l_platform_dev;
+
+-static int __devinit lirc_wpc8769l_probe(struct platform_device *dev)
++static int lirc_wpc8769l_probe(struct platform_device *dev)
+ {
+ return 0;
+ }
+
+-static int __devexit lirc_wpc8769l_remove(struct platform_device *dev)
++static int lirc_wpc8769l_remove(struct platform_device *dev)
+ {
+ return 0;
+ }
+@@ -963,7 +963,7 @@ static int lirc_wpc8769l_resume(struct p
+
+ static struct platform_driver lirc_wpc8769l_platform_driver = {
+ .probe = lirc_wpc8769l_probe,
+- .remove = __devexit_p(lirc_wpc8769l_remove),
++ .remove = lirc_wpc8769l_remove,
+ .suspend = lirc_wpc8769l_suspend,
+ .resume = lirc_wpc8769l_resume,
+ .driver = {
diff --git a/libre/lirc-libre/lirc-utils.install b/libre/lirc-libre/lirc-utils.install
new file mode 100644
index 000000000..293d1ed7c
--- /dev/null
+++ b/libre/lirc-libre/lirc-utils.install
@@ -0,0 +1,7 @@
+post_install() {
+ systemd-tmpfiles --create lirc.conf
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/libre/lirc-libre/lirc.install b/libre/lirc-libre/lirc.install
new file mode 100644
index 000000000..50e7566f9
--- /dev/null
+++ b/libre/lirc-libre/lirc.install
@@ -0,0 +1,16 @@
+EXTRAMODULES=extramodules-3.12-LIBRE
+
+post_install() {
+ # updating module dependencies
+ echo ">>> Updating module dependencies. Please wait ..."
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) > /dev/null 2>&1
+}
+
+post_upgrade() {
+ post_install
+}
+
+# arg 1: the old package version
+post_remove() {
+ post_install
+}
diff --git a/libre/lirc-libre/lirc.logrotate b/libre/lirc-libre/lirc.logrotate
new file mode 100644
index 000000000..623c4f328
--- /dev/null
+++ b/libre/lirc-libre/lirc.logrotate
@@ -0,0 +1,5 @@
+/var/log/lircd {
+ missingok
+ notifempty
+ delaycompress
+}
diff --git a/libre/lirc-libre/lirc.service b/libre/lirc-libre/lirc.service
new file mode 100644
index 000000000..a797d1661
--- /dev/null
+++ b/libre/lirc-libre/lirc.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Linux Infrared Remote Control
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/lirc/lircd.pid
+ExecStart=/usr/sbin/lircd --driver=default --device=/dev/lirc0
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/libre/lirc-libre/lirc.tmpfiles b/libre/lirc-libre/lirc.tmpfiles
new file mode 100644
index 000000000..0b80e2e47
--- /dev/null
+++ b/libre/lirc-libre/lirc.tmpfiles
@@ -0,0 +1 @@
+d /run/lirc 0755 root root -
diff --git a/libre/lirc-libre/lirc_atiusb-kfifo.patch b/libre/lirc-libre/lirc_atiusb-kfifo.patch
new file mode 100644
index 000000000..a64984dce
--- /dev/null
+++ b/libre/lirc-libre/lirc_atiusb-kfifo.patch
@@ -0,0 +1,31 @@
+From ec3c5660e67c122e2d5eb9cfa838c9709fccf8e0 Mon Sep 17 00:00:00 2001
+From: Jason Martin <publicmsu@gmail.com>
+Date: Fri, 3 Jun 2011 00:12:51 -0400
+Subject: [PATCH] lirc_atiusb: fix buffer alloc to work with new kfifo
+
+I came across posts with regards to lirc_atiusb and its compatibility
+with newer kernels, and their use of kfifo.I spent a little bit of time
+this evening, and was able to correct the issues with the driver, and
+now have a functioning lirc_atiusb device under the 2.6.38 kernel.
+
+Signed-off-by: Jarod Wilson <jarod@redhat.com>
+---
+ drivers/lirc_atiusb/lirc_atiusb.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/lirc_atiusb/lirc_atiusb.c b/drivers/lirc_atiusb/lirc_atiusb.c
+index 52080de..bf2b631 100644
+--- a/drivers/lirc_atiusb/lirc_atiusb.c
++++ b/drivers/lirc_atiusb/lirc_atiusb.c
+@@ -1048,7 +1048,7 @@ static struct atirf_dev *new_irctl(struct usb_interface *intf)
+ goto new_irctl_failure_check;
+ }
+
+- if (lirc_buffer_init(driver->rbuf, dclen, 1)) {
++ if (lirc_buffer_init(driver->rbuf, dclen, 2)) {
+ mem_failure = 4;
+ goto new_irctl_failure_check;
+ }
+--
+1.7.0.1
+
diff --git a/libre/lirc-libre/lirc_wpc8769l.patch b/libre/lirc-libre/lirc_wpc8769l.patch
new file mode 100644
index 000000000..e4e2a049b
--- /dev/null
+++ b/libre/lirc-libre/lirc_wpc8769l.patch
@@ -0,0 +1,88 @@
+From 413e83bf504fe9a9a177f27742220cfcb184b034 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Juan=20Jes=C3=BAs=20Garc=C3=ADa=20de=20Soria=20Lucena?= <skandalfo@gmail.com>
+Date: Wed, 30 Mar 2011 16:46:35 -0400
+Subject: [PATCH] Make lirc_wpc8769l functional again
+
+Signed-off-by: Jarod Wilson <jarod@redhat.com>
+---
+ drivers/lirc_wpc8769l/lirc_wpc8769l.c | 28 +++++++++++++++++-----------
+ 1 files changed, 17 insertions(+), 11 deletions(-)
+
+diff --git a/drivers/lirc_wpc8769l/lirc_wpc8769l.c b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+index f820d11..4d04063 100644
+--- a/drivers/lirc_wpc8769l/lirc_wpc8769l.c
++++ b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+@@ -816,10 +816,6 @@ static int set_use_inc(void *data)
+ /* Reset last timeout value. */
+ lastus = 0;
+
+- /* Init the read buffer. */
+- if (lirc_buffer_init(&rbuf, sizeof(lirc_t), RBUF_LEN) < 0)
+- return -ENOMEM;
+-
+ /* Acquire the IRQ. */
+ result = request_irq(irq, irq_handler,
+ IRQF_DISABLED | IRQF_SHARED,
+@@ -863,9 +859,6 @@ static void set_use_dec(void *data)
+ /* Free the IRQ. */
+ free_irq(irq, THIS_MODULE);
+ dprintk("Freed IRQ %d\n", irq);
+-
+- /* Free the RX buffer. */
+- lirc_buffer_free(&rbuf);
+ }
+
+ static struct lirc_driver driver = {
+@@ -1065,19 +1058,29 @@ static int __init lirc_wpc8769l_module_init(void)
+ /* Do load-time checks. */
+ wpc8769l_power_up_and_check_if_we_woke_us_up();
+
++ /* Init the read buffer. */
++ if (lirc_buffer_init(&rbuf, sizeof(lirc_t), RBUF_LEN) < 0) {
++ rc = -ENOMEM;
++ goto exit_platform_exit;
++ }
++
+ /* Configure the driver hooks. */
+ driver.features = LIRC_CAN_REC_MODE2;
++ driver.dev = &lirc_wpc8769l_platform_dev->dev;
+ driver.minor = lirc_register_driver(&driver);
+ if (driver.minor < 0) {
+ eprintk("lirc_register_driver failed!\n");
+ rc = -EIO;
+- goto exit_platform_exit;
++ goto exit_release_buffer;
+ }
+
+ iprintk("Driver loaded.\n");
+
+ return 0; /* Everything OK. */
+
++exit_release_buffer:
++ lirc_buffer_free(&rbuf);
++
+ exit_platform_exit:
+ lirc_wpc8769l_platform_exit();
+
+@@ -1095,12 +1098,15 @@ module_init(lirc_wpc8769l_module_init);
+
+ static void __exit lirc_wpc8769l_module_exit(void)
+ {
+- /* Unregister the platform driver and device. */
+- lirc_wpc8769l_platform_exit();
+-
+ /* Unregister the LIRC driver. */
+ lirc_unregister_driver(driver.minor);
+
++ /* Free the buffer. */
++ lirc_buffer_free(&rbuf);
++
++ /* Unregister the platform driver and device. */
++ lirc_wpc8769l_platform_exit();
++
+ /* Release the second range. */
+ if (baseport2)
+ release_region(baseport2, WPC8769L_IO_REGION_2_SIZE);
+--
+1.7.0.1
+
diff --git a/libre/lirc-libre/lircd-handle-large-config.patch b/libre/lirc-libre/lircd-handle-large-config.patch
new file mode 100644
index 000000000..85bc20518
--- /dev/null
+++ b/libre/lirc-libre/lircd-handle-large-config.patch
@@ -0,0 +1,39 @@
+From 5efb56bf22a5077db564c766ba7cc37bc269231d Mon Sep 17 00:00:00 2001
+From: Jarod Wilson <jarod@redhat.com>
+Date: Wed, 6 Apr 2011 11:04:12 -0400
+Subject: [PATCH] lircd: handle larger config files in write_socket better
+
+Pointed out by Michael Zanetti on list, irsend LIST has issues with long
+config files, which didn't exist in maintainer mode, as we were using a
+do while loop to make sure we spit out everything. Just use that loop
+all the time.
+
+Signed-off-by: Jarod Wilson <jarod@redhat.com>
+---
+ daemons/lircd.c | 8 ++------
+ 1 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/daemons/lircd.c b/daemons/lircd.c
+index 6c21a3a..ddcca05 100644
+--- a/daemons/lircd.c
++++ b/daemons/lircd.c
+@@ -231,14 +231,10 @@ inline int write_socket(int fd, const char *buf, int len)
+ int done, todo = len;
+
+ while (todo) {
+-#ifdef SIM_REC
+ do {
+ done = write(fd, buf, todo);
+- }
+- while (done < 0 && errno == EAGAIN);
+-#else
+- done = write(fd, buf, todo);
+-#endif
++ } while (done < 0 && errno == EAGAIN);
++
+ if (done <= 0)
+ return (done);
+ buf += done;
+--
+1.7.0.1
+
diff --git a/libre/lirc-libre/lircm.service b/libre/lirc-libre/lircm.service
new file mode 100644
index 000000000..c0b5e36b7
--- /dev/null
+++ b/libre/lirc-libre/lircm.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=LIRC Mouse
+Requires=lirc.service
+After=network.target lirc.service
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/lircmd
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/libre/lsb-release/PKGBUILD b/libre/lsb-release/PKGBUILD
new file mode 100644
index 000000000..c6cbe5863
--- /dev/null
+++ b/libre/lsb-release/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 101477 2013-11-26 10:23:04Z svenstaro $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: Malte Rabenseifner <malte@zearan.de>
+# Contributor: John Gerritse <reaphsharc@gmail.com>
+# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
+# Contributor (Parabola): André Silva emulatorman@parabola.nu>
+
+pkgname=lsb-release
+pkgver=1.4
+pkgrel=14.2
+pkgdesc="LSB version query program (Parabola rebranded)"
+arch=('any')
+url="http://www.linuxbase.org/"
+license=('GPL2')
+depends=('bash')
+provides=('lsb-release-libre')
+conflicts=('lsb-release-libre')
+replaces=('lsb-release-libre')
+install=lsb-release.install
+source=(http://downloads.sourceforge.net/lsb/$pkgname-$pkgver.tar.gz
+ lsb_release_description.patch)
+md5sums=('30537ef5a01e0ca94b7b8eb6a36bb1e4'
+ '72f562d8eaa8915ab85fba13e68c8d68')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ patch -Np0 < "$srcdir/lsb_release_description.patch"
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -dm755 "$pkgdir/etc"
+ echo "LSB_VERSION=$pkgver" >> "$pkgdir/etc/lsb-release"
+ echo "DISTRIB_ID=Parabola" > "$pkgdir/etc/lsb-release"
+ echo "DISTRIB_RELEASE=rolling" >> "$pkgdir/etc/lsb-release"
+ echo "DISTRIB_DESCRIPTION=\"Parabola GNU/Linux-libre\"" >> "$pkgdir/etc/lsb-release"
+
+ install -Dm 644 lsb_release.1.gz "$pkgdir/usr/share/man/man1/lsb_release.1.gz"
+ install -Dm 755 lsb_release "$pkgdir/usr/bin/lsb_release"
+}
diff --git a/libre/lsb-release/lsb-release.install b/libre/lsb-release/lsb-release.install
new file mode 100644
index 000000000..261df2a73
--- /dev/null
+++ b/libre/lsb-release/lsb-release.install
@@ -0,0 +1,12 @@
+post_install() {
+ echo "Parabola GNU/Linux-libre release" >> /etc/parabola-release
+}
+
+post_upgrade() {
+ sed -e '/Parabola GNU\/Linux-[Ll]ibre release/d' -i /etc/parabola-release
+ echo "Parabola GNU/Linux-libre release" >> /etc/parabola-release
+}
+
+pre_remove() {
+ sed -e '/Parabola GNU\/Linux-[Ll]ibre release/d' -i /etc/parabola-release
+}
diff --git a/libre/lsb-release/lsb_release_description.patch b/libre/lsb-release/lsb_release_description.patch
new file mode 100644
index 000000000..d46835b97
--- /dev/null
+++ b/libre/lsb-release/lsb_release_description.patch
@@ -0,0 +1,11 @@
+--- lsb_release.orig 2012-11-13 05:12:02.000000000 -0800
++++ lsb_release 2013-11-24 17:13:55.943608718 -0800
+@@ -216,7 +216,7 @@
+ TMP_DISTRIB_DESC=$DISTRIB_DESCRIPTION
+ fi
+
+- if [ -z "$TMP_DISTRIB_DESC" ] # head or lsb-release init
++ if [ -z "$DISTRIB_DESCRIPTION" ] # head or lsb-release init
+ then # file contains no data
+ DISTRIB_DESCRIPTION=$MSG_NONE
+ NO="y"
diff --git a/libre/luxrender-libre/PKGBUILD b/libre/luxrender-libre/PKGBUILD
new file mode 100644
index 000000000..86f9c296c
--- /dev/null
+++ b/libre/luxrender-libre/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id$
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+# Contributor: flixie <69one@gmx.net>
+# Contributor: Imanol Celaya <ornitorrincos@archlinux-es.org>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+_pkgname=luxrender
+pkgname=$_pkgname-libre
+pkgver=1.3.1
+_pkgver=d0b0e20c47cc
+pkgrel=3
+pkgdesc="Rendering system for physically correct, unbiased image synthesis, without nonfree OpenCL recommendation"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.$_pkgname.net/"
+license=('GPL')
+depends=('boost-libs' 'freeimage' 'openexr' 'mesa-libcl' 'mesa-libgl' 'fftw')
+optdepends=('blender-addon-luxrender: Blender for renderer and exporter' 'qt4: Qt GUI' \
+ 'python: Python interface (pylux)')
+makedepends=('cmake' 'boost' 'mesa' 'qt4' "luxrays=$pkgver" 'python' 'opencl-headers' \
+ 'clang')
+provides=($_pkgname=$pkgver)
+conflicts=$_pkgname
+replaces=$_pkgname
+source=(https://bitbucket.org/$_pkgname/lux/get/$_pkgver.tar.bz2 \
+ force_python3.diff)
+md5sums=('cbe749f56a1e1976745f5458100efa8a'
+ '42692e65eabc5828693e2682e94b7c64')
+
+prepare() {
+ cd "$srcdir"/$_pkgname-lux-$_pkgver
+
+ patch -Np1 < "$srcdir/force_python3.diff" || true
+}
+
+build() {
+ cd "$srcdir"/$_pkgname-lux-$_pkgver
+
+ export CC=clang
+ export CXX=clang++
+ export CXXFLAGS="$CXXFLAGS -lpthread"
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLUXRAYS_DISABLE_OPENCL=OFF \
+ -DPYTHON_CUSTOM=ON \
+ -DPYTHON_LIBRARIES=/usr/lib/libpython3.3m.so \
+ -DPYTHON_INCLUDE_PATH=/usr/include/python3.3m
+ make
+}
+
+package() {
+ cd "$srcdir"/$_pkgname-lux-$_pkgver
+ make DESTDIR="$pkgdir" install
+
+ # fix library path on 64bit
+ [[ $CARCH == x86_64 ]] && mv "$pkgdir"/usr/lib64 "$pkgdir"/usr/lib
+
+ #install pylux
+ install -D -m644 pylux.so "$pkgdir"/usr/lib/python3.3/pylux.so
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/luxrender-libre/force_python3.diff b/libre/luxrender-libre/force_python3.diff
new file mode 100644
index 000000000..1ee61e872
--- /dev/null
+++ b/libre/luxrender-libre/force_python3.diff
@@ -0,0 +1,12 @@
+diff -rup luxrender-lux-d0b0e20c47cc/cmake/Dependencies.cmake luxrender-lux-d0b0e20c47cc.new/cmake/Dependencies.cmake
+--- luxrender-lux-d0b0e20c47cc/cmake/Dependencies.cmake 2013-11-04 22:25:45.000000000 +0100
++++ luxrender-lux-d0b0e20c47cc.new/cmake/Dependencies.cmake 2013-12-05 19:43:23.414625854 +0100
+@@ -156,7 +156,7 @@ IF(MSVC AND BOOST_python_LIBRARYDIR)
+ SET(BOOST_LIBRARYDIR "${BOOST_python_LIBRARYDIR}")
+ ENDIF(MSVC AND BOOST_python_LIBRARYDIR)
+
+-FIND_PACKAGE(Boost ${Boost_MINIMUM_VERSION} COMPONENTS python REQUIRED)
++FIND_PACKAGE(Boost ${Boost_MINIMUM_VERSION} COMPONENTS python3 REQUIRED)
+
+ IF(MSVC AND BOOST_python_LIBRARYDIR)
+ SET(BOOST_LIBRARYDIR "${_boost_libdir}")
diff --git a/libre/makepkg-git/PKGBUILD b/libre/makepkg-git/PKGBUILD
new file mode 100644
index 000000000..60453a927
--- /dev/null
+++ b/libre/makepkg-git/PKGBUILD
@@ -0,0 +1,49 @@
+# vim: set ts=2 sw=2 et:
+# $Id: PKGBUILD 150148 2012-02-13 14:49:35Z dreisner $
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer (Arch): Dan McGee <dan@archlinux.org>
+# Maintainer (Arch): Dave Reisner <dave@archlinux.org>
+
+_pkgname=pacman
+pkgname=makepkg-git
+_relver=4.0.3
+_gitver=2abe1f16461133c0dc386f8ecb8b06865c22940b
+pkgver=${_relver}.git
+
+provides=($_pkgname=$pkgver)
+replaces=(pacman-makepkg-git)
+conflicts=(pacman-makepkg-git)
+
+pkgrel=2
+
+pkgdesc="Pacman's makepkg, built from git sources"
+#arch=('i686' 'x86_64' 'mips64el')
+arch=('any')
+url="http://www.archlinux.org/pacman/"
+license=('GPL')
+#groups=('base')
+depends=('bash' 'libarchive>=3.0.2' 'curl>=7.19.4' 'gpgme')
+makedepends=('asciidoc')
+optdepends=('fakeroot: for makepkg usage as normal user')
+#backup=(etc/pacman.conf etc/makepkg.conf)
+#install=pacman.install
+options=(!libtool)
+source=(https://projects.archlinux.org/pacman.git/snapshot/$_pkgname-$_gitver.tar)
+md5sums=('2152bdff59dcab8e7d36103a4756e5bf')
+
+build() {
+ cd $srcdir/$_pkgname-$_gitver
+
+ ./autogen.sh
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make -C "$_pkgname-$_gitver" check
+}
+
+package() {
+ install -Dm755 $srcdir/$_pkgname-$_gitver/scripts/makepkg $pkgdir/usr/bin/makepkg-git
+}
diff --git a/libre/mate-document-viewer-libre/PKGBUILD b/libre/mate-document-viewer-libre/PKGBUILD
new file mode 100644
index 000000000..969c335b2
--- /dev/null
+++ b/libre/mate-document-viewer-libre/PKGBUILD
@@ -0,0 +1,51 @@
+# Maintainer : Martin Wimpress <code@flexion.org>
+
+_pkgname=mate-document-viewer
+pkgname=mate-document-viewer-libre
+pkgver=1.6.2
+pkgrel=2
+pkgdesc="Simply a document viewer, with libarchive recommendation"
+url="http://mate-desktop.org"
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+depends=('dconf' 'dbus' 'desktop-file-utils' 'gtk2' 'libmatekeyring' 'libsm'
+ 'libspectre' 'mate-desktop' 'mate-icon-theme' 'poppler-glib' 'zlib')
+makedepends=('djvulibre' 'gobject-introspection' 'libgxps' 'mate-common'
+ 'mate-doc-utils' 'mate-file-manager' 'perl-xml-parser' 'texlive-bin')
+optdepends=('djvulibre: DjVu support'
+ 'libgxps: XPS support'
+ 'mate-file-manager: Document Properties extension'
+ 'p7zip: cbz and cb7 compressed comic books'
+ 'texlive-bin: DVI support'
+ 'libarchive: cbr compressed comic books')
+options=('!emptydirs')
+groups=('mate-extra')
+source=("http://pub.mate-desktop.org/releases/1.6/${_pkgname}-${pkgver}.tar.xz")
+sha1sums=('295a59e7b7babd86f42eebb2a9ac5405dd7b2997')
+install=${_pkgname}.install
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/${_pkgname} \
+ --enable-gtk-doc \
+ --enable-djvu \
+ --enable-dvi \
+ --enable-t1lib \
+ --enable-pixbuf \
+ --enable-comics \
+ --enable-introspection \
+ --disable-static \
+ --disable-scrollkeeper
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ ln -s atril "${pkgdir}/usr/bin/mate-document-viewer"
+}
diff --git a/libre/mate-document-viewer-libre/mate-document-viewer.install b/libre/mate-document-viewer-libre/mate-document-viewer.install
new file mode 100644
index 000000000..bf6781f93
--- /dev/null
+++ b/libre/mate-document-viewer-libre/mate-document-viewer.install
@@ -0,0 +1,13 @@
+post_install() {
+ glib-compile-schemas /usr/share/glib-2.0/schemas/
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/mate-file-archiver-libre/PKGBUILD b/libre/mate-file-archiver-libre/PKGBUILD
new file mode 100644
index 000000000..80711e259
--- /dev/null
+++ b/libre/mate-file-archiver-libre/PKGBUILD
@@ -0,0 +1,51 @@
+# Maintainer : Martin Wimpress <code@flexion.org>
+
+_pkgname=mate-file-archiver
+pkgname=mate-file-archiver-libre
+pkgver=1.6.2
+pkgrel=1
+pkgdesc="Archive manipulator for MATE, with unar recommendation included and nonfree unace recommendation removed"
+url="http://mate-desktop.org"
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+depends=('bzip2' 'desktop-file-utils' 'gtk2' 'gzip' 'libarchive'
+ 'mate-file-manager' 'tar')
+makedepends=('mate-common' 'mate-doc-utils' 'perl-xml-parser')
+optdepends=('arj: for ARJ support'
+ 'p7zip: for 7zip support'
+ 'unar: for RAR extract support'
+ 'unzip: for ZIP extract support'
+ 'zip: for ZIP support')
+options=('!emptydirs')
+groups=('mate-extra')
+source=("http://pub.mate-desktop.org/releases/1.6/${_pkgname}-${pkgver}.tar.xz"
+ fr-rpm-bsdtar.patch)
+sha1sums=('58a0f7d78dabd627a3a2b3352fabcba20d72aa92'
+ '219b05a979bf6f249aaae27964f02345fd81168d')
+install=${_pkgname}.install
+
+prepare() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ # This patch 'depends' on libarchive
+ patch -Np1 -i "${srcdir}/fr-rpm-bsdtar.patch"
+}
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/${_pkgname} \
+ --disable-static \
+ --disable-scrollkeeper \
+ --disable-packagekit
+ mate-doc-prepare --force
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/libre/mate-file-archiver-libre/fr-rpm-bsdtar.patch b/libre/mate-file-archiver-libre/fr-rpm-bsdtar.patch
new file mode 100644
index 000000000..93a783176
--- /dev/null
+++ b/libre/mate-file-archiver-libre/fr-rpm-bsdtar.patch
@@ -0,0 +1,60 @@
+This makes Engrampa use bsdtar to extract .RPM packages instead of using cpio.
+It is useful on systems that do not have cpio or RPM/YUM
+This patch was created for Arch Linux, however should work on any system that has bsdtar capable of handling cpio archives.
+
+------------------+
+ rpm2cpio.c | 2 +-
+ fr-command-rpm.c | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+Index: src/commands/rpm2cpio.c
+================================
+--- mate-file-archiver-1.6.0/src/commands/rpm2cpio.c 2013-03-31
++++ mate-file-archiver-1.6.0/src/commands/rpm2cpio.c 2013-07-26
+@@ -128,7 +128,7 @@
+ archive_command = "bzip2 -dc";
+ fclose (stream);
+
+- command = g_strdup_printf ("sh -c \"dd if=%s ibs=%u skip=1 2>/dev/null | %s | cpio %s\"", g_shell_quote (filename), offset, archive_command, cpio_args->str);
++ command = g_strdup_printf ("sh -c \"dd if=%s ibs=%u skip=1 2>/dev/null | %s | bsdtar %s\"", g_shell_quote (filename), offset, archive_command, cpio_args->str);
+
+ return system (command);
+ }
+Index: src/fr-command-rpm.c
+================================
+--- mate-file-archiver-1.6.0/src/fr-command-rpm.c 2013-03-31
++++ mate-file-archiver-1.6.0/src/fr-command-rpm.c 2013-07-26
+@@ -175,7 +175,7 @@
+
+ fr_process_begin_command (comm->process, "sh");
+ fr_process_add_arg (comm->process, "-c");
+- fr_process_add_arg_concat (comm->process, PRIVEXECDIR "rpm2cpio ", comm->e_filename, " -itv", NULL);
++ fr_process_add_arg_concat (comm->process, PRIVEXECDIR "rpm2cpio ", comm->e_filename, " -tvf -", NULL);
+ fr_process_end_command (comm->process);
+ fr_process_start (comm->process);
+ }
+@@ -200,7 +200,7 @@
+
+ cmd = g_string_new (PRIVEXECDIR "rpm2cpio ");
+ g_string_append (cmd, comm->e_filename);
+- g_string_append (cmd, " -idu ");
++ g_string_append (cmd, " -xf - ");
+ for (scan = file_list; scan; scan = scan->next) {
+ char *filename = g_shell_quote (scan->data);
+ g_string_append (cmd, filename);
+@@ -233,7 +233,7 @@
+ FrCommandCap capabilities;
+
+ capabilities = FR_COMMAND_CAN_ARCHIVE_MANY_FILES;
+- if (is_program_available ("cpio", check_command))
++ if (is_program_available ("bsdtar", check_command))
+ capabilities |= FR_COMMAND_CAN_READ;
+
+ return capabilities;
+@@ -244,7 +244,7 @@
+ fr_command_rpm_get_packages (FrCommand *comm,
+ const char *mime_type)
+ {
+- return PACKAGES ("cpio,rpm");
++ return PACKAGES ("bsdtar,rpm");
+ }
diff --git a/libre/mate-file-archiver-libre/mate-file-archiver.install b/libre/mate-file-archiver-libre/mate-file-archiver.install
new file mode 100644
index 000000000..bf6781f93
--- /dev/null
+++ b/libre/mate-file-archiver-libre/mate-file-archiver.install
@@ -0,0 +1,13 @@
+post_install() {
+ glib-compile-schemas /usr/share/glib-2.0/schemas/
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/mc-libre/PKGBUILD b/libre/mc-libre/PKGBUILD
new file mode 100644
index 000000000..8b555654e
--- /dev/null
+++ b/libre/mc-libre/PKGBUILD
@@ -0,0 +1,72 @@
+# $Id: PKGBUILD 101948 2013-12-02 21:12:10Z schuay $
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer: schuay <jakob.gruber@gmail.com>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+# Contributor (Parabola): Márcio Silva <coadde@parabola.nu>
+
+_pkgname=mc
+pkgname=mc-libre
+pkgver=4.8.11
+pkgrel=1
+pkgdesc="Midnight Commander is a text based filemanager/shell that emulates Norton Commander, with arj recommendation included and nonfree unace and unrar recommendation removed"
+arch=('i686' 'x86_64')
+url="http://www.ibiblio.org/mc/"
+license=('GPL')
+depends=(
+ 'e2fsprogs'
+ 'glib2'
+ 'gpm'
+ 'libssh2'
+ 'slang')
+makedepends=('libxt' 'libx11')
+optdepends=(
+ 'cabextract: ucab extfs'
+ 'cdparanoia: audio extfs'
+ 'cdrkit: iso9660 extfs'
+ 'gawk: hp48+ extfs'
+ 'aspell: spelling corrections'
+ 'cvs: CVS support'
+ 'mtools: a+ extfs'
+ 'perl: needed by several extfs scripts'
+ 'python2-boto: s3+ extfs'
+ 'python2-pytz: s3+ extfs'
+ 'smb: VFS support'
+ 'arj: uarj extfs'
+ 'zip: uzip extfs'
+ 'p7zip: support for 7zip archives')
+conflicts=('mc')
+replaces=('mc')
+provides=("mc=${pkgver}")
+options=('!emptydirs' '!makeflags')
+backup=('etc/mc/edit.indent.rc'
+ 'etc/mc/filehighlight.ini'
+ 'etc/mc/mcedit.menu'
+ 'etc/mc/mc.ext'
+ 'etc/mc/mc.keymap'
+ 'etc/mc/mc.menu'
+ 'etc/mc/sfs.ini')
+source=("http://www.midnight-commander.org/downloads/${_pkgname}-${pkgver}.tar.bz2")
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --enable-vfs-smb \
+ --with-x --libexecdir=/usr/lib
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ # Fix FS#15177
+ sed 's|op_has_zipinfo = 0|op_has_zipinfo = 1|' \
+ -i "${pkgdir}/usr/lib/mc/extfs.d/uzip"
+
+ sed 's#/usr/bin/env python#/usr/bin/python2#' \
+ -i "${pkgdir}/usr/lib/mc/extfs.d/s3+"
+}
+
+md5sums=('7262788c0e799393cd37318b43a14adc')
diff --git a/libre/mcomix-libre/PKGBUILD b/libre/mcomix-libre/PKGBUILD
new file mode 100644
index 000000000..78104354f
--- /dev/null
+++ b/libre/mcomix-libre/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 97188 2013-09-15 08:42:21Z schuay $
+# Maintainer: schuay <jakob.gruber@gmail.com>
+# Contributor: Ray Powell <ray_al@xphoniexx.net>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=mcomix
+pkgname=mcomix-libre
+pkgver=1.00
+pkgrel=5.1
+pkgdesc="A user-friendly, customizable image viewer specifically designed to handle comic books, without nonfree unrar recommendation"
+arch=('any')
+url="http://sourceforge.net/projects/mcomix/"
+license=('GPL')
+depends=('pygtk' 'python2-pillow' 'xdg-utils' 'python2' \
+ 'desktop-file-utils' 'hicolor-icon-theme' 'python2-setuptools')
+makedepends=('gettext' 'intltool')
+conflicts=('mcomix' 'comix')
+replaces=('mcomix' 'comix')
+provides=("mcomix=${pkgver}")
+install='mcomix.install'
+source=("http://downloads.sourceforge.net/project/mcomix/MComix-${pkgver}/mcomix-${pkgver}.tar.bz2")
+
+build() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+
+ # https://www.archlinux.org/todo/replace-pil-with-pillow/
+ sed -i 's/import Image/from PIL import Image/' mime/comicthumb
+
+ # python2 fix
+ for file in $(grep -Rl "/usr/bin/env python" .);
+ do
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' $file
+ done
+}
+
+package() {
+ cd ${srcdir}/${_pkgname}-${pkgver}
+
+ export PYTHONPATH=${pkgdir}/usr/lib/python2.7/site-packages/
+ mkdir -p $PYTHONPATH
+
+ python2 setup.py install --prefix=/usr --optimize=1 \
+ --single-version-externally-managed --root=${pkgdir}
+
+ install -Dm755 mime/comicthumb ${pkgdir}/usr/bin/comicthumb
+ install -Dm644 mime/comicthumb.1.gz ${pkgdir}/usr/share/man/man1/comicthumb.1.gz
+ install -Dm644 mime/comicbook.schemas ${pkgdir}/usr/share/gconf/schemas/mcomix.schemas
+}
+
+md5sums=('3a916dd9da17043ab59ccd17e26eb932')
diff --git a/libre/mcomix-libre/mcomix.install b/libre/mcomix-libre/mcomix.install
new file mode 100644
index 000000000..c33c1d5a1
--- /dev/null
+++ b/libre/mcomix-libre/mcomix.install
@@ -0,0 +1,30 @@
+pkgname=mcomix
+
+post_install() {
+ if [ -f usr/sbin/gconfpkg ]; then
+ usr/sbin/gconfpkg --install ${pkgname} &> /dev/null
+ fi
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+ update-mime-database usr/share/mime &> /dev/null
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ if [ -f usr/sbin/gconfpkg ]; then
+ usr/sbin/gconfpkg --uninstall ${pkgname} &> /dev/null
+ fi
+}
+
+post_remove() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+ update-mime-database usr/share/mime &> /dev/null
+}
diff --git a/libre/mesa-demos-libre/LICENSE b/libre/mesa-demos-libre/LICENSE
new file mode 100644
index 000000000..ae33d2709
--- /dev/null
+++ b/libre/mesa-demos-libre/LICENSE
@@ -0,0 +1,82 @@
+Disclaimer
+
+Mesa is a 3-D graphics library with an API which is very similar to
+that of OpenGL*
+To the extent that Mesa utilizes the OpenGL command syntax or state
+machine, it is being used with authorization from Silicon Graphics,
+Inc.(SGI). However, the author does not possess an OpenGL license
+from SGI, and makes no claim that Mesa is in any way a compatible
+replacement for OpenGL or associated with SGI. Those who want a
+licensed implementation of OpenGL should contact a licensed
+vendor.
+
+Please do not refer to the library as MesaGL (for legal
+reasons). It's just Mesa or The Mesa 3-D graphics
+library
+
+* OpenGL is a trademark of Silicon Graphics Incorporated.
+
+License / Copyright Information
+
+The Mesa distribution consists of several components. Different copyrights
+and licenses apply to different components. For example, GLUT is copyrighted
+by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa
+device drivers are copyrighted by their authors. See below for a list of
+Mesa's main components and the license for each.
+
+The core Mesa library is licensed according to the terms of the MIT license.
+This allows integration with the XFree86, Xorg and DRI projects.
+
+The default Mesa license is as follows:
+
+Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Attention, Contributors
+
+When contributing to the Mesa project you must agree to the licensing terms
+of the component to which you're contributing.
+The following section lists the primary components of the Mesa distribution
+and their respective licenses.
+
+
+Mesa Component Licenses
+
+Component Location Primary Author License
+----------------------------------------------------------------------------
+Main Mesa code src/mesa/ Brian Paul Mesa (MIT)
+
+Device drivers src/mesa/drivers/* See drivers See drivers
+
+Ext headers include/GL/glext.h SGI SGI Free B
+ include/GL/glxext.h
+
+GLUT src/glut/ Mark Kilgard Mark's copyright
+
+Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL
+
+SGI GLU library src/glu/sgi/ SGI SGI Free B
+
+demo programs progs/demos/ various see source files
+
+X demos progs/xdemos/ Brian Paul see source files
+
+SGI demos progs/samples/ SGI SGI copyright
+
+RedBook demos progs/redbook/ SGI SGI copyright
diff --git a/libre/mesa-demos-libre/PKGBUILD b/libre/mesa-demos-libre/PKGBUILD
new file mode 100644
index 000000000..78ecbc563
--- /dev/null
+++ b/libre/mesa-demos-libre/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 178740 2013-02-26 16:15:13Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname='mesa-demos-libre'
+pkgver=8.1.0
+pkgrel=1
+arch=('i686' 'x86_64' 'mips64el')
+pkgdesc="Mesa demos and tools, without nonfree demos"
+url="http://mesa3d.sourceforge.net"
+license=('custom')
+depends=('libgl' 'glew')
+provides=("mesa-demos=$pkgver")
+replaces=('mesa-demos')
+conflicts=('mesa-demos')
+mksource=("ftp://ftp.freedesktop.org/pub/mesa/demos/${pkgver}/mesa-demos-${pkgver}.tar.bz2"
+ 'mesa-demos-libre.patch')
+source=("https://repo.parabolagnulinux.org/other/mesa-demos-libre/mesa-demos-libre-${pkgver}.tar.bz2"
+ 'LICENSE')
+mksha256sums=('9703fa0646b32a1e68d2abf5628f936f77bf97c69ffcaac90de380820a87a828'
+ '476f58fc62e9074936643b0d61165c5160a6d5aed082e60c10b39d219f56913f')
+sha256sums=('d2678138f7ff4a684a6d851f1086fd7baf4ee321ef65531063b072632c2c504b'
+ '476f58fc62e9074936643b0d61165c5160a6d5aed082e60c10b39d219f56913f')
+
+mksource() {
+ cd "${srcdir}/mesa-demos-${pkgver}"
+
+ # Remove nonfree demos (pointblast and spriteblast)
+ rm -v src/demos/{pointblast,spriteblast}.c
+ patch -Np1 -i "${srcdir}/mesa-demos-libre.patch"
+}
+
+build() {
+ cd "${srcdir}/mesa-demos-${pkgver}"
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/mesa-demos-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/mesa-demos"
+ install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa-demos/"
+}
diff --git a/libre/mesa-demos-libre/mesa-demos-libre.patch b/libre/mesa-demos-libre/mesa-demos-libre.patch
new file mode 100644
index 000000000..d630f373c
--- /dev/null
+++ b/libre/mesa-demos-libre/mesa-demos-libre.patch
@@ -0,0 +1,114 @@
+diff -Nur mesa-demos-8.1.0.orig/src/demos/Makefile.am mesa-demos-8.1.0/src/demos/Makefile.am
+--- mesa-demos-8.1.0.orig/src/demos/Makefile.am 2012-12-15 05:17:06.000000000 -0200
++++ mesa-demos-8.1.0/src/demos/Makefile.am 2013-02-26 17:22:04.845832793 -0200
+@@ -65,7 +65,6 @@
+ multiarb \
+ paltex \
+ pixeltest \
+- pointblast \
+ projtex \
+ ray \
+ readpix \
+@@ -74,7 +73,6 @@
+ shadowtex \
+ singlebuffer \
+ spectex \
+- spriteblast \
+ stex3d \
+ teapot \
+ terrain \
+diff -Nur mesa-demos-8.1.0.orig/src/demos/Makefile.in mesa-demos-8.1.0/src/demos/Makefile.in
+--- mesa-demos-8.1.0.orig/src/demos/Makefile.in 2013-02-24 09:12:04.000000000 -0200
++++ mesa-demos-8.1.0/src/demos/Makefile.in 2013-02-26 17:48:36.711995049 -0200
+@@ -90,11 +90,11 @@
+ @HAVE_GLUT_TRUE@ ipers$(EXEEXT) isosurf$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ lodbias$(EXEEXT) morph3d$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ multiarb$(EXEEXT) paltex$(EXEEXT) \
+-@HAVE_GLUT_TRUE@ pixeltest$(EXEEXT) pointblast$(EXEEXT) \
++@HAVE_GLUT_TRUE@ pixeltest$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ projtex$(EXEEXT) ray$(EXEEXT) readpix$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ reflect$(EXEEXT) renormal$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ shadowtex$(EXEEXT) singlebuffer$(EXEEXT) \
+-@HAVE_GLUT_TRUE@ spectex$(EXEEXT) spriteblast$(EXEEXT) \
++@HAVE_GLUT_TRUE@ spectex$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ stex3d$(EXEEXT) teapot$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ terrain$(EXEEXT) tessdemo$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ texcyl$(EXEEXT) texenv$(EXEEXT) \
+@@ -219,9 +219,6 @@
+ pixeltest_SOURCES = pixeltest.c
+ pixeltest_OBJECTS = pixeltest.$(OBJEXT)
+ pixeltest_LDADD = $(LDADD)
+-pointblast_SOURCES = pointblast.c
+-pointblast_OBJECTS = pointblast.$(OBJEXT)
+-pointblast_LDADD = $(LDADD)
+ projtex_SOURCES = projtex.c
+ projtex_OBJECTS = projtex.$(OBJEXT)
+ projtex_DEPENDENCIES = ../util/libutil.la
+@@ -246,9 +243,6 @@
+ spectex_SOURCES = spectex.c
+ spectex_OBJECTS = spectex.$(OBJEXT)
+ spectex_LDADD = $(LDADD)
+-spriteblast_SOURCES = spriteblast.c
+-spriteblast_OBJECTS = spriteblast.$(OBJEXT)
+-spriteblast_LDADD = $(LDADD)
+ stex3d_SOURCES = stex3d.c
+ stex3d_OBJECTS = stex3d.$(OBJEXT)
+ stex3d_LDADD = $(LDADD)
+@@ -325,8 +319,8 @@
+ fbotexture.c fire.c fogcoord.c fplight.c fslight.c gamma.c \
+ gearbox.c gears.c geartrain.c glinfo.c gloss.c gltestperf.c \
+ ipers.c isosurf.c lodbias.c morph3d.c multiarb.c paltex.c \
+- pixeltest.c pointblast.c projtex.c ray.c readpix.c reflect.c \
+- renormal.c shadowtex.c singlebuffer.c spectex.c spriteblast.c \
++ pixeltest.c projtex.c ray.c readpix.c reflect.c \
++ renormal.c shadowtex.c singlebuffer.c spectex.c \
+ stex3d.c teapot.c terrain.c tessdemo.c texcyl.c texenv.c \
+ textures.c trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c \
+ winpos.c
+@@ -336,8 +330,8 @@
+ fbotexture.c fire.c fogcoord.c fplight.c fslight.c gamma.c \
+ gearbox.c gears.c geartrain.c glinfo.c gloss.c gltestperf.c \
+ ipers.c isosurf.c lodbias.c morph3d.c multiarb.c paltex.c \
+- pixeltest.c pointblast.c projtex.c ray.c readpix.c reflect.c \
+- renormal.c shadowtex.c singlebuffer.c spectex.c spriteblast.c \
++ pixeltest.c projtex.c ray.c readpix.c reflect.c \
++ renormal.c shadowtex.c singlebuffer.c spectex.c \
+ stex3d.c teapot.c terrain.c tessdemo.c texcyl.c texenv.c \
+ textures.c trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c \
+ winpos.c
+@@ -722,9 +716,6 @@
+ pixeltest$(EXEEXT): $(pixeltest_OBJECTS) $(pixeltest_DEPENDENCIES) $(EXTRA_pixeltest_DEPENDENCIES)
+ @rm -f pixeltest$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(pixeltest_OBJECTS) $(pixeltest_LDADD) $(LIBS)
+-pointblast$(EXEEXT): $(pointblast_OBJECTS) $(pointblast_DEPENDENCIES) $(EXTRA_pointblast_DEPENDENCIES)
+- @rm -f pointblast$(EXEEXT)
+- $(AM_V_CCLD)$(LINK) $(pointblast_OBJECTS) $(pointblast_LDADD) $(LIBS)
+ projtex$(EXEEXT): $(projtex_OBJECTS) $(projtex_DEPENDENCIES) $(EXTRA_projtex_DEPENDENCIES)
+ @rm -f projtex$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(projtex_OBJECTS) $(projtex_LDADD) $(LIBS)
+@@ -749,9 +740,6 @@
+ spectex$(EXEEXT): $(spectex_OBJECTS) $(spectex_DEPENDENCIES) $(EXTRA_spectex_DEPENDENCIES)
+ @rm -f spectex$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(spectex_OBJECTS) $(spectex_LDADD) $(LIBS)
+-spriteblast$(EXEEXT): $(spriteblast_OBJECTS) $(spriteblast_DEPENDENCIES) $(EXTRA_spriteblast_DEPENDENCIES)
+- @rm -f spriteblast$(EXEEXT)
+- $(AM_V_CCLD)$(LINK) $(spriteblast_OBJECTS) $(spriteblast_LDADD) $(LIBS)
+ stex3d$(EXEEXT): $(stex3d_OBJECTS) $(stex3d_DEPENDENCIES) $(EXTRA_stex3d_DEPENDENCIES)
+ @rm -f stex3d$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(stex3d_OBJECTS) $(stex3d_LDADD) $(LIBS)
+@@ -828,7 +816,6 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multiarb.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paltex.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixeltest.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pointblast.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/projtex.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ray.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readpix.Po@am__quote@
+@@ -837,7 +824,6 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadowtex.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/singlebuffer.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spectex.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spriteblast.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stex3d.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/teapot.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terrain.Po@am__quote@
diff --git a/libre/mesa-libcl/PKGBUILD b/libre/mesa-libcl/PKGBUILD
new file mode 100644
index 000000000..198bcbcb5
--- /dev/null
+++ b/libre/mesa-libcl/PKGBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Márcio Silva <coadde@lavabit.com>
+
+pkgbase=mesa
+_pkgname=libcl
+pkgname=$pkgbase-$_pkgname
+_pkgflag=libre
+pkgver=10.0.3
+pkgrel=1
+pkgdesc='Mesa 3-D OpenCL library'
+url=http://${pkgbase}3d.sourceforge.net
+license=(MIT Khronos LGPL)
+arch=(mips64el x86_64 i686)
+depends=(
+ libclc
+ $pkgbase
+)
+optdepends='opencl-headers: headers necessary for OpenCL development'
+makedepends=(
+ clang
+ dri2proto
+ glproto
+ imake
+ libxml2
+ python2
+)
+provides=($_pkgname-$_pkgflag $_pkgname opencl-nvidia opencl-nvidia-304xx)
+conflicts=($_pkgname-$_pkgflag $_pkgname opencl-nvidia opencl-nvidia-304xx)
+replaces=($_pkgname-$_pkgflag $_pkgname opencl-nvidia opencl-nvidia-304xx)
+source=ftp://ftp.freedesktop.org/pub/$pkgbase/${pkgver%.0}/${pkgbase^}Lib-$pkgver.tar.bz2
+sha512sums=e864c4d63336977b2917d83926331163198d47023228cc71f47c67251f675102dbab4551e032aa1dfcb4cbda1f98f15ff4565acef54a33ed8c50af32f52a52da
+
+build() {
+ cd $srcdir/${pkgbase^}-$pkgver
+ autoreconf -vfi
+ ./configure --prefix=/usr\
+ --enable-opencl\
+ --enable-gallium-llvm\
+ --enable-r600-llvm-compiler\
+ --with-clang-libdir=/usr/lib\
+ --with-llvm-shared-libs\
+ --with-gallium-drivers=i915,nouveau,r300,r600,radeonsi,svga,swrast
+ make V=0
+}
+
+package() {
+ cd $srcdir/${pkgbase^}-$pkgver
+ make -C src/gallium/targets/opencl DESTDIR=$pkgdir install
+ install -vdm755 $pkgdir/usr/share/licenses/$pkgname
+ install -vm644 docs/COPYING $pkgdir/usr/share/licenses/$pkgname
+ install -vm644 docs/license.html $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/libre/midori-libre-gtk3/PKGBUILD b/libre/midori-libre-gtk3/PKGBUILD
new file mode 100644
index 000000000..255bc9ac3
--- /dev/null
+++ b/libre/midori-libre-gtk3/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 104163 2014-01-16 14:14:27Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: rabyte <rabyte.at.gmail.dot.com>
+# Contributor: Johannes Krampf <wuischke.at.amule.dot.org>
+# Contributor: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=midori-gtk3
+pkgname=midori-libre-gtk3
+pkgver=0.5.7
+pkgrel=1.1
+pkgdesc='Lightweight web browser (GTK3), without non-privacy search providers'
+arch=('x86_64' 'i686' 'mips64el')
+url='http://www.midori-browser.org/'
+license=('LGPL2.1')
+install='midori.install'
+replaces=("$_pkgname" "$_pkgname-libre")
+conflicts=('midori-libre' "$_pkgname" "$_pkgname-libre")
+provides=('midori-libre' "$_pkgname=$pkgver" "$_pkgname-libre")
+depends=('libzeitgeist' 'webkitgtk3' 'libnotify' 'libxss' 'hicolor-icon-theme' 'desktop-file-utils' 'libunique3' 'gcr')
+makedepends=('pkg-config' 'bzr' 'python2' 'libxml2' 'gtk3' 'intltool' 'python2-docutils' 'libsoup' 'vala' 'librsvg' 'cmake')
+optdepends=('gst-plugins-base: HTML5 OGG videos support'
+ 'gst-plugins-good: HTML5 H264 and WebM videos support'
+ 'gst-libav: HTML5 H264 videos support'
+ 'aria2: download utility')
+options=('!emptydirs')
+source=("http://www.midori-browser.org/downloads/${_pkgname/-gtk3}_${pkgver}_all_.tar.bz2")
+sha256sums=('2875bb2aa8a8a0cce342178f04700d4ebccd13bf1b2ad4cb3ba9fec7e2bd0b4d')
+
+prepare() {
+ cd "${_pkgname/-gtk3}-$pkgver"
+
+ # remove non-privacy search providers
+ sed -i 's|Duck Duck Go|DuckDuckGo HTML|
+ s|duckduckgo[.]com|duckduckgo.com/html|
+ \|Yahoo|d
+ \|name=Yahoo|d
+ \|text=Yahoo Web Search|d
+ \|uri=http://search[.]yahoo[.]com/search?p=|d
+ \|token=y|d
+ \|Google|d
+ \|name=Google|d
+ \|text=Web Search|d
+ \|uri=http://www[.]google[.]com/search?q=%s|d
+ \|token=g|d
+ \|Localize text or URL|d
+ \|translate[.]google[.]com/?q=|d
+ ' config/search
+}
+
+build() {
+ cd "${_pkgname/-gtk3}-$pkgver"
+
+ mkdir -p build
+ cd build
+ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib -DUSE_GTK3=1
+ make
+}
+
+package() {
+ make -C "${_pkgname/-gtk3}-$pkgver/build" DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/midori-libre-gtk3/midori.install b/libre/midori-libre-gtk3/midori.install
new file mode 100644
index 000000000..e6af79c5f
--- /dev/null
+++ b/libre/midori-libre-gtk3/midori.install
@@ -0,0 +1,14 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -f -q -t usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/midori-libre/PKGBUILD b/libre/midori-libre/PKGBUILD
new file mode 100644
index 000000000..ce506078d
--- /dev/null
+++ b/libre/midori-libre/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 104157 2014-01-16 12:49:27Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: rabyte <rabyte.at.gmail.dot.com>
+# Contributor: Johannes Krampf <wuischke.at.amule.dot.org>
+# Contributor: Bartłomiej Piotrowski <barthalion@gmail.com>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=midori
+pkgname=midori-libre
+pkgver=0.5.7
+pkgrel=1
+pkgdesc='Lightweight web browser (GTK2), without non-privacy search providers'
+arch=('x86_64' 'i686')
+url='http://www.midori-browser.org/'
+license=('LGPL2.1')
+install='midori.install'
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+depends=('libzeitgeist' 'webkitgtk2' 'libnotify' 'libxss' 'hicolor-icon-theme' 'desktop-file-utils' 'libunique')
+makedepends=('bzr' 'python2' 'intltool' 'vala' 'librsvg' 'cmake')
+optdepends=('gstreamer0.10-base-plugins: HTML5 OGG videos support'
+ 'gstreamer0.10-bad-plugins: HTML5 WebM videos support'
+ 'gstreamer0.10-ffmpeg: HTML5 H264 videos support'
+ 'aria2: download utility')
+options=('!emptydirs')
+source=("http://www.midori-browser.org/downloads/${_pkgname}_${pkgver}_all_.tar.bz2")
+sha256sums=('2875bb2aa8a8a0cce342178f04700d4ebccd13bf1b2ad4cb3ba9fec7e2bd0b4d')
+
+prepare() {
+ cd "$_pkgname-$pkgver"
+
+ # remove non-privacy search providers
+ sed -i 's|Duck Duck Go|DuckDuckGo HTML|
+ s|duckduckgo[.]com|duckduckgo.com/html|
+ \|Yahoo|d
+ \|name=Yahoo|d
+ \|text=Yahoo Web Search|d
+ \|uri=http://search[.]yahoo[.]com/search?p=|d
+ \|token=y|d
+ \|Google|d
+ \|name=Google|d
+ \|text=Web Search|d
+ \|uri=http://www[.]google[.]com/search?q=%s|d
+ \|token=g|d
+ \|Localize text or URL|d
+ \|translate[.]google[.]com/?q=|d
+ ' config/search
+}
+
+build() {
+ cd "$_pkgname-$pkgver"
+
+ mkdir -p build
+ cd build
+ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib
+ make
+}
+
+package() {
+ make -C "$_pkgname-$pkgver/build" DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/midori-libre/midori.install b/libre/midori-libre/midori.install
new file mode 100644
index 000000000..e6af79c5f
--- /dev/null
+++ b/libre/midori-libre/midori.install
@@ -0,0 +1,14 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -f -q -t usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/mime-types/PKGBUILD b/libre/mime-types/PKGBUILD
new file mode 100644
index 000000000..31e373545
--- /dev/null
+++ b/libre/mime-types/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: PKGBUILD 188113 2013-06-10 01:37:40Z bisson $
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=mime-types
+pkgver=9
+pkgrel=1
+pkgdesc='Provides /etc/mime.types (Parabola rebranded)'
+url='https://parabolagnulinux.org/'
+license=('GPL2')
+arch=('any')
+backup=('etc/mime.types')
+source=("http://mirrors.kernel.org/gentoo/distfiles/${pkgname}-${pkgver}.tar.bz2"
+ 'parabola.patch')
+sha1sums=('b21b7775a006b60113a6648e20beb1decdac8899'
+ '0d3b34c7b4a384be674192ecbfd8f22271906ae8')
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i ../parabola.patch
+ install -Dm644 mime.types "${pkgdir}"/etc/mime.types
+}
diff --git a/libre/mime-types/parabola.patch b/libre/mime-types/parabola.patch
new file mode 100644
index 000000000..bbf8406ca
--- /dev/null
+++ b/libre/mime-types/parabola.patch
@@ -0,0 +1,7 @@
+diff -au0r old/mime.types new/mime.types
+--- old/mime.types 2009-10-15 07:51:24.000000000 -0700
++++ new/mime.types 2011-08-02 22:49:14.962241561 -0700
+@@ -2 +2,2 @@
+-# distributed as the app-misc/mime-types package.
++# distributed in Parabola as the mime-types package, which is based on
++# Gentoo's app-misc/mime-types package.
diff --git a/libre/mkisolinux/PKGBUILD b/libre/mkisolinux/PKGBUILD
new file mode 100644
index 000000000..e2900d521
--- /dev/null
+++ b/libre/mkisolinux/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 12670 2008-09-17 21:19:05Z tpowa $
+# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=mkisolinux
+pkgver=2013.05
+pkgrel=1.1
+pkgdesc="Advanced, modular isolinux bootcd image creation utility (Parabola rebranded)"
+arch=(any)
+license=('GPL')
+url="https://parabolagnulinux.org/"
+depends=('mkinitcpio' 'cdrkit' 'syslinux' 'pciutils')
+replaces=('mkbootcd')
+backup=(etc/mkisolinux.conf)
+source=('boot.msg' 'mkisolinux' 'mkisolinux.conf' 'options.msg')
+
+
+package()
+{
+ cd "$srcdir/"
+ install -D -m755 mkisolinux "$pkgdir/usr/bin/mkisolinux"
+ install -D -m644 mkisolinux.conf "$pkgdir/etc/mkisolinux.conf"
+ install -D -m644 boot.msg "$pkgdir/usr/share/mkisolinux/boot.msg"
+ install -D -m644 options.msg "$pkgdir/usr/share/mkisolinux/options.msg"
+}
+md5sums=('945d5f5d74f37718c8c9d518bfd5698d'
+ '384aac3786506ff96ec3d1147bcacfe5'
+ '3cc23d74d7e4378d1be431d68a71a173'
+ 'ae0007d6679b5a575b2a9e5ac3664baf')
diff --git a/libre/mkisolinux/boot.msg b/libre/mkisolinux/boot.msg
new file mode 100644
index 000000000..2725404e0
--- /dev/null
+++ b/libre/mkisolinux/boot.msg
@@ -0,0 +1,15 @@
+
+
+------------------------------------------------------------------------------
+Parabola GNU/Linux-libre
+ISOLINUX BOOT
+created with 'mkisolinux' written by Tobias Powalowski <tpowa@archlinux.org>
+rebranded for Parabola by André Silva <emulatorman@parabola.nu>
+
+Press ENTER or type 'parabola' to boot the CD.
+
+If you wish to change your defaults to boot into your existing system,
+type 'vmlinuz initrd=initrd.img <any_other_boot_option>'
+Use the F2 key for troubleshooting and options.
+------------------------------------------------------------------------------
+
diff --git a/libre/mkisolinux/mkisolinux b/libre/mkisolinux/mkisolinux
new file mode 100755
index 000000000..048d925aa
--- /dev/null
+++ b/libre/mkisolinux/mkisolinux
@@ -0,0 +1,116 @@
+#! /bin/sh
+# Created by Tobias Powalowski <tpowa@archlinux.org>
+# Rebranded for Parabola by André Silva <emulatorman@parabola.nu>
+# Settings
+APPNAME=$(basename "${0}")
+CONFIG="/etc/mkisolinux.conf"
+GENIMG=""
+BURN="0"
+BLANK="0"
+TARNAME=""
+export TEMPDIR=$(mktemp -d /tmp/mkisolinux.XXXX)
+usage ()
+{
+ echo "${APPNAME}: usage"
+ echo " -g=IMAGE Generate a ISO image as IMAGE"
+ echo " -c=CONFIG Use CONFIG file. default: /etc/mkisolinux.conf"
+ echo " -B Burn the ISO image after creation"
+ echo " -b Blanking media first"
+ echo " -h This message."
+ exit 1
+}
+
+[ "$1" == "" ] && usage
+
+while [ $# -gt 0 ]; do
+ case $1 in
+ -c=*|--c=*) CONFIG="$(echo $1 | awk -F= '{print $2;}')" ;;
+ -g=*|--g=*) GENIMG="$(echo $1 | awk -F= '{print $2;}')" ;;
+ -B|--B) BURN="1" ;;
+ -b|--b) BLANK="1" ;;
+ -t=*|--t=*) TARNAME="$(echo $1 | awk -F= '{print $2;}')" ;;
+ -h|--h|?) usage ;;
+ *) usage ;;
+ esac
+ shift
+done
+
+if [ "${TARNAME}" = "" -a "${GENIMG}" = "" ]; then
+ echo "ERROR: No image name specified, please use the -g option"
+ exit 1
+fi
+
+if [ ! -f "${CONFIG}" ]; then
+ echo "config file '${CONFIG}' cannot be found, aborting..."
+ exit 1
+fi
+
+. "${CONFIG}"
+# export for mkinitcpio
+[ -n "${APPENDBOOTMESSAGE}" ] && export APPENDBOOTMESSAGE
+[ -n "${APPENDOPTIONSBOOTMESSAGE}" ] && export APPENDOPTIONSBOOTMESSAGE
+
+export RUNPROGRAM="${APPNAME}"
+export BOOTDIRNAME="boot/syslinux"
+
+[ "${BOOTMESSAGE}" = "" ] && export BOOTMESSAGE=$(mktemp /tmp/bootmessage.XXXX)
+[ "${OPTIONSBOOTMESSAGE}" = "" ] && export OPTIONSBOOTMESSAGE=$(mktemp /tmp/optionsbootmessage.XXXX)
+[ "${ISONAME}" = "" ] && export ISONAME=$(mktemp /tmp/isoname.XXXX)
+export USEKERNEL=${VERSION}
+
+# begin script
+mkdir -p ${TEMPDIR}/${BOOTDIRNAME}/
+# prepare syslinux
+install -m755 /usr/lib/syslinux/isolinux.bin ${TEMPDIR}/${BOOTDIRNAME}/isolinux.bin
+for i in /usr/lib/syslinux/*.c32; do
+ install -m644 $i ${TEMPDIR}/${BOOTDIRNAME}/$(basename $i)
+done
+install -m644 /usr/share/hwdata/pci.ids ${TEMPDIR}/${BOOTDIRNAME}/pci.ids
+# create syslinux.cfg
+echo ":: Creating syslinux.cfg ..."
+if [ "${ISOLINUXCFG}" = "" ]; then
+ [ -e ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg ] && rm ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "prompt ${PROMPT}" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "timeout ${TIMEOUT}" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "display boot.msg" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "F1 boot.msg" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "F2 options.msg" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "default parabola" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "label parabola" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "kernel /boot/vmlinuz" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "append initrd=/boot/initrd.img ${KERNEL_BOOT_OPTIONS}" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+else
+ sed "s|@@PROMPT@@|${PROMPT}|g;s|@@TIMEOUT@@|${TIMEOUT}|g;s|@@KERNEL_BOOT_OPTIONS@@|${KERNEL_BOOT_OPTIONS}|g" \
+ ${ISOLINUXCFG} > ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+fi
+[ ! -s ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg ] && echo "No syslinux.cfg found" && exit 1
+
+echo ":: Calling mkinitcpio CONFIG=${MKINITCPIO_CONFIG} KERNEL=${VERSION} ..."
+# generate initramdisk
+echo ":: Creating initramdisk ..."
+ mkinitcpio -c ${MKINITCPIO_CONFIG} -k ${VERSION} -g ${TEMPDIR}/boot/initrd.img
+echo ":: Using ${KERNEL} as image kernel ..."
+ install -m644 ${KERNEL} ${TEMPDIR}/boot/vmlinuz
+ install -m644 ${BOOTMESSAGE} ${TEMPDIR}/${BOOTDIRNAME}/boot.msg
+ install -m644 ${OPTIONSBOOTMESSAGE} ${TEMPDIR}/${BOOTDIRNAME}/options.msg
+ [ ! -s ${TEMPDIR}/${BOOTDIRNAME}/boot.msg ] && echo 'ERROR:no boot.msg found, aborting!' && exit 1
+ [ ! -s ${TEMPDIR}/${BOOTDIRNAME}/options.msg ] && echo 'ERROR:no options.msg found, aborting!' && exit 1
+# create image
+echo ":: Creating ISO image ..."
+ [ -e ${GENIMG} ] && rm ${GENIMG}
+ [ -s "${ISONAME}" ] && ISONAME=$(cat $ISONAME) || ISONAME="Parabola GNU/Linux-libre"
+ mkisofs -RlDJLV "${ISONAME}" -b boot/syslinux/isolinux.bin -c boot/syslinux/boot.cat \
+ -no-emul-boot -boot-load-size 4 -boot-info-table -o ${GENIMG} ${TEMPDIR}/ > /dev/null 2>&1 \
+ && echo ":: ISO Image succesfull created at ${GENIMG}"
+ # burning/blanking image
+ if [ "$BLANK" = "1" ]; then
+ echo ":: Blanking media DEVICE=${DEVICE}, BLANKMODE=${BLANKMODE}, SPEED=${SPEED} ..."
+ cdrecord dev=${DEVICE} speed=${SPEED} blank=${BLANKMODE} > /dev/null 2>&1 && echo ":: Successfull."
+ fi
+ if [ "$BURN" = "1" ]; then
+ echo ":: Burning ISO image DEVICE=${DEVICE}, SPEED=${SPEED} ..."
+ cdrecord dev=${DEVICE} speed=${SPEED} -eject ${GENIMG} > /dev/null 2>&1 && echo ":: Successfull."
+ fi
+
+# clean /tmp
+rm -r ${TEMPDIR}
diff --git a/libre/mkisolinux/mkisolinux.conf b/libre/mkisolinux/mkisolinux.conf
new file mode 100644
index 000000000..e8b1e0df0
--- /dev/null
+++ b/libre/mkisolinux/mkisolinux.conf
@@ -0,0 +1,39 @@
+# Created by Tobias Powalowski <tpowa@archlinux.org>
+# Rebranded for Parabola by André Silva <emulatorman@parabola.nu>
+# config file of mkisolinux
+
+# DEFAULT kernel boot options like root=/dev/sda3 etc.
+# add your root= option, if you boot from a disk device
+# and don't want to add it by hand on each boot
+KERNEL_BOOT_OPTIONS=""
+
+# mkinitcpio config file, defaulted to stock config file
+MKINITCPIO_CONFIG="/etc/mkinitcpio.conf"
+
+# kernel version, defaulted to build for runtime kernel
+VERSION="$(uname -r)"
+
+# kernel image, defaulted to stock libre kernel
+KERNEL="/boot/vmlinuz-linux-libre"
+
+# boot message files
+BOOTMESSAGE="/usr/share/mkisolinux/boot.msg"
+OPTIONSBOOTMESSAGE="/usr/share/mkisolinux/options.msg"
+
+# syslinux.cfg file to use
+SYSLINUXCFG=""
+
+# Prompt on boot, 1=yes 0=no
+PROMPT="1"
+
+# Name of the ISO, if empty Parabola GNU/Linux-libre is used if not set by a HOOK later
+ISONAME=""
+
+# Timeout, 30 seconds to fix usb keyboard issues
+# 0 means wait for prompt
+TIMEOUT="300"
+
+# Setting cdrecord options
+DEVICE=""
+SPEED=""
+BLANKMODE=""
diff --git a/libre/mkisolinux/options.msg b/libre/mkisolinux/options.msg
new file mode 100644
index 000000000..16c6b2eda
--- /dev/null
+++ b/libre/mkisolinux/options.msg
@@ -0,0 +1,6 @@
+------------------------------------------------------------------------------
+Parabola GNU/Linux-libre options and troubleshooting:
+
+- If your system hangs during the boot process, any combinations of the
+ boot options noapic acpi=off pci=routeirq nosmp nomsi may be useful.
+------------------------------------------------------------------------------
diff --git a/libre/mkpxelinux/PKGBUILD b/libre/mkpxelinux/PKGBUILD
new file mode 100644
index 000000000..5596983b0
--- /dev/null
+++ b/libre/mkpxelinux/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 197074 2013-10-21 15:42:46Z tpowa $
+# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=mkpxelinux
+pkgver=2013.10
+pkgrel=1.1
+pkgdesc="Advanced, modular network pxe boot image creation utility (Parabola rebranded)"
+arch=(any)
+license=('GPL')
+url="https://parabolagnulinux.org/"
+depends=('mkinitcpio' 'tftp-hpa' 'syslinux')
+backup=(etc/mkpxelinux.conf)
+optdepends=('dhcp: for dhcp server usage')
+source=('boot.msg' 'mkpxelinux' 'mkpxelinux.conf' 'options.msg')
+
+package()
+{
+ cd "$srcdir/"
+ install -D -m755 mkpxelinux "$pkgdir/usr/bin/mkpxelinux"
+ install -D -m644 mkpxelinux.conf "$pkgdir/etc/mkpxelinux.conf"
+ install -D -m644 boot.msg "$pkgdir/usr/share/mkpxelinux/boot.msg"
+ install -D -m644 options.msg "$pkgdir/usr/share/mkpxelinux/options.msg"
+}
+md5sums=('7225e73bfe717f97bd7ab52f5ab157f6'
+ '44c6b9fa8ae668a432f26adb9e70bd3f'
+ '158dece3af889740b0f0ee397f9058ed'
+ 'ae0007d6679b5a575b2a9e5ac3664baf')
diff --git a/libre/mkpxelinux/boot.msg b/libre/mkpxelinux/boot.msg
new file mode 100644
index 000000000..6c1fcd476
--- /dev/null
+++ b/libre/mkpxelinux/boot.msg
@@ -0,0 +1,14 @@
+
+
+------------------------------------------------------------------------------
+Parabola GNU/Linux-libre
+PXELINUX BOOT
+created with 'mkpxelinux' written by Tobias Powalowski <tpowa@archlinux.org>
+
+Press ENTER or type 'parabola' to boot image.
+
+If you wish to change your defaults to boot into your existing system,
+type 'vmlinuz initrd=initrd.img <any_other_boot_option>'
+Use the F2 key for troubleshooting and options.
+------------------------------------------------------------------------------
+
diff --git a/libre/mkpxelinux/mkpxelinux b/libre/mkpxelinux/mkpxelinux
new file mode 100755
index 000000000..35e946f82
--- /dev/null
+++ b/libre/mkpxelinux/mkpxelinux
@@ -0,0 +1,91 @@
+#! /bin/sh
+# Created by Tobias Powalowski <tpowa@archlinux.org>
+# Rebranded for Parabola by André Silva <emulatorman@parabola.nu>
+# Settings
+APPNAME=$(basename "${0}")
+CONFIG="/etc/mkpxelinux.conf"
+
+usage ()
+{
+ echo "${APPNAME}: usage"
+ echo""
+ echo " -d=INSTALLDIR Your INSTALLDIR overwrites config default"
+ echo " -c=CONFIG Use CONFIG file. default: /etc/mkpxelinux.conf"
+ echo " -h This message."
+ exit 1
+}
+
+[ "$1" == "" ] && usage && exit 1
+
+while [ $# -gt 0 ]; do
+ case $1 in
+ -c=*|--c=*) CONFIG="$(echo $1 | awk -F= '{print $2;}')" ;;
+ -d=*|--d=*) CUSTOMINSTALLDIR="$(echo $1 | awk -F= '{print $2;}')" ;;
+ -h|--h|?) usage ;;
+ *) usage ;;
+ esac
+ shift
+done
+
+if [ ! -f "${CONFIG}" ]; then
+ echo "config file '${CONFIG}' cannot be found, aborting..."
+ exit 1
+fi
+
+. "${CONFIG}"
+# export for mkinitcpio
+[ -n "${APPENDBOOTMESSAGE}" ] && export APPENDBOOTMESSAGE
+[ -n "${APPENDOPTIONSBOOTMESSAGE}" ] && export APPENDOPTIONSBOOTMESSAGE
+
+! [ "${CUSTOMINSTALLDIR}" = "" ] && INSTALLDIR=${CUSTOMINSTALLDIR}
+
+if [ "${INSTALLDIR}" = "" ]; then
+ echo "ERROR: No INSTALLDIR name specified, please use the -d option"
+ exit 1
+fi
+
+if ! [ $UID -eq 0 ]; then
+ echo "ERROR: only works when run as root!"
+ exit 1
+fi
+
+! [ -e ${INSTALLDIR} ] && echo "No ${INSTALLDIR} found!" && exit 1
+export TEMPDIR=${NFSROOTDIR}
+export INSTALLDIR=${INSTALLDIR}
+export RUNPROGRAM="${APPNAME}"
+[ "${BOOTMESSAGE}" = "" ] && export BOOTMESSAGE=$(mktemp /tmp/bootmessage.XXXX)
+[ "${OPTIONSBOOTMESSAGE}" = "" ] && export OPTIONSBOOTMESSAGE=$(mktemp /tmp/optionsbootmessage.XXXX)
+export USEKERNEL=${VERSION}
+# begin script
+# create default
+echo ":: Creating pxelinux default config file ..."
+mkdir -p ${INSTALLDIR}/pxelinux.cfg
+if [ "${PXELINUX_DEFAULT}" = "" ]; then
+ [ -e ${INSTALLDIR}/pxelinux.cfg/default ] && rm ${INSTALLDIR}/pxelinux.cfg/default
+ echo "prompt ${PROMPT}" >> ${INSTALLDIR}/pxelinux.cfg/default
+ echo "timeout ${TIMEOUT}" >> ${INSTALLDIR}/pxelinux.cfg/default
+ echo "display boot.msg" >> ${INSTALLDIR}/pxelinux.cfg/default
+ echo "F1 boot.msg" >> ${INSTALLDIR}/pxelinux.cfg/default
+ echo "F2 options.msg" >> ${INSTALLDIR}/pxelinux.cfg/default
+ echo "default parabola" >> ${INSTALLDIR}/pxelinux.cfg/default
+ echo "label parabola" >> ${INSTALLDIR}/pxelinux.cfg/default
+ echo "kernel vmlinuz" >> ${INSTALLDIR}/pxelinux.cfg/default
+ echo "append initrd=initrd.img ${KERNEL_BOOT_OPTIONS}" >> ${INSTALLDIR}/pxelinux.cfg/default
+else
+ sed "s|@@PROMPT@@|${PROMPT}|g;s|@@TIMEOUT@@|${TIMEOUT}|g;s|@@KERNEL_BOOT_OPTIONS@@|${KERNEL_BOOT_OPTIONS}|g" \
+ ${PXELINUX_DEFAULT} > ${INSTALLDIR}/pxelinux.cfg/default
+fi
+[ ! -s ${INSTALLDIR}/pxelinux.cfg/default ] && echo "No pxelinux default config found" && exit 1
+echo ":: Calling mkinitcpio CONFIG=${MKINITCPIO_CONFIG} KERNEL=${VERSION} ..."
+# generate initramdisk
+echo ":: Creating initramdisk ..."
+ mkinitcpio -c ${MKINITCPIO_CONFIG} -k ${VERSION} -g ${INSTALLDIR}/initrd.img
+echo ":: Using ${KERNEL} as image kernel ..."
+ install -m644 ${KERNEL} ${INSTALLDIR}/vmlinuz
+echo ":: Installing message files to ${INSTALLDIR} ..."
+ install -m644 ${BOOTMESSAGE} ${INSTALLDIR}/boot.msg
+ install -m644 ${OPTIONSBOOTMESSAGE} ${INSTALLDIR}/options.msg
+ [ ! -s ${INSTALLDIR}/boot.msg ] && echo 'ERROR:no boot.msg found, aborting!' && exit 1
+ [ ! -s ${INSTALLDIR}/options.msg ] && echo 'ERROR:no options.msg found, aborting!' && exit 1
+echo ":: Installing PXELINUX to ${INSTALLDIR} ..."
+ install -m644 /usr/lib/syslinux/bios/pxelinux.0 ${INSTALLDIR}/pxelinux.0 && echo "Installation completed."
diff --git a/libre/mkpxelinux/mkpxelinux.conf b/libre/mkpxelinux/mkpxelinux.conf
new file mode 100644
index 000000000..55aba8247
--- /dev/null
+++ b/libre/mkpxelinux/mkpxelinux.conf
@@ -0,0 +1,37 @@
+# Created by Tobias Powalowski <tpowa@archlinux.org>
+# Rebranded for Parabola by André Silva <emulatorman@parabola.nu>
+# config file of mkpxelinux
+
+# DEFAULT kernel boot options like ip=:::::eth0:dhcp etc.
+# add your root= option, if you boot from a disk device
+# and don't want to add it by hand on each boot
+KERNEL_BOOT_OPTIONS=""
+
+# mkinitcpio config file, defaulted to stock config file
+MKINITCPIO_CONFIG="/etc/mkinitcpio.conf"
+
+# kernel version, defaulted to build for runtime kernel
+VERSION="$(uname -r)"
+
+# kernel image, defaulted to stock libre kernel
+KERNEL="/boot/vmlinuz-linux-libre"
+
+# boot message files
+BOOTMESSAGE="/usr/share/mkpxelinux/boot.msg"
+OPTIONSBOOTMESSAGE="/usr/share/mkpxelinux/options.msg"
+
+#pxelinux default config file to use
+PXELINUX_DEFAULT=""
+
+# Prompt on boot, 1=yes 0=no
+PROMPT="1"
+
+# Timeout, 30 seconds to fix usb keyboard issues
+# 0 means wait for prompt
+TIMEOUT="300"
+
+# Installdir of tftp, default location
+INSTALLDIR="/var/tftpboot"
+
+# Nfsrootdir, for hooks that might need it
+NFSROOTDIR=""
diff --git a/libre/mkpxelinux/options.msg b/libre/mkpxelinux/options.msg
new file mode 100644
index 000000000..16c6b2eda
--- /dev/null
+++ b/libre/mkpxelinux/options.msg
@@ -0,0 +1,6 @@
+------------------------------------------------------------------------------
+Parabola GNU/Linux-libre options and troubleshooting:
+
+- If your system hangs during the boot process, any combinations of the
+ boot options noapic acpi=off pci=routeirq nosmp nomsi may be useful.
+------------------------------------------------------------------------------
diff --git a/libre/mksyslinux/PKGBUILD b/libre/mksyslinux/PKGBUILD
new file mode 100644
index 000000000..f01c844a9
--- /dev/null
+++ b/libre/mksyslinux/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 187120 2013-06-04 06:46:39Z tpowa $
+# Maintainer : Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=mksyslinux
+pkgver=2013.06
+pkgrel=1.1
+pkgdesc="Advanced, modular syslinux boot image creation utility (Parabola rebranded)"
+arch=(any)
+license=('GPL')
+url="https://parabolagnulinux.org/"
+depends=('mkinitcpio' 'syslinux' 'pciutils')
+backup=(etc/mksyslinux.conf)
+source=('boot.msg' 'mksyslinux' 'mksyslinux.conf' 'options.msg')
+
+package()
+{
+ cd "$srcdir/"
+ install -D -m755 mksyslinux "$pkgdir/usr/bin/mksyslinux"
+ install -D -m644 mksyslinux.conf "$pkgdir/etc/mksyslinux.conf"
+ install -D -m644 boot.msg "$pkgdir/usr/share/mksyslinux/boot.msg"
+ install -D -m644 options.msg "$pkgdir/usr/share/mksyslinux/options.msg"
+}
+md5sums=('287aad9693ca8061495e248c41ba43a7'
+ '0a9fd93356b5d98ab386f28bc849b808'
+ '15742e47e40a46491694b4b7680d4e38'
+ 'ae0007d6679b5a575b2a9e5ac3664baf')
diff --git a/libre/mksyslinux/boot.msg b/libre/mksyslinux/boot.msg
new file mode 100644
index 000000000..2cfe24d42
--- /dev/null
+++ b/libre/mksyslinux/boot.msg
@@ -0,0 +1,15 @@
+
+
+------------------------------------------------------------------------------
+Parabola GNU/Linux-libre
+SYSLINUX BOOT
+created with 'mksyslinux' by Tobias Powalowski <tpowa@archlinux.org>
+rebranded for Parabola by André Silva <emulatorman@parabola.nu>
+
+Press ENTER or type 'parabola' to boot image.
+
+If you wish to change your defaults to boot into your existing system,
+type 'vmlinuz initrd=initrd.img <any_other_boot_option>'
+Use the F2 key for troubleshooting and options.
+------------------------------------------------------------------------------
+
diff --git a/libre/mksyslinux/mksyslinux b/libre/mksyslinux/mksyslinux
new file mode 100755
index 000000000..96ad45133
--- /dev/null
+++ b/libre/mksyslinux/mksyslinux
@@ -0,0 +1,144 @@
+#! /bin/sh
+# Created by Tobias Powalowski <tpowa@archlinux.org>
+# Settings
+APPNAME=$(basename "${0}")
+CONFIG="/etc/mksyslinux.conf"
+export TEMPDIR=$(mktemp /tmp/mksyslinux.XXX)
+TMPDIR=$(mktemp -d /tmp/mksyslinux-image.XXX)
+BOOTDIRNAME=boot/syslinux
+
+usage ()
+{
+ echo "${APPNAME}: usage"
+ echo "WRITING TO DEVICE:"
+ echo "- PREPARATION: Your device must have a bootable first partition in FAT16 format!"
+ echo "- ATTENTION: The MBR of your DEVICE will be overwritten! You have been warned!"
+ echo ""
+ echo "CREATING AN IMAGE FILE:"
+ echo "- For creating an image file use the -i=IMAGEFILE switch"
+ echo "- use 'dd if=<yourimage> of=<yourdevice>' to write to your device afterwards."
+ echo ""
+ echo "PARAMETERS:"
+ echo " -d=DEVICE Your DEVICE first partition from /dev/xxx tree to install"
+ echo " -i=IMAGENAME Your IMAGENAME"
+ echo " -c=CONFIG Use CONFIG file. default: /etc/mksyslinux.conf"
+ echo " -h This message."
+ exit 1
+}
+
+[ "$1" == "" ] && usage && exit 1
+
+
+while [ $# -gt 0 ]; do
+ case $1 in
+ -c=*|--c=*) CONFIG="$(echo $1 | awk -F= '{print $2;}')" ;;
+ -d=*|--d=*) DEVICE="$(echo $1 | awk -F= '{print $2;}')" ;;
+ -i=*|--i=*) IMAGENAME="$(echo $1 | awk -F= '{print $2;}')" ;;
+ -h|--h|?) usage ;;
+ *) usage ;;
+ esac
+ shift
+done
+
+if [ ! -f "${CONFIG}" ]; then
+ echo "config file '${CONFIG}' cannot be found, aborting..."
+ exit 1
+fi
+
+if [ "${IMAGENAME}" = "" ]; then
+ if [ "${DEVICE}" = "" ]; then
+ echo "ERROR: No DEVICE name specified, please use the -d option"
+ exit 1
+ fi
+fi
+
+if ! [ $UID -eq 0 ]; then
+ echo "ERROR: only works when run as root!"
+ exit 1
+fi
+
+. "${CONFIG}"
+# export for mkinitcpio
+[ -n "${APPENDBOOTMESSAGE}" ] && export APPENDBOOTMESSAGE
+[ -n "${APPENDBOOTMESSAGE_SYSLINUX}" ] && export APPENDBOOTMESSAGE_SYSLINUX
+[ -n "${APPENDOPTIONSBOOTMESSAGE}" ] && export APPENDOPTIONSBOOTMESSAGE
+
+MBRDEVICE="$(echo ${DEVICE} | sed -e 's/[0-9]//g')"
+
+export RUNPROGRAM="${APPNAME}"
+[ "${BOOTMESSAGE}" = "" ] && export BOOTMESSAGE=$(mktemp /tmp/bootmessage.XXXX)
+[ "${OPTIONSBOOTMESSAGE}" = "" ] && export OPTIONSBOOTMESSAGE=$(mktemp /tmp/optionsbootmessage.XXXX)
+export USEKERNEL=${VERSION}
+# begin script
+[ -e ${TEMPDIR} ] && rm -r ${TEMPDIR}
+mkdir -p ${TEMPDIR}
+echo ":: Mounting ${DEVICE} ..."
+if ! [ "${IMAGENAME}" = "" ]; then
+ modprobe loop
+else
+ mount ${DEVICE} ${TEMPDIR} || exit 1
+fi
+mkdir -p ${TEMPDIR}/${BOOTDIRNAME}
+# prepare syslinux bootloader
+install -m755 /usr/lib/syslinux/isolinux.bin ${TEMPDIR}/${BOOTDIRNAME}/isolinux.bin
+for i in /usr/lib/syslinux/*.c32; do
+ install -m644 $i ${TEMPDIR}/${BOOTDIRNAME}/$(basename $i)
+done
+install -m644 /usr/share/hwdata/pci.ids ${TEMPDIR}/${BOOTDIRNAME}/pci.ids
+
+# create syslinux.cfg
+echo ":: Creating syslinux.cfg ..."
+if [ "${SYSLINUXCFG}" = "" ]; then
+ [ -e ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg ] && rm ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "prompt ${PROMPT}" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "timeout ${TIMEOUT}" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "display boot.msg" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "F1 boot.msg" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "F2 options.msg" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "default parabola" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "label parabola" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "kernel /boot/vmlinuz" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+ echo "append initrd=/boot/initrd.img ${KERNEL_BOOT_OPTIONS}" >> ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+else
+ sed "s|@@PROMPT@@|${PROMPT}|g;s|@@TIMEOUT@@|${TIMEOUT}|g;s|@@KERNEL_BOOT_OPTIONS@@|${KERNEL_BOOT_OPTIONS}|g" \
+ ${SYSLINUXCFG} > ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg
+fi
+[ ! -s ${TEMPDIR}/${BOOTDIRNAME}/syslinux.cfg ] && echo "No syslinux.cfg found" && exit 1
+echo ":: Calling mkinitcpio CONFIG=${MKINITCPIO_CONFIG} KERNEL=${VERSION} ..."
+# generate initramdisk
+echo ":: Creating initramdisk ..."
+ mkinitcpio -c ${MKINITCPIO_CONFIG} -k ${VERSION} -g ${TEMPDIR}/boot/initrd.img
+echo ":: Using ${KERNEL} as image kernel ..."
+ install -m644 ${KERNEL} ${TEMPDIR}/boot/vmlinuz
+ install -m644 ${BOOTMESSAGE} ${TEMPDIR}/${BOOTDIRNAME}/boot.msg
+ install -m644 ${OPTIONSBOOTMESSAGE} ${TEMPDIR}/${BOOTDIRNAME}/options.msg
+ [ ! -s ${TEMPDIR}/${BOOTDIRNAME}/boot.msg ] && echo 'ERROR:no boot.msg found, aborting!' && exit 1
+ [ ! -s ${TEMPDIR}/${BOOTDIRNAME}/options.msg ] && echo 'ERROR:no options.msg found, aborting!' && exit 1
+if ! [ "${IMAGENAME}" = "" ]; then
+ # ext2 overhead's upper bound is 6%
+ # empirically tested up to 1GB
+ rootsize=$(du -bs ${TEMPDIR}|cut -f1)
+ IMGSZ=$(( (${rootsize}*106)/100/512 + 1)) # image size in sectors
+ # create the filesystem image file
+ dd if=/dev/zero of="${IMAGENAME}" bs=512 count="${IMGSZ}"
+ # create a filesystem on the image
+ mkfs.vfat "${IMAGENAME}"
+ mount -o loop ${IMAGENAME} ${TMPDIR} || exit 1
+ cp -r "${TEMPDIR}"/* "$TMPDIR"
+ umount ${TMPDIR}
+else
+ echo ":: Unmounting ${DEVICE} ..."
+ umount ${TEMPDIR} || exit 1
+fi
+if ! [ "${IMAGENAME}" = "" ]; then
+ echo ":: Installing SYSLINUX on ${IMAGENAME} ..."
+ syslinux ${IMAGENAME} && echo "Installation completed."
+else
+ echo ":: Installing MBR on ${MBRDEVICE} ..."
+ cat ${MBR} > ${MBRDEVICE}
+ echo ":: Installing SYSLINUX on ${DEVICE} ..."
+ syslinux -t offset ${DEVICE} && echo "Installation completed."
+fi
+# clean /tmp
+rm -r ${TEMPDIR}
+! [ ${IMAGENAME} = "" ] && rm -r ${TMPDIR}
diff --git a/libre/mksyslinux/mksyslinux.conf b/libre/mksyslinux/mksyslinux.conf
new file mode 100644
index 000000000..a7d032295
--- /dev/null
+++ b/libre/mksyslinux/mksyslinux.conf
@@ -0,0 +1,34 @@
+# Created by Tobias Powalowski <tpowa@archlinux.org>
+# Rebranded for Parabola by André Silva <emulatorman@parabola.nu>
+# config file of mksyslinux
+
+# DEFAULT kernel boot options like root=/dev/sda3 etc.
+# add your root= option, if you boot from a disk device
+# and don't want to add it by hand on each boot
+KERNEL_BOOT_OPTIONS=""
+
+# mkinitcpio config file, defaulted to stock config file
+MKINITCPIO_CONFIG="/etc/mkinitcpio.conf"
+
+# kernel version, defaulted to build for runtime kernel
+VERSION="$(uname -r)"
+
+# kernel image, defaulted to stock libre kernel
+KERNEL="/boot/vmlinuz-linux-libre"
+
+# boot message files
+BOOTMESSAGE="/usr/share/mksyslinux/boot.msg"
+OPTIONSBOOTMESSAGE="/usr/share/mksyslinux/options.msg"
+
+# syslinux.cfg file to use
+SYSLINUXCFG=""
+
+# Prompt on boot, 1=yes 0=no
+PROMPT="1"
+
+# Timeout, 30 seconds to fix usb keyboard issues
+# 0 means wait for prompt
+TIMEOUT="300"
+
+# default MBR
+MBR="/usr/lib/syslinux/mbr.bin"
diff --git a/libre/mksyslinux/options.msg b/libre/mksyslinux/options.msg
new file mode 100644
index 000000000..16c6b2eda
--- /dev/null
+++ b/libre/mksyslinux/options.msg
@@ -0,0 +1,6 @@
+------------------------------------------------------------------------------
+Parabola GNU/Linux-libre options and troubleshooting:
+
+- If your system hangs during the boot process, any combinations of the
+ boot options noapic acpi=off pci=routeirq nosmp nomsi may be useful.
+------------------------------------------------------------------------------
diff --git a/libre/mozilla-searchplugins/PKGBUILD b/libre/mozilla-searchplugins/PKGBUILD
new file mode 100644
index 000000000..85bba0637
--- /dev/null
+++ b/libre/mozilla-searchplugins/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Contributor: Figue <ffigue at gmail>
+# Contributor: Figue <ffigue at gmail>
+# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar>
+# Contributor (Parabola): vando <facundo@esdebian.org>
+# Contributor (Parabola): Márcio Silva <coadde@lavabit.com>
+# Thank you very much to the older contributors:
+# Contributor: evr <evanroman at gmail>
+# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com>
+
+pkgname=mozilla-searchplugins
+pkgver=1.5
+pkgrel=1
+pkgdesc="System-wide OpenSearch plugins common for Mozilla based browsers."
+arch=('any')
+license=('MPL' 'GPL' 'LGPL')
+url="https://parabolagnulinux.org/"
+source=(
+ duckduckgo-html.xml
+ duckduckgo-lite.xml
+ internet-archive.xml
+ parabola-packages.xml::https://parabolagnulinux.org/opensearch/packages/
+ parabola-wiki-en.xml::
+ seeks-search.xml::http://www.seeks.fr/opensearch.xml
+# yacy.xml::http://search.ipredator.se/opensearchdescription.xml
+ yacy.xml
+ wikipedia-en.xml::https://en.wikipedia.org/w/opensearch_desc.php
+)
+
+package() {
+ install -m755 -d "${pkgdir}/usr/lib/mozilla/searchplugins"
+ install -m644 "${srcdir}"/*.xml "${pkgdir}/usr/lib/mozilla/searchplugins"
+}
+
+md5sums=('3412ff5311c1ba8d883ba9c6fd805bb7'
+ 'edb15da251e25cec39d471d885463db3'
+ '462c68585461f8cdc23c93c46f6ee4cf'
+ '92f834a3a1d85c9ae202955cdfe941eb'
+ 'b9a0893d7f6d41d755c478fd60c44be8'
+ 'dc6c76acf4c68a40710383513d72fa8b'
+ '0f6cb4119f54e90d678827e2928474d4'
+ 'dbdd9b61e89d73cc3a70cbe20a1160e1')
diff --git a/libre/mozilla-searchplugins/duckduckgo-html.xml b/libre/mozilla-searchplugins/duckduckgo-html.xml
new file mode 100644
index 000000000..14575dd12
--- /dev/null
+++ b/libre/mozilla-searchplugins/duckduckgo-html.xml
@@ -0,0 +1,17 @@
+<SearchPlugin
+ xmlns="http://www.mozilla.org/2006/browser/search/"
+xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>DuckDuckGo HTML</os:ShortName>
+<os:Description>Search DuckDuckGo (HTML)</os:Description>
+<os:InputEncoding>UTF-8</os:InputEncoding>
+<os:Image width="16"
+height="16">data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAB8lBMVEUAAADkRQzjPwPjQQXkRQ3iPwTiQQXgPQPeQgrcOwPVNgDVNQDWOgbTMwDRMgDQMwDSMwDRNwTQLgDRJgDSJwDSLgDSNwTjOgDiOADjOQDkPADhQAXzs5v+/fv////0vKbiRQvgPQHpdUr85NzuknPdKgDcIwDnZzj2w7HqeU/gPQLsimb/+PftjWn97Obpb0LdJQDeLQDtjmvsi2jgSBDnbULgOQD/39HgLQDeMgDpeFLgSBH0v670uqbaJQD2qImWvP/G1Ob5+/3u//+fvvXyp47dMwDaLwD0u6v0v6/aNQDiXi/aKQD3qozU7/8gSY2vvtg0ZK/OqLDaKQHYKgLgWTfaNADZMgDZMADZLADzqpD7//+xwdz//9H/5Bn/7Bn//ADofADYMADYMQDZOgPXLgDiZDj//97/0AD3tQDvlgHZOgbXLATXMADWMgDfXjLVLQD///z+0AD/3Rn/yRnwnQDcVjbVMQDyv67wuKTSJwDRHQD+8O/tg3/iQQDwhAHnawHWMADvtKfyva7XQxHga0bQGQD2vbH/u8LXIQCmPQzja07XQxLliGn99fPkcVHvhnGZ5VguvUU5wktBwCcAgxzydVv/8/XmiGngdlL+ysi3+I8LtCE80V6P3YmX4sDleljSNQLzr6D7sKPXNQTSIwAEAbMrAAAAF3RSTlMARqSkRvPz80PTpKRG3fPe3hio9/eoGP50jNsAAAABYktHRB5yCiArAAAAyElEQVQYGQXBvUqCYRiA4fu2V9Tn+UQddI3aCpxaOoU6iU4gcqqpoYbALXBuCuoYmttamqJDiEoh4YP+MOi6BNCh+uYKEGiOVNCXXxA2XDVV/UyfKbRCXTLQWAxbP2vt8Ue/uYDvfim91615sb2um6rqtrr/NFb1cUf1Ybd06areU6lSlYpK79jzK1SyJOkfhOl8JGEcqV5zoKrTRqO6yUzIzNu46ijdM1VV9bhuUJ/nZURExLRzUiPQm3kKXHi4BAEGOmOi78A/L1QoU/VHoTsAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTQtMDEtMTlUMjA6MDE6MTEtMDU6MDAuET6cAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE0LTAxLTE5VDIwOjAxOjExLTA1OjAwX0yGIAAAAABJRU5ErkJggg==</os:Image>
+<os:Url
+ type="text/html" method="POST"
+template="https://duckduckgo.com/html/">
+ <os:Param name="q" value="{searchTerms}"/>
+</os:Url><os:Url type="application/x-suggestions+json"
+method="GET"
+template="https://duckduckgo.com/ac/?q={searchTerms}&amp;type=list">
+</os:Url>
+</SearchPlugin>
diff --git a/libre/mozilla-searchplugins/duckduckgo-lite.xml b/libre/mozilla-searchplugins/duckduckgo-lite.xml
new file mode 100644
index 000000000..12436fb9a
--- /dev/null
+++ b/libre/mozilla-searchplugins/duckduckgo-lite.xml
@@ -0,0 +1,17 @@
+<SearchPlugin
+ xmlns="http://www.mozilla.org/2006/browser/search/"
+xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>DuckDuckGo Lite</os:ShortName>
+<os:Description>Search DuckDuckGo (Lite)</os:Description>
+<os:InputEncoding>UTF-8</os:InputEncoding>
+<os:Image width="16"
+height="16">data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAB8lBMVEUAAADkRQzjPwPjQQXkRQ3iPwTiQQXgPQPeQgrcOwPVNgDVNQDWOgbTMwDRMgDQMwDSMwDRNwTQLgDRJgDSJwDSLgDSNwTjOgDiOADjOQDkPADhQAXzs5v+/fv////0vKbiRQvgPQHpdUr85NzuknPdKgDcIwDnZzj2w7HqeU/gPQLsimb/+PftjWn97Obpb0LdJQDeLQDtjmvsi2jgSBDnbULgOQD/39HgLQDeMgDpeFLgSBH0v670uqbaJQD2qImWvP/G1Ob5+/3u//+fvvXyp47dMwDaLwD0u6v0v6/aNQDiXi/aKQD3qozU7/8gSY2vvtg0ZK/OqLDaKQHYKgLgWTfaNADZMgDZMADZLADzqpD7//+xwdz//9H/5Bn/7Bn//ADofADYMADYMQDZOgPXLgDiZDj//97/0AD3tQDvlgHZOgbXLATXMADWMgDfXjLVLQD///z+0AD/3Rn/yRnwnQDcVjbVMQDyv67wuKTSJwDRHQD+8O/tg3/iQQDwhAHnawHWMADvtKfyva7XQxHga0bQGQD2vbH/u8LXIQCmPQzja07XQxLliGn99fPkcVHvhnGZ5VguvUU5wktBwCcAgxzydVv/8/XmiGngdlL+ysi3+I8LtCE80V6P3YmX4sDleljSNQLzr6D7sKPXNQTSIwAEAbMrAAAAF3RSTlMARqSkRvPz80PTpKRG3fPe3hio9/eoGP50jNsAAAABYktHRB5yCiArAAAAyElEQVQYGQXBvUqCYRiA4fu2V9Tn+UQddI3aCpxaOoU6iU4gcqqpoYbALXBuCuoYmttamqJDiEoh4YP+MOi6BNCh+uYKEGiOVNCXXxA2XDVV/UyfKbRCXTLQWAxbP2vt8Ue/uYDvfim91615sb2um6rqtrr/NFb1cUf1Ybd06areU6lSlYpK79jzK1SyJOkfhOl8JGEcqV5zoKrTRqO6yUzIzNu46ijdM1VV9bhuUJ/nZURExLRzUiPQm3kKXHi4BAEGOmOi78A/L1QoU/VHoTsAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTQtMDEtMTlUMjA6MDE6MTEtMDU6MDAuET6cAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE0LTAxLTE5VDIwOjAxOjExLTA1OjAwX0yGIAAAAABJRU5ErkJggg==</os:Image>
+<os:Url
+ type="text/html" method="POST"
+template="https://duckduckgo.com/lite/">
+ <os:Param name="q" value="{searchTerms}"/>
+</os:Url><os:Url type="application/x-suggestions+json"
+method="GET"
+template="https://duckduckgo.com/ac/?q={searchTerms}&amp;type=list">
+</os:Url>
+</SearchPlugin>
diff --git a/libre/mozilla-searchplugins/internet-archive.xml b/libre/mozilla-searchplugins/internet-archive.xml
new file mode 100644
index 000000000..1556a2d8c
--- /dev/null
+++ b/libre/mozilla-searchplugins/internet-archive.xml
@@ -0,0 +1,12 @@
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>Internet Archive</os:ShortName>
+<os:Description>Search www.archive.org</os:Description>
+<os:InputEncoding>ISO-8859-1</os:InputEncoding>
+<os:Image width="16" height="16">data:image/x-icon;base64,R0lGODlhEAAQAPf0ABQAABMTERQTEhcXFxUYFRscGCwWEzYQDSAkHiAhICEiISQkIiUmJScnJSkpKSsrKi8vLDcvKjM0LzE1Mjc3NjU6Nj44NTw9OT0+Pj4/PD9CQUYdF00lJEE0KkQ9N0Y9NFItLFUvL1wzLFc/PV01MGE8PWU/OWk5NGo7OkBAP0RFREVJRURJRkVLR0ZIRkdJSUZLSEhMS0pPTFZOSllDQlZXVWFJRWVKQWRLRGtPRG9KSWxQRWxRRmhQTHJCQnFDRHVEQHZFQHpLS3hKTHlNSn5PSn5PTXxOUHRWTXBeU29jXXtgWHxjXn1mZIBQS4BQUIJZUoBZWIVeXYhfW4ZsX41jXYlrXoxuX4RuYoppYotza5NlZ5Zua5J4bpt5ZpaDeaKBb42MiY6MiY6NiY+QjJGIhZGKhZiLgp+IgJGRjJOSjZKSj5SWjpSTkJWVkJWUkpaUkZaVkquLgKmMgayPgK6Sh6mWj6ycj7GQgbKSgLWSgrqXi7maj7Sck7Smn72ilK+so6ytqbanobKppLysoLytor6uprqxqr2wqr+zrL23tMOklsCroMKvpcWqoMSsocStocSupcS1qce2rMa6r8m1rsO8ssa4sM65sty5q9C6sc3DttbEvdbKv9nFt9rHvODAsuDIuuHLvufKvurNvNDLwtDPy9nLwN3Oxt3Xz+TMwODQxuPTxuXRxefRxuHWzO3Ux+/WxunXy+vWyO3XzujYyuzYy+7bz+HZ0eHZ1eLc0uXc0+bc2Ore0u7c0O/f0vHf1eTg2+/h1O/h1u/j2u/m2vDh0/Hg1vDi1fHi1fPh1fPh1/bg1vLq3fXr3/ng1vjl2fnk2fTr5fTs4vHu6Pfw5vb07vnz5vvy5/zy5vry6Pv06vj17/7y6v/17fz47/757v/57v/38Pr58/358f358//68P778v/68/z89v/99f/+9f//9P7+9///9/z8+f//+P//+/7+/v///v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAQABAAAAj+ALeUoDHjAosYKlKsaAHjhYsMgYaAAGABggwNDgbUqMAAgwIKa47oMBChwIQHAQRIQEAgQYMFYX6EGFEmDZk2ceCoYePmjZgxpnxEaSKPntGjR+fRi/dESo9y3MYFy8ULl65Sit6loyaEgw14qQANQuTn0pkPHsxYa2eEC5Nu0ywlMmSn0Z0OSg6RW4fiAA512nahqoQGkqckgqShO+ekypJw2F6titTlTywsnLxtY3diww135k59cjRnESkqmMR9YwdEBI9imwoxqiMHTx4rmohVAxdExI5Wkgg94rNHj5crWr5QulYESo5bxmqJGgUqExg6fSZ1akaEBBJXvlgfybI1C1YoVbSA9XI2xUSWZ9B+IROWTFk0ZsuODcsWEAA7</os:Image>
+<UpdateInterval>7</UpdateInterval>
+<UpdateUrl>http://mycroft.mozdev.org/update.php/id0/archive.src</UpdateUrl>
+<IconUpdateUrl>http://mycroft.mozdev.org/update.php/id0/archive.gif</IconUpdateUrl>
+<SearchForm>http://www.archive.org/</SearchForm>
+<os:Url type="text/html" method="GET" template="http://www.archive.org/search.php?sourceid=Mozilla-search&amp;query={searchTerms}&amp;sort=-%2Fadditional%2Fitem%2Fdownloads">
+</os:Url>
+</SearchPlugin> \ No newline at end of file
diff --git a/libre/mozilla-searchplugins/parabola-packages.xml b/libre/mozilla-searchplugins/parabola-packages.xml
new file mode 100644
index 000000000..1cefb19da
--- /dev/null
+++ b/libre/mozilla-searchplugins/parabola-packages.xml
@@ -0,0 +1,9 @@
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>Parabola Packages</os:ShortName>
+<os:Description>Search the Parabola package repositories.</os:Description>
+<os:InputEncoding>UTF-8</os:InputEncoding>
+<os:Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAtFBMVEUAAAB4fap4fKp4gK12fKh4fqt5eap4fqt4fqx4fat4faqAgKp3fap4fat4gKp4fKt4fat3e614fat4fatxcap3fKp4fat6fq14fax1fKx6eq13faoAAP93e6t4fat4fauAgKp6fqt5fqx3fap3d6p4fat3fqx5fqt4fat4fKt5fqp3fat4fatVVap4fat1fKh4fKt4fqp4fat4fax0dKJ4fauAgJ95fKx5gKx7e6p4fav///+r+nENAAAAOnRSTlMAbEIiKYgVgpD2ygZaziR9lz716AlvwkFiJRl4ATrzuQxDZS0P8UfL1KRjrcwD5iNGV6OZC8YIUCgbgnXDKgAAAAFiS0dEOzkO9GwAAAB4SURBVBjTY2DAAxiZGJiYYRwWVjZ2DgYmTi4wj5uHiZePX4BBUMhKGMgVERUTl5CUkpaRlbOykmdQUFRShuhSUbWyslJjEEEYqm5lpYFii6aVlRaKgLaVDjcyX1dPVR9FgYGVIapDjYxR+SamZqgC5hZoXrPE4WUAR5sJeNGfmtcAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDgtMTVUMTE6MDg6MDItMDM6MDC3YtyCAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA4LTE1VDExOjA4OjAyLTAzOjAwxj9kPgAAAABJRU5ErkJggg==</os:Image>
+<os:Url type="text/html" method="GET" template="https://parabolagnulinux.org/packages/?q={searchTerms}">
+</os:Url><os:Url type="application/opensearchdescription+xml" method="GET" template="https://parabolagnulinux.org/opensearch/packages/" rel="self">
+</os:Url>
+</SearchPlugin>
diff --git a/libre/mozilla-searchplugins/parabola-wiki-en.xml b/libre/mozilla-searchplugins/parabola-wiki-en.xml
new file mode 100644
index 000000000..a391d7335
--- /dev/null
+++ b/libre/mozilla-searchplugins/parabola-wiki-en.xml
@@ -0,0 +1,10 @@
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
+<os:ShortName>Parabola Wiki (en)</os:ShortName>
+<os:Description>Parabola GNU/Linux-Libre Wiki (en)</os:Description>
+<os:InputEncoding>UTF-8</os:InputEncoding>
+<os:Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAtFBMVEUAAAB4fap4fKp4gK12fKh4fqt5eap4fqt4fqx4fat4faqAgKp3fap4fat4gKp4fKt4fat3e614fat4fatxcap3fKp4fat6fq14fax1fKx6eq13faoAAP93e6t4fat4fauAgKp6fqt5fqx3fap3d6p4fat3fqx5fqt4fat4fKt5fqp3fat4fatVVap4fat1fKh4fKt4fqp4fat4fax0dKJ4fauAgJ95fKx5gKx7e6p4fav///+r+nENAAAAOnRSTlMAbEIiKYgVgpD2ygZaziR9lz716AlvwkFiJRl4ATrzuQxDZS0P8UfL1KRjrcwD5iNGV6OZC8YIUCgbgnXDKgAAAAFiS0dEOzkO9GwAAAB4SURBVBjTY2DAAxiZGJiYYRwWVjZ2DgYmTi4wj5uHiZePX4BBUMhKGMgVERUTl5CUkpaRlbOykmdQUFRShuhSUbWyslJjEEEYqm5lpYFii6aVlRaKgLaVDjcyX1dPVR9FgYGVIapDjYxR+SamZqgC5hZoXrPE4WUAR5sJeNGfmtcAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDgtMTVUMTE6MDg6MDItMDM6MDC3YtyCAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEzLTA4LTE1VDExOjA4OjAyLTAzOjAwxj9kPgAAAABJRU5ErkJggg==</os:Image>
+<SearchForm>https://wiki.parabolagnulinux.org/Special:Search</SearchForm>
+<os:Url type="text/html" method="GET" template="https://wiki.parabolagnulinux.org/index.php?title=Special:Search&amp;search={searchTerms}">
+</os:Url><os:Url type="application/x-suggestions+json" method="GET" template="https://wiki.parabolagnulinux.org/api.php?action=opensearch&amp;search={searchTerms}&amp;namespace=0">
+</os:Url>
+</SearchPlugin>
diff --git a/libre/mozilla-searchplugins/yacy.xml b/libre/mozilla-searchplugins/yacy.xml
new file mode 100644
index 000000000..9c97f16cc
--- /dev/null
+++ b/libre/mozilla-searchplugins/yacy.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<OpenSearchDescription
+ xmlns="http://a9.com/-/spec/opensearch/1.1/"
+ xmlns:suggestions="http://www.opensearch.org/specifications/opensearch/extensions/suggestions/1.1">
+ <ShortName>YaCy</ShortName>
+ <LongName>YaCy.net - P2P Web Search</LongName>
+ <Image type="image/gif">http://search.ipredator.se/env/grafics/yacy.png</Image>
+ <Image width="16" height="16">data:image/x-icon;base64,AAABAAEAEBAAAAAAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////Chiu+fBm+fRq+fRq+fRq+fRq+fRq8ehXMmk////////////////////////////++exjUqGfZsnjYsXbYsXbYsXbZsnjTp2W+fBr///////////////////////////+9exfs2r/69/L58+z58+z58+z59e/z59bChSn///////////////////////////+9fBnnz638+fX69O369e748un38Ob59O3Ll0fVrGz////////////////////////Jk0HJlUjXuYrWt4jVtYPr28T58+r59OzPn1fPnlX////////////////////////Rolu8eRXCiTPEjTvCijbNnlj169359e7Zs3vLlkf////////////////////////UqmrAgSLt3MP27eH1693169327+T59Ozo0rG/gB////////////////////////////+/gCDv4Mn48+v38Of59Oz58+v48+vr2b2+fRv///////////////////////////+9ehXr17n58+z48ejo0bDp07T48+zx49DBhCj///////////////////////////+/fhzjyJ/59Oz59OzQoVvNmU759Oz58+vKlUbXrnH////////////////////////LlkfUqmn59Oz48+vZtHzNm1D48+v59OzPoFjOnlX////////////////////////OnVPOnFL59e348+vq1rnEiC7u38j69vDXsHTIkT3////////////////////////UqWjIkD327+T58+3s2bzAgSLp07T79/Pmzqq+fBn///////////////////////////+/fx7v4Mr7+PTx5NDHkD3kyqP8+vjs2r+9exf///////////////////////////++fBjQoFnVq2zTp2bGjTjJk0LWrW7SpWC+exf////////////////////////////Nm1C6dQy7eBG8eBK9exe8ehS7dxC6dQzLlkj////////////AH///wB8x+sAf///AD/+PwA///8AP///AD///4A9PU+APoz/gB///4AdxvOAHoz/gB3368AfjU/AHT1PwB/+P
+</Image>
+ <Language>en-us</Language>
+ <OutputEncoding>UTF-8</OutputEncoding>
+ <InputEncoding>UTF-8</InputEncoding>
+ <AdultContent>true</AdultContent>
+ <Description>YaCy is an open-source GPL-licensed software that can be used for stand-alone search engine installations or as a client for a multi-user P2P-based web indexing cluster. This is the access to peer '_anonufe-29422893-0'.</Description>
+
+ <Url type="text/html" method="GET" template="http://search.ipredator.se/yacysearch.html?query={searchTerms}&amp;startRecord={startIndex?}&amp;maximumRecords={count?}&amp;nav=all" />
+ <Url type="application/rss+xml" method="GET" template="http://search.ipredator.se/yacysearch.rss?nav=&amp;query={searchTerms}&amp;startRecord={startIndex?}&amp;maximumRecords={count?}&amp;verify=false" />
+
+ <Url type="application/x-suggestions+json" template="http://search.ipredator.se/suggest.json?query={searchTerms}"/>
+ <Url type="application/x-suggestions+xml" template="http://search.ipredator.se/suggest.xml?query={searchTerms}"/>
+ <!-- syntax according to http://www.loc.gov/standards/sru/. Set verify=true to get snippets in the search results -->
+ <Developer>See https://gitorious.org/+yacy-developers</Developer>
+ <Query role="example" searchTerms="yacy+open+source" />
+ <Tags>YaCy Open Source P2P Web Search</Tags>
+ <Contact>See http://search.ipredator.se/ViewProfile.html?hash=localhash</Contact>
+ <Attribution>YaCy Software &amp;copy; 2004-2012 by Michael Christen et al., YaCy.net; Content: ask peer owner</Attribution>
+ <SyndicationRight>open</SyndicationRight>
+</OpenSearchDescription>
diff --git a/libre/mplayer-libre/cdio-includes.patch b/libre/mplayer-libre/cdio-includes.patch
new file mode 100644
index 000000000..f71472812
--- /dev/null
+++ b/libre/mplayer-libre/cdio-includes.patch
@@ -0,0 +1,43 @@
+Index: configure
+===================================================================
+--- configure (revision 35421)
++++ configure (working copy)
+@@ -5968,8 +5968,8 @@
+ cat > $TMPC << EOF
+ #include <stdio.h>
+ #include <cdio/version.h>
+-#include <cdio/cdda.h>
+-#include <cdio/paranoia.h>
++#include <cdio/paranoia/cdda.h>
++#include <cdio/paranoia/paranoia.h>
+ int main(void) {
+ void *test = cdda_verbose_set;
+ printf("%s\n", CDIO_VERSION);
+Index: gui/win32/interface.c
+===================================================================
+--- gui/win32/interface.c (revision 35421)
++++ gui/win32/interface.c (working copy)
+@@ -24,7 +24,7 @@
+ #include "config.h"
+
+ #if defined(CONFIG_LIBCDIO)
+-#include <cdio/cdda.h>
++#include <cdio/paranoia/cdda.h>
+ #elif defined(CONFIG_CDDA)
+ #include <cdda_interface.h>
+ #endif
+Index: stream/stream_cdda.c
+===================================================================
+--- stream/stream_cdda.c (revision 35421)
++++ stream/stream_cdda.c (working copy)
+@@ -21,8 +21,8 @@
+ #include <cdda_interface.h>
+ #include <cdda_paranoia.h>
+ #else
+-#include <cdio/cdda.h>
+-#include <cdio/paranoia.h>
++#include <cdio/paranoia/cdda.h>
++#include <cdio/paranoia/paranoia.h>
+ #endif
+ #include <stdio.h>
+ #include <stdlib.h>
diff --git a/libre/mplayer-libre/include-samba-4.0.patch b/libre/mplayer-libre/include-samba-4.0.patch
new file mode 100644
index 000000000..2ed272b6a
--- /dev/null
+++ b/libre/mplayer-libre/include-samba-4.0.patch
@@ -0,0 +1,12 @@
+diff -rupN a/stream/stream_smb.c b/stream/stream_smb.c
+--- a/stream/stream_smb.c 2013-03-16 13:38:34.000000000 +0000
++++ b/stream/stream_smb.c 2013-10-31 20:05:32.473947926 +0000
+@@ -18,7 +18,7 @@
+
+ #include "config.h"
+
+-#include <libsmbclient.h>
++#include <samba-4.0/libsmbclient.h>
+ #include <unistd.h>
+
+ #include "mp_msg.h"
diff --git a/libre/mplayer-libre/mplayer.desktop b/libre/mplayer-libre/mplayer.desktop
new file mode 100644
index 000000000..946b8e345
--- /dev/null
+++ b/libre/mplayer-libre/mplayer.desktop
@@ -0,0 +1,22 @@
+[Desktop Entry]
+Type=Application
+Name=MPlayer Media Player
+Name[ca]=Reproductor multimèdia MPlayer
+Name[pl]=MPlayer odtwarzacz multimedialny
+GenericName=Multimedia player
+Comment=Play movies and songs
+Comment[ca]=Reproduïu vídeos i cançons
+Comment[de]=Filme und Musik abspielen
+Comment[es]=Reproduzca vídeos y canciones
+Comment[fr]=Lecteur multimédia
+Comment[it]=Lettore multimediale
+Comment[zh]=多媒体播放器
+Comment[pl]=Odtwarzaj filmy i muzykę
+Icon=mplayer
+TryExec=mplayer
+Exec=mplayer %F
+Terminal=false
+NoDisplay=true
+Categories=GTK;AudioVideo;Audio;Video;Player;TV;
+MimeType=application/ogg;application/x-ogg;application/sdp;application/smil;application/x-smil;application/streamingmedia;application/x-streamingmedia;application/vnd.rn-realmedia;application/vnd.rn-realmedia-vbr;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;audio/mp1;audio/x-mp1;audio/mp2;audio/x-mp2;audio/mp3;audio/x-mp3;audio/mpeg;audio/x-mpeg;audio/mpegurl;audio/x-mpegurl;audio/mpg;audio/x-mpg;audio/rn-mpeg;audio/scpls;audio/x-scpls;audio/vnd.rn-realaudio;audio/wav;audio/x-pn-windows-pcm;audio/x-realaudio;audio/x-pn-realaudio;audio/x-ms-wma;audio/x-pls;audio/x-wav;video/mpeg;video/x-mpeg;video/x-mpeg2;video/mp4;video/msvideo;video/x-msvideo;video/quicktime;video/vnd.rn-realvideo;video/x-ms-afs;video/x-ms-asf;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvxvideo;video/x-avi;video/x-fli;video/x-flv;video/x-theora;video/x-matroska;
+X-KDE-Protocols=http,ftp,smb
diff --git a/libre/mplayer-libre/mplayer.install b/libre/mplayer-libre/mplayer.install
new file mode 100644
index 000000000..660593cf5
--- /dev/null
+++ b/libre/mplayer-libre/mplayer.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/mplayer-libre/mplayer.png b/libre/mplayer-libre/mplayer.png
new file mode 100644
index 000000000..799769335
--- /dev/null
+++ b/libre/mplayer-libre/mplayer.png
Binary files differ
diff --git a/libre/mplayer-vaapi-libre/cdio-includes.patch b/libre/mplayer-vaapi-libre/cdio-includes.patch
new file mode 100644
index 000000000..894650717
--- /dev/null
+++ b/libre/mplayer-vaapi-libre/cdio-includes.patch
@@ -0,0 +1,43 @@
+Index: configure
+===================================================================
+--- configure (revision 35421)
++++ configure (working copy)
+@@ -5968,8 +5968,8 @@
+ cat > $TMPC << EOF
+ #include <stdio.h>
+ #include <cdio/version.h>
+-#include <cdio/cdda.h>
+-#include <cdio/paranoia.h>
++#include <cdio/paranoia/cdda.h>
++#include <cdio/paranoia/paranoia.h>
+ int main(void) {
+ void *test = cdda_verbose_set;
+ printf("%s\n", CDIO_VERSION);
+Index: gui/win32/interface.c
+===================================================================
+--- gui/win32/interface.c (revision 35421)
++++ gui/win32/interface.c (working copy)
+@@ -24,7 +24,7 @@
+ #include "config.h"
+
+ #if defined(CONFIG_LIBCDIO)
+-#include <cdio/cdda.h>
++#include <cdio/paranoia/cdda.h>
+ #elif defined(CONFIG_CDDA)
+ #include <cdda_interface.h>
+ #endif
+Index: stream/stream_cdda.c
+===================================================================
+--- stream/stream_cdda.c (revision 35421)
++++ stream/stream_cdda.c (working copy)
+@@ -21,8 +21,8 @@
+ #include <cdda_interface.h>
+ #include <cdda_paranoia.h>
+ #else
+-#include <cdio/cdda.h>
+-#include <cdio/paranoia.h>
++#include <cdio/paranoia/cdda.h>
++#include <cdio/paranoia/paranoia.h>
+ #endif
+ #include <stdio.h>
+ #include <stdlib.h>
diff --git a/libre/mplayer-vaapi-libre/mplayer-vaapi.install b/libre/mplayer-vaapi-libre/mplayer-vaapi.install
new file mode 100644
index 000000000..a44f19aef
--- /dev/null
+++ b/libre/mplayer-vaapi-libre/mplayer-vaapi.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+post_upgrade() {
+ post_install
+}
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/mplayer-vaapi-libre/subreader-fix-srt-parsing.patch b/libre/mplayer-vaapi-libre/subreader-fix-srt-parsing.patch
new file mode 100644
index 000000000..f1c087377
--- /dev/null
+++ b/libre/mplayer-vaapi-libre/subreader-fix-srt-parsing.patch
@@ -0,0 +1,40 @@
+Index: sub/subreader.c
+===================================================================
+--- sub/subreader.c (revision 36284)
++++ sub/subreader.c (revision 36285)
+@@ -378,14 +378,14 @@
+ int h1, m1, s1, ms1, h2, m2, s2, ms2, j = 0;
+
+ while (!current->text[0]) {
+- char line[LINE_LEN + 1], full_line[LINE_LEN + 1], sep;
++ char line[LINE_LEN + 1], full_line[LINE_LEN + 1];
+ int i;
+
+ /* Parse SubRip header */
+ if (!stream_read_line(st, line, LINE_LEN, utf16))
+ return NULL;
+- if (sscanf(line, "%d:%d:%d%[,.:]%d --> %d:%d:%d%[,.:]%d",
+- &h1, &m1, &s1, &sep, &ms1, &h2, &m2, &s2, &sep, &ms2) < 10)
++ if (sscanf(line, "%d:%d:%d%*[,.:]%d --> %d:%d:%d%*[,.:]%d",
++ &h1, &m1, &s1, &ms1, &h2, &m2, &s2, &ms2) < 8)
+ continue;
+
+ current->start = h1 * 360000 + m1 * 6000 + s1 * 100 + ms1 / 10;
+@@ -442,7 +442,7 @@
+ #endif
+ while (!current->text[0]) {
+ if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL;
+- if ((len=sscanf (line, "%d:%d:%d%[,.:]%d --> %d:%d:%d%[,.:]%d",&a1,&a2,&a3,(char *)&i,&a4,&b1,&b2,&b3,(char *)&i,&b4)) < 10)
++ if ((len=sscanf (line, "%d:%d:%d%*[,.:]%d --> %d:%d:%d%*[,.:]%d",&a1,&a2,&a3,&a4,&b1,&b2,&b3,&b4)) < 8)
+ continue;
+ current->start = a1*360000+a2*6000+a3*100+a4/10;
+ current->end = b1*360000+b2*6000+b3*100+b4/10;
+@@ -1123,7 +1123,7 @@
+ {*uses_time=1;return SUB_MPL2;}
+ if (sscanf (line, "%d:%d:%d.%d,%d:%d:%d.%d", &i, &i, &i, &i, &i, &i, &i, &i)==8)
+ {*uses_time=1;return SUB_SUBRIP;}
+- if (sscanf (line, "%d:%d:%d%[,.:]%d --> %d:%d:%d%[,.:]%d", &i, &i, &i, (char *)&i, &i, &i, &i, &i, (char *)&i, &i)==10)
++ if (sscanf (line, "%d:%d:%d%*[,.:]%d --> %d:%d:%d%*[,.:]%d", &i, &i, &i, &i, &i, &i, &i, &i)==8)
+ {*uses_time=1;return SUB_SUBVIEWER;}
+ if (sscanf (line, "{T %d:%d:%d:%d",&i, &i, &i, &i)==4)
+ {*uses_time=1;return SUB_SUBVIEWER2;}
diff --git a/libre/mplayer-vaapi-libre/tweak-desktop-file.patch b/libre/mplayer-vaapi-libre/tweak-desktop-file.patch
new file mode 100644
index 000000000..606e356b0
--- /dev/null
+++ b/libre/mplayer-vaapi-libre/tweak-desktop-file.patch
@@ -0,0 +1,14 @@
+--- mplayer.desktop.orig 2012-07-08 22:18:27.000000000 +0300
++++ mplayer.desktop 2012-07-08 22:19:08.000000000 +0300
+@@ -23,8 +23,9 @@ Comment[fr]=Lit les films et musiques
+ Comment[it]=Riproduce filmati e musica
+ Comment[ja]=動画や音声のファイルを再生します
+ Icon=mplayer
+-TryExec=gmplayer
+-Exec=gmplayer %F
++TryExec=mplayer
++Exec=mplayer -really-quiet %F
+ Terminal=false
++NoDisplay=true
+ Categories=GTK;AudioVideo;Audio;Video;Player;TV;
+ MimeType=application/mxf;application/x-netshow-channel;application/ogg;application/ram;application/vnd.rn-realmedia;application/x-shockwave-flash;application/smil;audio/ac3;audio/x-adpcm;audio/x-aiff;audio/AMR;audio/AMR-WB;audio/x-ape;audio/basic;audio/flac;audio/x-flac;audio/x-flac+ogg;audio/x-m4b;audio/x-matroska;audio/mp2;audio/mp4;audio/mpeg;audio/x-mpegurl;audio/x-ms-asx;audio/x-ms-wma;audio/x-musepack;audio/ogg;audio/vnd.rn-realaudio;audio/x-scpls;audio/x-voc;audio/x-vorbis+ogg;audio/x-wav;audio/x-wavpack;video/3gpp;video/3gpp2;video/dv;video/x-flic;video/x-flv;video/x-matroska;video/mp2t;video/mp4;video/mpeg;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/ogg;video/x-ogm+ogg;video/quicktime;video/vnd.rn-realvideo;video/x-theora+ogg;video/webm;
diff --git a/libre/netsurf-libre/PKGBUILD b/libre/netsurf-libre/PKGBUILD
new file mode 100644
index 000000000..6d028e732
--- /dev/null
+++ b/libre/netsurf-libre/PKGBUILD
@@ -0,0 +1,126 @@
+# $Id: PKGBUILD 105500 2014-02-09 11:01:04Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+# Contributor: Georgij Kondratjev <smpuj@bk.ru>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=netsurf
+pkgname=netsurf-libre
+pkgver=3.0
+pkgrel=7
+pkgdesc='Lightweight and fast web browser, without non-privacy search providers'
+arch=('x86_64' 'i686' 'mips64el')
+url='http://www.netsurf-browser.org/'
+license=('MIT' 'GPL2')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+depends=('gtk2' 'libmng' 'curl' 'librsvg' 'desktop-file-utils' 'libnsbmp' 'libnsgif' 'libcss' 'libwebp' 'libdom' 'lcms') # 'libharu' 'gstreamer0.10'
+makedepends=('js' 're2c' 'gendesk' 'netsurf-buildsystem' 'libglade' 'addinclude')
+install="$_pkgname.install"
+source=("netsurf.png::http://ubuntu.allmyapps.com/data/n/e/netsurf-netsurf-web-browser/icon_48x48_netsurf.png"
+ "http://download.$_pkgname-browser.org/$_pkgname/releases/source/$_pkgname-$pkgver-src.tar.gz"
+ 'netsurf.sh')
+sha256sums=('f0dbcc5d80bf03d706aa8b28a322aa7f169a40813848c2d1505691f6e2c7ef00'
+ '7c6a48d3cc3e9a3e3a51b532ddf60f7697e97bf8b61a6d3b2ced1a2e89fbccc6'
+ '7aef20cc7b2e2e7225237f2f94b5a0074caeb8ec07075c58429b0345ca566f8d')
+
+prepare() {
+ cd "$_pkgname-$pkgver"
+
+ # remove non-privacy search providers
+ sed -i '\|Google|d
+ \|Yahoo|d
+ \|Bing|d
+ \|Business.com|d
+ \|Omgili|d
+ \|BBC News|d
+ \|Ubuntu Packages|d
+ \|Ask[.]com|d
+ \|Answers.com|d
+ \|Youtube|d
+ \|AeroMp3|d
+ \|AOL|d
+ \|Baidu|d
+ \|Amazon|d
+ \|Ebay|d
+ \|IMDB|d
+ \|ESPN|d
+ \|Aminet|d
+ \|OS4Depot|d
+ s|DuckDuckGo|DuckDuckGo HTML|
+ s|duckduckgo[.]com|duckduckgo.com/html|
+ s|duckduckgo[.]com/html/favicon.ico|duckduckgo.com/favicon.ico|
+ s|seeks-project.info|seeks.fr|g
+ ' gtk/res/SearchEngines \
+ \!NetSurf/Resources/SearchEngines \
+ amiga/resources/SearchEngines
+ sed -i '\|readable name such as| s|google|duckduckgo|
+ \|readable name such as| s|yahoo|seeks|
+ \|host address such as www[.]google[.]com| s|google[.]com|duckduckgo.com/html|
+ s|google[.]com?search=%s|duckduckgo.com/html/?q=%s|
+ \|return strdup| s|google[.]com|duckduckgo.com/html|
+ \|return strdup| s|google|duckduckgo|
+ \|return strdup| s|duckduckgo[.]com/html/favicon[.]ico|duckduckgo.com/favicon.ico|
+ s|www[.]google[.]com/search?q=%s|duckduckgo.com/html/?q=%s|
+ ' desktop/searchweb.c
+ sed -i 's|google[.][.a-z]\{0,6\}/search|duckduckgo.com/html/search|
+ s|Google-Suche|DuckDuckGo HTML|
+ s|Google Search|DuckDuckGo HTML|
+ s|Ricerca Google|DuckDuckGo HTML|
+ s|Google検索|DuckDuckGo HTML|
+ \|BBC News|d
+ \|Reuters|d
+ \|CNN|d
+ \|Slashdot|d
+ \|Ars Technica|d
+ \|The Register|d
+ \|W3C|d
+ s|google[.][.a-z]\{0,6\}|duckduckgo.com/html|
+ s|Google|DuckDuckGo HTML|
+ s|[.a-z]\{0,4\}yahoo[.]co[.a-z]\{0,4\}|www.seeks.fr|
+ s|Yahoo!|Seeks|
+ \|IMDB|d
+ s|The Icon Bar|Creative Commons|
+ s|www[.]iconbar[.]com|creativecommons.org|
+ s|ROOL|Dictionary.com|
+ s|www[.]riscosopen[.]org|dictionary.reference.com|
+ \|riscos.info|d
+ ' \!NetSurf/Resources/de/welcome.html\,faf \
+ \!NetSurf/Resources/en/welcome.html\,faf \
+ \!NetSurf/Resources/it/welcome.html\,faf \
+ \!NetSurf/Resources/ja/welcome.html\,faf
+
+ addinclude image/rsvg.c stdio
+ addinclude image/mng.c stdio
+ addinclude image/png.c stdio
+
+ gendesk -f --pkgname "$_pkgname" --pkgdesc "$pkgdesc" --exec 'netsurf %U' \
+ --genericname 'Web Browser' --comment 'Lightweight web browser' \
+ --mimetypes 'text/html;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/geo'
+}
+
+build() {
+ cd "$_pkgname-$pkgver"
+
+ make \
+ PREFIX=/usr \
+ TARGET=gtk \
+ NETSURF_USE_WEBP=YES \
+ NETSURF_USE_VIDEO=NO
+}
+
+package() {
+ cd "$_pkgname-$pkgver"
+
+ make install PREFIX=/usr DESTDIR="$pkgdir" NETSURF_USE_WEBP=YES
+ mv "$pkgdir/usr/bin/$_pkgname" "$pkgdir/usr/bin/$_pkgname.elf"
+ install -Dm755 "../$_pkgname.sh" "$pkgdir/usr/bin/$_pkgname"
+ install -Dm644 "../$_pkgname.png" "$pkgdir/usr/share/pixmaps/$_pkgname.png"
+ install -Dm644 "$_pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$_pkgname.desktop"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$_pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/netsurf-libre/netsurf.install b/libre/netsurf-libre/netsurf.install
new file mode 100644
index 000000000..ad97d7bab
--- /dev/null
+++ b/libre/netsurf-libre/netsurf.install
@@ -0,0 +1,13 @@
+post_upgrade() {
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/netsurf-libre/netsurf.sh b/libre/netsurf-libre/netsurf.sh
new file mode 100644
index 000000000..b74f388af
--- /dev/null
+++ b/libre/netsurf-libre/netsurf.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+shortname=`echo $LANG | cut -b1-2`
+if [[ -d /usr/share/netsurf/$shortname ]]; then
+ /usr/bin/netsurf.elf "$@"
+else
+ LANG=en /usr/bin/netsurf.elf "$@"
+fi
diff --git a/libre/ogmrip-libre/PKGBUILD b/libre/ogmrip-libre/PKGBUILD
new file mode 100644
index 000000000..ef0fc1202
--- /dev/null
+++ b/libre/ogmrip-libre/PKGBUILD
@@ -0,0 +1,47 @@
+# $Id: PKGBUILD 103017 2013-12-25 16:56:14Z jlichtblau $
+# Maintainer: Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+# Contributor: Daenyth
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: Vrob (Markus Heuser) mheuser@mi.fu-berlin.de
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=ogmrip
+pkgname=ogmrip-libre
+pkgver=1.0.0
+pkgrel=3
+pkgdesc="Libraries and GTK2 interface for DVD ripping using mencoder, without nonfree faac support"
+arch=('i686' 'x86_64')
+url="http://ogmrip.sourceforge.net/"
+license=('GPL')
+depends=('libdvdread>=4.1.3' 'mplayer' 'mencoder' 'enca' 'pkg-config' 'gconf' 'libglade' 'libnotify' 'enchant')
+makedepends=('patch' 'intltool' 'perl-xml-parser' 'lame' 'mkvtoolnix' 'libtheora' 'ogmtools' 'gpac' 'vorbis-tools' 'tesseract')
+optdepends=('lame: support for the MP3 audio codec'
+ 'mkvtoolnix: create, alter, and inspect Matroska files'
+ 'libtheora: decode and encode Ogg Theora files'
+ 'ogmtools: support for the Ogg Media container'
+ 'gpac: support for the MP4 container'
+ 'vorbis-tools: support for the Ogg Vorbis audio codec'
+ 'gocr: support for the SRT subtitle format'
+ 'ocrad: support for the SRT subtitle format'
+ 'tesseract: support for the SRT subtitle format')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+options=('!makeflags')
+changelog=$_pkgname.changelog
+install=$_pkgname.install
+source=(http://downloads.sourceforge.net/sourceforge/${_pkgname}/${_pkgname}-${pkgver}.tar.gz)
+sha256sums=('6848a622152a62899b6e876e70ec36df1af7be9803b8b9c809ed631196bc18cc')
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/usr/share
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/libre/ogmrip-libre/ogmrip.changelog b/libre/ogmrip-libre/ogmrip.changelog
new file mode 100644
index 000000000..f1927f864
--- /dev/null
+++ b/libre/ogmrip-libre/ogmrip.changelog
@@ -0,0 +1,33 @@
+2013-12-25 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * ogmrip 1.0.0-3 static libraries removed
+
+2013-04-20 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * ogmrip 1.0.0-1
+
+2013-03-13 André Silva <emulatorman@parabola.nu>
+ * Remove nonfree faac support
+
+2012-06-07 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * ogmrip O.13.8-1
+
+2012-01-26 Eric Belanger <eric@archlinux.org>
+ * Rebuild against libpng 1.5 and libtiff 4.0
+ * Add .install file
+
+2011-10-09 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * ogmrip O.13.7-1
+
+2010-08-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * ogmrip O.13.6-1
+
+2010-06-29 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release O.13.5
+
+2010-04-21 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release O.13.4
+
+2010-01-03 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * FS#17517 fixed in minor release O.13.3-2
+
+2010-01-01 Jaroslav Lichtblau <dragonlord@aur.archlinux.org>
+ * Update to major release O.13.3
diff --git a/libre/ogmrip-libre/ogmrip.install b/libre/ogmrip-libre/ogmrip.install
new file mode 100644
index 000000000..660593cf5
--- /dev/null
+++ b/libre/ogmrip-libre/ogmrip.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/opencollada/PKGBUILD b/libre/opencollada/PKGBUILD
new file mode 100644
index 000000000..d6ec1b979
--- /dev/null
+++ b/libre/opencollada/PKGBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Márcio Silva <coadde@lavabit.com>
+
+pkgname=opencollada
+pkgver=20130413
+pkgrel=1
+pkgdesc="Stream based reader and writer library for COLLADA files (built for the blender-libre package)"
+arch=(
+ i686
+ x86_64
+ mips64el
+)
+url=https://github.com/KhronosGroup/OpenCOLLADA
+license=GPL
+depends=(
+ libxml2
+ pcre
+)
+makedepends=(
+ git
+ cmake
+)
+source=git://github.com/KhronosGroup/OpenCOLLADA.git
+sha512sums=SKIP
+
+prepare() {
+ cd $srcdir/OpenCOLLADA
+
+ # adapt source to last blender release
+ git reset --hard 9665d1614b027ffd7815dc745c4fab4d69eb3321 # Sat Apr 13 01:27:39 2013 -0700
+
+ [[ -d build ]] && rm -r build
+ mkdir build
+}
+
+build() {
+ cd $srcdir/OpenCOLLADA/build
+
+ setarch $CARCH cmake .. -DCMAKE_INSTALL_PREFIX=/usr
+ setarch $CARCH make
+}
+
+package() {
+ cd $srcdir/OpenCOLLADA/build
+
+ setarch $CARCH make DESTDIR=$pkgdir install
+
+ install -d $pkgdir/etc/ld.so.conf.d
+ echo /usr/lib/$pkgname > $pkgdir/etc/ld.so.conf.d/$pkgname.conf
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/opencolorio/PKGBUILD b/libre/opencolorio/PKGBUILD
new file mode 100644
index 000000000..24328ffe8
--- /dev/null
+++ b/libre/opencolorio/PKGBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Márcio Silva <coadde@parabola.nu>
+# based of Arch pkg
+
+pkgname=opencolorio
+pkgver=1.0.9
+pkgrel=2
+pkgdesc='A color management framework for visual effects and animation (built for the blender-libre package)'
+arch=(
+ mips64el
+ x86_64
+ i686
+)
+url=http://opencolorio.org
+license=BSD
+depends=(
+ freeglut
+ glew
+ lcms2
+ openimageio
+ python
+)
+makedepends=cmake
+source=http://github.com/imageworks/OpenColorIO/tarball/v$pkgver
+sha512sums=a3b33949061d16a0e3648c9206291771b9e7532ce56727fe9d323ca15d88e24baf649657286139e1568d5c3564d2b8258d4c3442b3350245f8d2556dc2f1f5d2
+
+prepare() {
+ mv imageworks-OpenColorIO-* $pkgname-$pkgver
+}
+
+build() {
+ cd $pkgname-$pkgver
+ cmake . -DCMAKE_INSTALL_PREFIX=/usr -DOCIO_BUILD_DOCS=OFF -DOCIO_PYGLUE_SONAME=ON
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/openexr-libre/PKGBUILD b/libre/openexr-libre/PKGBUILD
new file mode 100644
index 000000000..8580dbbce
--- /dev/null
+++ b/libre/openexr-libre/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 198354 2013-10-30 14:21:29Z allan $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=openexr
+pkgname=openexr-libre
+pkgver=2.0.1
+pkgrel=2
+pkgdesc="An high dynamic-range image file format library, without embedded nonfree fonts in the documentation"
+url="http://www.openexr.com/"
+arch=('i686' 'x86_64' 'mips64el')
+license=('BSD')
+depends=('zlib' 'ilmbase')
+makedepends=('libcups' 'libxinerama')
+[ "$CARCH" != "mips64el" ] && makedepends+=('libreoffice-writer' 'jre7-openjdk-headless')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+mksource=("http://download.savannah.nongnu.org/releases/${_pkgname}/${_pkgname}-${pkgver}.tar.gz"
+ "https://repo.parabolagnulinux.org/other/${pkgname}/MultiViewOpenEXR.odt"
+ "https://repo.parabolagnulinux.org/other/${pkgname}/OpenEXRFileLayout.odt"
+ "https://repo.parabolagnulinux.org/other/${pkgname}/ReadingAndWritingImageFiles.odt"
+ "https://repo.parabolagnulinux.org/other/${pkgname}/TechnicalIntroduction.odt")
+source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz")
+noextract=(MultiViewOpenEXR.odt OpenEXRFileLayout.odt ReadingAndWritingImageFiles.odt TechnicalIntroduction.odt)
+
+mksource() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ # remove documentation with embedded nonfree fonts
+ rm -rv "doc/"{MultiViewOpenEXR,OpenEXRFileLayout,ReadingAndWritingImageFiles,TechnicalIntroduction}.pdf
+
+ # add source documentation with free fonts
+ install -m644 -v "${srcdir}/"{MultiViewOpenEXR,OpenEXRFileLayout,ReadingAndWritingImageFiles,TechnicalIntroduction}.odt doc
+
+ # convert documentation from odt to pdf format and clean source code
+ if [ "$CARCH" != "mips64el" ]; then
+ cd doc
+ libreoffice --headless --invisible --convert-to pdf {MultiViewOpenEXR,OpenEXRFileLayout,ReadingAndWritingImageFiles,TechnicalIntroduction}.odt
+ rm -rv "${srcdir}/"{Configurations2,META-INF,ObjBFFFDCA{1,3,4,5,7},Object\ 1,ObjectReplacements,Pictures,Thumbnails}
+ fi
+}
+
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE"
+
+ install -m644 "doc/"{MultiViewOpenEXR,OpenEXRFileLayout,ReadingAndWritingImageFiles,TechnicalIntroduction}.odt "${pkgdir}/usr/share/doc/OpenEXR-${pkgver}"
+}
+mkmd5sums=('4387e6050d2faa65dd5215618ff2ddce'
+ '69f117d3c91827e5de47f1e00137a4cc'
+ '4d5ffa31f9af63bd5c621c6cbac6c673'
+ 'de099240193d8a51086dfae914fff3cf'
+ 'ece8bf90d438b89c6bd9fe4a89cc318a')
+md5sums=('13e8ec945aa651a7a7f6aad133941866')
diff --git a/libre/openexr-libre/gcc43.patch b/libre/openexr-libre/gcc43.patch
new file mode 100644
index 000000000..ab99eb9a1
--- /dev/null
+++ b/libre/openexr-libre/gcc43.patch
@@ -0,0 +1,11 @@
+--- exrenvmap/blurImage.cpp
++++ exrenvmap/blurImage.cpp
+@@ -39,6 +39,8 @@
+ //
+ //-----------------------------------------------------------------------------
+
++#include <cstring>
++
+ #include <blurImage.h>
+
+ #include <resizeImage.h>
diff --git a/libre/openimageio/PKGBUILD b/libre/openimageio/PKGBUILD
new file mode 100644
index 000000000..9e7217250
--- /dev/null
+++ b/libre/openimageio/PKGBUILD
@@ -0,0 +1,82 @@
+# Maintainer: Márcio Silva <coadde@parabola.nu>
+# based of Arch pkg
+
+pkgname=openimageio
+pkgver=1.3.12
+pkgrel=2
+pkgdesc='A library for reading and writing images, including classes, utilities, and applications (built for the blender-libre package)'
+arch=(
+ mips64el
+ x86_64
+ i686
+)
+url=http://www.openimageio.org/
+license=custom
+depends=(
+ boost-libs
+ freetype2
+ giflib
+ glew
+ libjpeg-turbo
+ libpng
+ libtiff
+ libwebp
+ opencolorio
+ openexr
+ openjpeg
+ openssl
+ zlib
+)
+makedepends=(
+ boost
+ cmake
+ python2
+ qt4
+)
+optdepends=(
+ 'qt4: iv image viewer'
+ 'python2: bindings support'
+)
+source=https://github.com/OpenImageIO/oiio/archive/Release-$pkgver.tar.gz
+sha512sums=SKIP
+
+prepare() {
+ cd oiio-Release-$pkgver
+
+ msg 'renaming wrong OS name'
+ _OS=$(uname -o)
+ [[ $_OS == GNU ]] &&\
+ sed -i 's|linux|GNU|i;
+ ' src/{cmake/platform.cmake,make/detectplatform.mk}
+ [[ $_OS == GNU/Linux ]] &&\
+ sed -i 's|[{]uname[}][,]linux]|{uname -o},GNU/Linux|;\|platform| s|linux|GNU/Linux|i
+ ' src/{cmake/platform.cmake,make/detectplatform.mk}
+ [[ $_OS == GNU/kFreeBSD ]] &&\
+ sed -i '\|STREQUAL| s|FreeBSD|kFreeBSD|;\|platform| s|freebsd|GNU/kFreeBSD|i
+ ' src/cmake/platform.cmake
+ sed -i 's|[{]uname[}][,]linux]|{uname -o},GNU/kFreeBSD|;\|platform| s|linux|GNU/kFreeBSD|i
+ ' src/make/detectplatform.mk
+
+ [[ -d build ]] && rm -r build
+ mkdir build
+}
+
+build() {
+ cd oiio-Release-$pkgver/build
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX=/usr\
+ -DOIIO_BUILD_TESTS=OFF\
+ -DPYLIB_INSTALL_DIR=lib/python2.7/site-packages\
+ -DPYLIB_INCLUDE_SONAME=ON\
+ -DPYLIB_LIB_PREFIX=OFF\
+ -DUSE_EXTERNAL_TBB=OFF
+ make
+}
+
+package() {
+ cd oiio-Release-$pkgver/build
+ make DESTDIR=$pkgdir install
+ install -Dm644 ../LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/openshadinglanguage/PKGBUILD b/libre/openshadinglanguage/PKGBUILD
new file mode 100644
index 000000000..f5d2a43b8
--- /dev/null
+++ b/libre/openshadinglanguage/PKGBUILD
@@ -0,0 +1,100 @@
+# Maintainer: Márcio Silva <coadde@parabola.nu>
+# based of Arch pkg
+
+pkgname=openshadinglanguage
+pkgver=1.3.3
+pkgrel=1
+pkgdesc="Advanced shading language for production GI renderers (built for the blender-libre package)"
+arch=(
+ mips64el
+ x86_64
+ i686
+)
+url=https://github.com/imageworks/OpenShadingLanguage
+license=custom
+depends=(
+ openimageio
+ openexr
+ freetype2
+ libpng
+ libtiff
+ boost-libs
+ llvm
+ zlib
+)
+makedepends=(
+ boost
+ clang
+ cmake
+)
+source=(
+ https://github.com/imageworks/OpenShadingLanguage/archive/Release-${pkgver}.tar.gz
+ llvm.patch
+)
+md5sums=(
+ 77e2261b6b4e0aabdc13b3bb58caeae1a603dbd6a674048631284e150795ecdc4c0d6fd50e7898bda835024bcfeba3da5d89dea8b1ceb3f8fd893087001cc756
+ 8d62aa04426cb93c9239845a6eb685081a8760a1731cffb9f075cc294ab8b426c369347ae90a473b0dfbcf4d04a2be44e786792c8ce79fe82c11dc81acf6b3a2
+)
+
+prepare() {
+ cd OpenShadingLanguage-Release-$pkgver
+
+ msg 'renaming wrong OS name'
+ _OS=$(uname -o)
+ [[ $_OS == GNU ]] &&\
+ sed -i 's|linux|GNU|i;
+ ' src/{cmake/platform.cmake,make/detectplatform.mk}
+ [[ $_OS == GNU/Linux ]] &&\
+ sed -i 's|[{]uname[}][,]linux]|{uname -o},GNU/Linux|;\|platform| s|linux|GNU/Linux|i
+ ' src/{cmake/platform.cmake,make/detectplatform.mk}
+ [[ $_OS == GNU/kFreeBSD ]] &&\
+ sed -i '\|STREQUAL| s|FreeBSD|kFreeBSD|;\|platform| s|freebsd|GNU/kFreeBSD|i
+ ' src/cmake/platform.cmake
+ sed -i 's|[{]uname[}][,]linux]|{uname -o},GNU/kFreeBSD|;\|platform| s|linux|GNU/kFreeBSD|i
+ ' src/make/detectplatform.mk
+ sed -i 's|Linux/OSX|GNU/BSD|' src/include/export.h
+
+ # LLVM 3.4 build fix
+ # based of "https://github.com/imageworks/OpenShadingLanguage/pull/320.patch"
+ patch -Np1 < $srcdir/llvm.patch
+
+ # fix include paths
+ sed -i 's|oslconfig.h|../include/oslconfig.h|
+ s|dual.h|../include/dual.h|
+ s|dual_vec.h|../include/dual_vec.h|
+ ' src/liboslexec/llvm_ops.cpp
+ sed -i 's|oslexec.h|../include/oslexec.h|
+ s|oslclosure.h|../include/oslclosure.h|
+ s|osl_pvt.h|../include/osl_pvt.h|
+ ' src/liboslexec/oslexec_pvt.h
+
+ cd src
+
+ [[ -d build ]] && rm -r build
+ mkdir build
+}
+
+build() {
+ cd OpenShadingLanguage-Release-$pkgver/src/build
+
+ cmake .. \
+ -DCMAKE_BUILD_TYPE=Release\
+ -DCMAKE_INSTALL_PREFIX=/usr\
+ -DLLVM_STATIC=OFF
+ make
+}
+
+package() {
+ cd OpenShadingLanguage-Release-$pkgver/src/build
+
+ make DESTDIR=$pkgdir install
+
+ mkdir -p $pkgdir/usr/share/OSL/
+ mkdir -p $pkgdir/usr/share/licenses/$pkgname
+ mv $pkgdir/usr/{CHANGES,README.md,INSTALL} $pkgdir/usr/share/OSL
+ mv $pkgdir/usr/doc $pkgdir/usr/share/OSL/doc
+ mv $pkgdir/usr/shaders $pkgdir/usr/share/OSL/shaders
+ mv $pkgdir/usr/LICENSE $pkgdir/usr/share/licenses/$pkgname
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/openshadinglanguage/llvm.patch b/libre/openshadinglanguage/llvm.patch
new file mode 100644
index 000000000..a63b91e0d
--- /dev/null
+++ b/libre/openshadinglanguage/llvm.patch
@@ -0,0 +1,331 @@
+diff -Nur OpenShadingLanguage-Release-1.3.3.orig/src/cmake/externalpackages.cmake OpenShadingLanguage-Release-1.3.3/src/cmake/externalpackages.cmake
+--- OpenShadingLanguage-Release-1.3.3.orig/src/cmake/externalpackages.cmake 2013-07-11 20:01:18.000000000 -0300
++++ OpenShadingLanguage-Release-1.3.3/src/cmake/externalpackages.cmake 2014-02-04 18:09:20.236025178 -0200
+@@ -185,9 +185,9 @@
+ find_library ( LLVM_LIBRARY
+ NAMES LLVM-${LLVM_VERSION}
+ PATHS ${LLVM_LIB_DIR})
++message (STATUS "LLVM version = ${LLVM_VERSION}")
++message (STATUS "LLVM dir = ${LLVM_DIRECTORY}")
+ if (VERBOSE)
+- message (STATUS "LLVM version = ${LLVM_VERSION}")
+- message (STATUS "LLVM dir = ${LLVM_DIRECTORY}")
+ message (STATUS "LLVM includes = ${LLVM_INCLUDES}")
+ message (STATUS "LLVM library = ${LLVM_LIBRARY}")
+ message (STATUS "LLVM lib dir = ${LLVM_LIB_DIR}")
+diff -Nur OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/CMakeLists.txt OpenShadingLanguage-Release-1.3.3/src/liboslexec/CMakeLists.txt
+--- OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/CMakeLists.txt 2013-07-11 20:01:18.000000000 -0300
++++ OpenShadingLanguage-Release-1.3.3/src/liboslexec/CMakeLists.txt 2014-02-04 18:07:21.960947198 -0200
+@@ -51,49 +51,64 @@
+ MESSAGE (STATUS "LLVM_COMPILE cpp=${llvm_bc_cpp}")
+ endif ()
+ SET ( ${srclist} ${${srclist}} ${llvm_bc_cpp} )
+- EXEC_PROGRAM ( ${LLVM_DIRECTORY}/bin/llvm-config ARGS --cxxflags OUTPUT_VARIABLE LLVM_COMPILE_FLAGS )
+- set (LLVM_COMPILE_FLAGS "${LLVM_COMPILE_FLAGS} -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3 --combine")
+- LIST (APPEND LLVM_COMPILE_FLAGS "-I${ILMBASE_INCLUDE_DIR}")
++ SET (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-I${ILMBASE_INCLUDE_DIR}")
+ if (OSL_NAMESPACE)
+- LIST (APPEND LLVM_COMPILE_FLAGS "-DOSL_NAMESPACE=${OSL_NAMESPACE}")
++ SET (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-DOSL_NAMESPACE=${OSL_NAMESPACE}")
+ endif ()
+ if (OPENIMAGEIO_NAMESPACE)
+- LIST (APPEND LLVM_COMPILE_FLAGS "-DOPENIMAGEIO_NAMESPACE=${OPENIMAGEIO_NAMESPACE}")
++ SET (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-DOPENIMAGEIO_NAMESPACE=${OPENIMAGEIO_NAMESPACE}")
+ endif ()
+ get_property (CURRENT_DEFINITIONS DIRECTORY PROPERTY COMPILE_DEFINITIONS)
+ if (VERBOSE)
+ message (STATUS "Current #defines are ${CURRENT_DEFINITIONS}")
+ endif ()
+ foreach (def ${CURRENT_DEFINITIONS})
+- LIST (APPEND LLVM_COMPILE_FLAGS "-D${def}")
++ SET (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-D${def}")
+ endforeach()
+
+- # First try looking in their build (clang++ first, then llvm-g++)
+- FIND_PROGRAM(LLVM_BC_GENERATOR NAMES "clang++" "llvm-g++" PATHS ${LLVM_DIRECTORY}/bin NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH)
++ # Figure out what program we will use to make the bitcode.
++ if (NOT LLVM_BC_GENERATOR)
++ FIND_PROGRAM(LLVM_BC_GENERATOR NAMES "clang++" PATHS "${LLVM_DIRECTORY}/bin" NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH)
++ endif ()
++ # If that didn't work, look anywhere
++ if (NOT LLVM_BC_GENERATOR)
++ # Wasn't in their build, look anywhere
++ FIND_PROGRAM(LLVM_BC_GENERATOR NAMES clang++ llvm-g++)
++ endif ()
+
+- if(NOT LLVM_BC_GENERATOR)
+- # Wasn't in their build, look anywhere
+- FIND_PROGRAM(LLVM_BC_GENERATOR NAMES clang++ llvm-g++)
++ if (NOT LLVM_BC_GENERATOR)
++ message (FATAL_ERROR "You must have a valid llvm bitcode generator (clang++) somewhere.")
++ endif ()
++ if (VERBOSE)
++ message (STATUS "Using ${LLVM_BC_GENERATOR} to generate bitcode.")
+ endif()
+
+- if(NOT LLVM_BC_GENERATOR)
+- message (FATAL_ERROR "You must have a valid llvm bitcode generator (either llvm-g++ or clang++) somewhere.")
+- else()
+- if (VERBOSE)
+- message (STATUS "Using ${LLVM_BC_GENERATOR} to generate bitcode.")
+- endif ()
+- endif()
++ # Fix specific problem I had on new Apple systems (e.g. Mavericks) with
++ # LLVM/libc++ installed -- for some reason, LLVM 3.4 wasn't finding it,
++ # so in that specific case, append another -I to point it in the right
++ # direction.
++ if (APPLE AND ${LLVM_BC_GENERATOR} MATCHES ".*clang.*")
++ EXEC_PROGRAM ( "${LLVM_BC_GENERATOR}" ARGS --version OUTPUT_VARIABLE MY_CLANG_VERSION )
++ string (REGEX REPLACE "clang version ([0-9][.][0-9]+).*" "\\1" MY_CLANG_VERSION "${MY_CLANG_VERSION}")
++ if ((${MY_CLANG_VERSION} VERSION_GREATER "3.3")
++ AND (EXISTS "/usr/lib/libc++.dylib")
++ AND (EXISTS "/Library/Developer/CommandLineTools/usr/lib/c++/v1"))
++ set (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-I/Library/Developer/CommandLineTools/usr/lib/c++/v1")
++ endif ()
++ endif ()
+
+ # Command to turn the .cpp file into LLVM assembly language .s, into
+ # LLVM bitcode .bc, then back into a C++ file with the bc embedded!
+ ADD_CUSTOM_COMMAND ( OUTPUT ${llvm_bc_cpp}
+- COMMAND ${LLVM_BC_GENERATOR} ${LLVM_COMPILE_FLAGS}
+- -I${CMAKE_CURRENT_SOURCE_DIR}
+- -I${CMAKE_SOURCE_DIR}/include
+- -I${CMAKE_BINARY_DIR}/include
+- -I${OPENIMAGEIO_INCLUDES} -I${ILMBASE_INCLUDE_DIR}
+- -I${Boost_INCLUDE_DIRS} -O3 -S -emit-llvm -o ${llvm_asm} ${llvm_src}
+-
++ COMMAND ${LLVM_BC_GENERATOR}
++ ${LLVM_COMPILE_FLAGS}
++ "-I${CMAKE_CURRENT_SOURCE_DIR}"
++ "-I${CMAKE_SOURCE_DIR}/src/include"
++ "-I${CMAKE_BINARY_DIR}/include"
++ "-I${OPENIMAGEIO_INCLUDES}"
++ "-I${ILMBASE_INCLUDE_DIR}"
++ "-I${Boost_INCLUDE_DIRS}"
++ -O3 -S -emit-llvm -o ${llvm_asm} ${llvm_src}
+ COMMAND ${LLVM_DIRECTORY}/bin/llvm-as -f -o ${llvm_bc} ${llvm_asm}
+ COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/serialize-bc.bash ${llvm_bc} ${llvm_bc_cpp}
+ MAIN_DEPENDENCY ${llvm_src}
+diff -Nur OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/llvm_headers.h OpenShadingLanguage-Release-1.3.3/src/liboslexec/llvm_headers.h
+--- OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/llvm_headers.h 2013-07-11 20:01:18.000000000 -0300
++++ OpenShadingLanguage-Release-1.3.3/src/liboslexec/llvm_headers.h 2014-02-04 19:28:31.349811104 -0200
+@@ -33,7 +33,27 @@
+ namespace llvm = LLVM_NAMESPACE;
+ #endif
+
+-#if OSL_LLVM_VERSION >= 33
++#if OSL_LLVM_VERSION >= 34
++
++# include <llvm/IR/Constants.h>
++# include <llvm/IR/DerivedTypes.h>
++# include <llvm/IR/Instructions.h>
++# include <llvm/IR/Intrinsics.h>
++# include <llvm/IR/Module.h>
++# include <llvm/IR/LLVMContext.h>
++# include <llvm/IR/IRBuilder.h>
++# include <llvm/IR/DataLayout.h>
++# include <llvm/Bitcode/ReaderWriter.h>
++# include <llvm/ExecutionEngine/GenericValue.h>
++# include <llvm/ExecutionEngine/JIT.h>
++# include <llvm/ExecutionEngine/JITMemoryManager.h>
++# include <llvm/Linker.h>
++# include <llvm/IR/LegacyPassManager.h>
++# include <llvm/Support/ManagedStatic.h>
++# include <llvm/Support/MemoryBuffer.h>
++# include <llvm/Support/raw_ostream.h>
++
++#elif OSL_LLVM_VERSION >= 33
+
+ # include <llvm/IR/Constants.h>
+ # include <llvm/IR/DerivedTypes.h>
+diff -Nur OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/llvm_instance.cpp OpenShadingLanguage-Release-1.3.3/src/liboslexec/llvm_instance.cpp
+--- OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/llvm_instance.cpp 2013-07-11 20:01:18.000000000 -0300
++++ OpenShadingLanguage-Release-1.3.3/src/liboslexec/llvm_instance.cpp 2014-02-04 20:08:23.574948459 -0200
+@@ -992,6 +992,7 @@
+ virtual void deallocateFunctionBody(void *Body) {
+ // DON'T DEALLOCATE mm->deallocateFunctionBody (Body);
+ }
++#if OSL_LLVM_VERSION <= 33
+ virtual uint8_t* startExceptionTable(const llvm::Function* F,
+ uintptr_t &ActualSize) {
+ return mm->startExceptionTable (F, ActualSize);
+@@ -1003,6 +1004,7 @@
+ virtual void deallocateExceptionTable(void *ET) {
+ // DON'T DEALLOCATE mm->deallocateExceptionTable(ET);
+ }
++#endif
+ virtual bool CheckInvariants(std::string &s) {
+ return mm->CheckInvariants(s);
+ }
+@@ -1018,7 +1020,41 @@
+ virtual unsigned GetNumCodeSlabs() { return mm->GetNumCodeSlabs(); }
+ virtual unsigned GetNumDataSlabs() { return mm->GetNumDataSlabs(); }
+ virtual unsigned GetNumStubSlabs() { return mm->GetNumStubSlabs(); }
+-#if OSL_LLVM_VERSION >= 31
++
++#if OSL_LLVM_VERSION >= 34
++
++ virtual void *getPointerToNamedFunction(const std::string &Name,
++ bool AbortOnFailure = true) {
++ return mm->getPointerToNamedFunction (Name, AbortOnFailure);
++ }
++ virtual uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment,
++ unsigned SectionID, llvm::StringRef SectionName) {
++ return mm->allocateCodeSection(Size, Alignment, SectionID, SectionName);
++ }
++ virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment,
++ unsigned SectionID, llvm::StringRef SectionName,
++ bool IsReadOnly) {
++ return mm->allocateDataSection(Size, Alignment, SectionID,
++ SectionName, IsReadOnly);
++ }
++ virtual void registerEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) {
++ mm->registerEHFrames (Addr, LoadAddr, Size);
++ }
++ virtual void deregisterEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) {
++ mm->deregisterEHFrames(Addr, LoadAddr, Size);
++ }
++ virtual uint64_t getSymbolAddress(const std::string &Name) {
++ return mm->getSymbolAddress (Name);
++ }
++ virtual void notifyObjectLoaded(llvm::ExecutionEngine *EE, const llvm::ObjectImage *oi) {
++ mm->notifyObjectLoaded (EE, oi);
++ }
++ virtual bool finalizeMemory(std::string *ErrMsg = 0) {
++ return mm->finalizeMemory (ErrMsg);
++ }
++
++#elif OSL_LLVM_VERSION == 33
++
+ virtual void *getPointerToNamedFunction(const std::string &Name,
+ bool AbortOnFailure = true) {
+ return mm->getPointerToNamedFunction (Name, AbortOnFailure);
+@@ -1027,7 +1063,6 @@
+ unsigned SectionID) {
+ return mm->allocateCodeSection(Size, Alignment, SectionID);
+ }
+-#if OSL_LLVM_VERSION >= 33
+ virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment,
+ unsigned SectionID, bool IsReadOnly) {
+ return mm->allocateDataSection(Size, Alignment, SectionID, IsReadOnly);
+@@ -1035,12 +1070,22 @@
+ virtual bool applyPermissions(std::string *ErrMsg = 0) {
+ return mm->applyPermissions(ErrMsg);
+ }
+-#else
++
++#elif OSL_LLVM_VERSION == 32 || OSL_LLVM_VERSION == 31
++
++ virtual void *getPointerToNamedFunction(const std::string &Name,
++ bool AbortOnFailure = true) {
++ return mm->getPointerToNamedFunction (Name, AbortOnFailure);
++ }
++ virtual uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment,
++ unsigned SectionID) {
++ return mm->allocateCodeSection(Size, Alignment, SectionID);
++ }
+ virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment,
+ unsigned SectionID) {
+ return mm->allocateDataSection(Size, Alignment, SectionID);
+ }
+-#endif
++
+ #endif
+ };
+
+@@ -1155,7 +1200,7 @@
+ m_shadingsys.m_stat_empty_groups += 1;
+ m_shadingsys.m_stat_empty_instances += 1; // the one layer is empty
+ } else {
+- m_llvm_passes->run (*llvm_module());
++ m_llvm_module_passes->run (*llvm_module());
+ }
+
+ m_stat_llvm_opt_time += timer.lap();
+@@ -1290,7 +1335,12 @@
+ // Some global LLVM initialization for the first thread that
+ // gets here.
+ info ("Setting up LLVM");
++
++#if OSL_LLVM_VERSION <= 33
++ // Starting with LLVM 3.4, the pretty stack trace was opt-in rather
++ // than opt-out, and the following variable was removed.
+ llvm::DisablePrettyStackTrace = true;
++#endif
+ llvm::llvm_start_multithreaded (); // enable it to be thread-safe
+ llvm::InitializeNativeTarget();
+ done = true;
+@@ -1301,12 +1351,17 @@
+ void
+ RuntimeOptimizer::llvm_setup_optimization_passes ()
+ {
+- ASSERT (m_llvm_passes == NULL && m_llvm_func_passes == NULL);
++ ASSERT (m_llvm_module_passes == NULL && m_llvm_func_passes == NULL);
+
+ // Specify per-function passes
+ //
++#if OSL_LLVM_VERSION >= 34
++ m_llvm_func_passes = new llvm::legacy::FunctionPassManager(llvm_module());
++ llvm::legacy::FunctionPassManager &fpm (*m_llvm_func_passes);
++#else
+ m_llvm_func_passes = new llvm::FunctionPassManager(llvm_module());
+ llvm::FunctionPassManager &fpm (*m_llvm_func_passes);
++#endif
+ #if OSL_LLVM_VERSION >= 32
+ fpm.add (new llvm::DataLayout(llvm_module()));
+ #else
+@@ -1315,8 +1370,13 @@
+
+ // Specify module-wide (interprocedural optimization) passes
+ //
+- m_llvm_passes = new llvm::PassManager;
+- llvm::PassManager &passes (*m_llvm_passes);
++#if OSL_LLVM_VERSION >= 34
++ m_llvm_module_passes = new llvm::legacy::PassManager;
++ llvm::legacy::PassManager &passes (*m_llvm_module_passes);
++#else
++ m_llvm_module_passes = new llvm::PassManager;
++ llvm::PassManager &passes (*m_llvm_module_passes);
++#endif
+ #if OSL_LLVM_VERSION >= 32
+ passes.add (new llvm::DataLayout(llvm_module()));
+ #else
+diff -Nur OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/runtimeoptimize.cpp OpenShadingLanguage-Release-1.3.3/src/liboslexec/runtimeoptimize.cpp
+--- OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/runtimeoptimize.cpp 2013-07-11 20:01:18.000000000 -0300
++++ OpenShadingLanguage-Release-1.3.3/src/liboslexec/runtimeoptimize.cpp 2014-02-04 19:37:02.660353625 -0200
+@@ -107,7 +107,7 @@
+ m_stat_llvm_jit_time(0),
+ m_llvm_context(NULL), m_llvm_module(NULL),
+ m_llvm_exec(NULL), m_builder(NULL),
+- m_llvm_passes(NULL), m_llvm_func_passes(NULL)
++ m_llvm_module_passes(NULL), m_llvm_func_passes(NULL)
+ {
+ set_debug ();
+ memset (&m_shaderglobals, 0, sizeof(ShaderGlobals));
+@@ -119,7 +119,7 @@
+ RuntimeOptimizer::~RuntimeOptimizer ()
+ {
+ delete m_builder;
+- delete m_llvm_passes;
++ delete m_llvm_module_passes;
+ delete m_llvm_func_passes;
+ }
+
+diff -Nur OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/runtimeoptimize.h OpenShadingLanguage-Release-1.3.3/src/liboslexec/runtimeoptimize.h
+--- OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/runtimeoptimize.h 2013-07-11 20:01:18.000000000 -0300
++++ OpenShadingLanguage-Release-1.3.3/src/liboslexec/runtimeoptimize.h 2014-02-04 19:52:30.207956999 -0200
+@@ -934,8 +934,13 @@
+ llvm::Type *m_llvm_type_closure_component_attr; // LLVM type for ClosureMeta::Attr
+ llvm::PointerType *m_llvm_type_prepare_closure_func;
+ llvm::PointerType *m_llvm_type_setup_closure_func;
+- llvm::PassManager *m_llvm_passes;
++#if OSL_LLVM_VERSION >= 34
++ llvm::legacy::PassManager *m_llvm_module_passes;
++ llvm::legacy::FunctionPassManager *m_llvm_func_passes;
++#else
++ llvm::PassManager *m_llvm_module_passes;
+ llvm::FunctionPassManager *m_llvm_func_passes;
++#endif
+ int m_llvm_local_mem; // Amount of memory we use for locals
+
+ // Persistant data shared between layers
diff --git a/libre/openshot-libre/PKGBUILD b/libre/openshot-libre/PKGBUILD
new file mode 100644
index 000000000..ca5b029e7
--- /dev/null
+++ b/libre/openshot-libre/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 97284 2013-09-16 08:04:43Z bluewind $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Asa Marco <marcoasa90[at]gmail[.]com>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=openshot
+pkgname=openshot-libre
+pkgver=1.4.3
+pkgrel=3
+pkgdesc="a free, non-linear video editor for GNU/Linux based on MLT framework, without nonfree faac recommendation"
+arch=('any')
+url="http://www.openshotvideo.com/"
+license=('GPL')
+depends=('mlt-python-bindings' 'pygoocanvas' 'sdl' 'librsvg' 'mplayer'
+ 'pyxdg' 'pygtk' 'python2-httplib2' 'python2-pillow')
+optdepends=('dvgrab: for IEEE digital sources'
+ 'libquicktime' 'libavc1394' 'jack' 'jack-rack' 'ladspa')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+install=openshot.install
+source=(http://launchpad.net/openshot/${pkgver%.*}/$pkgver/+download/$_pkgname-$pkgver.tar.gz)
+md5sums=('5ec82a7e8b7700ee4a359458aedf19e9')
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py install --root=$pkgdir/ --optimize=1
+}
diff --git a/libre/openshot-libre/openshot.install b/libre/openshot-libre/openshot.install
new file mode 100644
index 000000000..046df0051
--- /dev/null
+++ b/libre/openshot-libre/openshot.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-mime-database usr/share/mime &>/dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/oss-libre/PKGBUILD b/libre/oss-libre/PKGBUILD
new file mode 100644
index 000000000..7d1777b43
--- /dev/null
+++ b/libre/oss-libre/PKGBUILD
@@ -0,0 +1,104 @@
+# $Id: PKGBUILD 92058 2013-05-31 02:02:47Z seblu $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Florian Pritz <bluewind@xinu.at>
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname=oss-libre
+pkgver=4.2_2007
+pkgrel=4.1
+arch=('i686' 'x86_64')
+url="http://developer.opensound.com/"
+license=('GPL2')
+makedepends=('gtk2')
+source=("http://www.4front-tech.com/developer/sources/stable/gpl/oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl.tar.bz2"
+ "rm-init-scripts.patch"
+ "soundon.patch"
+ "remove-hal.patch"
+ "linux-3.8.patch"
+ "oss.service"
+)
+md5sums=('f995118db1759fee3bcd38483940da6f'
+ 'b9a380a0ac8896390d71ac13676f27e1'
+ '65f07fe241bfbf912f76d8b6d8f276b5'
+ 'cd7f1dc6166bba8c94d96f3a28e948a5'
+ 'effecefb774f1d08ef9f0af0ad205c34'
+ '39c46b10a6bc56fc146d669a61bd3028')
+_dir=oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl
+
+build() {
+ cd "${srcdir}/${_dir}"
+
+ # Avoid these flags conflicting with OSS build system.
+ unset CFLAGS
+ unset LDFLAGS
+ unset OSFLAGS
+ unset LIBRARIES
+ export NO_WARNING_CHECKS=yes
+
+ msg "Preparing the build environment."
+ cd "${srcdir}"
+
+ # Create build directory and configure
+ rm -rf build
+ mkdir build && cd build
+ "${srcdir}/${_dir}/configure" --enable-libsalsa=NO --regparm
+
+ # ossvermagic hardcodes /lib/modules *grumble*
+ sed -i 's|/lib/modules|/usr&|' \
+ os_cmd/Linux/ossvermagic/ossvermagic.c
+
+ pushd "$srcdir/$_dir"
+ patch -p0 -i "${srcdir}/linux-3.8.patch"
+ popd
+
+ msg "Building OSS."
+ make build
+
+ msg "Patching init scripts."
+ cd "${srcdir}/build/prototype"
+ rm usr/lib/oss/etc/S89oss
+ patch -p0 -i "${srcdir}/rm-init-scripts.patch"
+ patch -p0 -i "${srcdir}/soundon.patch"
+ # remove hal dependency
+ patch -p0 -i "${srcdir}/remove-hal.patch"
+ rm -rf usr/lib/oss/scripts/oss_usb-create-devices usr/lib/oss/scripts/90-oss_usb-create-device.fdi
+
+ # fix kernel module directories
+ sed -i 's#/lib/modules/$KERNEL_VERSION/kernel/#/usr/lib/modules/$KERNEL_VERSION/extramodules/kernel/#g' usr/sbin/soundon
+ sed -i 's#/lib/modules/$UNAME/kernel/#/usr/lib/modules/$UNAME/extramodules/kernel/#g' usr/lib/oss/build/install.sh
+ sed -i 's#mkdir /lib/modules#mkdir -p /usr/lib/modules#' usr/lib/oss/build/install.sh
+ sed -i 's#mkdir \(/usr/lib/modules/$UNAME/extramodules/kernel/oss\)#mkdir -p \1#' usr/lib/oss/build/install.sh
+ sed -i 's#\([= ]\)/lib/modules#\1/usr/lib/modules#g' \
+ usr/lib/oss/build/install.sh \
+ usr/lib/oss/scripts/restore_drv.sh \
+ usr/lib/oss/scripts/setup-alsa.sh \
+ usr/lib/oss/scripts/remove_drv.sh \
+ usr/lib/oss/build/Makefile.tmpl \
+ usr/lib/oss/build/Makefile.osscore \
+ usr/lib/oss/cuckoo/Makefile
+}
+
+package() {
+ pkgdesc="Open Sound System UNIX audio architecture, without nonfree libflashsupport-oss recommendation"
+ depends=('gcc' 'make' 'linux-headers' 'libtool' 'sed')
+ optdepends=('gtk2: for graphical mixer (ossxmix)')
+ replaces=('oss')
+ conflicts=('oss' 'oss-linux' 'oss-linux-free' 'oss-testing')
+ provides=("oss=${pkgver}")
+ backup=('usr/lib/oss/soundon.user')
+ install=oss.install
+
+ cd "${srcdir}/build/prototype"
+ cp -a * "${pkgdir}"
+
+ cd "$pkgdir"
+ mv usr/sbin/* usr/bin
+ rmdir usr/sbin
+ chmod -R a+r . # All files can have read permission (FS#13815)
+ find . -type d -exec chmod a+x '{}' \; # Make namcap happy
+ install -Dm644 "$srcdir/oss.service" usr/lib/systemd/system/oss.service
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/oss-libre/linux-3.8.patch b/libre/oss-libre/linux-3.8.patch
new file mode 100644
index 000000000..46200e01a
--- /dev/null
+++ b/libre/oss-libre/linux-3.8.patch
@@ -0,0 +1,40 @@
+--- setup/Linux/oss/build/pci_wrapper.inc 2009-08-27 05:19:07.000000000 +0300
++++ setup/Linux/oss/build/pci_wrapper.inc 2013-02-08 13:56:10.519794975 +0200
+@@ -17,7 +17,11 @@
+ static dev_map_t dev_map[MAX_INSTANCE];
+ static int n_devmap = 0;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
+ static int __devinit
++#else
++static int
++#endif
+ osspci_probe (struct pci_dev *pcidev, const struct pci_device_id *pciid)
+ {
+ oss_device_t *osdev;
+@@ -65,7 +69,11 @@
+ return 0;
+ }
+
+-static void __devexit
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
++static int __devexit
++#else
++static int
++#endif
+ osspci_remove (struct pci_dev *pcidev)
+ {
+ int i;
+@@ -80,10 +88,11 @@
+ pci_disable_device (dev_map[i].pcidev);
+ osdev_delete (osdev);
+
+- return;
++ return 0;
+ }
+
+ printk (KERN_ALERT DRIVER_NICK ": Can't find the PCI device to detach\n");
++ return -EIO;
+ }
+
+ void
diff --git a/libre/oss-libre/oss.install b/libre/oss-libre/oss.install
new file mode 100644
index 000000000..9bd4e1fbc
--- /dev/null
+++ b/libre/oss-libre/oss.install
@@ -0,0 +1,25 @@
+post_install() {
+ echo "Running OSS install script..."
+ sh /usr/lib/oss/build/install.sh &>/dev/null
+ echo
+ echo " Note that OSS can't currently work together with kernel"
+ echo " ALSA modules, so they were moved out by the OSS install"
+ echo " scripts. If you want the ALSA kernel modules back, you can"
+ echo " just remove this package using pacman."
+}
+
+post_upgrade() {
+ echo "Running OSS update script..."
+ sh /usr/lib/oss/build/install.sh &>/dev/null
+}
+
+pre_remove() {
+ # Restore any replaced ALSA drivers.
+ sh /usr/lib/oss/scripts/restore_drv.sh
+}
+
+post_remove() {
+ echo " Open Sound System was now removed, and the ALSA kernel"
+ echo " modules were restored."
+}
+
diff --git a/libre/oss-libre/oss.service b/libre/oss-libre/oss.service
new file mode 100644
index 000000000..0200d2477
--- /dev/null
+++ b/libre/oss-libre/oss.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Open Sound System v4
+Before=sound.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/soundon
+ExecStop=/usr/bin/soundoff
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/oss-libre/remove-hal.patch b/libre/oss-libre/remove-hal.patch
new file mode 100644
index 000000000..27e2ef2de
--- /dev/null
+++ b/libre/oss-libre/remove-hal.patch
@@ -0,0 +1,20 @@
+Date: Tue Aug 2 16:37:31 CEST 2011
+Author: Florian Pritz <bluewind@xinu.at>
+This removes all hal dependencies
+
+References:
+http://www.archlinux.org/todo/92/
+
+--- usr/lib/oss/build/install_2011-08-02_162647.sh 2011-08-02 16:26:47.000000000 +0200
++++ usr/lib/oss/build/install.sh 2011-08-02 16:27:13.000000000 +0200
+@@ -336,10 +336,4 @@
+ echo "autosave_mixer yes" > $OSSLIBDIR/etc/userdefs
+ fi
+
+-# Hal 0.5.0+ hotplug
+-mkdir -p /usr/lib/hal/scripts
+-ln -sf $OSSLIBDIR/scripts/oss_usb-create-devices /usr/lib/hal/scripts/
+-mkdir -p /usr/share/hal/fdi/policy/20thirdparty/
+-ln -sf $OSSLIBDIR/scripts/90-oss_usb-create-device.fdi /usr/share/hal/fdi/policy/20thirdparty/
+-
+ exit 0
diff --git a/libre/oss-libre/rm-init-scripts.patch b/libre/oss-libre/rm-init-scripts.patch
new file mode 100644
index 000000000..981ff605f
--- /dev/null
+++ b/libre/oss-libre/rm-init-scripts.patch
@@ -0,0 +1,52 @@
+--- usr/lib/oss/build/install.sh.orig 2008-09-25 11:41:47.180167692 -0300
++++ usr/lib/oss/build/install.sh 2008-09-25 11:41:47.180167692 -0300
+@@ -290,38 +290,6 @@
+ echo
+ fi
+
+-if ! test -d /etc/init.d
+-then
+- mkdir /etc/init.d
+-fi
+-
+-rm -f /etc/init.d/oss /etc/rc.d/rc3.d/S89oss /etc/rc3.d/S89oss
+-cp -f $OSSLIBDIR/etc/S89oss /etc/init.d/oss
+-
+-chmod 744 /etc/init.d/oss
+-
+-if test -x /sbin/chkconfig
+-then
+- /sbin/chkconfig oss on > /dev/null 2>&1
+-else
+- if test -x /usr/sbin/update-rc.d
+- then
+- /usr/sbin/update-rc.d oss defaults > /dev/null 2>&1
+- else
+- if test -d etc/rc.d/rc3.d
+- then
+- rm -f /etc/rc.d/rc3.d/S89oss
+- ln -s /etc/init.d/oss /etc/rc.d/rc3.d/S89oss
+- else
+- if test -d /etc/rc3.d
+- then
+- rm -f /etc/rc3.d/S89oss
+- ln -s /etc/init.d/oss /etc/rc3.d/S89oss
+- fi
+- fi
+- fi
+-fi
+-
+ # Install ALSA interface module (Cuckoo)
+ #(cd $OSSLIBDIR/cuckoo && make clean) > /dev/null 2>&1
+ #if (cd $OSSLIBDIR/cuckoo && make install) > /var/log/cuckoo.log 2>&1
+--- usr/lib/oss/scripts/restore_drv.sh.orig 2008-09-25 11:41:47.210168487 -0300
++++ usr/lib/oss/scripts/restore_drv.sh 2008-09-25 11:41:47.210168487 -0300
+@@ -18,8 +18,6 @@
+ fi
+ fi
+
+-rm -f /etc/init.d/oss
+-
+ if ! test -d /lib/modules/`uname -r`/kernel/sound
+ then
+ if test -f /lib/modules/`uname -r`/sound-preoss.tar.bz2
diff --git a/libre/oss-libre/soundon.patch b/libre/oss-libre/soundon.patch
new file mode 100644
index 000000000..4702b8680
--- /dev/null
+++ b/libre/oss-libre/soundon.patch
@@ -0,0 +1,28 @@
+--- usr/sbin/soundon.old 2009-09-04 06:35:26.000000000 +0100
++++ usr/sbin/soundon 2009-11-15 13:59:53.000000000 +0000
+@@ -255,7 +255,10 @@
+ then
+ if test "`uname -m` " = "x86_64 "
+ then
+- ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib64/libasound.so.2
++ # Fix for compatibility with Arch's directory structure
++ # Not that we use it, there is no $OSSLIBDIR/.libsalsa_installed
++ ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib/libasound.so.2
++ #ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib64/libasound.so.2
+ #ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64
+ else
+ if test -s /lib/libasound.so.2
+@@ -278,8 +281,11 @@
+ then
+ if test "`uname -m` " = "x86_64 "
+ then
+- ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64
+- ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib64
++ # Fix for compatibility with Arch's directory structure
++ ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib
++ ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib
++ #ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64
++ #ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib64
+ else
+ if test -s /lib/libasound.so.2
+ then
diff --git a/libre/p7zip-libre/7zFM.desktop b/libre/p7zip-libre/7zFM.desktop
new file mode 100644
index 000000000..62b8e8562
--- /dev/null
+++ b/libre/p7zip-libre/7zFM.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=7-Zip FM
+GenericName=7-Zip File Manager
+Type=Application
+Categories=GTK;Utility;Archiving;Compression;
+Terminal=false
+Icon=p7zip
+Exec=7zFM
diff --git a/libre/p7zip-libre/9.04-makefile.patch b/libre/p7zip-libre/9.04-makefile.patch
new file mode 100644
index 000000000..93a99cc90
--- /dev/null
+++ b/libre/p7zip-libre/9.04-makefile.patch
@@ -0,0 +1,19 @@
+--- p7zip_9.04/CPP/7zip/Bundles/Format7zFree/makefile.orig 2010-01-04 13:58:54.527887746 +0100
++++ p7zip_9.04/CPP/7zip/Bundles/Format7zFree/makefile 2010-01-04 13:59:10.290868343 +0100
+@@ -247,8 +247,6 @@
+ MyAes.o \
+ Pbkdf2HmacSha1.o \
+ RandGen.o \
+- Rar20Crypto.o \
+- RarAes.o \
+ Sha1.o \
+ WzAes.o \
+ ZipCrypto.o \
+@@ -298,7 +296,6 @@
+ $(HFS_OBJS) \
+ $(ISO_OBJS) \
+ $(NSIS_OBJS) \
+- $(RAR_OBJS) \
+ $(TAR_OBJS) \
+ $(UDF_OBJS) \
+ $(WIM_OBJS) \
diff --git a/libre/p7zip-libre/PKGBUILD b/libre/p7zip-libre/PKGBUILD
new file mode 100644
index 000000000..12b1d4bc1
--- /dev/null
+++ b/libre/p7zip-libre/PKGBUILD
@@ -0,0 +1,84 @@
+# $Id: PKGBUILD 203246 2014-01-06 19:32:24Z bpiotrowski $
+# Contributor: Thayer Williams <thayer@archlinux.org>
+# Contributor: Hugo Doria <hugo@archlinux.org>
+# Contributor: TuxSpirit<tuxspirit@archlinux.fr> 2007/11/17 21:22:36 UTC
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=p7zip-libre
+_pkgname=${pkgname%-libre}
+pkgver=9.20.1
+pkgrel=9
+pkgdesc='Command-line version of the 7zip compressed file archiver, without unrar support'
+url='http://p7zip.sourceforge.net/'
+license=('GPL')
+arch=('i686' 'x86_64' 'mips64el')
+provides=("p7zip=$pkgver")
+conflicts=('p7zip')
+replaces=('p7zip')
+depends=('gcc-libs' 'bash')
+optdepends=('wxgtk2.8: GUI'
+ 'desktop-file-utils: desktop entries')
+makedepends=('yasm' 'nasm' 'wxgtk2.8')
+mksource=("http://downloads.sourceforge.net/project/${_pkgname}/${_pkgname}/${pkgver}/${_pkgname}_${pkgver}_src_all.tar.bz2"
+ 'p7zip-libre.patch')
+source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}_${pkgver}_src_all.tar.bz2"
+ '7zFM.desktop')
+mksha1sums=('1cd567e043ee054bf08244ce15f32cb3258306b7'
+ '8fc0e6e80aeec371a8c80e7a6082594ac6d08aed')
+sha1sums=('82a54887878e3fd90bfbd3c66d2ce3b6a3532a95'
+ 'f2c370d6f1b286b7ce9a2804e22541b755616a40')
+
+options=('!makeflags')
+install=install
+
+mksource() {
+ cd "${srcdir}/${_pkgname}_${pkgver}"
+ msg "Removing unRar"
+# Generate patch
+# sed -e '/Rar/d' -i makefile*
+# find -name '*Rar*' -print0 | xargs -0 rm -rvf
+# Remove Rar mentions in CPP/7zip/Bundles/Format7zFree/makefile
+ patch -Np1 -i ../p7zip-libre.patch
+}
+
+prepare() {
+ cd "${srcdir}/${_pkgname}_${pkgver}"
+ rm GUI/kde4/p7zip_compress.desktop
+ [[ $CARCH = x86_64 ]] \
+ && cp makefile.linux_amd64_asm makefile.machine \
+ || cp makefile.linux_x86_asm_gcc_4.X makefile.machine
+
+ sed -i 's/wx-config/wx-config-2.8/g' CPP/7zip/TEST/TestUI/makefile \
+ CPP/7zip/UI/{FileManager,GUI,P7ZIP}/makefile
+}
+
+build() {
+ cd "${srcdir}/${_pkgname}_${pkgver}"
+ make all4 OPTFLAGS="${CXXFLAGS}"
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}_${pkgver}"
+ make install \
+ DEST_DIR="${pkgdir}" \
+ DEST_HOME="/usr" \
+ DEST_MAN="/usr/share/man"
+
+ # Licenses
+ install -d "${pkgdir}"/usr/share/licenses/p7zip
+ ln -s -t "${pkgdir}"/usr/share/licenses/p7zip \
+ /usr/share/doc/p7zip/DOCS/License.txt
+
+ # Integration with stuff...
+ install -Dm644 GUI/p7zip_32.png "${pkgdir}"/usr/share/icons/hicolor/32x32/apps/p7zip.png
+ install -d "${pkgdir}"/usr/share/{applications,kde4/services/ServiceMenus}
+ cp GUI/kde4/* "${pkgdir}"/usr/share/kde4/services/ServiceMenus/
+ cp ../7zFM.desktop "${pkgdir}"/usr/share/applications/
+ ln -s 7zCon.sfx "${pkgdir}"/usr/lib/p7zip/7z.sfx
+
+ find GUI/help -type d -exec chmod 755 {} \;
+ cp -r GUI/help "${pkgdir}"/usr/lib/p7zip/
+
+ chmod -R u+w "${pkgdir}/usr"
+}
diff --git a/libre/p7zip-libre/install b/libre/p7zip-libre/install
new file mode 100644
index 000000000..7f3cc4358
--- /dev/null
+++ b/libre/p7zip-libre/install
@@ -0,0 +1,13 @@
+post_install() {
+ [[ -x usr/bin/update-desktop-database ]] && update-desktop-database -q || true
+ [[ -x usr/bin/gtk-update-icon-cache ]] && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor || true
+}
+
+post_upgrade() {
+ post_install
+}
+
+
+post_remove() {
+ post_install
+}
diff --git a/libre/p7zip-libre/p7zip-libre.patch b/libre/p7zip-libre/p7zip-libre.patch
new file mode 100644
index 000000000..742faf52d
--- /dev/null
+++ b/libre/p7zip-libre/p7zip-libre.patch
@@ -0,0 +1,6540 @@
+diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHandler.cpp p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHandler.cpp
+--- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHandler.cpp 2011-01-08 06:41:37.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHandler.cpp 1969-12-31 21:00:00.000000000 -0300
+@@ -1,869 +0,0 @@
+-// RarHandler.cpp
+-
+-#include "StdAfx.h"
+-
+-#include "Common/ComTry.h"
+-#include "Common/IntToString.h"
+-#include "Common/StringConvert.h"
+-
+-#include "Windows/PropVariant.h"
+-#include "Windows/PropVariantUtils.h"
+-#include "Windows/Time.h"
+-
+-#include "../../IPassword.h"
+-
+-#include "../../Common/CreateCoder.h"
+-#include "../../Common/FilterCoder.h"
+-#include "../../Common/MethodId.h"
+-#include "../../Common/ProgressUtils.h"
+-
+-#include "../../Compress/CopyCoder.h"
+-
+-#include "../../Crypto/Rar20Crypto.h"
+-#include "../../Crypto/RarAes.h"
+-
+-#include "../Common/ItemNameUtils.h"
+-#include "../Common/OutStreamWithCRC.h"
+-
+-#include "RarHandler.h"
+-
+-using namespace NWindows;
+-using namespace NTime;
+-
+-namespace NArchive {
+-namespace NRar {
+-
+-static const wchar_t *kHostOS[] =
+-{
+- L"MS DOS",
+- L"OS/2",
+- L"Win32",
+- L"Unix",
+- L"Mac OS",
+- L"BeOS"
+-};
+-
+-static const int kNumHostOSes = sizeof(kHostOS) / sizeof(kHostOS[0]);
+-
+-static const wchar_t *kUnknownOS = L"Unknown";
+-
+-static const CUInt32PCharPair k_Flags[] =
+-{
+- { 0, "Volume" },
+- { 1, "Comment" },
+- { 2, "Lock" },
+- { 3, "Solid" },
+- { 4, "NewVolName" }, // pack_comment in old versuons
+- { 5, "Authenticity" },
+- { 6, "Recovery" },
+- { 7, "BlockEncryption" },
+- { 8, "FirstVolume" },
+- { 9, "EncryptVer" }
+-};
+-
+-static const STATPROPSTG kProps[] =
+-{
+- { NULL, kpidPath, VT_BSTR},
+- { NULL, kpidIsDir, VT_BOOL},
+- { NULL, kpidSize, VT_UI8},
+- { NULL, kpidPackSize, VT_UI8},
+- { NULL, kpidMTime, VT_FILETIME},
+- { NULL, kpidCTime, VT_FILETIME},
+- { NULL, kpidATime, VT_FILETIME},
+- { NULL, kpidAttrib, VT_UI4},
+-
+- { NULL, kpidEncrypted, VT_BOOL},
+- { NULL, kpidSolid, VT_BOOL},
+- { NULL, kpidCommented, VT_BOOL},
+- { NULL, kpidSplitBefore, VT_BOOL},
+- { NULL, kpidSplitAfter, VT_BOOL},
+- { NULL, kpidCRC, VT_UI4},
+- { NULL, kpidHostOS, VT_BSTR},
+- { NULL, kpidMethod, VT_BSTR},
+- { NULL, kpidUnpackVer, VT_UI1}
+-};
+-
+-static const STATPROPSTG kArcProps[] =
+-{
+- { NULL, kpidCharacts, VT_BSTR},
+- { NULL, kpidSolid, VT_BOOL},
+- { NULL, kpidNumBlocks, VT_UI4},
+- // { NULL, kpidEncrypted, VT_BOOL},
+- { NULL, kpidIsVolume, VT_BOOL},
+- { NULL, kpidNumVolumes, VT_UI4},
+- { NULL, kpidPhySize, VT_UI8}
+- // { NULL, kpidCommented, VT_BOOL}
+-};
+-
+-IMP_IInArchive_Props
+-IMP_IInArchive_ArcProps
+-
+-UInt64 CHandler::GetPackSize(int refIndex) const
+-{
+- const CRefItem &refItem = _refItems[refIndex];
+- UInt64 totalPackSize = 0;
+- for (int i = 0; i < refItem.NumItems; i++)
+- totalPackSize += _items[refItem.ItemIndex + i].PackSize;
+- return totalPackSize;
+-}
+-
+-STDMETHODIMP CHandler::GetArchiveProperty(PROPID propID, PROPVARIANT *value)
+-{
+- COM_TRY_BEGIN
+- NWindows::NCOM::CPropVariant prop;
+- switch(propID)
+- {
+- case kpidSolid: prop = _archiveInfo.IsSolid(); break;
+- case kpidCharacts: FLAGS_TO_PROP(k_Flags, _archiveInfo.Flags, prop); break;
+- // case kpidEncrypted: prop = _archiveInfo.IsEncrypted(); break; // it's for encrypted names.
+- case kpidIsVolume: prop = _archiveInfo.IsVolume(); break;
+- case kpidNumVolumes: prop = (UInt32)_archives.Size(); break;
+- case kpidOffset: if (_archiveInfo.StartPosition != 0) prop = _archiveInfo.StartPosition; break;
+- // case kpidCommented: prop = _archiveInfo.IsCommented(); break;
+- case kpidNumBlocks:
+- {
+- UInt32 numBlocks = 0;
+- for (int i = 0; i < _refItems.Size(); i++)
+- if (!IsSolid(i))
+- numBlocks++;
+- prop = (UInt32)numBlocks;
+- break;
+- }
+- case kpidError: if (!_errorMessage.IsEmpty()) prop = _errorMessage; break;
+- }
+- prop.Detach(value);
+- return S_OK;
+- COM_TRY_END
+-}
+-
+-STDMETHODIMP CHandler::GetNumberOfItems(UInt32 *numItems)
+-{
+- *numItems = _refItems.Size();
+- return S_OK;
+-}
+-
+-static bool RarTimeToFileTime(const CRarTime &rarTime, FILETIME &result)
+-{
+- if (!DosTimeToFileTime(rarTime.DosTime, result))
+- return false;
+- UInt64 value = (((UInt64)result.dwHighDateTime) << 32) + result.dwLowDateTime;
+- value += (UInt64)rarTime.LowSecond * 10000000;
+- value += ((UInt64)rarTime.SubTime[2] << 16) +
+- ((UInt64)rarTime.SubTime[1] << 8) +
+- ((UInt64)rarTime.SubTime[0]);
+- result.dwLowDateTime = (DWORD)value;
+- result.dwHighDateTime = DWORD(value >> 32);
+- return true;
+-}
+-
+-static void RarTimeToProp(const CRarTime &rarTime, NWindows::NCOM::CPropVariant &prop)
+-{
+- FILETIME localFileTime, utcFileTime;
+- if (RarTimeToFileTime(rarTime, localFileTime))
+- {
+- if (!LocalFileTimeToFileTime(&localFileTime, &utcFileTime))
+- utcFileTime.dwHighDateTime = utcFileTime.dwLowDateTime = 0;
+- }
+- else
+- utcFileTime.dwHighDateTime = utcFileTime.dwLowDateTime = 0;
+- prop = utcFileTime;
+-}
+-
+-STDMETHODIMP CHandler::GetProperty(UInt32 index, PROPID propID, PROPVARIANT *value)
+-{
+- COM_TRY_BEGIN
+- NWindows::NCOM::CPropVariant prop;
+- const CRefItem &refItem = _refItems[index];
+- const CItemEx &item = _items[refItem.ItemIndex];
+- switch(propID)
+- {
+- case kpidPath:
+- {
+- UString u;
+- if (item.HasUnicodeName() && !item.UnicodeName.IsEmpty())
+- u = item.UnicodeName;
+- else
+- u = MultiByteToUnicodeString(item.Name, CP_OEMCP);
+- prop = (const wchar_t *)NItemName::WinNameToOSName(u);
+- break;
+- }
+- case kpidIsDir: prop = item.IsDir(); break;
+- case kpidSize: prop = item.Size; break;
+- case kpidPackSize: prop = GetPackSize(index); break;
+- case kpidMTime: RarTimeToProp(item.MTime, prop); break;
+- case kpidCTime: if (item.CTimeDefined) RarTimeToProp(item.CTime, prop); break;
+- case kpidATime: if (item.ATimeDefined) RarTimeToProp(item.ATime, prop); break;
+- case kpidAttrib: prop = item.GetWinAttributes(); break;
+- case kpidEncrypted: prop = item.IsEncrypted(); break;
+- case kpidSolid: prop = IsSolid(index); break;
+- case kpidCommented: prop = item.IsCommented(); break;
+- case kpidSplitBefore: prop = item.IsSplitBefore(); break;
+- case kpidSplitAfter: prop = _items[refItem.ItemIndex + refItem.NumItems - 1].IsSplitAfter(); break;
+- case kpidCRC:
+- {
+- const CItemEx &lastItem = _items[refItem.ItemIndex + refItem.NumItems - 1];
+- prop = ((lastItem.IsSplitAfter()) ? item.FileCRC : lastItem.FileCRC);
+- break;
+- }
+- case kpidUnpackVer: prop = item.UnPackVersion; break;
+- case kpidMethod:
+- {
+- UString method;
+- if (item.Method >= Byte('0') && item.Method <= Byte('5'))
+- {
+- method = L"m";
+- wchar_t temp[32];
+- ConvertUInt64ToString(item.Method - Byte('0'), temp);
+- method += temp;
+- if (!item.IsDir())
+- {
+- method += L":";
+- ConvertUInt64ToString(16 + item.GetDictSize(), temp);
+- method += temp;
+- }
+- }
+- else
+- {
+- wchar_t temp[32];
+- ConvertUInt64ToString(item.Method, temp);
+- method += temp;
+- }
+- prop = method;
+- break;
+- }
+- case kpidHostOS: prop = (item.HostOS < kNumHostOSes) ? (kHostOS[item.HostOS]) : kUnknownOS; break;
+- }
+- prop.Detach(value);
+- return S_OK;
+- COM_TRY_END
+-}
+-
+-class CVolumeName
+-{
+- bool _first;
+- bool _newStyle;
+- UString _unchangedPart;
+- UString _changedPart;
+- UString _afterPart;
+-public:
+- CVolumeName(): _newStyle(true) {};
+-
+- bool InitName(const UString &name, bool newStyle)
+- {
+- _first = true;
+- _newStyle = newStyle;
+- int dotPos = name.ReverseFind('.');
+- UString basePart = name;
+- if (dotPos >= 0)
+- {
+- UString ext = name.Mid(dotPos + 1);
+- if (ext.CompareNoCase(L"rar") == 0)
+- {
+- _afterPart = name.Mid(dotPos);
+- basePart = name.Left(dotPos);
+- }
+- else if (ext.CompareNoCase(L"exe") == 0)
+- {
+- _afterPart = L".rar";
+- basePart = name.Left(dotPos);
+- }
+- else if (!_newStyle)
+- {
+- if (ext.CompareNoCase(L"000") == 0 ||
+- ext.CompareNoCase(L"001") == 0 ||
+- ext.CompareNoCase(L"r00") == 0 ||
+- ext.CompareNoCase(L"r01") == 0)
+- {
+- _afterPart.Empty();
+- _first = false;
+- _changedPart = ext;
+- _unchangedPart = name.Left(dotPos + 1);
+- return true;
+- }
+- }
+- }
+-
+- if (!_newStyle)
+- {
+- _afterPart.Empty();
+- _unchangedPart = basePart + UString(L".");
+- _changedPart = L"r00";
+- return true;
+- }
+-
+- int numLetters = 1;
+- if (basePart.Right(numLetters) == L"1" || basePart.Right(numLetters) == L"0")
+- {
+- while (numLetters < basePart.Length())
+- {
+- if (basePart[basePart.Length() - numLetters - 1] != '0')
+- break;
+- numLetters++;
+- }
+- }
+- else
+- return false;
+- _unchangedPart = basePart.Left(basePart.Length() - numLetters);
+- _changedPart = basePart.Right(numLetters);
+- return true;
+- }
+-
+- UString GetNextName()
+- {
+- UString newName;
+- if (_newStyle || !_first)
+- {
+- int i;
+- int numLetters = _changedPart.Length();
+- for (i = numLetters - 1; i >= 0; i--)
+- {
+- wchar_t c = _changedPart[i];
+- if (c == L'9')
+- {
+- c = L'0';
+- newName = c + newName;
+- if (i == 0)
+- newName = UString(L'1') + newName;
+- continue;
+- }
+- c++;
+- newName = UString(c) + newName;
+- i--;
+- for (; i >= 0; i--)
+- newName = _changedPart[i] + newName;
+- break;
+- }
+- _changedPart = newName;
+- }
+- _first = false;
+- return _unchangedPart + _changedPart + _afterPart;
+- }
+-};
+-
+-HRESULT CHandler::Open2(IInStream *stream,
+- const UInt64 *maxCheckStartPosition,
+- IArchiveOpenCallback *openCallback)
+-{
+- {
+- CMyComPtr<IArchiveOpenVolumeCallback> openVolumeCallback;
+- CMyComPtr<ICryptoGetTextPassword> getTextPassword;
+- CMyComPtr<IArchiveOpenCallback> openArchiveCallbackWrap = openCallback;
+-
+- CVolumeName seqName;
+-
+- UInt64 totalBytes = 0;
+- UInt64 curBytes = 0;
+-
+- if (openCallback)
+- {
+- openArchiveCallbackWrap.QueryInterface(IID_IArchiveOpenVolumeCallback, &openVolumeCallback);
+- openArchiveCallbackWrap.QueryInterface(IID_ICryptoGetTextPassword, &getTextPassword);
+- }
+-
+- for (;;)
+- {
+- CMyComPtr<IInStream> inStream;
+- if (!_archives.IsEmpty())
+- {
+- if (!openVolumeCallback)
+- break;
+-
+- if (_archives.Size() == 1)
+- {
+- if (!_archiveInfo.IsVolume())
+- break;
+- UString baseName;
+- {
+- NCOM::CPropVariant prop;
+- RINOK(openVolumeCallback->GetProperty(kpidName, &prop));
+- if (prop.vt != VT_BSTR)
+- break;
+- baseName = prop.bstrVal;
+- }
+- seqName.InitName(baseName, _archiveInfo.HaveNewVolumeName());
+- }
+-
+- UString fullName = seqName.GetNextName();
+- HRESULT result = openVolumeCallback->GetStream(fullName, &inStream);
+- if (result == S_FALSE)
+- break;
+- if (result != S_OK)
+- return result;
+- if (!stream)
+- break;
+- }
+- else
+- inStream = stream;
+-
+- UInt64 endPos = 0;
+- RINOK(stream->Seek(0, STREAM_SEEK_END, &endPos));
+- RINOK(stream->Seek(0, STREAM_SEEK_SET, NULL));
+- if (openCallback)
+- {
+- totalBytes += endPos;
+- RINOK(openCallback->SetTotal(NULL, &totalBytes));
+- }
+-
+- NArchive::NRar::CInArchive archive;
+- RINOK(archive.Open(inStream, maxCheckStartPosition));
+-
+- if (_archives.IsEmpty())
+- archive.GetArchiveInfo(_archiveInfo);
+-
+- CItemEx item;
+- for (;;)
+- {
+- if (archive.m_Position > endPos)
+- {
+- AddErrorMessage("Unexpected end of archive");
+- break;
+- }
+- bool decryptionError;
+- AString errorMessageLoc;
+- HRESULT result = archive.GetNextItem(item, getTextPassword, decryptionError, errorMessageLoc);
+- if (errorMessageLoc)
+- AddErrorMessage(errorMessageLoc);
+- if (result == S_FALSE)
+- {
+- if (decryptionError && _items.IsEmpty())
+- return S_FALSE;
+- break;
+- }
+- RINOK(result);
+- if (item.IgnoreItem())
+- continue;
+-
+- bool needAdd = true;
+- if (item.IsSplitBefore())
+- {
+- if (!_refItems.IsEmpty())
+- {
+- CRefItem &refItem = _refItems.Back();
+- refItem.NumItems++;
+- needAdd = false;
+- }
+- }
+- if (needAdd)
+- {
+- CRefItem refItem;
+- refItem.ItemIndex = _items.Size();
+- refItem.NumItems = 1;
+- refItem.VolumeIndex = _archives.Size();
+- _refItems.Add(refItem);
+- }
+- _items.Add(item);
+- if (openCallback && _items.Size() % 100 == 0)
+- {
+- UInt64 numFiles = _items.Size();
+- UInt64 numBytes = curBytes + item.Position;
+- RINOK(openCallback->SetCompleted(&numFiles, &numBytes));
+- }
+- }
+- curBytes += endPos;
+- _archives.Add(archive);
+- }
+- }
+- return S_OK;
+-}
+-
+-STDMETHODIMP CHandler::Open(IInStream *stream,
+- const UInt64 *maxCheckStartPosition,
+- IArchiveOpenCallback *openCallback)
+-{
+- COM_TRY_BEGIN
+- Close();
+- try
+- {
+- HRESULT res = Open2(stream, maxCheckStartPosition, openCallback);
+- if (res != S_OK)
+- Close();
+- return res;
+- }
+- catch(const CInArchiveException &) { Close(); return S_FALSE; }
+- catch(...) { Close(); throw; }
+- COM_TRY_END
+-}
+-
+-STDMETHODIMP CHandler::Close()
+-{
+- COM_TRY_BEGIN
+- _errorMessage.Empty();
+- _refItems.Clear();
+- _items.Clear();
+- _archives.Clear();
+- return S_OK;
+- COM_TRY_END
+-}
+-
+-struct CMethodItem
+-{
+- Byte RarUnPackVersion;
+- CMyComPtr<ICompressCoder> Coder;
+-};
+-
+-
+-STDMETHODIMP CHandler::Extract(const UInt32 *indices, UInt32 numItems,
+- Int32 testMode, IArchiveExtractCallback *extractCallback)
+-{
+- COM_TRY_BEGIN
+- CMyComPtr<ICryptoGetTextPassword> getTextPassword;
+- UInt64 censoredTotalUnPacked = 0,
+- // censoredTotalPacked = 0,
+- importantTotalUnPacked = 0;
+- // importantTotalPacked = 0;
+- bool allFilesMode = (numItems == (UInt32)-1);
+- if (allFilesMode)
+- numItems = _refItems.Size();
+- if (numItems == 0)
+- return S_OK;
+- int lastIndex = 0;
+- CRecordVector<int> importantIndexes;
+- CRecordVector<bool> extractStatuses;
+-
+- for (UInt32 t = 0; t < numItems; t++)
+- {
+- int index = allFilesMode ? t : indices[t];
+- const CRefItem &refItem = _refItems[index];
+- const CItemEx &item = _items[refItem.ItemIndex];
+- censoredTotalUnPacked += item.Size;
+- // censoredTotalPacked += item.PackSize;
+- int j;
+- for (j = lastIndex; j <= index; j++)
+- // if (!_items[_refItems[j].ItemIndex].IsSolid())
+- if (!IsSolid(j))
+- lastIndex = j;
+- for (j = lastIndex; j <= index; j++)
+- {
+- const CRefItem &refItem = _refItems[j];
+- const CItemEx &item = _items[refItem.ItemIndex];
+-
+- // const CItemEx &item = _items[j];
+-
+- importantTotalUnPacked += item.Size;
+- // importantTotalPacked += item.PackSize;
+- importantIndexes.Add(j);
+- extractStatuses.Add(j == index);
+- }
+- lastIndex = index + 1;
+- }
+-
+- RINOK(extractCallback->SetTotal(importantTotalUnPacked));
+- UInt64 currentImportantTotalUnPacked = 0;
+- UInt64 currentImportantTotalPacked = 0;
+- UInt64 currentUnPackSize, currentPackSize;
+-
+- CObjectVector<CMethodItem> methodItems;
+-
+- NCompress::CCopyCoder *copyCoderSpec = new NCompress::CCopyCoder;
+- CMyComPtr<ICompressCoder> copyCoder = copyCoderSpec;
+-
+- CFilterCoder *filterStreamSpec = new CFilterCoder;
+- CMyComPtr<ISequentialInStream> filterStream = filterStreamSpec;
+-
+- NCrypto::NRar20::CDecoder *rar20CryptoDecoderSpec = NULL;
+- CMyComPtr<ICompressFilter> rar20CryptoDecoder;
+- NCrypto::NRar29::CDecoder *rar29CryptoDecoderSpec = NULL;
+- CMyComPtr<ICompressFilter> rar29CryptoDecoder;
+-
+- CFolderInStream *folderInStreamSpec = NULL;
+- CMyComPtr<ISequentialInStream> folderInStream;
+-
+- CLocalProgress *lps = new CLocalProgress;
+- CMyComPtr<ICompressProgressInfo> progress = lps;
+- lps->Init(extractCallback, false);
+-
+- bool solidStart = true;
+- for (int i = 0; i < importantIndexes.Size(); i++,
+- currentImportantTotalUnPacked += currentUnPackSize,
+- currentImportantTotalPacked += currentPackSize)
+- {
+- lps->InSize = currentImportantTotalPacked;
+- lps->OutSize = currentImportantTotalUnPacked;
+- RINOK(lps->SetCur());
+- CMyComPtr<ISequentialOutStream> realOutStream;
+-
+- Int32 askMode;
+- if (extractStatuses[i])
+- askMode = testMode ?
+- NExtract::NAskMode::kTest :
+- NExtract::NAskMode::kExtract;
+- else
+- askMode = NExtract::NAskMode::kSkip;
+-
+- UInt32 index = importantIndexes[i];
+-
+- const CRefItem &refItem = _refItems[index];
+- const CItemEx &item = _items[refItem.ItemIndex];
+-
+- currentUnPackSize = item.Size;
+-
+- currentPackSize = GetPackSize(index);
+-
+- if (item.IgnoreItem())
+- continue;
+-
+- RINOK(extractCallback->GetStream(index, &realOutStream, askMode));
+-
+- if (!IsSolid(index))
+- solidStart = true;
+- if (item.IsDir())
+- {
+- RINOK(extractCallback->PrepareOperation(askMode));
+- RINOK(extractCallback->SetOperationResult(NExtract::NOperationResult::kOK));
+- continue;
+- }
+-
+- bool mustBeProcessedAnywhere = false;
+- if (i < importantIndexes.Size() - 1)
+- {
+- // const CRefItem &nextRefItem = _refItems[importantIndexes[i + 1]];
+- // const CItemEx &nextItemInfo = _items[nextRefItem.ItemIndex];
+- // mustBeProcessedAnywhere = nextItemInfo.IsSolid();
+- mustBeProcessedAnywhere = IsSolid(importantIndexes[i + 1]);
+- }
+-
+- if (!mustBeProcessedAnywhere && !testMode && !realOutStream)
+- continue;
+-
+- if (!realOutStream && !testMode)
+- askMode = NExtract::NAskMode::kSkip;
+-
+- RINOK(extractCallback->PrepareOperation(askMode));
+-
+- COutStreamWithCRC *outStreamSpec = new COutStreamWithCRC;
+- CMyComPtr<ISequentialOutStream> outStream(outStreamSpec);
+- outStreamSpec->SetStream(realOutStream);
+- outStreamSpec->Init();
+- realOutStream.Release();
+-
+- /*
+- for (int partIndex = 0; partIndex < 1; partIndex++)
+- {
+- CMyComPtr<ISequentialInStream> inStream;
+-
+- // item redefinition
+- const CItemEx &item = _items[refItem.ItemIndex + partIndex];
+-
+- NArchive::NRar::CInArchive &archive = _archives[refItem.VolumeIndex + partIndex];
+-
+- inStream.Attach(archive.CreateLimitedStream(item.GetDataPosition(),
+- item.PackSize));
+- */
+- if (!folderInStream)
+- {
+- folderInStreamSpec = new CFolderInStream;
+- folderInStream = folderInStreamSpec;
+- }
+-
+- folderInStreamSpec->Init(&_archives, &_items, refItem);
+-
+- UInt64 packSize = currentPackSize;
+-
+- // packedPos += item.PackSize;
+- // unpackedPos += 0;
+-
+- CMyComPtr<ISequentialInStream> inStream;
+- if (item.IsEncrypted())
+- {
+- CMyComPtr<ICryptoSetPassword> cryptoSetPassword;
+- if (item.UnPackVersion >= 29)
+- {
+- if (!rar29CryptoDecoder)
+- {
+- rar29CryptoDecoderSpec = new NCrypto::NRar29::CDecoder;
+- rar29CryptoDecoder = rar29CryptoDecoderSpec;
+- // RINOK(rar29CryptoDecoder.CoCreateInstance(CLSID_CCryptoRar29Decoder));
+- }
+- rar29CryptoDecoderSpec->SetRar350Mode(item.UnPackVersion < 36);
+- CMyComPtr<ICompressSetDecoderProperties2> cryptoProperties;
+- RINOK(rar29CryptoDecoder.QueryInterface(IID_ICompressSetDecoderProperties2,
+- &cryptoProperties));
+- RINOK(cryptoProperties->SetDecoderProperties2(item.Salt, item.HasSalt() ? sizeof(item.Salt) : 0));
+- filterStreamSpec->Filter = rar29CryptoDecoder;
+- }
+- else if (item.UnPackVersion >= 20)
+- {
+- if (!rar20CryptoDecoder)
+- {
+- rar20CryptoDecoderSpec = new NCrypto::NRar20::CDecoder;
+- rar20CryptoDecoder = rar20CryptoDecoderSpec;
+- // RINOK(rar20CryptoDecoder.CoCreateInstance(CLSID_CCryptoRar20Decoder));
+- }
+- filterStreamSpec->Filter = rar20CryptoDecoder;
+- }
+- else
+- {
+- outStream.Release();
+- RINOK(extractCallback->SetOperationResult(NExtract::NOperationResult::kUnSupportedMethod));
+- continue;
+- }
+- RINOK(filterStreamSpec->Filter.QueryInterface(IID_ICryptoSetPassword,
+- &cryptoSetPassword));
+-
+- if (!getTextPassword)
+- extractCallback->QueryInterface(IID_ICryptoGetTextPassword, (void **)&getTextPassword);
+- if (getTextPassword)
+- {
+- CMyComBSTR password;
+- RINOK(getTextPassword->CryptoGetTextPassword(&password));
+- if (item.UnPackVersion >= 29)
+- {
+- CByteBuffer buffer;
+- UString unicodePassword(password);
+- const UInt32 sizeInBytes = unicodePassword.Length() * 2;
+- buffer.SetCapacity(sizeInBytes);
+- for (int i = 0; i < unicodePassword.Length(); i++)
+- {
+- wchar_t c = unicodePassword[i];
+- ((Byte *)buffer)[i * 2] = (Byte)c;
+- ((Byte *)buffer)[i * 2 + 1] = (Byte)(c >> 8);
+- }
+- RINOK(cryptoSetPassword->CryptoSetPassword(
+- (const Byte *)buffer, sizeInBytes));
+- }
+- else
+- {
+- AString oemPassword = UnicodeStringToMultiByte(
+- (const wchar_t *)password, CP_OEMCP);
+- RINOK(cryptoSetPassword->CryptoSetPassword(
+- (const Byte *)(const char *)oemPassword, oemPassword.Length()));
+- }
+- }
+- else
+- {
+- RINOK(cryptoSetPassword->CryptoSetPassword(0, 0));
+- }
+- filterStreamSpec->SetInStream(folderInStream);
+- inStream = filterStream;
+- }
+- else
+- {
+- inStream = folderInStream;
+- }
+- CMyComPtr<ICompressCoder> commonCoder;
+- switch(item.Method)
+- {
+- case '0':
+- {
+- commonCoder = copyCoder;
+- break;
+- }
+- case '1':
+- case '2':
+- case '3':
+- case '4':
+- case '5':
+- {
+- /*
+- if (item.UnPackVersion >= 29)
+- {
+- outStream.Release();
+- RINOK(extractCallback->SetOperationResult(NExtract::NOperationResult::kUnSupportedMethod));
+- continue;
+- }
+- */
+- int m;
+- for (m = 0; m < methodItems.Size(); m++)
+- if (methodItems[m].RarUnPackVersion == item.UnPackVersion)
+- break;
+- if (m == methodItems.Size())
+- {
+- CMethodItem mi;
+- mi.RarUnPackVersion = item.UnPackVersion;
+-
+- mi.Coder.Release();
+- if (item.UnPackVersion <= 30)
+- {
+- UInt32 methodID = 0x040300;
+- if (item.UnPackVersion < 20)
+- methodID += 1;
+- else if (item.UnPackVersion < 29)
+- methodID += 2;
+- else
+- methodID += 3;
+- RINOK(CreateCoder(EXTERNAL_CODECS_VARS methodID, mi.Coder, false));
+- }
+-
+- if (mi.Coder == 0)
+- {
+- outStream.Release();
+- RINOK(extractCallback->SetOperationResult(NExtract::NOperationResult::kUnSupportedMethod));
+- continue;
+- }
+-
+- m = methodItems.Add(mi);
+- }
+- CMyComPtr<ICompressCoder> decoder = methodItems[m].Coder;
+-
+- CMyComPtr<ICompressSetDecoderProperties2> compressSetDecoderProperties;
+- RINOK(decoder.QueryInterface(IID_ICompressSetDecoderProperties2,
+- &compressSetDecoderProperties));
+-
+- Byte isSolid = (Byte)((IsSolid(index) || item.IsSplitBefore()) ? 1: 0);
+- if (solidStart)
+- {
+- isSolid = false;
+- solidStart = false;
+- }
+-
+-
+- RINOK(compressSetDecoderProperties->SetDecoderProperties2(&isSolid, 1));
+-
+- commonCoder = decoder;
+- break;
+- }
+- default:
+- outStream.Release();
+- RINOK(extractCallback->SetOperationResult(NExtract::NOperationResult::kUnSupportedMethod));
+- continue;
+- }
+- HRESULT result = commonCoder->Code(inStream, outStream, &packSize, &item.Size, progress);
+- if (item.IsEncrypted())
+- filterStreamSpec->ReleaseInStream();
+- if (result == S_FALSE)
+- {
+- outStream.Release();
+- RINOK(extractCallback->SetOperationResult(NExtract::NOperationResult::kDataError));
+- continue;
+- }
+- if (result != S_OK)
+- return result;
+-
+- /*
+- if (refItem.NumItems == 1 &&
+- !item.IsSplitBefore() && !item.IsSplitAfter())
+- */
+- {
+- const CItemEx &lastItem = _items[refItem.ItemIndex + refItem.NumItems - 1];
+- bool crcOK = outStreamSpec->GetCRC() == lastItem.FileCRC;
+- outStream.Release();
+- RINOK(extractCallback->SetOperationResult(crcOK ?
+- NExtract::NOperationResult::kOK:
+- NExtract::NOperationResult::kCRCError));
+- }
+- /*
+- else
+- {
+- bool crcOK = true;
+- for (int partIndex = 0; partIndex < refItem.NumItems; partIndex++)
+- {
+- const CItemEx &item = _items[refItem.ItemIndex + partIndex];
+- if (item.FileCRC != folderInStreamSpec->CRCs[partIndex])
+- {
+- crcOK = false;
+- break;
+- }
+- }
+- RINOK(extractCallback->SetOperationResult(crcOK ?
+- NExtract::NOperationResult::kOK:
+- NExtract::NOperationResult::kCRCError));
+- }
+- */
+- }
+- return S_OK;
+- COM_TRY_END
+-}
+-
+-IMPL_ISetCompressCodecsInfo
+-
+-}}
+diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHandler.h p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHandler.h
+--- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHandler.h 2011-01-08 06:41:27.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHandler.h 1969-12-31 21:00:00.000000000 -0300
+@@ -1,66 +0,0 @@
+-// Rar/Handler.h
+-
+-#ifndef __RAR_HANDLER_H
+-#define __RAR_HANDLER_H
+-
+-#include "../IArchive.h"
+-
+-#include "../../Common/CreateCoder.h"
+-
+-#include "RarIn.h"
+-#include "RarVolumeInStream.h"
+-
+-namespace NArchive {
+-namespace NRar {
+-
+-class CHandler:
+- public IInArchive,
+- PUBLIC_ISetCompressCodecsInfo
+- public CMyUnknownImp
+-{
+- CRecordVector<CRefItem> _refItems;
+- CObjectVector<CItemEx> _items;
+- CObjectVector<CInArchive> _archives;
+- NArchive::NRar::CInArchiveInfo _archiveInfo;
+- AString _errorMessage;
+-
+- DECL_EXTERNAL_CODECS_VARS
+-
+- UInt64 GetPackSize(int refIndex) const;
+-
+- bool IsSolid(int refIndex)
+- {
+- const CItemEx &item = _items[_refItems[refIndex].ItemIndex];
+- if (item.UnPackVersion < 20)
+- {
+- if (_archiveInfo.IsSolid())
+- return (refIndex > 0);
+- return false;
+- }
+- return item.IsSolid();
+- }
+- void AddErrorMessage(const AString &s)
+- {
+- if (!_errorMessage.IsEmpty())
+- _errorMessage += '\n';
+- _errorMessage += s;
+- }
+-
+- HRESULT Open2(IInStream *stream,
+- const UInt64 *maxCheckStartPosition,
+- IArchiveOpenCallback *openCallback);
+-
+-public:
+- MY_QUERYINTERFACE_BEGIN2(IInArchive)
+- QUERY_ENTRY_ISetCompressCodecsInfo
+- MY_QUERYINTERFACE_END
+- MY_ADDREF_RELEASE
+-
+- INTERFACE_IInArchive(;)
+-
+- DECL_ISetCompressCodecsInfo
+-};
+-
+-}}
+-
+-#endif
+diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHeader.cpp p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHeader.cpp
+--- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHeader.cpp 2008-08-14 06:11:25.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHeader.cpp 1969-12-31 21:00:00.000000000 -0300
+@@ -1,21 +0,0 @@
+-// Archive/Rar/Headers.cpp
+-
+-#include "StdAfx.h"
+-
+-#include "RarHeader.h"
+-
+-namespace NArchive{
+-namespace NRar{
+-namespace NHeader{
+-
+-Byte kMarker[kMarkerSize] = {0x52 + 1, 0x61, 0x72, 0x21, 0x1a, 0x07, 0x00};
+-
+-class CMarkerInitializer
+-{
+-public:
+- CMarkerInitializer() { kMarker[0]--; };
+-};
+-
+-static CMarkerInitializer markerInitializer;
+-
+-}}}
+diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHeader.h p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHeader.h
+--- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarHeader.h 2011-01-08 06:41:27.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarHeader.h 1969-12-31 21:00:00.000000000 -0300
+@@ -1,205 +0,0 @@
+-// Archive/RarHeader.h
+-
+-#ifndef __ARCHIVE_RAR_HEADER_H
+-#define __ARCHIVE_RAR_HEADER_H
+-
+-#include "Common/Types.h"
+-
+-namespace NArchive {
+-namespace NRar {
+-namespace NHeader {
+-
+-const int kMarkerSize = 7;
+-extern Byte kMarker[kMarkerSize];
+-
+-const int kArchiveSolid = 0x1;
+-
+-namespace NBlockType
+-{
+- enum EBlockType
+- {
+- kMarker = 0x72,
+- kArchiveHeader,
+- kFileHeader,
+- kCommentHeader,
+- kOldAuthenticity,
+- kOldSubBlock,
+- kRecoveryRecord,
+- kAuthenticity,
+- kSubBlock,
+- kEndOfArchive
+- };
+-}
+-
+-namespace NArchive
+-{
+- const UInt16 kVolume = 1;
+- const UInt16 kComment = 2;
+- const UInt16 kLock = 4;
+- const UInt16 kSolid = 8;
+- const UInt16 kNewVolName = 0x10; // ('volname.partN.rar')
+- const UInt16 kAuthenticity = 0x20;
+- const UInt16 kRecovery = 0x40;
+- const UInt16 kBlockEncryption = 0x80;
+- const UInt16 kFirstVolume = 0x100; // (set only by RAR 3.0 and later)
+- const UInt16 kEncryptVer = 0x200; // RAR 3.6 there is EncryptVer Byte in End of MainHeader
+-
+- const int kHeaderSizeMin = 7;
+-
+- const int kArchiveHeaderSize = 13;
+-
+- const int kBlockHeadersAreEncrypted = 0x80;
+-
+-}
+-
+-namespace NFile
+-{
+- const int kSplitBefore = 1 << 0;
+- const int kSplitAfter = 1 << 1;
+- const int kEncrypted = 1 << 2;
+- const int kComment = 1 << 3;
+- const int kSolid = 1 << 4;
+-
+- const int kDictBitStart = 5;
+- const int kNumDictBits = 3;
+- const int kDictMask = (1 << kNumDictBits) - 1;
+- const int kDictDirectoryValue = 0x7;
+-
+- const int kSize64Bits = 1 << 8;
+- const int kUnicodeName = 1 << 9;
+- const int kSalt = 1 << 10;
+- const int kOldVersion = 1 << 11;
+- const int kExtTime = 1 << 12;
+- // const int kExtFlags = 1 << 13;
+- // const int kSkipIfUnknown = 1 << 14;
+-
+- const int kLongBlock = 1 << 15;
+-
+- /*
+- struct CBlock
+- {
+- // UInt16 HeadCRC;
+- // Byte Type;
+- // UInt16 Flags;
+- // UInt16 HeadSize;
+- UInt32 PackSize;
+- UInt32 UnPackSize;
+- Byte HostOS;
+- UInt32 FileCRC;
+- UInt32 Time;
+- Byte UnPackVersion;
+- Byte Method;
+- UInt16 NameSize;
+- UInt32 Attributes;
+- };
+- */
+-
+- /*
+- struct CBlock32
+- {
+- UInt16 HeadCRC;
+- Byte Type;
+- UInt16 Flags;
+- UInt16 HeadSize;
+- UInt32 PackSize;
+- UInt32 UnPackSize;
+- Byte HostOS;
+- UInt32 FileCRC;
+- UInt32 Time;
+- Byte UnPackVersion;
+- Byte Method;
+- UInt16 NameSize;
+- UInt32 Attributes;
+- UInt16 GetRealCRC(const void *aName, UInt32 aNameSize,
+- bool anExtraDataDefined = false, Byte *anExtraData = 0) const;
+- };
+- struct CBlock64
+- {
+- UInt16 HeadCRC;
+- Byte Type;
+- UInt16 Flags;
+- UInt16 HeadSize;
+- UInt32 PackSizeLow;
+- UInt32 UnPackSizeLow;
+- Byte HostOS;
+- UInt32 FileCRC;
+- UInt32 Time;
+- Byte UnPackVersion;
+- Byte Method;
+- UInt16 NameSize;
+- UInt32 Attributes;
+- UInt32 PackSizeHigh;
+- UInt32 UnPackSizeHigh;
+- UInt16 GetRealCRC(const void *aName, UInt32 aNameSize) const;
+- };
+- */
+-
+- const int kLabelFileAttribute = 0x08;
+- const int kWinFileDirectoryAttributeMask = 0x10;
+-
+- enum CHostOS
+- {
+- kHostMSDOS = 0,
+- kHostOS2 = 1,
+- kHostWin32 = 2,
+- kHostUnix = 3,
+- kHostMacOS = 4,
+- kHostBeOS = 5
+- };
+-}
+-
+-namespace NBlock
+-{
+- const UInt16 kLongBlock = 1 << 15;
+- struct CBlock
+- {
+- UInt16 CRC;
+- Byte Type;
+- UInt16 Flags;
+- UInt16 HeadSize;
+- // UInt32 DataSize;
+- };
+-}
+-
+-/*
+-struct CSubBlock
+-{
+- UInt16 HeadCRC;
+- Byte HeadType;
+- UInt16 Flags;
+- UInt16 HeadSize;
+- UInt32 DataSize;
+- UInt16 SubType;
+- Byte Level; // Reserved : Must be 0
+-};
+-
+-struct CCommentBlock
+-{
+- UInt16 HeadCRC;
+- Byte HeadType;
+- UInt16 Flags;
+- UInt16 HeadSize;
+- UInt16 UnpSize;
+- Byte UnpVer;
+- Byte Method;
+- UInt16 CommCRC;
+-};
+-
+-
+-struct CProtectHeader
+-{
+- UInt16 HeadCRC;
+- Byte HeadType;
+- UInt16 Flags;
+- UInt16 HeadSize;
+- UInt32 DataSize;
+- Byte Version;
+- UInt16 RecSectors;
+- UInt32 TotalBlocks;
+- Byte Mark[8];
+-};
+-*/
+-
+-}}}
+-
+-#endif
+diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarIn.cpp p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarIn.cpp
+--- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarIn.cpp 2011-01-08 06:41:37.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarIn.cpp 1969-12-31 21:00:00.000000000 -0300
+@@ -1,478 +0,0 @@
+-// Archive/RarIn.cpp
+-
+-#include "StdAfx.h"
+-
+-#include "../../../../C/7zCrc.h"
+-#include "../../../../C/CpuArch.h"
+-
+-#include "Common/StringConvert.h"
+-#include "Common/UTFConvert.h"
+-
+-#include "../../Common/LimitedStreams.h"
+-#include "../../Common/StreamUtils.h"
+-
+-#include "../Common/FindSignature.h"
+-
+-#include "RarIn.h"
+-
+-#define Get16(p) GetUi16(p)
+-#define Get32(p) GetUi32(p)
+-#define Get64(p) GetUi64(p)
+-
+-namespace NArchive {
+-namespace NRar {
+-
+-static const char *k_UnexpectedEnd = "Unexpected end of archive";
+-static const char *k_DecryptionError = "Decryption Error";
+-
+-void CInArchive::ThrowExceptionWithCode(
+- CInArchiveException::CCauseType cause)
+-{
+- throw CInArchiveException(cause);
+-}
+-
+-HRESULT CInArchive::Open(IInStream *inStream, const UInt64 *searchHeaderSizeLimit)
+-{
+- try
+- {
+- Close();
+- HRESULT res = Open2(inStream, searchHeaderSizeLimit);
+- if (res == S_OK)
+- return res;
+- Close();
+- return res;
+- }
+- catch(...) { Close(); throw; }
+-}
+-
+-void CInArchive::Close()
+-{
+- m_Stream.Release();
+-}
+-
+-HRESULT CInArchive::ReadBytesSpec(void *data, size_t *resSize)
+-{
+- if (m_CryptoMode)
+- {
+- size_t size = *resSize;
+- *resSize = 0;
+- const Byte *bufData = m_DecryptedDataAligned;
+- UInt32 bufSize = m_DecryptedDataSize;
+- size_t i;
+- for (i = 0; i < size && m_CryptoPos < bufSize; i++)
+- ((Byte *)data)[i] = bufData[m_CryptoPos++];
+- *resSize = i;
+- return S_OK;
+- }
+- return ReadStream(m_Stream, data, resSize);
+-}
+-
+-bool CInArchive::ReadBytesAndTestSize(void *data, UInt32 size)
+-{
+- size_t processed = size;
+- if (ReadBytesSpec(data, &processed) != S_OK)
+- return false;
+- return processed == size;
+-}
+-
+-HRESULT CInArchive::Open2(IInStream *stream, const UInt64 *searchHeaderSizeLimit)
+-{
+- m_CryptoMode = false;
+- RINOK(stream->Seek(0, STREAM_SEEK_SET, &m_StreamStartPosition));
+- m_Position = m_StreamStartPosition;
+-
+- UInt64 arcStartPos;
+- RINOK(FindSignatureInStream(stream, NHeader::kMarker, NHeader::kMarkerSize,
+- searchHeaderSizeLimit, arcStartPos));
+- m_Position = arcStartPos + NHeader::kMarkerSize;
+- RINOK(stream->Seek(m_Position, STREAM_SEEK_SET, NULL));
+- Byte buf[NHeader::NArchive::kArchiveHeaderSize + 1];
+-
+- RINOK(ReadStream_FALSE(stream, buf, NHeader::NArchive::kArchiveHeaderSize));
+- AddToSeekValue(NHeader::NArchive::kArchiveHeaderSize);
+-
+-
+- UInt32 blockSize = Get16(buf + 5);
+-
+- _header.EncryptVersion = 0;
+- _header.Flags = Get16(buf + 3);
+-
+- UInt32 headerSize = NHeader::NArchive::kArchiveHeaderSize;
+- if (_header.IsThereEncryptVer())
+- {
+- if (blockSize <= headerSize)
+- return S_FALSE;
+- RINOK(ReadStream_FALSE(stream, buf + NHeader::NArchive::kArchiveHeaderSize, 1));
+- AddToSeekValue(1);
+- _header.EncryptVersion = buf[NHeader::NArchive::kArchiveHeaderSize];
+- headerSize += 1;
+- }
+- if (blockSize < headerSize ||
+- buf[2] != NHeader::NBlockType::kArchiveHeader ||
+- (UInt32)Get16(buf) != (CrcCalc(buf + 2, headerSize - 2) & 0xFFFF))
+- return S_FALSE;
+-
+- size_t commentSize = blockSize - headerSize;
+- _comment.SetCapacity(commentSize);
+- RINOK(ReadStream_FALSE(stream, _comment, commentSize));
+- AddToSeekValue(commentSize);
+- m_Stream = stream;
+- _header.StartPosition = arcStartPos;
+- return S_OK;
+-}
+-
+-void CInArchive::GetArchiveInfo(CInArchiveInfo &archiveInfo) const
+-{
+- archiveInfo = _header;
+-}
+-
+-static void DecodeUnicodeFileName(const char *name, const Byte *encName,
+- int encSize, wchar_t *unicodeName, int maxDecSize)
+-{
+- int encPos = 0;
+- int decPos = 0;
+- int flagBits = 0;
+- Byte flags = 0;
+- Byte highByte = encName[encPos++];
+- while (encPos < encSize && decPos < maxDecSize)
+- {
+- if (flagBits == 0)
+- {
+- flags = encName[encPos++];
+- flagBits = 8;
+- }
+- switch(flags >> 6)
+- {
+- case 0:
+- unicodeName[decPos++] = encName[encPos++];
+- break;
+- case 1:
+- unicodeName[decPos++] = (wchar_t)(encName[encPos++] + (highByte << 8));
+- break;
+- case 2:
+- unicodeName[decPos++] = (wchar_t)(encName[encPos] + (encName[encPos + 1] << 8));
+- encPos += 2;
+- break;
+- case 3:
+- {
+- int length = encName[encPos++];
+- if (length & 0x80)
+- {
+- Byte correction = encName[encPos++];
+- for (length = (length & 0x7f) + 2;
+- length > 0 && decPos < maxDecSize; length--, decPos++)
+- unicodeName[decPos] = (wchar_t)(((name[decPos] + correction) & 0xff) + (highByte << 8));
+- }
+- else
+- for (length += 2; length > 0 && decPos < maxDecSize; length--, decPos++)
+- unicodeName[decPos] = name[decPos];
+- }
+- break;
+- }
+- flags <<= 2;
+- flagBits -= 2;
+- }
+- unicodeName[decPos < maxDecSize ? decPos : maxDecSize - 1] = 0;
+-}
+-
+-void CInArchive::ReadName(CItemEx &item, int nameSize)
+-{
+- item.UnicodeName.Empty();
+- if (nameSize > 0)
+- {
+- m_NameBuffer.EnsureCapacity(nameSize + 1);
+- char *buffer = (char *)m_NameBuffer;
+-
+- for (int i = 0; i < nameSize; i++)
+- buffer[i] = ReadByte();
+-
+- int mainLen;
+- for (mainLen = 0; mainLen < nameSize; mainLen++)
+- if (buffer[mainLen] == '\0')
+- break;
+- buffer[mainLen] = '\0';
+- item.Name = buffer;
+-
+- if(item.HasUnicodeName())
+- {
+- if(mainLen < nameSize)
+- {
+- int unicodeNameSizeMax = MyMin(nameSize, (0x400));
+- _unicodeNameBuffer.EnsureCapacity(unicodeNameSizeMax + 1);
+- DecodeUnicodeFileName(buffer, (const Byte *)buffer + mainLen + 1,
+- nameSize - (mainLen + 1), _unicodeNameBuffer, unicodeNameSizeMax);
+- item.UnicodeName = _unicodeNameBuffer;
+- }
+- else if (!ConvertUTF8ToUnicode(item.Name, item.UnicodeName))
+- item.UnicodeName.Empty();
+- }
+- }
+- else
+- item.Name.Empty();
+-}
+-
+-Byte CInArchive::ReadByte()
+-{
+- if (m_CurPos >= m_PosLimit)
+- throw CInArchiveException(CInArchiveException::kIncorrectArchive);
+- return m_CurData[m_CurPos++];
+-}
+-
+-UInt16 CInArchive::ReadUInt16()
+-{
+- UInt16 value = 0;
+- for (int i = 0; i < 2; i++)
+- {
+- Byte b = ReadByte();
+- value |= (UInt16(b) << (8 * i));
+- }
+- return value;
+-}
+-
+-UInt32 CInArchive::ReadUInt32()
+-{
+- UInt32 value = 0;
+- for (int i = 0; i < 4; i++)
+- {
+- Byte b = ReadByte();
+- value |= (UInt32(b) << (8 * i));
+- }
+- return value;
+-}
+-
+-void CInArchive::ReadTime(Byte mask, CRarTime &rarTime)
+-{
+- rarTime.LowSecond = (Byte)(((mask & 4) != 0) ? 1 : 0);
+- int numDigits = (mask & 3);
+- rarTime.SubTime[0] = rarTime.SubTime[1] = rarTime.SubTime[2] = 0;
+- for (int i = 0; i < numDigits; i++)
+- rarTime.SubTime[3 - numDigits + i] = ReadByte();
+-}
+-
+-void CInArchive::ReadHeaderReal(CItemEx &item)
+-{
+- item.Flags = m_BlockHeader.Flags;
+- item.PackSize = ReadUInt32();
+- item.Size = ReadUInt32();
+- item.HostOS = ReadByte();
+- item.FileCRC = ReadUInt32();
+- item.MTime.DosTime = ReadUInt32();
+- item.UnPackVersion = ReadByte();
+- item.Method = ReadByte();
+- int nameSize = ReadUInt16();
+- item.Attrib = ReadUInt32();
+-
+- item.MTime.LowSecond = 0;
+- item.MTime.SubTime[0] =
+- item.MTime.SubTime[1] =
+- item.MTime.SubTime[2] = 0;
+-
+- if((item.Flags & NHeader::NFile::kSize64Bits) != 0)
+- {
+- item.PackSize |= ((UInt64)ReadUInt32() << 32);
+- item.Size |= ((UInt64)ReadUInt32() << 32);
+- }
+-
+- ReadName(item, nameSize);
+-
+- if (item.HasSalt())
+- for (int i = 0; i < sizeof(item.Salt); i++)
+- item.Salt[i] = ReadByte();
+-
+- // some rar archives have HasExtTime flag without field.
+- if (m_CurPos < m_PosLimit && item.HasExtTime())
+- {
+- Byte accessMask = (Byte)(ReadByte() >> 4);
+- Byte b = ReadByte();
+- Byte modifMask = (Byte)(b >> 4);
+- Byte createMask = (Byte)(b & 0xF);
+- if ((modifMask & 8) != 0)
+- ReadTime(modifMask, item.MTime);
+- item.CTimeDefined = ((createMask & 8) != 0);
+- if (item.CTimeDefined)
+- {
+- item.CTime.DosTime = ReadUInt32();
+- ReadTime(createMask, item.CTime);
+- }
+- item.ATimeDefined = ((accessMask & 8) != 0);
+- if (item.ATimeDefined)
+- {
+- item.ATime.DosTime = ReadUInt32();
+- ReadTime(accessMask, item.ATime);
+- }
+- }
+-
+- UInt16 fileHeaderWithNameSize = (UInt16)m_CurPos;
+-
+- item.Position = m_Position;
+- item.MainPartSize = fileHeaderWithNameSize;
+- item.CommentSize = (UInt16)(m_BlockHeader.HeadSize - fileHeaderWithNameSize);
+-
+- if (m_CryptoMode)
+- item.AlignSize = (UInt16)((16 - ((m_BlockHeader.HeadSize) & 0xF)) & 0xF);
+- else
+- item.AlignSize = 0;
+- AddToSeekValue(m_BlockHeader.HeadSize);
+-}
+-
+-void CInArchive::AddToSeekValue(UInt64 addValue)
+-{
+- m_Position += addValue;
+-}
+-
+-HRESULT CInArchive::GetNextItem(CItemEx &item, ICryptoGetTextPassword *getTextPassword, bool &decryptionError, AString &errorMessage)
+-{
+- decryptionError = false;
+- for (;;)
+- {
+- SeekInArchive(m_Position);
+- if (!m_CryptoMode && (_header.Flags &
+- NHeader::NArchive::kBlockHeadersAreEncrypted) != 0)
+- {
+- m_CryptoMode = false;
+- if (getTextPassword == 0)
+- return S_FALSE;
+- if (!m_RarAES)
+- {
+- m_RarAESSpec = new NCrypto::NRar29::CDecoder;
+- m_RarAES = m_RarAESSpec;
+- }
+- m_RarAESSpec->SetRar350Mode(_header.IsEncryptOld());
+-
+- // Salt
+- const UInt32 kSaltSize = 8;
+- Byte salt[kSaltSize];
+- if(!ReadBytesAndTestSize(salt, kSaltSize))
+- return S_FALSE;
+- m_Position += kSaltSize;
+- RINOK(m_RarAESSpec->SetDecoderProperties2(salt, kSaltSize))
+- // Password
+- CMyComBSTR password;
+- RINOK(getTextPassword->CryptoGetTextPassword(&password))
+- UString unicodePassword(password);
+-
+- CByteBuffer buffer;
+- const UInt32 sizeInBytes = unicodePassword.Length() * 2;
+- buffer.SetCapacity(sizeInBytes);
+- for (int i = 0; i < unicodePassword.Length(); i++)
+- {
+- wchar_t c = unicodePassword[i];
+- ((Byte *)buffer)[i * 2] = (Byte)c;
+- ((Byte *)buffer)[i * 2 + 1] = (Byte)(c >> 8);
+- }
+-
+- RINOK(m_RarAESSpec->CryptoSetPassword((const Byte *)buffer, sizeInBytes));
+-
+- const UInt32 kDecryptedBufferSize = (1 << 12);
+- if (m_DecryptedData.GetCapacity() == 0)
+- {
+- const UInt32 kAlign = 16;
+- m_DecryptedData.SetCapacity(kDecryptedBufferSize + kAlign);
+- m_DecryptedDataAligned = (Byte *)((ptrdiff_t)((Byte *)m_DecryptedData + kAlign - 1) & ~(ptrdiff_t)(kAlign - 1));
+- }
+- RINOK(m_RarAES->Init());
+- size_t decryptedDataSizeT = kDecryptedBufferSize;
+- RINOK(ReadStream(m_Stream, m_DecryptedDataAligned, &decryptedDataSizeT));
+- m_DecryptedDataSize = (UInt32)decryptedDataSizeT;
+- m_DecryptedDataSize = m_RarAES->Filter(m_DecryptedDataAligned, m_DecryptedDataSize);
+-
+- m_CryptoMode = true;
+- m_CryptoPos = 0;
+- }
+-
+- m_FileHeaderData.EnsureCapacity(7);
+- size_t processed = 7;
+- RINOK(ReadBytesSpec((Byte *)m_FileHeaderData, &processed));
+- if (processed != 7)
+- {
+- if (processed != 0)
+- errorMessage = k_UnexpectedEnd;
+- return S_FALSE;
+- }
+-
+- m_CurData = (Byte *)m_FileHeaderData;
+- m_CurPos = 0;
+- m_PosLimit = 7;
+- m_BlockHeader.CRC = ReadUInt16();
+- m_BlockHeader.Type = ReadByte();
+- m_BlockHeader.Flags = ReadUInt16();
+- m_BlockHeader.HeadSize = ReadUInt16();
+-
+- if (m_BlockHeader.HeadSize < 7)
+- ThrowExceptionWithCode(CInArchiveException::kIncorrectArchive);
+-
+- if (m_BlockHeader.Type == NHeader::NBlockType::kEndOfArchive)
+- return S_FALSE;
+-
+- if (m_BlockHeader.Type == NHeader::NBlockType::kFileHeader)
+- {
+- m_FileHeaderData.EnsureCapacity(m_BlockHeader.HeadSize);
+- m_CurData = (Byte *)m_FileHeaderData;
+- m_PosLimit = m_BlockHeader.HeadSize;
+- if (!ReadBytesAndTestSize(m_CurData + m_CurPos, m_BlockHeader.HeadSize - 7))
+- {
+- errorMessage = k_UnexpectedEnd;
+- return S_FALSE;
+- }
+-
+- ReadHeaderReal(item);
+- if ((CrcCalc(m_CurData + 2,
+- m_BlockHeader.HeadSize - item.CommentSize - 2) & 0xFFFF) != m_BlockHeader.CRC)
+- ThrowExceptionWithCode(CInArchiveException::kFileHeaderCRCError);
+-
+- FinishCryptoBlock();
+- m_CryptoMode = false;
+- SeekInArchive(m_Position); // Move Position to compressed Data;
+- AddToSeekValue(item.PackSize); // m_Position points to next header;
+- return S_OK;
+- }
+- if (m_CryptoMode && m_BlockHeader.HeadSize > (1 << 10))
+- {
+- decryptionError = true;
+- errorMessage = k_DecryptionError;
+- return S_FALSE;
+- }
+- if ((m_BlockHeader.Flags & NHeader::NBlock::kLongBlock) != 0)
+- {
+- m_FileHeaderData.EnsureCapacity(7 + 4);
+- m_CurData = (Byte *)m_FileHeaderData;
+- if (!ReadBytesAndTestSize(m_CurData + m_CurPos, 4))
+- {
+- errorMessage = k_UnexpectedEnd;
+- return S_FALSE;
+- }
+- m_PosLimit = 7 + 4;
+- UInt32 dataSize = ReadUInt32();
+- AddToSeekValue(dataSize);
+- if (m_CryptoMode && dataSize > (1 << 27))
+- {
+- decryptionError = true;
+- errorMessage = k_DecryptionError;
+- return S_FALSE;
+- }
+- m_CryptoPos = m_BlockHeader.HeadSize;
+- }
+- else
+- m_CryptoPos = 0;
+- AddToSeekValue(m_BlockHeader.HeadSize);
+- FinishCryptoBlock();
+- m_CryptoMode = false;
+- }
+-}
+-
+-void CInArchive::SeekInArchive(UInt64 position)
+-{
+- m_Stream->Seek(position, STREAM_SEEK_SET, NULL);
+-}
+-
+-ISequentialInStream* CInArchive::CreateLimitedStream(UInt64 position, UInt64 size)
+-{
+- CLimitedSequentialInStream *streamSpec = new CLimitedSequentialInStream;
+- CMyComPtr<ISequentialInStream> inStream(streamSpec);
+- SeekInArchive(position);
+- streamSpec->SetStream(m_Stream);
+- streamSpec->Init(size);
+- return inStream.Detach();
+-}
+-
+-}}
+diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarIn.h p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarIn.h
+--- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarIn.h 2011-01-08 06:41:27.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarIn.h 1969-12-31 21:00:00.000000000 -0300
+@@ -1,123 +0,0 @@
+-// RarIn.h
+-
+-#ifndef __ARCHIVE_RAR_IN_H
+-#define __ARCHIVE_RAR_IN_H
+-
+-#include "Common/DynamicBuffer.h"
+-#include "Common/MyCom.h"
+-
+-#include "../../ICoder.h"
+-#include "../../IStream.h"
+-
+-#include "../../Common/StreamObjects.h"
+-
+-#include "../../Crypto/RarAes.h"
+-
+-#include "RarHeader.h"
+-#include "RarItem.h"
+-
+-namespace NArchive {
+-namespace NRar {
+-
+-class CInArchiveException
+-{
+-public:
+- enum CCauseType
+- {
+- kUnexpectedEndOfArchive = 0,
+- kArchiveHeaderCRCError,
+- kFileHeaderCRCError,
+- kIncorrectArchive
+- }
+- Cause;
+- CInArchiveException(CCauseType cause) : Cause(cause) {}
+-};
+-
+-
+-struct CInArchiveInfo
+-{
+- UInt32 Flags;
+- Byte EncryptVersion;
+- UInt64 StartPosition;
+-
+- bool IsSolid() const { return (Flags & NHeader::NArchive::kSolid) != 0; }
+- bool IsCommented() const { return (Flags & NHeader::NArchive::kComment) != 0; }
+- bool IsVolume() const { return (Flags & NHeader::NArchive::kVolume) != 0; }
+- bool HaveNewVolumeName() const { return (Flags & NHeader::NArchive::kNewVolName) != 0; }
+- bool IsEncrypted() const { return (Flags & NHeader::NArchive::kBlockEncryption) != 0; }
+- bool IsThereEncryptVer() const { return (Flags & NHeader::NArchive::kEncryptVer) != 0; }
+- bool IsEncryptOld() const { return (!IsThereEncryptVer() || EncryptVersion < 36); }
+-};
+-
+-class CInArchive
+-{
+- CMyComPtr<IInStream> m_Stream;
+-
+- UInt64 m_StreamStartPosition;
+-
+- CInArchiveInfo _header;
+- CDynamicBuffer<char> m_NameBuffer;
+- CDynamicBuffer<wchar_t> _unicodeNameBuffer;
+-
+- CByteBuffer _comment;
+-
+- void ReadName(CItemEx &item, int nameSize);
+- void ReadHeaderReal(CItemEx &item);
+-
+- HRESULT ReadBytesSpec(void *data, size_t *size);
+- bool ReadBytesAndTestSize(void *data, UInt32 size);
+-
+- HRESULT Open2(IInStream *stream, const UInt64 *searchHeaderSizeLimit);
+-
+- void ThrowExceptionWithCode(CInArchiveException::CCauseType cause);
+- void ThrowUnexpectedEndOfArchiveException();
+-
+- void AddToSeekValue(UInt64 addValue);
+-
+- CDynamicBuffer<Byte> m_FileHeaderData;
+-
+- NHeader::NBlock::CBlock m_BlockHeader;
+-
+- NCrypto::NRar29::CDecoder *m_RarAESSpec;
+- CMyComPtr<ICompressFilter> m_RarAES;
+-
+- Byte *m_CurData; // it must point to start of Rar::Block
+- UInt32 m_CurPos;
+- UInt32 m_PosLimit;
+- Byte ReadByte();
+- UInt16 ReadUInt16();
+- UInt32 ReadUInt32();
+- void ReadTime(Byte mask, CRarTime &rarTime);
+-
+- CBuffer<Byte> m_DecryptedData;
+- Byte *m_DecryptedDataAligned;
+- UInt32 m_DecryptedDataSize;
+-
+- bool m_CryptoMode;
+- UInt32 m_CryptoPos;
+- void FinishCryptoBlock()
+- {
+- if (m_CryptoMode)
+- while ((m_CryptoPos & 0xF) != 0)
+- {
+- m_CryptoPos++;
+- m_Position++;
+- }
+- }
+-
+-public:
+- UInt64 m_Position;
+-
+- HRESULT Open(IInStream *inStream, const UInt64 *searchHeaderSizeLimit);
+- void Close();
+- HRESULT GetNextItem(CItemEx &item, ICryptoGetTextPassword *getTextPassword, bool &decryptionError, AString &errorMessage);
+-
+- void GetArchiveInfo(CInArchiveInfo &archiveInfo) const;
+-
+- void SeekInArchive(UInt64 position);
+- ISequentialInStream *CreateLimitedStream(UInt64 position, UInt64 size);
+-};
+-
+-}}
+-
+-#endif
+diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarItem.cpp p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarItem.cpp
+--- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarItem.cpp 2008-08-14 06:11:25.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarItem.cpp 1969-12-31 21:00:00.000000000 -0300
+@@ -1,55 +0,0 @@
+-// RarItem.cpp
+-
+-#include "StdAfx.h"
+-
+-#include "RarItem.h"
+-
+-namespace NArchive{
+-namespace NRar{
+-
+-bool CItem::IgnoreItem() const
+-{
+- switch(HostOS)
+- {
+- case NHeader::NFile::kHostMSDOS:
+- case NHeader::NFile::kHostOS2:
+- case NHeader::NFile::kHostWin32:
+- return ((Attrib & NHeader::NFile::kLabelFileAttribute) != 0);
+- }
+- return false;
+-}
+-
+-bool CItem::IsDir() const
+-{
+- if (GetDictSize() == NHeader::NFile::kDictDirectoryValue)
+- return true;
+- switch(HostOS)
+- {
+- case NHeader::NFile::kHostMSDOS:
+- case NHeader::NFile::kHostOS2:
+- case NHeader::NFile::kHostWin32:
+- if ((Attrib & FILE_ATTRIBUTE_DIRECTORY) != 0)
+- return true;
+- }
+- return false;
+-}
+-
+-UInt32 CItem::GetWinAttributes() const
+-{
+- UInt32 winAttributes;
+- switch(HostOS)
+- {
+- case NHeader::NFile::kHostMSDOS:
+- case NHeader::NFile::kHostOS2:
+- case NHeader::NFile::kHostWin32:
+- winAttributes = Attrib;
+- break;
+- default:
+- winAttributes = 0; // must be converted from unix value;
+- }
+- if (IsDir())
+- winAttributes |= NHeader::NFile::kWinFileDirectoryAttributeMask;
+- return winAttributes;
+-}
+-
+-}}
+diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarItem.h p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarItem.h
+--- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarItem.h 2008-08-14 06:11:12.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarItem.h 1969-12-31 21:00:00.000000000 -0300
+@@ -1,79 +0,0 @@
+-// RarItem.h
+-
+-#ifndef __ARCHIVE_RAR_ITEM_H
+-#define __ARCHIVE_RAR_ITEM_H
+-
+-#include "Common/Types.h"
+-#include "Common/MyString.h"
+-
+-#include "RarHeader.h"
+-
+-namespace NArchive{
+-namespace NRar{
+-
+-struct CRarTime
+-{
+- UInt32 DosTime;
+- Byte LowSecond;
+- Byte SubTime[3];
+-};
+-
+-struct CItem
+-{
+- UInt64 Size;
+- UInt64 PackSize;
+-
+- CRarTime CTime;
+- CRarTime ATime;
+- CRarTime MTime;
+-
+- UInt32 FileCRC;
+- UInt32 Attrib;
+-
+- UInt16 Flags;
+- Byte HostOS;
+- Byte UnPackVersion;
+- Byte Method;
+-
+- bool CTimeDefined;
+- bool ATimeDefined;
+-
+- AString Name;
+- UString UnicodeName;
+-
+- Byte Salt[8];
+-
+- bool IsEncrypted() const { return (Flags & NHeader::NFile::kEncrypted) != 0; }
+- bool IsSolid() const { return (Flags & NHeader::NFile::kSolid) != 0; }
+- bool IsCommented() const { return (Flags & NHeader::NFile::kComment) != 0; }
+- bool IsSplitBefore() const { return (Flags & NHeader::NFile::kSplitBefore) != 0; }
+- bool IsSplitAfter() const { return (Flags & NHeader::NFile::kSplitAfter) != 0; }
+- bool HasSalt() const { return (Flags & NHeader::NFile::kSalt) != 0; }
+- bool HasExtTime() const { return (Flags & NHeader::NFile::kExtTime) != 0; }
+- bool HasUnicodeName()const { return (Flags & NHeader::NFile::kUnicodeName) != 0; }
+- bool IsOldVersion() const { return (Flags & NHeader::NFile::kOldVersion) != 0; }
+-
+- UInt32 GetDictSize() const { return (Flags >> NHeader::NFile::kDictBitStart) & NHeader::NFile::kDictMask; }
+- bool IsDir() const;
+- bool IgnoreItem() const;
+- UInt32 GetWinAttributes() const;
+-
+- CItem(): CTimeDefined(false), ATimeDefined(false) {}
+-};
+-
+-class CItemEx: public CItem
+-{
+-public:
+- UInt64 Position;
+- UInt16 MainPartSize;
+- UInt16 CommentSize;
+- UInt16 AlignSize;
+- UInt64 GetFullSize() const { return MainPartSize + CommentSize + AlignSize + PackSize; };
+- // DWORD GetHeaderWithCommentSize() const { return MainPartSize + CommentSize; };
+- UInt64 GetCommentPosition() const { return Position + MainPartSize; };
+- UInt64 GetDataPosition() const { return GetCommentPosition() + CommentSize + AlignSize; };
+-};
+-
+-}}
+-
+-#endif
+diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarRegister.cpp p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarRegister.cpp
+--- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarRegister.cpp 2009-12-21 08:46:32.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarRegister.cpp 1969-12-31 21:00:00.000000000 -0300
+@@ -1,13 +0,0 @@
+-// RarRegister.cpp
+-
+-#include "StdAfx.h"
+-
+-#include "../../Common/RegisterArc.h"
+-
+-#include "RarHandler.h"
+-static IInArchive *CreateArc() { return new NArchive::NRar::CHandler; }
+-
+-static CArcInfo g_ArcInfo =
+- { L"Rar", L"rar r00", 0, 3, {0x52 , 0x61, 0x72, 0x21, 0x1a, 0x07, 0x00}, 7, false, CreateArc, 0, };
+-
+-REGISTER_ARC(Rar)
+diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp
+--- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp 2009-05-30 17:19:19.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp 1969-12-31 21:00:00.000000000 -0300
+@@ -1,78 +0,0 @@
+-// RarVolumeInStream.cpp
+-
+-#include "StdAfx.h"
+-
+-#include "../../../../C/7zCrc.h"
+-
+-#include "RarVolumeInStream.h"
+-
+-namespace NArchive {
+-namespace NRar {
+-
+-void CFolderInStream::Init(
+- CObjectVector<CInArchive> *archives,
+- const CObjectVector<CItemEx> *items,
+- const CRefItem &refItem)
+-{
+- _archives = archives;
+- _items = items;
+- _refItem = refItem;
+- _curIndex = 0;
+- CRCs.Clear();
+- _fileIsOpen = false;
+-}
+-
+-HRESULT CFolderInStream::OpenStream()
+-{
+- while (_curIndex < _refItem.NumItems)
+- {
+- const CItemEx &item = (*_items)[_refItem.ItemIndex + _curIndex];
+- _stream.Attach((*_archives)[_refItem.VolumeIndex + _curIndex].
+- CreateLimitedStream(item.GetDataPosition(), item.PackSize));
+- _curIndex++;
+- _fileIsOpen = true;
+- _crc = CRC_INIT_VAL;
+- return S_OK;
+- }
+- return S_OK;
+-}
+-
+-HRESULT CFolderInStream::CloseStream()
+-{
+- CRCs.Add(CRC_GET_DIGEST(_crc));
+- _stream.Release();
+- _fileIsOpen = false;
+- return S_OK;
+-}
+-
+-STDMETHODIMP CFolderInStream::Read(void *data, UInt32 size, UInt32 *processedSize)
+-{
+- UInt32 realProcessedSize = 0;
+- while ((_curIndex < _refItem.NumItems || _fileIsOpen) && size > 0)
+- {
+- if (_fileIsOpen)
+- {
+- UInt32 localProcessedSize;
+- RINOK(_stream->Read(
+- ((Byte *)data) + realProcessedSize, size, &localProcessedSize));
+- _crc = CrcUpdate(_crc, ((Byte *)data) + realProcessedSize, localProcessedSize);
+- if (localProcessedSize == 0)
+- {
+- RINOK(CloseStream());
+- continue;
+- }
+- realProcessedSize += localProcessedSize;
+- size -= localProcessedSize;
+- break;
+- }
+- else
+- {
+- RINOK(OpenStream());
+- }
+- }
+- if (processedSize != 0)
+- *processedSize = realProcessedSize;
+- return S_OK;
+-}
+-
+-}}
+diff -ruNa p7zip_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.h p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.h
+--- p7zip_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.h 2008-08-14 06:11:12.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Archive/Rar/RarVolumeInStream.h 1969-12-31 21:00:00.000000000 -0300
+@@ -1,49 +0,0 @@
+-// RarVolumeInStream.h
+-
+-#ifndef __RAR_VOLUME_IN_STREAM_H
+-#define __RAR_VOLUME_IN_STREAM_H
+-
+-#include "../../IStream.h"
+-#include "RarIn.h"
+-
+-namespace NArchive {
+-namespace NRar {
+-
+-struct CRefItem
+-{
+- int VolumeIndex;
+- int ItemIndex;
+- int NumItems;
+-};
+-
+-class CFolderInStream:
+- public ISequentialInStream,
+- public CMyUnknownImp
+-{
+-public:
+- MY_UNKNOWN_IMP
+-
+- STDMETHOD(Read)(void *data, UInt32 size, UInt32 *processedSize);
+-
+-private:
+- CObjectVector<CInArchive> *_archives;
+- const CObjectVector<CItemEx> *_items;
+- CRefItem _refItem;
+- int _curIndex;
+- UInt32 _crc;
+- bool _fileIsOpen;
+- CMyComPtr<ISequentialInStream> _stream;
+-
+- HRESULT OpenStream();
+- HRESULT CloseStream();
+-public:
+- void Init(CObjectVector<CInArchive> *archives,
+- const CObjectVector<CItemEx> *items,
+- const CRefItem &refItem);
+-
+- CRecordVector<UInt32> CRCs;
+-};
+-
+-}}
+-
+-#endif
+diff -ruNa p7zip_9.20.1/CPP/7zip/Bundles/Format7zFree/makefile p7zip-libre_9.20.1/CPP/7zip/Bundles/Format7zFree/makefile
+--- p7zip_9.20.1/CPP/7zip/Bundles/Format7zFree/makefile 2010-11-07 12:41:43.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Bundles/Format7zFree/makefile 2011-09-07 15:42:04.000000000 -0300
+@@ -158,14 +158,6 @@
+ NsisIn.o \
+ NsisRegister.o \
+
+-RAR_OBJS = \
+- RarHandler.o \
+- RarHeader.o \
+- RarIn.o \
+- RarItem.o \
+- RarVolumeInStream.o \
+- RarRegister.o \
+-
+ TAR_OBJS = \
+ TarHandler.o \
+ TarHandlerOut.o \
+@@ -243,13 +235,6 @@
+ ZlibEncoder.o \
+ ZDecoder.o \
+
+-COMPRESS_OBJS_NON_FREE = \
+- Rar1Decoder.o \
+- Rar2Decoder.o \
+- Rar3Decoder.o \
+- Rar3Vm.o \
+- RarCodecsRegister.o \
+-
+ CRYPTO_OBJS = \
+ 7zAes.o \
+ 7zAesRegister.o \
+@@ -257,8 +242,6 @@
+ MyAes.o \
+ Pbkdf2HmacSha1.o \
+ RandGen.o \
+- Rar20Crypto.o \
+- RarAes.o \
+ Sha1.o \
+ WzAes.o \
+ ZipCrypto.o \
+diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar/makefile p7zip-libre_9.20.1/CPP/7zip/Compress/Rar/makefile
+--- p7zip_9.20.1/CPP/7zip/Compress/Rar/makefile 2010-03-16 17:21:18.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar/makefile 1969-12-31 21:00:00.000000000 -0300
+@@ -1,34 +0,0 @@
+-PROG=../../../../bin/Codecs/Rar29.so
+-
+-LOCAL_FLAGS=$(CC_SHARED) -DUNICODE -D_UNICODE
+-
+-MY_WINDOWS=
+-
+-include ../../../../makefile.crc32
+-include ../../../../makefile.machine
+-
+-LOCAL_SHARED=$(LINK_SHARED)
+-LIBS=$(LOCAL_LIBS)
+-
+-OBJS = \
+-MyWindows.o \
+-CRC.o\
+-MyVector.o\
+-CodecExports.o \
+-DllExports.o \
+-Rar1Decoder.o \
+-Rar2Decoder.o \
+-Rar3Decoder.o \
+-Rar3Vm.o \
+-RarCodecsRegister.o \
+-$(OBJ_CRC32) \
+-InBuffer.o \
+-OutBuffer.o \
+-StreamUtils.o \
+-LzOutWindow.o \
+-Ppmd7.o \
+-Ppmd7Dec.o \
+-Alloc.o
+-
+-include ../../../../makefile.glb
+-
+diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar/makefile.depend p7zip-libre_9.20.1/CPP/7zip/Compress/Rar/makefile.depend
+--- p7zip_9.20.1/CPP/7zip/Compress/Rar/makefile.depend 2011-02-19 06:33:10.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar/makefile.depend 1969-12-31 21:00:00.000000000 -0300
+@@ -1,158 +0,0 @@
+-CRC.o: ../../../Common/CRC.cpp ../../../myWindows/StdAfx.h \
+- ../../../myWindows/config.h ../../../Common/MyWindows.h \
+- ../../../Common/MyGuidDef.h ../../../Common/Types.h \
+- ../../../Common/../../C/Types.h ../../../Common/Types.h \
+- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \
+- ../../../include_windows/tchar.h ../../../Common/../../C/7zCrc.h \
+- ../../../Common/../../C/Types.h
+-MyWindows.o: ../../../Common/MyWindows.cpp ../../../myWindows/StdAfx.h \
+- ../../../myWindows/config.h ../../../Common/MyWindows.h \
+- ../../../Common/MyGuidDef.h ../../../Common/Types.h \
+- ../../../Common/../../C/Types.h ../../../Common/Types.h \
+- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \
+- ../../../include_windows/tchar.h ../../../Common/MyWindows.h
+-MyVector.o: ../../../Common/MyVector.cpp ../../../myWindows/StdAfx.h \
+- ../../../myWindows/config.h ../../../Common/MyWindows.h \
+- ../../../Common/MyGuidDef.h ../../../Common/Types.h \
+- ../../../Common/../../C/Types.h ../../../Common/Types.h \
+- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \
+- ../../../include_windows/tchar.h ../../../Common/MyVector.h \
+- ../../../Common/Defs.h
+-InBuffer.o: ../../Common/InBuffer.cpp ../../../myWindows/StdAfx.h \
+- ../../../myWindows/config.h ../../../Common/MyWindows.h \
+- ../../../Common/MyGuidDef.h ../../../Common/Types.h \
+- ../../../Common/../../C/Types.h ../../../Common/Types.h \
+- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \
+- ../../../include_windows/tchar.h ../../Common/../../../C/Alloc.h \
+- ../../Common/InBuffer.h ../../Common/../IStream.h \
+- ../../Common/../../Common/MyUnknown.h \
+- ../../Common/../../Common/MyWindows.h ../../Common/../../Common/Types.h \
+- ../../Common/../IDecl.h ../../Common/../../Common/MyCom.h \
+- ../../Common/../../Common/MyException.h
+-StreamUtils.o: ../../Common/StreamUtils.cpp ../../../myWindows/StdAfx.h \
+- ../../../myWindows/config.h ../../../Common/MyWindows.h \
+- ../../../Common/MyGuidDef.h ../../../Common/Types.h \
+- ../../../Common/../../C/Types.h ../../../Common/Types.h \
+- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \
+- ../../../include_windows/tchar.h ../../Common/StreamUtils.h \
+- ../../Common/../IStream.h ../../Common/../../Common/MyUnknown.h \
+- ../../Common/../../Common/MyWindows.h ../../Common/../../Common/Types.h \
+- ../../Common/../IDecl.h
+-OutBuffer.o: ../../Common/OutBuffer.cpp ../../../myWindows/StdAfx.h \
+- ../../../myWindows/config.h ../../../Common/MyWindows.h \
+- ../../../Common/MyGuidDef.h ../../../Common/Types.h \
+- ../../../Common/../../C/Types.h ../../../Common/Types.h \
+- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \
+- ../../../include_windows/tchar.h ../../Common/../../../C/Alloc.h \
+- ../../Common/OutBuffer.h ../../Common/../IStream.h \
+- ../../Common/../../Common/MyUnknown.h \
+- ../../Common/../../Common/MyWindows.h ../../Common/../../Common/Types.h \
+- ../../Common/../IDecl.h ../../Common/../../Common/MyCom.h \
+- ../../Common/../../Common/MyException.h
+-LzOutWindow.o: ../LzOutWindow.cpp ../../../myWindows/StdAfx.h \
+- ../../../myWindows/config.h ../../../Common/MyWindows.h \
+- ../../../Common/MyGuidDef.h ../../../Common/Types.h \
+- ../../../Common/../../C/Types.h ../../../Common/Types.h \
+- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \
+- ../../../include_windows/tchar.h ../LzOutWindow.h ../../IStream.h \
+- ../../../Common/MyUnknown.h ../../../Common/MyWindows.h \
+- ../../../Common/Types.h ../../IDecl.h ../../Common/OutBuffer.h \
+- ../../Common/../IStream.h ../../Common/../../Common/MyCom.h \
+- ../../Common/../../Common/MyWindows.h \
+- ../../Common/../../Common/MyException.h
+-CodecExports.o: ../CodecExports.cpp ../../../myWindows/StdAfx.h \
+- ../../../myWindows/config.h ../../../Common/MyWindows.h \
+- ../../../Common/MyGuidDef.h ../../../Common/Types.h \
+- ../../../Common/../../C/Types.h ../../../Common/Types.h \
+- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \
+- ../../../include_windows/tchar.h ../../../Common/ComTry.h \
+- ../../../Common/MyWindows.h ../../../Windows/PropVariant.h \
+- ../../../Windows/../Common/MyWindows.h \
+- ../../../Windows/../Common/Types.h ../../ICoder.h ../../IStream.h \
+- ../../../Common/MyUnknown.h ../../../Common/Types.h ../../IDecl.h \
+- ../../Common/RegisterCodec.h ../../Common/../Common/MethodId.h \
+- ../../Common/../Common/../../Common/Types.h
+-DllExports.o: ../DllExports.cpp ../../../myWindows/StdAfx.h \
+- ../../../myWindows/config.h ../../../Common/MyWindows.h \
+- ../../../Common/MyGuidDef.h ../../../Common/Types.h \
+- ../../../Common/../../C/Types.h ../../../Common/Types.h \
+- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \
+- ../../../include_windows/tchar.h ../../../Common/MyInitGuid.h \
+- ../../ICoder.h ../../IStream.h ../../../Common/MyUnknown.h \
+- ../../../Common/MyWindows.h ../../../Common/Types.h ../../IDecl.h \
+- ../../Common/RegisterCodec.h ../../Common/../Common/MethodId.h \
+- ../../Common/../Common/../../Common/Types.h
+-Rar1Decoder.o: ../Rar1Decoder.cpp ../../../myWindows/StdAfx.h \
+- ../../../myWindows/config.h ../../../Common/MyWindows.h \
+- ../../../Common/MyGuidDef.h ../../../Common/Types.h \
+- ../../../Common/../../C/Types.h ../../../Common/Types.h \
+- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \
+- ../../../include_windows/tchar.h ../Rar1Decoder.h \
+- ../../../Common/MyCom.h ../../../Common/MyWindows.h ../../ICoder.h \
+- ../../IStream.h ../../../Common/MyUnknown.h ../../../Common/Types.h \
+- ../../IDecl.h ../../Common/InBuffer.h ../../Common/../IStream.h \
+- ../../Common/../../Common/MyCom.h \
+- ../../Common/../../Common/MyException.h \
+- ../../Common/../../Common/MyWindows.h ../BitmDecoder.h ../../IStream.h \
+- ../HuffmanDecoder.h ../../../Common/Types.h ../LzOutWindow.h \
+- ../../Common/OutBuffer.h
+-Rar2Decoder.o: ../Rar2Decoder.cpp ../../../myWindows/StdAfx.h \
+- ../../../myWindows/config.h ../../../Common/MyWindows.h \
+- ../../../Common/MyGuidDef.h ../../../Common/Types.h \
+- ../../../Common/../../C/Types.h ../../../Common/Types.h \
+- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \
+- ../../../include_windows/tchar.h ../Rar2Decoder.h \
+- ../../../Common/MyCom.h ../../../Common/MyWindows.h ../../ICoder.h \
+- ../../IStream.h ../../../Common/MyUnknown.h ../../../Common/Types.h \
+- ../../IDecl.h ../../Common/InBuffer.h ../../Common/../IStream.h \
+- ../../Common/../../Common/MyCom.h \
+- ../../Common/../../Common/MyException.h \
+- ../../Common/../../Common/MyWindows.h ../BitmDecoder.h ../../IStream.h \
+- ../HuffmanDecoder.h ../../../Common/Types.h ../LzOutWindow.h \
+- ../../Common/OutBuffer.h
+-Rar3Decoder.o: ../Rar3Decoder.cpp ../../../myWindows/StdAfx.h \
+- ../../../myWindows/config.h ../../../Common/MyWindows.h \
+- ../../../Common/MyGuidDef.h ../../../Common/Types.h \
+- ../../../Common/../../C/Types.h ../../../Common/Types.h \
+- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \
+- ../../../include_windows/tchar.h ../../../../C/Alloc.h \
+- ../../Common/StreamUtils.h ../../Common/../IStream.h \
+- ../../Common/../../Common/MyUnknown.h \
+- ../../Common/../../Common/MyWindows.h ../../Common/../../Common/Types.h \
+- ../../Common/../IDecl.h ../Rar3Decoder.h ../../../../C/Ppmd7.h \
+- ../../../../C/Ppmd.h ../../../../C/Types.h ../../../../C/CpuArch.h \
+- ../../../Common/MyCom.h ../../../Common/MyWindows.h ../../ICoder.h \
+- ../../IStream.h ../../Common/InBuffer.h \
+- ../../Common/../../Common/MyCom.h \
+- ../../Common/../../Common/MyException.h ../BitmDecoder.h ../../IStream.h \
+- ../HuffmanDecoder.h ../../../Common/Types.h ../Rar3Vm.h \
+- ../../../../C/CpuArch.h ../../../Common/MyVector.h \
+- ../../../Common/Defs.h
+-Rar3Vm.o: ../Rar3Vm.cpp ../../../myWindows/StdAfx.h \
+- ../../../myWindows/config.h ../../../Common/MyWindows.h \
+- ../../../Common/MyGuidDef.h ../../../Common/Types.h \
+- ../../../Common/../../C/Types.h ../../../Common/Types.h \
+- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \
+- ../../../include_windows/tchar.h ../../../../C/7zCrc.h \
+- ../../../../C/Types.h ../../../../C/Alloc.h ../Rar3Vm.h \
+- ../../../../C/CpuArch.h ../../../Common/MyVector.h \
+- ../../../Common/Defs.h
+-RarCodecsRegister.o: ../RarCodecsRegister.cpp ../../../myWindows/StdAfx.h \
+- ../../../myWindows/config.h ../../../Common/MyWindows.h \
+- ../../../Common/MyGuidDef.h ../../../Common/Types.h \
+- ../../../Common/../../C/Types.h ../../../Common/Types.h \
+- ../../../include_windows/windows.h ../../../include_windows/basetyps.h \
+- ../../../include_windows/tchar.h ../../Common/RegisterCodec.h \
+- ../../Common/../Common/MethodId.h \
+- ../../Common/../Common/../../Common/Types.h ../Rar1Decoder.h \
+- ../../../Common/MyCom.h ../../../Common/MyWindows.h ../../ICoder.h \
+- ../../IStream.h ../../../Common/MyUnknown.h ../../../Common/Types.h \
+- ../../IDecl.h ../../Common/InBuffer.h ../../Common/../IStream.h \
+- ../../Common/../../Common/MyCom.h \
+- ../../Common/../../Common/MyException.h \
+- ../../Common/../../Common/MyWindows.h ../BitmDecoder.h ../../IStream.h \
+- ../HuffmanDecoder.h ../../../Common/Types.h ../LzOutWindow.h \
+- ../../Common/OutBuffer.h ../Rar2Decoder.h ../Rar3Decoder.h \
+- ../../../../C/Ppmd7.h ../../../../C/Ppmd.h ../../../../C/Types.h \
+- ../../../../C/CpuArch.h ../Rar3Vm.h ../../../../C/CpuArch.h \
+- ../../../Common/MyVector.h ../../../Common/Defs.h
+diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar/makefile.list p7zip-libre_9.20.1/CPP/7zip/Compress/Rar/makefile.list
+--- p7zip_9.20.1/CPP/7zip/Compress/Rar/makefile.list 2010-03-16 17:23:04.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar/makefile.list 1969-12-31 21:00:00.000000000 -0300
+@@ -1,64 +0,0 @@
+-SRCS=\
+- ../../../Common/CRC.cpp \
+- ../../../Common/MyWindows.cpp \
+- ../../../Common/MyVector.cpp \
+- ../../Common/InBuffer.cpp \
+- ../../Common/StreamUtils.cpp \
+- ../../Common/OutBuffer.cpp \
+-../LzOutWindow.cpp \
+-../CodecExports.cpp \
+-../DllExports.cpp \
+-../Rar1Decoder.cpp \
+-../Rar2Decoder.cpp \
+-../Rar3Decoder.cpp \
+-../Rar3Vm.cpp \
+-../RarCodecsRegister.cpp
+-
+-SRCS_C=\
+- ../../../../C/Alloc.c \
+- ../../../../C/Ppmd7.c \
+- ../../../../C/Ppmd7Dec.c
+-
+-CRC.o : ../../../Common/CRC.cpp
+- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../../../Common/CRC.cpp
+-MyWindows.o : ../../../Common/MyWindows.cpp
+- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../../../Common/MyWindows.cpp
+-MyVector.o : ../../../Common/MyVector.cpp
+- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../../../Common/MyVector.cpp
+-DllExports.o : ../DllExports.cpp
+- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../DllExports.cpp
+-CodecExports.o : ../CodecExports.cpp
+- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../CodecExports.cpp
+-InBuffer.o : ../../Common/InBuffer.cpp
+- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../../Common/InBuffer.cpp
+-LzOutWindow.o : ../LzOutWindow.cpp
+- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../LzOutWindow.cpp
+-StreamUtils.o : ../../Common/StreamUtils.cpp
+- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../../Common/StreamUtils.cpp
+-OutBuffer.o : ../../Common/OutBuffer.cpp
+- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../../Common/OutBuffer.cpp
+-Rar1Decoder.o : ../Rar1Decoder.cpp
+- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../Rar1Decoder.cpp
+-Rar2Decoder.o : ../Rar2Decoder.cpp
+- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../Rar2Decoder.cpp
+-Rar3Decoder.o : ../Rar3Decoder.cpp
+- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../Rar3Decoder.cpp
+-Rar3Vm.o : ../Rar3Vm.cpp
+- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../Rar3Vm.cpp
+-RarCodecsRegister.o : ../RarCodecsRegister.cpp
+- $(CXX) $(CC_SHARED) $(CXXFLAGS) ../RarCodecsRegister.cpp
+-Alloc.o : ../../../../C/Alloc.c
+- $(CC) $(CC_SHARED) $(CFLAGS) ../../../../C/Alloc.c
+-Ppmd7.o : ../../../../C/Ppmd7.c
+- $(CC) $(CC_SHARED) $(CFLAGS) ../../../../C/Ppmd7.c
+-Ppmd7Dec.o : ../../../../C/Ppmd7Dec.c
+- $(CC) $(CC_SHARED) $(CFLAGS) ../../../../C/Ppmd7Dec.c
+-
+-# CRC32, C version
+-7zCrc.o : ../../../../C/7zCrc.c
+- $(CC) $(CC_SHARED) $(CFLAGS) ../../../../C/7zCrc.c
+-7zCrcOpt.o : ../../../../C/7zCrcOpt.c
+- $(CC) $(CC_SHARED) $(CFLAGS) ../../../../C/7zCrcOpt.c
+-# CRC32, ASM version
+-7zCrcT8.o : ../../../../C/7zCrcT8.c
+- $(CC) $(CC_SHARED) $(CFLAGS) ../../../../C/7zCrcT8.c
+diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar1Decoder.cpp p7zip-libre_9.20.1/CPP/7zip/Compress/Rar1Decoder.cpp
+--- p7zip_9.20.1/CPP/7zip/Compress/Rar1Decoder.cpp 2009-12-21 08:46:36.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar1Decoder.cpp 1969-12-31 21:00:00.000000000 -0300
+@@ -1,480 +0,0 @@
+-// Rar1Decoder.cpp
+-// According to unRAR license, this code may not be used to develop
+-// a program that creates RAR archives
+-
+-#include "StdAfx.h"
+-
+-#include "Rar1Decoder.h"
+-
+-namespace NCompress {
+-namespace NRar1 {
+-
+-static UInt32 PosL1[]={0,0,0,2,3,5,7,11,16,20,24,32,32, 256};
+-static UInt32 PosL2[]={0,0,0,0,5,7,9,13,18,22,26,34,36, 256};
+-static UInt32 PosHf0[]={0,0,0,0,0,8,16,24,33,33,33,33,33, 257};
+-static UInt32 PosHf1[]={0,0,0,0,0,0,4,44,60,76,80,80,127, 257};
+-static UInt32 PosHf2[]={0,0,0,0,0,0,2,7,53,117,233, 257,0};
+-static UInt32 PosHf3[]={0,0,0,0,0,0,0,2,16,218,251, 257,0};
+-static UInt32 PosHf4[]={0,0,0,0,0,0,0,0,0,255, 257,0,0};
+-
+-static const UInt32 kHistorySize = (1 << 16);
+-
+-class CCoderReleaser
+-{
+- CDecoder *m_Coder;
+-public:
+- CCoderReleaser(CDecoder *coder): m_Coder(coder) {}
+- ~CCoderReleaser() { m_Coder->ReleaseStreams(); }
+-};
+-
+-CDecoder::CDecoder(): m_IsSolid(false) { }
+-
+-void CDecoder::InitStructures()
+-{
+- for(int i = 0; i < kNumRepDists; i++)
+- m_RepDists[i] = 0;
+- m_RepDistPtr = 0;
+- LastLength = 0;
+- LastDist = 0;
+-}
+-
+-UInt32 CDecoder::ReadBits(int numBits) { return m_InBitStream.ReadBits(numBits); }
+-
+-HRESULT CDecoder::CopyBlock(UInt32 distance, UInt32 len)
+-{
+- if (len == 0)
+- return S_FALSE;
+- m_UnpackSize -= len;
+- return m_OutWindowStream.CopyBlock(distance, len) ? S_OK : S_FALSE;
+-}
+-
+-
+-UInt32 CDecoder::DecodeNum(const UInt32 *posTab)
+-{
+- UInt32 startPos = 2;
+- UInt32 num = m_InBitStream.GetValue(12);
+- for (;;)
+- {
+- UInt32 cur = (posTab[startPos + 1] - posTab[startPos]) << (12 - startPos);
+- if (num < cur)
+- break;
+- startPos++;
+- num -= cur;
+- }
+- m_InBitStream.MovePos(startPos);
+- return((num >> (12 - startPos)) + posTab[startPos]);
+-}
+-
+-static Byte kShortLen1[] = {1,3,4,4,5,6,7,8,8,4,4,5,6,6 };
+-static Byte kShortLen1a[] = {1,4,4,4,5,6,7,8,8,4,4,5,6,6,4 };
+-static Byte kShortLen2[] = {2,3,3,3,4,4,5,6,6,4,4,5,6,6 };
+-static Byte kShortLen2a[] = {2,3,3,4,4,4,5,6,6,4,4,5,6,6,4 };
+-static UInt32 kShortXor1[] = {0,0xa0,0xd0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xc0,0x80,0x90,0x98,0x9c,0xb0};
+-static UInt32 kShortXor2[] = {0,0x40,0x60,0xa0,0xd0,0xe0,0xf0,0xf8,0xfc,0xc0,0x80,0x90,0x98,0x9c,0xb0};
+-
+-HRESULT CDecoder::ShortLZ()
+-{
+- UInt32 len, saveLen, dist;
+- int distancePlace;
+- Byte *kShortLen;
+- const UInt32 *kShortXor;
+- NumHuf = 0;
+-
+- if (LCount == 2)
+- {
+- if (ReadBits(1))
+- return CopyBlock(LastDist, LastLength);
+- LCount = 0;
+- }
+-
+- UInt32 bitField = m_InBitStream.GetValue(8);
+-
+- if (AvrLn1 < 37)
+- {
+- kShortLen = Buf60 ? kShortLen1a : kShortLen1;
+- kShortXor = kShortXor1;
+- }
+- else
+- {
+- kShortLen = Buf60 ? kShortLen2a : kShortLen2;
+- kShortXor = kShortXor2;
+- }
+-
+- for (len = 0; ((bitField ^ kShortXor[len]) & (~(0xff >> kShortLen[len]))) != 0; len++);
+- m_InBitStream.MovePos(kShortLen[len]);
+-
+- if (len >= 9)
+- {
+- if (len == 9)
+- {
+- LCount++;
+- return CopyBlock(LastDist, LastLength);
+- }
+- if (len == 14)
+- {
+- LCount = 0;
+- len = DecodeNum(PosL2) + 5;
+- dist = 0x8000 + ReadBits(15) - 1;
+- LastLength = len;
+- LastDist = dist;
+- return CopyBlock(dist, len);
+- }
+-
+- LCount = 0;
+- saveLen = len;
+- dist = m_RepDists[(m_RepDistPtr - (len - 9)) & 3];
+- len = DecodeNum(PosL1) + 2;
+- if (len == 0x101 && saveLen == 10)
+- {
+- Buf60 ^= 1;
+- return S_OK;
+- }
+- if (dist >= 256)
+- len++;
+- if (dist >= MaxDist3 - 1)
+- len++;
+- }
+- else
+- {
+- LCount = 0;
+- AvrLn1 += len;
+- AvrLn1 -= AvrLn1 >> 4;
+-
+- distancePlace = DecodeNum(PosHf2) & 0xff;
+- dist = ChSetA[distancePlace];
+- if (--distancePlace != -1)
+- {
+- PlaceA[dist]--;
+- UInt32 lastDistance = ChSetA[distancePlace];
+- PlaceA[lastDistance]++;
+- ChSetA[distancePlace + 1] = lastDistance;
+- ChSetA[distancePlace] = dist;
+- }
+- len += 2;
+- }
+- m_RepDists[m_RepDistPtr++] = dist;
+- m_RepDistPtr &= 3;
+- LastLength = len;
+- LastDist = dist;
+- return CopyBlock(dist, len);
+-}
+-
+-
+-HRESULT CDecoder::LongLZ()
+-{
+- UInt32 len;
+- UInt32 dist;
+- UInt32 distancePlace, newDistancePlace;
+- UInt32 oldAvr2, oldAvr3;
+-
+- NumHuf = 0;
+- Nlzb += 16;
+- if (Nlzb > 0xff)
+- {
+- Nlzb = 0x90;
+- Nhfb >>= 1;
+- }
+- oldAvr2=AvrLn2;
+-
+- if (AvrLn2 >= 122)
+- len = DecodeNum(PosL2);
+- else if (AvrLn2 >= 64)
+- len = DecodeNum(PosL1);
+- else
+- {
+- UInt32 bitField = m_InBitStream.GetValue(16);
+- if (bitField < 0x100)
+- {
+- len = bitField;
+- m_InBitStream.MovePos(16);
+- }
+- else
+- {
+- for (len = 0; ((bitField << len) & 0x8000) == 0; len++)
+- ;
+- m_InBitStream.MovePos(len + 1);
+- }
+- }
+-
+- AvrLn2 += len;
+- AvrLn2 -= AvrLn2 >> 5;
+-
+- if (AvrPlcB > 0x28ff)
+- distancePlace = DecodeNum(PosHf2);
+- else if (AvrPlcB > 0x6ff)
+- distancePlace = DecodeNum(PosHf1);
+- else
+- distancePlace = DecodeNum(PosHf0);
+-
+- AvrPlcB += distancePlace;
+- AvrPlcB -= AvrPlcB >> 8;
+- for (;;)
+- {
+- dist = ChSetB[distancePlace & 0xff];
+- newDistancePlace = NToPlB[dist++ & 0xff]++;
+- if (!(dist & 0xff))
+- CorrHuff(ChSetB,NToPlB);
+- else
+- break;
+- }
+-
+- ChSetB[distancePlace] = ChSetB[newDistancePlace];
+- ChSetB[newDistancePlace] = dist;
+-
+- dist = ((dist & 0xff00) >> 1) | ReadBits(7);
+-
+- oldAvr3 = AvrLn3;
+- if (len != 1 && len != 4)
+- if (len == 0 && dist <= MaxDist3)
+- {
+- AvrLn3++;
+- AvrLn3 -= AvrLn3 >> 8;
+- }
+- else
+- if (AvrLn3 > 0)
+- AvrLn3--;
+- len += 3;
+- if (dist >= MaxDist3)
+- len++;
+- if (dist <= 256)
+- len += 8;
+- if (oldAvr3 > 0xb0 || AvrPlc >= 0x2a00 && oldAvr2 < 0x40)
+- MaxDist3 = 0x7f00;
+- else
+- MaxDist3 = 0x2001;
+- m_RepDists[m_RepDistPtr++] = --dist;
+- m_RepDistPtr &= 3;
+- LastLength = len;
+- LastDist = dist;
+- return CopyBlock(dist, len);
+-}
+-
+-
+-HRESULT CDecoder::HuffDecode()
+-{
+- UInt32 curByte, newBytePlace;
+- UInt32 len;
+- UInt32 dist;
+- int bytePlace;
+-
+- if (AvrPlc > 0x75ff) bytePlace = DecodeNum(PosHf4);
+- else if (AvrPlc > 0x5dff) bytePlace = DecodeNum(PosHf3);
+- else if (AvrPlc > 0x35ff) bytePlace = DecodeNum(PosHf2);
+- else if (AvrPlc > 0x0dff) bytePlace = DecodeNum(PosHf1);
+- else bytePlace = DecodeNum(PosHf0);
+- if (StMode)
+- {
+- if (--bytePlace == -1)
+- {
+- if (ReadBits(1))
+- {
+- NumHuf = StMode = 0;
+- return S_OK;
+- }
+- else
+- {
+- len = (ReadBits(1)) ? 4 : 3;
+- dist = DecodeNum(PosHf2);
+- dist = (dist << 5) | ReadBits(5);
+- return CopyBlock(dist - 1, len);
+- }
+- }
+- }
+- else if (NumHuf++ >= 16 && FlagsCnt == 0)
+- StMode = 1;
+- bytePlace &= 0xff;
+- AvrPlc += bytePlace;
+- AvrPlc -= AvrPlc >> 8;
+- Nhfb+=16;
+- if (Nhfb > 0xff)
+- {
+- Nhfb=0x90;
+- Nlzb >>= 1;
+- }
+-
+- m_UnpackSize --;
+- m_OutWindowStream.PutByte((Byte)(ChSet[bytePlace] >> 8));
+-
+- for (;;)
+- {
+- curByte = ChSet[bytePlace];
+- newBytePlace = NToPl[curByte++ & 0xff]++;
+- if ((curByte & 0xff) > 0xa1)
+- CorrHuff(ChSet, NToPl);
+- else
+- break;
+- }
+-
+- ChSet[bytePlace] = ChSet[newBytePlace];
+- ChSet[newBytePlace] = curByte;
+- return S_OK;
+-}
+-
+-
+-void CDecoder::GetFlagsBuf()
+-{
+- UInt32 flags, newFlagsPlace;
+- UInt32 flagsPlace = DecodeNum(PosHf2);
+-
+- for (;;)
+- {
+- flags = ChSetC[flagsPlace];
+- FlagBuf = flags >> 8;
+- newFlagsPlace = NToPlC[flags++ & 0xff]++;
+- if ((flags & 0xff) != 0)
+- break;
+- CorrHuff(ChSetC, NToPlC);
+- }
+-
+- ChSetC[flagsPlace] = ChSetC[newFlagsPlace];
+- ChSetC[newFlagsPlace] = flags;
+-}
+-
+-void CDecoder::InitData()
+-{
+- if (!m_IsSolid)
+- {
+- AvrPlcB = AvrLn1 = AvrLn2 = AvrLn3 = NumHuf = Buf60 = 0;
+- AvrPlc = 0x3500;
+- MaxDist3 = 0x2001;
+- Nhfb = Nlzb = 0x80;
+- }
+- FlagsCnt = 0;
+- FlagBuf = 0;
+- StMode = 0;
+- LCount = 0;
+-}
+-
+-void CDecoder::CorrHuff(UInt32 *CharSet,UInt32 *NumToPlace)
+-{
+- int i;
+- for (i = 7; i >= 0; i--)
+- for (int j = 0; j < 32; j++, CharSet++)
+- *CharSet = (*CharSet & ~0xff) | i;
+- memset(NumToPlace, 0, sizeof(NToPl));
+- for (i = 6; i >= 0; i--)
+- NumToPlace[i] = (7 - i) * 32;
+-}
+-
+-void CDecoder::InitHuff()
+-{
+- for (UInt32 i = 0; i < 256; i++)
+- {
+- Place[i] = PlaceA[i] = PlaceB[i] = i;
+- PlaceC[i] = (~i + 1) & 0xff;
+- ChSet[i] = ChSetB[i] = i << 8;
+- ChSetA[i] = i;
+- ChSetC[i] = ((~i + 1) & 0xff) << 8;
+- }
+- memset(NToPl, 0, sizeof(NToPl));
+- memset(NToPlB, 0, sizeof(NToPlB));
+- memset(NToPlC, 0, sizeof(NToPlC));
+- CorrHuff(ChSetB, NToPlB);
+-}
+-
+-HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream *outStream,
+- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo * /* progress */)
+-{
+- if (inSize == NULL || outSize == NULL)
+- return E_INVALIDARG;
+-
+- if (!m_OutWindowStream.Create(kHistorySize))
+- return E_OUTOFMEMORY;
+- if (!m_InBitStream.Create(1 << 20))
+- return E_OUTOFMEMORY;
+-
+- m_UnpackSize = (Int64)*outSize;
+- m_OutWindowStream.SetStream(outStream);
+- m_OutWindowStream.Init(m_IsSolid);
+- m_InBitStream.SetStream(inStream);
+- m_InBitStream.Init();
+-
+- CCoderReleaser coderReleaser(this);
+- InitData();
+- if (!m_IsSolid)
+- {
+- InitStructures();
+- InitHuff();
+- }
+- if (m_UnpackSize > 0)
+- {
+- GetFlagsBuf();
+- FlagsCnt = 8;
+- }
+-
+- while (m_UnpackSize > 0)
+- {
+- if (StMode)
+- {
+- RINOK(HuffDecode());
+- continue;
+- }
+-
+- if (--FlagsCnt < 0)
+- {
+- GetFlagsBuf();
+- FlagsCnt=7;
+- }
+-
+- if (FlagBuf & 0x80)
+- {
+- FlagBuf <<= 1;
+- if (Nlzb > Nhfb)
+- {
+- RINOK(LongLZ());
+- }
+- else
+- {
+- RINOK(HuffDecode());
+- }
+- }
+- else
+- {
+- FlagBuf <<= 1;
+- if (--FlagsCnt < 0)
+- {
+- GetFlagsBuf();
+- FlagsCnt = 7;
+- }
+- if (FlagBuf & 0x80)
+- {
+- FlagBuf <<= 1;
+- if (Nlzb > Nhfb)
+- {
+- RINOK(HuffDecode());
+- }
+- else
+- {
+- RINOK(LongLZ());
+- }
+- }
+- else
+- {
+- FlagBuf <<= 1;
+- RINOK(ShortLZ());
+- }
+- }
+- }
+- if (m_UnpackSize < 0)
+- return S_FALSE;
+- return m_OutWindowStream.Flush();
+-}
+-
+-STDMETHODIMP CDecoder::Code(ISequentialInStream *inStream, ISequentialOutStream *outStream,
+- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress)
+-{
+- try { return CodeReal(inStream, outStream, inSize, outSize, progress); }
+- catch(const CInBufferException &e) { return e.ErrorCode; }
+- catch(const CLzOutWindowException &e) { return e.ErrorCode; }
+- catch(...) { return S_FALSE; }
+-}
+-
+-STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte *data, UInt32 size)
+-{
+- if (size < 1)
+- return E_INVALIDARG;
+- m_IsSolid = (data[0] != 0);
+- return S_OK;
+-}
+-
+-}}
+diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar1Decoder.h p7zip-libre_9.20.1/CPP/7zip/Compress/Rar1Decoder.h
+--- p7zip_9.20.1/CPP/7zip/Compress/Rar1Decoder.h 2009-02-07 15:06:28.000000000 -0200
++++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar1Decoder.h 1969-12-31 21:00:00.000000000 -0300
+@@ -1,88 +0,0 @@
+-// Rar1Decoder.h
+-// According to unRAR license, this code may not be used to develop
+-// a program that creates RAR archives
+-
+-#ifndef __COMPRESS_RAR1_DECODER_H
+-#define __COMPRESS_RAR1_DECODER_H
+-
+-#include "../../Common/MyCom.h"
+-
+-#include "../ICoder.h"
+-
+-#include "../Common/InBuffer.h"
+-
+-#include "BitmDecoder.h"
+-#include "HuffmanDecoder.h"
+-#include "LzOutWindow.h"
+-
+-namespace NCompress {
+-namespace NRar1 {
+-
+-const UInt32 kNumRepDists = 4;
+-
+-typedef NBitm::CDecoder<CInBuffer> CBitDecoder;
+-
+-class CDecoder :
+- public ICompressCoder,
+- public ICompressSetDecoderProperties2,
+- public CMyUnknownImp
+-{
+-public:
+- CLzOutWindow m_OutWindowStream;
+- CBitDecoder m_InBitStream;
+-
+- UInt32 m_RepDists[kNumRepDists];
+- UInt32 m_RepDistPtr;
+-
+- UInt32 LastDist;
+- UInt32 LastLength;
+-
+- Int64 m_UnpackSize;
+- bool m_IsSolid;
+-
+- UInt32 ReadBits(int numBits);
+- HRESULT CopyBlock(UInt32 distance, UInt32 len);
+-
+- UInt32 DecodeNum(const UInt32 *posTab);
+- HRESULT ShortLZ();
+- HRESULT LongLZ();
+- HRESULT HuffDecode();
+- void GetFlagsBuf();
+- void InitData();
+- void InitHuff();
+- void CorrHuff(UInt32 *CharSet, UInt32 *NumToPlace);
+- void OldUnpWriteBuf();
+-
+- UInt32 ChSet[256],ChSetA[256],ChSetB[256],ChSetC[256];
+- UInt32 Place[256],PlaceA[256],PlaceB[256],PlaceC[256];
+- UInt32 NToPl[256],NToPlB[256],NToPlC[256];
+- UInt32 FlagBuf,AvrPlc,AvrPlcB,AvrLn1,AvrLn2,AvrLn3;
+- int Buf60,NumHuf,StMode,LCount,FlagsCnt;
+- UInt32 Nhfb,Nlzb,MaxDist3;
+-
+- void InitStructures();
+-
+- HRESULT CodeReal(ISequentialInStream *inStream, ISequentialOutStream *outStream,
+- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
+-
+-public:
+- CDecoder();
+-
+- MY_UNKNOWN_IMP1(ICompressSetDecoderProperties2)
+-
+- void ReleaseStreams()
+- {
+- m_OutWindowStream.ReleaseStream();
+- m_InBitStream.ReleaseStream();
+- }
+-
+- STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream,
+- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
+-
+- STDMETHOD(SetDecoderProperties2)(const Byte *data, UInt32 size);
+-
+-};
+-
+-}}
+-
+-#endif
+diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar2Decoder.cpp p7zip-libre_9.20.1/CPP/7zip/Compress/Rar2Decoder.cpp
+--- p7zip_9.20.1/CPP/7zip/Compress/Rar2Decoder.cpp 2009-12-21 08:46:36.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar2Decoder.cpp 1969-12-31 21:00:00.000000000 -0300
+@@ -1,391 +0,0 @@
+-// Rar2Decoder.cpp
+-// According to unRAR license, this code may not be used to develop
+-// a program that creates RAR archives
+-
+-#include "StdAfx.h"
+-
+-#include "Rar2Decoder.h"
+-
+-namespace NCompress {
+-namespace NRar2 {
+-
+-namespace NMultimedia {
+-
+-Byte CFilter::Decode(int &channelDelta, Byte deltaByte)
+-{
+- D4 = D3;
+- D3 = D2;
+- D2 = LastDelta - D1;
+- D1 = LastDelta;
+- int predictedValue = ((8 * LastChar + K1 * D1 + K2 * D2 + K3 * D3 + K4 * D4 + K5 * channelDelta) >> 3);
+-
+- Byte realValue = (Byte)(predictedValue - deltaByte);
+- int i = ((int)(signed char)deltaByte) << 3;
+-
+- Dif[0] += abs(i);
+- Dif[1] += abs(i - D1);
+- Dif[2] += abs(i + D1);
+- Dif[3] += abs(i - D2);
+- Dif[4] += abs(i + D2);
+- Dif[5] += abs(i - D3);
+- Dif[6] += abs(i + D3);
+- Dif[7] += abs(i - D4);
+- Dif[8] += abs(i + D4);
+- Dif[9] += abs(i - channelDelta);
+- Dif[10] += abs(i + channelDelta);
+-
+- channelDelta = LastDelta = (signed char)(realValue - LastChar);
+- LastChar = realValue;
+-
+- if (((++ByteCount) & 0x1F) == 0)
+- {
+- UInt32 minDif = Dif[0];
+- UInt32 numMinDif = 0;
+- Dif[0] = 0;
+- for (i = 1; i < sizeof(Dif) / sizeof(Dif[0]); i++)
+- {
+- if (Dif[i] < minDif)
+- {
+- minDif = Dif[i];
+- numMinDif = i;
+- }
+- Dif[i] = 0;
+- }
+- switch(numMinDif)
+- {
+- case 1: if (K1 >= -16) K1--; break;
+- case 2: if (K1 < 16) K1++; break;
+- case 3: if (K2 >= -16) K2--; break;
+- case 4: if (K2 < 16) K2++; break;
+- case 5: if (K3 >= -16) K3--; break;
+- case 6: if (K3 < 16) K3++; break;
+- case 7: if (K4 >= -16) K4--; break;
+- case 8: if (K4 < 16) K4++; break;
+- case 9: if (K5 >= -16) K5--; break;
+- case 10:if (K5 < 16) K5++; break;
+- }
+- }
+- return realValue;
+-}
+-}
+-
+-static const char *kNumberErrorMessage = "Number error";
+-
+-static const UInt32 kHistorySize = 1 << 20;
+-
+-static const int kNumStats = 11;
+-
+-static const UInt32 kWindowReservSize = (1 << 22) + 256;
+-
+-CDecoder::CDecoder():
+- m_IsSolid(false)
+-{
+-}
+-
+-void CDecoder::InitStructures()
+-{
+- m_MmFilter.Init();
+- for(int i = 0; i < kNumRepDists; i++)
+- m_RepDists[i] = 0;
+- m_RepDistPtr = 0;
+- m_LastLength = 0;
+- memset(m_LastLevels, 0, kMaxTableSize);
+-}
+-
+-UInt32 CDecoder::ReadBits(int numBits) { return m_InBitStream.ReadBits(numBits); }
+-
+-#define RIF(x) { if (!(x)) return false; }
+-
+-bool CDecoder::ReadTables(void)
+-{
+- Byte levelLevels[kLevelTableSize];
+- Byte newLevels[kMaxTableSize];
+- m_AudioMode = (ReadBits(1) == 1);
+-
+- if (ReadBits(1) == 0)
+- memset(m_LastLevels, 0, kMaxTableSize);
+- int numLevels;
+- if (m_AudioMode)
+- {
+- m_NumChannels = ReadBits(2) + 1;
+- if (m_MmFilter.CurrentChannel >= m_NumChannels)
+- m_MmFilter.CurrentChannel = 0;
+- numLevels = m_NumChannels * kMMTableSize;
+- }
+- else
+- numLevels = kHeapTablesSizesSum;
+-
+- int i;
+- for (i = 0; i < kLevelTableSize; i++)
+- levelLevels[i] = (Byte)ReadBits(4);
+- RIF(m_LevelDecoder.SetCodeLengths(levelLevels));
+- i = 0;
+- while (i < numLevels)
+- {
+- UInt32 number = m_LevelDecoder.DecodeSymbol(&m_InBitStream);
+- if (number < kTableDirectLevels)
+- {
+- newLevels[i] = (Byte)((number + m_LastLevels[i]) & kLevelMask);
+- i++;
+- }
+- else
+- {
+- if (number == kTableLevelRepNumber)
+- {
+- int t = ReadBits(2) + 3;
+- for (int reps = t; reps > 0 && i < numLevels ; reps--, i++)
+- newLevels[i] = newLevels[i - 1];
+- }
+- else
+- {
+- int num;
+- if (number == kTableLevel0Number)
+- num = ReadBits(3) + 3;
+- else if (number == kTableLevel0Number2)
+- num = ReadBits(7) + 11;
+- else
+- return false;
+- for (;num > 0 && i < numLevels; num--)
+- newLevels[i++] = 0;
+- }
+- }
+- }
+- if (m_AudioMode)
+- for (i = 0; i < m_NumChannels; i++)
+- {
+- RIF(m_MMDecoders[i].SetCodeLengths(&newLevels[i * kMMTableSize]));
+- }
+- else
+- {
+- RIF(m_MainDecoder.SetCodeLengths(&newLevels[0]));
+- RIF(m_DistDecoder.SetCodeLengths(&newLevels[kMainTableSize]));
+- RIF(m_LenDecoder.SetCodeLengths(&newLevels[kMainTableSize + kDistTableSize]));
+- }
+- memcpy(m_LastLevels, newLevels, kMaxTableSize);
+- return true;
+-}
+-
+-bool CDecoder::ReadLastTables()
+-{
+- // it differs a little from pure RAR sources;
+- // UInt64 ttt = m_InBitStream.GetProcessedSize() + 2;
+- // + 2 works for: return 0xFF; in CInBuffer::ReadByte.
+- if (m_InBitStream.GetProcessedSize() + 7 <= m_PackSize) // test it: probably incorrect;
+- // if (m_InBitStream.GetProcessedSize() + 2 <= m_PackSize) // test it: probably incorrect;
+- if (m_AudioMode)
+- {
+- UInt32 symbol = m_MMDecoders[m_MmFilter.CurrentChannel].DecodeSymbol(&m_InBitStream);
+- if (symbol == 256)
+- return ReadTables();
+- if (symbol >= kMMTableSize)
+- return false;
+- }
+- else
+- {
+- UInt32 number = m_MainDecoder.DecodeSymbol(&m_InBitStream);
+- if (number == kReadTableNumber)
+- return ReadTables();
+- if (number >= kMainTableSize)
+- return false;
+- }
+- return true;
+-}
+-
+-class CCoderReleaser
+-{
+- CDecoder *m_Coder;
+-public:
+- CCoderReleaser(CDecoder *coder): m_Coder(coder) {}
+- ~CCoderReleaser()
+- {
+- m_Coder->ReleaseStreams();
+- }
+-};
+-
+-bool CDecoder::DecodeMm(UInt32 pos)
+-{
+- while (pos-- > 0)
+- {
+- UInt32 symbol = m_MMDecoders[m_MmFilter.CurrentChannel].DecodeSymbol(&m_InBitStream);
+- if (symbol == 256)
+- return true;
+- if (symbol >= kMMTableSize)
+- return false;
+- /*
+- Byte byPredict = m_Predictor.Predict();
+- Byte byReal = (Byte)(byPredict - (Byte)symbol);
+- m_Predictor.Update(byReal, byPredict);
+- */
+- Byte byReal = m_MmFilter.Decode((Byte)symbol);
+- m_OutWindowStream.PutByte(byReal);
+- if (++m_MmFilter.CurrentChannel == m_NumChannels)
+- m_MmFilter.CurrentChannel = 0;
+- }
+- return true;
+-}
+-
+-bool CDecoder::DecodeLz(Int32 pos)
+-{
+- while (pos > 0)
+- {
+- UInt32 number = m_MainDecoder.DecodeSymbol(&m_InBitStream);
+- UInt32 length, distance;
+- if (number < 256)
+- {
+- m_OutWindowStream.PutByte(Byte(number));
+- pos--;
+- continue;
+- }
+- else if (number >= kMatchNumber)
+- {
+- number -= kMatchNumber;
+- length = kNormalMatchMinLen + UInt32(kLenStart[number]) +
+- m_InBitStream.ReadBits(kLenDirectBits[number]);
+- number = m_DistDecoder.DecodeSymbol(&m_InBitStream);
+- if (number >= kDistTableSize)
+- return false;
+- distance = kDistStart[number] + m_InBitStream.ReadBits(kDistDirectBits[number]);
+- if (distance >= kDistLimit3)
+- {
+- length += 2 - ((distance - kDistLimit4) >> 31);
+- // length++;
+- // if (distance >= kDistLimit4)
+- // length++;
+- }
+- }
+- else if (number == kRepBothNumber)
+- {
+- length = m_LastLength;
+- if (length == 0)
+- return false;
+- distance = m_RepDists[(m_RepDistPtr + 4 - 1) & 3];
+- }
+- else if (number < kLen2Number)
+- {
+- distance = m_RepDists[(m_RepDistPtr - (number - kRepNumber + 1)) & 3];
+- number = m_LenDecoder.DecodeSymbol(&m_InBitStream);
+- if (number >= kLenTableSize)
+- return false;
+- length = 2 + kLenStart[number] + m_InBitStream.ReadBits(kLenDirectBits[number]);
+- if (distance >= kDistLimit2)
+- {
+- length++;
+- if (distance >= kDistLimit3)
+- {
+- length += 2 - ((distance - kDistLimit4) >> 31);
+- // length++;
+- // if (distance >= kDistLimit4)
+- // length++;
+- }
+- }
+- }
+- else if (number < kReadTableNumber)
+- {
+- number -= kLen2Number;
+- distance = kLen2DistStarts[number] +
+- m_InBitStream.ReadBits(kLen2DistDirectBits[number]);
+- length = 2;
+- }
+- else if (number == kReadTableNumber)
+- return true;
+- else
+- return false;
+- m_RepDists[m_RepDistPtr++ & 3] = distance;
+- m_LastLength = length;
+- if (!m_OutWindowStream.CopyBlock(distance, length))
+- return false;
+- pos -= length;
+- }
+- return true;
+-}
+-
+-HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream *outStream,
+- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress)
+-{
+- if (inSize == NULL || outSize == NULL)
+- return E_INVALIDARG;
+-
+- if (!m_OutWindowStream.Create(kHistorySize))
+- return E_OUTOFMEMORY;
+- if (!m_InBitStream.Create(1 << 20))
+- return E_OUTOFMEMORY;
+-
+- m_PackSize = *inSize;
+-
+- UInt64 pos = 0, unPackSize = *outSize;
+-
+- m_OutWindowStream.SetStream(outStream);
+- m_OutWindowStream.Init(m_IsSolid);
+- m_InBitStream.SetStream(inStream);
+- m_InBitStream.Init();
+-
+- CCoderReleaser coderReleaser(this);
+- if (!m_IsSolid)
+- {
+- InitStructures();
+- if (unPackSize == 0)
+- {
+- if (m_InBitStream.GetProcessedSize() + 2 <= m_PackSize) // test it: probably incorrect;
+- if (!ReadTables())
+- return S_FALSE;
+- return S_OK;
+- }
+- if (!ReadTables())
+- return S_FALSE;
+- }
+-
+- UInt64 startPos = m_OutWindowStream.GetProcessedSize();
+- while(pos < unPackSize)
+- {
+- UInt32 blockSize = 1 << 20;
+- if (blockSize > unPackSize - pos)
+- blockSize = (UInt32)(unPackSize - pos);
+- UInt64 blockStartPos = m_OutWindowStream.GetProcessedSize();
+- if (m_AudioMode)
+- {
+- if (!DecodeMm(blockSize))
+- return S_FALSE;
+- }
+- else
+- {
+- if (!DecodeLz((Int32)blockSize))
+- return S_FALSE;
+- }
+- UInt64 globalPos = m_OutWindowStream.GetProcessedSize();
+- pos = globalPos - blockStartPos;
+- if (pos < blockSize)
+- if (!ReadTables())
+- return S_FALSE;
+- pos = globalPos - startPos;
+- if (progress != 0)
+- {
+- UInt64 packSize = m_InBitStream.GetProcessedSize();
+- RINOK(progress->SetRatioInfo(&packSize, &pos));
+- }
+- }
+- if (pos > unPackSize)
+- return S_FALSE;
+-
+- if (!ReadLastTables())
+- return S_FALSE;
+- return m_OutWindowStream.Flush();
+-}
+-
+-STDMETHODIMP CDecoder::Code(ISequentialInStream *inStream, ISequentialOutStream *outStream,
+- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress)
+-{
+- try { return CodeReal(inStream, outStream, inSize, outSize, progress); }
+- catch(const CInBufferException &e) { return e.ErrorCode; }
+- catch(const CLzOutWindowException &e) { return e.ErrorCode; }
+- catch(...) { return S_FALSE; }
+-}
+-
+-STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte *data, UInt32 size)
+-{
+- if (size < 1)
+- return E_INVALIDARG;
+- m_IsSolid = (data[0] != 0);
+- return S_OK;
+-}
+-
+-}}
+diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar2Decoder.h p7zip-libre_9.20.1/CPP/7zip/Compress/Rar2Decoder.h
+--- p7zip_9.20.1/CPP/7zip/Compress/Rar2Decoder.h 2009-02-07 15:06:28.000000000 -0200
++++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar2Decoder.h 1969-12-31 21:00:00.000000000 -0300
+@@ -1,174 +0,0 @@
+-// Rar2Decoder.h
+-// According to unRAR license, this code may not be used to develop
+-// a program that creates RAR archives
+-
+-#ifndef __COMPRESS_RAR2_DECODER_H
+-#define __COMPRESS_RAR2_DECODER_H
+-
+-#include "../../Common/MyCom.h"
+-
+-#include "../ICoder.h"
+-
+-#include "../Common/InBuffer.h"
+-
+-#include "BitmDecoder.h"
+-#include "HuffmanDecoder.h"
+-#include "LzOutWindow.h"
+-
+-namespace NCompress {
+-namespace NRar2 {
+-
+-const UInt32 kNumRepDists = 4;
+-const UInt32 kDistTableSize = 48;
+-
+-const int kMMTableSize = 256 + 1;
+-
+-const UInt32 kMainTableSize = 298;
+-const UInt32 kLenTableSize = 28;
+-
+-const UInt32 kDistTableStart = kMainTableSize;
+-const UInt32 kLenTableStart = kDistTableStart + kDistTableSize;
+-
+-const UInt32 kHeapTablesSizesSum = kMainTableSize + kDistTableSize + kLenTableSize;
+-
+-const UInt32 kLevelTableSize = 19;
+-
+-const UInt32 kMMTablesSizesSum = kMMTableSize * 4;
+-
+-const UInt32 kMaxTableSize = kMMTablesSizesSum;
+-
+-const UInt32 kTableDirectLevels = 16;
+-const UInt32 kTableLevelRepNumber = kTableDirectLevels;
+-const UInt32 kTableLevel0Number = kTableLevelRepNumber + 1;
+-const UInt32 kTableLevel0Number2 = kTableLevel0Number + 1;
+-
+-const UInt32 kLevelMask = 0xF;
+-
+-
+-const UInt32 kRepBothNumber = 256;
+-const UInt32 kRepNumber = kRepBothNumber + 1;
+-const UInt32 kLen2Number = kRepNumber + 4;
+-
+-const UInt32 kLen2NumNumbers = 8;
+-const UInt32 kReadTableNumber = kLen2Number + kLen2NumNumbers;
+-const UInt32 kMatchNumber = kReadTableNumber + 1;
+-
+-const Byte kLenStart[kLenTableSize] = {0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224};
+-const Byte kLenDirectBits[kLenTableSize] = {0,0,0,0,0,0,0,0,1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5};
+-
+-const UInt32 kDistStart[kDistTableSize] = {0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576,32768U,49152U,65536,98304,131072,196608,262144,327680,393216,458752,524288,589824,655360,720896,786432,851968,917504,983040};
+-const Byte kDistDirectBits[kDistTableSize] = {0,0,0,0,1,1,2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16};
+-
+-const Byte kLevelDirectBits[kLevelTableSize] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7};
+-
+-const Byte kLen2DistStarts[kLen2NumNumbers]={0,4,8,16,32,64,128,192};
+-const Byte kLen2DistDirectBits[kLen2NumNumbers]={2,2,3, 4, 5, 6, 6, 6};
+-
+-const UInt32 kDistLimit2 = 0x101 - 1;
+-const UInt32 kDistLimit3 = 0x2000 - 1;
+-const UInt32 kDistLimit4 = 0x40000 - 1;
+-
+-const UInt32 kMatchMaxLen = 255 + 2;
+-const UInt32 kMatchMaxLenMax = 255 + 5;
+-const UInt32 kNormalMatchMinLen = 3;
+-
+-namespace NMultimedia {
+-
+-struct CFilter
+-{
+- int K1,K2,K3,K4,K5;
+- int D1,D2,D3,D4;
+- int LastDelta;
+- UInt32 Dif[11];
+- UInt32 ByteCount;
+- int LastChar;
+-
+- Byte Decode(int &channelDelta, Byte delta);
+-
+- void Init() { memset(this, 0, sizeof(*this)); }
+-
+-};
+-
+-const int kNumChanelsMax = 4;
+-
+-class CFilter2
+-{
+-public:
+- CFilter m_Filters[kNumChanelsMax];
+- int m_ChannelDelta;
+- int CurrentChannel;
+-
+- void Init() { memset(this, 0, sizeof(*this)); }
+- Byte Decode(Byte delta)
+- {
+- return m_Filters[CurrentChannel].Decode(m_ChannelDelta, delta);
+- }
+-
+-};
+-
+-}
+-
+-typedef NBitm::CDecoder<CInBuffer> CBitDecoder;
+-
+-const int kNumHuffmanBits = 15;
+-
+-class CDecoder :
+- public ICompressCoder,
+- public ICompressSetDecoderProperties2,
+- public CMyUnknownImp
+-{
+- CLzOutWindow m_OutWindowStream;
+- CBitDecoder m_InBitStream;
+- NHuffman::CDecoder<kNumHuffmanBits, kMainTableSize> m_MainDecoder;
+- NHuffman::CDecoder<kNumHuffmanBits, kDistTableSize> m_DistDecoder;
+- NHuffman::CDecoder<kNumHuffmanBits, kLenTableSize> m_LenDecoder;
+- NHuffman::CDecoder<kNumHuffmanBits, kMMTableSize> m_MMDecoders[NMultimedia::kNumChanelsMax];
+- NHuffman::CDecoder<kNumHuffmanBits, kLevelTableSize> m_LevelDecoder;
+-
+- bool m_AudioMode;
+-
+- NMultimedia::CFilter2 m_MmFilter;
+- int m_NumChannels;
+-
+- UInt32 m_RepDists[kNumRepDists];
+- UInt32 m_RepDistPtr;
+-
+- UInt32 m_LastLength;
+-
+- Byte m_LastLevels[kMaxTableSize];
+-
+- UInt64 m_PackSize;
+- bool m_IsSolid;
+-
+- void InitStructures();
+- UInt32 ReadBits(int numBits);
+- bool ReadTables();
+- bool ReadLastTables();
+-
+- bool DecodeMm(UInt32 pos);
+- bool DecodeLz(Int32 pos);
+-
+- HRESULT CodeReal(ISequentialInStream *inStream, ISequentialOutStream *outStream,
+- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
+-
+-public:
+- CDecoder();
+-
+- MY_UNKNOWN_IMP1(ICompressSetDecoderProperties2)
+-
+- void ReleaseStreams()
+- {
+- m_OutWindowStream.ReleaseStream();
+- m_InBitStream.ReleaseStream();
+- }
+-
+- STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream,
+- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
+-
+- STDMETHOD(SetDecoderProperties2)(const Byte *data, UInt32 size);
+-
+-};
+-
+-}}
+-
+-#endif
+diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar3Decoder.cpp p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Decoder.cpp
+--- p7zip_9.20.1/CPP/7zip/Compress/Rar3Decoder.cpp 2010-09-14 16:18:38.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Decoder.cpp 1969-12-31 21:00:00.000000000 -0300
+@@ -1,897 +0,0 @@
+-// Rar3Decoder.cpp
+-// According to unRAR license, this code may not be used to develop
+-// a program that creates RAR archives
+-
+-/* This code uses Carryless rangecoder (1999): Dmitry Subbotin : Public domain */
+-
+-#include "StdAfx.h"
+-
+-#include "../../../C/Alloc.h"
+-
+-#include "../Common/StreamUtils.h"
+-
+-#include "Rar3Decoder.h"
+-
+-namespace NCompress {
+-namespace NRar3 {
+-
+-static void *SzBigAlloc(void *, size_t size) { return BigAlloc(size); }
+-static void SzBigFree(void *, void *address) { BigFree(address); }
+-static ISzAlloc g_BigAlloc = { SzBigAlloc, SzBigFree };
+-
+-static const UInt32 kNumAlignReps = 15;
+-
+-static const UInt32 kSymbolReadTable = 256;
+-static const UInt32 kSymbolRep = 259;
+-static const UInt32 kSymbolLen2 = kSymbolRep + kNumReps;
+-
+-static const Byte kLenStart[kLenTableSize] = {0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224};
+-static const Byte kLenDirectBits[kLenTableSize] = {0,0,0,0,0,0,0,0,1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5};
+-
+-static const Byte kDistDirectBits[kDistTableSize] =
+- {0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,
+- 16,16,16,16,16,16,16,16,16,16,16,16,16,16,
+- 18,18,18,18,18,18,18,18,18,18,18,18};
+-
+-static const Byte kLevelDirectBits[kLevelTableSize] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7};
+-
+-static const Byte kLen2DistStarts[kNumLen2Symbols]={0,4,8,16,32,64,128,192};
+-static const Byte kLen2DistDirectBits[kNumLen2Symbols]={2,2,3, 4, 5, 6, 6, 6};
+-
+-static const UInt32 kDistLimit3 = 0x2000 - 2;
+-static const UInt32 kDistLimit4 = 0x40000 - 2;
+-
+-static const UInt32 kNormalMatchMinLen = 3;
+-
+-static const UInt32 kVmDataSizeMax = 1 << 16;
+-static const UInt32 kVmCodeSizeMax = 1 << 16;
+-
+-extern "C" {
+-
+-static UInt32 Range_GetThreshold(void *pp, UInt32 total)
+-{
+- CRangeDecoder *p = (CRangeDecoder *)pp;
+- return p->Code / (p->Range /= total);
+-}
+-
+-static void Range_Decode(void *pp, UInt32 start, UInt32 size)
+-{
+- CRangeDecoder *p = (CRangeDecoder *)pp;
+- start *= p->Range;
+- p->Low += start;
+- p->Code -= start;
+- p->Range *= size;
+- p->Normalize();
+-}
+-
+-static UInt32 Range_DecodeBit(void *pp, UInt32 size0)
+-{
+- CRangeDecoder *p = (CRangeDecoder *)pp;
+- if (p->Code / (p->Range >>= 14) < size0)
+- {
+- Range_Decode(p, 0, size0);
+- return 0;
+- }
+- else
+- {
+- Range_Decode(p, size0, (1 << 14) - size0);
+- return 1;
+- }
+-}
+-
+-}
+-
+-CRangeDecoder::CRangeDecoder()
+-{
+- s.GetThreshold = Range_GetThreshold;
+- s.Decode = Range_Decode;
+- s.DecodeBit = Range_DecodeBit;
+-}
+-
+-CDecoder::CDecoder():
+- _window(0),
+- _winPos(0),
+- _wrPtr(0),
+- _lzSize(0),
+- _writtenFileSize(0),
+- _vmData(0),
+- _vmCode(0),
+- m_IsSolid(false)
+-{
+- Ppmd7_Construct(&_ppmd);
+-}
+-
+-CDecoder::~CDecoder()
+-{
+- InitFilters();
+- ::MidFree(_vmData);
+- ::MidFree(_window);
+- Ppmd7_Free(&_ppmd, &g_BigAlloc);
+-}
+-
+-HRESULT CDecoder::WriteDataToStream(const Byte *data, UInt32 size)
+-{
+- return WriteStream(_outStream, data, size);
+-}
+-
+-HRESULT CDecoder::WriteData(const Byte *data, UInt32 size)
+-{
+- HRESULT res = S_OK;
+- if (_writtenFileSize < _unpackSize)
+- {
+- UInt32 curSize = size;
+- UInt64 remain = _unpackSize - _writtenFileSize;
+- if (remain < curSize)
+- curSize = (UInt32)remain;
+- res = WriteDataToStream(data, curSize);
+- }
+- _writtenFileSize += size;
+- return res;
+-}
+-
+-HRESULT CDecoder::WriteArea(UInt32 startPtr, UInt32 endPtr)
+-{
+- if (startPtr <= endPtr)
+- return WriteData(_window + startPtr, endPtr - startPtr);
+- RINOK(WriteData(_window + startPtr, kWindowSize - startPtr));
+- return WriteData(_window, endPtr);
+-}
+-
+-void CDecoder::ExecuteFilter(int tempFilterIndex, NVm::CBlockRef &outBlockRef)
+-{
+- CTempFilter *tempFilter = _tempFilters[tempFilterIndex];
+- tempFilter->InitR[6] = (UInt32)_writtenFileSize;
+- NVm::SetValue32(&tempFilter->GlobalData[0x24], (UInt32)_writtenFileSize);
+- NVm::SetValue32(&tempFilter->GlobalData[0x28], (UInt32)(_writtenFileSize >> 32));
+- CFilter *filter = _filters[tempFilter->FilterIndex];
+- _vm.Execute(filter, tempFilter, outBlockRef, filter->GlobalData);
+- delete tempFilter;
+- _tempFilters[tempFilterIndex] = 0;
+-}
+-
+-HRESULT CDecoder::WriteBuf()
+-{
+- UInt32 writtenBorder = _wrPtr;
+- UInt32 writeSize = (_winPos - writtenBorder) & kWindowMask;
+- for (int i = 0; i < _tempFilters.Size(); i++)
+- {
+- CTempFilter *filter = _tempFilters[i];
+- if (filter == NULL)
+- continue;
+- if (filter->NextWindow)
+- {
+- filter->NextWindow = false;
+- continue;
+- }
+- UInt32 blockStart = filter->BlockStart;
+- UInt32 blockSize = filter->BlockSize;
+- if (((blockStart - writtenBorder) & kWindowMask) < writeSize)
+- {
+- if (writtenBorder != blockStart)
+- {
+- RINOK(WriteArea(writtenBorder, blockStart));
+- writtenBorder = blockStart;
+- writeSize = (_winPos - writtenBorder) & kWindowMask;
+- }
+- if (blockSize <= writeSize)
+- {
+- UInt32 blockEnd = (blockStart + blockSize) & kWindowMask;
+- if (blockStart < blockEnd || blockEnd == 0)
+- _vm.SetMemory(0, _window + blockStart, blockSize);
+- else
+- {
+- UInt32 tailSize = kWindowSize - blockStart;
+- _vm.SetMemory(0, _window + blockStart, tailSize);
+- _vm.SetMemory(tailSize, _window, blockEnd);
+- }
+- NVm::CBlockRef outBlockRef;
+- ExecuteFilter(i, outBlockRef);
+- while (i + 1 < _tempFilters.Size())
+- {
+- CTempFilter *nextFilter = _tempFilters[i + 1];
+- if (nextFilter == NULL || nextFilter->BlockStart != blockStart ||
+- nextFilter->BlockSize != outBlockRef.Size || nextFilter->NextWindow)
+- break;
+- _vm.SetMemory(0, _vm.GetDataPointer(outBlockRef.Offset), outBlockRef.Size);
+- ExecuteFilter(++i, outBlockRef);
+- }
+- WriteDataToStream(_vm.GetDataPointer(outBlockRef.Offset), outBlockRef.Size);
+- _writtenFileSize += outBlockRef.Size;
+- writtenBorder = blockEnd;
+- writeSize = (_winPos - writtenBorder) & kWindowMask;
+- }
+- else
+- {
+- for (int j = i; j < _tempFilters.Size(); j++)
+- {
+- CTempFilter *filter = _tempFilters[j];
+- if (filter != NULL && filter->NextWindow)
+- filter->NextWindow = false;
+- }
+- _wrPtr = writtenBorder;
+- return S_OK; // check it
+- }
+- }
+- }
+-
+- _wrPtr = _winPos;
+- return WriteArea(writtenBorder, _winPos);
+-}
+-
+-void CDecoder::InitFilters()
+-{
+- _lastFilter = 0;
+- int i;
+- for (i = 0; i < _tempFilters.Size(); i++)
+- delete _tempFilters[i];
+- _tempFilters.Clear();
+- for (i = 0; i < _filters.Size(); i++)
+- delete _filters[i];
+- _filters.Clear();
+-}
+-
+-bool CDecoder::AddVmCode(UInt32 firstByte, UInt32 codeSize)
+-{
+- CMemBitDecoder inp;
+- inp.Init(_vmData, codeSize);
+-
+- UInt32 filterIndex;
+- if (firstByte & 0x80)
+- {
+- filterIndex = NVm::ReadEncodedUInt32(inp);
+- if (filterIndex == 0)
+- InitFilters();
+- else
+- filterIndex--;
+- }
+- else
+- filterIndex = _lastFilter;
+- if (filterIndex > (UInt32)_filters.Size())
+- return false;
+- _lastFilter = filterIndex;
+- bool newFilter = (filterIndex == (UInt32)_filters.Size());
+-
+- CFilter *filter;
+- if (newFilter)
+- {
+- // check if too many filters
+- if (filterIndex > 1024)
+- return false;
+- filter = new CFilter;
+- _filters.Add(filter);
+- }
+- else
+- {
+- filter = _filters[filterIndex];
+- filter->ExecCount++;
+- }
+-
+- int numEmptyItems = 0;
+- int i;
+- for (i = 0; i < _tempFilters.Size(); i++)
+- {
+- _tempFilters[i - numEmptyItems] = _tempFilters[i];
+- if (_tempFilters[i] == NULL)
+- numEmptyItems++;
+- if (numEmptyItems > 0)
+- _tempFilters[i] = NULL;
+- }
+- if (numEmptyItems == 0)
+- {
+- _tempFilters.Add(NULL);
+- numEmptyItems = 1;
+- }
+- CTempFilter *tempFilter = new CTempFilter;
+- _tempFilters[_tempFilters.Size() - numEmptyItems] = tempFilter;
+- tempFilter->FilterIndex = filterIndex;
+- tempFilter->ExecCount = filter->ExecCount;
+-
+- UInt32 blockStart = NVm::ReadEncodedUInt32(inp);
+- if (firstByte & 0x40)
+- blockStart += 258;
+- tempFilter->BlockStart = (blockStart + _winPos) & kWindowMask;
+- if (firstByte & 0x20)
+- filter->BlockSize = NVm::ReadEncodedUInt32(inp);
+- tempFilter->BlockSize = filter->BlockSize;
+- tempFilter->NextWindow = _wrPtr != _winPos && ((_wrPtr - _winPos) & kWindowMask) <= blockStart;
+-
+- memset(tempFilter->InitR, 0, sizeof(tempFilter->InitR));
+- tempFilter->InitR[3] = NVm::kGlobalOffset;
+- tempFilter->InitR[4] = tempFilter->BlockSize;
+- tempFilter->InitR[5] = tempFilter->ExecCount;
+- if (firstByte & 0x10)
+- {
+- UInt32 initMask = inp.ReadBits(NVm::kNumGpRegs);
+- for (int i = 0; i < NVm::kNumGpRegs; i++)
+- if (initMask & (1 << i))
+- tempFilter->InitR[i] = NVm::ReadEncodedUInt32(inp);
+- }
+- if (newFilter)
+- {
+- UInt32 vmCodeSize = NVm::ReadEncodedUInt32(inp);
+- if (vmCodeSize >= kVmCodeSizeMax || vmCodeSize == 0)
+- return false;
+- for (UInt32 i = 0; i < vmCodeSize; i++)
+- _vmCode[i] = (Byte)inp.ReadBits(8);
+- _vm.PrepareProgram(_vmCode, vmCodeSize, filter);
+- }
+-
+- tempFilter->AllocateEmptyFixedGlobal();
+-
+- Byte *globalData = &tempFilter->GlobalData[0];
+- for (i = 0; i < NVm::kNumGpRegs; i++)
+- NVm::SetValue32(&globalData[i * 4], tempFilter->InitR[i]);
+- NVm::SetValue32(&globalData[NVm::NGlobalOffset::kBlockSize], tempFilter->BlockSize);
+- NVm::SetValue32(&globalData[NVm::NGlobalOffset::kBlockPos], 0); // It was commented. why?
+- NVm::SetValue32(&globalData[NVm::NGlobalOffset::kExecCount], tempFilter->ExecCount);
+-
+- if (firstByte & 8)
+- {
+- UInt32 dataSize = NVm::ReadEncodedUInt32(inp);
+- if (dataSize > NVm::kGlobalSize - NVm::kFixedGlobalSize)
+- return false;
+- CRecordVector<Byte> &globalData = tempFilter->GlobalData;
+- int requredSize = (int)(dataSize + NVm::kFixedGlobalSize);
+- if (globalData.Size() < requredSize)
+- {
+- globalData.Reserve(requredSize);
+- for (; globalData.Size() < requredSize; i++)
+- globalData.Add(0);
+- }
+- for (UInt32 i = 0; i < dataSize; i++)
+- globalData[NVm::kFixedGlobalSize + i] = (Byte)inp.ReadBits(8);
+- }
+- return true;
+-}
+-
+-bool CDecoder::ReadVmCodeLZ()
+-{
+- UInt32 firstByte = ReadBits(8);
+- UInt32 length = (firstByte & 7) + 1;
+- if (length == 7)
+- length = ReadBits(8) + 7;
+- else if (length == 8)
+- length = ReadBits(16);
+- if (length > kVmDataSizeMax)
+- return false;
+- for (UInt32 i = 0; i < length; i++)
+- _vmData[i] = (Byte)ReadBits(8);
+- return AddVmCode(firstByte, length);
+-}
+-
+-bool CDecoder::ReadVmCodePPM()
+-{
+- int firstByte = DecodePpmSymbol();
+- if (firstByte < 0)
+- return false;
+- UInt32 length = (firstByte & 7) + 1;
+- if (length == 7)
+- {
+- int b1 = DecodePpmSymbol();
+- if (b1 < 0)
+- return false;
+- length = b1 + 7;
+- }
+- else if (length == 8)
+- {
+- int b1 = DecodePpmSymbol();
+- if (b1 < 0)
+- return false;
+- int b2 = DecodePpmSymbol();
+- if (b2 < 0)
+- return false;
+- length = b1 * 256 + b2;
+- }
+- if (length > kVmDataSizeMax)
+- return false;
+- for (UInt32 i = 0; i < length; i++)
+- {
+- int b = DecodePpmSymbol();
+- if (b < 0)
+- return false;
+- _vmData[i] = (Byte)b;
+- }
+- return AddVmCode(firstByte, length);
+-}
+-
+-#define RIF(x) { if (!(x)) return S_FALSE; }
+-
+-UInt32 CDecoder::ReadBits(int numBits) { return m_InBitStream.bitDecoder.ReadBits(numBits); }
+-
+-/////////////////////////////////////////////////
+-// PPM
+-
+-HRESULT CDecoder::InitPPM()
+-{
+- Byte maxOrder = (Byte)ReadBits(7);
+-
+- bool reset = ((maxOrder & 0x20) != 0);
+- int maxMB = 0;
+- if (reset)
+- maxMB = (Byte)ReadBits(8);
+- else
+- {
+- if (PpmError || !Ppmd7_WasAllocated(&_ppmd))
+- return S_FALSE;
+- }
+- if (maxOrder & 0x40)
+- PpmEscChar = (Byte)ReadBits(8);
+- m_InBitStream.InitRangeCoder();
+- /*
+- if (m_InBitStream.m_BitPos != 0)
+- return S_FALSE;
+- */
+- if (reset)
+- {
+- PpmError = true;
+- maxOrder = (maxOrder & 0x1F) + 1;
+- if (maxOrder > 16)
+- maxOrder = 16 + (maxOrder - 16) * 3;
+- if (maxOrder == 1)
+- {
+- Ppmd7_Free(&_ppmd, &g_BigAlloc);
+- return S_FALSE;
+- }
+- if (!Ppmd7_Alloc(&_ppmd, (maxMB + 1) << 20, &g_BigAlloc))
+- return E_OUTOFMEMORY;
+- Ppmd7_Init(&_ppmd, maxOrder);
+- PpmError = false;
+- }
+- return S_OK;
+-}
+-
+-int CDecoder::DecodePpmSymbol() { return Ppmd7_DecodeSymbol(&_ppmd, &m_InBitStream.s); }
+-
+-HRESULT CDecoder::DecodePPM(Int32 num, bool &keepDecompressing)
+-{
+- keepDecompressing = false;
+- if (PpmError)
+- return S_FALSE;
+- do
+- {
+- if (((_wrPtr - _winPos) & kWindowMask) < 260 && _wrPtr != _winPos)
+- {
+- RINOK(WriteBuf());
+- if (_writtenFileSize > _unpackSize)
+- {
+- keepDecompressing = false;
+- return S_OK;
+- }
+- }
+- int c = DecodePpmSymbol();
+- if (c < 0)
+- {
+- PpmError = true;
+- return S_FALSE;
+- }
+- if (c == PpmEscChar)
+- {
+- int nextCh = DecodePpmSymbol();
+- if (nextCh < 0)
+- {
+- PpmError = true;
+- return S_FALSE;
+- }
+- if (nextCh == 0)
+- return ReadTables(keepDecompressing);
+- if (nextCh == 2 || nextCh == -1)
+- return S_OK;
+- if (nextCh == 3)
+- {
+- if (!ReadVmCodePPM())
+- {
+- PpmError = true;
+- return S_FALSE;
+- }
+- continue;
+- }
+- if (nextCh == 4 || nextCh == 5)
+- {
+- UInt32 distance = 0;
+- UInt32 length = 4;
+- if (nextCh == 4)
+- {
+- for (int i = 0; i < 3; i++)
+- {
+- int c = DecodePpmSymbol();
+- if (c < 0)
+- {
+- PpmError = true;
+- return S_FALSE;
+- }
+- distance = (distance << 8) + (Byte)c;
+- }
+- distance++;
+- length += 28;
+- }
+- int c = DecodePpmSymbol();
+- if (c < 0)
+- {
+- PpmError = true;
+- return S_FALSE;
+- }
+- length += c;
+- if (distance >= _lzSize)
+- return S_FALSE;
+- CopyBlock(distance, length);
+- num -= (Int32)length;
+- continue;
+- }
+- }
+- PutByte((Byte)c);
+- num--;
+- }
+- while (num >= 0);
+- keepDecompressing = true;
+- return S_OK;
+-}
+-
+-/////////////////////////////////////////////////
+-// LZ
+-
+-HRESULT CDecoder::ReadTables(bool &keepDecompressing)
+-{
+- keepDecompressing = true;
+- ReadBits((8 - m_InBitStream.bitDecoder.GetBitPosition()) & 7);
+- if (ReadBits(1) != 0)
+- {
+- _lzMode = false;
+- return InitPPM();
+- }
+-
+- _lzMode = true;
+- PrevAlignBits = 0;
+- PrevAlignCount = 0;
+-
+- Byte levelLevels[kLevelTableSize];
+- Byte newLevels[kTablesSizesSum];
+-
+- if (ReadBits(1) == 0)
+- memset(m_LastLevels, 0, kTablesSizesSum);
+-
+- int i;
+- for (i = 0; i < kLevelTableSize; i++)
+- {
+- UInt32 length = ReadBits(4);
+- if (length == 15)
+- {
+- UInt32 zeroCount = ReadBits(4);
+- if (zeroCount != 0)
+- {
+- zeroCount += 2;
+- while (zeroCount-- > 0 && i < kLevelTableSize)
+- levelLevels[i++]=0;
+- i--;
+- continue;
+- }
+- }
+- levelLevels[i] = (Byte)length;
+- }
+- RIF(m_LevelDecoder.SetCodeLengths(levelLevels));
+- i = 0;
+- while (i < kTablesSizesSum)
+- {
+- UInt32 number = m_LevelDecoder.DecodeSymbol(&m_InBitStream.bitDecoder);
+- if (number < 16)
+- {
+- newLevels[i] = Byte((number + m_LastLevels[i]) & 15);
+- i++;
+- }
+- else if (number > kLevelTableSize)
+- return S_FALSE;
+- else
+- {
+- int num;
+- if (((number - 16) & 1) == 0)
+- num = ReadBits(3) + 3;
+- else
+- num = ReadBits(7) + 11;
+- if (number < 18)
+- {
+- if (i == 0)
+- return S_FALSE;
+- for (; num > 0 && i < kTablesSizesSum; num--, i++)
+- newLevels[i] = newLevels[i - 1];
+- }
+- else
+- {
+- for (; num > 0 && i < kTablesSizesSum; num--)
+- newLevels[i++] = 0;
+- }
+- }
+- }
+- TablesRead = true;
+-
+- // original code has check here:
+- /*
+- if (InAddr > ReadTop)
+- {
+- keepDecompressing = false;
+- return true;
+- }
+- */
+-
+- RIF(m_MainDecoder.SetCodeLengths(&newLevels[0]));
+- RIF(m_DistDecoder.SetCodeLengths(&newLevels[kMainTableSize]));
+- RIF(m_AlignDecoder.SetCodeLengths(&newLevels[kMainTableSize + kDistTableSize]));
+- RIF(m_LenDecoder.SetCodeLengths(&newLevels[kMainTableSize + kDistTableSize + kAlignTableSize]));
+-
+- memcpy(m_LastLevels, newLevels, kTablesSizesSum);
+- return S_OK;
+-}
+-
+-class CCoderReleaser
+-{
+- CDecoder *m_Coder;
+-public:
+- CCoderReleaser(CDecoder *coder): m_Coder(coder) {}
+- ~CCoderReleaser()
+- {
+- m_Coder->ReleaseStreams();
+- }
+-};
+-
+-HRESULT CDecoder::ReadEndOfBlock(bool &keepDecompressing)
+-{
+- if (ReadBits(1) != 0)
+- {
+- // old file
+- TablesRead = false;
+- return ReadTables(keepDecompressing);
+- }
+- // new file
+- keepDecompressing = false;
+- TablesRead = (ReadBits(1) == 0);
+- return S_OK;
+-}
+-
+-UInt32 kDistStart[kDistTableSize];
+-
+-class CDistInit
+-{
+-public:
+- CDistInit() { Init(); }
+- void Init()
+- {
+- UInt32 start = 0;
+- for (UInt32 i = 0; i < kDistTableSize; i++)
+- {
+- kDistStart[i] = start;
+- start += (1 << kDistDirectBits[i]);
+- }
+- }
+-} g_DistInit;
+-
+-HRESULT CDecoder::DecodeLZ(bool &keepDecompressing)
+-{
+- UInt32 rep0 = _reps[0];
+- UInt32 rep1 = _reps[1];
+- UInt32 rep2 = _reps[2];
+- UInt32 rep3 = _reps[3];
+- UInt32 length = _lastLength;
+- for (;;)
+- {
+- if (((_wrPtr - _winPos) & kWindowMask) < 260 && _wrPtr != _winPos)
+- {
+- RINOK(WriteBuf());
+- if (_writtenFileSize > _unpackSize)
+- {
+- keepDecompressing = false;
+- return S_OK;
+- }
+- }
+- UInt32 number = m_MainDecoder.DecodeSymbol(&m_InBitStream.bitDecoder);
+- if (number < 256)
+- {
+- PutByte((Byte)number);
+- continue;
+- }
+- else if (number == kSymbolReadTable)
+- {
+- RINOK(ReadEndOfBlock(keepDecompressing));
+- break;
+- }
+- else if (number == 257)
+- {
+- if (!ReadVmCodeLZ())
+- return S_FALSE;
+- continue;
+- }
+- else if (number == 258)
+- {
+- if (length == 0)
+- return S_FALSE;
+- }
+- else if (number < kSymbolRep + 4)
+- {
+- if (number != kSymbolRep)
+- {
+- UInt32 distance;
+- if (number == kSymbolRep + 1)
+- distance = rep1;
+- else
+- {
+- if (number == kSymbolRep + 2)
+- distance = rep2;
+- else
+- {
+- distance = rep3;
+- rep3 = rep2;
+- }
+- rep2 = rep1;
+- }
+- rep1 = rep0;
+- rep0 = distance;
+- }
+-
+- UInt32 number = m_LenDecoder.DecodeSymbol(&m_InBitStream.bitDecoder);
+- if (number >= kLenTableSize)
+- return S_FALSE;
+- length = 2 + kLenStart[number] + m_InBitStream.bitDecoder.ReadBits(kLenDirectBits[number]);
+- }
+- else
+- {
+- rep3 = rep2;
+- rep2 = rep1;
+- rep1 = rep0;
+- if (number < 271)
+- {
+- number -= 263;
+- rep0 = kLen2DistStarts[number] + m_InBitStream.bitDecoder.ReadBits(kLen2DistDirectBits[number]);
+- length = 2;
+- }
+- else if (number < 299)
+- {
+- number -= 271;
+- length = kNormalMatchMinLen + (UInt32)kLenStart[number] + m_InBitStream.bitDecoder.ReadBits(kLenDirectBits[number]);
+- UInt32 number = m_DistDecoder.DecodeSymbol(&m_InBitStream.bitDecoder);
+- if (number >= kDistTableSize)
+- return S_FALSE;
+- rep0 = kDistStart[number];
+- int numBits = kDistDirectBits[number];
+- if (number >= (kNumAlignBits * 2) + 2)
+- {
+- if (numBits > kNumAlignBits)
+- rep0 += (m_InBitStream.bitDecoder.ReadBits(numBits - kNumAlignBits) << kNumAlignBits);
+- if (PrevAlignCount > 0)
+- {
+- PrevAlignCount--;
+- rep0 += PrevAlignBits;
+- }
+- else
+- {
+- UInt32 number = m_AlignDecoder.DecodeSymbol(&m_InBitStream.bitDecoder);
+- if (number < (1 << kNumAlignBits))
+- {
+- rep0 += number;
+- PrevAlignBits = number;
+- }
+- else if (number == (1 << kNumAlignBits))
+- {
+- PrevAlignCount = kNumAlignReps;
+- rep0 += PrevAlignBits;
+- }
+- else
+- return S_FALSE;
+- }
+- }
+- else
+- rep0 += m_InBitStream.bitDecoder.ReadBits(numBits);
+- length += ((kDistLimit4 - rep0) >> 31) + ((kDistLimit3 - rep0) >> 31);
+- }
+- else
+- return S_FALSE;
+- }
+- if (rep0 >= _lzSize)
+- return S_FALSE;
+- CopyBlock(rep0, length);
+- }
+- _reps[0] = rep0;
+- _reps[1] = rep1;
+- _reps[2] = rep2;
+- _reps[3] = rep3;
+- _lastLength = length;
+-
+- return S_OK;
+-}
+-
+-HRESULT CDecoder::CodeReal(ICompressProgressInfo *progress)
+-{
+- _writtenFileSize = 0;
+- if (!m_IsSolid)
+- {
+- _lzSize = 0;
+- _winPos = 0;
+- _wrPtr = 0;
+- for (int i = 0; i < kNumReps; i++)
+- _reps[i] = 0;
+- _lastLength = 0;
+- memset(m_LastLevels, 0, kTablesSizesSum);
+- TablesRead = false;
+- PpmEscChar = 2;
+- PpmError = true;
+- InitFilters();
+- }
+- if (!m_IsSolid || !TablesRead)
+- {
+- bool keepDecompressing;
+- RINOK(ReadTables(keepDecompressing));
+- if (!keepDecompressing)
+- return S_OK;
+- }
+-
+- for (;;)
+- {
+- bool keepDecompressing;
+- if (_lzMode)
+- {
+- RINOK(DecodeLZ(keepDecompressing))
+- }
+- else
+- {
+- RINOK(DecodePPM(1 << 18, keepDecompressing))
+- }
+- UInt64 packSize = m_InBitStream.bitDecoder.GetProcessedSize();
+- RINOK(progress->SetRatioInfo(&packSize, &_writtenFileSize));
+- if (!keepDecompressing)
+- break;
+- }
+- RINOK(WriteBuf());
+- UInt64 packSize = m_InBitStream.bitDecoder.GetProcessedSize();
+- RINOK(progress->SetRatioInfo(&packSize, &_writtenFileSize));
+- if (_writtenFileSize < _unpackSize)
+- return S_FALSE;
+- return S_OK;
+-}
+-
+-STDMETHODIMP CDecoder::Code(ISequentialInStream *inStream, ISequentialOutStream *outStream,
+- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress)
+-{
+- try
+- {
+- if (inSize == NULL || outSize == NULL)
+- return E_INVALIDARG;
+-
+- if (_vmData == 0)
+- {
+- _vmData = (Byte *)::MidAlloc(kVmDataSizeMax + kVmCodeSizeMax);
+- if (_vmData == 0)
+- return E_OUTOFMEMORY;
+- _vmCode = _vmData + kVmDataSizeMax;
+- }
+-
+- if (_window == 0)
+- {
+- _window = (Byte *)::MidAlloc(kWindowSize);
+- if (_window == 0)
+- return E_OUTOFMEMORY;
+- }
+- if (!m_InBitStream.bitDecoder.Create(1 << 20))
+- return E_OUTOFMEMORY;
+- if (!_vm.Create())
+- return E_OUTOFMEMORY;
+-
+-
+- m_InBitStream.bitDecoder.SetStream(inStream);
+- m_InBitStream.bitDecoder.Init();
+- _outStream = outStream;
+-
+- CCoderReleaser coderReleaser(this);
+- _unpackSize = *outSize;
+- return CodeReal(progress);
+- }
+- catch(const CInBufferException &e) { return e.ErrorCode; }
+- catch(...) { return S_FALSE; }
+- // CNewException is possible here. But probably CNewException is caused
+- // by error in data stream.
+-}
+-
+-STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte *data, UInt32 size)
+-{
+- if (size < 1)
+- return E_INVALIDARG;
+- m_IsSolid = (data[0] != 0);
+- return S_OK;
+-}
+-
+-}}
+diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar3Decoder.h p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Decoder.h
+--- p7zip_9.20.1/CPP/7zip/Compress/Rar3Decoder.h 2010-03-16 16:08:18.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Decoder.h 1969-12-31 21:00:00.000000000 -0300
+@@ -1,267 +0,0 @@
+-// Rar3Decoder.h
+-// According to unRAR license, this code may not be used to develop
+-// a program that creates RAR archives
+-
+-/* This code uses Carryless rangecoder (1999): Dmitry Subbotin : Public domain */
+-
+-#ifndef __COMPRESS_RAR3_DECODER_H
+-#define __COMPRESS_RAR3_DECODER_H
+-
+-#include "../../../C/Ppmd7.h"
+-
+-#include "../../Common/MyCom.h"
+-
+-#include "../ICoder.h"
+-
+-#include "../Common/InBuffer.h"
+-
+-#include "BitmDecoder.h"
+-#include "HuffmanDecoder.h"
+-#include "Rar3Vm.h"
+-
+-namespace NCompress {
+-namespace NRar3 {
+-
+-const UInt32 kWindowSize = 1 << 22;
+-const UInt32 kWindowMask = (kWindowSize - 1);
+-
+-const UInt32 kNumReps = 4;
+-const UInt32 kNumLen2Symbols = 8;
+-const UInt32 kLenTableSize = 28;
+-const UInt32 kMainTableSize = 256 + 1 + 1 + 1 + kNumReps + kNumLen2Symbols + kLenTableSize;
+-const UInt32 kDistTableSize = 60;
+-
+-const int kNumAlignBits = 4;
+-const UInt32 kAlignTableSize = (1 << kNumAlignBits) + 1;
+-
+-const UInt32 kLevelTableSize = 20;
+-
+-const UInt32 kTablesSizesSum = kMainTableSize + kDistTableSize + kAlignTableSize + kLenTableSize;
+-
+-class CBitDecoder
+-{
+- UInt32 m_Value;
+- unsigned m_BitPos;
+-public:
+- CInBuffer m_Stream;
+- bool Create(UInt32 bufferSize) { return m_Stream.Create(bufferSize); }
+- void SetStream(ISequentialInStream *inStream) { m_Stream.SetStream(inStream);}
+- void ReleaseStream() { m_Stream.ReleaseStream();}
+-
+- void Init()
+- {
+- m_Stream.Init();
+- m_BitPos = 0;
+- m_Value = 0;
+- }
+-
+- UInt64 GetProcessedSize() const { return m_Stream.GetProcessedSize() - (m_BitPos) / 8; }
+- UInt32 GetBitPosition() const { return ((8 - m_BitPos) & 7); }
+-
+- UInt32 GetValue(unsigned numBits)
+- {
+- if (m_BitPos < numBits)
+- {
+- m_BitPos += 8;
+- m_Value = (m_Value << 8) | m_Stream.ReadByte();
+- if (m_BitPos < numBits)
+- {
+- m_BitPos += 8;
+- m_Value = (m_Value << 8) | m_Stream.ReadByte();
+- }
+- }
+- return m_Value >> (m_BitPos - numBits);
+- }
+-
+- void MovePos(unsigned numBits)
+- {
+- m_BitPos -= numBits;
+- m_Value = m_Value & ((1 << m_BitPos) - 1);
+- }
+-
+- UInt32 ReadBits(unsigned numBits)
+- {
+- UInt32 res = GetValue(numBits);
+- MovePos(numBits);
+- return res;
+- }
+-};
+-
+-const UInt32 kTopValue = (1 << 24);
+-const UInt32 kBot = (1 << 15);
+-
+-struct CRangeDecoder
+-{
+- IPpmd7_RangeDec s;
+- UInt32 Range;
+- UInt32 Code;
+- UInt32 Low;
+- CBitDecoder bitDecoder;
+- SRes Res;
+-
+-public:
+- void InitRangeCoder()
+- {
+- Code = 0;
+- Low = 0;
+- Range = 0xFFFFFFFF;
+- for (int i = 0; i < 4; i++)
+- Code = (Code << 8) | bitDecoder.ReadBits(8);
+- }
+-
+- void Normalize()
+- {
+- while ((Low ^ (Low + Range)) < kTopValue ||
+- Range < kBot && ((Range = (0 - Low) & (kBot - 1)), 1))
+- {
+- Code = (Code << 8) | bitDecoder.m_Stream.ReadByte();
+- Range <<= 8;
+- Low <<= 8;
+- }
+- }
+-
+- CRangeDecoder();
+-};
+-
+-struct CFilter: public NVm::CProgram
+-{
+- CRecordVector<Byte> GlobalData;
+- UInt32 BlockStart;
+- UInt32 BlockSize;
+- UInt32 ExecCount;
+- CFilter(): BlockStart(0), BlockSize(0), ExecCount(0) {}
+-};
+-
+-struct CTempFilter: public NVm::CProgramInitState
+-{
+- UInt32 BlockStart;
+- UInt32 BlockSize;
+- UInt32 ExecCount;
+- bool NextWindow;
+-
+- UInt32 FilterIndex;
+-};
+-
+-const int kNumHuffmanBits = 15;
+-
+-class CDecoder:
+- public ICompressCoder,
+- public ICompressSetDecoderProperties2,
+- public CMyUnknownImp
+-{
+- CRangeDecoder m_InBitStream;
+- Byte *_window;
+- UInt32 _winPos;
+- UInt32 _wrPtr;
+- UInt64 _lzSize;
+- UInt64 _unpackSize;
+- UInt64 _writtenFileSize; // if it's > _unpackSize, then _unpackSize only written
+- CMyComPtr<ISequentialOutStream> _outStream;
+- NHuffman::CDecoder<kNumHuffmanBits, kMainTableSize> m_MainDecoder;
+- NHuffman::CDecoder<kNumHuffmanBits, kDistTableSize> m_DistDecoder;
+- NHuffman::CDecoder<kNumHuffmanBits, kAlignTableSize> m_AlignDecoder;
+- NHuffman::CDecoder<kNumHuffmanBits, kLenTableSize> m_LenDecoder;
+- NHuffman::CDecoder<kNumHuffmanBits, kLevelTableSize> m_LevelDecoder;
+-
+- UInt32 _reps[kNumReps];
+- UInt32 _lastLength;
+-
+- Byte m_LastLevels[kTablesSizesSum];
+-
+- Byte *_vmData;
+- Byte *_vmCode;
+- NVm::CVm _vm;
+- CRecordVector<CFilter *> _filters;
+- CRecordVector<CTempFilter *> _tempFilters;
+- UInt32 _lastFilter;
+-
+- bool m_IsSolid;
+-
+- bool _lzMode;
+-
+- UInt32 PrevAlignBits;
+- UInt32 PrevAlignCount;
+-
+- bool TablesRead;
+-
+- CPpmd7 _ppmd;
+- int PpmEscChar;
+- bool PpmError;
+-
+- HRESULT WriteDataToStream(const Byte *data, UInt32 size);
+- HRESULT WriteData(const Byte *data, UInt32 size);
+- HRESULT WriteArea(UInt32 startPtr, UInt32 endPtr);
+- void ExecuteFilter(int tempFilterIndex, NVm::CBlockRef &outBlockRef);
+- HRESULT WriteBuf();
+-
+- void InitFilters();
+- bool AddVmCode(UInt32 firstByte, UInt32 codeSize);
+- bool ReadVmCodeLZ();
+- bool ReadVmCodePPM();
+-
+- UInt32 ReadBits(int numBits);
+-
+- HRESULT InitPPM();
+- int DecodePpmSymbol();
+- HRESULT DecodePPM(Int32 num, bool &keepDecompressing);
+-
+- HRESULT ReadTables(bool &keepDecompressing);
+- HRESULT ReadEndOfBlock(bool &keepDecompressing);
+- HRESULT DecodeLZ(bool &keepDecompressing);
+- HRESULT CodeReal(ICompressProgressInfo *progress);
+-public:
+- CDecoder();
+- ~CDecoder();
+-
+- MY_UNKNOWN_IMP1(ICompressSetDecoderProperties2)
+-
+- void ReleaseStreams()
+- {
+- _outStream.Release();
+- m_InBitStream.bitDecoder.ReleaseStream();
+- }
+-
+- STDMETHOD(Code)(ISequentialInStream *inStream, ISequentialOutStream *outStream,
+- const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress);
+-
+- STDMETHOD(SetDecoderProperties2)(const Byte *data, UInt32 size);
+-
+- void CopyBlock(UInt32 distance, UInt32 len)
+- {
+- _lzSize += len;
+- UInt32 pos = (_winPos - distance - 1) & kWindowMask;
+- Byte *window = _window;
+- UInt32 winPos = _winPos;
+- if (kWindowSize - winPos > len && kWindowSize - pos > len)
+- {
+- const Byte *src = window + pos;
+- Byte *dest = window + winPos;
+- _winPos += len;
+- do
+- *dest++ = *src++;
+- while(--len != 0);
+- return;
+- }
+- do
+- {
+- window[winPos] = window[pos];
+- winPos = (winPos + 1) & kWindowMask;
+- pos = (pos + 1) & kWindowMask;
+- }
+- while(--len != 0);
+- _winPos = winPos;
+- }
+-
+- void PutByte(Byte b)
+- {
+- _window[_winPos] = b;
+- _winPos = (_winPos + 1) & kWindowMask;
+- _lzSize++;
+- }
+-
+-
+-};
+-
+-}}
+-
+-#endif
+diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar3Vm.cpp p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Vm.cpp
+--- p7zip_9.20.1/CPP/7zip/Compress/Rar3Vm.cpp 2010-10-20 01:56:07.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Vm.cpp 1969-12-31 21:00:00.000000000 -0300
+@@ -1,1091 +0,0 @@
+-// Rar3Vm.cpp
+-// According to unRAR license, this code may not be used to develop
+-// a program that creates RAR archives
+-
+-/*
+-Note:
+- Due to performance considerations Rar VM may set Flags C incorrectly
+- for some operands (SHL x, 0, ... ).
+- Check implementation of concrete VM command
+- to see if it sets flags right.
+-*/
+-
+-#include "StdAfx.h"
+-
+-#include "../../../C/7zCrc.h"
+-#include "../../../C/Alloc.h"
+-
+-#include "Rar3Vm.h"
+-
+-namespace NCompress {
+-namespace NRar3 {
+-
+-UInt32 CMemBitDecoder::ReadBits(int numBits)
+-{
+- UInt32 res = 0;
+- for (;;)
+- {
+- Byte b = _bitPos < _bitSize ? _data[_bitPos >> 3] : 0;
+- int avail = (int)(8 - (_bitPos & 7));
+- if (numBits <= avail)
+- {
+- _bitPos += numBits;
+- return res | (b >> (avail - numBits)) & ((1 << numBits) - 1);
+- }
+- numBits -= avail;
+- res |= (UInt32)(b & ((1 << avail) - 1)) << numBits;
+- _bitPos += avail;
+- }
+-}
+-
+-UInt32 CMemBitDecoder::ReadBit() { return ReadBits(1); }
+-
+-namespace NVm {
+-
+-static const UInt32 kStackRegIndex = kNumRegs - 1;
+-
+-static const UInt32 FLAG_C = 1;
+-static const UInt32 FLAG_Z = 2;
+-static const UInt32 FLAG_S = 0x80000000;
+-
+-static const Byte CF_OP0 = 0;
+-static const Byte CF_OP1 = 1;
+-static const Byte CF_OP2 = 2;
+-static const Byte CF_OPMASK = 3;
+-static const Byte CF_BYTEMODE = 4;
+-static const Byte CF_JUMP = 8;
+-static const Byte CF_PROC = 16;
+-static const Byte CF_USEFLAGS = 32;
+-static const Byte CF_CHFLAGS = 64;
+-
+-static Byte kCmdFlags[]=
+-{
+- /* CMD_MOV */ CF_OP2 | CF_BYTEMODE,
+- /* CMD_CMP */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS,
+- /* CMD_ADD */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS,
+- /* CMD_SUB */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS,
+- /* CMD_JZ */ CF_OP1 | CF_JUMP | CF_USEFLAGS,
+- /* CMD_JNZ */ CF_OP1 | CF_JUMP | CF_USEFLAGS,
+- /* CMD_INC */ CF_OP1 | CF_BYTEMODE | CF_CHFLAGS,
+- /* CMD_DEC */ CF_OP1 | CF_BYTEMODE | CF_CHFLAGS,
+- /* CMD_JMP */ CF_OP1 | CF_JUMP,
+- /* CMD_XOR */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS,
+- /* CMD_AND */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS,
+- /* CMD_OR */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS,
+- /* CMD_TEST */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS,
+- /* CMD_JS */ CF_OP1 | CF_JUMP | CF_USEFLAGS,
+- /* CMD_JNS */ CF_OP1 | CF_JUMP | CF_USEFLAGS,
+- /* CMD_JB */ CF_OP1 | CF_JUMP | CF_USEFLAGS,
+- /* CMD_JBE */ CF_OP1 | CF_JUMP | CF_USEFLAGS,
+- /* CMD_JA */ CF_OP1 | CF_JUMP | CF_USEFLAGS,
+- /* CMD_JAE */ CF_OP1 | CF_JUMP | CF_USEFLAGS,
+- /* CMD_PUSH */ CF_OP1,
+- /* CMD_POP */ CF_OP1,
+- /* CMD_CALL */ CF_OP1 | CF_PROC,
+- /* CMD_RET */ CF_OP0 | CF_PROC,
+- /* CMD_NOT */ CF_OP1 | CF_BYTEMODE,
+- /* CMD_SHL */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS,
+- /* CMD_SHR */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS,
+- /* CMD_SAR */ CF_OP2 | CF_BYTEMODE | CF_CHFLAGS,
+- /* CMD_NEG */ CF_OP1 | CF_BYTEMODE | CF_CHFLAGS,
+- /* CMD_PUSHA */ CF_OP0,
+- /* CMD_POPA */ CF_OP0,
+- /* CMD_PUSHF */ CF_OP0 | CF_USEFLAGS,
+- /* CMD_POPF */ CF_OP0 | CF_CHFLAGS,
+- /* CMD_MOVZX */ CF_OP2,
+- /* CMD_MOVSX */ CF_OP2,
+- /* CMD_XCHG */ CF_OP2 | CF_BYTEMODE,
+- /* CMD_MUL */ CF_OP2 | CF_BYTEMODE,
+- /* CMD_DIV */ CF_OP2 | CF_BYTEMODE,
+- /* CMD_ADC */ CF_OP2 | CF_BYTEMODE | CF_USEFLAGS | CF_CHFLAGS ,
+- /* CMD_SBB */ CF_OP2 | CF_BYTEMODE | CF_USEFLAGS | CF_CHFLAGS ,
+- /* CMD_PRINT */ CF_OP0
+-};
+-
+-CVm::CVm(): Mem(NULL) {}
+-
+-bool CVm::Create()
+-{
+- if (Mem == NULL)
+- Mem = (Byte *)::MyAlloc(kSpaceSize + 4);
+- return (Mem != NULL);
+-}
+-
+-CVm::~CVm()
+-{
+- ::MyFree(Mem);
+-}
+-
+-// CVm::Execute can change CProgram object: it clears progarm if VM returns error.
+-
+-bool CVm::Execute(CProgram *prg, const CProgramInitState *initState,
+- CBlockRef &outBlockRef, CRecordVector<Byte> &outGlobalData)
+-{
+- memcpy(R, initState->InitR, sizeof(initState->InitR));
+- R[kStackRegIndex] = kSpaceSize;
+- R[kNumRegs] = 0;
+- Flags = 0;
+-
+- UInt32 globalSize = MyMin((UInt32)initState->GlobalData.Size(), kGlobalSize);
+- if (globalSize != 0)
+- memcpy(Mem + kGlobalOffset, &initState->GlobalData[0], globalSize);
+- UInt32 staticSize = MyMin((UInt32)prg->StaticData.Size(), kGlobalSize - globalSize);
+- if (staticSize != 0)
+- memcpy(Mem + kGlobalOffset + globalSize, &prg->StaticData[0], staticSize);
+-
+- bool res = true;
+- #ifdef RARVM_STANDARD_FILTERS
+- if (prg->StandardFilterIndex >= 0)
+- ExecuteStandardFilter(prg->StandardFilterIndex);
+- else
+- #endif
+- {
+- res = ExecuteCode(prg);
+- if (!res)
+- prg->Commands[0].OpCode = CMD_RET;
+- }
+- UInt32 newBlockPos = GetFixedGlobalValue32(NGlobalOffset::kBlockPos) & kSpaceMask;
+- UInt32 newBlockSize = GetFixedGlobalValue32(NGlobalOffset::kBlockSize) & kSpaceMask;
+- if (newBlockPos + newBlockSize >= kSpaceSize)
+- newBlockPos = newBlockSize = 0;
+- outBlockRef.Offset = newBlockPos;
+- outBlockRef.Size = newBlockSize;
+-
+- outGlobalData.Clear();
+- UInt32 dataSize = GetFixedGlobalValue32(NGlobalOffset::kGlobalMemOutSize);
+- dataSize = MyMin(dataSize, kGlobalSize - kFixedGlobalSize);
+- if (dataSize != 0)
+- {
+- dataSize += kFixedGlobalSize;
+- outGlobalData.Reserve(dataSize);
+- for (UInt32 i = 0; i < dataSize; i++)
+- outGlobalData.Add(Mem[kGlobalOffset + i]);
+- }
+- return res;
+-}
+-
+-
+-#define SET_IP(IP) \
+- if ((IP) >= numCommands) return true; \
+- if (--maxOpCount <= 0) return false; \
+- cmd = commands + (IP);
+-
+-#define GET_FLAG_S_B(res) (((res) & 0x80) ? FLAG_S : 0)
+-#define SET_IP_OP1 { UInt32 val = GetOperand32(&cmd->Op1); SET_IP(val); }
+-#define FLAGS_UPDATE_SZ Flags = res == 0 ? FLAG_Z : res & FLAG_S
+-#define FLAGS_UPDATE_SZ_B Flags = (res & 0xFF) == 0 ? FLAG_Z : GET_FLAG_S_B(res)
+-
+-UInt32 CVm::GetOperand32(const COperand *op) const
+-{
+- switch(op->Type)
+- {
+- case OP_TYPE_REG: return R[op->Data];
+- case OP_TYPE_REGMEM: return GetValue32(&Mem[(op->Base + R[op->Data]) & kSpaceMask]);
+- default: return op->Data;
+- }
+-}
+-
+-void CVm::SetOperand32(const COperand *op, UInt32 val)
+-{
+- switch(op->Type)
+- {
+- case OP_TYPE_REG: R[op->Data] = val; return;
+- case OP_TYPE_REGMEM: SetValue32(&Mem[(op->Base + R[op->Data]) & kSpaceMask], val); return;
+- }
+-}
+-
+-Byte CVm::GetOperand8(const COperand *op) const
+-{
+- switch(op->Type)
+- {
+- case OP_TYPE_REG: return (Byte)R[op->Data];
+- case OP_TYPE_REGMEM: return Mem[(op->Base + R[op->Data]) & kSpaceMask];;
+- default: return (Byte)op->Data;
+- }
+-}
+-
+-void CVm::SetOperand8(const COperand *op, Byte val)
+-{
+- switch(op->Type)
+- {
+- case OP_TYPE_REG: R[op->Data] = (R[op->Data] & 0xFFFFFF00) | val; return;
+- case OP_TYPE_REGMEM: Mem[(op->Base + R[op->Data]) & kSpaceMask] = val; return;
+- }
+-}
+-
+-UInt32 CVm::GetOperand(bool byteMode, const COperand *op) const
+-{
+- if (byteMode)
+- return GetOperand8(op);
+- return GetOperand32(op);
+-}
+-
+-void CVm::SetOperand(bool byteMode, const COperand *op, UInt32 val)
+-{
+- if (byteMode)
+- SetOperand8(op, (Byte)(val & 0xFF));
+- else
+- SetOperand32(op, val);
+-}
+-
+-bool CVm::ExecuteCode(const CProgram *prg)
+-{
+- Int32 maxOpCount = 25000000;
+- const CCommand *commands = &prg->Commands[0];
+- const CCommand *cmd = commands;
+- UInt32 numCommands = prg->Commands.Size();
+- for (;;)
+- {
+- switch(cmd->OpCode)
+- {
+- #ifndef RARVM_NO_VM
+-
+- case CMD_MOV:
+- SetOperand32(&cmd->Op1, GetOperand32(&cmd->Op2));
+- break;
+- case CMD_MOVB:
+- SetOperand8(&cmd->Op1, GetOperand8(&cmd->Op2));
+- break;
+- case CMD_CMP:
+- {
+- UInt32 v1 = GetOperand32(&cmd->Op1);
+- UInt32 res = v1 - GetOperand32(&cmd->Op2);
+- Flags = res == 0 ? FLAG_Z : (res > v1) | (res & FLAG_S);
+- }
+- break;
+- case CMD_CMPB:
+- {
+- Byte v1 = GetOperand8(&cmd->Op1);
+- Byte res = v1 - GetOperand8(&cmd->Op2);
+- res &= 0xFF;
+- Flags = res == 0 ? FLAG_Z : (res > v1) | GET_FLAG_S_B(res);
+- }
+- break;
+- case CMD_ADD:
+- {
+- UInt32 v1 = GetOperand32(&cmd->Op1);
+- UInt32 res = v1 + GetOperand32(&cmd->Op2);
+- SetOperand32(&cmd->Op1, res);
+- Flags = (res < v1) | (res == 0 ? FLAG_Z : (res & FLAG_S));
+- }
+- break;
+- case CMD_ADDB:
+- {
+- Byte v1 = GetOperand8(&cmd->Op1);
+- Byte res = v1 + GetOperand8(&cmd->Op2);
+- res &= 0xFF;
+- SetOperand8(&cmd->Op1, (Byte)res);
+- Flags = (res < v1) | (res == 0 ? FLAG_Z : GET_FLAG_S_B(res));
+- }
+- break;
+- case CMD_ADC:
+- {
+- UInt32 v1 = GetOperand(cmd->ByteMode, &cmd->Op1);
+- UInt32 FC = (Flags & FLAG_C);
+- UInt32 res = v1 + GetOperand(cmd->ByteMode, &cmd->Op2) + FC;
+- if (cmd->ByteMode)
+- res &= 0xFF;
+- SetOperand(cmd->ByteMode, &cmd->Op1, res);
+- Flags = (res < v1 || res == v1 && FC) | (res == 0 ? FLAG_Z : (res & FLAG_S));
+- }
+- break;
+- case CMD_SUB:
+- {
+- UInt32 v1 = GetOperand32(&cmd->Op1);
+- UInt32 res = v1 - GetOperand32(&cmd->Op2);
+- SetOperand32(&cmd->Op1, res);
+- Flags = res == 0 ? FLAG_Z : (res > v1) | (res & FLAG_S);
+- }
+- break;
+- case CMD_SUBB:
+- {
+- UInt32 v1 = GetOperand8(&cmd->Op1);
+- UInt32 res = v1 - GetOperand8(&cmd->Op2);
+- SetOperand8(&cmd->Op1, (Byte)res);
+- Flags = res == 0 ? FLAG_Z : (res > v1) | (res & FLAG_S);
+- }
+- break;
+- case CMD_SBB:
+- {
+- UInt32 v1 = GetOperand(cmd->ByteMode, &cmd->Op1);
+- UInt32 FC = (Flags & FLAG_C);
+- UInt32 res = v1 - GetOperand(cmd->ByteMode, &cmd->Op2) - FC;
+- // Flags = res == 0 ? FLAG_Z : (res > v1 || res == v1 && FC) | (res & FLAG_S);
+- if (cmd->ByteMode)
+- res &= 0xFF;
+- SetOperand(cmd->ByteMode, &cmd->Op1, res);
+- Flags = (res > v1 || res == v1 && FC) | (res == 0 ? FLAG_Z : (res & FLAG_S));
+- }
+- break;
+- case CMD_INC:
+- {
+- UInt32 res = GetOperand32(&cmd->Op1) + 1;
+- SetOperand32(&cmd->Op1, res);
+- FLAGS_UPDATE_SZ;
+- }
+- break;
+- case CMD_INCB:
+- {
+- Byte res = GetOperand8(&cmd->Op1) + 1;
+- SetOperand8(&cmd->Op1, res);;
+- FLAGS_UPDATE_SZ_B;
+- }
+- break;
+- case CMD_DEC:
+- {
+- UInt32 res = GetOperand32(&cmd->Op1) - 1;
+- SetOperand32(&cmd->Op1, res);
+- FLAGS_UPDATE_SZ;
+- }
+- break;
+- case CMD_DECB:
+- {
+- Byte res = GetOperand8(&cmd->Op1) - 1;
+- SetOperand8(&cmd->Op1, res);;
+- FLAGS_UPDATE_SZ_B;
+- }
+- break;
+- case CMD_XOR:
+- {
+- UInt32 res = GetOperand32(&cmd->Op1) ^ GetOperand32(&cmd->Op2);
+- SetOperand32(&cmd->Op1, res);
+- FLAGS_UPDATE_SZ;
+- }
+- break;
+- case CMD_XORB:
+- {
+- Byte res = GetOperand8(&cmd->Op1) ^ GetOperand8(&cmd->Op2);
+- SetOperand8(&cmd->Op1, res);
+- FLAGS_UPDATE_SZ_B;
+- }
+- break;
+- case CMD_AND:
+- {
+- UInt32 res = GetOperand32(&cmd->Op1) & GetOperand32(&cmd->Op2);
+- SetOperand32(&cmd->Op1, res);
+- FLAGS_UPDATE_SZ;
+- }
+- break;
+- case CMD_ANDB:
+- {
+- Byte res = GetOperand8(&cmd->Op1) & GetOperand8(&cmd->Op2);
+- SetOperand8(&cmd->Op1, res);
+- FLAGS_UPDATE_SZ_B;
+- }
+- break;
+- case CMD_OR:
+- {
+- UInt32 res = GetOperand32(&cmd->Op1) | GetOperand32(&cmd->Op2);
+- SetOperand32(&cmd->Op1, res);
+- FLAGS_UPDATE_SZ;
+- }
+- break;
+- case CMD_ORB:
+- {
+- Byte res = GetOperand8(&cmd->Op1) | GetOperand8(&cmd->Op2);
+- SetOperand8(&cmd->Op1, res);
+- FLAGS_UPDATE_SZ_B;
+- }
+- break;
+- case CMD_TEST:
+- {
+- UInt32 res = GetOperand32(&cmd->Op1) & GetOperand32(&cmd->Op2);
+- FLAGS_UPDATE_SZ;
+- }
+- break;
+- case CMD_TESTB:
+- {
+- Byte res = GetOperand8(&cmd->Op1) & GetOperand8(&cmd->Op2);
+- FLAGS_UPDATE_SZ_B;
+- }
+- break;
+- case CMD_NOT:
+- SetOperand(cmd->ByteMode, &cmd->Op1, ~GetOperand(cmd->ByteMode, &cmd->Op1));
+- break;
+- case CMD_NEG:
+- {
+- UInt32 res = 0 - GetOperand32(&cmd->Op1);
+- SetOperand32(&cmd->Op1, res);
+- Flags = res == 0 ? FLAG_Z : FLAG_C | (res & FLAG_S);
+- }
+- break;
+- case CMD_NEGB:
+- {
+- Byte res = (Byte)(0 - GetOperand8(&cmd->Op1));
+- SetOperand8(&cmd->Op1, res);
+- Flags = res == 0 ? FLAG_Z : FLAG_C | GET_FLAG_S_B(res);
+- }
+- break;
+-
+- case CMD_SHL:
+- {
+- UInt32 v1 = GetOperand32(&cmd->Op1);
+- int v2 = (int)GetOperand32(&cmd->Op2);
+- UInt32 res = v1 << v2;
+- SetOperand32(&cmd->Op1, res);
+- Flags = (res == 0 ? FLAG_Z : (res & FLAG_S)) | ((v1 << (v2 - 1)) & 0x80000000 ? FLAG_C : 0);
+- }
+- break;
+- case CMD_SHLB:
+- {
+- Byte v1 = GetOperand8(&cmd->Op1);
+- int v2 = (int)GetOperand8(&cmd->Op2);
+- Byte res = (Byte)(v1 << v2);
+- SetOperand8(&cmd->Op1, res);
+- Flags = (res == 0 ? FLAG_Z : GET_FLAG_S_B(res)) | ((v1 << (v2 - 1)) & 0x80 ? FLAG_C : 0);
+- }
+- break;
+- case CMD_SHR:
+- {
+- UInt32 v1 = GetOperand32(&cmd->Op1);
+- int v2 = (int)GetOperand32(&cmd->Op2);
+- UInt32 res = v1 >> v2;
+- SetOperand32(&cmd->Op1, res);
+- Flags = (res == 0 ? FLAG_Z : (res & FLAG_S)) | ((v1 >> (v2 - 1)) & FLAG_C);
+- }
+- break;
+- case CMD_SHRB:
+- {
+- Byte v1 = GetOperand8(&cmd->Op1);
+- int v2 = (int)GetOperand8(&cmd->Op2);
+- Byte res = (Byte)(v1 >> v2);
+- SetOperand8(&cmd->Op1, res);
+- Flags = (res == 0 ? FLAG_Z : GET_FLAG_S_B(res)) | ((v1 >> (v2 - 1)) & FLAG_C);
+- }
+- break;
+- case CMD_SAR:
+- {
+- UInt32 v1 = GetOperand32(&cmd->Op1);
+- int v2 = (int)GetOperand32(&cmd->Op2);
+- UInt32 res = UInt32(((Int32)v1) >> v2);
+- SetOperand32(&cmd->Op1, res);
+- Flags= (res == 0 ? FLAG_Z : (res & FLAG_S)) | ((v1 >> (v2 - 1)) & FLAG_C);
+- }
+- break;
+- case CMD_SARB:
+- {
+- Byte v1 = GetOperand8(&cmd->Op1);
+- int v2 = (int)GetOperand8(&cmd->Op2);
+- Byte res = (Byte)(((signed char)v1) >> v2);
+- SetOperand8(&cmd->Op1, res);
+- Flags= (res == 0 ? FLAG_Z : GET_FLAG_S_B(res)) | ((v1 >> (v2 - 1)) & FLAG_C);
+- }
+- break;
+-
+- case CMD_JMP:
+- SET_IP_OP1;
+- continue;
+- case CMD_JZ:
+- if ((Flags & FLAG_Z) != 0)
+- {
+- SET_IP_OP1;
+- continue;
+- }
+- break;
+- case CMD_JNZ:
+- if ((Flags & FLAG_Z) == 0)
+- {
+- SET_IP_OP1;
+- continue;
+- }
+- break;
+- case CMD_JS:
+- if ((Flags & FLAG_S) != 0)
+- {
+- SET_IP_OP1;
+- continue;
+- }
+- break;
+- case CMD_JNS:
+- if ((Flags & FLAG_S) == 0)
+- {
+- SET_IP_OP1;
+- continue;
+- }
+- break;
+- case CMD_JB:
+- if ((Flags & FLAG_C) != 0)
+- {
+- SET_IP_OP1;
+- continue;
+- }
+- break;
+- case CMD_JBE:
+- if ((Flags & (FLAG_C | FLAG_Z)) != 0)
+- {
+- SET_IP_OP1;
+- continue;
+- }
+- break;
+- case CMD_JA:
+- if ((Flags & (FLAG_C | FLAG_Z)) == 0)
+- {
+- SET_IP_OP1;
+- continue;
+- }
+- break;
+- case CMD_JAE:
+- if ((Flags & FLAG_C) == 0)
+- {
+- SET_IP_OP1;
+- continue;
+- }
+- break;
+-
+- case CMD_PUSH:
+- R[kStackRegIndex] -= 4;
+- SetValue32(&Mem[R[kStackRegIndex] & kSpaceMask], GetOperand32(&cmd->Op1));
+- break;
+- case CMD_POP:
+- SetOperand32(&cmd->Op1, GetValue32(&Mem[R[kStackRegIndex] & kSpaceMask]));
+- R[kStackRegIndex] += 4;
+- break;
+- case CMD_CALL:
+- R[kStackRegIndex] -= 4;
+- SetValue32(&Mem[R[kStackRegIndex] & kSpaceMask], (UInt32)(cmd - commands + 1));
+- SET_IP_OP1;
+- continue;
+-
+- case CMD_PUSHA:
+- {
+- for (UInt32 i = 0, SP = R[kStackRegIndex] - 4; i < kNumRegs; i++, SP -= 4)
+- SetValue32(&Mem[SP & kSpaceMask], R[i]);
+- R[kStackRegIndex] -= kNumRegs * 4;
+- }
+- break;
+- case CMD_POPA:
+- {
+- for (UInt32 i = 0, SP = R[kStackRegIndex]; i < kNumRegs; i++, SP += 4)
+- R[kStackRegIndex - i] = GetValue32(&Mem[SP & kSpaceMask]);
+- }
+- break;
+- case CMD_PUSHF:
+- R[kStackRegIndex] -= 4;
+- SetValue32(&Mem[R[kStackRegIndex]&kSpaceMask], Flags);
+- break;
+- case CMD_POPF:
+- Flags = GetValue32(&Mem[R[kStackRegIndex] & kSpaceMask]);
+- R[kStackRegIndex] += 4;
+- break;
+-
+- case CMD_MOVZX:
+- SetOperand32(&cmd->Op1, GetOperand8(&cmd->Op2));
+- break;
+- case CMD_MOVSX:
+- SetOperand32(&cmd->Op1, (UInt32)(Int32)(signed char)GetOperand8(&cmd->Op2));
+- break;
+- case CMD_XCHG:
+- {
+- UInt32 v1 = GetOperand(cmd->ByteMode, &cmd->Op1);
+- SetOperand(cmd->ByteMode, &cmd->Op1, GetOperand(cmd->ByteMode, &cmd->Op2));
+- SetOperand(cmd->ByteMode, &cmd->Op2, v1);
+- }
+- break;
+- case CMD_MUL:
+- {
+- UInt32 res = GetOperand32(&cmd->Op1) * GetOperand32(&cmd->Op2);
+- SetOperand32(&cmd->Op1, res);
+- }
+- break;
+- case CMD_MULB:
+- {
+- Byte res = GetOperand8(&cmd->Op1) * GetOperand8(&cmd->Op2);
+- SetOperand8(&cmd->Op1, res);
+- }
+- break;
+- case CMD_DIV:
+- {
+- UInt32 divider = GetOperand(cmd->ByteMode, &cmd->Op2);
+- if (divider != 0)
+- {
+- UInt32 res = GetOperand(cmd->ByteMode, &cmd->Op1) / divider;
+- SetOperand(cmd->ByteMode, &cmd->Op1, res);
+- }
+- }
+- break;
+-
+- #endif
+-
+- case CMD_RET:
+- {
+- if (R[kStackRegIndex] >= kSpaceSize)
+- return true;
+- UInt32 ip = GetValue32(&Mem[R[kStackRegIndex] & kSpaceMask]);
+- SET_IP(ip);
+- R[kStackRegIndex] += 4;
+- continue;
+- }
+- case CMD_PRINT:
+- break;
+- }
+- cmd++;
+- --maxOpCount;
+- }
+-}
+-
+-
+-//////////////////////////////////////////////////////
+-// Read program
+-
+-UInt32 ReadEncodedUInt32(CMemBitDecoder &inp)
+-{
+- switch(inp.ReadBits(2))
+- {
+- case 0:
+- return inp.ReadBits(4);
+- case 1:
+- {
+- UInt32 v = inp.ReadBits(4);
+- if (v == 0)
+- return 0xFFFFFF00 | inp.ReadBits(8);
+- else
+- return (v << 4) | inp.ReadBits(4);
+- }
+- case 2:
+- return inp.ReadBits(16);
+- default:
+- return inp.ReadBits(32);
+- }
+-}
+-
+-void CVm::DecodeArg(CMemBitDecoder &inp, COperand &op, bool byteMode)
+-{
+- if (inp.ReadBit())
+- {
+- op.Type = OP_TYPE_REG;
+- op.Data = inp.ReadBits(kNumRegBits);
+- }
+- else if (inp.ReadBit() == 0)
+- {
+- op.Type = OP_TYPE_INT;
+- if (byteMode)
+- op.Data = inp.ReadBits(8);
+- else
+- op.Data = ReadEncodedUInt32(inp);
+- }
+- else
+- {
+- op.Type = OP_TYPE_REGMEM;
+- if (inp.ReadBit() == 0)
+- {
+- op.Data = inp.ReadBits(kNumRegBits);
+- op.Base = 0;
+- }
+- else
+- {
+- if (inp.ReadBit() == 0)
+- op.Data = inp.ReadBits(kNumRegBits);
+- else
+- op.Data = kNumRegs;
+- op.Base = ReadEncodedUInt32(inp);
+- }
+- }
+-}
+-
+-void CVm::ReadVmProgram(const Byte *code, UInt32 codeSize, CProgram *prg)
+-{
+- CMemBitDecoder inp;
+- inp.Init(code, codeSize);
+-
+- prg->StaticData.Clear();
+- if (inp.ReadBit())
+- {
+- UInt32 dataSize = ReadEncodedUInt32(inp) + 1;
+- for (UInt32 i = 0; inp.Avail() && i < dataSize; i++)
+- prg->StaticData.Add((Byte)inp.ReadBits(8));
+- }
+- while (inp.Avail())
+- {
+- prg->Commands.Add(CCommand());
+- CCommand *cmd = &prg->Commands.Back();
+- if (inp.ReadBit() == 0)
+- cmd->OpCode = (ECommand)inp.ReadBits(3);
+- else
+- cmd->OpCode = (ECommand)(8 + inp.ReadBits(5));
+- if (kCmdFlags[cmd->OpCode] & CF_BYTEMODE)
+- cmd->ByteMode = (inp.ReadBit()) ? true : false;
+- else
+- cmd->ByteMode = 0;
+- int opNum = (kCmdFlags[cmd->OpCode] & CF_OPMASK);
+- if (opNum > 0)
+- {
+- DecodeArg(inp, cmd->Op1, cmd->ByteMode);
+- if (opNum == 2)
+- DecodeArg(inp, cmd->Op2, cmd->ByteMode);
+- else
+- {
+- if (cmd->Op1.Type == OP_TYPE_INT && (kCmdFlags[cmd->OpCode] & (CF_JUMP | CF_PROC)))
+- {
+- int Distance = cmd->Op1.Data;
+- if (Distance >= 256)
+- Distance -= 256;
+- else
+- {
+- if (Distance >= 136)
+- Distance -= 264;
+- else if (Distance >= 16)
+- Distance -= 8;
+- else if (Distance >= 8)
+- Distance -= 16;
+- Distance += prg->Commands.Size() - 1;
+- }
+- cmd->Op1.Data = Distance;
+- }
+- }
+- }
+- if (cmd->ByteMode)
+- {
+- switch (cmd->OpCode)
+- {
+- case CMD_MOV: cmd->OpCode = CMD_MOVB; break;
+- case CMD_CMP: cmd->OpCode = CMD_CMPB; break;
+- case CMD_ADD: cmd->OpCode = CMD_ADDB; break;
+- case CMD_SUB: cmd->OpCode = CMD_SUBB; break;
+- case CMD_INC: cmd->OpCode = CMD_INCB; break;
+- case CMD_DEC: cmd->OpCode = CMD_DECB; break;
+- case CMD_XOR: cmd->OpCode = CMD_XORB; break;
+- case CMD_AND: cmd->OpCode = CMD_ANDB; break;
+- case CMD_OR: cmd->OpCode = CMD_ORB; break;
+- case CMD_TEST: cmd->OpCode = CMD_TESTB; break;
+- case CMD_NEG: cmd->OpCode = CMD_NEGB; break;
+- case CMD_SHL: cmd->OpCode = CMD_SHLB; break;
+- case CMD_SHR: cmd->OpCode = CMD_SHRB; break;
+- case CMD_SAR: cmd->OpCode = CMD_SARB; break;
+- case CMD_MUL: cmd->OpCode = CMD_MULB; break;
+- }
+- }
+- }
+-}
+-
+-#ifdef RARVM_STANDARD_FILTERS
+-
+-enum EStandardFilter
+-{
+- SF_E8,
+- SF_E8E9,
+- SF_ITANIUM,
+- SF_RGB,
+- SF_AUDIO,
+- SF_DELTA,
+- SF_UPCASE
+-};
+-
+-struct StandardFilterSignature
+-{
+- UInt32 Length;
+- UInt32 CRC;
+- EStandardFilter Type;
+-}
+-kStdFilters[]=
+-{
+- { 53, 0xad576887, SF_E8 },
+- { 57, 0x3cd7e57e, SF_E8E9 },
+- { 120, 0x3769893f, SF_ITANIUM },
+- { 29, 0x0e06077d, SF_DELTA },
+- { 149, 0x1c2c5dc8, SF_RGB },
+- { 216, 0xbc85e701, SF_AUDIO },
+- { 40, 0x46b9c560, SF_UPCASE }
+-};
+-
+-static int FindStandardFilter(const Byte *code, UInt32 codeSize)
+-{
+- UInt32 crc = CrcCalc(code, codeSize);
+- for (int i = 0; i < sizeof(kStdFilters) / sizeof(kStdFilters[0]); i++)
+- {
+- StandardFilterSignature &sfs = kStdFilters[i];
+- if (sfs.CRC == crc && sfs.Length == codeSize)
+- return i;
+- }
+- return -1;
+-}
+-
+-#endif
+-
+-void CVm::PrepareProgram(const Byte *code, UInt32 codeSize, CProgram *prg)
+-{
+- Byte xorSum = 0;
+- for (UInt32 i = 1; i < codeSize; i++)
+- xorSum ^= code[i];
+-
+- prg->Commands.Clear();
+- #ifdef RARVM_STANDARD_FILTERS
+- prg->StandardFilterIndex = -1;
+- #endif
+-
+- if (xorSum == code[0] && codeSize > 0)
+- {
+- #ifdef RARVM_STANDARD_FILTERS
+- prg->StandardFilterIndex = FindStandardFilter(code, codeSize);
+- if (prg->StandardFilterIndex >= 0)
+- return;
+- #endif
+- // 1 byte for checksum
+- ReadVmProgram(code + 1, codeSize - 1, prg);
+- }
+- prg->Commands.Add(CCommand());
+- CCommand *cmd = &prg->Commands.Back();
+- cmd->OpCode = CMD_RET;
+-}
+-
+-void CVm::SetMemory(UInt32 pos, const Byte *data, UInt32 dataSize)
+-{
+- if (pos < kSpaceSize && data != Mem + pos)
+- memmove(Mem + pos, data, MyMin(dataSize, kSpaceSize - pos));
+-}
+-
+-#ifdef RARVM_STANDARD_FILTERS
+-
+-static void E8E9Decode(Byte *data, UInt32 dataSize, UInt32 fileOffset, bool e9)
+-{
+- if (dataSize <= 4)
+- return;
+- dataSize -= 4;
+- const UInt32 kFileSize = 0x1000000;
+- Byte cmpByte2 = (e9 ? 0xE9 : 0xE8);
+- for (UInt32 curPos = 0; curPos < dataSize;)
+- {
+- Byte curByte = *(data++);
+- curPos++;
+- if (curByte == 0xE8 || curByte == cmpByte2)
+- {
+- UInt32 offset = curPos + fileOffset;
+- UInt32 addr = (Int32)GetValue32(data);
+- if (addr < kFileSize)
+- SetValue32(data, addr - offset);
+- else if ((Int32)addr < 0 && (Int32)(addr + offset) >= 0)
+- SetValue32(data, addr + kFileSize);
+- data += 4;
+- curPos += 4;
+- }
+- }
+-}
+-
+-static inline UInt32 ItaniumGetOpType(const Byte *data, int bitPos)
+-{
+- return (data[(unsigned int)bitPos >> 3] >> (bitPos & 7)) & 0xF;
+-}
+-
+-
+-static void ItaniumDecode(Byte *data, UInt32 dataSize, UInt32 fileOffset)
+-{
+- UInt32 curPos = 0;
+- fileOffset >>= 4;
+- while (curPos < dataSize - 21)
+- {
+- int b = (data[0] & 0x1F) - 0x10;
+- if (b >= 0)
+- {
+- static Byte kCmdMasks[16] = {4,4,6,6,0,0,7,7,4,4,0,0,4,4,0,0};
+- Byte cmdMask = kCmdMasks[b];
+- if (cmdMask != 0)
+- for (int i = 0; i < 3; i++)
+- if (cmdMask & (1 << i))
+- {
+- int startPos = i * 41 + 18;
+- if (ItaniumGetOpType(data, startPos + 24) == 5)
+- {
+- const UInt32 kMask = 0xFFFFF;
+- Byte *p = data + ((unsigned int)startPos >> 3);
+- UInt32 bitField = ((UInt32)p[0]) | ((UInt32)p[1] << 8) | ((UInt32)p[2] << 16);
+- int inBit = (startPos & 7);
+- UInt32 offset = (bitField >> inBit) & kMask;
+- UInt32 andMask = ~(kMask << inBit);
+- bitField = ((offset - fileOffset) & kMask) << inBit;
+- for (int j = 0; j < 3; j++)
+- {
+- p[j] &= andMask;
+- p[j] |= bitField;
+- andMask >>= 8;
+- bitField >>= 8;
+- }
+- }
+- }
+- }
+- data += 16;
+- curPos += 16;
+- fileOffset++;
+- }
+-}
+-
+-static void DeltaDecode(Byte *data, UInt32 dataSize, UInt32 numChannels)
+-{
+- UInt32 srcPos = 0;
+- UInt32 border = dataSize * 2;
+- for (UInt32 curChannel = 0; curChannel < numChannels; curChannel++)
+- {
+- Byte prevByte = 0;
+- for (UInt32 destPos = dataSize + curChannel; destPos < border; destPos += numChannels)
+- data[destPos] = (prevByte = prevByte - data[srcPos++]);
+- }
+-}
+-
+-static void RgbDecode(Byte *srcData, UInt32 dataSize, UInt32 width, UInt32 posR)
+-{
+- Byte *destData = srcData + dataSize;
+- const UInt32 numChannels = 3;
+- for (UInt32 curChannel = 0; curChannel < numChannels; curChannel++)
+- {
+- Byte prevByte = 0;
+-
+- for (UInt32 i = curChannel; i < dataSize; i+= numChannels)
+- {
+- unsigned int predicted;
+- if (i < width)
+- predicted = prevByte;
+- else
+- {
+- unsigned int upperLeftByte = destData[i - width];
+- unsigned int upperByte = destData[i - width + 3];
+- predicted = prevByte + upperByte - upperLeftByte;
+- int pa = abs((int)(predicted - prevByte));
+- int pb = abs((int)(predicted - upperByte));
+- int pc = abs((int)(predicted - upperLeftByte));
+- if (pa <= pb && pa <= pc)
+- predicted = prevByte;
+- else
+- if (pb <= pc)
+- predicted = upperByte;
+- else
+- predicted = upperLeftByte;
+- }
+- destData[i] = prevByte = (Byte)(predicted - *(srcData++));
+- }
+- }
+- if (dataSize < 3)
+- return;
+- for (UInt32 i = posR, border = dataSize - 2; i < border; i += 3)
+- {
+- Byte g = destData[i + 1];
+- destData[i] = destData[i] + g;
+- destData[i + 2] = destData[i + 2] + g;
+- }
+-}
+-
+-static void AudioDecode(Byte *srcData, UInt32 dataSize, UInt32 numChannels)
+-{
+- Byte *destData = srcData + dataSize;
+- for (UInt32 curChannel = 0; curChannel < numChannels; curChannel++)
+- {
+- UInt32 prevByte = 0, prevDelta = 0, dif[7];
+- Int32 D1 = 0, D2 = 0, D3;
+- Int32 K1 = 0, K2 = 0, K3 = 0;
+- memset(dif, 0, sizeof(dif));
+-
+- for (UInt32 i = curChannel, byteCount = 0; i < dataSize; i += numChannels, byteCount++)
+- {
+- D3 = D2;
+- D2 = prevDelta - D1;
+- D1 = prevDelta;
+-
+- UInt32 predicted = 8 * prevByte + K1 * D1 + K2 * D2 + K3 * D3;
+- predicted = (predicted >> 3) & 0xFF;
+-
+- UInt32 curByte = *(srcData++);
+-
+- predicted -= curByte;
+- destData[i] = (Byte)predicted;
+- prevDelta = (UInt32)(Int32)(signed char)(predicted - prevByte);
+- prevByte = predicted;
+-
+- Int32 D = ((Int32)(signed char)curByte) << 3;
+-
+- dif[0] += abs(D);
+- dif[1] += abs(D - D1);
+- dif[2] += abs(D + D1);
+- dif[3] += abs(D - D2);
+- dif[4] += abs(D + D2);
+- dif[5] += abs(D - D3);
+- dif[6] += abs(D + D3);
+-
+- if ((byteCount & 0x1F) == 0)
+- {
+- UInt32 minDif = dif[0], numMinDif = 0;
+- dif[0] = 0;
+- for (int j = 1; j < sizeof(dif) / sizeof(dif[0]); j++)
+- {
+- if (dif[j] < minDif)
+- {
+- minDif = dif[j];
+- numMinDif = j;
+- }
+- dif[j] = 0;
+- }
+- switch (numMinDif)
+- {
+- case 1: if (K1 >= -16) K1--; break;
+- case 2: if (K1 < 16) K1++; break;
+- case 3: if (K2 >= -16) K2--; break;
+- case 4: if (K2 < 16) K2++; break;
+- case 5: if (K3 >= -16) K3--; break;
+- case 6: if (K3 < 16) K3++; break;
+- }
+- }
+- }
+- }
+-}
+-
+-static UInt32 UpCaseDecode(Byte *data, UInt32 dataSize)
+-{
+- UInt32 srcPos = 0, destPos = dataSize;
+- while (srcPos < dataSize)
+- {
+- Byte curByte = data[srcPos++];
+- if (curByte == 2 && (curByte = data[srcPos++]) != 2)
+- curByte -= 32;
+- data[destPos++] = curByte;
+- }
+- return destPos - dataSize;
+-}
+-
+-void CVm::ExecuteStandardFilter(int filterIndex)
+-{
+- UInt32 dataSize = R[4];
+- if (dataSize >= kGlobalOffset)
+- return;
+- EStandardFilter filterType = kStdFilters[filterIndex].Type;
+-
+- switch (filterType)
+- {
+- case SF_E8:
+- case SF_E8E9:
+- E8E9Decode(Mem, dataSize, R[6], (filterType == SF_E8E9));
+- break;
+- case SF_ITANIUM:
+- ItaniumDecode(Mem, dataSize, R[6]);
+- break;
+- case SF_DELTA:
+- if (dataSize >= kGlobalOffset / 2)
+- break;
+- SetBlockPos(dataSize);
+- DeltaDecode(Mem, dataSize, R[0]);
+- break;
+- case SF_RGB:
+- if (dataSize >= kGlobalOffset / 2)
+- break;
+- {
+- UInt32 width = R[0];
+- if (width <= 3)
+- break;
+- SetBlockPos(dataSize);
+- RgbDecode(Mem, dataSize, width, R[1]);
+- }
+- break;
+- case SF_AUDIO:
+- if (dataSize >= kGlobalOffset / 2)
+- break;
+- SetBlockPos(dataSize);
+- AudioDecode(Mem, dataSize, R[0]);
+- break;
+- case SF_UPCASE:
+- if (dataSize >= kGlobalOffset / 2)
+- break;
+- UInt32 destSize = UpCaseDecode(Mem, dataSize);
+- SetBlockSize(destSize);
+- SetBlockPos(dataSize);
+- break;
+- }
+-}
+-
+-#endif
+-
+-}}}
+diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/Rar3Vm.h p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Vm.h
+--- p7zip_9.20.1/CPP/7zip/Compress/Rar3Vm.h 2009-02-07 15:06:28.000000000 -0200
++++ p7zip-libre_9.20.1/CPP/7zip/Compress/Rar3Vm.h 1969-12-31 21:00:00.000000000 -0300
+@@ -1,179 +0,0 @@
+-// Rar3Vm.h
+-// According to unRAR license, this code may not be used to develop
+-// a program that creates RAR archives
+-
+-#ifndef __COMPRESS_RAR3_VM_H
+-#define __COMPRESS_RAR3_VM_H
+-
+-#include "../../../C/CpuArch.h"
+-
+-#include "Common/MyVector.h"
+-#include "Common/Types.h"
+-
+-#define RARVM_STANDARD_FILTERS
+-
+-namespace NCompress {
+-namespace NRar3 {
+-
+-class CMemBitDecoder
+-{
+- const Byte *_data;
+- UInt32 _bitSize;
+- UInt32 _bitPos;
+-public:
+- void Init(const Byte *data, UInt32 byteSize)
+- {
+- _data = data;
+- _bitSize = (byteSize << 3);
+- _bitPos = 0;
+- }
+- UInt32 ReadBits(int numBits);
+- UInt32 ReadBit();
+- bool Avail() const { return (_bitPos < _bitSize); }
+-};
+-
+-namespace NVm {
+-
+-inline UInt32 GetValue32(const void *addr) { return GetUi32(addr); }
+-inline void SetValue32(void *addr, UInt32 value) { SetUi32(addr, value); }
+-
+-UInt32 ReadEncodedUInt32(CMemBitDecoder &inp);
+-
+-const int kNumRegBits = 3;
+-const UInt32 kNumRegs = 1 << kNumRegBits;
+-const UInt32 kNumGpRegs = kNumRegs - 1;
+-
+-const UInt32 kSpaceSize = 0x40000;
+-const UInt32 kSpaceMask = kSpaceSize -1;
+-const UInt32 kGlobalOffset = 0x3C000;
+-const UInt32 kGlobalSize = 0x2000;
+-const UInt32 kFixedGlobalSize = 64;
+-
+-namespace NGlobalOffset
+-{
+- const UInt32 kBlockSize = 0x1C;
+- const UInt32 kBlockPos = 0x20;
+- const UInt32 kExecCount = 0x2C;
+- const UInt32 kGlobalMemOutSize = 0x30;
+-}
+-
+-enum ECommand
+-{
+- CMD_MOV, CMD_CMP, CMD_ADD, CMD_SUB, CMD_JZ, CMD_JNZ, CMD_INC, CMD_DEC,
+- CMD_JMP, CMD_XOR, CMD_AND, CMD_OR, CMD_TEST, CMD_JS, CMD_JNS, CMD_JB,
+- CMD_JBE, CMD_JA, CMD_JAE, CMD_PUSH, CMD_POP, CMD_CALL, CMD_RET, CMD_NOT,
+- CMD_SHL, CMD_SHR, CMD_SAR, CMD_NEG, CMD_PUSHA,CMD_POPA, CMD_PUSHF,CMD_POPF,
+- CMD_MOVZX,CMD_MOVSX,CMD_XCHG, CMD_MUL, CMD_DIV, CMD_ADC, CMD_SBB, CMD_PRINT,
+-
+- CMD_MOVB, CMD_CMPB, CMD_ADDB, CMD_SUBB, CMD_INCB, CMD_DECB,
+- CMD_XORB, CMD_ANDB, CMD_ORB, CMD_TESTB,CMD_NEGB,
+- CMD_SHLB, CMD_SHRB, CMD_SARB, CMD_MULB
+-};
+-
+-enum EOpType {OP_TYPE_REG, OP_TYPE_INT, OP_TYPE_REGMEM, OP_TYPE_NONE};
+-
+-// Addr in COperand object can link (point) to CVm object!!!
+-
+-struct COperand
+-{
+- EOpType Type;
+- UInt32 Data;
+- UInt32 Base;
+- COperand(): Type(OP_TYPE_NONE), Data(0), Base(0) {}
+-};
+-
+-struct CCommand
+-{
+- ECommand OpCode;
+- bool ByteMode;
+- COperand Op1, Op2;
+-};
+-
+-struct CBlockRef
+-{
+- UInt32 Offset;
+- UInt32 Size;
+-};
+-
+-struct CProgram
+-{
+- CRecordVector<CCommand> Commands;
+- #ifdef RARVM_STANDARD_FILTERS
+- int StandardFilterIndex;
+- #endif
+- CRecordVector<Byte> StaticData;
+-};
+-
+-struct CProgramInitState
+-{
+- UInt32 InitR[kNumGpRegs];
+- CRecordVector<Byte> GlobalData;
+-
+- void AllocateEmptyFixedGlobal()
+- {
+- GlobalData.Clear();
+- GlobalData.Reserve(NVm::kFixedGlobalSize);
+- for (UInt32 i = 0; i < NVm::kFixedGlobalSize; i++)
+- GlobalData.Add(0);
+- }
+-};
+-
+-class CVm
+-{
+- static UInt32 GetValue(bool byteMode, const void *addr)
+- {
+- if (byteMode)
+- return(*(const Byte *)addr);
+- else
+- return GetUi32(addr);
+- }
+-
+- static void SetValue(bool byteMode, void *addr, UInt32 value)
+- {
+- if (byteMode)
+- *(Byte *)addr = (Byte)value;
+- else
+- SetUi32(addr, value);
+- }
+-
+- UInt32 GetFixedGlobalValue32(UInt32 globalOffset) { return GetValue(false, &Mem[kGlobalOffset + globalOffset]); }
+-
+- void SetBlockSize(UInt32 v) { SetValue(&Mem[kGlobalOffset + NGlobalOffset::kBlockSize], v); }
+- void SetBlockPos(UInt32 v) { SetValue(&Mem[kGlobalOffset + NGlobalOffset::kBlockPos], v); }
+-public:
+- static void SetValue(void *addr, UInt32 value) { SetValue(false, addr, value); }
+-private:
+- UInt32 GetOperand32(const COperand *op) const;
+- void SetOperand32(const COperand *op, UInt32 val);
+- Byte GetOperand8(const COperand *op) const;
+- void SetOperand8(const COperand *op, Byte val);
+- UInt32 GetOperand(bool byteMode, const COperand *op) const;
+- void SetOperand(bool byteMode, const COperand *op, UInt32 val);
+-
+- void DecodeArg(CMemBitDecoder &inp, COperand &op, bool byteMode);
+-
+- bool ExecuteCode(const CProgram *prg);
+-
+- #ifdef RARVM_STANDARD_FILTERS
+- void ExecuteStandardFilter(int filterIndex);
+- #endif
+-
+- Byte *Mem;
+- UInt32 R[kNumRegs + 1]; // R[kNumRegs] = 0 always (speed optimization)
+- UInt32 Flags;
+- void ReadVmProgram(const Byte *code, UInt32 codeSize, CProgram *prg);
+-public:
+- CVm();
+- ~CVm();
+- bool Create();
+- void PrepareProgram(const Byte *code, UInt32 codeSize, CProgram *prg);
+- void SetMemory(UInt32 pos, const Byte *data, UInt32 dataSize);
+- bool Execute(CProgram *prg, const CProgramInitState *initState,
+- CBlockRef &outBlockRef, CRecordVector<Byte> &outGlobalData);
+- const Byte *GetDataPointer(UInt32 offset) const { return Mem + offset; }
+-
+-};
+-
+-#endif
+-
+-}}}
+diff -ruNa p7zip_9.20.1/CPP/7zip/Compress/RarCodecsRegister.cpp p7zip-libre_9.20.1/CPP/7zip/Compress/RarCodecsRegister.cpp
+--- p7zip_9.20.1/CPP/7zip/Compress/RarCodecsRegister.cpp 2009-02-07 15:06:28.000000000 -0200
++++ p7zip-libre_9.20.1/CPP/7zip/Compress/RarCodecsRegister.cpp 1969-12-31 21:00:00.000000000 -0300
+@@ -1,26 +0,0 @@
+-// RarCodecsRegister.cpp
+-
+-#include "StdAfx.h"
+-
+-#include "../Common/RegisterCodec.h"
+-
+-#include "Rar1Decoder.h"
+-#include "Rar2Decoder.h"
+-#include "Rar3Decoder.h"
+-
+-#define CREATE_CODEC(x) static void *CreateCodec ## x() { return (void *)(ICompressCoder *)(new NCompress::NRar ## x::CDecoder); }
+-
+-CREATE_CODEC(1)
+-CREATE_CODEC(2)
+-CREATE_CODEC(3)
+-
+-#define RAR_CODEC(x, name) { CreateCodec ## x, 0, 0x040300 + x, L"Rar" name, 1, false }
+-
+-static CCodecInfo g_CodecsInfo[] =
+-{
+- RAR_CODEC(1, L"1"),
+- RAR_CODEC(2, L"2"),
+- RAR_CODEC(3, L"3"),
+-};
+-
+-REGISTER_CODECS(Rar)
+diff -ruNa p7zip_9.20.1/CPP/7zip/Crypto/Rar20Crypto.cpp p7zip-libre_9.20.1/CPP/7zip/Crypto/Rar20Crypto.cpp
+--- p7zip_9.20.1/CPP/7zip/Crypto/Rar20Crypto.cpp 2009-05-30 17:19:19.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Crypto/Rar20Crypto.cpp 1969-12-31 21:00:00.000000000 -0300
+@@ -1,133 +0,0 @@
+-// Crypto/Rar20Crypto.cpp
+-
+-#include "StdAfx.h"
+-
+-#include "../../../C/7zCrc.h"
+-#include "../../../C/CpuArch.h"
+-#include "../../../C/RotateDefs.h"
+-
+-#include "Rar20Crypto.h"
+-
+-namespace NCrypto {
+-namespace NRar20 {
+-
+-static const int kNumRounds = 32;
+-
+-static const Byte InitSubstTable[256] = {
+- 215, 19,149, 35, 73,197,192,205,249, 28, 16,119, 48,221, 2, 42,
+- 232, 1,177,233, 14, 88,219, 25,223,195,244, 90, 87,239,153,137,
+- 255,199,147, 70, 92, 66,246, 13,216, 40, 62, 29,217,230, 86, 6,
+- 71, 24,171,196,101,113,218,123, 93, 91,163,178,202, 67, 44,235,
+- 107,250, 75,234, 49,167,125,211, 83,114,157,144, 32,193,143, 36,
+- 158,124,247,187, 89,214,141, 47,121,228, 61,130,213,194,174,251,
+- 97,110, 54,229,115, 57,152, 94,105,243,212, 55,209,245, 63, 11,
+- 164,200, 31,156, 81,176,227, 21, 76, 99,139,188,127, 17,248, 51,
+- 207,120,189,210, 8,226, 41, 72,183,203,135,165,166, 60, 98, 7,
+- 122, 38,155,170, 69,172,252,238, 39,134, 59,128,236, 27,240, 80,
+- 131, 3, 85,206,145, 79,154,142,159,220,201,133, 74, 64, 20,129,
+- 224,185,138,103,173,182, 43, 34,254, 82,198,151,231,180, 58, 10,
+- 118, 26,102, 12, 50,132, 22,191,136,111,162,179, 45, 4,148,108,
+- 161, 56, 78,126,242,222, 15,175,146, 23, 33,241,181,190, 77,225,
+- 0, 46,169,186, 68, 95,237, 65, 53,208,253,168, 9, 18,100, 52,
+- 116,184,160, 96,109, 37, 30,106,140,104,150, 5,204,117,112, 84
+-};
+-
+-void CData::UpdateKeys(const Byte *data)
+-{
+- for (int i = 0; i < 16; i += 4)
+- for (int j = 0; j < 4; j++)
+- Keys[j] ^= g_CrcTable[data[i + j]];
+-}
+-
+-static void Swap(Byte *b1, Byte *b2)
+-{
+- Byte b = *b1;
+- *b1 = *b2;
+- *b2 = b;
+-}
+-
+-void CData::SetPassword(const Byte *password, UInt32 passwordLen)
+-{
+- Keys[0] = 0xD3A3B879L;
+- Keys[1] = 0x3F6D12F7L;
+- Keys[2] = 0x7515A235L;
+- Keys[3] = 0xA4E7F123L;
+-
+- Byte psw[256];
+- memset(psw, 0, sizeof(psw));
+- memcpy(psw, password, passwordLen);
+- memcpy(SubstTable, InitSubstTable, sizeof(SubstTable));
+-
+- for (UInt32 j = 0; j < 256; j++)
+- for (UInt32 i = 0; i < passwordLen; i += 2)
+- {
+- UInt32 n2 = (Byte)g_CrcTable[(psw[i + 1] + j) & 0xFF];
+- UInt32 n1 = (Byte)g_CrcTable[(psw[i] - j) & 0xFF];
+- for (UInt32 k = 1; (n1 & 0xFF) != n2; n1++, k++)
+- Swap(&SubstTable[n1 & 0xFF], &SubstTable[(n1 + i + k) & 0xFF]);
+- }
+- for (UInt32 i = 0; i < passwordLen; i+= 16)
+- EncryptBlock(&psw[i]);
+-}
+-
+-void CData::CryptBlock(Byte *buf, bool encrypt)
+-{
+- Byte inBuf[16];
+- UInt32 A, B, C, D, T, TA, TB;
+-
+- A = GetUi32(buf + 0) ^ Keys[0];
+- B = GetUi32(buf + 4) ^ Keys[1];
+- C = GetUi32(buf + 8) ^ Keys[2];
+- D = GetUi32(buf + 12) ^ Keys[3];
+-
+- if (!encrypt)
+- memcpy(inBuf, buf, sizeof(inBuf));
+-
+- for (int i = 0; i < kNumRounds; i++)
+- {
+- UInt32 key = Keys[(encrypt ? i : (kNumRounds - 1 - i)) & 3];
+- T = ((C + rotlFixed(D, 11)) ^ key);
+- TA = A ^ SubstLong(T);
+- T = ((D ^ rotlFixed(C, 17)) + key);
+- TB = B ^ SubstLong(T);
+- A = C;
+- B = D;
+- C = TA;
+- D = TB;
+- }
+-
+- SetUi32(buf + 0, C ^ Keys[0]);
+- SetUi32(buf + 4, D ^ Keys[1]);
+- SetUi32(buf + 8, A ^ Keys[2]);
+- SetUi32(buf + 12, B ^ Keys[3]);
+-
+- UpdateKeys(encrypt ? buf : inBuf);
+-}
+-
+-STDMETHODIMP CDecoder::CryptoSetPassword(const Byte *data, UInt32 size)
+-{
+- _cipher.SetPassword(data, size);
+- return S_OK;
+-}
+-
+-STDMETHODIMP CDecoder::Init()
+-{
+- return S_OK;
+-}
+-
+-static const UInt32 kBlockSize = 16;
+-
+-STDMETHODIMP_(UInt32) CDecoder::Filter(Byte *data, UInt32 size)
+-{
+- if (size == 0)
+- return 0;
+- if (size < kBlockSize)
+- return kBlockSize;
+- UInt32 i;
+- size -= kBlockSize;
+- for (i = 0; i <= size; i += kBlockSize)
+- _cipher.DecryptBlock(data + i);
+- return i;
+-}
+-
+-}}
+diff -ruNa p7zip_9.20.1/CPP/7zip/Crypto/Rar20Crypto.h p7zip-libre_9.20.1/CPP/7zip/Crypto/Rar20Crypto.h
+--- p7zip_9.20.1/CPP/7zip/Crypto/Rar20Crypto.h 2009-02-07 15:07:19.000000000 -0200
++++ p7zip-libre_9.20.1/CPP/7zip/Crypto/Rar20Crypto.h 1969-12-31 21:00:00.000000000 -0300
+@@ -1,50 +0,0 @@
+-// Crypto/Rar20Crypto.h
+-
+-#ifndef __CRYPTO_RAR20_CRYPTO_H
+-#define __CRYPTO_RAR20_CRYPTO_H
+-
+-#include "Common/MyCom.h"
+-
+-#include "../ICoder.h"
+-#include "../IPassword.h"
+-
+-namespace NCrypto {
+-namespace NRar20 {
+-
+-class CData
+-{
+- Byte SubstTable[256];
+- UInt32 Keys[4];
+-
+- UInt32 SubstLong(UInt32 t)
+- {
+- return (UInt32)SubstTable[(int)t & 255] |
+- ((UInt32)SubstTable[(int)(t >> 8) & 255] << 8) |
+- ((UInt32)SubstTable[(int)(t >> 16) & 255] << 16) |
+- ((UInt32)SubstTable[(int)(t >> 24) & 255] << 24);
+- }
+- void UpdateKeys(const Byte *data);
+- void CryptBlock(Byte *buf, bool encrypt);
+-public:
+- void EncryptBlock(Byte *buf) { CryptBlock(buf, true); }
+- void DecryptBlock(Byte *buf) { CryptBlock(buf, false); }
+- void SetPassword(const Byte *password, UInt32 passwordLen);
+-};
+-
+-class CDecoder:
+- public ICompressFilter,
+- public ICryptoSetPassword,
+- public CMyUnknownImp
+-{
+- CData _cipher;
+-public:
+- MY_UNKNOWN_IMP1(ICryptoSetPassword)
+-
+- STDMETHOD(Init)();
+- STDMETHOD_(UInt32, Filter)(Byte *data, UInt32 size);
+- STDMETHOD(CryptoSetPassword)(const Byte *data, UInt32 size);
+-};
+-
+-}}
+-
+-#endif
+diff -ruNa p7zip_9.20.1/CPP/7zip/Crypto/RarAes.cpp p7zip-libre_9.20.1/CPP/7zip/Crypto/RarAes.cpp
+--- p7zip_9.20.1/CPP/7zip/Crypto/RarAes.cpp 2010-10-20 01:56:08.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Crypto/RarAes.cpp 1969-12-31 21:00:00.000000000 -0300
+@@ -1,134 +0,0 @@
+-// Crypto/RarAes.cpp
+-// Note: you must include MyAes.cpp to project to initialize AES tables
+-
+-#include "StdAfx.h"
+-
+-#include "RarAes.h"
+-#include "Sha1.h"
+-
+-namespace NCrypto {
+-namespace NRar29 {
+-
+-CDecoder::CDecoder():
+- _thereIsSalt(false),
+- _needCalculate(true),
+- _rar350Mode(false)
+-{
+- for (int i = 0; i < sizeof(_salt); i++)
+- _salt[i] = 0;
+-}
+-
+-STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte *data, UInt32 size)
+-{
+- bool thereIsSaltPrev = _thereIsSalt;
+- _thereIsSalt = false;
+- if (size == 0)
+- return S_OK;
+- if (size < 8)
+- return E_INVALIDARG;
+- _thereIsSalt = true;
+- bool same = false;
+- if (_thereIsSalt == thereIsSaltPrev)
+- {
+- same = true;
+- if (_thereIsSalt)
+- {
+- for (unsigned i = 0; i < sizeof(_salt); i++)
+- if (_salt[i] != data[i])
+- {
+- same = false;
+- break;
+- }
+- }
+- }
+- for (unsigned i = 0; i < sizeof(_salt); i++)
+- _salt[i] = data[i];
+- if (!_needCalculate && !same)
+- _needCalculate = true;
+- return S_OK;
+-}
+-
+-static const unsigned kMaxPasswordLength = 127 * 2;
+-
+-STDMETHODIMP CDecoder::CryptoSetPassword(const Byte *data, UInt32 size)
+-{
+- if (size > kMaxPasswordLength)
+- size = kMaxPasswordLength;
+- bool same = false;
+- if (size == buffer.GetCapacity())
+- {
+- same = true;
+- for (UInt32 i = 0; i < size; i++)
+- if (data[i] != buffer[i])
+- {
+- same = false;
+- break;
+- }
+- }
+- if (!_needCalculate && !same)
+- _needCalculate = true;
+- buffer.SetCapacity(size);
+- memcpy(buffer, data, size);
+- return S_OK;
+-}
+-
+-STDMETHODIMP CDecoder::Init()
+-{
+- Calculate();
+- SetKey(aesKey, kRarAesKeySize);
+- AesCbc_Init(_aes + _offset, _aesInit);
+- return S_OK;
+-}
+-
+-void CDecoder::Calculate()
+-{
+- if (_needCalculate)
+- {
+- const unsigned kSaltSize = 8;
+-
+- Byte rawPassword[kMaxPasswordLength + kSaltSize];
+-
+- memcpy(rawPassword, buffer, buffer.GetCapacity());
+-
+- size_t rawLength = buffer.GetCapacity();
+-
+- if (_thereIsSalt)
+- {
+- memcpy(rawPassword + rawLength, _salt, kSaltSize);
+- rawLength += kSaltSize;
+- }
+-
+- NSha1::CContext sha;
+- sha.Init();
+-
+- // rar reverts hash for sha.
+- const unsigned kNumRounds = (1 << 18);
+- unsigned i;
+- for (i = 0; i < kNumRounds; i++)
+- {
+- sha.UpdateRar(rawPassword, rawLength, _rar350Mode);
+- Byte pswNum[3] = { (Byte)i, (Byte)(i >> 8), (Byte)(i >> 16) };
+- sha.UpdateRar(pswNum, 3, _rar350Mode);
+- if (i % (kNumRounds / 16) == 0)
+- {
+- NSha1::CContext shaTemp = sha;
+- Byte digest[NSha1::kDigestSize];
+- shaTemp.Final(digest);
+- _aesInit[i / (kNumRounds / 16)] = (Byte)digest[4 * 4 + 3];
+- }
+- }
+- /*
+- // it's test message for sha
+- const char *message = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq";
+- sha.Update((const Byte *)message, strlen(message));
+- */
+- Byte digest[20];
+- sha.Final(digest);
+- for (i = 0; i < 4; i++)
+- for (unsigned j = 0; j < 4; j++)
+- aesKey[i * 4 + j] = (digest[i * 4 + 3 - j]);
+- }
+- _needCalculate = false;
+-}
+-
+-}}
+diff -ruNa p7zip_9.20.1/CPP/7zip/Crypto/RarAes.h p7zip-libre_9.20.1/CPP/7zip/Crypto/RarAes.h
+--- p7zip_9.20.1/CPP/7zip/Crypto/RarAes.h 2009-12-21 08:46:19.000000000 -0300
++++ p7zip-libre_9.20.1/CPP/7zip/Crypto/RarAes.h 1969-12-31 21:00:00.000000000 -0300
+@@ -1,47 +0,0 @@
+-// Crypto/RarAes.h
+-
+-#ifndef __CRYPTO_RAR_AES_H
+-#define __CRYPTO_RAR_AES_H
+-
+-#include "../../../C/Aes.h"
+-
+-#include "Common/Buffer.h"
+-
+-#include "../IPassword.h"
+-
+-#include "MyAes.h"
+-
+-namespace NCrypto {
+-namespace NRar29 {
+-
+-const UInt32 kRarAesKeySize = 16;
+-
+-class CDecoder:
+- public CAesCbcDecoder,
+- public ICompressSetDecoderProperties2,
+- public ICryptoSetPassword
+-{
+- Byte _salt[8];
+- bool _thereIsSalt;
+- CByteBuffer buffer;
+- Byte aesKey[kRarAesKeySize];
+- Byte _aesInit[AES_BLOCK_SIZE];
+- bool _needCalculate;
+- bool _rar350Mode;
+-
+- void Calculate();
+-public:
+- MY_UNKNOWN_IMP2(
+- ICryptoSetPassword,
+- ICompressSetDecoderProperties2)
+- STDMETHOD(Init)();
+- STDMETHOD(CryptoSetPassword)(const Byte *aData, UInt32 aSize);
+- STDMETHOD(SetDecoderProperties2)(const Byte *data, UInt32 size);
+-
+- CDecoder();
+- void SetRar350Mode(bool rar350Mode) { _rar350Mode = rar350Mode; }
+-};
+-
+-}}
+-
+-#endif
+diff -ruNa p7zip_9.20.1/DOCS/unRarLicense.txt p7zip-libre_9.20.1/DOCS/unRarLicense.txt
+--- p7zip_9.20.1/DOCS/unRarLicense.txt 2008-08-01 06:56:23.000000000 -0300
++++ p7zip-libre_9.20.1/DOCS/unRarLicense.txt 1969-12-31 21:00:00.000000000 -0300
+@@ -1,41 +0,0 @@
+- ****** ***** ****** unRAR - free utility for RAR archives
+- ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+- ****** ******* ****** License for use and distribution of
+- ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+- ** ** ** ** ** ** FREE portable version
+- ~~~~~~~~~~~~~~~~~~~~~
+-
+- The source code of unRAR utility is freeware. This means:
+-
+- 1. All copyrights to RAR and the utility unRAR are exclusively
+- owned by the author - Alexander Roshal.
+-
+- 2. The unRAR sources may be used in any software to handle RAR
+- archives without limitations free of charge, but cannot be used
+- to re-create the RAR compression algorithm, which is proprietary.
+- Distribution of modified unRAR sources in separate form or as a
+- part of other software is permitted, provided that it is clearly
+- stated in the documentation and source comments that the code may
+- not be used to develop a RAR (WinRAR) compatible archiver.
+-
+- 3. The unRAR utility may be freely distributed. No person or company
+- may charge a fee for the distribution of unRAR without written
+- permission from the copyright holder.
+-
+- 4. THE RAR ARCHIVER AND THE UNRAR UTILITY ARE DISTRIBUTED "AS IS".
+- NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT
+- YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS,
+- DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING
+- OR MISUSING THIS SOFTWARE.
+-
+- 5. Installing and using the unRAR utility signifies acceptance of
+- these terms and conditions of the license.
+-
+- 6. If you don't agree with terms of the license you must remove
+- unRAR files from your storage devices and cease to use the
+- utility.
+-
+- Thank you for your interest in RAR and unRAR.
+-
+-
+- Alexander L. Roshal
+\ No hay ningún carácter de nueva línea al final del fichero
+diff -ruNa p7zip_9.20.1/makefile p7zip-libre_9.20.1/makefile
+--- p7zip_9.20.1/makefile 2011-03-13 08:52:45.000000000 -0300
++++ p7zip-libre_9.20.1/makefile 2011-09-07 15:41:14.000000000 -0300
+@@ -56,7 +56,6 @@
+ $(MAKE) -C CPP/7zip/UI/Client7z depend
+ $(MAKE) -C CPP/7zip/UI/Console depend
+ $(MAKE) -C CPP/7zip/Bundles/Format7zFree depend
+- $(MAKE) -C CPP/7zip/Compress/Rar depend
+ $(MAKE) -C CPP/7zip/UI/GUI depend
+ $(MAKE) -C CPP/7zip/UI/FileManager depend
+ $(MAKE) -C check/my_86_filter depend
+@@ -68,7 +67,6 @@
+ common7z:common
+ $(MKDIR) bin/Codecs
+ $(MAKE) -C CPP/7zip/Bundles/Format7zFree all
+- $(MAKE) -C CPP/7zip/Compress/Rar all
+
+ 7z: common7z
+ $(MAKE) -C CPP/7zip/UI/Console all
+@@ -93,7 +91,6 @@
+ $(MAKE) -C CPP/7zip/UI/FileManager clean
+ $(MAKE) -C CPP/7zip/UI/GUI clean
+ $(MAKE) -C CPP/7zip/Bundles/Format7zFree clean
+- $(MAKE) -C CPP/7zip/Compress/Rar clean
+ $(MAKE) -C CPP/7zip/Compress/LZMA_Alone clean
+ $(MAKE) -C CPP/7zip/Bundles/AloneGCOV clean
+ $(MAKE) -C CPP/7zip/TEST/TestUI clean
+diff -ruNa p7zip_9.20.1/makefile.oldmake p7zip-libre_9.20.1/makefile.oldmake
+--- p7zip_9.20.1/makefile.oldmake 2011-03-13 08:53:08.000000000 -0300
++++ p7zip-libre_9.20.1/makefile.oldmake 2011-09-07 15:41:14.000000000 -0300
+@@ -56,7 +56,6 @@
+ cd CPP/7zip/UI/Client7z ; $(MAKE) depend
+ cd CPP/7zip/UI/Console ; $(MAKE) depend
+ cd CPP/7zip/Bundles/Format7zFree ; $(MAKE) depend
+- cd CPP/7zip/Compress/Rar ; $(MAKE) depend
+ cd CPP/7zip/UI/GUI ; $(MAKE) depend
+ cd CPP/7zip/UI/FileManager ; $(MAKE) depend
+ cd check/my_86_filter ; $(MAKE) depend
+@@ -68,7 +67,6 @@
+ common7z:common
+ $(MKDIR) bin/Codecs
+ cd CPP/7zip/Bundles/Format7zFree ; $(MAKE) all
+- cd CPP/7zip/Compress/Rar ; $(MAKE) all
+
+ 7z: common7z
+ cd CPP/7zip/UI/Console ; $(MAKE) all
+@@ -93,7 +91,6 @@
+ cd CPP/7zip/UI/FileManager ; $(MAKE) clean
+ cd CPP/7zip/UI/GUI ; $(MAKE) clean
+ cd CPP/7zip/Bundles/Format7zFree ; $(MAKE) clean
+- cd CPP/7zip/Compress/Rar ; $(MAKE) clean
+ cd CPP/7zip/Compress/LZMA_Alone ; $(MAKE) clean
+ cd CPP/7zip/Bundles/AloneGCOV ; $(MAKE) clean
+ cd CPP/7zip/TEST/TestUI ; $(MAKE) clean
+diff -ruNa p7zip_9.20.1/makefile.qnx_shared.so p7zip-libre_9.20.1/makefile.qnx_shared.so
+--- p7zip_9.20.1/makefile.qnx_shared.so 2007-06-28 04:34:14.000000000 -0300
++++ p7zip-libre_9.20.1/makefile.qnx_shared.so 2011-09-07 15:41:14.000000000 -0300
+@@ -1,5 +1,4 @@
+ ###################################################
+-# makefile.machine for "7z.so , Codecs/Rar29.so" :
+ # tested with p7zip-4.47_beta on qnx-6.3.0 sp3 x86 target
+
+ OPTFLAGS=-O
+diff -ruNa p7zip_9.20.1/makefile.rules p7zip-libre_9.20.1/makefile.rules
+--- p7zip_9.20.1/makefile.rules 2010-11-07 13:08:51.000000000 -0300
++++ p7zip-libre_9.20.1/makefile.rules 2011-09-07 15:41:14.000000000 -0300
+@@ -448,18 +448,6 @@
+ NsisRegister.o : ../../Archive/Nsis/NsisRegister.cpp
+ $(CXX) $(CXXFLAGS) ../../Archive/Nsis/NsisRegister.cpp
+
+-RarHandler.o : ../../Archive/Rar/RarHandler.cpp
+- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarHandler.cpp
+-RarHeader.o : ../../Archive/Rar/RarHeader.cpp
+- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarHeader.cpp
+-RarIn.o : ../../Archive/Rar/RarIn.cpp
+- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarIn.cpp
+-RarItem.o : ../../Archive/Rar/RarItem.cpp
+- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarItem.cpp
+-RarVolumeInStream.o : ../../Archive/Rar/RarVolumeInStream.cpp
+- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarVolumeInStream.cpp
+-RarRegister.o : ../../Archive/Rar/RarRegister.cpp
+- $(CXX) $(CXXFLAGS) ../../Archive/Rar/RarRegister.cpp
+
+ UdfHandler.o : ../../Archive/Udf/UdfHandler.cpp
+ $(CXX) $(CXXFLAGS) ../../Archive/Udf/UdfHandler.cpp
+@@ -535,10 +523,6 @@
+ $(CXX) $(CXXFLAGS) ../../Crypto/7zAesRegister.cpp
+ WzAes.o : ../../Crypto/WzAes.cpp
+ $(CXX) $(CXXFLAGS) ../../Crypto/WzAes.cpp
+-Rar20Crypto.o : ../../Crypto/Rar20Crypto.cpp
+- $(CXX) $(CXXFLAGS) ../../Crypto/Rar20Crypto.cpp
+-RarAes.o : ../../Crypto/RarAes.cpp
+- $(CXX) $(CXXFLAGS) ../../Crypto/RarAes.cpp
+ HmacSha1.o : ../../Crypto/HmacSha1.cpp
+ $(CXX) $(CXXFLAGS) ../../Crypto/HmacSha1.cpp
+ Pbkdf2HmacSha1.o : ../../Crypto/Pbkdf2HmacSha1.cpp
diff --git a/libre/pacman-mirrorlist-libre/PKGBUILD b/libre/pacman-mirrorlist-libre/PKGBUILD
new file mode 100644
index 000000000..0b1ed8fad
--- /dev/null
+++ b/libre/pacman-mirrorlist-libre/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 193769 2013-08-30 15:44:51Z dan $
+# Maintainer: Dan McGee <dan@archlinux.org>
+# Maintainer (Parabola): Esteban Carnevale <alfplayer@mailoo.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname=pacman-mirrorlist-libre
+pkgver=$(LC_ALL=C date -u +%Y%m%d)
+pkgrel=1
+pkgdesc="Parabola GNU/Linux-libre mirror list for use by pacman"
+arch=('any')
+url="https://repo.parabolagnulinux.org/mirrorlist.txt"
+license=('GPL')
+groups=('base')
+backup=(etc/pacman.d/mirrorlist)
+source=(mirrorlist-${pkgver}.txt::${url})
+conflicts=(pacman-mirrorlist)
+replaces=(pacman-mirrorlist)
+provides=(pacman-mirrorlist)
+
+package() {
+ mkdir -p $pkgdir/etc/pacman.d
+ install -m644 $srcdir/mirrorlist-${pkgver}.txt $pkgdir/etc/pacman.d/mirrorlist
+}
+
+md5sums=('d9611e055969ee109b56026ed06e4919')
diff --git a/libre/pacman/PKGBUILD b/libre/pacman/PKGBUILD
new file mode 100644
index 000000000..a367f0c76
--- /dev/null
+++ b/libre/pacman/PKGBUILD
@@ -0,0 +1,98 @@
+# vim: set ts=2 sw=2 et:
+# $Id: PKGBUILD 202690 2013-12-24 21:35:48Z dreisner $
+# Maintainer: Dan McGee <dan@archlinux.org>
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
+
+pkgname=pacman
+pkgver=4.1.2
+pkgrel=5.1
+pkgdesc="A library-based package manager with dependency support"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.archlinux.org/pacman/"
+license=('GPL')
+groups=('base' 'base-devel')
+depends=('bash>=4.2.042-2' 'glibc>=2.17-2' 'libarchive>=3.1.2' 'curl>=7.19.4'
+ 'gpgme' 'pacman-mirrorlist' 'archlinux-keyring' 'parabola-keyring')
+checkdepends=('python2' 'fakechroot')
+optdepends=('fakeroot: for makepkg usage as normal user')
+provides=('pacman-contrib')
+conflicts=('pacman-contrib')
+replaces=('pacman-contrib')
+backup=(etc/pacman.conf etc/makepkg.conf)
+options=('strip' 'debug')
+source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig}
+ pacman.conf.i686
+ pacman.conf.x86_64
+ pacman.conf.mips64el
+ makepkg.conf)
+md5sums=('063c8b0ff6bdf903dc235445525627cd'
+ 'SKIP'
+ '688feb0a552f42643a76f72e7198bfe4'
+ '77c5fd379e73cf86fc08a4bd5c4b1ba1'
+ '9e0c64937ef751ae4273fa4d73381484'
+ 'f0f310df411f943dbc4e2dd376c88662')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ ./configure --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --enable-doc \
+ --with-scriptlet-shell=/usr/bin/bash \
+ --with-ldconfig=/usr/bin/ldconfig
+ make
+ make -C contrib
+}
+
+check() {
+ make -C "$pkgname-$pkgver" check
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ make DESTDIR=$pkgdir -C contrib install
+
+ # install Arch specific stuff
+ install -dm755 $pkgdir/etc
+ install -m644 $srcdir/pacman.conf.$CARCH $pkgdir/etc/pacman.conf
+
+ case "$CARCH" in
+ i686)
+ mycarch="i686"
+ mychost="i686-pc-linux-gnu"
+ myflags="-march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
+ myldflags="-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu"
+ ;;
+ x86_64)
+ mycarch="x86_64"
+ mychost="x86_64-unknown-linux-gnu"
+ myflags="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4"
+ myldflags="-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu"
+ ;;
+ mips64el)
+ mycarch="mips64el"
+ mychost="mips64el-unknown-linux-gnu"
+ myflags="-O2 -march=mips3 -mtune=loongson2f -mabi=n32 -pipe -mplt -Wa,-mfix-loongson2f-nop -fstack-protector --param=ssp-buffer-size=4"
+ myldflags="-Wl,-O1,--sort-common,--as-needed,-z,relro"
+ ;;
+ esac
+ install -m644 $srcdir/makepkg.conf $pkgdir/etc/
+ # set things correctly in the default conf file
+ sed -i $pkgdir/etc/makepkg.conf \
+ -e "s|@CARCH[@]|$mycarch|g" \
+ -e "s|@CHOST[@]|$mychost|g" \
+ -e "s|@LDFLAGS[@]|$myldflags|g" \
+ -e "s|@CARCHFLAGS[@]|$myflags|g"
+
+ # put bash_completion in the right location
+ install -dm755 ${pkgdir}/usr/share/bash-completion/completions
+ mv ${pkgdir}/etc/bash_completion.d/pacman \
+ ${pkgdir}/usr/share/bash-completion/completions
+ rmdir ${pkgdir}/etc/bash_completion.d
+
+ for f in makepkg pacman-key; do
+ ln -s pacman "$pkgdir/usr/share/bash-completion/completions/$f"
+ done
+
+ install -Dm644 contrib/PKGBUILD.vim "$pkgdir/usr/share/vim/vimfiles/syntax/PKGBUILD.vim"
+}
diff --git a/libre/pacman/makepkg.conf b/libre/pacman/makepkg.conf
new file mode 100644
index 000000000..758d7d029
--- /dev/null
+++ b/libre/pacman/makepkg.conf
@@ -0,0 +1,140 @@
+#
+# /etc/makepkg.conf
+#
+
+#########################################################################
+# SOURCE ACQUISITION
+#########################################################################
+#
+#-- The download utilities that makepkg should use to acquire sources
+# Format: 'protocol::agent'
+DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
+ 'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
+ 'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u'
+ 'rsync::/usr/bin/rsync --no-motd -z %u %o'
+ 'scp::/usr/bin/scp -C %u %o')
+
+# Other common tools:
+# /usr/bin/snarf
+# /usr/bin/lftpget -c
+# /usr/bin/wget
+
+#########################################################################
+# ARCHITECTURE, COMPILE FLAGS
+#########################################################################
+#
+CARCH="@CARCH@"
+CHOST="@CHOST@"
+
+#-- Compiler and Linker Flags
+# -march (or -mcpu) builds exclusively for an architecture
+# -mtune optimizes for an architecture, but builds for whole processor family
+CPPFLAGS="-D_FORTIFY_SOURCE=2"
+CFLAGS="@CARCHFLAGS@"
+CXXFLAGS="@CARCHFLAGS@"
+LDFLAGS="@LDFLAGS@"
+#-- Make Flags: change this for DistCC/SMP systems
+#MAKEFLAGS="-j2"
+#-- Debugging flags
+DEBUG_CFLAGS="-g -fvar-tracking-assignments"
+DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
+
+#########################################################################
+# BUILD ENVIRONMENT
+#########################################################################
+#
+# Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign)
+# A negated environment option will do the opposite of the comments below.
+#
+#-- fakeroot: Allow building packages as a non-root user
+#-- distcc: Use the Distributed C/C++/ObjC compiler
+#-- color: Colorize output messages
+#-- ccache: Use ccache to cache compilation
+#-- check: Run the check() function if present in the PKGBUILD
+#-- sign: Generate PGP signature file
+#
+BUILDENV=(fakeroot !distcc color !ccache check !sign)
+#
+#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
+#-- specify a space-delimited list of hosts running in the DistCC cluster.
+#DISTCC_HOSTS=""
+#
+#-- Specify a directory for package building.
+#BUILDDIR=/tmp/makepkg
+
+#########################################################################
+# GLOBAL PACKAGE OPTIONS
+# These are default values for the options=() settings
+#########################################################################
+#
+# Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
+# A negated option will do the opposite of the comments below.
+#
+#-- strip: Strip symbols from binaries/libraries
+#-- docs: Save doc directories specified by DOC_DIRS
+#-- libtool: Leave libtool (.la) files in packages
+#-- staticlibs: Leave static library (.a) files in packages
+#-- emptydirs: Leave empty directories in packages
+#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
+#-- purge: Remove files specified by PURGE_TARGETS
+#-- upx: Compress binary executable files using UPX
+#-- debug: Add debugging flags as specified in DEBUG_* variables
+#
+OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !upx !debug)
+
+#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
+INTEGRITY_CHECK=(md5)
+#-- Options to be used when stripping binaries. See `man strip' for details.
+STRIP_BINARIES="--strip-all"
+#-- Options to be used when stripping shared libraries. See `man strip' for details.
+STRIP_SHARED="--strip-unneeded"
+#-- Options to be used when stripping static libraries. See `man strip' for details.
+STRIP_STATIC="--strip-debug"
+#-- Manual (man and info) directories to compress (if zipman is specified)
+MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
+#-- Doc directories to remove (if !docs is specified)
+DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
+#-- Files to be removed from all packages (if purge is specified)
+PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
+
+#########################################################################
+# PACKAGE OUTPUT
+#########################################################################
+#
+# Default: put built package and cached source in build directory
+#
+#-- Destination: specify a fixed directory where all packages will be placed
+#PKGDEST=/home/packages
+#-- Source cache: specify a fixed directory where source files will be cached
+#SRCDEST=/home/sources
+#-- Source packages: specify a fixed directory where all src packages will be placed
+#SRCPKGDEST=/home/srcpackages
+#-- Log files: specify a fixed directory where all log files will be placed
+#LOGDEST=/home/makepkglogs
+#-- Packager: name/email of the person or organization building packages
+#PACKAGER="John Doe <john@doe.com>"
+#-- Specify a key to use for package signing
+#GPGKEY=""
+
+#########################################################################
+# COMPRESSION DEFAULTS
+#########################################################################
+#
+COMPRESSGZ=(gzip -c -f -n)
+COMPRESSBZ2=(bzip2 -c -f)
+COMPRESSXZ=(xz -c -z -)
+COMPRESSLRZ=(lrzip -q)
+COMPRESSLZO=(lzop -q)
+COMPRESSZ=(compress -c -f)
+
+#########################################################################
+# EXTENSION DEFAULTS
+#########################################################################
+#
+# WARNING: Do NOT modify these variables unless you know what you are
+# doing.
+#
+PKGEXT='.pkg.tar.xz'
+SRCEXT='.src.tar.gz'
+
+# vim: set ft=sh ts=2 sw=2 et:
diff --git a/libre/pacman/pacman.conf.i686 b/libre/pacman/pacman.conf.i686
new file mode 100644
index 000000000..84cec630c
--- /dev/null
+++ b/libre/pacman/pacman.conf.i686
@@ -0,0 +1,103 @@
+#
+# /etc/pacman.conf
+#
+# See the pacman.conf(5) manpage for option and repository directives
+
+#
+# GENERAL OPTIONS
+#
+[options]
+# The following paths are commented out with their default values listed.
+# If you wish to use different paths, uncomment and update the paths.
+#RootDir = /
+#DBPath = /var/lib/pacman/
+#CacheDir = /var/cache/pacman/pkg/
+#LogFile = /var/log/pacman.log
+#GPGDir = /etc/pacman.d/gnupg/
+HoldPkg = pacman glibc
+#XferCommand = /usr/bin/curl -C - -f %u > %o
+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
+#CleanMethod = KeepInstalled
+#UseDelta = 0.7
+Architecture = auto
+
+# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
+#IgnorePkg =
+#IgnoreGroup =
+
+#NoUpgrade =
+#NoExtract =
+
+# Misc options
+#UseSyslog
+#Color
+#TotalDownload
+CheckSpace
+#VerbosePkgLists
+
+# By default, pacman accepts packages signed by keys that its local keyring
+# trusts (see pacman-key and its man page), as well as unsigned packages.
+SigLevel = Required DatabaseOptional
+LocalFileSigLevel = Optional
+#RemoteFileSigLevel = Required
+
+# NOTE: You must run `pacman-key --init` before first using pacman; the local
+# keyring can then be populated with the keys of all official Arch Linux
+# packagers with `pacman-key --populate archlinux`.
+
+#
+# REPOSITORIES
+# - can be defined here or included from another file
+# - pacman will search repositories in the order defined here
+# - local/custom mirrors can be added here or in separate files
+# - repositories listed first will take precedence when packages
+# have identical names, regardless of version number
+# - URLs will have $repo replaced by the name of the current repo
+# - URLs will have $arch replaced by the name of the architecture
+#
+# Repository entries are of the format:
+# [repo-name]
+# Server = ServerName
+# Include = IncludePath
+#
+# The header [repo-name] is crucial - it must be present and
+# uncommented to enable the repo.
+#
+
+# The testing repositories are disabled by default. To enable, uncomment the
+# repo name header and Include lines. You can add preferred servers immediately
+# after the header, and they will be used before the default mirrors.
+
+#[libre-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[libre]
+Include = /etc/pacman.d/mirrorlist
+
+#[testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[core]
+Include = /etc/pacman.d/mirrorlist
+
+[extra]
+Include = /etc/pacman.d/mirrorlist
+
+#[community-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[community]
+Include = /etc/pacman.d/mirrorlist
+
+# Parabola also supports community projects and personal repositories, to find
+# them check out this wiki page: https://wiki.parabolagnulinux.org/Repositories
+
+# Parabola community repo
+#[pcr]
+#Include = /etc/pacman.d/mirrorlist
+
+# An example of a custom package repository. See the pacman manpage for
+# tips on creating your own repositories.
+#[custom]
+#SigLevel = Optional TrustAll
+#Server = file:///home/custompkgs
diff --git a/libre/pacman/pacman.conf.mips64el b/libre/pacman/pacman.conf.mips64el
new file mode 100644
index 000000000..604040640
--- /dev/null
+++ b/libre/pacman/pacman.conf.mips64el
@@ -0,0 +1,103 @@
+#
+# /etc/pacman.conf
+#
+# See the pacman.conf(5) manpage for option and repository directives
+
+#
+# GENERAL OPTIONS
+#
+[options]
+# The following paths are commented out with their default values listed.
+# If you wish to use different paths, uncomment and update the paths.
+#RootDir = /
+#DBPath = /var/lib/pacman/
+#CacheDir = /var/cache/pacman/pkg/
+#LogFile = /var/log/pacman.log
+#GPGDir = /etc/pacman.d/gnupg/
+HoldPkg = pacman glibc
+#XferCommand = /usr/bin/curl -C - -f %u > %o
+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
+#CleanMethod = KeepInstalled
+#UseDelta = 0.7
+Architecture = mips64el
+
+# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
+#IgnorePkg =
+#IgnoreGroup =
+
+#NoUpgrade =
+#NoExtract =
+
+# Misc options
+#UseSyslog
+#Color
+#TotalDownload
+CheckSpace
+#VerbosePkgLists
+
+# By default, pacman accepts packages signed by keys that its local keyring
+# trusts (see pacman-key and its man page), as well as unsigned packages.
+SigLevel = Required DatabaseOptional
+LocalFileSigLevel = Optional
+#RemoteFileSigLevel = Required
+
+# NOTE: You must run `pacman-key --init` before first using pacman; the local
+# keyring can then be populated with the keys of all official Arch Linux
+# packagers with `pacman-key --populate archlinux`.
+
+#
+# REPOSITORIES
+# - can be defined here or included from another file
+# - pacman will search repositories in the order defined here
+# - local/custom mirrors can be added here or in separate files
+# - repositories listed first will take precedence when packages
+# have identical names, regardless of version number
+# - URLs will have $repo replaced by the name of the current repo
+# - URLs will have $arch replaced by the name of the architecture
+#
+# Repository entries are of the format:
+# [repo-name]
+# Server = ServerName
+# Include = IncludePath
+#
+# The header [repo-name] is crucial - it must be present and
+# uncommented to enable the repo.
+#
+
+# The testing repositories are disabled by default. To enable, uncomment the
+# repo name header and Include lines. You can add preferred servers immediately
+# after the header, and they will be used before the default mirrors.
+
+#[libre-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[libre]
+Include = /etc/pacman.d/mirrorlist
+
+#[testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[core]
+Include = /etc/pacman.d/mirrorlist
+
+[extra]
+Include = /etc/pacman.d/mirrorlist
+
+#[community-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[community]
+Include = /etc/pacman.d/mirrorlist
+
+# Parabola also supports community projects and personal repositories, to find
+# them check out this wiki page: https://wiki.parabolagnulinux.org/Repositories
+
+# Parabola community repo
+#[pcr]
+#Include = /etc/pacman.d/mirrorlist
+
+# An example of a custom package repository. See the pacman manpage for
+# tips on creating your own repositories.
+#[custom]
+#SigLevel = Optional TrustAll
+#Server = file:///home/custompkgs
diff --git a/libre/pacman/pacman.conf.x86_64 b/libre/pacman/pacman.conf.x86_64
new file mode 100644
index 000000000..03a8cf3a6
--- /dev/null
+++ b/libre/pacman/pacman.conf.x86_64
@@ -0,0 +1,118 @@
+#
+# /etc/pacman.conf
+#
+# See the pacman.conf(5) manpage for option and repository directives
+
+#
+# GENERAL OPTIONS
+#
+[options]
+# The following paths are commented out with their default values listed.
+# If you wish to use different paths, uncomment and update the paths.
+#RootDir = /
+#DBPath = /var/lib/pacman/
+#CacheDir = /var/cache/pacman/pkg/
+#LogFile = /var/log/pacman.log
+#GPGDir = /etc/pacman.d/gnupg/
+HoldPkg = pacman glibc
+#XferCommand = /usr/bin/curl -C - -f %u > %o
+#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
+#CleanMethod = KeepInstalled
+#UseDelta = 0.7
+Architecture = auto
+
+# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
+#IgnorePkg =
+#IgnoreGroup =
+
+#NoUpgrade =
+#NoExtract =
+
+# Misc options
+#UseSyslog
+#Color
+#TotalDownload
+CheckSpace
+#VerbosePkgLists
+
+# By default, pacman accepts packages signed by keys that its local keyring
+# trusts (see pacman-key and its man page), as well as unsigned packages.
+SigLevel = Required DatabaseOptional
+LocalFileSigLevel = Optional
+#RemoteFileSigLevel = Required
+
+# NOTE: You must run `pacman-key --init` before first using pacman; the local
+# keyring can then be populated with the keys of all official Arch Linux
+# packagers with `pacman-key --populate archlinux`.
+
+#
+# REPOSITORIES
+# - can be defined here or included from another file
+# - pacman will search repositories in the order defined here
+# - local/custom mirrors can be added here or in separate files
+# - repositories listed first will take precedence when packages
+# have identical names, regardless of version number
+# - URLs will have $repo replaced by the name of the current repo
+# - URLs will have $arch replaced by the name of the architecture
+#
+# Repository entries are of the format:
+# [repo-name]
+# Server = ServerName
+# Include = IncludePath
+#
+# The header [repo-name] is crucial - it must be present and
+# uncommented to enable the repo.
+#
+
+# The testing repositories are disabled by default. To enable, uncomment the
+# repo name header and Include lines. You can add preferred servers immediately
+# after the header, and they will be used before the default mirrors.
+
+#[libre-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[libre]
+Include = /etc/pacman.d/mirrorlist
+
+#[testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[core]
+Include = /etc/pacman.d/mirrorlist
+
+[extra]
+Include = /etc/pacman.d/mirrorlist
+
+#[community-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[community]
+Include = /etc/pacman.d/mirrorlist
+
+# If you want to run 32 bit applications on your x86_64 system,
+# enable the libre-multilib and multilib repositories as required here.
+
+#[libre-multilib-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+#[libre-multilib]
+#Include = /etc/pacman.d/mirrorlist
+
+#[multilib-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+#[multilib]
+#Include = /etc/pacman.d/mirrorlist
+
+# Parabola also supports community projects and personal repositories, to find
+# them check out this wiki page: https://wiki.parabolagnulinux.org/Repositories
+
+# Parabola community repo
+#[pcr]
+#Include = /etc/pacman.d/mirrorlist
+
+# An example of a custom package repository. See the pacman manpage for
+# tips on creating your own repositories.
+#[custom]
+#SigLevel = Optional TrustAll
+#Server = file:///home/custompkgs
diff --git a/libre/parabola-keyring/PKGBUILD b/libre/parabola-keyring/PKGBUILD
new file mode 100644
index 000000000..78b27ad5e
--- /dev/null
+++ b/libre/parabola-keyring/PKGBUILD
@@ -0,0 +1,19 @@
+# Maintainer: André Silva <emulatorman@parabola.nu>
+
+pkgname=parabola-keyring
+pkgver=$(LC_ALL=C date -u +%Y%m%d)
+pkgrel=1
+pkgdesc='Parabola GNU/Linux-libre PGP keyring'
+arch=('any')
+url='https://projects.parabolagnulinux.org/hackers.git/'
+license=('GPL')
+install=$pkgname.install
+source=("http://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz"
+ "http://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz.sig")
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make PREFIX=/usr DESTDIR=${pkgdir} install
+}
+md5sums=('d50f8ba9f108b38c0e084d21742ea059'
+ 'SKIP')
diff --git a/libre/parabola-keyring/parabola-keyring.install b/libre/parabola-keyring/parabola-keyring.install
new file mode 100644
index 000000000..1c70f1a8d
--- /dev/null
+++ b/libre/parabola-keyring/parabola-keyring.install
@@ -0,0 +1,11 @@
+post_upgrade() {
+ if usr/bin/pacman-key -l >/dev/null 2>&1; then
+ usr/bin/pacman-key --populate parabola
+ fi
+}
+
+post_install() {
+ if [ -x usr/bin/pacman-key ]; then
+ post_upgrade
+ fi
+}
diff --git a/libre/parabola-themes-slim/PKGBUILD b/libre/parabola-themes-slim/PKGBUILD
new file mode 100644
index 000000000..a921253da
--- /dev/null
+++ b/libre/parabola-themes-slim/PKGBUILD
@@ -0,0 +1,23 @@
+# Maintainer: Mark J.R.P. <l1mpm4rk@gmail.com>
+# Contributor: Mark J.R.P. <l1mpm4rk@gmail.com>
+
+provides=("parabola-themes-slim=$pkgver")
+replaces=('archlinux-themes-slim')
+conflicts=('archlinux-themes-slim')
+pkgname=parabola-themes-slim
+pkgver=1.0
+pkgrel=1.1
+pkgdesc="a theme parabolero to the Slim login manager"
+arch=('any')
+url="https://parabolagnulinux.org/"
+license=('CCPL')
+optdepends=('slim: simple login manager'
+ 'ttf-liberation: to have a beautiful style of letter in the login')
+source=(https://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar)
+md5sums=(bf6bead07cbcca9aa562907230496ba1)
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ mkdir -p $pkgdir/usr/share/slim/themes
+ cp -a Parabola-*/ $pkgdir/usr/share/slim/themes
+}
diff --git a/libre/parabola-xdg-menu/PKGBUILD b/libre/parabola-xdg-menu/PKGBUILD
new file mode 100644
index 000000000..b3085f9c3
--- /dev/null
+++ b/libre/parabola-xdg-menu/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 101138 2013-11-18 10:37:13Z spupykin $
+# Maintainer: Sergej Pupykin <sergej@aur.archlinux.org>
+# Contributor: Sergej Pupykin <sergej@aur.archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname=parabola-xdg-menu
+pkgver=0.7.6.2
+pkgrel=1
+pkgdesc="automatic generate WM menu from xdg files (Parabola rebranded)"
+arch=('any')
+url="https://wiki.parabolagnulinux.org/Xdg-menu"
+license=("GPL")
+depends=('perl' 'perlxml')
+optdepends=('sux: for xdg_menu_su')
+backup=("etc/update-menus.conf"
+ "etc/xdg/menus/parabola-applications.menu")
+source=("http://archlinux-stuff.googlecode.com/files/arch-xdg-menu-$pkgver.tar.gz")
+replaces=('archlinux-xdg-menu')
+conflicts=('archlinux-xdg-menu')
+provides=("archlinux-xdg-menu=$pkgver")
+md5sums=('e4aadc2a05a8e8330c95c22548a4fcfb')
+
+package() {
+ cd $srcdir
+
+ # Rebranding Archlinux to Parabola
+ rename -v arch parabola arch-desktop-directories arch-xdg-menu
+ rename -v Arch Parabola parabola-desktop-directories/*
+ rename -v arch parabola parabola-xdg-menu/*
+
+ sed -i -e 's/arch/parabola/'\
+ update-menus || read
+
+ sed -i -e 's/archlinux/parabola/'\
+ xdg_menu || read
+
+ sed -i -e 's/Archlinux/Parabola/'\
+ parabola-xdg-menu/parabola-applications.menu || read
+
+ sed -i -e 's/Arch/Parabola/'\
+ parabola-xdg-menu/parabola-applications.menu || read
+
+ install -D -m 0755 xdg_menu $pkgdir/usr/bin/xdg_menu
+ install -D -m 0755 xdg_menu_su $pkgdir/usr/bin/xdg_menu_su
+ install -D -m 0755 update-menus $pkgdir/usr/bin/update-menus
+ install -D -m 0644 update-menus.conf $pkgdir/etc/update-menus.conf
+ mkdir -p $pkgdir/usr/share/desktop-directories/
+ cp parabola-desktop-directories/* $pkgdir/usr/share/desktop-directories/
+ mkdir -p $pkgdir/etc/xdg/menus/
+ cp parabola-xdg-menu/* $pkgdir/etc/xdg/menus/
+ mkdir -p $pkgdir//var/cache/xdg-menu
+}
diff --git a/libre/parabolaiso-data/PKGBUILD b/libre/parabolaiso-data/PKGBUILD
new file mode 100644
index 000000000..22c1b98f6
--- /dev/null
+++ b/libre/parabolaiso-data/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Esteban Carnevale <alfplayer@mailoo.org>
+
+pkgname=parabolaiso-data
+pkgver=1
+pkgrel=1
+pkgdesc="Data files of parabolaiso, the tool to create ISO images"
+arch=('any')
+url="https://projects.parabolagnulinux.org/parabolaiso.git"
+license=('GPL')
+_basesource1='https://projects.parabolagnulinux.org/~old/parabolaiso.git/plain'
+_basesource2='https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2'
+source=("${_basesource1}/configs/releng/syslinux/splash.png"
+ "${_basesource2}/ShellBinPkg/UefiShell/X64/Shell.efi"
+ "${_basesource2}/EdkShellBinPkg/FullShell/X64/Shell_Full.efi")
+md5sums=('befd0e7c38a03442b791f2a530b4dd2d'
+ '01a8ee2759fa2170c065414489d9b823'
+ '92d78841d0c44118064b59e95164b2ee')
+
+package() {
+ cd $srcdir
+
+ datadir="usr/share/parabolaiso/data"
+
+ install -d $pkgdir/$datadir
+
+ install -D -m644 splash.png $pkgdir/$datadir/splash.png
+ install -D -m644 Shell.efi $pkgdir/$datadir/Shell.efi
+ install -D -m644 Shell_Full.efi $pkgdir/$datadir/Shell_Full.efi
+}
diff --git a/libre/parabolaiso/PKGBUILD b/libre/parabolaiso/PKGBUILD
new file mode 100644
index 000000000..833a6f56b
--- /dev/null
+++ b/libre/parabolaiso/PKGBUILD
@@ -0,0 +1,23 @@
+# Maintainer: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
+# Maintainer: Pierre Schmitz <pierre@archlinux.de>
+# Maintainer (Parabola): Esteban Carnevale <alfplayer@mailoo.org>
+
+pkgname=parabolaiso
+pkgver=2013.09.01
+pkgrel=2
+pkgdesc='Tools for creating Parabola GNU/Linux-libre live and install iso images'
+arch=('any')
+url='https://projects.parabolagnulinux.org/parabolaiso.git/'
+license=('GPL')
+depends=('make' 'squashfs-tools' 'libisoburn' 'dosfstools' 'parabolaiso-data')
+provides=('archiso')
+conflicts=('archiso')
+source=("https://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.gz"
+ "https://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.gz.sig")
+md5sums=('e94c1f49f32e02480c14ee3162e8ee1b'
+ 'SKIP')
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+}
diff --git a/libre/pngcrush/PKGBUILD b/libre/pngcrush/PKGBUILD
new file mode 100644
index 000000000..7b43aa0ff
--- /dev/null
+++ b/libre/pngcrush/PKGBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+pkgname=pngcrush
+pkgver=1.7.70
+pkgrel=1
+pkgdesc="A tool for optimizing the compression of PNG files"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://pmt.sourceforge.net/pngcrush/"
+license=('custom')
+depends=('libpng' 'zlib')
+source=(http://downloads.sourceforge.net/pmt/$pkgname-$pkgver-nolib.tar.xz)
+md5sums=('cd1619005f46f4032442bdc0e49d9212')
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver-nolib
+ sed -n '10,17s/^\s*//p' cexcept.h > LICENSE.cexcept.txt
+ sed -rn '97,142s/ \* ?//p' pngcrush.c > LICENSE.pngcrush.txt
+ make
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver-nolib
+ install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
+ install -Dm644 LICENSE.cexcept.txt "$pkgdir"/usr/share/licenses/$pkgname/cexcept.txt
+ install -Dm644 LICENSE.pngcrush.txt "$pkgdir"/usr/share/licenses/$pkgname/pngcrush.txt
+}
diff --git a/libre/povray-libre/PKGBUILD b/libre/povray-libre/PKGBUILD
new file mode 100644
index 000000000..c75973f60
--- /dev/null
+++ b/libre/povray-libre/PKGBUILD
@@ -0,0 +1,73 @@
+# $Id: PKGBUILD 101605 2013-11-29 04:23:22Z eric $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: tobias <tobias@archlinux.org>
+# Contributor: red_over_blue
+# Contributor: neri
+
+# Maintainer (Parabola): Márcio Silva <coadde@parabola.nu>
+# Don't build povray before 3.7 version (that ones are nonfree software)
+
+_pkgname=povray
+pkgname=$_pkgname-libre
+pkgver=3.7
+pkgrel=4
+epoch=1
+pkgdesc='Script based raytracer for creating 3D graphics, without nonfree documentation'
+arch=('x86_64' 'i686' 'mips64el')
+license=('AGPL3')
+url='http://povray.org/'
+depends=('libtiff' 'libpng' 'boost-libs')
+makedepends=('boost')
+provides=("$_pkgname=$pkgver")
+conflicts=("$_pkgname")
+replaces=("$_pkgname")
+backup=("etc/povray/$pkgver/povray.conf"
+ "etc/povray/$pkgver/povray.ini")
+mksource=("https://github.com/POV-Ray/$_pkgname/archive/$pkgver-stable.zip")
+source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver-stable.tar.xz"
+ 'povray3.7.0_rc3-user-conf.patch')
+mksha256sums=('1261d963327a4b04c09d56bbd7436d0062e6bf8363674e3fb4e240beefb5b5cb')
+sha256sums=('ba2a867b8593689067143b23ebdccb8f8f46487244802d24d873517287b924f1'
+ '95b04ec4973e6e8a80fc83df2e3caff0b4d6699c4154144f3017d42cab7236e0')
+
+mksource() {
+ cd "$_pkgname-$pkgver-stable"
+
+ # remove nonfree documentation
+ rm -rv doc
+}
+
+prepare() {
+ cd "$_pkgname-$pkgver-stable"
+
+ cd unix
+ sed 's/automake --w/automake --add-missing --w/g' -i prebuild.sh
+ sed 's/dist-bzip2/dist-bzip2 subdir-objects/g' -i configure.ac
+ ./prebuild.sh
+ cd ..
+ ./bootstrap
+ patch -p1 < "$srcdir/povray3.7.0_rc3-user-conf.patch"
+}
+
+build() {
+ cd "$_pkgname-$pkgver-stable"
+
+ ./configure LIBS="-lboost_system -lboost_thread" COMPILED_BY='Parabola GNU/Linux-libre' \
+ --prefix=/usr --sysconfdir=/etc
+ make CXXFLAGS+="-w -lboost_system -lboost_thread"
+ gzip -f povray.1
+}
+
+package() {
+ cd "$_pkgname-$pkgver-stable"
+
+ install -d "$pkgdir/usr/share/$_pkgname-$pkgver"
+ cp -r icons include ini scenes scripts "$pkgdir/usr/share/$_pkgname-$pkgver"
+ install -Dm755 unix/povray "$pkgdir/usr/bin/povray"
+ install -Dm644 povray.conf "$pkgdir/etc/povray/$pkgver/povray.conf"
+ install -Dm644 povray.ini "$pkgdir/etc/povray/$pkgver/povray.ini"
+ install -Dm644 povray.1.gz "$pkgdir/usr/share/man/man1/povray.1.gz"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/povray-libre/povray3.7.0_rc3-user-conf.patch b/libre/povray-libre/povray3.7.0_rc3-user-conf.patch
new file mode 100644
index 000000000..f20d9b506
--- /dev/null
+++ b/libre/povray-libre/povray3.7.0_rc3-user-conf.patch
@@ -0,0 +1,27 @@
+ Makefile.am | 13 -------------
+ 1 files changed, 0 insertions(+), 13 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 76b394c..9822c52 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -107,19 +107,6 @@ install-data-local:
+ for f in $$filelist ; do \
+ $(INSTALL_DATA) $(top_srcdir)/doc/$$f $(DESTDIR)$(povdocdir)/$$f && echo "$(DESTDIR)$(povdocdir)/$$f" >> $(povinstall); \
+ done
+- @echo "Creating user directories..."; \
+- for p in $(povuser) $(povconfuser) ; do \
+- $(mkdir_p) $$p && chown $(povowner) $$p && chgrp $(povgroup) $$p && printf "%s\n" "$$p" "`cat $(povinstall)`" > $(povinstall); \
+- done
+- @echo "Copying user configuration and INI files..."; \
+- for f in povray.conf povray.ini ; do \
+- if test -f $(povconfuser)/$$f; then \
+- echo "Creating backup of $(povconfuser)/$$f"; \
+- mv -f $(povconfuser)/$$f $(povconfuser)/$$f.bak; \
+- fi; \
+- done; \
+- $(INSTALL_DATA) $(top_srcdir)/povray.conf $(povconfuser)/povray.conf && chown $(povowner) $(povconfuser)/povray.conf && chgrp $(povgroup) $(povconfuser)/povray.conf && echo "$(povconfuser)/povray.conf" >> $(povinstall); \
+- $(INSTALL_DATA) $(top_builddir)/povray.ini $(povconfuser)/povray.ini && chown $(povowner) $(povconfuser)/povray.ini && chgrp $(povgroup) $(povconfuser)/povray.ini && echo "$(povconfuser)/povray.ini" >> $(povinstall)
+
+ # Remove data, config, and empty folders for 'make uninstall'.
+ # Use 'hook' instead of 'local' so as to properly remove *empty* folders (e.g. scripts).
diff --git a/libre/psi/PKGBUILD b/libre/psi/PKGBUILD
new file mode 100644
index 000000000..c4150075f
--- /dev/null
+++ b/libre/psi/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 196956 2013-10-21 11:28:57Z pierre $
+# Maintainer: Pierre Schmitz <pierre@archlinux.de>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname=psi
+pkgver=0.15
+pkgrel=2.2
+pkgdesc='Instant messaging application designed for the Jabber IM (Parabola rebranded)'
+url='http://psi-im.org/'
+license=('GPL')
+arch=('i686' 'x86_64' 'mips64el')
+depends=('qca-ossl' 'qca-gnupg' 'enchant' 'libxss' 'xdg-utils')
+makedepends=('icu')
+install='psi.install'
+source=("http://downloads.sourceforge.net/psi/psi-${pkgver}.tar.bz2"
+ 'parabola.patch')
+md5sums=('aea15f17cf93e7cea52f305523f761be'
+ '8a5c799ad8b6fd5310d4a849c324c82c')
+
+prepare() {
+ cd ${srcdir}/psi-${pkgver}
+ patch -p0 -i ${srcdir}/parabola.patch
+}
+
+build() {
+ cd ${srcdir}/psi-${pkgver}
+ ./configure --prefix=/usr --release --no-separate-debug-info
+ make
+}
+
+package() {
+ cd ${srcdir}/psi-${pkgver}
+ make INSTALL_ROOT=${pkgdir} install
+ rm -rf ${pkgdir}/usr/share/psi/certs/
+}
diff --git a/libre/psi/parabola.patch b/libre/psi/parabola.patch
new file mode 100644
index 000000000..9d41bffc4
--- /dev/null
+++ b/libre/psi/parabola.patch
@@ -0,0 +1,54 @@
+--- src/systeminfo.cpp 2012-10-03 21:53:03.000000000 -0300
++++ src/systeminfo.cpp 2013-03-25 21:27:28.691880863 -0300
+@@ -75,23 +75,7 @@
+ enum LinuxName {
+ LinuxNone = 0,
+
+- LinuxMandrake,
+- LinuxDebian,
+- LinuxRedHat,
+- LinuxGentoo,
+- LinuxExherbo,
+- LinuxSlackware,
+- LinuxSuSE,
+- LinuxConectiva,
+- LinuxCaldera,
+- LinuxLFS,
+-
+- LinuxASP, // Russian Linux distros
+- LinuxALT,
+-
+- LinuxPLD, // Polish Linux distros
+- LinuxAurox,
+- LinuxArch
++ LinuxParabola
+ };
+
+ enum OsFlags {
+@@ -106,24 +90,8 @@
+ QString file;
+ QString name;
+ } osInfo[] = {
+- { LinuxMandrake, OsUseFile, "/etc/mandrake-release", "Mandrake Linux" },
+- { LinuxDebian, OsAppendFile, "/etc/debian_version", "Debian GNU/Linux" },
+- { LinuxGentoo, OsUseFile, "/etc/gentoo-release", "Gentoo Linux" },
+- { LinuxExherbo, OsUseName, "/etc/exherbo-release", "Exherbo Linux" },
+- { LinuxArch, OsUseName, "/etc/arch-release", "Arch Linux" },
+- { LinuxSlackware, OsAppendFile, "/etc/slackware-version", "Slackware Linux" },
+- { LinuxPLD, OsUseFile, "/etc/pld-release", "PLD Linux" },
+- { LinuxAurox, OsUseName, "/etc/aurox-release", "Aurox Linux" },
+- { LinuxArch, OsUseFile, "/etc/arch-release", "Arch Linux" },
+- { LinuxLFS, OsAppendFile, "/etc/lfs-release", "LFS Linux" },
+-
+- // untested
+- { LinuxSuSE, OsUseFile, "/etc/SuSE-release", "SuSE Linux" },
+- { LinuxConectiva, OsUseFile, "/etc/conectiva-release", "Conectiva Linux" },
+- { LinuxCaldera, OsUseFile, "/etc/.installed", "Caldera Linux" },
+-
+- // many distros use the /etc/redhat-release for compatibility, so RedHat will be the last :)
+- { LinuxRedHat, OsUseFile, "/etc/redhat-release", "RedHat Linux" },
++ { LinuxParabola, OsUseName, "/etc/parabola-release", "Parabola GNU/Linux-libre" },
++ { LinuxParabola, OsUseFile, "/etc/parabola-release", "Parabola GNU/Linux-libre" },
+
+ { LinuxNone, OsUseName, "", "" }
+ };
diff --git a/libre/psi/psi.install b/libre/psi/psi.install
new file mode 100644
index 000000000..464d2e625
--- /dev/null
+++ b/libre/psi/psi.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/psutils-libre/PKGBUILD b/libre/psutils-libre/PKGBUILD
new file mode 100644
index 000000000..0d61ca098
--- /dev/null
+++ b/libre/psutils-libre/PKGBUILD
@@ -0,0 +1,57 @@
+# $Id: PKGBUILD 176972 2013-02-03 07:11:03Z allan $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: eric <eric@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+# Contributor (Parabola): xihh <hahj87@gmail.com>
+
+_pkgname=psutils
+pkgname=psutils-libre
+pkgver=1.17
+pkgrel=4
+arch=('i686' 'x86_64' 'mips64el')
+pkgdesc="A set of postscript utilities, without nonfree files"
+url="http://knackered.org/angus/psutils/"
+license=('custom')
+depends=('glibc' 'ghostscript')
+provides=('psutils-lprng' 'psutils')
+replaces=('psutils-lprng' 'psutils')
+conflicts=('psutils-lprng' 'psutils')
+options=('!makeflags')
+mksource=("ftp://ftp.archlinux.org/other/psutils/${_pkgname}-${pkgver}.tar.gz"
+ 'libre.patch')
+source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'psutils-1.17.diff')
+mkmd5sums=('b161522f3bd1507655326afa7db4a0ad'
+ 'a4beaf371607085e89ef190c1db7aee3')
+md5sums=('75c88dc9e33877368d471dfa8652d96d'
+ '2b49e9e796000b42f42804d4b50a2be1')
+
+mksource() {
+ cd "${srcdir}/${_pkgname}"
+ # apply patch to remove nonfree files support from Makefile
+ patch -Np1 -i "${srcdir}/libre.patch"
+ # remove nonfree files
+ rm -v {fixmacps.{man,pl},md{68_0,71_0}.ps}
+}
+
+build() {
+ cd "${srcdir}/${_pkgname}"
+ patch -Np1 -i "${srcdir}/psutils-1.17.diff"
+ make -f Makefile.unix BINDIR=/usr/bin \
+ INCLUDEDIR=/usr/include/psutils PERL=/usr/bin/perl \
+ MANDIR=/usr/share/man/man1 \
+ CFLAGS="$CFLAGS -DPAPER=\\\"letter\\\" -DUNIX -Wall" \
+ CCFLAGS="$LDFLAGS"
+}
+
+package() {
+ cd "${srcdir}/${_pkgname}"
+ install -d -m755 "${pkgdir}/usr/include"
+ install -d -m755 "${pkgdir}/usr/share/man"
+ make -f Makefile.unix BINDIR="${pkgdir}/usr/bin" \
+ INCLUDEDIR="${pkgdir}/usr/include/psutils" PERL=/usr/bin/perl \
+ MANDIR="${pkgdir}/usr/share/man/man1" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${_pkgname}"
+ install -m644 LICENSE "${pkgdir}/usr/share/licenses/${_pkgname}/"
+}
diff --git a/libre/psutils-libre/libre.patch b/libre/psutils-libre/libre.patch
new file mode 100644
index 000000000..c2bd21245
--- /dev/null
+++ b/libre/psutils-libre/libre.patch
@@ -0,0 +1,41 @@
+--- psutils.orig/Makefile.unix 2013-06-21 05:46:39.671197867 -0300
++++ psutils/Makefile.unix 2013-06-21 05:55:30.248672628 -0300
+@@ -44,15 +44,14 @@
+ BIN = psbook psselect pstops epsffit psnup \
+ psresize
+ SHELLSCRIPTS = getafm showchar
+-PERLSCRIPTS = fixfmps fixmacps fixpsditps fixpspps \
++PERLSCRIPTS = fixfmps fixpsditps fixpspps \
+ fixtpps fixwfwps fixwpps fixscribeps fixwwps \
+ fixdlsrps extractres includeres psmerge
+ MANPAGES = psbook.$(MANEXT) psselect.$(MANEXT) pstops.$(MANEXT) epsffit.$(MANEXT) psnup.$(MANEXT) \
+ psresize.$(MANEXT) psmerge.$(MANEXT) fixscribeps.$(MANEXT) getafm.$(MANEXT) \
+- fixdlsrps.$(MANEXT) fixfmps.$(MANEXT) fixmacps.$(MANEXT) fixpsditps.$(MANEXT) \
++ fixdlsrps.$(MANEXT) fixfmps.$(MANEXT) fixpsditps.$(MANEXT) \
+ fixpspps.$(MANEXT) fixtpps.$(MANEXT) fixwfwps.$(MANEXT) fixwpps.$(MANEXT) \
+ fixwwps.$(MANEXT) extractres.$(MANEXT) includeres.$(MANEXT)
+-INCLUDES = md68_0.ps md71_0.ps
+
+ all: $(BIN) $(PERLSCRIPTS) $(MANPAGES) $(SHELLSCRIPTS)
+
+@@ -106,10 +105,6 @@
+ $(PERL) maketext OS=$(OS) PERL=$(PERL) $? > $@
+ $(CHMOD) $(BINMODE) $@
+
+-fixmacps: fixmacps.pl
+- $(PERL) maketext OS=$(OS) PERL=$(PERL) INCLUDE=$(INCLUDEDIR) $? > $@
+- $(CHMOD) $(BINMODE) $@
+-
+ fixpsditps: fixpsditps.pl
+ $(PERL) maketext OS=$(OS) PERL=$(PERL) $? > $@
+ $(CHMOD) $(BINMODE) $@
+@@ -174,9 +169,6 @@
+ fixfmps.$(MANEXT): fixfmps.man
+ $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
+
+-fixmacps.$(MANEXT): fixmacps.man
+- $(PERL) maketext "MAN=$(MANPAGES)" INCLUDE=$(INCLUDEDIR) $? > $@
+-
+ fixpsditps.$(MANEXT): fixpsditps.man
+ $(PERL) maketext "MAN=$(MANPAGES)" $? > $@
+
diff --git a/libre/psutils-libre/psutils-1.17.diff b/libre/psutils-libre/psutils-1.17.diff
new file mode 100644
index 000000000..4af32bd7f
--- /dev/null
+++ b/libre/psutils-libre/psutils-1.17.diff
@@ -0,0 +1,33 @@
+diff -u -r --new-file psutils.orig/Makefile.unix psutils/Makefile.unix
+--- psutils.orig/Makefile.unix Tue Mar 11 14:52:59 1997
++++ psutils/Makefile.unix Thu Jan 18 20:53:36 2001
+@@ -19,16 +19,16 @@
+ # psnup puts multiple logical pages on one physical page
+ # psresize scales and moves pages to fit on different paper sizes
+
+-PAPER=a4
++PAPER=letter
+
+ # Makefile for PSUtils under Unix
+
+ OS = UNIX
+
+-BINDIR = /usr/local/bin
++BINDIR = /usr/bin
+ SCRIPTDIR = $(BINDIR)
+-INCLUDEDIR = /usr/local/share/psutils
+-PERL = /usr/local/bin/perl
++INCLUDEDIR = /usr/share/psutils
++PERL = /usr/bin/perl
+
+ BINMODE = 0755
+ MANMODE = 0644
+@@ -36,7 +36,7 @@
+ INSTALL = install -c -m $(BINMODE)
+ INSTALLMAN = install -c -m $(MANMODE)
+ MANEXT = 1
+-MANDIR = /usr/local/share/man/man$(MANEXT)
++MANDIR = /usr/man/man$(MANEXT)
+
+ CC = gcc
+ CFLAGS = -DPAPER=\"$(PAPER)\" -DUNIX -O -Wall
diff --git a/libre/python-pgpdump/PKGBUILD b/libre/python-pgpdump/PKGBUILD
new file mode 100644
index 000000000..e65f60dfa
--- /dev/null
+++ b/libre/python-pgpdump/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+_pkgname=pgpdump
+pkgname=(python-pgpdump python2-pgpdump)
+pkgver=1.4
+pkgdesc=" a Python library for parsing PGP packets"
+url="https://github.com/toofishes/python-pgpdump"
+license=('custom:BSD3')
+
+pkgrel=1
+arch=(any)
+makedepends=(python python2)
+provides=(python2-pgpdump)
+source=(http://pypi.python.org/packages/source/p/$_pkgname/$_pkgname-$pkgver.tar.gz)
+md5sums=(b437c28ff9d6a6257a0062c0bbe2a9ec)
+
+package_python-pgpdump() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ python setup.py install --root="$pkgdir/" --optimize=1
+ install -Dm644 COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+package_python2-pgpdump() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir/" --optimize=1
+ install -Dm644 COPYRIGHT "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
diff --git a/libre/python2-bencode/PKGBUILD b/libre/python2-bencode/PKGBUILD
new file mode 100644
index 000000000..762d55cad
--- /dev/null
+++ b/libre/python2-bencode/PKGBUILD
@@ -0,0 +1,24 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+_pkgname=bencode
+pkgname=python2-bencode
+pkgver=1.0
+pkgdesc="BitTorrent bencode module as leight-weight, standalone package"
+url="http://pypi.python.org/pypi/BitTorrent-bencode"
+license=('custom:BitTorrent Open Source License')
+
+pkgrel=1
+arch=('any')
+depends=('python2')
+makedepends=('python2-distribute')
+source=(http://pypi.python.org/packages/source/${_pkgname:0:1}/${_pkgname}/${_pkgname}-${pkgver}.tar.gz
+ bittorrent-osl.txt)
+
+package(){
+ cd "$srcdir/$_pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 "$srcdir"/bittorrent-osl.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+md5sums=('400dd42ff346eb7db91245403f8f2b7b'
+ '016d959cb9f7a319e48d9699c4ef2f42')
diff --git a/libre/python2-bencode/bittorrent-osl.txt b/libre/python2-bencode/bittorrent-osl.txt
new file mode 100644
index 000000000..f0625f45c
--- /dev/null
+++ b/libre/python2-bencode/bittorrent-osl.txt
@@ -0,0 +1,510 @@
+BitTorrent Open Source License
+
+Version 1.1
+
+This BitTorrent Open Source License (the "License") applies to the
+BitTorrent client and related software products as well as any updates
+or maintenance releases of that software ("BitTorrent Products") that
+are distributed by BitTorrent, Inc. ("Licensor"). Any BitTorrent
+Product licensed pursuant to this License is a Licensed
+Product. Licensed Product, in its entirety, is protected by
+U.S. copyright law. This License identifies the terms under which you
+may use, copy, distribute or modify Licensed Product.
+
+Preamble
+
+This Preamble is intended to describe, in plain English, the nature
+and scope of this License. However, this Preamble is not a part of
+this license. The legal effect of this License is dependent only upon
+the terms of the License and not this Preamble.
+
+This License complies with the Open Source Definition and is derived
+from the Jabber Open Source License 1.0 (the "JOSL"), which has been
+approved by Open Source Initiative. Sections 4(c) and 4(f)(iii) from
+the JOSL have been deleted.
+
+This License provides that:
+
+1. You may use or give away the Licensed Product, alone or as a
+component of an aggregate software distribution containing programs
+from several different sources. No royalty or other fee is required.
+
+2. Both Source Code and executable versions of the Licensed Product,
+including Modifications made by previous Contributors, are available
+for your use. (The terms "Licensed Product," "Modifications,"
+"Contributors" and "Source Code" are defined in the License.)
+
+3. You are allowed to make Modifications to the Licensed Product, and
+you can create Derivative Works from it. (The term "Derivative Works"
+is defined in the License.)
+
+4. By accepting the Licensed Product under the provisions of this
+License, you agree that any Modifications you make to the Licensed
+Product and then distribute are governed by the provisions of this
+License. In particular, you must make the Source Code of your
+Modifications available to others free of charge and without a
+royalty.
+
+5. You may sell, accept donations or otherwise receive compensation
+for executable versions of a Licensed Product, without paying a
+royalty or other fee to the Licensor or any Contributor, provided that
+such executable versions contain your or another Contributor?s
+material Modifications. For the avoidance of doubt, to the extent your
+executable version of a Licensed Product does not contain your or
+another Contributor?s material Modifications, you may not sell, accept
+donations or otherwise receive compensation for such executable.
+
+You may use the Licensed Product for any purpose, but the Licensor is
+not providing you any warranty whatsoever, nor is the Licensor
+accepting any liability in the event that the Licensed Product doesn't
+work properly or causes you any injury or damages.
+
+6. If you sublicense the Licensed Product or Derivative Works, you may
+charge fees for warranty or support, or for accepting indemnity or
+liability obligations to your customers. You cannot charge for, sell,
+accept donations or otherwise receive compensation for the Source
+Code.
+
+7. If you assert any patent claims against the Licensor relating to
+the Licensed Product, or if you breach any terms of the License, your
+rights to the Licensed Product under this License automatically
+terminate.
+
+You may use this License to distribute your own Derivative Works, in
+which case the provisions of this License will apply to your
+Derivative Works just as they do to the original Licensed Product.
+
+Alternatively, you may distribute your Derivative Works under any
+other OSI-approved Open Source license, or under a proprietary license
+of your choice. If you use any license other than this License,
+however, you must continue to fulfill the requirements of this License
+(including the provisions relating to publishing the Source Code) for
+those portions of your Derivative Works that consist of the Licensed
+Product, including the files containing Modifications.
+
+New versions of this License may be published from time to time in
+connection with new versions of a Licensed Product or otherwise. You
+may choose to continue to use the license terms in this version of the
+License for the Licensed Product that was originally licensed
+hereunder, however, the new versions of this License will at all times
+apply to new versions of the Licensed Product released by Licensor
+after the release of the new version of this License. Only the
+Licensor has the right to change the License terms as they apply to
+the Licensed Product.
+
+This License relies on precise definitions for certain terms. Those
+terms are defined when they are first used, and the definitions are
+repeated for your convenience in a Glossary at the end of the License.
+
+License Terms
+
+1. Grant of License From Licensor. Subject to the terms and conditions
+of this License, Licensor hereby grants you a world-wide,
+royalty-free, non-exclusive license, subject to third party
+intellectual property claims, to do the following:
+
+a. Use, reproduce, modify, display, perform, sublicense and distribute
+any Modifications created by a Contributor or portions thereof, in
+both Source Code or as an executable program, either on an unmodified
+basis or as part of Derivative Works.
+
+b. Under claims of patents now or hereafter owned or controlled by
+Contributor, to make, use, sell, offer for sale, have made, and/or
+otherwise dispose of Modifications or portions thereof, but solely to
+the extent that any such claim is necessary to enable you to make,
+use, sell, offer for sale, have made, and/or otherwise dispose of
+Modifications or portions thereof or Derivative Works thereof.
+
+2. Grant of License to Modifications From Contributor. "Modifications"
+means any additions to or deletions from the substance or structure of
+(i) a file containing a Licensed Product, or (ii) any new file that
+contains any part of a Licensed Product. Hereinafter in this License,
+the term "Licensed Product" shall include all previous Modifications
+that you receive from any Contributor. Subject to the terms and
+conditions of this License, By application of the provisions in
+Section 4(a) below, each person or entity who created or contributed
+to the creation of, and distributed, a Modification (a "Contributor")
+hereby grants you a world-wide, royalty-free, non-exclusive license,
+subject to third party intellectual property claims, to do the
+following:
+
+a. Use, reproduce, modify, display, perform, sublicense and distribute
+any Modifications created by such Contributor or portions thereof, in
+both Source Code or as an executable program, either on an unmodified
+basis or as part of Derivative Works.
+
+b. Under claims of patents now or hereafter owned or controlled by
+Contributor, to make, use, sell, offer for sale, have made, and/or
+otherwise dispose of Modifications or portions thereof, but solely to
+the extent that any such claim is necessary to enable you to make,
+use, sell, offer for sale, have made, and/or otherwise dispose of
+Modifications or portions thereof or Derivative Works thereof.
+
+3. Exclusions From License Grant. Nothing in this License shall be
+deemed to grant any rights to trademarks, copyrights, patents, trade
+secrets or any other intellectual property of Licensor or any
+Contributor except as expressly stated herein. No patent license is
+granted separate from the Licensed Product, for code that you delete
+from the Licensed Product, or for combinations of the Licensed Product
+with other software or hardware. No right is granted to the trademarks
+of Licensor or any Contributor even if such marks are included in the
+Licensed Product. Nothing in this License shall be interpreted to
+prohibit Licensor from licensing under different terms from this
+License any code that Licensor otherwise would have a right to
+license. As an express condition for your use of the Licensed Product,
+you hereby agree that you will not, without the prior written consent
+of Licensor, use any trademarks, copyrights, patents, trade secrets or
+any other intellectual property of Licensor or any Contributor except
+as expressly stated herein. For the avoidance of doubt and without
+limiting the foregoing, you hereby agree that you will not use or
+display any trademark of Licensor or any Contributor in any domain
+name, directory filepath, advertisement, link or other reference to
+you in any manner or in any media.
+
+4. Your Obligations Regarding Distribution.
+
+a. Application of This License to Your Modifications. As an express
+condition for your use of the Licensed Product, you hereby agree that
+any Modifications that you create or to which you contribute, and
+which you distribute, are governed by the terms of this License
+including, without limitation, Section 2. Any Modifications that you
+create or to which you contribute may be distributed only under the
+terms of this License or a future version of this License released
+under Section 7. You must include a copy of this License with every
+copy of the Modifications you distribute. You agree not to offer or
+impose any terms on any Source Code or executable version of the
+Licensed Product or Modifications that alter or restrict the
+applicable version of this License or the recipients' rights
+hereunder. However, you may include an additional document offering
+the additional rights described in Section 4(d).
+
+b. Availability of Source Code. You must make available, without
+charge, under the terms of this License, the Source Code of the
+Licensed Product and any Modifications that you distribute, either on
+the same media as you distribute any executable or other form of the
+Licensed Product, or via a mechanism generally accepted in the
+software development community for the electronic transfer of data (an
+"Electronic Distribution Mechanism"). The Source Code for any version
+of Licensed Product or Modifications that you distribute must remain
+available for as long as any executable or other form of the Licensed
+Product is distributed by you. You are responsible for ensuring that
+the Source Code version remains available even if the Electronic
+Distribution Mechanism is maintained by a third party.
+
+c. Intellectual Property Matters.
+
+i. Third Party Claims. If you have knowledge that a license to a third
+party's intellectual property right is required to exercise the rights
+granted by this License, you must include a text file with the Source
+Code distribution titled "LEGAL" that describes the claim and the
+party making the claim in sufficient detail that a recipient will know
+whom to contact. If you obtain such knowledge after you make any
+Modifications available as described in Section 4(b), you shall
+promptly modify the LEGAL file in all copies you make available
+thereafter and shall take other steps (such as notifying appropriate
+mailing lists or newsgroups) reasonably calculated to inform those who
+received the Licensed Product from you that new knowledge has been
+obtained.
+
+ii. Contributor APIs. If your Modifications include an application
+programming interface ("API") and you have knowledge of patent
+licenses that are reasonably necessary to implement that API, you must
+also include this information in the LEGAL file.
+
+iii. Representations. You represent that, except as disclosed pursuant
+to 4(c)(i) above, you believe that any Modifications you distribute
+are your original creations and that you have sufficient rights to
+grant the rights conveyed by this License.
+
+d. Required Notices. You must duplicate this License in any
+documentation you provide along with the Source Code of any
+Modifications you create or to which you contribute, and which you
+distribute, wherever you describe recipients' rights relating to
+Licensed Product. You must duplicate the notice contained in Exhibit A
+(the "Notice") in each file of the Source Code of any copy you
+distribute of the Licensed Product. If you created a Modification, you
+may add your name as a Contributor to the Notice. If it is not
+possible to put the Notice in a particular Source Code file due to its
+structure, then you must include such Notice in a location (such as a
+relevant directory file) where a user would be likely to look for such
+a notice. You may choose to offer, and charge a fee for, warranty,
+support, indemnity or liability obligations to one or more recipients
+of Licensed Product. However, you may do so only on your own behalf,
+and not on behalf of the Licensor or any Contributor. You must make it
+clear that any such warranty, support, indemnity or liability
+obligation is offered by you alone, and you hereby agree to indemnify
+the Licensor and every Contributor for any liability incurred by the
+Licensor or such Contributor as a result of warranty, support,
+indemnity or liability terms you offer.
+
+e. Distribution of Executable Versions. You may distribute Licensed
+Product as an executable program under a license of your choice that
+may contain terms different from this License provided (i) you have
+satisfied the requirements of Sections 4(a) through 4(d) for that
+distribution, (ii) you include a conspicuous notice in the executable
+version, related documentation and collateral materials stating that
+the Source Code version of the Licensed Product is available under the
+terms of this License, including a description of how and where you
+have fulfilled the obligations of Section 4(b), and (iii) you make it
+clear that any terms that differ from this License are offered by you
+alone, not by Licensor or any Contributor. You hereby agree to
+indemnify the Licensor and every Contributor for any liability
+incurred by Licensor or such Contributor as a result of any terms you
+offer.
+
+f. Distribution of Derivative Works. You may create Derivative Works
+(e.g., combinations of some or all of the Licensed Product with other
+code) and distribute the Derivative Works as products under any other
+license you select, with the proviso that the requirements of this
+License are fulfilled for those portions of the Derivative Works that
+consist of the Licensed Product or any Modifications thereto.
+
+g. Compensation for Distribution of Executable Versions of Licensed
+Products, Modifications or Derivative Works. Notwithstanding any
+provision of this License to the contrary, by distributing, selling,
+licensing, sublicensing or otherwise making available any Licensed
+Product, or Modification or Derivative Work thereof, you and Licensor
+hereby acknowledge and agree that you may sell, license or sublicense
+for a fee, accept donations or otherwise receive compensation for
+executable versions of a Licensed Product, without paying a royalty or
+other fee to the Licensor or any other Contributor, provided that such
+executable versions (i) contain your or another Contributor?s material
+Modifications, or (ii) are otherwise material Derivative Works. For
+purposes of this License, an executable version of the Licensed
+Product will be deemed to contain a material Modification, or will
+otherwise be deemed a material Derivative Work, if (a) the Licensed
+Product is modified with your own or a third party?s software programs
+or other code, and/or the Licensed Product is combined with a number
+of your own or a third party?s software programs or code,
+respectively, and (b) such software programs or code add or contribute
+material value, functionality or features to the License Product. For
+the avoidance of doubt, to the extent your executable version of a
+Licensed Product does not contain your or another Contributor?s
+material Modifications or is otherwise not a material Derivative Work,
+in each case as contemplated herein, you may not sell, license or
+sublicense for a fee, accept donations or otherwise receive
+compensation for such executable. Additionally, without limitation of
+the foregoing and notwithstanding any provision of this License to the
+contrary, you cannot charge for, sell, license or sublicense for a
+fee, accept donations or otherwise receive compensation for the Source
+Code.
+
+5. Inability to Comply Due to Statute or Regulation. If it is
+impossible for you to comply with any of the terms of this License
+with respect to some or all of the Licensed Product due to statute,
+judicial order, or regulation, then you must (i) comply with the terms
+of this License to the maximum extent possible, (ii) cite the statute
+or regulation that prohibits you from adhering to the License, and
+(iii) describe the limitations and the code they affect. Such
+description must be included in the LEGAL file described in Section
+4(d), and must be included with all distributions of the Source
+Code. Except to the extent prohibited by statute or regulation, such
+description must be sufficiently detailed for a recipient of ordinary
+skill at computer programming to be able to understand it.
+
+6. Application of This License. This License applies to code to which
+Licensor or Contributor has attached the Notice in Exhibit A, which is
+incorporated herein by this reference.
+
+7. Versions of This License.
+
+a. New Versions. Licensor may publish from time to time revised and/or
+new versions of the License.
+
+b. Effect of New Versions. Once Licensed Product has been published
+under a particular version of the License, you may always continue to
+use it under the terms of that version, provided that any such license
+be in full force and effect at the time, and has not been revoked or
+otherwise terminated. You may also choose to use such Licensed Product
+under the terms of any subsequent version (but not any prior version)
+of the License published by Licensor. No one other than Licensor has
+the right to modify the terms applicable to Licensed Product created
+under this License.
+
+c. Derivative Works of this License. If you create or use a modified
+version of this License, which you may do only in order to apply it to
+software that is not already a Licensed Product under this License,
+you must rename your license so that it is not confusingly similar to
+this License, and must make it clear that your license contains terms
+that differ from this License. In so naming your license, you may not
+use any trademark of Licensor or any Contributor.
+
+8. Disclaimer of Warranty. LICENSED PRODUCT IS PROVIDED UNDER THIS
+LICENSE ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER
+EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE
+LICENSED PRODUCT IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A
+PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE
+QUALITY AND PERFORMANCE OF THE LICENSED PRODUCT IS WITH YOU. SHOULD
+LICENSED PRODUCT PROVE DEFECTIVE IN ANY RESPECT, YOU (AND NOT THE
+LICENSOR OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY
+SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY
+CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF LICENSED
+PRODUCT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+9. Termination.
+
+a. Automatic Termination Upon Breach. This license and the rights
+granted hereunder will terminate automatically if you fail to comply
+with the terms herein and fail to cure such breach within ten (10)
+days of being notified of the breach by the Licensor. For purposes of
+this provision, proof of delivery via email to the address listed in
+the ?WHOIS? database of the registrar for any website through which
+you distribute or market any Licensed Product, or to any alternate
+email address which you designate in writing to the Licensor, shall
+constitute sufficient notification. All sublicenses to the Licensed
+Product that are properly granted shall survive any termination of
+this license so long as they continue to complye with the terms of
+this License. Provisions that, by their nature, must remain in effect
+beyond the termination of this License, shall survive.
+
+b. Termination Upon Assertion of Patent Infringement. If you initiate
+litigation by asserting a patent infringement claim (excluding
+declaratory judgment actions) against Licensor or a Contributor
+(Licensor or Contributor against whom you file such an action is
+referred to herein as Respondent) alleging that Licensed Product
+directly or indirectly infringes any patent, then any and all rights
+granted by such Respondent to you under Sections 1 or 2 of this
+License shall terminate prospectively upon sixty (60) days notice from
+Respondent (the "Notice Period") unless within that Notice Period you
+either agree in writing (i) to pay Respondent a mutually agreeable
+reasonably royalty for your past or future use of Licensed Product
+made by such Respondent, or (ii) withdraw your litigation claim with
+respect to Licensed Product against such Respondent. If within said
+Notice Period a reasonable royalty and payment arrangement are not
+mutually agreed upon in writing by the parties or the litigation claim
+is not withdrawn, the rights granted by Licensor to you under Sections
+1 and 2 automatically terminate at the expiration of said Notice
+Period.
+
+c. Reasonable Value of This License. If you assert a patent
+infringement claim against Respondent alleging that Licensed Product
+directly or indirectly infringes any patent where such claim is
+resolved (such as by license or settlement) prior to the initiation of
+patent infringement litigation, then the reasonable value of the
+licenses granted by said Respondent under Sections 1 and 2 shall be
+taken into account in determining the amount or value of any payment
+or license.
+
+d. No Retroactive Effect of Termination. In the event of termination
+under Sections 9(a) or 9(b) above, all end user license agreements
+(excluding licenses to distributors and resellers) that have been
+validly granted by you or any distributor hereunder prior to
+termination shall survive termination.
+
+10. Limitation of Liability. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL
+THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE,
+SHALL THE LICENSOR, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF LICENSED
+PRODUCT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY
+PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
+GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND
+ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE
+BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
+RESULTING FROM SUCH PARTYS NEGLIGENCE TO THE EXTENT APPLICABLE LAW
+PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
+EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
+THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+11. Responsibility for Claims. As between Licensor and Contributors,
+each party is responsible for claims and damages arising, directly or
+indirectly, out of its utilization of rights under this License. You
+agree to work with Licensor and Contributors to distribute such
+responsibility on an equitable basis. Nothing herein is intended or
+shall be deemed to constitute any admission of liability.
+
+12. U.S. Government End Users. The Licensed Product is a commercial
+item, as that term is defined in 48 C.F.R. 2.101 (Oct. 1995),
+consisting of commercial computer software and commercial computer
+software documentation, as such terms are used in 48 C.F.R. 12.212
+(Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48
+C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government
+End Users acquire Licensed Product with only those rights set forth
+herein.
+
+13. Miscellaneous. This License represents the complete agreement
+concerning the subject matter hereof. If any provision of this License
+is held to be unenforceable, such provision shall be reformed only to
+the extent necessary to make it enforceable. This License shall be
+governed by California law provisions (except to the extent applicable
+law, if any, provides otherwise), excluding its conflict-of-law
+provisions. You expressly agree that in any litigation relating to
+this license the losing party shall be responsible for costs
+including, without limitation, court costs and reasonable attorneys
+fees and expenses. The application of the United Nations Convention on
+Contracts for the International Sale of Goods is expressly
+excluded. Any law or regulation that provides that the language of a
+contract shall be construed against the drafter shall not apply to
+this License.
+
+14. Definition of You in This License. You throughout this License,
+whether in upper or lower case, means an individual or a legal entity
+exercising rights under, and complying with all of the terms of, this
+License or a future version of this License issued under Section
+7. For legal entities, you includes any entity that controls, is
+controlled by, is under common control with, or affiliated with,
+you. For purposes of this definition, control means (i) the power,
+direct or indirect, to cause the direction or management of such
+entity, whether by contract or otherwise, or (ii) ownership of fifty
+percent (50%) or more of the outstanding shares, or (iii) beneficial
+ownership of such entity. You are responsible for advising any
+affiliated entity of the terms of this License, and that any rights or
+privileges derived from or obtained by way of this License are subject
+to the restrictions outlined herein.
+
+15. Glossary. All defined terms in this License that are used in more
+than one Section of this License are repeated here, in alphabetical
+order, for the convenience of the reader. The Section of this License
+in which each defined term is first used is shown in parentheses.
+
+Contributor: Each person or entity who created or contributed to the
+creation of, and distributed, a Modification. (See Section 2)
+
+Derivative Works: That term as used in this License is defined under
+U.S. copyright law. (See Section 1(b))
+
+License: This BitTorrent Open Source License. (See first paragraph of License)
+
+Licensed Product: Any BitTorrent Product licensed pursuant to this
+License. The term "Licensed Product" includes all previous
+Modifications from any Contributor that you receive. (See first
+paragraph of License and Section 2)
+
+Licensor: BitTorrent, Inc. (See first paragraph of License)
+
+Modifications: Any additions to or deletions from the substance or
+structure of (i) a file containing Licensed Product, or (ii) any new
+file that contains any part of Licensed Product. (See Section 2)
+
+Notice: The notice contained in Exhibit A. (See Section 4(e))
+
+Source Code: The preferred form for making modifications to the
+Licensed Product, including all modules contained therein, plus any
+associated interface definition files, scripts used to control
+compilation and installation of an executable program, or a list of
+differential comparisons against the Source Code of the Licensed
+Product. (See Section 1(a))
+
+You: This term is defined in Section 14 of this License.
+
+EXHIBIT A
+
+The Notice below must appear in each file of the Source Code of any
+copy you distribute of the Licensed Product or any
+hereto. Contributors to any Modifications may add their own copyright
+notices to identify their own contributions.
+
+License:
+
+The contents of this file are subject to the BitTorrent Open Source
+License Version 1.0 (the License). You may not copy or use this file,
+in either source code or executable form, except in compliance with
+the License. You may obtain a copy of the License at
+http://www.bittorrent.com/license/.
+
+Software distributed under the License is distributed on an AS IS
+basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+the License for the specific language governing rights and limitations
+under the License.
+
+BitTorrent, Inc.
diff --git a/libre/python2-cssmin-fredj/PKGBUILD b/libre/python2-cssmin-fredj/PKGBUILD
new file mode 100644
index 000000000..ba21b8fc4
--- /dev/null
+++ b/libre/python2-cssmin-fredj/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+_pkgname=python2-cssmin
+pkgname=python2-cssmin-fredj
+pkgver=0.1.4.git4 # 0.1.4.git<number of commits after 0.1.4>
+_gitver='commit=3422b9962c5a6c2adb9597f418131d73e991c9b6'
+pkgdesc="A Python port of the YUI CSS compression algorithm"
+license=('custom:MIT' 'custom:BSD3')
+url="https://github.com/fredj/cssmin"
+provides=("$_pkgname=$pkgver")
+conflicts=("$_pkgname")
+
+pkgrel=2
+arch=(any)
+
+makedepends=('python2-distribute')
+source=("libre://$pkgname-$pkgver.tar.gz")
+md5sums=('09649b374d148014a5644e9df8fcf18e')
+
+mkmakedepends=('git')
+mksource=("$pkgname-$pkgver::git://github.com/fredj/cssmin.git#${_gitver}")
+mkmd5sums=('SKIP')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ sed -i 's|#!/usr/bin/env python\s*$|#!/usr/bin/env python2|' setup.py src/cssmin.py
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./setup.py install --root="$pkgdir/" --optimize=1
+}
+
diff --git a/libre/python2-django-countries/PKGBUILD b/libre/python2-django-countries/PKGBUILD
new file mode 100644
index 000000000..36bc6a580
--- /dev/null
+++ b/libre/python2-django-countries/PKGBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+_pkgname=django-countries
+pkgname=python2-$_pkgname
+pkgver=1.5
+pkgdesc="Provides a country field for Django models"
+url="http://bitbucket.org/smileychris/$_pkgname/"
+license=('custom:MIT')
+
+replaces=($_pkgname)
+conflicts=($_pkgname)
+
+pkgrel=3
+arch=(any)
+depends=('python2-django')
+makedepends=('python2-distribute')
+source=(http://pypi.python.org/packages/source/${_pkgname:0:1}/${_pkgname}/${_pkgname}-${pkgver}.tar.gz)
+md5sums=(6c65fcc3aa7de065a54cdb619397626d)
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ sed -i 's|#!/usr/bin/env python\s*$|#!/usr/bin/env python2|' setup.py */bin/*.py
+ # fix help message: (python2, typo)
+ # "python regenenerate.py" -> "python2 regenerate.py"
+ sed -i 's|python regen[a-z]*\.py|python2 regenerate.py|' */bin/regenerate.py
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ ./setup.py install --root="$pkgdir/" --optimize=1
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/libre/python2-jsmin/PKGBUILD b/libre/python2-jsmin/PKGBUILD
new file mode 100644
index 000000000..00c158324
--- /dev/null
+++ b/libre/python2-jsmin/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+_pkgname=jsmin
+pkgname=python2-jsmin
+pkgver=2.0.8
+pkgdesc="JavaScript minifier"
+url="https://bitbucket.org/dcs/jsmin"
+license=('MIT')
+
+pkgrel=1
+arch=('any')
+depends=('python2')
+makedepends=('python2-distribute')
+source=(http://pypi.python.org/packages/source/${_pkgname:0:1}/${_pkgname}/${_pkgname}-${pkgver}.tar.gz)
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ sed -rn 's/^#\s?//p' jsmin/__init__.py > license.txt
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 license.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+md5sums=('d830a979d63bfa0bc23e11fdbc816e7d')
diff --git a/libre/python2-ply/PKGBUILD b/libre/python2-ply/PKGBUILD
new file mode 100644
index 000000000..fec80926a
--- /dev/null
+++ b/libre/python2-ply/PKGBUILD
@@ -0,0 +1,16 @@
+# Contributor: Marcin "avalan" Falkiewicz <avalatron@gmail.com>
+# Maintainer: C Anthony Risinger <anthony@xtfx.me>
+
+pkgname='python2-ply'
+pkgver=3.4
+pkgrel=1
+pkgdesc='Implementation of lex and yacc parsing tools for Python.'
+arch=('any')
+url='http://www.dabeaz.com/ply/'
+license=('BSD')
+depends=('python2')
+makedepends=('python2-distribute')
+source=("${url}ply-${pkgver}.tar.gz")
+md5sums=('ffdc95858819347bf92d7c2acc074894')
+
+build() { cd "ply-${pkgver}"; python2 setup.py install --root="${pkgdir}"; }
diff --git a/libre/python2-reportlab-libre/PKGBUILD b/libre/python2-reportlab-libre/PKGBUILD
new file mode 100644
index 000000000..0f608f7a0
--- /dev/null
+++ b/libre/python2-reportlab-libre/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 97428 2013-09-19 18:56:42Z jelle $
+# Maintainer:
+# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Contributor: William Rea <sillywilly@gmail.com>
+# Maintainer (Parabola): fauno <fauno@kiwwwi.com.ar>
+# Contributor: borgo <nomail>
+# Contributor (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgbase=python-reportlab-libre
+pkgname=python2-reportlab-libre
+_origname=reportlab
+pkgver=2.7
+pkgrel=1
+pkgdesc="A proven industry-strength PDF generating solution, without nonfree Adobe T1 fonts support"
+arch=('i686' 'x86_64')
+url="http://www.reportlab.org/rl_toolkit.html"
+depends=('python2' 'freetype2')
+conflicts=('python-reportlab<=2.5-2' 'python2-reportlab')
+replaces=('python-reportlab<=2.5-2' 'python2-reportlab')
+provides=("python2-reportlab=$pkgver")
+license=('custom')
+source=(http://www.reportlab.com/ftp/reportlab-$pkgver.tar.gz
+ free-fonts.patch)
+md5sums=('78300e6fe8a0d020fc16734a3de80cc4'
+ '1588b88851711cc6c868db4c7d4f4dea')
+
+build() {
+ cd $srcdir/${_origname}-$pkgver
+
+ # remove nonfree Adobe T1 fonts support
+ patch -p1 -i $srcdir/free-fonts.patch
+
+ # Parabola contains those fonts from the ttf-bitstream-vera package
+ rm -f src/reportlab/fonts/{bitstream-vera-license.txt,Vera*}
+
+ # python2 fix
+ for file in src/reportlab/graphics/widgets/table.py src/reportlab/lib/normalDate.py \
+ src/reportlab/pdfgen/pycanvas.py; do
+ sed -i 's_#!.*/usr/bin/env python_#!/usr/bin/env python2_' $file
+ done
+}
+
+package_python2-reportlab-libre() {
+ cd $srcdir/${_origname}-$pkgver
+ python2 setup.py install --root=$pkgdir --optimize=1
+ install -D -m644 LICENSE.txt $pkgdir/usr/share/licenses/$pkgname/license.txt
+}
+
+check() {
+ cd ${srcdir}/${_origname}-${pkgver}
+# python2 setup.py tests
+}
diff --git a/libre/python2-reportlab-libre/free-fonts.patch b/libre/python2-reportlab-libre/free-fonts.patch
new file mode 100644
index 000000000..b2683931b
--- /dev/null
+++ b/libre/python2-reportlab-libre/free-fonts.patch
@@ -0,0 +1,144 @@
+diff -rupN reportlab-2.6.orig/setup.py reportlab-2.6/setup.py
+--- reportlab-2.6.orig/setup.py 2012-09-27 13:14:06.000000000 -0300
++++ reportlab-2.6/setup.py 2012-10-18 14:34:16.750336101 -0200
+@@ -222,11 +222,11 @@ def get_fonts(PACKAGE_DIR, reportlab_fil
+ infoline("Standard T1 font curves already downloaded")
+ return
+ try:
+- infoline("Downloading standard T1 font curves")
++ #infoline("Downloading standard T1 font curves")
+
+- remotehandle = urllib2.urlopen("http://www.reportlab.com/ftp/pfbfer-20070710.zip")
+- zipdata = StringIO.StringIO(remotehandle.read())
+- remotehandle.close()
++ #remotehandle = urllib2.urlopen("http://www.reportlab.com/ftp/pfbfer-20070710.zip")
++ #zipdata = StringIO.StringIO(remotehandle.read())
++ #remotehandle.close()
+ archive = zipfile.ZipFile(zipdata)
+ dst = pjoin(rl_dir, 'fonts')
+
+@@ -239,7 +239,7 @@ def get_fonts(PACKAGE_DIR, reportlab_fil
+ except:
+ xitmsg = "Failed to download standard T1 font curves"
+ reportlab_files = [x for x in reportlab_files if os.path.isfile(pjoin(rl_dir,x))]
+- infoline(xitmsg)
++ #infoline(xitmsg)
+
+ def main():
+ #test to see if we've a special command
+diff -rupN reportlab-2.6.orig/src/reportlab/pdfbase/_fontdata.py reportlab-2.6/src/reportlab/pdfbase/_fontdata.py
+--- reportlab-2.6.orig/src/reportlab/pdfbase/_fontdata.py 2012-09-27 11:39:39.000000000 -0300
++++ reportlab-2.6/src/reportlab/pdfbase/_fontdata.py 2012-10-18 14:36:08.018365073 -0200
+@@ -72,20 +72,20 @@ _font2fnrMapWin32 = {
+ }
+ if sys.platform in ('linux2',):
+ _font2fnrMapLinux2 ={
+- 'symbol': 'Symbol',
+- 'zapfdingbats': 'ZapfDingbats',
+- 'helvetica': 'Arial',
+- 'helvetica-bold': 'Arial-Bold',
+- 'helvetica-boldoblique': 'Arial-BoldItalic',
+- 'helvetica-oblique': 'Arial-Italic',
+- 'times-bold': 'TimesNewRoman-Bold',
+- 'times-bolditalic':'TimesNewRoman-BoldItalic',
+- 'times-italic': 'TimesNewRoman-Italic',
+- 'times-roman': 'TimesNewRoman',
+- 'courier-bold': 'Courier-Bold',
+- 'courier-boldoblique': 'Courier-BoldOblique',
+- 'courier': 'Courier',
+- 'courier-oblique': 'Courier-Oblique',
++ 'symbol': 's050000l.pfb',
++ 'zapfdingbats': 'd050000l.pfb',
++ 'helvetica': 'n019003l.pfb',
++ 'helvetica-bold': 'n019004l.pfb',
++ 'helvetica-boldoblique': 'n019024l.pfb',
++ 'helvetica-oblique': 'n019023l.pfb',
++ 'times-bold': 'n021004l.pfb',
++ 'times-bolditalic':'n021024l.pfb',
++ 'times-italic': 'n021023l.pfb',
++ 'times-roman': 'n021003l.pfb',
++ 'courier-bold': 'n022004l.pfb',
++ 'courier-boldoblique': 'n022024l.pfb',
++ 'courier': 'n022003l.pfb',
++ 'courier-oblique': 'n022023l.pfb',
+ }
+ _font2fnrMap = _font2fnrMapLinux2
+ for k, v in _font2fnrMap.items():
+diff -rupN reportlab-2.6.orig/src/reportlab/rl_config.py reportlab-2.6/src/reportlab/rl_config.py
+--- reportlab-2.6.orig/src/reportlab/rl_config.py 2012-09-27 11:39:39.000000000 -0300
++++ reportlab-2.6/src/reportlab/rl_config.py 2012-10-18 16:05:12.683766581 -0200
+@@ -49,25 +49,7 @@ ttfAsciiReadable= 1
+
+ # places to look for T1Font information
+ T1SearchPath = (
+- 'c:/Program Files/Adobe/Acrobat 9.0/Resource/Font',
+- 'c:/Program Files/Adobe/Acrobat 8.0/Resource/Font',
+- 'c:/Program Files/Adobe/Acrobat 7.0/Resource/Font',
+- 'c:/Program Files/Adobe/Acrobat 6.0/Resource/Font', #Win32, Acrobat 6
+- 'c:/Program Files/Adobe/Acrobat 5.0/Resource/Font', #Win32, Acrobat 5
+- 'c:/Program Files/Adobe/Acrobat 4.0/Resource/Font', #Win32, Acrobat 4
+- '%(disk)s/Applications/Python %(sys_version)s/reportlab/fonts', #Mac?
+- '/usr/lib/Acrobat9/Resource/Font', #Linux, Acrobat 5?
+- '/usr/lib/Acrobat8/Resource/Font', #Linux, Acrobat 5?
+- '/usr/lib/Acrobat7/Resource/Font', #Linux, Acrobat 5?
+- '/usr/lib/Acrobat6/Resource/Font', #Linux, Acrobat 5?
+- '/usr/lib/Acrobat5/Resource/Font', #Linux, Acrobat 5?
+- '/usr/lib/Acrobat4/Resource/Font', #Linux, Acrobat 4
+- '/usr/local/Acrobat9/Resource/Font', #Linux, Acrobat 5?
+- '/usr/local/Acrobat8/Resource/Font', #Linux, Acrobat 5?
+- '/usr/local/Acrobat7/Resource/Font', #Linux, Acrobat 5?
+- '/usr/local/Acrobat6/Resource/Font', #Linux, Acrobat 5?
+- '/usr/local/Acrobat5/Resource/Font', #Linux, Acrobat 5?
+- '/usr/local/Acrobat4/Resource/Font', #Linux, Acrobat 4
++ '/usr/share/fonts/Type1',
+ '%(REPORTLAB_DIR)s/fonts', #special
+ '%(REPORTLAB_DIR)s/../fonts', #special
+ '%(REPORTLAB_DIR)s/../../fonts', #special
+@@ -76,44 +58,17 @@ T1SearchPath = (
+
+ # places to look for TT Font information
+ TTFSearchPath = (
+- 'c:/winnt/fonts',
+- 'c:/windows/fonts',
+- '/usr/lib/X11/fonts/TrueType/',
+- '/usr/share/fonts/truetype',
++ '/usr/share/fonts/TTF',
+ '%(REPORTLAB_DIR)s/fonts', #special
+ '%(REPORTLAB_DIR)s/../fonts', #special
+ '%(REPORTLAB_DIR)s/../../fonts',#special
+ '%(HOME)s/fonts', #special
+- #mac os X - from
+- #http://developer.apple.com/technotes/tn/tn2024.html
+- '~/Library/Fonts',
+- '/Library/Fonts',
+- '/Network/Library/Fonts',
+- '/System/Library/Fonts',
+-
+ )
+
+ # places to look for CMap files - should ideally merge with above
+ CMapSearchPath = (
+- '/usr/lib/Acrobat9/Resource/CMap',
+- '/usr/lib/Acrobat8/Resource/CMap',
+- '/usr/lib/Acrobat7/Resource/CMap',
+- '/usr/lib/Acrobat6/Resource/CMap',
+- '/usr/lib/Acrobat5/Resource/CMap',
+- '/usr/lib/Acrobat4/Resource/CMap',
+- '/usr/local/Acrobat9/Resource/CMap',
+- '/usr/local/Acrobat8/Resource/CMap',
+- '/usr/local/Acrobat7/Resource/CMap',
+- '/usr/local/Acrobat6/Resource/CMap',
+- '/usr/local/Acrobat5/Resource/CMap',
+- '/usr/local/Acrobat4/Resource/CMap',
+- 'C:\\Program Files\\Adobe\\Acrobat\\Resource\\CMap',
+- 'C:\\Program Files\\Adobe\\Acrobat 9.0\\Resource\\CMap',
+- 'C:\\Program Files\\Adobe\\Acrobat 8.0\\Resource\\CMap',
+- 'C:\\Program Files\\Adobe\\Acrobat 7.0\\Resource\\CMap',
+- 'C:\\Program Files\\Adobe\\Acrobat 6.0\\Resource\\CMap',
+- 'C:\\Program Files\\Adobe\\Acrobat 5.0\\Resource\\CMap',
+- 'C:\\Program Files\\Adobe\\Acrobat 4.0\\Resource\\CMap',
++ '/usr/share/ghostscript/9.04/Resource/CMap',
++ '/usr/share/ghostscript/9.06/Resource/CMap',
+ '%(REPORTLAB_DIR)s/fonts/CMap', #special
+ '%(REPORTLAB_DIR)s/../fonts/CMap', #special
+ '%(REPORTLAB_DIR)s/../../fonts/CMap', #special
diff --git a/libre/qupzilla-libre/PKGBUILD b/libre/qupzilla-libre/PKGBUILD
new file mode 100644
index 000000000..3d23a89f8
--- /dev/null
+++ b/libre/qupzilla-libre/PKGBUILD
@@ -0,0 +1,88 @@
+# $Id: PKGBUILD 104845 2014-01-27 14:16:51Z speps $
+# Maintainer: speps <speps at aur dot archlinux dot org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgbase=qupzilla
+pkgbase=qupzilla-libre
+pkgname=(qupzilla-libre qupzilla-libre-qt5)
+pkgver=1.6.1
+pkgrel=1
+arch=(i686 x86_64 mips64el)
+url="http://www.qupzilla.com/"
+license=('GPL3')
+makedepends=('qtwebkit' 'qt5-webkit' 'qt5-script' 'hunspell')
+optdepends=('bash-completion: bash completion support')
+source=("$_pkgbase-$pkgver.tar.gz::https://github.com/QupZilla/qupzilla/archive/v$pkgver.tar.gz"
+ 'searchenginesmanager.cpp.sed'
+ 'speeddial.cpp.sed'
+ 'start.html.sed')
+noextract=("$_pkgbase-$pkgver.tar.gz")
+install="$_pkgbase.install"
+md5sums=('ca6fee487c9871d37d2dd09b3617b88f'
+ '1d926e97a5b287d40fb695f6516f2a06'
+ '0f166fa102af975b3b8ac030d477e9b8'
+ '77120a0c39ba8254e5b2c273910f029a')
+
+prepare() {
+ # extract
+ mkdir -p qt{4,5}
+ bsdtar --strip-components 1 -zxf $_pkgbase-$pkgver.tar.gz -C qt4
+ bsdtar --strip-components 1 -zxf $_pkgbase-$pkgver.tar.gz -C qt5
+
+ # configure
+ export USE_WEBGL=true \
+ QUPZILLA_PREFIX=/usr/
+
+ # remove Google and Youtube support, replaces it to DDG HTML
+ cd qt4
+ sed -i -f $srcdir/searchenginesmanager.cpp.sed src/lib/opensearch/searchenginesmanager.cpp
+ sed -i -f $srcdir/speeddial.cpp.sed src/lib/plugins/speeddial.cpp
+ sed -i -f $srcdir/start.html.sed src/lib/data/html/start.html
+
+ cd ../qt5
+ sed -i -f $srcdir/searchenginesmanager.cpp.sed src/lib/opensearch/searchenginesmanager.cpp
+ sed -i -f $srcdir/speeddial.cpp.sed src/lib/plugins/speeddial.cpp
+ sed -i -f $srcdir/start.html.sed src/lib/data/html/start.html
+}
+
+build() {
+ cd qt4
+ qmake-qt4
+ make
+
+ cd ../qt5
+ qmake
+ make
+}
+
+package_qupzilla-libre() {
+ pkgdesc="Cross-platform QtWebKit browser, without non-privacy search providers"
+ depends=('qtwebkit' 'hunspell')
+ provides=qupzilla=$pkgver
+ conflicts=qupzilla
+ replaces=qupzilla
+
+ cd qt4
+ make INSTALL_ROOT="$pkgdir/" install
+
+ # zsh completion
+ install -Dm644 linux/completion/_$_pkgbase \
+ "$pkgdir/usr/share/zsh/site-functions/_$_pkgbase"
+}
+
+package_qupzilla-libre-qt5() {
+ pkgdesc="Cross-platform QtWebKit browser (Qt5), without non-privacy search providers"
+ depends=('qt5-webkit' 'qt5-script' 'hunspell' 'desktop-file-utils' 'hicolor-icon-theme')
+ provides=('qupzilla-libre' "qupzilla-qt5=$pkgver")
+ conflicts=('qupzilla-libre' 'qupzilla-qt5')
+ replaces=qupzilla-qt5
+
+ cd qt5
+ make INSTALL_ROOT="$pkgdir/" install
+
+ # zsh completion
+ install -Dm644 linux/completion/_$_pkgbase \
+ "$pkgdir/usr/share/zsh/site-functions/_$_pkgbase"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/qupzilla-libre/qupzilla.install b/libre/qupzilla-libre/qupzilla.install
new file mode 100644
index 000000000..029294d67
--- /dev/null
+++ b/libre/qupzilla-libre/qupzilla.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor 2> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/qupzilla-libre/searchenginesmanager.cpp.sed b/libre/qupzilla-libre/searchenginesmanager.cpp.sed
new file mode 100644
index 000000000..76011d058
--- /dev/null
+++ b/libre/qupzilla-libre/searchenginesmanager.cpp.sed
@@ -0,0 +1,19 @@
+s|DuckDuckGo|DuckDuckGo HTML|
+\|m_startingEngineName = settings[.]value("activeEngine", "Google")[.]toString();| s|Google|DuckDuckGo HTML|
+\|m_defaultEngineName = settings[.]value("DefaultEngine", "Google")[.]toString();| s|Google|DuckDuckGo HTML|
+\|Engine google;|d
+\|google[.]name = "Google";|d
+\|google[.]icon = QIcon(":icons/sites/google[.]png");|d
+\|google[.]url = "http://www[.]google[.]com/search?client=qupzilla[&]q=%s";|d
+\|google[.]shortcut = "g";|d
+\|google[.]suggestionsUrl = "http://suggestqueries[.]google[.]com/complete/search?output=firefox[&]q=%s";|d
+\|Engine yt;|d
+\|yt[.]name = "YouTube";|d
+\|yt[.]icon = QIcon(":/icons/sites/youtube.png");|d
+\|yt[.]url = "http://www[.]youtube[.]com/results?search_query=%s[&]search=Search";|d
+\|yt[.]shortcut = "yt";|d
+\|yt[.]suggestionsUrl = "http://suggestqueries[.]google[.]com/complete/search?ds=yt[&]output=firefox[&]q=%s";|d
+\|https://duckduckgo[.]com/?q=%s[&]t=qupzilla| s|duckduckgo[.]com|duckduckgo.com/html|
+\|addEngine(google);|d
+\|addEngine(yt);|d
+\|m_defaultEngine = google;| s|google|duck|
diff --git a/libre/qupzilla-libre/speeddial.cpp.sed b/libre/qupzilla-libre/speeddial.cpp.sed
new file mode 100644
index 000000000..b8f591e87
--- /dev/null
+++ b/libre/qupzilla-libre/speeddial.cpp.sed
@@ -0,0 +1,4 @@
+s|www[.]google[.]com|duckduckgo.com/html|
+s|Google|DuckDuckGo HTML|
+\#"url:[\]"https://github[.]com/QupZilla/qupzilla[\]"|title:[\]"QupZilla GitHub[\]";"# s#$#;#
+\#"url:[\]"https://duckduckgo[.]com[\]"|title:[\]"DuckDuckGo[\]";";#d
diff --git a/libre/qupzilla-libre/start.html.sed b/libre/qupzilla-libre/start.html.sed
new file mode 100644
index 000000000..f59a65979
--- /dev/null
+++ b/libre/qupzilla-libre/start.html.sed
@@ -0,0 +1 @@
+\|<form action="https://duckduckgo[.]com/" method="GET">| s|duckduckgo[.]com|duckduckgo.com/html|
diff --git a/libre/reflector/PKGBUILD b/libre/reflector/PKGBUILD
new file mode 100644
index 000000000..c8bc6bd5e
--- /dev/null
+++ b/libre/reflector/PKGBUILD
@@ -0,0 +1,43 @@
+#Maintainer: Xyne <ac xunilhcra enyx, backwards>
+#Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+pkgname=reflector
+pkgver=2014
+pkgrel=2.1
+pkgdesc='A Python 3 module and script to retrieve and filter the latest Pacman mirror list (Parabola rebranded)'
+arch=(any)
+license=(GPL)
+url="http://xyne.archlinux.ca/projects/reflector"
+depends=(python3)
+optdepends=('rsync: rate rsync mirrors')
+source=(
+ http://xyne.archlinux.ca/projects/reflector/src/reflector-2014.tar.xz
+ http://xyne.archlinux.ca/projects/reflector/src/reflector-2014.tar.xz.sig
+ rebranding.patch
+)
+sha512sums=(
+ ac9e0026019048c96be5dd4d156bf79b7d7616f764b5d8fb169cb09cbf629a3e2b1efb1ee7cb53b4e0cd109b985f598d9f80941714e47ed0f21c6417df9b073b
+ SKIP
+ 83609177f88c0412f1a543f0431ecfb8be229bfef76d7087c35e9273988faedaf24a98ca45d98248eb5dfaa9a27e321dea99a256c68c5bc86a8a0ba53ed56d02
+)
+md5sums=(
+ 69ab92b948ffe842189229d09bfbf1c0
+ SKIP
+ 24c2a21bc1ac0d3758d8043f36d95add
+)
+
+prepare ()
+{
+ cd "$srcdir/$pkgname-$pkgver"
+ # Rebranding for Parabola
+ patch -Np1 -i "$srcdir/rebranding.patch"
+}
+
+package ()
+{
+ cd "$srcdir/$pkgname-$pkgver"
+ python3 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+ install -Dm755 "$srcdir/$pkgname-$pkgver/$pkgname" "$pkgdir/usr/bin/$pkgname"
+}
+
+
+# vim: set ts=2 sw=2 et:
diff --git a/libre/reflector/rebranding.patch b/libre/reflector/rebranding.patch
new file mode 100644
index 000000000..d78462b06
--- /dev/null
+++ b/libre/reflector/rebranding.patch
@@ -0,0 +1,63 @@
+diff --git a/Reflector.py b/Reflector.py
+index c046d23..ddf3ac8 100644
+--- a/Reflector.py
++++ b/Reflector.py
+@@ -63,7 +63,7 @@ def get_cache_file():
+
+ class MirrorStatus():
+ # JSON URI
+- URL = 'https://www.archlinux.org/mirrors/status/json/'
++ URL = 'https://parabolagnulinux.org/mirrors/status/json/'
+ # Mirror URL format. Accepts server base URL, repository, and architecture.
+ MIRROR_URL_FORMAT = '{0}{1}/os/{2}'
+ MIRRORLIST_ENTRY_FORMAT = "Server = " + MIRROR_URL_FORMAT + "\n"
+@@ -92,8 +92,12 @@ class MirrorStatus():
+ 'extra',
+ 'gnome-unstable',
+ 'kde-unstable',
++ 'libre',
++ 'libre-testing',
+ 'multilib',
+- 'multilib-testing'
++ 'multilib-testing',
++ 'nonprism',
++ 'pcr',
+ 'staging',
+ 'testing'
+ )
+@@ -449,7 +453,7 @@ class MirrorStatus():
+
+ width = 80
+ colw = 11
+- header = '# Arch Linux mirrorlist generated by Reflector #'.center(width, '#')
++ header = '# Parabola GNU/Linux-libre mirrorlist generated by Reflector #'.center(width, '#')
+ border = '#' * len(header)
+ mirrorlist = '{}\n{}\n{}\n'.format(border, header, border) + \
+ '\n' + \
+@@ -516,7 +520,7 @@ def add_arguments(parser):
+ '''
+ Add reflector arguments to the argument parser.
+ '''
+- parser = argparse.ArgumentParser(description='retrieve and filter a list of the latest Arch Linux mirrors')
++ parser = argparse.ArgumentParser(description='retrieve and filter a list of the latest Parabola GNU/Linux-libre mirrors')
+
+ parser.add_argument(
+ '--connection-timeout', dest='connection_timeout', type=int, metavar='n', default=5,
+@@ -535,7 +539,7 @@ def add_arguments(parser):
+
+ parser.add_argument(
+ '--cache-timeout', dest='cache_timeout', type=int, metavar='n', default=300,
+- help='The cache timeout in seconds for the data retrieved from the Arch Linux Mirror Status API. The default is 300 (5 minutes).'
++ help='The cache timeout in seconds for the data retrieved from the Parabola GNU/Linux-libre Mirror Status API. The default is 300 (5 minutes).'
+ )
+
+ parser.add_argument(
+@@ -615,7 +619,7 @@ def parse_args(args=None):
+ Parse command-line arguments.
+ '''
+ parser = argparse.ArgumentParser(
+- description='retrieve and filter a list of the latest Arch Linux mirrors'
++ description='retrieve and filter a list of the latest Parabola GNU/Linux-libre mirrors'
+ )
+ parser = add_arguments(parser)
+ options = parser.parse_args(args)
diff --git a/libre/ronn/PKGBUILD b/libre/ronn/PKGBUILD
new file mode 100644
index 000000000..3f8d0470e
--- /dev/null
+++ b/libre/ronn/PKGBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+_gemname=ronn
+pkgname=$_gemname
+pkgver=0.7.3
+pkgdesc="The opposite of roff; manual authoring tool"
+url="http://rtomayko.github.io/ronn/"
+license=('custom:MIT')
+
+provides=(ruby-$_gemname=$pkgver)
+
+pkgrel=5
+arch=('any')
+depends=('ruby' 'ruby-hpricot' 'ruby-rdiscount' 'ruby-mustache')
+makedepends=('rubygems')
+source=(http://gems.rubyforge.org/gems/$_gemname-$pkgver.gem)
+noextract=($_gemname-$pkgver.gem)
+md5sums=('c5aa4ef58d35d0cc635b769281e03225')
+
+package() {
+ cd "$srcdir"
+ local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
+ gem install --no-user-install --ignore-dependencies -i "$pkgdir$_gemdir" -n "$pkgdir/usr/bin" \
+ "$_gemname-$pkgver.gem"
+
+ install -d "$pkgdir"/usr/share/licenses/$pkgname
+ ln -sr "$pkgdir$_gemdir"/gems/$_gemname-$pkgver/COPYING \
+ "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+
+ shopt -s nullglob
+ for file in "$pkgdir$_gemdir"/gems/$_gemname-$pkgver/man/*.{1..8}; do
+ install -Dm644 "$file" "$pkgdir"/usr/share/man/man${file##*.}/${file##*/}
+ done
+}
diff --git a/libre/rp-pppoe-libre/PKGBUILD b/libre/rp-pppoe-libre/PKGBUILD
new file mode 100644
index 000000000..f7adb5b80
--- /dev/null
+++ b/libre/rp-pppoe-libre/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 186154 2013-05-21 10:00:49Z tpowa $
+# Maintainer: Daniel Isenmann <daniel@archlinux.org>
+# Contributor: orelien <aurelien.foret@wanadoo.fr>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=rp-pppoe
+pkgname=rp-pppoe-libre
+pkgver=3.11
+pkgrel=4
+pkgdesc="Roaring Penguin's Point-to-Point Protocol over Ethernet client, without nonfree ServPoET recommendation"
+arch=('i686' 'x86_64')
+url="http://www.roaringpenguin.com/pppoe/"
+license=('GPL')
+depends=('ppp>=2.4.5' 'sh' 'net-tools')
+backup=(etc/ppp/pppoe.conf etc/ppp/firewall-standalone etc/ppp/firewall-masq
+ etc/ppp/pppoe-server-options)
+options=('!makeflags')
+provides=("rp-pppoe=$pkgver")
+replaces=('rp-pppoe')
+conflicts=('rp-pppoe')
+install=rp-pppoe.install
+source=(http://www.roaringpenguin.com/files/download/rp-pppoe-$pkgver.tar.gz{,.sig}
+ adsl.service
+ kmode.patch
+ $pkgname.patch)
+
+prepare() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ ## Adding patch to remove nonfree software recommendation (ServPoET)
+ patch -Np1 -i "$srcdir/rp-pppoe-libre.patch"
+
+ cd "$srcdir/$_pkgname-$pkgver/src"
+ patch -Np2 -i ../../kmode.patch
+}
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver/src"
+ ./configure --prefix=/usr --sbindir=/usr/bin --enable-plugin
+ make PLUGIN_DIR="/usr/lib/rp-pppoe" all rp-pppoe.so
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver/src"
+ make PLUGIN_DIR="/usr/lib/rp-pppoe" DESTDIR="$pkgdir" install
+
+ #install -Dm755 "$srcdir/adsl" "$pkgdir/etc/rc.d/adsl"
+ install -Dm644 "$srcdir/adsl.service" "$pkgdir/usr/lib/systemd/system/adsl.service"
+}
+md5sums=('13b5900c56bd602df6cc526e5e520722'
+ 'SKIP'
+ '45dc8fc3d0341a3930182a480859ad76'
+ 'd38a903a247d689ff0323d7b6caa1c6b'
+ '3c53d550ac408608abb0b6cd6b76b6c2')
diff --git a/libre/rp-pppoe-libre/adsl b/libre/rp-pppoe-libre/adsl
new file mode 100644
index 000000000..33bd91839
--- /dev/null
+++ b/libre/rp-pppoe-libre/adsl
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting ADSL Connection"
+ /usr/sbin/pppoe-start &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon adsl
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping ADSL Connection"
+ /usr/sbin/pppoe-stop &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon adsl
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/libre/rp-pppoe-libre/adsl.service b/libre/rp-pppoe-libre/adsl.service
new file mode 100644
index 000000000..f9a2fdcc6
--- /dev/null
+++ b/libre/rp-pppoe-libre/adsl.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=ADSL Deamon
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/pppoe-start
+ExecStop=/usr/bin/pppoe-stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/rp-pppoe-libre/kmode.patch b/libre/rp-pppoe-libre/kmode.patch
new file mode 100644
index 000000000..37eef58f7
--- /dev/null
+++ b/libre/rp-pppoe-libre/kmode.patch
@@ -0,0 +1,19 @@
+diff -up rp-pppoe-3.11/src/configure.orig rp-pppoe-3.11/src/configure
+--- rp-pppoe-3.11/src/configure.orig 2012-08-17 12:31:25.000000000 -0600
++++ rp-pppoe-3.11/src/configure 2013-02-11 14:23:05.000000000 -0700
+@@ -3679,6 +3679,7 @@ do :
+ #include<net/ethernet.h>
+ #include<linux/if.h>
+ #include<linux/in.h>
++#include<linux/in6.h>
+
+ "
+ if test "x$ac_cv_header_linux_if_pppox_h" = x""yes; then :
+@@ -4525,6 +4526,7 @@ else
+ #include <net/ethernet.h>
+ #include <linux/if.h>
+ #include <linux/in.h>
++#include <linux/in6.h>
+ #include <linux/if_pppox.h>
+ int main()
+ {
diff --git a/libre/rp-pppoe-libre/rp-pppoe-libre.patch b/libre/rp-pppoe-libre/rp-pppoe-libre.patch
new file mode 100644
index 000000000..9cf16d7d7
--- /dev/null
+++ b/libre/rp-pppoe-libre/rp-pppoe-libre.patch
@@ -0,0 +1,110 @@
+diff -Nur rp-pppoe-3.11.orig/rp-pppoe.spec rp-pppoe-3.11/rp-pppoe.spec
+--- rp-pppoe-3.11.orig/rp-pppoe.spec 2012-08-17 15:31:25.000000000 -0300
++++ rp-pppoe-3.11/rp-pppoe.spec 2012-10-05 01:42:29.964508454 -0300
+@@ -55,7 +55,7 @@
+
+ %files
+ %defattr(-,root,root)
+-%doc doc/CHANGES doc/HOW-TO-CONNECT doc/LICENSE doc/KERNEL-MODE-PPPOE README SERVPOET
++%doc doc/CHANGES doc/HOW-TO-CONNECT doc/LICENSE doc/KERNEL-MODE-PPPOE README
+ %config(noreplace) /etc/ppp/pppoe.conf
+ %config(noreplace) /etc/ppp/pppoe-server-options
+ %config(noreplace) /etc/ppp/firewall-masq
+diff -Nur rp-pppoe-3.11.orig/SERVPOET /dev/null
+--- rp-pppoe-3.11.orig/SERVPOET 2012-08-17 15:31:25.000000000 -0300
++++ /dev/null 2012-10-05 01:27:08.580078512 -0300
+@@ -1,18 +0,0 @@
+-# LIC: GPL
+-
+-ServPoET
+---------
+-
+-ServPoET is a commercial version of the PPPoE server. While everything
+-you received in this package is licensed under the GNU General Public
+-License, ServPoET is not free software and is licensed under a traditional
+-commercial license.
+-
+-ServPoET features RADIUS support, support for different realms,
+-real-time server status reporting and a friendly curses-based GUI for
+-administration. For information on ServPoET:
+-
+-Contact Fine Point Technologies, Inc. (http://www.finepoint.com/)
+-
+---
+-David F. Skoll <dfs@roaringpenguin.com>
+diff -Nur rp-pppoe-3.11.orig/src/Makefile.in rp-pppoe-3.11/src/Makefile.in
+--- rp-pppoe-3.11.orig/src/Makefile.in 2012-08-17 15:31:25.000000000 -0300
++++ rp-pppoe-3.11/src/Makefile.in 2012-10-05 01:46:13.121336619 -0300
+@@ -44,9 +44,6 @@
+ PPPOE_PATH=$(sbindir)/pppoe
+ PPPD_PATH=@PPPD@
+
+-# Include ServPoET version if we're building for ServPoET
+-@LIC_MAKEFILE_INCLUDE@
+-
+ # Kernel-mode plugin gets installed here.
+ PLUGIN_DIR=/etc/ppp/plugins
+ PLUGIN_PATH=$(PLUGIN_DIR)/rp-pppoe.so
+@@ -152,7 +149,6 @@
+ $(install) -m 644 ../doc/HOW-TO-CONNECT $(DESTDIR)$(docdir)
+ $(install) -m 644 ../doc/LICENSE $(DESTDIR)$(docdir)
+ $(install) -m 644 ../README $(DESTDIR)$(docdir)
+- $(install) -m 644 ../SERVPOET $(DESTDIR)$(docdir)
+ $(install) -m 644 ../configs/pap-secrets $(DESTDIR)$(docdir)
+ -mkdir -p $(DESTDIR)$(mandir)/man8
+ for i in $(TARGETS) ; do \
+@@ -210,25 +206,15 @@
+ @echo ""
+ @echo "Type 'pppoe-setup' to configure the software."
+
+-servpoet-tgz: distro-servpoet
+- cd .. && tar cvf servpoet-$(VERSION)$(BETA).tar servpoet-$(VERSION)$(BETA)
+- gzip -f -v -9 ../servpoet-$(VERSION)$(BETA).tar
+- rm -rf ../servpoet-$(VERSION)$(BETA)
+-
+ tgz: distro
+ cd .. && tar cvf rp-pppoe-$(VERSION)$(BETA).tar rp-pppoe-$(VERSION)$(BETA)
+ gzip -f -v -9 ../rp-pppoe-$(VERSION)$(BETA).tar
+ rm -rf ../rp-pppoe-$(VERSION)$(BETA)
+
+-distro-servpoet: distro
+- cp ../servpoet.spec ../rp-pppoe-$(VERSION)$(BETA)
+- $(MAKE) -C licensed-only distro VERSION=$(VERSION) BETA=$(BETA)
+- mv ../rp-pppoe-$(VERSION)$(BETA) ../servpoet-$(VERSION)$(BETA)
+-
+ distro:
+ rm -rf ../rp-pppoe-$(VERSION)$(BETA)
+ mkdir ../rp-pppoe-$(VERSION)$(BETA)
+- for i in README SERVPOET go go-gui rp-pppoe.spec ; do \
++ for i in README go go-gui rp-pppoe.spec ; do \
+ cp ../$$i ../rp-pppoe-$(VERSION)$(BETA) || exit 1; \
+ done
+ mkdir ../rp-pppoe-$(VERSION)$(BETA)/gui
+@@ -286,10 +272,6 @@
+ /usr/src/redhat/RPMS/i386/rp-pppoe-$(VERSION)-1.i386.rpm \
+ /usr/src/redhat/RPMS/i386/rp-pppoe-gui-$(VERSION)-1.i386.rpm
+
+-servpoet-rpms: servpoet-tgz
+- cp ../servpoet-$(VERSION).tar.gz /usr/src/redhat/SOURCES
+- cd .. && rpm -ba servpoet.spec
+-
+ clean:
+ rm -f *.o pppoe-relay pppoe pppoe-sniff pppoe-server core rp-pppoe.so plugin/*.o plugin/libplugin.a *~
+ test -f licensed-only/Makefile && $(MAKE) -C licensed-only clean || true
+@@ -304,15 +286,13 @@
+ update-version:
+ sed -e 's/^Version: .*$$/Version: $(VERSION)/' ../rp-pppoe.spec > ../rp-pppoe.spec.new && mv ../rp-pppoe.spec.new ../rp-pppoe.spec
+ sed -e 's+^Source: .*$$+Source: http://www.roaringpenguin.com/pppoe/rp-pppoe-$(VERSION).tar.gz+' ../rp-pppoe.spec > ../rp-pppoe.spec.new && mv ../rp-pppoe.spec.new ../rp-pppoe.spec
+- test -f ../servpoet.spec && sed -e 's/^Version: .*$$/Version: $(VERSION)/' ../servpoet.spec > ../servpoet.spec.new && mv ../servpoet.spec.new ../servpoet.spec || true
+- test -f ../servpoet.spec && sed -e 's+^Source: .*$$+Source: http://www.roaringpenguin.com/pppoe/servpoet-$(VERSION).tar.gz+' ../servpoet.spec > ../servpoet.spec.new && mv ../servpoet.spec.new ../servpoet.spec || true
+
+ # Convenience target for David! Don't try to use this one.
+ km:
+ ./configure --enable-plugin=/home/dfs/Archive/PPP/ppp-2.4.0.pppoe4-patched-dfs
+
+ licensed-only:
+- $(MAKE) -C licensed-only all VERSION=$(VERSION) SERVPOET_VERSION=$(SERVPOET_VERSION)
++ $(MAKE) -C licensed-only all VERSION=$(VERSION)
+
+ l2tp: libevent/libevent.a
+ $(MAKE) -C l2tp all
diff --git a/libre/rp-pppoe-libre/rp-pppoe.install b/libre/rp-pppoe-libre/rp-pppoe.install
new file mode 100644
index 000000000..1d4bccce2
--- /dev/null
+++ b/libre/rp-pppoe-libre/rp-pppoe.install
@@ -0,0 +1,12 @@
+#arg 1: the new package version
+post_install() {
+echo ">>> The kernel-mode plugin has a new place."
+echo ">>> It's now located under /usr/lib/rp-pppoe/rp-pppoe.so"
+echo ">>> Change LINUX_PLUGIN to the new path in your /etc/ppp/pppoe.conf"
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
diff --git a/libre/ruby-hpricot/PKGBUILD b/libre/ruby-hpricot/PKGBUILD
new file mode 100644
index 000000000..6a15b2af7
--- /dev/null
+++ b/libre/ruby-hpricot/PKGBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+
+_gemname=hpricot
+pkgname=ruby-$_gemname
+pkgver=0.8.6
+pkgdesc="_why's old HTML parser"
+url="http://github.com/hpricot/hpricot"
+license=('custom:MIT')
+
+pkgrel=2
+arch=('i686' 'x86_64')
+depends=('ruby')
+makedepends=('rubygems')
+source=(http://rubygems.org/downloads/${_gemname}-${pkgver}.gem)
+noextract=(${_gemname}-${pkgver}.gem)
+md5sums=('b0f1f02448037f4f6243c33d5f818fa4')
+
+package() {
+ cd "${srcdir}"
+ local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
+ gem install --no-user-install --ignore-dependencies -i "$pkgdir$_gemdir" -n "$pkgdir/usr/bin" \
+ "$_gemname-$pkgver.gem"
+
+ install -d "$pkgdir"/usr/share/licenses/$pkgname
+ ln -sr "$pkgdir$_gemdir"/gems/$_gemname-$pkgver/COPYING \
+ "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
diff --git a/libre/ruby-mustache/PKGBUILD b/libre/ruby-mustache/PKGBUILD
new file mode 100644
index 000000000..dbea70158
--- /dev/null
+++ b/libre/ruby-mustache/PKGBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net>
+# Maintainer (AUR): David Campbell <davekong@archlinux.us>
+
+_gemname=mustache
+pkgname=ruby-$_gemname
+pkgver=0.99.4
+pkgdesc="A framework-agnostic way to render logic-free views."
+url="http://mustache.github.io/"
+license=('custom:MIT')
+
+pkgrel=4
+arch=('any')
+depends=('ruby')
+makedepends=('rubygems')
+source=("http://gems.rubyforge.org/gems/mustache-${pkgver}.gem")
+md5sums=('650194ec2c166feb087377647414b9dc')
+noextract=($_gemname-$pkgver.gem)
+
+package() {
+ cd "${srcdir}"
+ local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
+ gem install --no-user-install --ignore-dependencies -i "$pkgdir$_gemdir" -n "$pkgdir/usr/bin" \
+ "$_gemname-$pkgver.gem"
+
+ install -d "$pkgdir"/usr/share/licenses/$pkgname
+ ln -sr "$pkgdir$_gemdir"/gems/$_gemname-$pkgver/LICENSE \
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+
+ shopt -s nullglob
+ for file in "$pkgdir$_gemdir"/gems/$_gemname-$pkgver/man/*.{1..8}; do
+ install -Dm644 "$file" "$pkgdir"/usr/share/man/man${file##*.}/${file##*/}
+ done
+}
diff --git a/libre/ruby-rdiscount/PKGBUILD b/libre/ruby-rdiscount/PKGBUILD
new file mode 100644
index 000000000..449a717f7
--- /dev/null
+++ b/libre/ruby-rdiscount/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net
+# Maintainer (AUR): Alexsandr Pavlov <kidoz at mail dot ru>
+# Contributor: Massimiliano Torromeo <massimiliano.torromeo at gmail dot com>
+
+_gemname=rdiscount
+pkgname=ruby-$_gemname
+pkgver=2.1.7
+pkgdesc="C implementation of John Gruber's Markdown."
+url="http://dafoster.net/projects/rdiscount/"
+
+license=('BSD3')
+
+pkgrel=1
+arch=('i686' 'x86_64')
+depends=('ruby')
+makedepends=('rubygems')
+source=(http://gems.rubyforge.org/gems/$_gemname-$pkgver.gem)
+md5sums=('33fcd949e204dcacff0002e597cdd7e7')
+noextract=($_gemname-$pkgver.gem)
+
+package() {
+ cd "${srcdir}"
+ local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
+ gem install --no-user-install --ignore-dependencies -i "$pkgdir$_gemdir" -n "$pkgdir/usr/bin" \
+ "$_gemname-$pkgver.gem"
+
+ install -d "$pkgdir"/usr/share/licenses/$pkgname
+ ln -sr "$pkgdir$_gemdir"/gems/$_gemname-$pkgver/COPYING \
+ "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+
+ shopt -s nullglob
+ for file in "$pkgdir$_gemdir"/gems/$_gemname-$pkgver/man/*.{1..8}; do
+ install -Dm644 "$file" "$pkgdir"/usr/share/man/man${file##*.}/${file##*/}
+ done
+}
+
diff --git a/libre/sdl-libre/PKGBUILD b/libre/sdl-libre/PKGBUILD
new file mode 100644
index 000000000..effbd1c23
--- /dev/null
+++ b/libre/sdl-libre/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 198628 2013-10-31 13:07:39Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+# Maintainer (Connochaetos): Henry Jensen <hjensen@connochaetos.org>
+
+pkgname=sdl-libre
+pkgver=1.2.15
+pkgrel=5
+pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard, without nonfree riva_mmio.h file"
+arch=('i686' 'x86_64')
+url="http://www.libsdl.org"
+license=('LGPL')
+provides=("sdl=${pkgver}")
+conflicts=('sdl')
+replaces=('sdl')
+depends=('glibc' 'libxext' 'libxrender' 'libx11')
+makedepends=('alsa-lib' 'mesa' 'libpulse' 'glu')
+optdepends=('alsa-lib: ALSA audio driver'
+ 'libpulse: PulseAudio audio driver')
+options=('staticlibs')
+mksource=(http://www.libsdl.org/release/SDL-${pkgver}.tar.gz
+ libre.patch)
+source=(https://repo.parabolagnulinux.org/other/$pkgname/SDL-libre-${pkgver}.tar.gz
+ sdl-1.2.14-fix-mouse-clicking.patch
+ sdl-1.2.14-disable-mmx.patch
+ fix_joystick_misc_axes.diff
+ libsdl-1.2.15-resizing.patch
+ sdl_x11sym.patch)
+mkmd5sums=('9d96df8417572a2afb781a7c4c811a85'
+ '5c665f72b8a2adc97a91f6db6f2da79a')
+md5sums=('c6e53ef16fa347ed066c3d68fe93c378'
+ '04d8c179f125e04bcd4c9d60e013c2d7'
+ 'e5c16b7611f62c7cb25f0534eff68852'
+ '687586a108b597a2a6b73070c1d37e51'
+ '3dd50347d8856160a9cbd7f80383a1f8'
+ '148b285bccee9d21bb96db807363b962')
+
+mksource() {
+ cd SDL-$pkgver
+ patch -Np0 -i ../libre.patch
+}
+
+prepare() {
+ cd SDL-$pkgver
+ patch -Np1 -i ../sdl-1.2.14-fix-mouse-clicking.patch
+ patch -Np1 -i ../sdl-1.2.14-disable-mmx.patch
+ patch -Np1 -i ../fix_joystick_misc_axes.diff
+ patch -Np1 -i ../libsdl-1.2.15-resizing.patch
+ patch -Np0 -i ../sdl_x11sym.patch
+}
+
+build() {
+ cd SDL-$pkgver
+ ./configure --prefix=/usr --disable-nasm --enable-alsa \
+ --with-x --disable-rpath --disable-static
+ make
+}
+
+package() {
+ cd SDL-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/libre/sdl-libre/fix_joystick_misc_axes.diff b/libre/sdl-libre/fix_joystick_misc_axes.diff
new file mode 100644
index 000000000..75e3755c9
--- /dev/null
+++ b/libre/sdl-libre/fix_joystick_misc_axes.diff
@@ -0,0 +1,13 @@
+diff --git a/src/joystick/linux/SDL_sysjoystick.c b/src/joystick/linux/SDL_sysjoystick.c
+index ee43974..80e46e4 100644
+--- a/src/joystick/linux/SDL_sysjoystick.c
++++ b/src/joystick/linux/SDL_sysjoystick.c
+@@ -702,7 +702,7 @@ static SDL_bool EV_ConfigJoystick(SDL_Joystick *joystick, int fd)
+ ++joystick->nbuttons;
+ }
+ }
+- for ( i=0; i<ABS_MISC; ++i ) {
++ for ( i=0; i<ABS_MAX; ++i ) {
+ /* Skip hats */
+ if ( i == ABS_HAT0X ) {
+ i = ABS_HAT3Y;
diff --git a/libre/sdl-libre/libre.patch b/libre/sdl-libre/libre.patch
new file mode 100644
index 000000000..72f7da56a
--- /dev/null
+++ b/libre/sdl-libre/libre.patch
@@ -0,0 +1,578 @@
+--- src/video/fbcon/riva_mmio.h 2012-01-19 04:30:06.000000000 -0200
++++ /dev/null 2012-04-01 13:58:27.776718756 -0300
+@@ -1,449 +0,0 @@
+-/***************************************************************************\
+-|* *|
+-|* Copyright 1993-1999 NVIDIA, Corporation. All rights reserved. *|
+-|* *|
+-|* NOTICE TO USER: The source code is copyrighted under U.S. and *|
+-|* international laws. Users and possessors of this source code are *|
+-|* hereby granted a nonexclusive, royalty-free copyright license to *|
+-|* use this code in individual and commercial software. *|
+-|* *|
+-|* Any use of this source code must include, in the user documenta- *|
+-|* tion and internal comments to the code, notices to the end user *|
+-|* as follows: *|
+-|* *|
+-|* Copyright 1993-1999 NVIDIA, Corporation. All rights reserved. *|
+-|* *|
+-|* NVIDIA, CORPORATION MAKES NO REPRESENTATION ABOUT THE SUITABILITY *|
+-|* OF THIS SOURCE CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" *|
+-|* WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND. NVIDIA, CORPOR- *|
+-|* ATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOURCE CODE, *|
+-|* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGE- *|
+-|* MENT, AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL *|
+-|* NVIDIA, CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT, INCI- *|
+-|* DENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RE- *|
+-|* SULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION *|
+-|* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF *|
+-|* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE. *|
+-|* *|
+-|* U.S. Government End Users. This source code is a "commercial *|
+-|* item," as that term is defined at 48 C.F.R. 2.101 (OCT 1995), *|
+-|* consisting of "commercial computer software" and "commercial *|
+-|* computer software documentation," as such terms are used in *|
+-|* 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Govern- *|
+-|* ment only as a commercial end item. Consistent with 48 C.F.R. *|
+-|* 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), *|
+-|* all U.S. Government End Users acquire the source code with only *|
+-|* those rights set forth herein. *|
+-|* *|
+-\***************************************************************************/
+-
+-#ifndef __RIVA_HW_H__
+-#define __RIVA_HW_H__
+-#define RIVA_SW_VERSION 0x00010003
+-
+-/*
+- * Typedefs to force certain sized values.
+- */
+-typedef Uint8 U008;
+-typedef Uint16 U016;
+-typedef Uint32 U032;
+-
+-/*
+- * HW access macros.
+- */
+-#define NV_WR08(p,i,d) (((U008 *)(p))[i]=(d))
+-#define NV_RD08(p,i) (((U008 *)(p))[i])
+-#define NV_WR16(p,i,d) (((U016 *)(p))[(i)/2]=(d))
+-#define NV_RD16(p,i) (((U016 *)(p))[(i)/2])
+-#define NV_WR32(p,i,d) (((U032 *)(p))[(i)/4]=(d))
+-#define NV_RD32(p,i) (((U032 *)(p))[(i)/4])
+-#define VGA_WR08(p,i,d) NV_WR08(p,i,d)
+-#define VGA_RD08(p,i) NV_RD08(p,i)
+-
+-/*
+- * Define supported architectures.
+- */
+-#define NV_ARCH_03 0x03
+-#define NV_ARCH_04 0x04
+-#define NV_ARCH_10 0x10
+-/***************************************************************************\
+-* *
+-* FIFO registers. *
+-* *
+-\***************************************************************************/
+-
+-/*
+- * Raster OPeration. Windows style ROP3.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BB];
+- U032 Rop3;
+-} RivaRop;
+-/*
+- * 8X8 Monochrome pattern.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BD];
+- U032 Shape;
+- U032 reserved03[0x001];
+- U032 Color0;
+- U032 Color1;
+- U032 Monochrome[2];
+-} RivaPattern;
+-/*
+- * Scissor clip rectangle.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BB];
+- U032 TopLeft;
+- U032 WidthHeight;
+-} RivaClip;
+-/*
+- * 2D filled rectangle.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop[1];
+- U032 reserved01[0x0BC];
+- U032 Color;
+- U032 reserved03[0x03E];
+- U032 TopLeft;
+- U032 WidthHeight;
+-} RivaRectangle;
+-/*
+- * 2D screen-screen BLT.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BB];
+- U032 TopLeftSrc;
+- U032 TopLeftDst;
+- U032 WidthHeight;
+-} RivaScreenBlt;
+-/*
+- * 2D pixel BLT.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop[1];
+- U032 reserved01[0x0BC];
+- U032 TopLeft;
+- U032 WidthHeight;
+- U032 WidthHeightIn;
+- U032 reserved02[0x03C];
+- U032 Pixels;
+-} RivaPixmap;
+-/*
+- * Filled rectangle combined with monochrome expand. Useful for glyphs.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BB];
+- U032 reserved03[(0x040)-1];
+- U032 Color1A;
+- struct
+- {
+- U032 TopLeft;
+- U032 WidthHeight;
+- } UnclippedRectangle[64];
+- U032 reserved04[(0x080)-3];
+- struct
+- {
+- U032 TopLeft;
+- U032 BottomRight;
+- } ClipB;
+- U032 Color1B;
+- struct
+- {
+- U032 TopLeft;
+- U032 BottomRight;
+- } ClippedRectangle[64];
+- U032 reserved05[(0x080)-5];
+- struct
+- {
+- U032 TopLeft;
+- U032 BottomRight;
+- } ClipC;
+- U032 Color1C;
+- U032 WidthHeightC;
+- U032 PointC;
+- U032 MonochromeData1C;
+- U032 reserved06[(0x080)+121];
+- struct
+- {
+- U032 TopLeft;
+- U032 BottomRight;
+- } ClipD;
+- U032 Color1D;
+- U032 WidthHeightInD;
+- U032 WidthHeightOutD;
+- U032 PointD;
+- U032 MonochromeData1D;
+- U032 reserved07[(0x080)+120];
+- struct
+- {
+- U032 TopLeft;
+- U032 BottomRight;
+- } ClipE;
+- U032 Color0E;
+- U032 Color1E;
+- U032 WidthHeightInE;
+- U032 WidthHeightOutE;
+- U032 PointE;
+- U032 MonochromeData01E;
+-} RivaBitmap;
+-/*
+- * 3D textured, Z buffered triangle.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BC];
+- U032 TextureOffset;
+- U032 TextureFormat;
+- U032 TextureFilter;
+- U032 FogColor;
+-/* This is a problem on LynxOS */
+-#ifdef Control
+-#undef Control
+-#endif
+- U032 Control;
+- U032 AlphaTest;
+- U032 reserved02[0x339];
+- U032 FogAndIndex;
+- U032 Color;
+- float ScreenX;
+- float ScreenY;
+- float ScreenZ;
+- float EyeM;
+- float TextureS;
+- float TextureT;
+-} RivaTexturedTriangle03;
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BB];
+- U032 ColorKey;
+- U032 TextureOffset;
+- U032 TextureFormat;
+- U032 TextureFilter;
+- U032 Blend;
+-/* This is a problem on LynxOS */
+-#ifdef Control
+-#undef Control
+-#endif
+- U032 Control;
+- U032 FogColor;
+- U032 reserved02[0x39];
+- struct
+- {
+- float ScreenX;
+- float ScreenY;
+- float ScreenZ;
+- float EyeM;
+- U032 Color;
+- U032 Specular;
+- float TextureS;
+- float TextureT;
+- } Vertex[16];
+- U032 DrawTriangle3D;
+-} RivaTexturedTriangle05;
+-/*
+- * 2D line.
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop[1];
+- U032 reserved01[0x0BC];
+- U032 Color; /* source color 0304-0307*/
+- U032 Reserved02[0x03e];
+- struct { /* start aliased methods in array 0400- */
+- U032 point0; /* y_x S16_S16 in pixels 0- 3*/
+- U032 point1; /* y_x S16_S16 in pixels 4- 7*/
+- } Lin[16]; /* end of aliased methods in array -047f*/
+- struct { /* start aliased methods in array 0480- */
+- U032 point0X; /* in pixels, 0 at left 0- 3*/
+- U032 point0Y; /* in pixels, 0 at top 4- 7*/
+- U032 point1X; /* in pixels, 0 at left 8- b*/
+- U032 point1Y; /* in pixels, 0 at top c- f*/
+- } Lin32[8]; /* end of aliased methods in array -04ff*/
+- U032 PolyLin[32]; /* y_x S16_S16 in pixels 0500-057f*/
+- struct { /* start aliased methods in array 0580- */
+- U032 x; /* in pixels, 0 at left 0- 3*/
+- U032 y; /* in pixels, 0 at top 4- 7*/
+- } PolyLin32[16]; /* end of aliased methods in array -05ff*/
+- struct { /* start aliased methods in array 0600- */
+- U032 color; /* source color 0- 3*/
+- U032 point; /* y_x S16_S16 in pixels 4- 7*/
+- } ColorPolyLin[16]; /* end of aliased methods in array -067f*/
+-} RivaLine;
+-/*
+- * 2D/3D surfaces
+- */
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BE];
+- U032 Offset;
+-} RivaSurface;
+-typedef volatile struct
+-{
+- U032 reserved00[4];
+- U016 FifoFree;
+- U016 Nop;
+- U032 reserved01[0x0BD];
+- U032 Pitch;
+- U032 RenderBufferOffset;
+- U032 ZBufferOffset;
+-} RivaSurface3D;
+-
+-/***************************************************************************\
+-* *
+-* Virtualized RIVA H/W interface. *
+-* *
+-\***************************************************************************/
+-
+-struct _riva_hw_inst;
+-struct _riva_hw_state;
+-/*
+- * Virtialized chip interface. Makes RIVA 128 and TNT look alike.
+- */
+-typedef struct _riva_hw_inst
+-{
+- /*
+- * Chip specific settings.
+- */
+- U032 Architecture;
+- U032 Version;
+- U032 CrystalFreqKHz;
+- U032 RamAmountKBytes;
+- U032 MaxVClockFreqKHz;
+- U032 RamBandwidthKBytesPerSec;
+- U032 EnableIRQ;
+- U032 IO;
+- U032 VBlankBit;
+- U032 FifoFreeCount;
+- U032 FifoEmptyCount;
+- /*
+- * Non-FIFO registers.
+- */
+- volatile U032 *PCRTC;
+- volatile U032 *PRAMDAC;
+- volatile U032 *PFB;
+- volatile U032 *PFIFO;
+- volatile U032 *PGRAPH;
+- volatile U032 *PEXTDEV;
+- volatile U032 *PTIMER;
+- volatile U032 *PMC;
+- volatile U032 *PRAMIN;
+- volatile U032 *FIFO;
+- volatile U032 *CURSOR;
+- volatile U032 *CURSORPOS;
+- volatile U032 *VBLANKENABLE;
+- volatile U032 *VBLANK;
+- volatile U008 *PCIO;
+- volatile U008 *PVIO;
+- volatile U008 *PDIO;
+- /*
+- * Common chip functions.
+- */
+- int (*Busy)(struct _riva_hw_inst *);
+- void (*CalcStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *,int,int,int,int,int,int,int,int,int,int,int,int,int);
+- void (*LoadStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *);
+- void (*UnloadStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *);
+- void (*SetStartAddress)(struct _riva_hw_inst *,U032);
+- void (*SetSurfaces2D)(struct _riva_hw_inst *,U032,U032);
+- void (*SetSurfaces3D)(struct _riva_hw_inst *,U032,U032);
+- int (*ShowHideCursor)(struct _riva_hw_inst *,int);
+- void (*LockUnlock)(struct _riva_hw_inst *, int);
+- /*
+- * Current extended mode settings.
+- */
+- struct _riva_hw_state *CurrentState;
+- /*
+- * FIFO registers.
+- */
+- RivaRop *Rop;
+- RivaPattern *Patt;
+- RivaClip *Clip;
+- RivaPixmap *Pixmap;
+- RivaScreenBlt *Blt;
+- RivaBitmap *Bitmap;
+- RivaLine *Line;
+- RivaTexturedTriangle03 *Tri03;
+- RivaTexturedTriangle05 *Tri05;
+-} RIVA_HW_INST;
+-/*
+- * Extended mode state information.
+- */
+-typedef struct _riva_hw_state
+-{
+- U032 bpp;
+- U032 width;
+- U032 height;
+- U032 repaint0;
+- U032 repaint1;
+- U032 screen;
+- U032 pixel;
+- U032 horiz;
+- U032 arbitration0;
+- U032 arbitration1;
+- U032 vpll;
+- U032 pllsel;
+- U032 general;
+- U032 config;
+- U032 cursor0;
+- U032 cursor1;
+- U032 cursor2;
+- U032 offset0;
+- U032 offset1;
+- U032 offset2;
+- U032 offset3;
+- U032 pitch0;
+- U032 pitch1;
+- U032 pitch2;
+- U032 pitch3;
+-} RIVA_HW_STATE;
+-
+-/*
+- * FIFO Free Count. Should attempt to yield processor if RIVA is busy.
+- */
+-
+-#define RIVA_FIFO_FREE(hwptr,cnt) \
+-{ \
+- while (FifoFreeCount < (cnt)) \
+- FifoFreeCount = hwptr->FifoFree >> 2; \
+- FifoFreeCount -= (cnt); \
+-}
+-#endif /* __RIVA_HW_H__ */
+-
+--- src/video/fbcon/SDL_fbriva.c 2012-01-19 04:30:06.000000000 -0200
++++ src/video/fbcon/SDL_fbriva.c 2012-04-01 15:10:10.108451467 -0300
+@@ -24,12 +24,10 @@
+ #include "SDL_video.h"
+ #include "../SDL_blit.h"
+ #include "SDL_fbriva.h"
+-#include "riva_mmio.h"
+ #include "riva_regs.h"
+
+
+ static int FifoEmptyCount = 0;
+-static int FifoFreeCount = 0;
+
+ /* Wait for vertical retrace */
+ static void WaitVBL(_THIS)
+@@ -41,20 +39,6 @@
+ while ( !(*port & 0x08) )
+ ;
+ }
+-static void NV3WaitIdle(_THIS)
+-{
+- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET);
+- while ( (Rop->FifoFree < FifoEmptyCount) ||
+- (*(mapped_io + PGRAPH_OFFSET + 0x000006B0) & 0x01) )
+- ;
+-}
+-static void NV4WaitIdle(_THIS)
+-{
+- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET);
+- while ( (Rop->FifoFree < FifoEmptyCount) ||
+- (*(mapped_io + PGRAPH_OFFSET + 0x00000700) & 0x01) )
+- ;
+-}
+
+ #if 0 /* Not yet implemented? */
+ /* Sets video mem colorkey and accelerated blit function */
+@@ -74,7 +58,6 @@
+ {
+ int dstX, dstY;
+ int dstW, dstH;
+- RivaBitmap *Bitmap = (RivaBitmap *)(mapped_io + BITMAP_OFFSET);
+
+ /* Don't blit to the display surface when switched away */
+ if ( switched_away ) {
+@@ -93,13 +76,6 @@
+ dstX += rect->x;
+ dstY += rect->y;
+
+- RIVA_FIFO_FREE(Bitmap, 1);
+- Bitmap->Color1A = color;
+-
+- RIVA_FIFO_FREE(Bitmap, 2);
+- Bitmap->UnclippedRectangle[0].TopLeft = (dstX << 16) | dstY;
+- Bitmap->UnclippedRectangle[0].WidthHeight = (dstW << 16) | dstH;
+-
+ FB_AddBusySurface(dst);
+
+ if ( dst == this->screen ) {
+@@ -115,7 +91,6 @@
+ int srcX, srcY;
+ int dstX, dstY;
+ int dstW, dstH;
+- RivaScreenBlt *Blt = (RivaScreenBlt *)(mapped_io + BLT_OFFSET);
+
+ /* FIXME: For now, only blit to display surface */
+ if ( dst->pitch != SDL_VideoSurface->pitch ) {
+@@ -142,11 +117,6 @@
+ dstX += dstrect->x;
+ dstY += dstrect->y;
+
+- RIVA_FIFO_FREE(Blt, 3);
+- Blt->TopLeftSrc = (srcY << 16) | srcX;
+- Blt->TopLeftDst = (dstY << 16) | dstX;
+- Blt->WidthHeight = (dstH << 16) | dstW;
+-
+ FB_AddBusySurface(src);
+ FB_AddBusySurface(dst);
+
+@@ -185,23 +155,15 @@
+
+ void FB_RivaAccel(_THIS, __u32 card)
+ {
+- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET);
+
+ /* We have hardware accelerated surface functions */
+ this->CheckHWBlit = CheckHWBlit;
+ wait_vbl = WaitVBL;
+ switch (card) {
+- case FB_ACCEL_NV3:
+- wait_idle = NV3WaitIdle;
+- break;
+- case FB_ACCEL_NV4:
+- wait_idle = NV4WaitIdle;
+- break;
+ default:
+ /* Hmm... FIXME */
+ break;
+ }
+- FifoEmptyCount = Rop->FifoFree;
+
+ /* The Riva has an accelerated color fill */
+ this->info.blit_fill = 1;
+--- src/video/fbcon/SDL_fbvideo.c.orig 2011-09-08 17:30:03.670583685 +0200
++++ src/video/fbcon/SDL_fbvideo.c 2011-09-08 17:30:24.230582737 +0200
+@@ -46,7 +46,6 @@
+ #include "SDL_fbevents_c.h"
+ #include "SDL_fb3dfx.h"
+ #include "SDL_fbmatrox.h"
+-#include "SDL_fbriva.h"
+
+ /*#define FBCON_DEBUG*/
+
+@@ -769,13 +768,6 @@
+ #endif
+ FB_3DfxAccel(this, finfo.accel);
+ break;
+- case FB_ACCEL_NV3:
+- case FB_ACCEL_NV4:
+-#ifdef FBACCEL_DEBUG
+- printf("NVidia hardware accelerator!\n");
+-#endif
+- FB_RivaAccel(this, finfo.accel);
+- break;
+ default:
+ #ifdef FBACCEL_DEBUG
+ printf("Unknown hardware accelerator.\n");
diff --git a/libre/sdl-libre/libsdl-1.2.15-resizing.patch b/libre/sdl-libre/libsdl-1.2.15-resizing.patch
new file mode 100644
index 000000000..0655a13e1
--- /dev/null
+++ b/libre/sdl-libre/libsdl-1.2.15-resizing.patch
@@ -0,0 +1,63 @@
+Description: Revert change that breaks window corner resizing
+ http://bugzilla.libsdl.org/show_bug.cgi?id=1430
+Author: Andrew Caudwell <acaudwell@gmail.com>
+Last-Update: 2012-04-10
+Bug-Debian: http://bugs.debian.org/665779
+
+diff -r c787fb1b5699 src/video/x11/SDL_x11events.c
+--- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300
+@@ -57,12 +57,6 @@
+ static SDLKey MISC_keymap[256];
+ SDLKey X11_TranslateKeycode(Display *display, KeyCode kc);
+
+-/*
+- Pending resize target for ConfigureNotify (so outdated events don't
+- cause inappropriate resize events)
+-*/
+-int X11_PendingConfigureNotifyWidth = -1;
+-int X11_PendingConfigureNotifyHeight = -1;
+
+ #ifdef X_HAVE_UTF8_STRING
+ Uint32 Utf8ToUcs4(const Uint8 *utf8)
+@@ -825,16 +819,6 @@
+ #ifdef DEBUG_XEVENTS
+ printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height);
+ #endif
+- if ((X11_PendingConfigureNotifyWidth != -1) &&
+- (X11_PendingConfigureNotifyHeight != -1)) {
+- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) &&
+- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) {
+- /* Event is from before the resize, so ignore. */
+- break;
+- }
+- X11_PendingConfigureNotifyWidth = -1;
+- X11_PendingConfigureNotifyHeight = -1;
+- }
+ if ( SDL_VideoSurface ) {
+ if ((xevent.xconfigure.width != SDL_VideoSurface->w) ||
+ (xevent.xconfigure.height != SDL_VideoSurface->h)) {
+diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h
+--- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300
+@@ -27,8 +27,3 @@
+ extern void X11_InitOSKeymap(_THIS);
+ extern void X11_PumpEvents(_THIS);
+ extern void X11_SetKeyboardState(Display *display, const char *key_vec);
+-
+-/* Variables to be exported */
+-extern int X11_PendingConfigureNotifyWidth;
+-extern int X11_PendingConfigureNotifyHeight;
+-
+diff -r c787fb1b5699 src/video/x11/SDL_x11video.c
+--- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500
++++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300
+@@ -1182,8 +1182,6 @@
+ current = NULL;
+ goto done;
+ }
+- X11_PendingConfigureNotifyWidth = width;
+- X11_PendingConfigureNotifyHeight = height;
+ } else {
+ if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) {
+ current = NULL;
diff --git a/libre/sdl-libre/sdl-1.2.14-disable-mmx.patch b/libre/sdl-libre/sdl-1.2.14-disable-mmx.patch
new file mode 100644
index 000000000..1bb6e0e47
--- /dev/null
+++ b/libre/sdl-libre/sdl-1.2.14-disable-mmx.patch
@@ -0,0 +1,13 @@
+# and another one from FS#26020
+
+--- a/src/video/SDL_yuv_sw.c 2009-10-13 06:07:15.000000000 +0700
++++ b/src/video/SDL_yuv_sw.c 2011-09-20 19:26:30.247742620 +0700
+@@ -89,6 +89,8 @@
+ #include "SDL_yuvfuncs.h"
+ #include "SDL_yuv_sw_c.h"
+
++#undef __OPTIMIZE__
++
+ /* The functions used to manipulate software video overlays */
+ static struct private_yuvhwfuncs sw_yuvfuncs = {
+ SDL_LockYUV_SW,
diff --git a/libre/sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch b/libre/sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch
new file mode 100644
index 000000000..7d3e5acfc
--- /dev/null
+++ b/libre/sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch
@@ -0,0 +1,23 @@
+--- SDL-1.2.14/src/video/x11/SDL_x11events.c.orig 2010-04-08 11:57:05.003169834 -0700
++++ SDL-1.2.14/src/video/x11/SDL_x11events.c 2010-04-08 12:33:51.690926340 -0700
+@@ -423,12 +423,15 @@
+ if ( xevent.xcrossing.mode == NotifyUngrab )
+ printf("Mode: NotifyUngrab\n");
+ #endif
+- if ( this->input_grab == SDL_GRAB_OFF ) {
+- posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS);
++ if ( (xevent.xcrossing.mode != NotifyGrab) &&
++ (xevent.xcrossing.mode != NotifyUngrab) ) {
++ if ( this->input_grab == SDL_GRAB_OFF ) {
++ posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS);
++ }
++ posted = SDL_PrivateMouseMotion(0, 0,
++ xevent.xcrossing.x,
++ xevent.xcrossing.y);
+ }
+- posted = SDL_PrivateMouseMotion(0, 0,
+- xevent.xcrossing.x,
+- xevent.xcrossing.y);
+ }
+ break;
+
diff --git a/libre/sdl-libre/sdl_x11sym.patch b/libre/sdl-libre/sdl_x11sym.patch
new file mode 100644
index 000000000..9aaa2353b
--- /dev/null
+++ b/libre/sdl-libre/sdl_x11sym.patch
@@ -0,0 +1,12 @@
+--- src/video/x11/SDL_x11sym.h-orig 2013-07-16 23:56:46.718523385 -0600
++++ src/video/x11/SDL_x11sym.h 2013-07-16 23:58:27.025186485 -0600
+@@ -165,7 +165,8 @@
+ */
+ #ifdef LONG64
+ SDL_X11_MODULE(IO_32BIT)
+-SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
++
++SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return)
+ SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),)
+ #endif
+
diff --git a/libre/sh-roundup/PKGBUILD b/libre/sh-roundup/PKGBUILD
new file mode 100644
index 000000000..7c17669d3
--- /dev/null
+++ b/libre/sh-roundup/PKGBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net
+
+pkgname=sh-roundup
+pkgver=0.0.5.git17
+_gitver='commit=695ae7609353a360556e1f465ac81ce447235179'
+
+pkgdesc='A unit testing framework for POSIX shell'
+license=("custom:MIT")
+url="http://bmizerany.github.io/roundup/"
+
+pkgrel=1
+arch=('any')
+depends=(sh)
+makedepends=(ronn)
+
+source=("libre://$pkgname-$pkgver.tar.gz" 'makefile-fix.patch')
+md5sums=('8b1f85316d178eb9e809e168f52d0f2d'
+ '9efcd83d666c1e84302fe611610c60fa')
+
+mksource=("git://github.com/bmizerany/roundup.git#${_gitver}")
+mkmd5sums=('SKIP')
+mksource() {
+ cd "$srcdir"
+ rm -rf $pkgname-*
+ mv roundup $pkgname-$pkgver
+}
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -i ../makefile-fix.patch Makefile
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix="$pkgdir"/usr
+ make -j1 build man
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make -j1 install install-man
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
+
diff --git a/libre/sh-roundup/makefile-fix.patch b/libre/sh-roundup/makefile-fix.patch
new file mode 100644
index 000000000..b97bebf23
--- /dev/null
+++ b/libre/sh-roundup/makefile-fix.patch
@@ -0,0 +1,11 @@
+--- Makefile.orig
++++ Makefile
+@@ -79,7 +79,7 @@
+ chmod 0755 $(bindir)/roundup
+
+ install-man: man
+- -for i in {1..9} ; do cp *.$$i $(mandir)/man$$i 2>/dev/null ; done
++ shopt -s nullglob; for file in *.{1..9}; do install -Dm644 $$file $(mandir)/man$${file##*.}/$${file##*/}; done
+
+ .PHONY: pages
+ pages : doc
diff --git a/libre/soundkonverter-libre/PKGBUILD b/libre/soundkonverter-libre/PKGBUILD
new file mode 100644
index 000000000..aba64f230
--- /dev/null
+++ b/libre/soundkonverter-libre/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 103245 2013-12-31 11:33:47Z stativ $
+# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Eric Belanger <eric@archlinux.org>
+# Contributor: Darwin Bautista <djclue917@gmail.com>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=soundkonverter
+pkgname=soundkonverter-libre
+pkgver=2.0.5
+pkgrel=1
+pkgdesc="Front-end to various audio converters, without nonfree faac and mac recommendation"
+arch=('i686' 'x86_64')
+url="http://www.kde-apps.org/content/show.php?content=29024"
+license=('GPL')
+depends=('kdebase-runtime' 'libkcddb' 'cdparanoia' 'taglib')
+makedepends=('automoc4' 'cmake')
+optdepends=('cdrkit: cdda2wav backend'
+ 'faad2: faad backend'
+ 'ffmpeg: ffmpeg backend'
+ 'flac: flac backend'
+ 'fluidsynth: flouidsynth backend'
+ 'lame: lame backend'
+ 'mplayer: mplayer backend'
+ 'mp3gain: mp3gain backend'
+ 'opus-tools: opus backend'
+ 'speex: speexenc, speexdec backends'
+ 'timidity++: midi backend'
+ 'twolame: twolame backend'
+ 'vorbisgain: vorbisgain backend'
+ 'vorbis-tools: vorbis tools backend'
+ 'wavpack: wavpack backend'
+ 'sox: sox plugin (change sample rate, various effects)')
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+install=$_pkgname.install
+source=("http://kde-apps.org/CONTENT/content-files/29024-${_pkgname}-${pkgver}.tar.gz")
+md5sums=('42f7dd8fe5f4d8d18d41c2b1302322ee')
+
+build() {
+ cd "$srcdir"/$_pkgname-$pkgver
+ cmake . \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+ make
+}
+
+package() {
+ cd "$srcdir"/$_pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/libre/soundkonverter-libre/soundkonverter.install b/libre/soundkonverter-libre/soundkonverter.install
new file mode 100644
index 000000000..0e8feb79c
--- /dev/null
+++ b/libre/soundkonverter-libre/soundkonverter.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
diff --git a/libre/spectrwm-libre/LICENSE b/libre/spectrwm-libre/LICENSE
new file mode 100644
index 000000000..24c04f3a0
--- /dev/null
+++ b/libre/spectrwm-libre/LICENSE
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2009 Marco Peereboom <marco@peereboom.us>
+ * Copyright (c) 2009 Ryan McBride <mcbride@countersiege.com>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+/*
+ * Much code and ideas taken from dwm under the following license:
+ * MIT/X Consortium License
+ *
+ * 2006-2008 Anselm R Garbe <garbeam at gmail dot com>
+ * 2006-2007 Sander van Dijk <a dot h dot vandijk at gmail dot com>
+ * 2006-2007 Jukka Salmi <jukka at salmi dot ch>
+ * 2007 Premysl Hruby <dfenze at gmail dot com>
+ * 2007 Szabolcs Nagy <nszabolcs at gmail dot com>
+ * 2007 Christof Musik <christof at sendfax dot de>
+ * 2007-2008 Enno Gottox Boland <gottox at s01 dot de>
+ * 2007-2008 Peter Hartlich <sgkkr at hartlich dot com>
+ * 2008 Martin Hurton <martin dot hurton at gmail dot com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
diff --git a/libre/spectrwm-libre/PKGBUILD b/libre/spectrwm-libre/PKGBUILD
new file mode 100644
index 000000000..d7d01b498
--- /dev/null
+++ b/libre/spectrwm-libre/PKGBUILD
@@ -0,0 +1,77 @@
+# $Id: PKGBUILD 103873 2014-01-13 00:22:03Z kkeen $
+# Maintainer: Kyle Keen <keenerd@gmail.com>
+# Contributor: Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>
+
+_pkgname=spectrwm
+pkgname=spectrwm-libre
+pkgver=2.4.0
+pkgrel=2
+pkgdesc="A minimalistic automatic tiling window manager that tries to stay out of the way, without nonfree profont support"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.spectrwm.org"
+_watch="https://opensource.conformal.com/snapshots/spectrwm/"
+license=('custom:ISC')
+depends=('dmenu' 'xcb-util' 'xcb-util-wm' 'xcb-util-keysyms' 'libxrandr' 'libxft' 'libxcursor')
+replaces=('spectrwm' 'scrotwm')
+conflicts=('spectrwm')
+provides=("spectrwm=$pkgver")
+makedepends=('libxt')
+optdepends=('scrot: screenshots' 'xlockmore: great screenlocker' 'terminus-font: great font')
+backup=(etc/spectrwm.conf)
+source=(http://opensource.conformal.com/snapshots/$_pkgname/$_pkgname-$pkgver.tgz \
+ LICENSE \
+ baraction.sh \
+ swmhack_path.patch \
+ spectrwm-no-preload)
+md5sums=('23e32c1e292f2fc94ed88195ffe60023'
+ 'a67cfe51079481e5b0eab1ad371379e3'
+ '950d663692e1da56e0ac864c6c3ed80e'
+ '8914dc2bef96e3587fc9317a25c1cbe8'
+ '974d109ce0af39cc73936d5efd682480')
+
+build() {
+ cd "$srcdir/$_pkgname-$pkgver"
+
+ sed -i 's|\"/usr/local/lib/libswmhack.so\"|\"libswmhack.so\"|' spectrwm.c
+ sed -i 's/verbose_layout = 0;/verbose_layout = 1;/' spectrwm.c
+ sed -i 's/# modkey = Mod1/modkey = Mod4/' spectrwm.conf
+ # crashes if defaults can't be found, use less massive defaults
+ sed -i 's/-\*-terminus-medium-\*-\*-\*-\*/-*-profont-*-*-*-*-12/' spectrwm.conf
+ #sed -i 's/# program[lock].*/program[lock] = slock/' spectrwm.conf
+
+ # see spectrwm FS#403
+ sed -i 's/setconfspawn("lock".*/setconfspawn("lock", "xlock", SWM_SPAWN_OPTIONAL);/' spectrwm.c
+
+ # FS#37998, remove on 2.4.1
+ patch -p1 -i "$srcdir/swmhack_path.patch"
+
+ cd linux
+ make PREFIX="/usr"
+}
+
+package() {
+ cd "$srcdir/$_pkgname-$pkgver/linux"
+ make PREFIX="/usr" DESTDIR="$pkgdir" install
+ install -Dm644 spectrwm.desktop "$pkgdir/usr/share/xsessions/spectrwm.desktop"
+ cd ..
+ install -Dm644 spectrwm.conf "$pkgdir/etc/spectrwm.conf"
+ install -Dm755 screenshot.sh "$pkgdir/usr/share/spectrwm/screenshot.sh"
+ mkdir -p "$pkgdir/etc/spectrwm"
+ cp spectrwm_*.conf "$pkgdir/etc/spectrwm/"
+ cd "$srcdir"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$_pkgname/LICENSE"
+ install -Dm755 baraction.sh "$pkgdir/usr/share/spectrwm/baraction.sh"
+ install -Dm755 spectrwm-no-preload "$pkgdir/usr/bin/spectrwm-no-preload"
+
+ #ln -s /usr/lib/libswmhack.so.0.0 "$pkgdir/usr/lib/libswmhack.so.0"
+ #ln -s /usr/lib/libswmhack.so.0.0 "$pkgdir/usr/lib/libswmhack.so"
+
+ # fix this for real in the makefile
+ rm "$pkgdir/usr/bin/scrotwm"
+ ln -s "/usr/bin/spectrwm" "$pkgdir/usr/bin/scrotwm"
+ mkdir -p "$pkgdir"/usr/share/man/{es,it,pt,ru}/man1/
+ mv "$pkgdir/usr/share/man/man1/spectrwm_es.1" "$pkgdir/usr/share/man/es/man1/"
+ mv "$pkgdir/usr/share/man/man1/spectrwm_it.1" "$pkgdir/usr/share/man/it/man1/"
+ mv "$pkgdir/usr/share/man/man1/spectrwm_pt.1" "$pkgdir/usr/share/man/pt/man1/"
+ mv "$pkgdir/usr/share/man/man1/spectrwm_ru.1" "$pkgdir/usr/share/man/ru/man1/"
+}
diff --git a/libre/spectrwm-libre/baraction.sh b/libre/spectrwm-libre/baraction.sh
new file mode 100644
index 000000000..96a8a7b1a
--- /dev/null
+++ b/libre/spectrwm-libre/baraction.sh
@@ -0,0 +1,82 @@
+#!/bin/bash
+# baraction.sh for spectrwm status bar
+# From http://wiki.archlinux.org/index.php/Scrotwm
+
+SLEEP_SEC=5
+#loops forever outputting a line every SLEEP_SEC secs
+while :; do
+
+ eval $(cat /proc/acpi/battery/BAT0/state | awk '/charging state/ {printf "BAT_CHGSTATE=%s;", $3}; /remaining capacity/ {printf "BAT_REMNG=%s;",$3}; /present rate/ {printf "BAT_RATE=%s;",$3};' -)
+ eval $(cat /proc/acpi/battery/BAT0/info | awk '/present/ {printf "BAT_PRESENT=%s;", $2}; /last full capacity/ {printf "BAT_LASTFULL=%s;",$4};' -)
+
+ BAT_REMNG_WH=`echo "scale=1; a=($BAT_REMNG+50)/1000; print a" | bc -l`
+ BAT_RATE_W=`echo "scale=1; a=($BAT_RATE+50)/1000; print a" | bc -l`
+ BCSCRIPT="scale=0; a=(100*$BAT_REMNG / $BAT_LASTFULL); print a"
+ BAT_PCT=`echo $BCSCRIPT | bc -l`%
+
+ case $BAT_PRESENT in
+ no)
+ POWER_STR="AC, NO BATTERY"
+ ;;
+ yes)
+
+ case $BAT_CHGSTATE in
+ charged)
+ #on ac
+ AC_STATUS="ON AC"
+ TIME_REMNG="N/A"
+ POWER_STR="$AC_STATUS $BAT_CHGSTATE $BAT_PCT"
+ ;;
+ charging)
+ #on ac
+ AC_STATUS="ON AC"
+ BCSCRIPT="scale=1; a=(60*($BAT_LASTFULL - $BAT_REMNG) / $BAT_RATE); print a"
+ TIMETOFULL_MIN=`echo $BCSCRIPT | bc -l`
+ POWER_STR="$AC_STATUS $BAT_CHGSTATE $BAT_PCT C="$BAT_REMNG_WH"Wh Rate="$BAT_RATE_W"W TTF="$TIMETOFULL_MIN"min"
+ ;;
+ discharging)
+ AC_STATUS="ON BATT"
+ TIME_REMNG_MIN=`echo "scale=0; a=(60*$BAT_REMNG / $BAT_RATE); print a" | bc -l`
+ TIME_REMNG_HH=`echo "scale=0; a=($BAT_REMNG / $BAT_RATE); if (a<10) {print "0"; print a} else {print a}" | bc -l`
+
+ TIME_REMNG_MM=`echo "scale=0; a=($TIME_REMNG_MIN-60*$TIME_REMNG_HH); if (a<10) {print "0"; print a} else {print a}" | bc -l`
+ POWER_STR="$AC_STATUS $BAT_PCT C="$BAT_REMNG_WH"Wh P="$BAT_RATE_W"W R="$TIME_REMNG_HH":"$TIME_REMNG_MM
+ ;;
+ *)
+ POWER_STR=$BAT_CHGSTATE
+ ;;
+ esac
+
+ ;;
+ *)
+ POWER_STR="error"
+ ;;
+ esac
+
+ #spectrwm bar_print can't handle UTF-8 characters, such as degree symbol
+ #Core 0: +67.0°C (crit = +100.0°C)
+ eval $(sensors 2>/dev/null | sed s/[°+]//g | awk '/^Core 0/ {printf "CORE0TEMP=%s;", $3}; /^Core 1/ {printf "CORE1TEMP=%s;",$3}; /^fan1/ {printf "FANSPD=%s;",$2};' -)
+ TEMP_STR="Tcpu=$CORE0TEMP,$CORE1TEMP F=$FANSPD"
+
+ WLAN_ESSID=$(iwconfig wlan0 | awk -F "\"" '/wlan0/ { print $2 }')
+ eval $(cat /proc/net/wireless | sed s/[.]//g | awk '/wlan0/ {printf "WLAN_QULTY=%s; WLAN_SIGNL=%s; WLAN_NOISE=%s", $3,$4,$5};' -)
+ BCSCRIPT="scale=0;a=100*$WLAN_QULTY/70;print a"
+ WLAN_QPCT=`echo $BCSCRIPT | bc -l`
+ WLAN_POWER=`iwconfig 2>/dev/null| grep "Tx-Power"| awk {'print $4'}|sed s/Tx-Power=//`
+ WLAN_STR="$WLAN_ESSID: Q=$WLAN_QPCT% S/N="$WLAN_SIGNL"/"$WLAN_NOISE"dBm T="$WLAN_POWER"dBm"
+
+ CPUFREQ_STR=`echo "Freq:"$(cat /proc/cpuinfo | grep 'cpu MHz' | sed 's/.*: //g; s/\..*//g;')`
+ CPULOAD_STR="Load:$(uptime | sed 's/.*://; s/,//g')"
+
+ eval $(awk '/^MemTotal/ {printf "MTOT=%s;", $2}; /^MemFree/ {printf "MFREE=%s;",$2}' /proc/meminfo)
+ MUSED=$(( $MTOT - $MFREE ))
+ MUSEDPT=$(( ($MUSED * 100) / $MTOT ))
+ MEM_STR="Mem:${MUSEDPT}%"
+
+ echo -e "$POWER_STR $TEMP_STR $CPUFREQ_STR $CPULOAD_STR $MEM_STR $WLAN_STR"
+ #alternatively if you prefer a different date format
+ #DATE_STR=`date +"%H:%M %a %d %b`
+ #echo -e "$DATE_STR $POWER_STR $TEMP_STR $CPUFREQ_STR $CPULOAD_STR $MEM_STR $WLAN_STR"
+
+ sleep $SLEEP_SEC
+done
diff --git a/libre/spectrwm-libre/spectrwm-no-preload b/libre/spectrwm-libre/spectrwm-no-preload
new file mode 100644
index 000000000..12385eddb
--- /dev/null
+++ b/libre/spectrwm-libre/spectrwm-no-preload
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec env -u LD_PRELOAD $@
diff --git a/libre/spectrwm-libre/swmhack_path.patch b/libre/spectrwm-libre/swmhack_path.patch
new file mode 100644
index 000000000..a4f1c3cf0
--- /dev/null
+++ b/libre/spectrwm-libre/swmhack_path.patch
@@ -0,0 +1,27 @@
+diff --git a/linux/Makefile b/linux/Makefile
+index 73c3d37..f48a32f 100644
+--- a/linux/Makefile
++++ b/linux/Makefile
+@@ -1,16 +1,16 @@
+-CFLAGS+= -std=c99 -Wmissing-prototypes -Wall -Wextra -Wshadow -Wno-uninitialized -g
+-CFLAGS+= -D_GNU_SOURCE -I. -I/usr/include/freetype2 -DSWM_LIB=\"libswmhack.so.$(LVERS)\"
+-LDADD+= -lX11 -lX11-xcb -lxcb -lxcb-icccm -lxcb-randr -lxcb-keysyms -lxcb-util -lxcb-xtest -lXft -lXcursor
+-
+ PREFIX?= /usr/local
+ BINDIR?= $(PREFIX)/bin
+ LIBDIR?= $(PREFIX)/lib
+ MANDIR?= $(PREFIX)/share/man
+
+-CC?= cc
+-
+ LVERS= $(shell . ../lib/shlib_version; echo $$major.$$minor)
+
++CFLAGS+= -std=c99 -Wmissing-prototypes -Wall -Wextra -Wshadow -Wno-uninitialized -g
++CFLAGS+= -D_GNU_SOURCE -I. -I/usr/include/freetype2 -DSWM_LIB=\"$(LIBDIR)/libswmhack.so.$(LVERS)\"
++LDADD+= -lX11 -lX11-xcb -lxcb -lxcb-icccm -lxcb-randr -lxcb-keysyms -lxcb-util -lxcb-xtest -lXft -lXcursor
++
++CC?= cc
++
+ BUILDVERSION= $(shell sh $(CURDIR)/../buildver.sh)
+ ifneq ("${BUILDVERSION}", "")
+ CFLAGS+= -DSPECTRWM_BUILDSTR=\"$(BUILDVERSION)\"
diff --git a/libre/stuntrally-data-libre/PKGBUILD b/libre/stuntrally-data-libre/PKGBUILD
new file mode 100644
index 000000000..80bd44b01
--- /dev/null
+++ b/libre/stuntrally-data-libre/PKGBUILD
@@ -0,0 +1,74 @@
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname=stuntrally-data-libre
+_pkgname=stuntrally-data
+pkgver=2.2.1
+pkgrel=1
+pkgdesc="Stunt Rally game with track editor, based on VDrift (data files), without nonfree data files"
+arch=('any')
+license=('GPL3' 'custom')
+url="http://code.google.com/p/vdrift-ogre"
+makedepends=('cmake' 'boost' 'libvorbis' 'mygui' 'sdl2' 'enet' 'hicolor-icon-theme' 'libxcursor')
+mksource=("$_pkgname-$pkgver.tar.gz::https://github.com/stuntrally/stuntrally/archive/${pkgver}.tar.gz"
+ "$_pkgname-tracks-$pkgver.tar.gz::https://github.com/stuntrally/tracks/archive/${pkgver}.tar.gz"
+ libre.patch )
+source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz")
+replaces=$_pkgname
+conflicts=$_pkgname
+provides=$_pkgname=$pkgver
+mksha256sums=('305b5f498ab150e4cf1fd1d47410ea04ad3cf439b60278ea2b73a01278d9ca51'
+ '45e9c976964e22348530a99a99c0dac30bc766d2f9edbe1a83a7b6791850d565'
+ '89eed28f625758a22460f2cea67547d2ea6cffa2bef8133083077b1753cf2b64')
+sha256sums=('3159f8e2b33d5685fb3e7320ab8ce4a60a35830a4dac7b9c3c8aeebf9a38f8d5')
+mksource() {
+ # patch some data files and remove nonfree data files
+ cd "${srcdir}/stuntrally-${pkgver}/"
+
+ patch -Np1 -i "${srcdir}/libre.patch"
+
+ rm -rv "data/"{grass/grassJungle.png,sounds/{0{1,2,3,4,5,6,7,8,9},1{0,1,2},boost,dirt{1,2},mud{1,_cont},scrap,screech,terrain{1,2,3,4,5},water{1,2,3,_cont}}.wav,terrain,trees2,cars/{3S,CT,M3,NS,TC6,XM}}
+
+ cd "${srcdir}/tracks-${pkgver}/"
+
+ rm -rv {detroit,ruudskogen,virginia,weekend}
+}
+
+build() {
+ # build the sources
+ cd "${srcdir}/stuntrally-${pkgver}/"
+
+ rm -rf build
+ mkdir build && cd build
+
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX="/usr" \
+ -DSHARE_INSTALL="share/stuntrally"
+ make
+
+ # build the tracks
+ cd "${srcdir}/tracks-${pkgver}/"
+
+ rm -rf build
+ mkdir build && cd build
+
+ cmake .. \
+ -DCMAKE_INSTALL_PREFIX="/usr"
+ make
+}
+
+package() {
+ # install the sources
+ cd "${srcdir}/stuntrally-${pkgver}/build/"
+ make DESTDIR="${pkgdir}" install
+
+ # install the tracks
+ cd "${srcdir}/tracks-${pkgver}/build"
+ make DESTDIR="${pkgdir}/usr/share/stuntrally/" install
+
+ # clean up
+ rm -rf "${pkgdir}/usr/share/stuntrally/tracks/build"
+ rm -rf "${pkgdir}/usr/share/icons"
+ rm -rf "${pkgdir}/usr/share/applications"
+ rm -rf "${pkgdir}/usr/bin"
+}
diff --git a/libre/stuntrally-data-libre/libre.patch b/libre/stuntrally-data-libre/libre.patch
new file mode 100644
index 000000000..d55a4e54a
--- /dev/null
+++ b/libre/stuntrally-data-libre/libre.patch
@@ -0,0 +1,72 @@
+diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
+index c43ef18..aa6373e 100644
+--- a/data/CMakeLists.txt
++++ b/data/CMakeLists.txt
+@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.8)
+
+ # Install data files
+ # TODO: make this use all data/* subdirs without tracks, not entered by hand ..
+-foreach(datadir cars carsim compositor editor fonts ghosts grass gui hud loading materials materials2 objects particles road road_s skies skies_s sounds terrain terrain2 trees-old trees trees2)
++foreach(datadir cars carsim compositor editor fonts ghosts grass gui hud loading materials materials2 objects particles road road_s skies skies_s sounds terrain2 trees-old trees)
+ install(DIRECTORY ${datadir} DESTINATION ${SHARE_INSTALL})
+ endforeach()
+
+diff --git a/data/grass/_grass.txt b/data/grass/_grass.txt
+index 787737e..84197af 100644
+--- a/data/grass/_grass.txt
++++ b/data/grass/_grass.txt
+@@ -10,10 +10,3 @@ http://opengameart.org/content/plants-textures-pack-03
+ http://opengameart.org/content/plants-textures-pack-04
+
+ many colored by CryHam for SR
+-
+----- Old
+-grassJungle.png rest is colored
+-
+-This grass texture included with PagedGeometry was kindly provided by
+-Agnisola Philippe (http://www.blitz3dfr.com/portal_joomla/) for
+-commercial or non-commercial use.
+diff --git a/data/sounds/_sounds_info.txt b/data/sounds/_sounds_info.txt
+index 2cab386..eb4e086 100644
+--- a/data/sounds/_sounds_info.txt
++++ b/data/sounds/_sounds_info.txt
+@@ -7,39 +7,3 @@ grass
+ gravel
+ tire_squeal
+ wind
+-
+--- new sounds from
+-http://www.freesound.org/
+-
+-various smaller cuts, from:
+-[author soundname]
+-
+- metal hits 01..12:
+-halleck metal-medium-hit
+-halleck metal-hits-medium-1
+-halleck metal-hits-light-1
+-halleck metal-thump
+-sagetyrtle crash-1
+-sagetyrtle crash-2
+-halleck big-metal-side-impact-1
+-halleck big-metal-side-impact-2
+-halleck metal-crash-1
+- metal scrap,screech
+-halleck metal-roll-cage-hits-heavy
+-halleck metal-screech-and-scraping
+-
+- water,mud:
+-cgeffex large-splashes
+-
+- mud_cont, water_cont
+-justinbw water-spigget-onto-mud-1
+-justinbw water-spigget-onto-mud-2
+-
+- terrain,dirt:
+-halleck hit-with-dirt-spray-1
+-halleck hit-with-dirt-spray-1-body
+-halleck hit-with-dirt-spray-2-body
+-halleck hit-with-dirt-spray-3
+-
+- boost
+-nathanshadow thruster-level-ii
diff --git a/libre/syslinux/PKGBUILD b/libre/syslinux/PKGBUILD
new file mode 100644
index 000000000..6b3b53b77
--- /dev/null
+++ b/libre/syslinux/PKGBUILD
@@ -0,0 +1,199 @@
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
+# Contributor: Keshav Padram Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname="syslinux"
+pkgver="6.02"
+pkgrel="8.1"
+arch=('x86_64' 'i686')
+pkgdesc="Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE (Parabola rebranded)"
+url="http://syslinux.zytor.com/"
+license=('GPL2')
+options=('!makeflags' '!emptydirs')
+backup=('boot/syslinux/syslinux.cfg'
+ 'boot/syslinux/splash.png')
+makedepends=('python2' 'nasm' 'gnu-efi-libs')
+depends=('perl' 'glibc')
+optdepends=('perl-passwd-md5: For md5pass'
+ 'perl-digest-sha1: For sha1pass'
+ 'mtools: For mkdiskimage and syslinux support'
+ 'gptfdisk: For GPT support'
+ 'util-linux: For isohybrid'
+ 'efibootmgr: For EFI support'
+ 'dosfstools: For EFI support')
+install="${pkgname}.install"
+source=("https://www.kernel.org/pub/linux/utils/boot/syslinux/${pkgname}-${pkgver}.tar.xz"
+ 'syslinux.cfg'
+ 'syslinux-install_update'
+ 'syslinux-6.02-fix-chainloading.patch'
+ 'syslinux-6.02-fix-bios-isolinux.patch'
+ 'syslinux-6.02-fix-efi-ovmf.patch'
+ 'splash.png')
+md5sums=('6f275813a1b08cf852e55c0a3f8fbc78'
+ 'f048880b57e2c5a7017ff8804bfda327'
+ '9376f18fa3e42fc36cffa4cff0a84c09'
+ '9dbede6b71a4de9e46aac4aad65334d7'
+ 'adf71eceb4fccecd9a7efe1ab3d54918'
+ '62d22b101ef2ef53e25b4f86d9f41cb5'
+ 'cb46ca47c6b6323127d908440057d98f')
+prepare() {
+
+ cd "${srcdir}/${pkgname}-${pkgver}/"
+
+ ## Do not try to build the Windows or DOS installers and DIAG files
+ sed 's|diag libinstaller dos win32 win64 dosutil txt|libinstaller txt|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true
+ sed 's|win32/syslinux.exe win64/syslinux64.exe||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true
+ sed 's|dosutil/*.com dosutil/*.sys||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true
+ sed 's|dos/syslinux.com||g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true
+ sed 's|INSTALLSUBDIRS = com32 utils dosutil|INSTALLSUBDIRS = com32 utils|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true
+ sed 's|install -m 644 -c $(INSTALL_DIAG) $(INSTALLROOT)$(DIAGDIR)|# install -m 644 -c $(INSTALL_DIAG) $(INSTALLROOT)$(DIAGDIR)|g' -i "${srcdir}/${pkgname}-${pkgver}/Makefile" || true
+
+ ## Fix FHS manpage path
+ sed 's|/usr/man|/usr/share/man|g' -i "${srcdir}/${pkgname}-${pkgver}/mk/syslinux.mk" || true
+
+ # fix chainloading
+ # http://bugzilla.syslinux.org/show_bug.cgi?id=31
+ # http://www.syslinux.org/archives/2013-October/020971.html
+ patch -Np1 -i "${srcdir}/syslinux-6.02-fix-chainloading.patch"
+
+ # fix bios booting from isohybrid
+ # http://www.syslinux.org/archives/2013-November/021189.html
+ patch -Np1 -i "${srcdir}/syslinux-6.02-fix-bios-isolinux.patch"
+
+ # fix efi booting in qemu/ovmf
+ # http://bugzilla.syslinux.org/show_bug.cgi?id=23
+ patch -Np1 -i "${srcdir}/syslinux-6.02-fix-efi-ovmf.patch"
+
+}
+
+_build_syslinux_bios() {
+
+ rm -rf "${srcdir}/${pkgname}-${pkgver}-bios/" || true
+ cp -r "${srcdir}/${pkgname}-${pkgver}" "${srcdir}/${pkgname}-${pkgver}-bios"
+ cd "${srcdir}/${pkgname}-${pkgver}-bios/"
+
+ ## Do not try to build syslinux with our default LDFLAGS, it will fail
+ unset LDFLAGS
+ make PYTHON="python2" bios
+ make PYTHON="python2" bios installer
+
+}
+
+_build_syslinux_efi64() {
+
+ rm -rf "${srcdir}/${pkgname}-${pkgver}-efi64/" || true
+ cp -r "${srcdir}/${pkgname}-${pkgver}" "${srcdir}/${pkgname}-${pkgver}-efi64"
+ cd "${srcdir}/${pkgname}-${pkgver}-efi64/"
+
+ ## Unset all compiler FLAGS for efi64 build
+ unset CFLAGS
+ unset CPPFLAGS
+ unset CXXFLAGS
+ unset LDFLAGS
+ unset MAKEFLAGS
+
+ make PYTHON="python2" efi64
+ make PYTHON="python2" efi64 installer
+
+}
+
+_build_syslinux_efi32() {
+
+ rm -rf "${srcdir}/${pkgname}-${pkgver}-efi32/" || true
+ cp -r "${srcdir}/${pkgname}-${pkgver}" "${srcdir}/${pkgname}-${pkgver}-efi32"
+ cd "${srcdir}/${pkgname}-${pkgver}-efi32/"
+
+ ## Unset all compiler FLAGS for efi32 build
+ unset CFLAGS
+ unset CPPFLAGS
+ unset CXXFLAGS
+ unset LDFLAGS
+ unset MAKEFLAGS
+
+ make PYTHON="python2" efi32
+ make PYTHON="python2" efi32 installer
+
+}
+
+build() {
+
+ cd "${srcdir}/${pkgname}-${pkgver}/"
+
+ ## Build syslinux-efi
+ if [[ "${CARCH}" == "x86_64" ]]; then
+ _build_syslinux_efi64
+ fi
+
+ if [[ "${CARCH}" == "i686" ]]; then
+ _build_syslinux_efi32
+ fi
+
+ ## Build syslinux-bios
+ _build_syslinux_bios
+
+}
+
+_package_syslinux_bios() {
+
+ cd "${srcdir}/${pkgname}-${pkgver}-bios/"
+
+ ## Install Syslinux bios
+ make INSTALLROOT="${pkgdir}/" AUXDIR="/usr/lib/syslinux/bios/" bios install
+
+ ## Remove syslinux.exe,syslinux64.exe,syslinux.com and dosutil dir
+ rm "${pkgdir}/usr/lib/syslinux/bios"/syslinux.{com,exe} || true
+ rm "${pkgdir}/usr/lib/syslinux/bios/syslinux64.exe" || true
+ rm -rf "${pkgdir}/usr/lib/syslinux/bios/dosutil/" || true
+
+ ## Remove com32 and diag dirs
+ rm -rf "${pkgdir}/usr/lib/syslinux/bios/diag/" || true
+ rm -rf "${pkgdir}/usr/lib/syslinux/bios/com32/" || true
+
+ ## Move extlinux binary to /usr/bin
+ install -d "${pkgdir}/usr/bin"
+ mv "${pkgdir}/sbin/extlinux" "${pkgdir}/usr/bin/extlinux"
+ rm -rf "${pkgdir}/sbin/"
+
+ ## Install docs
+ install -d "${pkgdir}/usr/share/doc"
+ cp -ar "${srcdir}/${pkgname}-${pkgver}/doc" "${pkgdir}/usr/share/doc/syslinux"
+
+ ## Install the default configuration
+ install -D -m0644 "${srcdir}/syslinux.cfg" "${pkgdir}/boot/syslinux/syslinux.cfg"
+
+ ## Install the installation and update script
+ ## This script is maintained at git://gist.github.com/772138.git
+ ## Script not yet updated for syslinux-efi
+ install -D -m0755 "${srcdir}/syslinux-install_update" "${pkgdir}/usr/bin/syslinux-install_update"
+
+ # Install Parabola splash
+ install -D -m644 "${srcdir}/splash.png" "${pkgdir}/boot/syslinux/splash.png"
+}
+
+_package_syslinux_efi() {
+
+ cd "${srcdir}/${pkgname}-${pkgver}/"
+
+ if [[ "${CARCH}" == "x86_64" ]]; then
+ cd "${srcdir}/${pkgname}-${pkgver}-efi64/"
+ make INSTALLROOT="${pkgdir}/" AUXDIR="/usr/lib/syslinux/" efi64 install
+ fi
+
+ if [[ "${CARCH}" == "i686" ]]; then
+ cd "${srcdir}/${pkgname}-${pkgver}-efi32/"
+ make INSTALLROOT="${pkgdir}/" AUXDIR="/usr/lib/syslinux/" efi32 install
+ fi
+
+}
+
+package() {
+
+ cd "${srcdir}/${pkgname}-${pkgver}/"
+
+ _package_syslinux_efi
+
+ _package_syslinux_bios
+
+}
+
diff --git a/libre/syslinux/splash.png b/libre/syslinux/splash.png
new file mode 100644
index 000000000..eac14536b
--- /dev/null
+++ b/libre/syslinux/splash.png
Binary files differ
diff --git a/libre/syslinux/splash.xcf b/libre/syslinux/splash.xcf
new file mode 100644
index 000000000..c27d04445
--- /dev/null
+++ b/libre/syslinux/splash.xcf
Binary files differ
diff --git a/libre/syslinux/syslinux-6.00-efi-export-kbdmap.patch b/libre/syslinux/syslinux-6.00-efi-export-kbdmap.patch
new file mode 100644
index 000000000..cbcd9a6da
--- /dev/null
+++ b/libre/syslinux/syslinux-6.00-efi-export-kbdmap.patch
@@ -0,0 +1,38 @@
+From 2a81889c7d680fbe51de63dbbeb4e8c290ec46fa Mon Sep 17 00:00:00 2001
+From: Matt Fleming <matt.fleming@intel.com>
+Date: Fri, 21 Jun 2013 07:14:24 +0000
+Subject: efi: Tag symbols with __export
+
+I missed some symbols previously that are required to be exported when
+loading vesamenu.c32.
+
+Signed-off-by: Matt Fleming <matt.fleming@intel.com>
+---
+diff --git a/efi/main.c b/efi/main.c
+index 51ff9f3..71333a4 100644
+--- a/efi/main.c
++++ b/efi/main.c
+@@ -21,7 +21,7 @@ uint32_t _IdleTimer = 0;
+ char __lowmem_heap[32];
+ uint32_t BIOS_timer_next;
+ uint32_t timer_irq;
+-uint8_t KbdMap[256];
++__export uint8_t KbdMap[256];
+ char aux_seg[256];
+
+ static inline EFI_STATUS
+diff --git a/efi/vesa.c b/efi/vesa.c
+index d259f60..b4a541b 100644
+--- a/efi/vesa.c
++++ b/efi/vesa.c
+@@ -297,7 +297,7 @@ static int efi_vesacon_font_query(uint8_t **font)
+ return cp865_8x16_font_height;
+ }
+
+-int __vesacon_i915resolution(int x, int y)
++__export int __vesacon_i915resolution(int x, int y)
+ {
+ /* We don't support this function */
+ return 1;
+--
+cgit v0.9.2
diff --git a/libre/syslinux/syslinux-6.00-efi-fix-libcom32.patch b/libre/syslinux/syslinux-6.00-efi-fix-libcom32.patch
new file mode 100644
index 000000000..7460cd195
--- /dev/null
+++ b/libre/syslinux/syslinux-6.00-efi-fix-libcom32.patch
@@ -0,0 +1,45 @@
+From 013ef7679a573b3b3454f914f3a7f865991db9f2 Mon Sep 17 00:00:00 2001
+From: Matt Fleming <matt.fleming@intel.com>
+Date: Fri, 21 Jun 2013 07:13:16 +0000
+Subject: efi: Export __bcopyxx_len
+
+We need to provide a __bcopyxx_len symbol for EFI because it's
+referenced in generic code in libcom32.c32. Without this change,
+libcom32.c32 will fail to load under EFI.
+
+Signed-off-by: Matt Fleming <matt.fleming@intel.com>
+---
+diff --git a/core/include/core.h b/core/include/core.h
+index 5736d39..127ac65 100644
+--- a/core/include/core.h
++++ b/core/include/core.h
+@@ -26,6 +26,7 @@ extern char cmd_line[];
+ extern char ConfigFile[];
+ extern char syslinux_banner[];
+ extern char copyright_str[];
++extern unsigned int __bcopyxx_len;
+
+ /*
+ * Mark symbols that are only used by BIOS as __weak until we can move
+@@ -35,7 +36,6 @@ extern char copyright_str[];
+ extern __weak uint16_t BIOSName;
+ extern __weak char KernelName[];
+ extern __weak char StackBuf[];
+-extern __weak unsigned int __bcopyxx_len;
+
+ extern uint8_t KbdMap[256];
+
+diff --git a/efi/main.c b/efi/main.c
+index 438e88c..51ff9f3 100644
+--- a/efi/main.c
++++ b/efi/main.c
+@@ -153,6 +153,7 @@ void pxenv(void)
+ uint16_t BIOS_fbm = 1;
+ far_ptr_t InitStack;
+ far_ptr_t PXEEntry;
++__export unsigned int __bcopyxx_len = 0;
+
+ void gpxe_unload(void)
+ {
+--
+cgit v0.9.2
diff --git a/libre/syslinux/syslinux-6.02-fix-bios-isolinux.patch b/libre/syslinux/syslinux-6.02-fix-bios-isolinux.patch
new file mode 100644
index 000000000..48df46f12
--- /dev/null
+++ b/libre/syslinux/syslinux-6.02-fix-bios-isolinux.patch
@@ -0,0 +1,12 @@
+diff --git a/core/isolinux.asm b/core/isolinux.asm
+index bd4e9556922d..c4db4133e274 100644
+--- a/core/isolinux.asm
++++ b/core/isolinux.asm
+@@ -420,7 +420,7 @@ MaxLMA equ 384*1024 ; Reasonable limit (384K)
+ call getlinsec
+ pop eax
+ pop cx
+- mov dx,cx
++ movzx edx,cx
+ pop bp
+ pop bx
diff --git a/libre/syslinux/syslinux-6.02-fix-chainloading.patch b/libre/syslinux/syslinux-6.02-fix-chainloading.patch
new file mode 100644
index 000000000..6fd7ef4a8
--- /dev/null
+++ b/libre/syslinux/syslinux-6.02-fix-chainloading.patch
@@ -0,0 +1,47 @@
+Reported-by: Dark Raven <drdarkraven at gmail.com>
+Signed-off-by: Raphael S. Carvalho <raphael.scarv at gmail.com>
+---
+ com32/lib/syslinux/disk.c | 22 ++++++++++++++--------
+ 1 files changed, 14 insertions(+), 8 deletions(-)
+
+diff --git a/com32/lib/syslinux/disk.c b/com32/lib/syslinux/disk.c
+index 0b0c737..47ecb52 100644
+--- a/com32/lib/syslinux/disk.c
++++ b/com32/lib/syslinux/disk.c
+@@ -171,22 +171,28 @@ out:
+ static void *ebios_setup(const struct disk_info *const diskinfo, com32sys_t *inreg,
+ uint64_t lba, uint8_t count, uint8_t op_code)
+ {
+- static __lowmem struct disk_ebios_dapa dapa;
++ static struct disk_ebios_dapa *dapa = NULL;
+ void *buf;
+
++ if (!dapa) {
++ dapa = lmalloc(sizeof *dapa);
++ if (!dapa)
++ return NULL;
++ }
++
+ buf = lmalloc(count * diskinfo->bps);
+ if (!buf)
+ return NULL;
+
+- dapa.len = sizeof(dapa);
+- dapa.count = count;
+- dapa.off = OFFS(buf);
+- dapa.seg = SEG(buf);
+- dapa.lba = lba;
++ dapa->len = sizeof(*dapa);
++ dapa->count = count;
++ dapa->off = OFFS(buf);
++ dapa->seg = SEG(buf);
++ dapa->lba = lba;
+
+ inreg->eax.b[1] = op_code;
+- inreg->esi.w[0] = OFFS(&dapa);
+- inreg->ds = SEG(&dapa);
++ inreg->esi.w[0] = OFFS(dapa);
++ inreg->ds = SEG(dapa);
+ inreg->edx.b[0] = diskinfo->disk;
+
+ return buf;
diff --git a/libre/syslinux/syslinux-6.02-fix-efi-ovmf.patch b/libre/syslinux/syslinux-6.02-fix-efi-ovmf.patch
new file mode 100644
index 000000000..f33f4c1de
--- /dev/null
+++ b/libre/syslinux/syslinux-6.02-fix-efi-ovmf.patch
@@ -0,0 +1,621 @@
+The value of the field rva_and_sizes_nr is used by OVMF to check the
+consistency of the PE file with respect to the field optional_hdr_sz. It
+now have the right value.
+
+Signed-off-by: Celelibi <celelibi at gmail.com>
+---
+ efi/wrapper.c | 6 +++---
+ efi/wrapper.h | 28 ++++++++++++++++------------
+ 2 files changed, 19 insertions(+), 15 deletions(-)
+
+diff --git a/efi/wrapper.c b/efi/wrapper.c
+index 04c895f..ec77271 100644
+--- a/efi/wrapper.c
++++ b/efi/wrapper.c
+@@ -102,7 +102,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+ e_hdr.image_sz = total_sz;
+ e_hdr.headers_sz = 512;
+ e_hdr.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION;
+- e_hdr.rva_and_sizes_nr = 1;
++ e_hdr.rva_and_sizes_nr = sizeof(e_hdr.data_directory) / sizeof(__uint64_t);
+ fwrite(&e_hdr, sizeof(e_hdr), 1, f);
+ }
+ else if (class == ELFCLASS64) {
+@@ -130,7 +130,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+ e_hdr_pe32p.image_sz = total_sz;
+ e_hdr_pe32p.headers_sz = 512;
+ e_hdr_pe32p.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION;
+- e_hdr_pe32p.rva_and_sizes_nr = 1;
++ e_hdr_pe32p.rva_and_sizes_nr = sizeof(e_hdr_pe32p.data_directory) / sizeof(__uint64_t);
+ fwrite(&e_hdr_pe32p, sizeof(e_hdr_pe32p), 1, f);
+ }
+
+@@ -237,7 +237,7 @@ int main(int argc, char **argv)
+ fprintf(stderr, "Unsupported architecture\n");
+ exit(EXIT_FAILURE);
+ }
+-
++
+ if (id[EI_MAG0] != ELFMAG0 ||
+ id[EI_MAG1] != ELFMAG1 ||
+ id[EI_MAG2] != ELFMAG2 ||
+diff --git a/efi/wrapper.h b/efi/wrapper.h
+index 4f76991..0e6b38e 100644
+--- a/efi/wrapper.h
++++ b/efi/wrapper.h
+@@ -102,12 +102,14 @@ struct extra_hdr {
+ __uint32_t heap_commit_sz;
+ __uint32_t loader_flags;
+ __uint32_t rva_and_sizes_nr;
+- __uint64_t export_table;
+- __uint64_t import_table;
+- __uint64_t resource_table;
+- __uint64_t exception_table;
+- __uint64_t certification_table;
+- __uint64_t base_relocation_table;
++ struct {
++ __uint64_t export_table;
++ __uint64_t import_table;
++ __uint64_t resource_table;
++ __uint64_t exception_table;
++ __uint64_t certification_table;
++ __uint64_t base_relocation_table;
++ } data_directory;
+ } __packed;
+
+ /* Extra header for PE32+ format
+@@ -136,12 +138,14 @@ struct extra_hdr_pe32p {
+ __uint64_t heap_commit_sz;
+ __uint32_t loader_flags;
+ __uint32_t rva_and_sizes_nr;
+- __uint64_t export_table;
+- __uint64_t import_table;
+- __uint64_t resource_table;
+- __uint64_t exception_table;
+- __uint64_t certification_table;
+- __uint64_t base_relocation_table;
++ struct {
++ __uint64_t export_table;
++ __uint64_t import_table;
++ __uint64_t resource_table;
++ __uint64_t exception_table;
++ __uint64_t certification_table;
++ __uint64_t base_relocation_table;
++ } data_directory;
+ } __packed;
+
+ struct section {
+In the generated PE file, the section header for the .text section used
+to address more than the whole file. Starting at offset 0 (before the
+end of the headers) is illegal and is rejected by OVMF. Giving a size
+greater than the actual file size is also illegal and rejected.
+
+Moreover, the actual data inside the PE file have to be aligned to at
+least 512 bytes. Hence, .text need to be aligned as well.
+
+Signed-off-by: Celelibi <celelibi at gmail.com>
+---
+ efi/wrapper.c | 44 +++++++++++++++++++++++++-------------------
+ 1 file changed, 25 insertions(+), 19 deletions(-)
+
+diff --git a/efi/wrapper.c b/efi/wrapper.c
+index ec77271..bd2c175 100644
+--- a/efi/wrapper.c
++++ b/efi/wrapper.c
+@@ -54,11 +54,15 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+ struct coff_hdr c_hdr;
+ struct header hdr;
+ struct coff_reloc c_rel;
+- __uint32_t total_sz = so_size;
++ __uint32_t total_sz = data_size;
+ __uint32_t dummy = 0;
+ __uint32_t hdr_sz;
+ __uint32_t reloc_start, reloc_end;
+
++ hdr_sz = 512;
++ total_sz += hdr_sz;
++ entry += hdr_sz;
++
+ memset(&hdr, 0, sizeof(hdr));
+ hdr.msdos_signature = MSDOS_SIGNATURE;
+
+@@ -77,11 +81,6 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+ c_hdr.nr_sections = 2;
+ c_hdr.nr_syms = 1;
+ if (class == ELFCLASS32) {
+- hdr_sz = sizeof(o_hdr) + sizeof(t_sec) + sizeof(e_hdr) +
+- sizeof(r_sec) + sizeof(c_hdr) + sizeof(hdr) + sizeof(c_rel)
+- + sizeof(dummy);
+- total_sz += hdr_sz;
+- entry += hdr_sz;
+ c_hdr.arch = IMAGE_FILE_MACHINE_I386;
+ c_hdr.characteristics = IMAGE_FILE_32BIT_MACHINE |
+ IMAGE_FILE_DEBUG_STRIPPED | IMAGE_FILE_EXECUTABLE_IMAGE |
+@@ -92,25 +91,20 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+ o_hdr.format = PE32_FORMAT;
+ o_hdr.major_linker_version = 0x02;
+ o_hdr.minor_linker_version = 0x14;
+- o_hdr.code_sz = total_sz;
++ o_hdr.code_sz = data_size;
+ o_hdr.entry_point = entry;
+ o_hdr.initialized_data_sz = data_size;
+ fwrite(&o_hdr, sizeof(o_hdr), 1, f);
+ memset(&e_hdr, 0, sizeof(e_hdr));
+ e_hdr.section_align = 4096;
+ e_hdr.file_align = 512;
+- e_hdr.image_sz = total_sz;
+- e_hdr.headers_sz = 512;
++ e_hdr.image_sz = hdr_sz + so_size;
++ e_hdr.headers_sz = hdr_sz;
+ e_hdr.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION;
+ e_hdr.rva_and_sizes_nr = sizeof(e_hdr.data_directory) / sizeof(__uint64_t);
+ fwrite(&e_hdr, sizeof(e_hdr), 1, f);
+ }
+ else if (class == ELFCLASS64) {
+- hdr_sz = sizeof(o_hdr_pe32p) + sizeof(t_sec) + sizeof(e_hdr_pe32p) +
+- sizeof(r_sec) + sizeof(c_hdr) + sizeof(hdr) + sizeof(c_rel)
+- + sizeof(dummy);
+- total_sz += hdr_sz;
+- entry += hdr_sz;
+ c_hdr.arch = IMAGE_FILE_MACHINE_X86_64;
+ c_hdr.characteristics = IMAGE_FILE_DEBUG_STRIPPED | IMAGE_FILE_EXECUTABLE_IMAGE |
+ IMAGE_FILE_LINE_NUMBERS_STRIPPED;
+@@ -120,15 +114,15 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+ o_hdr_pe32p.format = PE32P_FORMAT;
+ o_hdr_pe32p.major_linker_version = 0x02;
+ o_hdr_pe32p.minor_linker_version = 0x14;
+- o_hdr_pe32p.code_sz = total_sz;
++ o_hdr_pe32p.code_sz = data_size;
+ o_hdr_pe32p.entry_point = entry;
+ o_hdr.initialized_data_sz = data_size;
+ fwrite(&o_hdr_pe32p, sizeof(o_hdr_pe32p), 1, f);
+ memset(&e_hdr_pe32p, 0, sizeof(e_hdr));
+ e_hdr_pe32p.section_align = 4096;
+ e_hdr_pe32p.file_align = 512;
+- e_hdr_pe32p.image_sz = total_sz;
+- e_hdr_pe32p.headers_sz = 512;
++ e_hdr_pe32p.image_sz = hdr_sz + so_size;
++ e_hdr_pe32p.headers_sz = hdr_sz;
+ e_hdr_pe32p.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION;
+ e_hdr_pe32p.rva_and_sizes_nr = sizeof(e_hdr_pe32p.data_directory) / sizeof(__uint64_t);
+ fwrite(&e_hdr_pe32p, sizeof(e_hdr_pe32p), 1, f);
+@@ -136,8 +130,10 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+
+ memset(&t_sec, 0, sizeof(t_sec));
+ strcpy((char *)t_sec.name, ".text");
+- t_sec.virtual_sz = total_sz;
+- t_sec.raw_data_sz = total_sz;
++ t_sec.virtual_sz = data_size;
++ t_sec.virtual_address = hdr_sz;
++ t_sec.raw_data_sz = t_sec.virtual_sz;
++ t_sec.raw_data = t_sec.virtual_address;
+ t_sec.characteristics = IMAGE_SCN_CNT_CODE |
+ IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_MEM_EXECUTE |
+ IMAGE_SCN_MEM_READ;
+@@ -163,6 +159,16 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+ fwrite(&c_rel, sizeof(c_rel), 1, f);
+ fwrite(&dummy, sizeof(dummy), 1, f);
+
++ /*
++ * Add some padding to align the ELF as needed
++ */
++ if (ftell(f) > t_sec.virtual_address) {
++ // A fseek that rewind would be a bug hard to track
++ fprintf(stderr, "PE+ headers are too large.\n");
++ exit(EXIT_FAILURE);
++ }
++
++ fseek(f, t_sec.virtual_address, SEEK_SET);
+ }
+
+ static void usage(char *progname)
+There is no need to have a relocation section that nothing points at.
+The image is still seen as relocatable as long as the Characteristics of
+the FileHeader do not say otherwise.
+
+Moreover, the field base_relocation_table wasn't initialized properly
+leading to unpredictable bugs.
+
+Signed-off-by: Celelibi <celelibi at gmail.com>
+---
+
+I'm not 100% positive about the uselessness of the relocation section. However:
+1) it works on my real hardware;
+2) OVMF doesn't check the section headers at all;
+3) all the docs I could find say that the section names are arbitrary;
+4) the only way to make the relocation actually happen is by setting the
+base_relocation_table field of the extra headers to point to this section;
+5) The right way to indicate the image is not relocatable would be by setting
+the characteristics IMAGE_FILE_RELOCS_STRIPPED in the coff header.
+
+Moreover, the relocation entry cannot be inserted before the end of the headers
+(512 bytes), this mean we would have to push everything a few bytes further.
+And I think it's better if it can be avoided. :)
+
+ efi/wrapper.c | 28 +++-------------------------
+ 1 file changed, 3 insertions(+), 25 deletions(-)
+
+diff --git a/efi/wrapper.c b/efi/wrapper.c
+index bd2c175..9652368 100644
+--- a/efi/wrapper.c
++++ b/efi/wrapper.c
+@@ -48,14 +48,12 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+ {
+ struct optional_hdr o_hdr;
+ struct optional_hdr_pe32p o_hdr_pe32p;
+- struct section t_sec, r_sec;
++ struct section t_sec;
+ struct extra_hdr e_hdr;
+ struct extra_hdr_pe32p e_hdr_pe32p;
+ struct coff_hdr c_hdr;
+ struct header hdr;
+- struct coff_reloc c_rel;
+ __uint32_t total_sz = data_size;
+- __uint32_t dummy = 0;
+ __uint32_t hdr_sz;
+ __uint32_t reloc_start, reloc_end;
+
+@@ -78,7 +76,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+ fwrite(&hdr, sizeof(hdr), 1, f);
+
+ memset(&c_hdr, 0, sizeof(c_hdr));
+- c_hdr.nr_sections = 2;
++ c_hdr.nr_sections = 1;
+ c_hdr.nr_syms = 1;
+ if (class == ELFCLASS32) {
+ c_hdr.arch = IMAGE_FILE_MACHINE_I386;
+@@ -118,7 +116,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+ o_hdr_pe32p.entry_point = entry;
+ o_hdr.initialized_data_sz = data_size;
+ fwrite(&o_hdr_pe32p, sizeof(o_hdr_pe32p), 1, f);
+- memset(&e_hdr_pe32p, 0, sizeof(e_hdr));
++ memset(&e_hdr_pe32p, 0, sizeof(e_hdr_pe32p));
+ e_hdr_pe32p.section_align = 4096;
+ e_hdr_pe32p.file_align = 512;
+ e_hdr_pe32p.image_sz = hdr_sz + so_size;
+@@ -140,26 +138,6 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+ fwrite(&t_sec, sizeof(t_sec), 1, f);
+
+ /*
+- * Write our dummy relocation and reloc section.
+- */
+- memset(&r_sec, 0, sizeof(r_sec));
+- strcpy((char *)r_sec.name, ".reloc");
+- r_sec.virtual_sz = sizeof(c_rel);
+- r_sec.virtual_address = ftell(f) + sizeof(r_sec);
+- r_sec.raw_data_sz = r_sec.virtual_sz;
+- r_sec.raw_data = r_sec.virtual_address;
+- r_sec.characteristics = IMAGE_SCN_CNT_INITIALIZED_DATA |
+- IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_MEM_DISCARDABLE |
+- IMAGE_SCN_MEM_READ;
+- fwrite(&r_sec, sizeof(r_sec), 1, f);
+-
+- memset(&c_rel, 0, sizeof(c_rel));
+- c_rel.virtual_address = ftell(f) + sizeof(c_rel);
+- c_rel.symtab_index = 10;
+- fwrite(&c_rel, sizeof(c_rel), 1, f);
+- fwrite(&dummy, sizeof(dummy), 1, f);
+-
+- /*
+ * Add some padding to align the ELF as needed
+ */
+ if (ftell(f) > t_sec.virtual_address) {
+PE headers code_sz and image_sz indicate more or less, the size of the
+file and the size of the in-memory image. They are now given the right
+value.
+
+In the ELF format, only the program headers are reliable to determine
+the actually needed part of the file and the in-memory size.
+
+The .bss section should always be marked as NOLOAD for ld since its
+content shouldn't be included into the binary file.
+
+Signed-off-by: Celelibi <celelibi at gmail.com>
+---
+
+Again, I'm not 100% positive about the semantics of NOLOAD in a linker script.
+However I found this make things work better.
+Actually the file core/fs/fs.o have a .bss16 section that is not empty. If I
+understood correctly, only .bss can be empty in a .o. Thus ld generates the
+zeros that belong to that section in the .o. Then, when merging the section
+.bss16 into the .bss of syslinux.so, ld is forced to generate ALL the zeros
+that belong to the .bss section. Marking this section as NOLOAD make ld to
+ignore its content but still produce a PT_LOAD program header with the right
+memory size, as needed for the bss.
+
+ efi/i386/syslinux.ld | 4 +-
+ efi/wrapper.c | 138 +++++++++++++++----------------------------------
+ efi/x86_64/syslinux.ld | 4 +-
+ 3 files changed, 45 insertions(+), 101 deletions(-)
+
+diff --git a/efi/i386/syslinux.ld b/efi/i386/syslinux.ld
+index 523a9b9..bab3fc7 100644
+--- a/efi/i386/syslinux.ld
++++ b/efi/i386/syslinux.ld
+@@ -136,7 +136,7 @@ SECTIONS
+ *(.strtab)
+ }
+
+- .bss : {
++ .bss (NOLOAD) : {
+ /* the EFI loader doesn't seem to like a .bss section,
+ so we stick it all into .data: */
+ __bss_start = .;
+@@ -153,7 +153,7 @@ SECTIONS
+ __bss_dwords = (__bss_len + 3) >> 2;
+
+ . = ALIGN(128);
+-
++
+ /* Very large objects which don't need to be zeroed */
+
+ .hugebss : {
+diff --git a/efi/wrapper.c b/efi/wrapper.c
+index 9652368..a5247ae 100644
+--- a/efi/wrapper.c
++++ b/efi/wrapper.c
+@@ -35,7 +35,7 @@ typedef Elf64_Addr Elf_Addr;
+ #endif
+
+ /*
+- * 'so_size' is the file size of the ELF shared object.
++ * 'so_memsz' is the size of the ELF shared object once loaded.
+ * 'data_size' is the size of initialised data in the shared object.
+ * 'class' dictates how the header is written
+ * For 32bit machines (class == ELFCLASS32), the optional
+@@ -44,7 +44,7 @@ typedef Elf64_Addr Elf_Addr;
+ * header includes PE32+header fields
+ */
+ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+- __uint32_t so_size, __uint8_t class)
++ __uint32_t so_memsz, __uint8_t class)
+ {
+ struct optional_hdr o_hdr;
+ struct optional_hdr_pe32p o_hdr_pe32p;
+@@ -96,7 +96,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+ memset(&e_hdr, 0, sizeof(e_hdr));
+ e_hdr.section_align = 4096;
+ e_hdr.file_align = 512;
+- e_hdr.image_sz = hdr_sz + so_size;
++ e_hdr.image_sz = hdr_sz + so_memsz;
+ e_hdr.headers_sz = hdr_sz;
+ e_hdr.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION;
+ e_hdr.rva_and_sizes_nr = sizeof(e_hdr.data_directory) / sizeof(__uint64_t);
+@@ -119,7 +119,7 @@ static void write_header(FILE *f, __uint32_t entry, size_t data_size,
+ memset(&e_hdr_pe32p, 0, sizeof(e_hdr_pe32p));
+ e_hdr_pe32p.section_align = 4096;
+ e_hdr_pe32p.file_align = 512;
+- e_hdr_pe32p.image_sz = hdr_sz + so_size;
++ e_hdr_pe32p.image_sz = hdr_sz + so_memsz;
+ e_hdr_pe32p.headers_sz = hdr_sz;
+ e_hdr_pe32p.subsystem = IMAGE_SUBSYSTEM_EFI_APPLICATION;
+ e_hdr_pe32p.rva_and_sizes_nr = sizeof(e_hdr_pe32p.data_directory) / sizeof(__uint64_t);
+@@ -157,17 +157,16 @@ static void usage(char *progname)
+
+ int main(int argc, char **argv)
+ {
+- struct stat st;
+ Elf32_Ehdr e32_hdr;
+ Elf64_Ehdr e64_hdr;
+ __uint32_t entry;
+ __uint8_t class;
+- __uint64_t shoff;
+- __uint16_t shnum, shentsize, shstrndx;
++ __uint64_t phoff = 0;
++ __uint16_t phnum = 0, phentsize = 0;
+ unsigned char *id;
+ FILE *f_in, *f_out;
+ void *buf;
+- size_t datasz, rv;
++ size_t datasz, memsz, rv;
+
+ if (argc < 3) {
+ usage(argv[0]);
+@@ -180,11 +179,6 @@ int main(int argc, char **argv)
+ exit(EXIT_FAILURE);
+ }
+
+- if (stat(argv[1], &st) != 0) {
+- perror("stat");
+- exit(EXIT_FAILURE);
+- }
+-
+ f_out = fopen(argv[2], "w");
+ if (!f_out) {
+ perror("fopen");
+@@ -194,15 +188,14 @@ int main(int argc, char **argv)
+ /*
+ * Parse the ELF header and find the entry point.
+ */
+- fread((void *)&e32_hdr, sizeof(e32_hdr), 1, f_in);
++ fread((void *)&e32_hdr, sizeof(e32_hdr), 1, f_in);
+ if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS32) {
+ id = e32_hdr.e_ident;
+ class = ELFCLASS32;
+ entry = e32_hdr.e_entry;
+- shoff = e32_hdr.e_shoff;
+- shnum = e32_hdr.e_shnum;
+- shstrndx = e32_hdr.e_shstrndx;
+- shentsize = e32_hdr.e_shentsize;
++ phoff = e32_hdr.e_phoff;
++ phnum = e32_hdr.e_phnum;
++ phentsize = e32_hdr.e_phentsize;
+ }
+ else if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS64) {
+ /* read the header again for x86_64
+@@ -213,10 +206,9 @@ int main(int argc, char **argv)
+ fread((void *)&e64_hdr, sizeof(e64_hdr), 1, f_in);
+ id = e64_hdr.e_ident;
+ entry = e64_hdr.e_entry;
+- shoff = e64_hdr.e_shoff;
+- shnum = e64_hdr.e_shnum;
+- shstrndx = e64_hdr.e_shstrndx;
+- shentsize = e64_hdr.e_shentsize;
++ phoff = e64_hdr.e_phoff;
++ phnum = e64_hdr.e_phnum;
++ phentsize = e64_hdr.e_phentsize;
+ } else {
+ fprintf(stderr, "Unsupported architecture\n");
+ exit(EXIT_FAILURE);
+@@ -230,98 +222,47 @@ int main(int argc, char **argv)
+ exit(EXIT_FAILURE);
+ }
+
+- if (!shoff || !shnum || (shstrndx == SHN_UNDEF)) {
+- fprintf(stderr, "Cannot find section table\n");
++ if (!phoff || !phnum) {
++ fprintf(stderr, "Cannot find segment table\n");
+ exit(EXIT_FAILURE);
+ }
+
+ /*
+- * Find the beginning of the .bss section. Everything preceding
+- * it is copied verbatim to the output file.
++ * Find the LOAD program header. Everything in this segment
++ * is copied verbatim to the output file.
++ * Although there may be several LOAD program headers, only
++ * one is currently copied.
+ */
+ if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS32) {
+- const char *shstrtab, *name;
+- Elf32_Shdr shdr;
++ Elf32_Phdr phdr;
+ int i;
+- void *strtab;
+-
+- fseek(f_in, shoff, SEEK_SET);
+-
+- /* First find the strtab section */
+- fseek(f_in, shstrndx * shentsize, SEEK_CUR);
+- fread(&shdr, sizeof(shdr), 1, f_in);
+
+- strtab = malloc(shdr.sh_size);
+- if (!strtab) {
+- fprintf(stderr, "Failed to malloc strtab\n");
+- exit(EXIT_FAILURE);
+- }
+-
+- fseek(f_in, shdr.sh_offset, SEEK_SET);
+- fread(strtab, shdr.sh_size, 1, f_in);
+-
+- /* Now search for the .bss section */
+- fseek(f_in, shoff, SEEK_SET);
+- for (i = 0; i < shnum; i++) {
+- rv = fread(&shdr, sizeof(shdr), 1, f_in);
+- if (!rv) {
+- fprintf(stderr, "Failed to read section table\n");
+- exit(EXIT_FAILURE);
+- }
++ /* Find the first LOAD program header */
++ for (i = 0; i < phnum; i++) {
++ fseek(f_in, phoff + i * phentsize, SEEK_SET);
++ fread(&phdr, sizeof(phdr), 1, f_in);
+
+- name = strtab + shdr.sh_name;
+- if (!strcmp(name, ".bss"))
++ if (phdr.p_type == PT_LOAD)
+ break;
+ }
+
+- if (i == shnum) {
+- fprintf(stderr, "Failed to find .bss section\n");
+- exit(EXIT_FAILURE);
+- }
+-
+- datasz = shdr.sh_offset;
+- }
+- else if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS64) {
+- const char *shstrtab, *name;
+- Elf64_Shdr shdr;
++ datasz = phdr.p_filesz;
++ memsz = phdr.p_memsz;
++ } else if (e32_hdr.e_ident[EI_CLASS] == ELFCLASS64) {
++ Elf64_Phdr phdr;
+ int i;
+- void *strtab;
+-
+- fseek(f_in, shoff, SEEK_SET);
+
+- /* First find the strtab section */
+- fseek(f_in, shstrndx * shentsize, SEEK_CUR);
+- fread(&shdr, sizeof(shdr), 1, f_in);
+-
+- strtab = malloc(shdr.sh_size);
+- if (!strtab) {
+- fprintf(stderr, "Failed to malloc strtab\n");
+- exit(EXIT_FAILURE);
+- }
++ /* Find the first LOAD program header */
++ for (i = 0; i < phnum; i++) {
++ fseek(f_in, phoff + i * phentsize, SEEK_SET);
++ fread(&phdr, sizeof(phdr), 1, f_in);
+
+- fseek(f_in, shdr.sh_offset, SEEK_SET);
+- fread(strtab, shdr.sh_size, 1, f_in);
+-
+- /* Now search for the .bss section */
+- fseek(f_in, shoff, SEEK_SET);
+- for (i = 0; i < shnum; i++) {
+- rv = fread(&shdr, sizeof(shdr), 1, f_in);
+- if (!rv) {
+- fprintf(stderr, "Failed to read section table\n");
+- exit(EXIT_FAILURE);
+- }
+-
+- name = strtab + shdr.sh_name;
+- if (!strcmp(name, ".bss"))
++ if (phdr.p_type == PT_LOAD)
+ break;
+ }
+
+- if (i == shnum) {
+- fprintf(stderr, "Failed to find .bss section\n");
+- exit(EXIT_FAILURE);
+- }
+-
+- datasz = shdr.sh_offset;
++ datasz = phdr.p_filesz;
++ memsz = phdr.p_memsz;
+ }
+
+ buf = malloc(datasz);
+@@ -330,7 +271,7 @@ int main(int argc, char **argv)
+ exit(EXIT_FAILURE);
+ }
+
+- write_header(f_out, entry, datasz, st.st_size, class);
++ write_header(f_out, entry, datasz, memsz, class);
+
+ /* Write out the entire ELF shared object */
+ rewind(f_in);
+@@ -341,5 +282,8 @@ int main(int argc, char **argv)
+ }
+
+ fwrite(buf, datasz, rv, f_out);
++ free(buf);
++ fclose(f_out);
++ fclose(f_in);
+ return 0;
+ }
+diff --git a/efi/x86_64/syslinux.ld b/efi/x86_64/syslinux.ld
+index 95160bd..450641c 100644
+--- a/efi/x86_64/syslinux.ld
++++ b/efi/x86_64/syslinux.ld
+@@ -136,7 +136,7 @@ SECTIONS
+ *(.strtab)
+ }
+
+- .bss : {
++ .bss (NOLOAD) : {
+ /* the EFI loader doesn't seem to like a .bss section,
+ so we stick it all into .data: */
+ __bss_start = .;
+@@ -153,7 +153,7 @@ SECTIONS
+ __bss_dwords = (__bss_len + 3) >> 2;
+
+ . = ALIGN(128);
+-
++
+ /* Very large objects which don't need to be zeroed */
+
+ .hugebss : {
diff --git a/libre/syslinux/syslinux-dont-build-dos-windows-targets.patch b/libre/syslinux/syslinux-dont-build-dos-windows-targets.patch
new file mode 100644
index 000000000..54151ab87
--- /dev/null
+++ b/libre/syslinux/syslinux-dont-build-dos-windows-targets.patch
@@ -0,0 +1,12 @@
+diff -Nur syslinux-4.02.orig//Makefile syslinux-4.02//Makefile
+--- syslinux-4.02.orig//Makefile 2010-07-21 21:33:13.000000000 +0200
++++ syslinux-4.02//Makefile 2010-07-22 11:14:03.325522937 +0200
+@@ -54,7 +54,7 @@
+ # files that depend only on the B phase, but may have to be regenerated
+ # for "make installer".
+ BSUBDIRS = codepage com32 lzo core memdisk mbr memdump gpxe sample \
+- diag libinstaller dos win32 win64 dosutil txt
++ libinstaller txt
+ ITARGET =
+ IOBJECTS = $(ITARGET) \
+ utils/gethostip utils/isohybrid utils/mkdiskimage \
diff --git a/libre/syslinux/syslinux-install_update b/libre/syslinux/syslinux-install_update
new file mode 100644
index 000000000..3843b5fed
--- /dev/null
+++ b/libre/syslinux/syslinux-install_update
@@ -0,0 +1,453 @@
+#!/usr/bin/env bash
+#
+# Syslinux Installer / Updater Script (for BIOS only)
+# Copyright (C) 2011-2013 Matthew Gyurgyik <pyther@pyther.net>
+# Copyright (C) 2013 Keshav Padram Amburay <(the) (ddoott) (ridikulus) (ddoott) (rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+#-----------------
+# ChangeLog:
+# 2013-10-23 : Keshav Padram Amburay : Updated script to work with Syslinux 6.02 Arch Linux pkg
+#-----------------
+# Exit Codes:
+# 1 - get_boot_device or other function failed
+# 2 - install/update failed
+# 3 - set_active failed
+# 4 - install_mbr failed
+#-----------------
+
+shopt -s nullglob
+
+bios_libpath="/usr/lib/syslinux/bios"
+bios_bootpath="/boot/syslinux"
+EXTLINUX="/usr/bin/extlinux"
+
+bios_autoupdate_file="/boot/syslinux/SYSLINUX_AUTOUPDATE"
+pciids_file="/usr/share/hwdata/pci.ids"
+
+## Helper functions ##
+# Taken from libui-sh
+# $1 needle
+# $2 set (array) haystack
+check_is_in() {
+ local needle="$1" element
+ shift
+ for element; do
+ [[ $element = $needle ]] && return 0
+ done
+ return 1
+}
+
+# return true when blockdevice is an md raid, otherwise return a unset value
+# get all devices that are part of raid device $1
+device_is_raid() {
+ [[ $1 && -f /proc/mdstat ]] || return 1
+ local devmajor=$(stat -c %t "$1")
+ (( devmajor == 9 ))
+}
+
+mdraid_all_slaves() {
+ local slave slaves
+ for slave in /sys/class/block/${1##*/}/slaves/*; do
+ source "$slave/uevent"
+ slaves="$slaves/dev/$DEVNAME "
+ unset DEVNAME
+ done
+ echo $slaves
+}
+
+# Check /sys/block to see if device is partitioned
+# If we have a partitioned block device (sda1) /sys/block/sda1/dev will not exist
+# However, if we have an unpartitioned block device (sda) /sys/block/sda/dev will exist
+dev_is_part() {
+ # $1 - blockdevice
+ local dev=$1
+
+ # If block device uevent file should be found
+ # If a partition is passed in path shouldn't exist
+ if [[ $dev = *cciss* ]]; then
+ [[ -f /sys/block/cciss\!${dev##*/}/dev ]] && return 1
+ elif [[ $dev = *ida* ]]; then
+ [[ -f /sys/block/ida\!${dev##*/}/dev ]] && return 1
+ else
+ [[ -f /sys/block/${dev##*/}/dev ]] && return 1
+ fi
+
+ return 0
+}
+
+# If EFI PART is present in the first 8 bytes then it must be a GPT disk
+device_is_gpt() {
+ local partsig=$(dd if="$1" skip=64 bs=8 count=1 2>/dev/null)
+ [[ $partsig = "EFI PART" ]]
+}
+
+clear_gpt_attr2() {
+ # $1 - Block Device, no partitions
+ local disk=$1
+
+ # Special Exception for cciss controllers
+ if [[ $disk = *cciss* ]]; then
+ for part in /dev/cciss/${disk##*/}*p*; do
+ local partnum="${part##*[[:alpha:]]}"
+ sgdisk "$disk" --attributes="$partnum":clear:2 &>/dev/null
+ done
+ # Smart 2 Controllers
+ elif [[ $disk = *ida* ]]; then
+ for part in /dev/ida/${disk##*/}*p*; do
+ local partnum="${part##*[[:alpha:]]}"
+ sgdisk "$disk" --attributes="$partnum":clear:2 &>/dev/null
+ done
+ else
+ for part in /sys/block/${disk##*/}/${disk##*/}*; do
+ local partnum="${part##*[[:alpha:]]}"
+ sgdisk "$disk" --attributes="$partnum":clear:2 &>/dev/null
+ done
+ fi
+ return 0
+}
+
+usage() {
+cat << EOF
+usage: $0 options
+
+This script will install or upgrade Syslinux (for BIOS only)
+
+OPTIONS:
+ -h Show this message
+ -i Install Syslinux
+ -u Update Syslinux
+ -a Set Boot flag on boot partiton
+ -m Install Syslinux MBR
+ -s Updates Syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists
+
+ Arguments Required:
+ -c Chroot install (ex: -c /mnt)
+
+Example Usage: $0 -i -a -m # (install, set boot flag, install mbr)
+ $0 -u # (update)
+EOF
+}
+
+# Trys to find the partition that /boot resides on
+# This will either be on /boot or / (root)
+getBoot() {
+ if [[ ! -d "$bios_bootpath" ]]; then
+ echo "Could not find $bios_bootpath"
+ echo "Is boot mounted? Is Syslinux installed?"
+ exit 1
+ fi
+
+ syslinux_fs=(ext2 ext3 ext4 btrfs vfat)
+
+ # Use DATA from findmnt see rc.sysint for more info
+ if [[ -f /proc/self/mountinfo ]]; then
+ read rootdev rootfs < <(findmnt -run -t noautofs -o SOURCE,FSTYPE "$CHROOT/")
+ read bootdev bootfs < <(findmnt -run -t noautofs -o SOURCE,FSTYPE "$CHROOT/boot")
+ else
+ echo "Could not find /proc/self/mountinfo"
+ echo "Are you running a kernel greater than 2.6.24?"
+ exit 1
+ fi
+
+ if [[ $bootfs ]]; then
+ if ! check_is_in "$bootfs" "${syslinux_fs[@]}"; then
+ echo "/boot file system is not supported by Syslinux"
+ exit 1
+ fi
+ boot="boot"
+ bootpart="$bootdev"
+ elif [[ $rootfs ]]; then
+ if ! check_is_in "$rootfs" "${syslinux_fs[@]}"; then
+ echo "/ (root) file system is not supported by Syslinux"
+ exit 1
+ fi
+ boot="root"
+ bootpart="$rootdev"
+ else
+ echo "Could not find filesystem on / (root) or /boot."
+ exit 1
+ fi
+}
+
+# We store the partition table type either gpt or mbr in var ptb
+# In rare cases a user could have one raid disk using mbr and another using gpt
+# In such cases we accept that the output may be incomplete
+
+# Calls get_ptb() for $bootpart or for all device in RAID
+declare -A bootdevs
+get_boot_devices() {
+ if device_is_raid "$bootpart"; then
+ slaves=$(mdraid_all_slaves "$bootpart")
+
+ for slave in ${slaves[@]}; do
+ local disk="${slave%%[[:digit:]]*}"
+ device_is_gpt "$disk" && local ptb="GPT" || local ptb="MBR"
+ bootdevs[$slave]="$ptb"
+ done
+ else
+ local disk="${bootpart%%[[:digit:]]*}"
+ device_is_gpt "$disk" && local ptb="GPT" || local ptb="MBR"
+ bootdevs[$bootpart]="$ptb"
+ fi
+}
+
+# Function Assumes the boot partition should be marked as active
+# All other partitions should not have the boot flag set
+set_active() {
+ # If any bootdev is a block device without partitions bail
+ # we want to set the boot flag on partitioned disk
+ for dev in "${!bootdevs[@]}"; do
+ dev_is_part $dev || { echo "$dev - is a block device. Aborting set_active!"; return 1; }
+ done
+
+ # Clear BIOS Bootable Legacy Attribute for GPT drives
+ # In rare cases where a RAID device has slaves on the same block device
+ # Attribute 2 will be cleared for each partition multiple times
+ for dev in "${!bootdevs[@]}"; do
+ local ptb="${bootdevs[$dev]}"
+ if [[ "$ptb" = GPT ]]; then
+ local disk="${dev%%[[:digit:]]*}" #ex: /dev/sda
+ clear_gpt_attr2 "$disk"
+ fi
+ done
+
+ # Set the boot flag on bootdevs (generated from get_boot_devices)
+ for part in "${!bootdevs[@]}"; do
+ local ptb="${bootdevs[$part]}"
+ local partnum="${part##*[[:alpha:]]}"
+ case "$part" in
+ *[[:digit:]]p[[:digit:]]*)
+ local disk="${part%%p$partnum}" # get everything before p1
+ ;;
+ *)
+ local disk="${part%%[[:digit:]]*}"
+ ;;
+ esac
+
+ if [[ "$ptb" = MBR ]]; then
+ if sfdisk "$disk" -A "$partnum" &>/dev/null; then
+ echo "Boot Flag Set - $part"
+ else
+ echo "FAILED to Set the boot flag on $part"
+ exit 3
+ fi
+ elif [[ "$ptb" = GPT ]]; then
+ if sgdisk "$disk" --attributes="$partnum":set:2 &>/dev/null; then
+ echo "Attribute Legacy Bios Bootable Set - $part"
+ else
+ echo "FAILED to set attribute Legacy BIOS Bootable on $part"
+ exit 3
+ fi
+ fi
+ done
+ return 0
+}
+
+install_mbr() {
+ # If any bootdev is a block device without partitions bail
+ # we want to install the mbr to a partitioned disk
+ for dev in "${!bootdevs[@]}"; do
+ dev_is_part "$dev" || { echo "$dev - is a block device. Aborting MBR install"; return 1; }
+ done
+
+ for part in "${!bootdevs[@]}"; do
+ local partnum="${part##*[[:alpha:]]}"
+ case "$part" in
+ *[[:digit:]]p[[:digit:]]*)
+ local disk="${part%%p$partnum}" # get everything before p1
+ ;;
+ *)
+ local disk="${part%%[[:digit:]]*}"
+ ;;
+ esac
+ local ptb="${bootdevs[$part]}"
+
+ # We want to install to the root of the block device
+ # If the device is a partition - ABORT!
+ dev_is_part "$disk" && \
+ { echo "ABORT! MBR installation to partition ($disk)!"; exit 4;}
+
+ if [[ "$ptb" = MBR ]]; then
+ mbrfile="$bios_libpath/mbr.bin"
+ elif [[ "$ptb" = GPT ]]; then
+ mbrfile="$bios_libpath/gptmbr.bin"
+ fi
+
+ if dd bs=440 count=1 conv=notrunc if="$mbrfile" of="$disk" &> /dev/null; then
+ echo "Installed MBR ($mbrfile) to $disk"
+ else
+ echo "Error Installing MBR ($mbrfile) to $disk"
+ exit 4
+ fi
+ done
+ return 0
+}
+
+install_modules() {
+ # Copy all syslinux *.c32 modules to /boot
+ rm "$bios_bootpath"/*.c32 &> /dev/null
+ cp "$bios_libpath"/*.c32 "$bios_bootpath"/ &> /dev/null
+
+ # Copy / Symlink pci.ids if pci.ids exists on the FS
+ if [[ -f "$pciids_file" ]]; then
+ rm "$bios_bootpath/pci.ids" &> /dev/null
+ cp "$pciids_file" "$bios_bootpath/pci.ids" &> /dev/null
+ fi
+}
+
+_install() {
+ install_modules
+
+ if device_is_raid "$bootpart" ; then
+ echo "Detected RAID on /boot - installing Syslinux with --raid"
+ "$EXTLINUX" --install "$bios_bootpath" --raid &> /dev/null
+ else
+ "$EXTLINUX" --install "$bios_bootpath" &> /dev/null
+ fi
+
+ if (( $? )); then
+ echo "Syslinux BIOS install failed"
+ exit 2
+ else
+ echo "Syslinux BIOS install successful"
+ fi
+
+ touch "$CHROOT/$bios_autoupdate_file"
+}
+
+update() {
+ install_modules
+
+ if device_is_raid "$bootpart" ; then
+ echo "Detected RAID on /boot - updating Syslinux with --raid"
+ "$EXTLINUX" --update "$bios_bootpath" --raid &> /dev/null
+ else
+ "$EXTLINUX" --update "$bios_bootpath" &> /dev/null
+ fi
+
+ if (($?)); then
+ echo "Syslinux BIOS update failed"
+ exit 2
+ else
+ echo "Syslinux BIOS update successful"
+ fi
+}
+
+if (( $# == 0 )); then
+ usage
+ exit 1
+fi
+
+while getopts "c:uihmas" opt; do
+ case $opt in
+ c)
+ CHROOT=$(readlink -e "$OPTARG")
+ if [[ -z $CHROOT ]]; then
+ echo "error: chroot path ``$OPTARG does not exist";
+ exit 1
+ fi
+ ;;
+ h)
+ USAGE="True"
+ ;;
+ i)
+ INSTALL="True"
+ ;;
+ u)
+ UPDATE="True"
+ ;;
+ m)
+ MBR="True"
+ ;;
+ a)
+ SET_ACTIVE="True"
+ ;;
+ s)
+ # If AUTOUPDATE_FILE does not exist exit the script
+ if [[ -f $bios_autoupdate_file ]]; then
+ UPDATE="True"
+ else
+ exit 0
+ fi
+ ;;
+ *)
+ usage
+ exit 1
+ ;;
+ esac
+done
+
+if [[ $USAGE ]]; then
+ usage
+ exit 0
+fi
+
+# Display Usage Information if both Install and Update are passed
+if [[ $INSTALL && $UPDATE ]]; then
+ usage
+ exit 1
+fi
+
+# Make sure only root can run our script
+if (( $(id -u) != 0 )); then
+ echo "This script must be run as root" 1>&2
+ exit 1
+fi
+
+# If a chroot dir is path set variables to reflect chroot
+if [[ "$CHROOT" ]]; then
+ bios_libpath="$CHROOT$bios_libpath"
+ bios_bootpath="$CHROOT$bios_bootpath"
+ EXTLINUX="$CHROOT$EXTLINUX"
+fi
+
+# Exit if no /boot path exists
+if ( f=("$bios_bootpath"/*); (( ! ${#f[@]} )) ); then
+ echo "Error: $bios_bootpath is empty!"
+ echo "Is /boot mounted?"
+ exit 1
+fi
+
+# Get the boot device if any of these options are passed
+if [[ $INSTALL || $UPDATE || $SET_ACTIVE || $MBR ]]; then
+ getBoot
+fi
+
+# Install or Update
+if [[ $INSTALL ]]; then
+ _install || exit
+elif [[ $UPDATE ]]; then
+ update || exit
+fi
+
+
+# SET_ACTIVE and MBR
+if [[ $SET_ACTIVE ]] || [[ $MBR ]]; then
+ get_boot_devices
+
+ if [[ $SET_ACTIVE ]]; then
+ set_active || exit
+ fi
+
+ if [[ $MBR ]]; then
+ install_mbr || exit
+ fi
+fi
+
+exit 0
+
+# vim: set et sw=4:
diff --git a/libre/syslinux/syslinux.cfg b/libre/syslinux/syslinux.cfg
new file mode 100644
index 000000000..0c0c6339a
--- /dev/null
+++ b/libre/syslinux/syslinux.cfg
@@ -0,0 +1,78 @@
+# Config file for Syslinux -
+# /boot/syslinux/syslinux.cfg
+#
+# Comboot modules:
+# * menu.c32 - provides a text menu
+# * vesamenu.c32 - provides a graphical menu
+# * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloaders
+# * hdt.c32 - hardware detection tool
+# * reboot.c32 - reboots the system
+#
+# To Use: Copy the respective files from /usr/lib/syslinux to /boot/syslinux.
+# If /usr and /boot are on the same file system, symlink the files instead
+# of copying them.
+#
+# If you do not use a menu, a 'boot:' prompt will be shown and the system
+# will boot automatically after 5 seconds.
+#
+# Please review the wiki: https://wiki.archlinux.org/index.php/Syslinux
+# The wiki provides further configuration examples
+
+DEFAULT parabola
+PROMPT 0 # Set to 1 if you always want to display the boot: prompt
+TIMEOUT 50
+# You can create syslinux keymaps with the keytab-lilo tool
+#KBDMAP de.ktl
+
+# Menu Configuration
+# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux
+#UI menu.c32
+UI vesamenu.c32
+
+# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
+MENU TITLE Parabola GNU/Linux-libre
+MENU BACKGROUND splash.png
+MENU COLOR border 35;40 #ff777caa #a0000000 std
+MENU COLOR title 1;35;40 #ff777caa #a0000000 std
+MENU COLOR sel 7;35;47 #e0ffffff #20777caa all
+MENU COLOR unsel 35;40 #ff777caa #a0000000 std
+MENU COLOR help 35;40 #c0b2b2b2 #a0000000 std
+MENU COLOR timeout_msg 35;40 #ff777caa #00000000 std
+MENU COLOR timeout 1;35;40 #ff777caa #00000000 std
+MENU COLOR msg07 35;40 #ff777caa #a0000000 std
+MENU COLOR tabmsg 35;40 #ff777caa #00000000 std
+
+# boot sections follow
+#
+# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
+#
+#-*
+
+LABEL parabola
+ MENU LABEL Parabola GNU/Linux-libre
+ LINUX ../vmlinuz-linux-libre
+ APPEND root=/dev/sda3 rw
+ INITRD ../initramfs-linux-libre.img
+
+LABEL parabolafallback
+ MENU LABEL Parabola GNU/Linux-libre Fallback
+ LINUX ../vmlinuz-linux-libre
+ APPEND root=/dev/sda3 rw
+ INITRD ../initramfs-linux-libre-fallback.img
+
+# If you want Memtest on syslinux, use this LABEL section to launch it (install the memtest86+ package)
+# LABEL memtest
+# MENU LABEL Memtest86+
+# LINUX ../memtest86+/memtest.bin
+
+LABEL hdt
+ MENU LABEL HDT (Hardware Detection Tool)
+ COM32 hdt.c32
+
+LABEL reboot
+ MENU LABEL Reboot
+ COM32 reboot.c32
+
+LABEL poweroff
+ MENU LABEL Poweroff
+ COM32 poweroff.c32
diff --git a/libre/syslinux/syslinux.install b/libre/syslinux/syslinux.install
new file mode 100644
index 000000000..ed8387773
--- /dev/null
+++ b/libre/syslinux/syslinux.install
@@ -0,0 +1,43 @@
+post_install() {
+
+ cat << EOF
+
+==> For setting up Syslinux BIOS using the syslinux-install_update script follow
+ https://wiki.parabolagnulinux.org/index.php/Syslinux#Automatic_Install
+EOF
+
+ ## Message specific to Syslinux 4.xx (or 5.xx) to 6.xx upgrade
+ if [ "$(vercmp $2 6.00)" -lt 0 ]; then
+
+ cat << EOF
+
+==> If you are upgrading from Syslinux 4.xx or 5.xx, please re-install
+ (not update) Syslinux BIOS manually (not using the install script) once
+ by following https://wiki.parabolagnulinux.org/index.php/Syslinux#Manual_install
+
+==> The install script may not properly upgrade Syslinux to 6.xx version
+EOF
+
+ fi
+
+ cat << EOF
+
+==> For setting up Syslinux EFI follow
+ https://wiki.parabolagnulinux.org/index.php/Syslinux#UEFI_Systems
+
+==> The syslinux-install_update script does not currently support EFI install
+
+EOF
+
+}
+
+post_upgrade() {
+
+ ## auto-update syslinux if /boot/syslinux/SYSLINUX_AUTOUPDATE exists
+ /usr/bin/syslinux-install_update -s
+
+ post_install
+
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/texlive-bin-libre/09-texlive-fonts.conf b/libre/texlive-bin-libre/09-texlive-fonts.conf
new file mode 100644
index 000000000..f870fbd7a
--- /dev/null
+++ b/libre/texlive-bin-libre/09-texlive-fonts.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <dir>/usr/share/texmf-dist/fonts/opentype</dir>
+ <dir>/usr/share/texmf-dist/fonts/truetype</dir>
+ <dir>/usr/local/share/texmf/fonts/opentype</dir>
+ <dir>/usr/local/share/texmf/fonts/truetype</dir>
+</fontconfig>
+
diff --git a/libre/texlive-bin-libre/PKGBUILD b/libre/texlive-bin-libre/PKGBUILD
new file mode 100644
index 000000000..ce3b3789e
--- /dev/null
+++ b/libre/texlive-bin-libre/PKGBUILD
@@ -0,0 +1,304 @@
+# $Id: PKGBUILD 200613 2013-11-29 21:10:52Z andyrtr $
+# Maintainer: Rémy Oudompheng <remy@archlinux.org>
+# Contributor: francois <francois.archlinux.org>
+# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
+# Contributor (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname=texlive-bin-libre
+pkgver=2013.30973
+pkgrel=7
+pkgdesc="TeX Live binaries, without biber binaries (Parabola rebranded)"
+license=('GPL')
+arch=('i686' 'x86_64' 'mips64el')
+depends=('cairo' 'pixman' 'graphite' 't1lib' 'gd' 'poppler>=0.24.4'
+ 'libsigsegv' 'zziplib' 'libpng' 'libjpeg' 'freetype2'
+ 'icu' 'harfbuzz' 'harfbuzz-icu')
+makedepends=('perl' 'clisp' 'ffcall')
+optdepends=('ed: for texconfig')
+provides=('texlive-bin' 'lcdf-typetools' 'kpathsea' 'xindy' 'pdfjam')
+conflicts=('texlive-bin' 'pdfjam')
+replaces=('texlive-bin')
+options=('!strip')
+url='http://tug.org/texlive/'
+install="texlive.install"
+source=('fix-fontforge-encoding.patch'
+ "http://mirrors.kernel.org/archlinux/other/texlive/texlive-bin-source-${pkgver}.tar.xz"
+)
+md5sums=('bfb9716aa00c86c08cd31e5b32edeb98'
+ '0a8ffd5c0002a080a4202057b1f106c6')
+
+build() {
+ cd "$srcdir"
+
+ if [ "${CARCH}" != "i686" ]; then
+ export CFLAGS="${CFLAGS} -fPIC"
+ export CXXFLAGS="${CXXFLAGS} -fPIC"
+ fi
+
+ # this patch removes spurious error message with locale "xx_YY.utf8"
+ #patch -Np0 -i fix-fontforge-encoding.patch
+ # t4ht expects to be un /usr/share/texmf/bin/t4ht (FS#27251)
+ sed -i s/SELFAUTOPARENT/TEXMFROOT/ source/texk/tex4htk/t4ht.c
+ #############################################################
+ ### configure
+ cd source
+ ## prevent compiling Xdvi with libXp
+ sed -i~ 's|-lXp ||' texk/xdvik/configure
+ test ! -d Work && mkdir Work
+ cd Work
+ echo "--> Initial configuration..."
+ # we use temporary prefix to avoid messing the existing
+ # $pkgdir/usr/share/texmf tree
+ # system zlib is disabled due to issues with zlib 1.2.6 (FS#28221)
+ ../configure --prefix=/usr -C \
+ --sysconfdir=/etc \
+ --datarootdir=/usr/share \
+ --datadir=/usr/share \
+ --mandir=/usr/share/man \
+ --disable-native-texlive-build \
+ --with-banner-add="/Parabola GNU/Linux-libre" \
+ --disable-multiplatform \
+ --disable-dialog \
+ --disable-psutils \
+ --disable-t1utils \
+ --disable-bibtexu \
+ --disable-xz \
+ --enable-shared \
+ --disable-static \
+ --with-system-zlib \
+ --with-system-zziplib \
+ --with-system-pnglib \
+ --with-system-ncurses \
+ --with-system-t1lib \
+ --with-system-gd \
+ --with-system-poppler \
+ --with-system-xpdf \
+ --with-system-freetype2 \
+ --with-system-pixman \
+ --with-system-cairo \
+ --with-system-harfbuzz \
+ --with-system-graphite \
+ --with-system-icu \
+ --with-freetype2-libdir=/usr/lib \
+ --with-freetype2-include=/usr/include/freetype2 \
+ --with-xdvi-x-toolkit=xaw \
+ --disable-dump-share \
+ --disable-aleph \
+ --enable-luatex \
+ --with-clisp-runtime=default \
+ --enable-xindy --disable-xindy-rules --disable-xindy-docs
+ #############################################################
+ ### make
+ echo "-------------------------------------------------------"
+ echo "--> Building the whole beast ..."
+ echo "-------------------------------------------------------"
+ make
+}
+
+package() {
+ cd "$srcdir"
+
+ #############################################################
+ ### install
+ cd source
+ # fixes for xindy
+ find utils/xindy -name Makefile -exec sed -i -e "s|^prefix =.\+$|prefix = $pkgdir/usr|" -e "s|^mandir =.\+$|mandir = \${prefix}/share/man|" -e "s|^datadir =.\+$|datadir = \${datarootdir}/texmf|" -e "s|^docdir =.\+$|docdir = \${datadir}/doc/xindy|" '{}' \;
+
+ echo "-------------------------------------------------------"
+ echo "--> Proceeding with make install ..."
+ echo "-------------------------------------------------------"
+ cd Work
+ make DESTDIR="${pkgdir}" texmf="$pkgdir"/usr/share/texmf install
+ rm -rf "${pkgdir}"/usr/{texmf,share/texmf-dist}
+
+ ## install Perl libraries
+ mkdir -p "$pkgdir"/usr/share/tlpkg/TeXLive
+ install -m644 "${srcdir}"/source/utils/biber/TeXLive/*.pm "${pkgdir}/usr/share/tlpkg/TeXLive"
+
+ ## symlink engines by hand. texlinks has moved to texlive-core...
+ mkdir -p ${pkgdir}/usr/bin
+ ln -s eptex ${pkgdir}/usr/bin/platex
+ ln -s euptex ${pkgdir}/usr/bin/uplatex
+ ln -s luatex ${pkgdir}/usr/bin/dvilualatex
+ ln -s luatex ${pkgdir}/usr/bin/dviluatex
+ ln -s luatex ${pkgdir}/usr/bin/lualatex
+ ln -s pdftex ${pkgdir}/usr/bin/amstex
+ ln -s pdftex ${pkgdir}/usr/bin/cslatex
+ ln -s pdftex ${pkgdir}/usr/bin/csplain
+ ln -s pdftex ${pkgdir}/usr/bin/eplain
+ ln -s pdftex ${pkgdir}/usr/bin/etex
+ ln -s pdftex ${pkgdir}/usr/bin/jadetex
+ ln -s pdftex ${pkgdir}/usr/bin/latex
+ ln -s pdftex ${pkgdir}/usr/bin/mex
+ ln -s pdftex ${pkgdir}/usr/bin/mllatex
+ ln -s pdftex ${pkgdir}/usr/bin/mltex
+ ln -s pdftex ${pkgdir}/usr/bin/pdfetex
+ ln -s pdftex ${pkgdir}/usr/bin/pdfcslatex
+ ln -s pdftex ${pkgdir}/usr/bin/pdfcsplain
+ ln -s pdftex ${pkgdir}/usr/bin/pdfjadetex
+ ln -s pdftex ${pkgdir}/usr/bin/pdflatex
+ ln -s pdftex ${pkgdir}/usr/bin/pdfmex
+ ln -s pdftex ${pkgdir}/usr/bin/pdfxmltex
+ ln -s pdftex ${pkgdir}/usr/bin/texsis
+ ln -s pdftex ${pkgdir}/usr/bin/utf8mex
+ ln -s pdftex ${pkgdir}/usr/bin/xmltex
+ ln -s xetex ${pkgdir}/usr/bin/xelatex
+
+ #############################################################
+ # remove dangling symlinks
+ _bibtexextra_scripts="
+bibexport
+listbib
+multibibliography
+urlbst
+"
+ _core_scripts="
+a2ping
+a5toa4
+adhocfilelist
+afm2afm
+allcm
+allec
+allneeded
+arara
+arlatex
+autoinst
+bundledoc
+checkcites
+chkweb
+context
+ctanify
+ctanupload
+ctxtools
+de-macro
+deweb
+dosepsbin
+dtxgen
+dvi2fax
+dviasm
+dvired
+e2pall
+epstopdf
+findhyph
+fmtutil
+fmtutil-sys
+fontinst
+fragmaster
+installfont-tl
+kpsepath
+kpsetool
+kpsewhere
+kpsexpand
+latex2man
+latexdiff
+latexdiff-vc
+latexfileversion
+latexmk
+latexpand
+latexrevise
+listings-ext.sh
+ltxfileinfo
+lua2dox_filter
+luaotfload-tool
+luatools
+match_parens
+mf2pt1
+mkjobtexmf
+mkluatexfontdb
+mkt1font
+mktexfmt
+mptopdf
+mtxrun
+ot2kpx
+pdf180
+pdf270
+pdf90
+pdfatfi
+pdfbook
+pdfcrop
+pdfflip
+pdfjam
+pdfjam-pocketmod
+pdfjam-slides3up
+pdfjam-slides6up
+pdfjoin
+pdfnup
+pdfpun
+pfarrei
+pkfix
+pkfix-helper
+ps2eps
+ps2frag
+pslatex
+pstopdf
+purifyeps
+repstopdf
+rpdfcrop
+rungs
+simpdftex
+sty2dtx
+texconfig
+texconfig-dialog
+texconfig-sys
+texcount
+texdef
+texdiff
+texdirflatten
+texdoc
+texdoctk
+texexec
+texindy
+texlinks
+texliveonfly
+texloganalyser
+texmfstart
+thumbpdf
+typeoutfileinfo
+updmap
+updmap-sys
+vpl2ovp
+vpl2vpl
+xindy
+"
+ _htmlxml_scripts="ht htcontext htlatex htmex httex httexi htxelatex htxetex mk4ht"
+ _langcyrillic_scripts="rubibtex rumakeindex"
+ _langcjk_scripts="convbkmk ptex2pdf
+kanji-fontmap-creator
+kanji-config-updmap
+kanji-config-updmap-sys
+"
+ _langextra_scripts="ebong"
+ _langgreek_scripts="mkgrkindex"
+ _latexextra_scripts="
+authorindex
+exceltex
+makeglossaries
+pdfannotextractor
+perltex
+ps4pdf
+splitindex
+svn-multi
+vpe"
+ _music_scripts="m-tx musixtex musixflx pmx2pdf"
+ _pictures_scripts="cachepic epspdf epspdftk fig4latex mathspic"
+ _pstricks_scripts="pedigree pst2pdf"
+ _science_scripts="ulqda"
+ for s in \
+ ${_bibtexextra_scripts} \
+ ${_core_scripts} \
+ ${_htmlxml_scripts} \
+ ${_langcjk_scripts} \
+ ${_langcyrillic_scripts} \
+ ${_langextra_scripts} \
+ ${_langgreek_scripts} \
+ ${_latexextra_scripts} \
+ ${_music_scripts} \
+ ${_pictures_scripts} \
+ ${_pstricks_scripts} \
+ ${_science_scripts} \
+ tlmgr; do
+ ! readlink -e "$pkgdir"/usr/bin/$s && rm "$pkgdir"/usr/bin/$s
+ done
+ ###################################################################
+}
+
diff --git a/libre/texlive-bin-libre/fix-fontforge-encoding.patch b/libre/texlive-bin-libre/fix-fontforge-encoding.patch
new file mode 100644
index 000000000..8104b3289
--- /dev/null
+++ b/libre/texlive-bin-libre/fix-fontforge-encoding.patch
@@ -0,0 +1,12 @@
+--- source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/noprefs.c.orig 2009-09-30 19:27:00.935039526 +0200
++++ source/texk/web2c/luatexdir/luafontloader/fontforge/fontforge/noprefs.c 2009-09-30 19:28:04.908364646 +0200
+@@ -495,6 +495,9 @@
+ { "Big5HKSCS", e_big5hkscs },
+ { "Big5-HKSCS", e_big5hkscs },
+ { "UTF-8", e_utf8 },
++ { "utf-8", e_utf8 },
++ { "UTF8", e_utf8 },
++ { "utf8", e_utf8 },
+ { "ISO-10646/UTF-8", e_utf8 },
+ { "ISO_10646/UTF-8", e_utf8 },
+ { "UCS2", e_unicode },
diff --git a/libre/texlive-bin-libre/luatex-poppler-0.20.patch b/libre/texlive-bin-libre/luatex-poppler-0.20.patch
new file mode 100644
index 000000000..175824f3e
--- /dev/null
+++ b/libre/texlive-bin-libre/luatex-poppler-0.20.patch
@@ -0,0 +1,77 @@
+--- source/texk/web2c/luatexdir/lua/lepdflib.cc.orig 2011-10-06 06:14:20.000000000 +0000
++++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2012-05-17 11:30:26.327236883 +0000
+@@ -157,7 +157,7 @@
+ pdfdoc_changed_error(L);
+ uout = new_Annot_userdata(L);
+ uout->d =
+- new Annot((XRef *) uxref->d, (Dict *) udict->d, (Catalog *) ucatalog->d,
++ new Annot((PDFDoc *) uxref->pd, (Dict *) udict->d,
+ (Object *) uref->d);
+ uout->atype = ALLOC_LEPDF;
+ uout->pc = uxref->pc;
+@@ -179,7 +179,7 @@
+ pdfdoc_changed_error(L);
+ uout = new_Annots_userdata(L);
+ uout->d =
+- new Annots((XRef *) uxref->d, (Catalog *) ucatalog->d,
++ new Annots((PDFDoc *) uxref->pd,
+ (Object *) uannotsobj->d);
+ uout->atype = ALLOC_LEPDF;
+ uout->pc = uxref->pc;
+@@ -369,7 +369,7 @@
+ // Annot
+
+ m_poppler_get_BOOL(Annot, isOk);
+-m_poppler_get_OBJECT(Annot, getAppearance);
++m_poppler_get_OBJECT(Annot, getAppearanceResDict);
+ m_poppler_get_poppler(Annot, AnnotBorder, getBorder);
+
+ static int m_Annot_match(lua_State * L)
+@@ -408,7 +408,7 @@
+
+ static const struct luaL_Reg Annot_m[] = {
+ {"isOk", m_Annot_isOk},
+- {"getAppearance", m_Annot_getAppearance},
++ {"getAppearance", m_Annot_getAppearanceResDict},
+ {"getBorder", m_Annot_getBorder},
+ {"match", m_Annot_match},
+ {"__tostring", m_Annot__tostring},
+@@ -1433,7 +1433,7 @@
+
+ static int m_Object_getTypeName(lua_State * L)
+ {
+- char *s;
++ const char *s;
+ udstruct *uin;
+ uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
+ if (uin->pd != NULL && uin->pd->pc != uin->pc)
+@@ -2120,7 +2120,7 @@
+ if ((uin->pd != NULL && uin->pd->pc != uin->pc)
+ || (ucat->pd != NULL && ucat->pd->pc != ucat->pd->pc))
+ pdfdoc_changed_error(L);
+- links = ((Page *) uin->d)->getLinks((Catalog *) ucat->d);
++ links = ((Page *) uin->d)->getLinks();
+ if (links != NULL) {
+ uout = new_Links_userdata(L);
+ uout->d = links;
+@@ -2738,7 +2738,10 @@
+ return 1;
+ }
+
+-m_poppler_get_INT(XRef, getSize);
++static int m_XRef_getSize(lua_State * L)
++{
++ return m_XRef_getNumObjects(L);
++}
+
+ static int m_XRef_getEntry(lua_State * L)
+ {
+@@ -2748,7 +2751,7 @@
+ if (uin->pd != NULL && uin->pd->pc != uin->pc)
+ pdfdoc_changed_error(L);
+ i = luaL_checkint(L, 2);
+- size = ((XRef *) uin->d)->getSize();
++ size = ((XRef *) uin->d)->getNumObjects();
+ if (i > 0 && i <= size) {
+ uout = new_XRefEntry_userdata(L);
+ uout->d = ((XRef *) uin->d)->getEntry(i);
diff --git a/libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch b/libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch
new file mode 100644
index 000000000..f925a1a93
--- /dev/null
+++ b/libre/texlive-bin-libre/luatex-r4449-radical-rule-thickness.patch
@@ -0,0 +1,23 @@
+Index: source/texk/web2c/luatexdir/tex/mlist.w
+===================================================================
+--- source/texk/web2c/luatexdir/tex/mlist.w (revision 4448)
++++ source/texk/web2c/luatexdir/tex/mlist.w (revision 4449)
+@@ -1798,7 +1798,17 @@
+ theta = fraction_rule(cur_style);
+ y = var_delimiter(left_delimiter(q), cur_size,
+ height(x) + depth(x) + clr + theta, NULL, cur_style);
+- theta = height(y);
++ /* If |y| is a composite then set |theta| to the height of its top
++ character, else set it to the height of |y|. */
++ if (list_ptr(y) != null
++ && type(list_ptr(y)) == hlist_node
++ && list_ptr(list_ptr(y)) != null
++ && type(list_ptr(list_ptr(y))) == glyph_node) { /* and it should be */
++ theta = char_height(font(list_ptr(list_ptr(y))),
++ character(list_ptr(list_ptr(y))));
++ } else {
++ theta = height(y);
++ }
+ } else {
+ y = var_delimiter(left_delimiter(q), cur_size,
+ height(x) + depth(x) + clr + theta, NULL, cur_style);
diff --git a/libre/texlive-bin-libre/poppler-0.20.patch b/libre/texlive-bin-libre/poppler-0.20.patch
new file mode 100644
index 000000000..3bd8183ab
--- /dev/null
+++ b/libre/texlive-bin-libre/poppler-0.20.patch
@@ -0,0 +1,22 @@
+--- source/texk/web2c/luatexdir/lua/lepdflib.cc.orig 2011-10-06 06:14:20.000000000 +0000
++++ source/texk/web2c/luatexdir/lua/lepdflib.cc 2012-05-17 11:30:26.327236883 +0000
+@@ -1433,7 +1433,7 @@
+
+ static int m_Object_getTypeName(lua_State * L)
+ {
+- char *s;
++ const char *s;
+ udstruct *uin;
+ uin = (udstruct *) luaL_checkudata(L, 1, M_Object);
+ if (uin->pd != NULL && uin->pd->pc != uin->pc)
+--- source/texk/web2c/pdftexdir/pdftosrc.cc.orig 2012-06-24 17:12:34.376329435 +0200
++++ source/texk/web2c/pdftexdir/pdftosrc.cc 2012-06-24 17:12:25.490003152 +0200
+@@ -134,7 +134,7 @@
+ exit(1);
+ }
+ if (extract_xref_table) {
+- int size = xref->getSize();
++ int size = xref->getNumObjects();
+ int i;
+ for (i = 0; i < size; i++) {
+ if (xref->getEntry(i)->offset == 0xffffffff)
diff --git a/libre/texlive-bin-libre/texlive.install b/libre/texlive-bin-libre/texlive.install
new file mode 100644
index 000000000..96a41bcfc
--- /dev/null
+++ b/libre/texlive-bin-libre/texlive.install
@@ -0,0 +1,50 @@
+infodir=usr/share/info
+filelist=(dvipng.info dvips.info eplain.info epspdf.info fontname.info kpathsea.info latex2e-es.info latex2e.info latex2man.info mf2pt1.info tds.info texdraw.info web2c.info)
+
+post_install() {
+ if [[ -f usr/bin/mktexlsr ]]; then
+ echo ">>> texlive: updating the filename database..."
+ usr/bin/mktexlsr
+ fi
+ if [[ -f usr/bin/fmtutil-sys ]]; then
+ echo -n "creating all formats..."
+ usr/bin/fmtutil-sys --all 1>/dev/null
+ echo " done."
+ echo " (logs are under /var/lib/texmf/web2c/<engine>/<formatname>.log)"
+ fi
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in "${filelist[@]}"; do
+ install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ local corename corever _pacout
+ if [[ -f usr/bin/mktexlsr ]]; then
+ echo ">>> texlive: updating the filename database..."
+ usr/bin/mktexlsr
+ fi
+ _pacout=$(pacman -Q texlive-core 2>/dev/null)
+ read corename corever <<< ${_pacout}
+ if [[ ${corever} == 2012* ]]; then
+ if [[ -f usr/bin/fmtutil-sys ]]; then
+ echo -n "recreating all formats..."
+ usr/bin/fmtutil-sys --all 1>/dev/null
+ echo " done."
+ echo " (logs are under /var/lib/texmf/web2c/<engine>/<formatname>.log)"
+ fi
+ else
+ echo "WARNING: not recreating formats since texlive-core has version '$corever'"
+ fi
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in "${filelist[@]}"; do
+ install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
+ done
+}
+
+pre_remove() {
+ [[ -x usr/bin/install-info ]] || return 0
+ for file in "${filelist[@]}"; do
+ install-info --delete "$infodir/$file.gz" "$infodir/dir" 2> /dev/null
+ done
+}
diff --git a/libre/texlive-bin-libre/texmf.cnf b/libre/texlive-bin-libre/texmf.cnf
new file mode 100644
index 000000000..76975ee5c
--- /dev/null
+++ b/libre/texlive-bin-libre/texmf.cnf
@@ -0,0 +1,724 @@
+% texmf.cnf for TeXLive/Arch Linux -- runtime path configuration file for kpathsea.
+% Public domain.
+%
+% If you modify this original file, YOUR CHANGES WILL BE LOST when it is
+% updated. Instead, put your changes -- and only your changes, not an
+% entire copy of the full texmf.cnf! -- in ../../texmf.cnf. That is, if
+% this file is installed in /some/path/to/texlive/2011/texmf/web2c/texmf.cnf,
+% add your custom settings to /some/path/to/texlive/2011/texmf.cnf.
+%
+% What follows is a super-summary of what this .cnf file can
+% contain. Please read the Kpathsea manual for more information.
+%
+% Any identifier (sticking to A-Za-z_ for names is safest) can be assigned.
+% The `=' (and surrounding spaces) is optional.
+% $foo (or ${foo}) in a value expands to the envvar or cnf value of foo.
+% Long lines can be continued with a \.
+%
+% Earlier entries (in the same or another file) override later ones, and
+% an environment variable foo overrides any texmf.cnf definition of foo.
+%
+% All definitions are read before anything is expanded, so you can use
+% variables before they are defined.
+%
+% If a variable assignment is qualified with `.PROGRAM', it is ignored
+% unless the current executable (last filename component of argv[0]) is
+% named PROGRAM. This foo.PROGRAM construct is not recognized on the
+% right-hand side. For environment variables, use FOO_PROGRAM.
+%
+% Which file formats use which paths for searches is described in the
+% various programs' and the Kpathsea documentation (http://tug.org/kpathsea).
+%
+% // means to search subdirectories (recursively).
+% A leading !! means to look only in the ls-R db, never on the disk.
+% In this file, either ; or : can be used to separate path components.
+% A leading/trailing/doubled path separator in the paths will be
+% expanded into the compile-time default. Probably not what you want.
+%
+% Brace notation is supported, for example: /usr/local/{mytex,othertex}
+% expands to /usr/local/mytex:/usr/local/othertex. We make extensive
+% use of this.
+
+
+% Part 1: Search paths and directories.
+
+% This is the parent directory of our several trees, i.e.,
+% /usr/local/texlive/YYYY in the original TeX Live distribution.
+%
+% All trees must be organized according to the TeX Directory Structure
+% (http://tug.org/tds), or files may not be found.
+%
+% Redistributors will probably want $SELFAUTODIR/share, i.e., /usr/share.
+TEXMFROOT = $SELFAUTODIR/share
+
+% The tree containing runtime files related to the specific
+% distribution and version.
+TEXMFMAIN = $TEXMFROOT/texmf
+
+% The main tree of packages, distribution-agnostic:
+TEXMFDIST = $TEXMFROOT/texmf-dist
+
+% Local additions to the distribution trees.
+TEXMFLOCAL = /usr/local/share/texmf
+
+% TEXMFSYSVAR, where *-sys store cached runtime data.
+TEXMFSYSVAR = /var/lib/texmf
+
+% TEXMFSYSCONFIG, where *-sys store configuration data.
+TEXMFSYSCONFIG = /etc/texmf
+
+% Per-user texmf tree(s) -- organized per the TDS, as usual. To define
+% more than one per-user tree, set this to a list of directories in
+% braces, as described above. (This used to be HOMETEXMF.) ~ expands
+% to %USERPROFILE% on Windows, $HOME otherwise.
+TEXMFHOME = ~/texmf
+
+% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
+TEXMFVAR = ~/.texlive/texmf-var
+
+% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
+TEXMFCONFIG = ~/.texlive/texmf-config
+
+% List all the texmf trees.
+%
+% For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
+% explicitly and before all other trees.
+%
+% TEXMFLOCAL follows TEXMFMAIN (and precedes TEXMFDIST) because the
+% files in TEXMFMAIN are tightly coupled with the particular version of
+% the distribution, such as configuration files. Overriding them would
+% be more likely to cause trouble than help. On the other hand, the
+% bulk of packages and fonts are in TEXMFDIST, and locally-installed
+% versions should take precedence over those -- although it is generally
+% a source of confusion to have different versions of a package
+% installed, whatever the trees, so try to avoid it.
+TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
+
+% Where to look for ls-R files. There need not be an ls-R in the
+% directories in this path, but if there is one, Kpathsea will use it.
+% By default, this is only the !! elements of TEXMF, so that mktexlsr
+% does not create ls-R files in the non-!! elements -- because if an
+% ls-R is present, it will be used, and the disk will not be searched.
+% This is arguably a bug in kpathsea.
+TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
+
+% The system trees. These are the trees that are shared by all users.
+% If a tree appears in this list, the mktex* scripts will use
+% VARTEXFONTS for generated files, if the original tree isn't writable;
+% otherwise the current working directory is used.
+SYSTEXMF = $TEXMFSYSVAR;$TEXMFMAIN;$TEXMFLOCAL;$TEXMFDIST
+
+% Where generated fonts may be written. This tree is used when the sources
+% were found in a system tree and either that tree wasn't writable, or the
+% varfonts feature was enabled in MT_FEATURES in mktex.cnf.
+VARTEXFONTS = $TEXMFVAR/fonts
+
+% On some systems, there will be a system tree which contains all the font
+% files that may be created as well as the formats. For example
+% TEXMFVAR = /var/lib/texmf
+% is used in many distros. In this case, set VARTEXFONTS like this
+%VARTEXFONTS = $TEXMFVAR/fonts
+% and do not mention it in TEXMFDBS (but _do_ mention TEXMFVAR).
+%
+% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below
+% one of the TEXMF directories (avoids overlapping ls-R files).
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Usually you will not need to edit any of the following variables.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% WEB2C is for Web2C specific files. The current directory may not be
+% a good place to look for them.
+WEB2C = $TEXMF/web2c
+
+% TEXINPUTS is for TeX input files -- i.e., anything to be found by \input
+% or \openin, including .sty, .eps, etc. We specify paths for all known
+% formats, past or present. Not all of them are built these days.
+
+% Plain TeX. Have the command tex check all directories as a last
+% resort, we may have plain-compatible stuff anywhere.
+TEXINPUTS.tex = .;$TEXMF/tex/{plain,generic,}//
+
+% Fontinst needs to read afm files.
+TEXINPUTS.fontinst = .;$TEXMF/{tex,fonts/afm}//
+
+% Other plain-based formats.
+TEXINPUTS.amstex = .;$TEXMF/tex/{amstex,plain,generic,}//
+TEXINPUTS.csplain = .;$TEXMF/tex/{csplain,plain,generic,}//
+TEXINPUTS.eplain = .;$TEXMF/tex/{eplain,plain,generic,}//
+TEXINPUTS.ftex = .;$TEXMF/tex/{formate,plain,generic,}//
+TEXINPUTS.mex = .;$TEXMF/tex/{mex,plain,generic,}//
+TEXINPUTS.texinfo = .;$TEXMF/tex/{texinfo,plain,generic,}//
+
+% LaTeX 2e specific macros are stored in latex/, macros that can only be
+% used with 2.09 in latex209/. In addition, we look in the directory
+% latex209, useful for macros that were written for 2.09 and do not
+% mention 2e at all, but can be used with 2e.
+TEXINPUTS.cslatex = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
+TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.latex209 = .;$TEXMF/tex/{latex209,generic,latex,}//
+TEXINPUTS.olatex = .;$TEXMF/tex/{latex,generic,}//
+
+% MLTeX.
+TEXINPUTS.frlatex = .;$TEXMF/tex/{french,latex,generic,}//
+TEXINPUTS.frtex = .;$TEXMF/tex/{french,plain,generic,}//
+TEXINPUTS.mllatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.mltex = .;$TEXMF/tex/{plain,generic,}//
+
+% e-TeX.
+TEXINPUTS.elatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.etex = .;$TEXMF/tex/{plain,generic,}//
+
+% pdfTeX.
+TEXINPUTS.pdfcslatex = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
+TEXINPUTS.pdfcsplain = .;$TEXMF/tex/{csplain,plain,generic,}//
+TEXINPUTS.pdflatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.pdfmex = .;$TEXMF/tex/{mex,plain,generic,}//
+TEXINPUTS.utf8mex = .;$TEXMF/tex/{mex,plain,generic,}//
+TEXINPUTS.pdftex = .;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.pdftexinfo = .;$TEXMF/tex/{texinfo,plain,generic,}//
+TEXINPUTS.pdfamstex = .;$TEXMF/tex/{amstex,plain,generic,}//
+
+% pdfeTeX.
+TEXINPUTS.pdfelatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.pdfetex = .;$TEXMF/tex/{plain,generic,}//
+
+% pdfxTeX.
+TEXINPUTS.pdfxlatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.pdfxmex = .;$TEXMF/tex/{mex,plain,generic,}//
+TEXINPUTS.pdfxtex = .;$TEXMF/tex/{plain,generic,}//
+
+% LuaTeX.
+TEXINPUTS.lualatex = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+TEXINPUTS.luatex = .;$TEXMF/tex/{luatex,plain,generic,}//
+TEXINPUTS.dvilualatex = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+TEXINPUTS.dviluatex = .;$TEXMF/tex/{luatex,plain,generic,}//
+
+% XeTeX.
+TEXINPUTS.xelatex = .;$TEXMF/tex/{xelatex,latex,xetex,generic,}//
+TEXINPUTS.xeplain = .;$TEXMF/tex/{xeplain,eplain,plain,xetex,generic,}//
+TEXINPUTS.xetex = .;$TEXMF/tex/{xetex,plain,generic,}//
+
+% Omega / Aleph.
+TEXINPUTS.aleph = .;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.elambda = .;$TEXMF/tex/{lambda,latex,generic,}//
+TEXINPUTS.eomega = .;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.lambda = .;$TEXMF/tex/{lambda,latex,generic,}//
+TEXINPUTS.lamed = .;$TEXMF/tex/{lamed,lambda,latex,generic,}//
+TEXINPUTS.omega = .;$TEXMF/tex/{plain,generic,}//
+
+% p(La)TeX.
+TEXINPUTS.ptex = .;$TEXMF/tex/{ptex,ptexgeneric,plain,generic,}//
+TEXINPUTS.platex = .;$TEXMF/tex/{platex,ptexgeneric,latex,generic,}//
+
+% epTeX.
+TEXINPUTS.eptex = .;$TEXMF/tex/{ptex,ptexgeneric,plain,generic,}//
+
+% pBibTeX bibliographies and style files.
+BIBINPUTS.pbibtex = .;$TEXMF/{pbibtex,bibtex}/bib//
+BSTINPUTS.pbibtex = .;$TEXMF/{pbibtex,bibtex}/bst//
+
+% ConTeXt.
+TEXINPUTS.context = .;$TEXMF/tex/{context,plain,generic,}//
+
+% jadetex.
+TEXINPUTS.jadetex = .;$TEXMF/tex/{jadetex,latex,generic,}//
+TEXINPUTS.pdfjadetex = .;$TEXMF/tex/{jadetex,latex,generic,}//
+
+% XMLTeX.
+TEXINPUTS.xmltex = .;$TEXMF/tex/{xmltex,latex,generic,}//
+TEXINPUTS.pdfxmltex = .;$TEXMF/tex/{xmltex,latex,generic,}//
+
+% Miscellany, no longer built.
+TEXINPUTS.lamstex = .;$TEXMF/tex/{lamstex,plain,generic,}//
+TEXINPUTS.lollipop = .;$TEXMF/tex/{lollipop,plain,generic,}//
+TEXINPUTS.frpdflatex = .;$TEXMF/tex/{french,latex,generic,}//
+TEXINPUTS.frpdftex = .;$TEXMF/tex/{french,plain,generic,}//
+
+% Earlier entries override later ones, so put this generic one last.
+TEXINPUTS = .;$TEXMF/tex/{$progname,generic,}//
+
+% ttf2tfm.
+TTF2TFMINPUTS = .;$TEXMF/ttf2pk//
+
+% Metafont, MetaPost inputs.
+MFINPUTS = .;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/source//
+MPINPUTS = .;$TEXMF/metapost//
+
+% Dump files (fmt/base/mem) for vir{tex,mf,mp} to read.
+% We want to find the engine-specific file, e.g., cont-en.fmt can
+% exist under both pdftex/ and xetex/. But just in case some formats
+% end up without an engine directory, look directly in web2c/ too.
+% We repeat the same definition three times because of the way fmtutil
+% is implemented; if we use ${TEXFORMATS}, the mpost/mf/etc. formats
+% will not be found.
+TEXFORMATS = .;$TEXMF/web2c{/$engine,}
+MFBASES = .;$TEXMF/web2c{/$engine,}
+MPMEMS = .;$TEXMF/web2c{/$engine,}
+%
+% As of 2008, pool files don't exist any more (the strings are compiled
+% into the binaries), but just in case something expects to find these:
+TEXPOOL = .;$TEXMF/web2c
+MFPOOL = ${TEXPOOL}
+MPPOOL = ${TEXPOOL}
+
+% support the original xdvi. Must come before the generic settings.
+PKFONTS.XDvi = .;$TEXMF/%s;$VARTEXFONTS/pk/{%m,modeless}//
+VFFONTS.XDvi = .;$TEXMF/%s
+PSHEADERS.XDvi = .;$TEXMF/%q{dvips,fonts/type1}//
+TEXPICTS.XDvi = .;$TEXMF/%q{dvips,tex}//
+
+% Device-independent font metric files.
+VFFONTS = .;$TEXMF/fonts/vf//
+TFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/tfm//
+
+% The $MAKETEX_MODE below means the drivers will not use a cx font when
+% the mode is ricoh. If no mode is explicitly specified, kpse_prog_init
+% sets MAKETEX_MODE to /, so all subdirectories are searched. See the manual.
+% The modeless part guarantees that bitmaps for PostScript fonts are found.
+PKFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/pk/{$MAKETEX_MODE,modeless}//
+
+% Similarly for the GF format, which only remains in existence because
+% Metafont outputs it (and MF isn't going to change).
+GFFONTS = .;$TEXMF/fonts/gf/$MAKETEX_MODE//
+
+% A backup for PKFONTS and GFFONTS. Not used for anything.
+GLYPHFONTS = .;$TEXMF/fonts
+
+% A place to puth everything that doesn't fit the other font categories.
+MISCFONTS = .;$TEXMF/fonts/misc//
+
+% font name map files. This isn't just fonts/map// because ConTeXt
+% wants support for having files with the same name in the different
+% subdirs. Maybe if the programs ever get unified to accepting the same
+% map file syntax the definition can be simplified again.
+TEXFONTMAPS = .;$TEXMF/fonts/map/{$progname,pdftex,dvips,}//
+
+% BibTeX bibliographies and style files. bibtex8 also uses these.
+BIBINPUTS = .;$TEXMF/bibtex/bib//
+BSTINPUTS = .;$TEXMF/bibtex/{bst,csf}//
+
+% MlBibTeX.
+MLBIBINPUTS = .;$TEXMF/bibtex/bib/{mlbib,}//
+MLBSTINPUTS = .;$TEXMF/bibtex/{mlbst,bst}//
+
+% .ris and .bltxml bibliography formats.
+RISINPUTS = .;$TEXMF/bibtex/ris//
+BLTXMLINPUTS = .;$TEXMF/bibtex/bltxml//
+
+% MFT style files.
+MFTINPUTS = .;$TEXMF/mft//
+
+% PostScript headers and prologues (.pro); unfortunately, some programs
+% also use this for acessing font files (enc, type1, truetype)
+TEXPSHEADERS = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3}}//
+TEXPSHEADERS.gsftopk = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3,truetype}}//
+
+% OSFONTDIR is to provide a convenient hook for allowing TeX to find
+% fonts installed on the system (outside of TeX). An empty default
+% value would add "//" to the search paths, so we give it a dummy value.
+% OSFONTDIR = /usr/share/fonts
+
+% PostScript Type 1 outline fonts.
+T1FONTS = .;$TEXMF/fonts/type1//;$OSFONTDIR//
+
+% PostScript AFM metric files.
+AFMFONTS = .;$TEXMF/fonts/afm//;$OSFONTDIR//
+
+% TrueType outline fonts.
+TTFONTS = .;$TEXMF/fonts/{truetype,opentype}//;$OSFONTDIR//
+
+% OpenType outline fonts.
+OPENTYPEFONTS = .;$TEXMF/fonts/{opentype,truetype}//;$OSFONTDIR//
+
+% Type 42 outline fonts.
+T42FONTS = .;$TEXMF/fonts/type42//
+
+% Ligature definition files.
+LIGFONTS = .;$TEXMF/fonts/lig//
+
+% Dvips' config.* files (this name should not start with `TEX'!).
+TEXCONFIG = $TEXMF/dvips//
+
+% Makeindex style (.ist) files.
+INDEXSTYLE = .;$TEXMF/makeindex//
+
+% Font encoding files (.enc).
+ENCFONTS = .;$TEXMF/fonts/enc//
+
+% CMap files.
+CMAPFONTS = .;$TEXMF/fonts/cmap//
+
+% Subfont definition files.
+SFDFONTS = .;$TEXMF/fonts/sfd//
+
+% OpenType feature files (.fea).
+FONTFEATURES=.;$TEXMF/fonts/fea//
+
+% .cid and .cidmap
+FONTCIDMAPS=.;$TEXMF/fonts/cid//
+
+% pdftex config files:
+PDFTEXCONFIG = .;$TEXMF/pdftex/{$progname,}//
+
+% Used by DMP (ditroff-to-mpx), called by makempx -troff.
+TRFONTS = /usr{/local,}/share/groff/{current/font,site-font}/devps
+MPSUPPORT = .;$TEXMF/metapost/support
+
+% For xdvi to find mime.types and .mailcap, if they do not exist in
+% ~. These are single directories, not paths.
+% (But the default mime.types, at least, may well suffice.)
+MIMELIBDIR = /etc
+MAILCAPLIBDIR = /etc
+
+% Default settings for the fontconfig library as used by the Windows
+% versions of xetex/xdvipdfmx. On Unixish systems, fontconfig ignores
+% this. ConTeXT MkIV (all platforms) also use these values.
+%
+FONTCONFIG_FILE = fonts.conf
+FONTCONFIG_PATH = $TEXMFSYSVAR/fonts/conf
+FC_CACHEDIR = $TEXMFSYSVAR/fonts/cache
+
+% TeX documentation and source files, for use with texdoc and kpsewhich.
+TEXDOCS = $TEXMF/doc//
+TEXSOURCES = .;$TEXMF/source//
+
+% Web and CWeb input paths.
+WEBINPUTS = .;$TEXMF/web//
+CWEBINPUTS = .;$TEXMF/cweb//
+
+% Omega-related fonts and other files.
+OFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ofm,tfm}//
+OPLFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/opl//
+OVFFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ovf,vf}//
+OVPFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/ovp//
+OTPINPUTS = .;$TEXMF/omega/otp//
+OCPINPUTS = .;$TEXMF/omega/ocp//
+
+% Some additional input variables for several programs. If you add
+% a program that uses the `other text files' or `other binary files'
+% search formats, you'll want to add their variables here as well.
+T4HTINPUTS = .;$TEXMF/tex4ht//
+
+%% t4ht utility, sharing files with TeX4ht
+TEX4HTFONTSET=alias,iso8859,unicode
+TEX4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}//
+
+% TeXworks editor configuration and settings
+TW_LIBPATH = $TEXMFCONFIG/texworks
+TW_INIPATH = $TW_LIBPATH
+
+% For security, do not look in . for dvipdfmx.cfg, since the D option
+% would allow command execution.
+DVIPDFMXINPUTS = $TEXMF/dvipdfmx
+
+% Lua needs to look in TEXINPUTS for lua scripts distributed with packages.
+%
+% But we can't simply use $TEXINPUTS, since then if TEXINPUTS is set in
+% the environment with a colon, say, TEXINPUTS=/some/dir:, the intended
+% default expansion of TEXINPUTS will not happen and .lua files under
+% the /tex/ will not be found.
+%
+% So, duplicate the TEXINPUTS.*lualatex values as LUAINPUTS.*lualatex.
+% The default LUAINPUTS sufficess for luatex and dviluatex.
+%
+LUAINPUTS.lualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+LUAINPUTS.dvilualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+LUAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luatex,plain,generic,}//
+
+% Lua needs to look for binary lua libraries distributed with packages.
+CLUAINPUTS = .;$SELFAUTOLOC/lib/{$progname,$engine,}/lua//
+
+% Architecture independent executables.
+TEXMFSCRIPTS = $TEXMF/scripts/{$progname,$engine,}//
+
+% Other languages.
+JAVAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/java//
+PERLINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/perl//
+PYTHONINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/python//
+RUBYINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/ruby//
+
+
+%% The mktex* scripts rely on KPSE_DOT. Do not set it in the environment.
+% KPSE_DOT = .
+
+% This definition isn't used from this .cnf file itself (that would be
+% paradoxical), but the compile-time default in paths.h is built from it.
+% The SELFAUTO* variables are set automatically from the location of
+% argv[0], in kpse_set_program_name.
+%
+% This main texmf.cnf file is installed, for a release YYYY, in a
+% directory such as /usr/local/texlive/YYYY/texmf/web2c/texmf.cnf.
+% Since this file is subject to future updates, the TeX Live installer
+% or human administrator may also create a file
+% /usr/local/texlive/YYYY/texmf.cnf; any settings in this latter file
+% will take precedence over the distributed one under texmf/web2c.
+%
+% For security reasons, it is better not to include . in this path.
+%
+TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}
+
+% kpathsea 3.5.3 and later sets these at runtime. To avoid empty
+% expansions from binaries linked against an earlier version of the
+% library, we set $progname and $engine to something non-empty:
+progname = unsetprogname
+engine = unsetengine
+
+
+% Part 2: Options.
+
+% If this option is set to true, `tex a.b' will look first for a.b.tex
+% (within each path element), and then for a.b, i.e., we try standard
+% extensions first. If this is false, we first look for a.b and then
+% a.b.tex, i.e., we try the name as-is first.
+%
+% Both names are always tried; the difference is the order in which they
+% are tried. The setting applies to all searches, not just .tex.
+%
+% This setting only affects names being looked up which *already* have
+% an extension. A name without an extension (e.g., `tex story') will
+% always have an extension added first.
+%
+% The default is true, because we already avoid adding the standard
+% extension(s) in the usual cases. E.g., babel.sty will only look for
+% babel.sty, not babel.sty.tex, regardless of this setting.
+try_std_extension_first = t
+
+% Enable system commands via \write18{...}. When enabled fully (set to
+% t), obviously insecure. When enabled partially (set to p), only the
+% commands listed in shell_escape_commands are allowed. Although this
+% is not fully secure either, it is much better, and so useful that we
+% enable it for everything but bare tex.
+shell_escape = p
+
+% No spaces in this command list.
+%
+% The programs listed here are as safe as any we know: they either do
+% not write any output files, respect openout_any, or have hard-coded
+% restrictions similar or higher to openout_any=p. They also have no
+% features to invoke arbitrary other programs, and no known exploitable
+% bugs. All to the best of our knowledge. They also have practical use
+% for being called from TeX.
+%
+shell_escape_commands = \
+bibtex,bibtex8,\
+kpsewhich,\
+makeindex,\
+repstopdf,\
+
+% we'd like to allow:
+% dvips - but external commands can be executed, need at least -R1.
+% epspdf, ps2pdf, pstopdf - need to respect openout_any,
+% and gs -dSAFER must be used and check for shell injection with filenames.
+% (img)convert (ImageMagick) - delegates.mgk possible misconfig, besides,
+% without Unix convert it hardly seems worth it, and Windows convert
+% is something completely different that destroys filesystems, so skip.
+% pygmentize - but is the filter feature insecure?
+% ps4pdf - but it calls an unrestricted latex.
+% rpdfcrop - maybe ok, but let's get experience with repstopdf first.
+% texindy,xindy - but is the module feature insecure?
+% ulqda - but requires optional SHA1.pm, so why bother.
+% tex, latex, etc. - need to forbid --shell-escape, and inherit openout_any.
+
+% plain TeX should remain unenhanced.
+shell_escape.tex = f
+shell_escape.initex = f
+
+% This is used by the Windows script wrapper for restricting searching
+% for the purportedly safe shell_escape_commands above to system
+% directories.
+TEXMF_RESTRICTED_SCRIPTS = \
+ {!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}/scripts/{$progname,$engine,}//
+
+% Allow TeX \openin, \openout, or \input on filenames starting with `.'
+% (e.g., .rhosts) or outside the current tree (e.g., /etc/passwd)?
+% a (any) : any file can be opened.
+% r (restricted) : disallow opening "dotfiles".
+% p (paranoid) : as `r' and disallow going to parent directories, and
+% restrict absolute paths to be under $TEXMFOUTPUT.
+openout_any = p
+openin_any = a
+
+% Write .log/.dvi/etc. files here, if the current directory is unwritable.
+%TEXMFOUTPUT = /tmp
+
+% If a dynamic file creation fails, log the command to this file, in
+% either the current directory or TEXMFOUTPUT. Set to the
+% empty string or 0 to avoid logging.
+MISSFONT_LOG = missfont.log
+
+% Set to a colon-separated list of words specifying warnings to suppress.
+% To suppress everything, use TEX_HUSH = all; this is currently equivalent to
+% TEX_HUSH = checksum:lostchar:readable:special
+% To suppress nothing, use TEX_HUSH = none or do not set the variable at all.
+TEX_HUSH = none
+
+% Allow TeX, and MF to parse the first line of an input file for
+% the %&format construct.
+parse_first_line = t
+
+% But don't parse the first line if invoked as "tex", since we want that
+% to remain Knuth-compatible. The src_specials and
+% file_line_error_style settings, as well as the options -enctex,
+% -mltex, -8bit, etc., also affect this, but they are all off by default.
+parse_first_line.tex = f
+parse_first_line.initex = f
+
+% Control file:line:error style messages.
+file_line_error_style = f
+
+% Enable the mktex... scripts by default? These must be set to 0 or 1.
+% Particular programs can and do override these settings, for example
+% dvips's -M option. Your first chance to specify whether the scripts
+% are invoked by default is at configure time.
+%
+% These values are ignored if the script names are changed; e.g., if you
+% set DVIPSMAKEPK to `foo', what counts is the value of the environment
+% variable/config value `FOO', not the `MKTEXPK' value.
+%
+%MKTEXTEX = 0
+%MKTEXPK = 0
+%MKTEXMF = 0
+%MKTEXTFM = 0
+%MKTEXFMT = 0
+%MKOCP = 0
+%MKOFM = 0
+
+% Used by makempx to run TeX. We use "etex" because MetaPost is
+% expecting DVI, and not "tex" because we want first line parsing.
+TEX = etex
+
+% These variables specify the external program called for the
+% interactive `e' option. %d is replaced by the line number and %s by
+% the current filename. The default is specified at compile-time, and
+% we let that stay in place since different platforms like different values.
+%TEXEDIT = vi +%d '%s' % default for Unix
+%TEXEDIT = texworks --position=+%d "%s" % default for Windows
+%MFEDIT = ${TEXEDIT}
+%MPEDIT = ${TEXEDIT}
+
+% The default `codepage and sort order' file for BibTeX8, when none is
+% given as command line option or environment variable.
+BIBTEX_CSFILE = 88591lat.csf
+
+% This variable is specific to Windows. It must be set to 0 or 1. The
+% default is 0. Setting it to 1 tells the Windows script wrappers to
+% use an already installed Perl interpreter if one is found on the
+% search path, in preference to the Perl shipped with TeX Live. Thus,
+% it may be useful if you both (a) installed a full Perl distribution
+% for general use, and (b) need to run Perl programs from TL that use
+% additional modules we don't provide. The TL Perl does provide all the
+% standard Perl modules.
+%
+%TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL = 0
+
+
+% Part 3: Array and other sizes for TeX (and Metafont).
+%
+% If you want to change some of these sizes only for a certain TeX
+% variant, the usual dot notation works, e.g.,
+% main_memory.hugetex = 20000000
+%
+% If a change here appears to be ignored, try redumping the format file.
+
+% Memory. Must be less than 8,000,000 total.
+%
+% main_memory is relevant only to initex, extra_mem_* only to non-ini.
+% Thus, have to redump the .fmt file after changing main_memory; to add
+% to existing fmt files, increase extra_mem_*. (To get an idea of how
+% much, try \tracingstats=2 in your TeX source file;
+% web2c/tests/memtest.tex might also be interesting.)
+%
+% To increase space for boxes (as might be needed by, e.g., PiCTeX),
+% increase extra_mem_bot.
+%
+% For some xy-pic samples, you may need as much as 700000 words of memory.
+% For the vast majority of documents, 60000 or less will do.
+%
+main_memory = 3000000 % words of inimemory available; also applies to inimf&mp
+extra_mem_top = 0 % extra high memory for chars, tokens, etc.
+extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc.
+
+% ConTeXt needs lots of memory.
+extra_mem_top.context = 2000000
+extra_mem_bot.context = 4000000
+
+% Words of font info for TeX (total size of all TFM files, approximately).
+% Must be >= 20000 and <= 147483647 (without tex.ch changes).
+font_mem_size = 3000000
+
+% Total number of fonts. Must be >= 50 and <= 9000 (without tex.ch changes).
+font_max = 9000
+
+% Extra space for the hash table of control sequences.
+hash_extra = 200000
+
+% Max number of characters in all strings, including all error messages,
+% help texts, font names, control sequences. These values apply to TeX.
+pool_size = 3250000
+% Minimum pool space after TeX's own strings; must be at least
+% 25000 less than pool_size, but doesn't need to be nearly that large.
+string_vacancies = 90000
+% Maximum number of strings.
+max_strings = 500000
+% min pool space left after loading .fmt
+pool_free = 47500
+
+% Buffer size. TeX uses the buffer to contain input lines, but macro
+% expansion works by writing material into the buffer and reparsing the
+% line. As a consequence, certain constructs require the buffer to be
+% very large, even though most documents can be handled with a small value.
+buf_size = 200000
+
+% Hyphenation trie. The maximum possible is 4194303 (ssup_trie_size in
+% the sources), but we don't need that much. The value here suffices
+% for all known free hyphenation patterns to be loaded simultaneously
+% (as TeX Live does).
+%
+trie_size = 1000000
+
+hyph_size = 8191 % prime number of hyphenation exceptions, >610, <32767.
+ % http://primes.utm.edu/curios/page.php/8191.html
+nest_size = 500 % simultaneous semantic levels (e.g., groups)
+max_in_open = 15 % simultaneous input files and error insertions,
+ % also applies to MetaPost
+param_size = 10000 % simultaneous macro parameters, also applies to MP
+save_size = 50000 % for saving values outside current group
+stack_size = 5000 % simultaneous input sources
+
+% These are Omega-specific.
+ocp_buf_size = 500000 % character buffers for ocp filters.
+ocp_stack_size = 10000 % stacks for ocp computations.
+ocp_list_size = 1000 % control for multiple ocps.
+
+% These work best if they are the same as the I/O buffer size, but it
+% doesn't matter much. Must be a multiple of 8.
+dvi_buf_size = 16384 % TeX
+gf_buf_size = 16384 % MF
+
+% It's probably inadvisable to change these. At any rate, we must have:
+% 45 < error_line < 255;
+% 30 < half_error_line < error_line - 15;
+% 60 <= max_print_line;
+% These apply to TeX, Metafont, and MetaPost.
+error_line = 79
+half_error_line = 50
+max_print_line = 79
+
+% Metafont only.
+screen_width.mf = 1664
+screen_depth.mf = 1200
+
+% BibTeX only (max_strings also determines hash_size and hash_prime).
+ent_str_size = 250
+glob_str_size = 5000
+max_strings.bibtex = 35307
+max_strings.bibtex8 = 35307
+max_strings.bibtexu = 35307
+max_strings.pbibtex = 35307
+
+% GFtype only.
+line_length.gftype = 500
+max_rows.gftype = 8191
+max_cols.gftype = 8191
diff --git a/libre/texlive-core-libre/09-texlive-fonts.conf b/libre/texlive-core-libre/09-texlive-fonts.conf
new file mode 100644
index 000000000..f870fbd7a
--- /dev/null
+++ b/libre/texlive-core-libre/09-texlive-fonts.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <dir>/usr/share/texmf-dist/fonts/opentype</dir>
+ <dir>/usr/share/texmf-dist/fonts/truetype</dir>
+ <dir>/usr/local/share/texmf/fonts/opentype</dir>
+ <dir>/usr/local/share/texmf/fonts/truetype</dir>
+</fontconfig>
+
diff --git a/libre/texlive-core-libre/PKGBUILD b/libre/texlive-core-libre/PKGBUILD
new file mode 100644
index 000000000..d3dc06cb1
--- /dev/null
+++ b/libre/texlive-core-libre/PKGBUILD
@@ -0,0 +1,318 @@
+# Maintainer: Rémy Oudompheng <remy@archlinux.org>
+# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
+# Contributor (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname=texlive-core-libre
+_pkgname=texlive-core
+pkgver=2013.31589
+_revnr=${pkgver#2013.}
+pkgrel=1.2
+pkgdesc="TeX Live core distribution, without nonfree add-on packages (Parabola rebranded)"
+license=('GPL')
+arch=(any)
+depends=('texlive-bin' 'perl')
+optdepends=(
+ 'ruby: for old ConTeXT MkII and epspdf'
+ 'tk: for texdoctk'
+ 'python2: for dviasm'
+ 'ghostscript: for epstopdf, epspdf and other ConTeXt tools'
+ 'psutils: to manipulate the output of dvips'
+ 't1utils: can be useful when installing Type1 fonts'
+ 'jre7-openjdk: for utilities like arara'
+)
+groups=('texlive-most')
+conflicts=('tetex' 'texlive-latex3' 'texlive-core')
+provides=('tetex' 'texlive-latex3' "texlive-core=$pkgver")
+replaces=('tetex' 'texlive-latex3' 'texlive-core')
+url='http://tug.org/texlive/'
+mksource=("ftp://ftp.archlinux.org/other/texlive/$_pkgname-$pkgver-src.zip")
+noextract=("$_pkgname-$pkgver-src.zip")
+source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver-src.tar.xz"
+ "$_pkgname.maps"
+ "texmf.cnf"
+ "09-texlive-fonts.conf")
+options=(!strip)
+install=texlive.install
+backup=(etc/texmf/web2c/texmf.cnf \
+ etc/texmf/chktex/chktexrc \
+ etc/texmf/dvipdfmx/dvipdfmx.cfg \
+ etc/texmf/dvips/config/config.ps \
+ etc/texmf/tex/generic/config/language.dat \
+ etc/texmf/tex/generic/config/language.def \
+ etc/texmf/tex/generic/config/pdftexconfig.tex \
+ etc/texmf/ttf2pk/ttf2pk.cfg \
+ etc/texmf/web2c/fmtutil.cnf \
+ etc/texmf/web2c/mktex.cnf \
+ etc/texmf/xdvi/XDvi)
+
+mkmd5sums=('80c7fa3db1b468f9043c6acdd941a526')
+md5sums=('ce7c019db21ce546d6d7f1df4bc247fe'
+ '306ab28bb9b070fc3e40d86d28ea7e8e'
+ 'd5a3f442ec3b7aa1518170f64f9d006b'
+ '393a4bf67adc7ca5df2b386759d1a637')
+
+mksource() {
+ mkdir $_pkgname-$pkgver
+ pushd $_pkgname-$pkgver
+ bsdtar xfv ../$_pkgname-$pkgver-src.zip
+
+ # remove nonfree packages
+ # MeX licensed packages.
+ rm -v {cc-pl,cs,ec,mex,pl}.tar.xz
+ # Public domain, will be relicensed.
+ rm -v context-{account,algorithmic,fixme,games,letter,ruby}.tar.xz
+ # No specific free license.
+ rm -v euro-ce.tar.xz
+ # Remove their references from package list.
+ sed -ri '/^(cc-pl|cs|ec|mex|pl|context-(account|algorithmic|fixme|games|letter|ruby)|euro-ce) /d' CONTENTS
+
+ popd
+}
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ echo -n " --> extracting all packages... "
+ for p in *.tar.xz; do
+ bsdtar -xf $p
+ done
+ echo "done"
+ rm -rf {tlpkg,doc,source,omega} || true
+
+ # remove nonfree packages references from updmap.cfg
+ sed -i '/ccpl.map/d' texmf-dist/web2c/updmap.cfg
+ sed -i '/cs-charter.map/d' texmf-dist/web2c/updmap.cfg
+ sed -i '/csfonts.map/d' texmf-dist/web2c/updmap.cfg
+ sed -i '/plother.map/d' texmf-dist/web2c/updmap.cfg
+ sed -i '/pltext.map/d' texmf-dist/web2c/updmap.cfg
+
+ # remove nonfree packages references from texlive-core.maps
+ sed -i '/ccpl.map/d' $srcdir/$_pkgname.maps
+ sed -i '/cs-charter.map/d' $srcdir/$_pkgname.maps
+ sed -i '/csfonts.map/d' $srcdir/$_pkgname.maps
+ sed -i '/plother.map/d' $srcdir/$_pkgname.maps
+ sed -i '/pltext.map/d' $srcdir/$_pkgname.maps
+
+ # remove nonfree packages references from fmtutil.cnf
+ sed -i '/cslatex/d' texmf-dist/web2c/fmtutil.cnf
+ sed -i '/csplain/d' texmf-dist/web2c/fmtutil.cnf
+ sed -i '/from mex/d' texmf-dist/web2c/fmtutil.cnf
+ sed -i '/mexconf.tex/d' texmf-dist/web2c/fmtutil.cnf
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ # Install packages.
+ install -m755 -d $pkgdir/var/lib/texmf/arch/installedpkgs
+ sed -i '/^#/d' CONTENTS
+ install -m644 CONTENTS $pkgdir/var/lib/texmf/arch/installedpkgs/${_pkgname}_${_revnr}.pkgs
+ install -m644 $srcdir/$_pkgname.maps $pkgdir/var/lib/texmf/arch/installedpkgs/
+ install -m755 -d $pkgdir/usr/share
+ wanteddirs=$(for d in *; do test -d $d && [[ $d != texmf* ]] && echo $d; done) || true
+ for dir in $wanteddirs; do
+ find $dir -type d -exec install -d -m755 $pkgdir/usr/share/texmf-dist/'{}' \;
+ find $dir -type f -exec install -m644 '{}' $pkgdir/usr/share/texmf-dist/'{}' \;
+ done
+ find texmf-dist -type d -exec install -d -m755 $pkgdir/usr/share/'{}' \;
+ find texmf-dist -type f -exec install -m644 '{}' $pkgdir/usr/share/'{}' \;
+ find texmf-dist -type f -executable -exec chmod 755 $pkgdir/usr/share/'{}' \;
+
+ #############################################################
+ ### install texmf tree
+ echo "--> installing the /etc/texmf tree"
+ install -d -m755 "$pkgdir"/etc/texmf/web2c
+ install -d -m755 "$pkgdir"/etc/texmf/chktex
+ install -d -m755 "$pkgdir"/etc/texmf/dvips/config
+ install -d -m755 "$pkgdir"/etc/texmf/dvipdfmx
+ install -d -m755 "$pkgdir"/etc/texmf/tex/generic/config
+ install -d -m755 "$pkgdir"/etc/texmf/ttf2pk
+ install -d -m755 "$pkgdir"/etc/texmf/xdvi
+ install -d -m755 "$pkgdir"/etc/fonts/conf.avail
+ install -m644 "$srcdir"/09-texlive-fonts.conf "$pkgdir"/etc/fonts/conf.avail/
+
+ # Remove manpages (already in texlive-bin).
+ rm -rf "$pkgdir"/usr/share/texmf-dist/doc/man
+
+ # copy config files to $TEXMFCONFIG tree
+ cp -a "$pkgdir"/usr/share/texmf-dist/chktex/chktexrc \
+ "$pkgdir"/etc/texmf/chktex/
+ cp -a "$pkgdir"/usr/share/texmf-dist/web2c/mktex.cnf \
+ "$pkgdir"/etc/texmf/web2c/
+ cp -a "$pkgdir"/usr/share/texmf-dist/web2c/updmap.cfg \
+ "$pkgdir"/etc/texmf/web2c/
+ cp -a "$pkgdir"/usr/share/texmf-dist/web2c/fmtutil.cnf \
+ "$pkgdir"/etc/texmf/web2c/
+ cp -a "$pkgdir"/usr/share/texmf-dist/dvips/config/config.ps \
+ "$pkgdir"/etc/texmf/dvips/config/
+ cp -a "$pkgdir"/usr/share/texmf-dist/dvipdfmx/dvipdfmx.cfg \
+ "$pkgdir"/etc/texmf/dvipdfmx/
+ cp -a "$pkgdir"/usr/share/texmf-dist/tex/generic/config/pdftexconfig.tex \
+ "$pkgdir"/etc/texmf/tex/generic/config/
+ cp -a "$pkgdir"/usr/share/texmf-dist/tex/generic/config/language.dat \
+ "$pkgdir"/etc/texmf/tex/generic/config/
+ cp -a "$pkgdir"/usr/share/texmf-dist/tex/generic/config/language.def \
+ "$pkgdir"/etc/texmf/tex/generic/config/
+ cp -a "$pkgdir"/usr/share/texmf-dist/ttf2pk/ttf2pk.cfg \
+ "$pkgdir"/etc/texmf/ttf2pk/
+ cp -a "$pkgdir"/usr/share/texmf-dist/xdvi/XDvi \
+ "$pkgdir"/etc/texmf/xdvi/
+ # remove TL specific warnings in the language.{dat,def} files:
+ sed -i -e '/DO NOT EDIT/,+3 d' "$pkgdir"/etc/texmf/tex/generic/config/language.*
+ # clean updmap.cfg
+ sed -i '/^\(Map\|MixedMap\)/d' "$pkgdir"/etc/texmf/web2c/updmap.cfg
+ sed -i '/^#! \(Map\|MixedMap\)/d' "$pkgdir"/etc/texmf/web2c/updmap.cfg
+
+
+ # replace upstream texmf.cnf with ours
+ rm -f "$pkgdir"/usr/share/texmf-dist/web2c/texmf.cnf
+ install -m644 "$srcdir"/texmf.cnf "$pkgdir"/etc/texmf/web2c/texmf.cnf
+ # since the location of texmf.cnf is hard-wired to be under /usr/share/texmf/web2c
+ # we make a symlink from /etc/texmf/web2c/texmf.cnf to the latter
+ ln -sf /etc/texmf/web2c/texmf.cnf "$pkgdir"/usr/share/texmf-dist/web2c/texmf.cnf
+ # fix location of TEXMFCACHE for luatools
+ sed -i 's#texlive2013#texlive#' "$pkgdir"/usr/share/texmf-dist/web2c/texmfcnf.lua
+ ## remove aleph from fmtutil.cnf
+ sed -i -e '/aleph/d' "$pkgdir"/usr/share/texmf-dist/web2c/fmtutil.cnf
+
+ # create symlinks for formats
+ echo "--> Create symlinks for TeX formats ..."
+ mkdir -p "${pkgdir}/usr/bin"
+ bash "${pkgdir}"/usr/share/texmf-dist/scripts/texlive/texlinks.sh -f "$pkgdir"/usr/share/texmf-dist/web2c/fmtutil.cnf "$pkgdir"/usr/bin/
+
+ # use python2 for dviasm
+ sed -i 's/env python/env python2/' $pkgdir/usr/share/texmf-dist/scripts/dviasm/dviasm.py
+
+ # copy config file to texmf-config
+ #mkdir -p $pkgdir/etc/texmf/tex/context/config
+ #cp -a $pkgdir/usr/share/texmf-dist/tex/context/config/cont-usr.tex \
+ # $pkgdir/etc/texmf/tex/context/config/cont-usr.tex
+
+ # remove obsolete stuff (we don't provide the omega and aleph binaries anyway)
+ rm -f $pkgdir/usr/share/texmf-dist/tex/plain/config/{omega,aleph}.ini
+ #sed -i '/cherokee\.map/d; /oinuit\.map/d; /omega\.map/d' \
+ # "${pkgdir}/usr/share/texmf-dist/web2c/updmap.cfg"
+
+ # remove upstream updmap.cfg: it contains too many maps.
+ rm "${pkgdir}/usr/share/texmf-dist/web2c/updmap.cfg"
+
+ # more cleanup
+ rm -rf $pkgdir/usr/share/texmf-dist/scripts/context/stubs/mswin/
+
+ # link programs from /usr/share/texmf-dist/scripts
+ _linked_scripts="
+a2ping/a2ping.pl
+accfonts/mkt1font
+accfonts/vpl2ovp
+accfonts/vpl2vpl
+adhocfilelist/adhocfilelist.sh
+arara/arara.sh
+bundledoc/arlatex
+bundledoc/bundledoc
+checkcites/checkcites.lua
+chktex/chkweb.sh
+chktex/deweb.pl
+context/perl/mptopdf.pl
+context/stubs/unix/context
+context/stubs/unix/ctxtools
+context/stubs/unix/luatools
+context/stubs/unix/mtxrun
+context/stubs/unix/pstopdf
+context/stubs/unix/texexec
+context/stubs/unix/texmfstart
+ctanify/ctanify
+ctanupload/ctanupload.pl
+de-macro/de-macro
+dosepsbin/dosepsbin.pl
+dtxgen/dtxgen
+dviasm/dviasm.py
+epstopdf/epstopdf.pl
+findhyph/findhyph
+fontools/afm2afm
+fontools/autoinst
+fontools/ot2kpx
+fragmaster/fragmaster.pl
+installfont/installfont-tl
+latex2man/latex2man
+latexdiff/latexdiff-vc.pl
+latexdiff/latexdiff.pl
+latexdiff/latexrevise.pl
+latexfileversion/latexfileversion
+latexmk/latexmk.pl
+latexpand/latexpand
+ltxfileinfo/ltxfileinfo
+lua2dox/lua2dox_filter
+luaotfload/luaotfload-tool.lua
+match_parens/match_parens
+mf2pt1/mf2pt1.pl
+mkjobtexmf/mkjobtexmf.pl
+oberdiek/pdfatfi.pl
+pdfcrop/pdfcrop.pl
+pdfjam/pdf180
+pdfjam/pdf270
+pdfjam/pdf90
+pdfjam/pdfbook
+pdfjam/pdfflip
+pdfjam/pdfjam
+pdfjam/pdfjam-pocketmod
+pdfjam/pdfjam-slides3up
+pdfjam/pdfjam-slides6up
+pdfjam/pdfjoin
+pdfjam/pdfnup
+pdfjam/pdfpun
+pfarrei/a5toa4.tlu
+pfarrei/pfarrei.tlu
+pkfix-helper/pkfix-helper
+pkfix/pkfix.pl
+ps2eps/ps2eps.pl
+purifyeps/purifyeps
+simpdftex/simpdftex
+sty2dtx/sty2dtx.pl
+texcount/texcount.pl
+texdef/texdef.pl
+texdiff/texdiff
+texdirflatten/texdirflatten
+texdoc/texdoc.tlu
+texdoctk/texdoctk.pl
+texlive/allcm.sh
+texlive/allneeded.sh
+texlive/dvi2fax.sh
+texlive/dvired.sh
+texlive/e2pall.sh
+texlive/fmtutil-sys.sh
+texlive/fmtutil.sh
+texlive/fontinst.sh
+texlive/kpsetool.sh
+texlive/kpsewhere.sh
+texlive/ps2frag.sh
+texlive/pslatex.sh
+texlive/rungs.tlu
+texlive/texconfig-dialog.sh
+texlive/texconfig-sys.sh
+texlive/texconfig.sh
+texlive/texlinks.sh
+texlive/updmap-sys.sh
+texlive/updmap.pl
+texliveonfly/texliveonfly.py
+texloganalyser/texloganalyser
+thumbpdf/thumbpdf.pl
+typeoutfileinfo/typeoutfileinfo.sh
+xindy/texindy.pl
+xindy/xindy.pl
+"
+ install -m755 -d $pkgdir/usr/bin
+ for _script in ${_linked_scripts}; do
+ _scriptbase=$(basename $_script)
+ _scriptbase=${_scriptbase%.*}
+ [[ -f ${pkgdir}/usr/share/texmf-dist/scripts/${_script} ]] &&
+ ln -s /usr/share/texmf-dist/scripts/${_script} ${pkgdir}/usr/bin/${_scriptbase}
+ done
+ ln -s /usr/share/texmf-dist/scripts/listings-ext/listings-ext.sh ${pkgdir}/usr/bin/listings-ext.sh
+
+ # additional symlinks
+ ln -s allcm ${pkgdir}/usr/bin/allec
+ ln -s fmtutil ${pkgdir}/usr/bin/mktexfmt
+ ln -s kpsetool ${pkgdir}/usr/bin/kpsexpand
+ ln -s kpsetool ${pkgdir}/usr/bin/kpsepath
+ ln -s epstopdf ${pkgdir}/usr/bin/repstopdf
+ ln -s pdfcrop ${pkgdir}/usr/bin/rpdfcrop
+ ln -s luaotfload-tool ${pkgdir}/usr/bin/mkluatexfontdb
+}
diff --git a/libre/texlive-core-libre/texlive-core.maps b/libre/texlive-core-libre/texlive-core.maps
new file mode 100644
index 000000000..8d86bfad1
--- /dev/null
+++ b/libre/texlive-core-libre/texlive-core.maps
@@ -0,0 +1,46 @@
+Map euler.map
+Map charter.map
+Map cs-charter.map
+Map csfonts.map
+Map fpls.map
+Map l7x-urwvn.map
+Map lm.map
+Map marvosym.map
+Map mathpple.map
+Map original-context-symbol.map
+Map pazo.map
+Map pxfonts.map
+Map qag.map
+Map qbk.map
+Map qcr.map
+Map qcs.map
+Map qhv.map
+Map qpl.map
+Map qtm.map
+Map qzc.map
+Map tabvar.map
+Map troff-updmap.map
+Map txfonts.map
+Map utopia.map
+MixedMap ccpl.map
+MixedMap cm-super-t1.map
+MixedMap cm-super-t2a.map
+MixedMap cm-super-t2b.map
+MixedMap cm-super-t2c.map
+MixedMap cm-super-ts1.map
+MixedMap cm-super-x2.map
+MixedMap cm.map
+MixedMap cmextra.map
+MixedMap cmtext-bsr-interpolated.map
+MixedMap cyrillic.map
+MixedMap eurosym.map
+MixedMap latxfont.map
+MixedMap mflogo.map
+MixedMap plother.map
+MixedMap pltext.map
+MixedMap rsfs.map
+MixedMap stmaryrd.map
+MixedMap symbols.map
+MixedMap tipa.map
+MixedMap wasy.map
+MixedMap yhmath.map
diff --git a/libre/texlive-core-libre/texlive.install b/libre/texlive-core-libre/texlive.install
new file mode 100644
index 000000000..77d4213be
--- /dev/null
+++ b/libre/texlive-core-libre/texlive.install
@@ -0,0 +1,58 @@
+PKGNAME="texlive-core"
+UPDMAP="etc/texmf/web2c/updmap.cfg"
+UPDMAPLOCAL="etc/texmf/web2c/updmap-local.cfg"
+SYNCWITHTREES=''
+
+MAPFILE="var/lib/texmf/arch/installedpkgs/$PKGNAME.maps"
+
+post_install() {
+ TMPFILE=`mktemp`
+ echo ">>> texlive: saving updmap.cfg as $TMPFILE..."
+ cp "$UPDMAP" "$TMPFILE"
+ echo ">>> texlive: regenerating updmap.cfg (custom additions should go"
+ echo " into /etc/texmf/web2c/updmap-local.cfg"
+ cp usr/share/texmf-dist/web2c/updmap-hdr.cfg $UPDMAP
+ cat var/lib/texmf/arch/installedpkgs/*.maps >> $UPDMAP
+ [ -f "$UPDMAPLOCAL" ] && cat "$UPDMAPLOCAL" >> $UPDMAP
+ echo ">>> texlive: updating the filename database..."
+ usr/bin/mktexlsr
+ echo ">>> texlive: updating the fontmap files with updmap..."
+ usr/bin/updmap-sys --quiet --nohash
+ echo " done."
+ echo -n "creating all formats..."
+ usr/bin/fmtutil-sys --all 1>/dev/null
+ echo " done."
+ echo " (logs are under /var/lib/texmf/web2c/<engine>/<formatname>.log)"
+ echo "NB: To setup ConTeXt and the lua(la)tex font db,"
+ echo " see http://wiki.archlinux.org/index.php/TeX_Live"
+}
+
+post_upgrade() {
+ TMPFILE=`mktemp`
+ echo ">>> texlive: saving updmap.cfg as $TMPFILE..."
+ cp "$UPDMAP" "$TMPFILE"
+ echo ">>> texlive: regenerating updmap.cfg (custom additions should go"
+ echo " into /etc/texmf/web2c/updmap-local.cfg"
+ cp usr/share/texmf-dist/web2c/updmap-hdr.cfg $UPDMAP
+ cat var/lib/texmf/arch/installedpkgs/*.maps >> $UPDMAP
+ [ -f "$UPDMAPLOCAL" ] && cat "$UPDMAPLOCAL" >> $UPDMAP
+ echo ">>> texlive: updating the filename database..."
+ usr/bin/mktexlsr
+ echo ">>> texlive: updating the fontmap files with updmap..."
+ usr/bin/updmap-sys --quiet --nohash $SYNCWITHTREES
+ echo " done."
+ echo ">>> texlive: recreating all formats..."
+ usr/bin/fmtutil-sys --all 1>/dev/null
+ echo " done."
+ echo " (logs are under /var/lib/texmf/web2c/<engine>/<formatname>.log)"
+ echo "NB: To setup ConTeXt and the lua(la)tex font db,"
+ echo " see http://wiki.archlinux.org/index.php/TeX_Live"
+ if [[ "$2" == 200* ]]; then
+ echo "Important note. Some directories have moved:"
+ echo " \$TEXMFSYSVAR is now /var/lib/texmf (previously /usr/share/texmf-var)"
+ echo " \$TEXMFSYSCONFIG is now /etc/texmf (previously /usr/share/texmf-config)"
+ echo "Please move and update the config files you had modified and delete the rest."
+ echo "(Note however that updmap.cfg has been automatically copied and updated.)"
+ fi
+}
+
diff --git a/libre/texlive-core-libre/texmf.cnf b/libre/texlive-core-libre/texmf.cnf
new file mode 100644
index 000000000..c96c20e39
--- /dev/null
+++ b/libre/texlive-core-libre/texmf.cnf
@@ -0,0 +1,782 @@
+% texmf.cnf for TeXLive/Parabola GNU/Linux-libre -- runtime path configuration file for kpathsea.
+% Public domain.
+%
+% If you modify this original file, YOUR CHANGES WILL BE LOST when it is
+% updated. Instead, put your changes -- and only your changes, not an
+% entire copy! -- in ../../texmf.cnf. That is, if this file is
+% installed in /some/path/to/texlive/2013/texmf-dist/web2c/texmf.cnf,
+% add your custom settings to /some/path/to/texlive/2013/texmf.cnf.
+%
+% What follows is a super-summary of what this .cnf file can
+% contain. Please read the Kpathsea manual for more information.
+%
+% Any identifier (sticking to A-Za-z_ for names is safest) can be assigned.
+% The `=' (and surrounding spaces) is optional.
+% $foo (or ${foo}) in a value expands to the envvar or cnf value of foo.
+% Long lines can be continued with a \.
+%
+% Earlier entries (in the same or another file) override later ones, and
+% an environment variable foo overrides any texmf.cnf definition of foo.
+%
+% All definitions are read before anything is expanded, so you can use
+% variables before they are defined.
+%
+% If a variable assignment is qualified with `.PROGRAM', it is ignored
+% unless the current executable (last filename component of argv[0]) is
+% named PROGRAM. This foo.PROGRAM construct is not recognized on the
+% right-hand side. For environment variables, use FOO_PROGRAM.
+%
+% Which file formats use which paths for searches is described in the
+% various programs' and the Kpathsea documentation (http://tug.org/kpathsea).
+%
+% // means to search subdirectories (recursively).
+% A leading !! means to look only in the ls-R db, never on the disk.
+% In this file, either ; or : can be used to separate path components.
+% A leading/trailing/doubled path separator in the paths will be
+% expanded into the compile-time default. Probably not what you want.
+%
+% Brace notation is supported, for example: /usr/local/{mytex,othertex}
+% expands to /usr/local/mytex:/usr/local/othertex. We make extensive
+% use of this.
+
+
+% Part 1: Search paths and directories.
+
+% This is the parent directory of our several trees, i.e.,
+% /usr/local/texlive/YYYY in the original TeX Live distribution.
+%
+% All trees must be organized according to the TeX Directory Structure
+% (http://tug.org/tds), or files may not be found.
+%
+% Redistributors will probably want $SELFAUTODIR/share, i.e., /usr/share.
+% Kpathsea sets SELFAUTOLOC (the directory with the binary),
+% SELFAUTODIR (its parent), and SELFAUTOPARENT (its grandparent).
+TEXMFROOT = $SELFAUTODIR/share
+
+% The main tree of distributed packages and programs:
+TEXMFDIST = $TEXMFROOT/texmf-dist
+
+% We used to have a separate /texmf tree with some core programs and files.
+% Keep the variable name.
+TEXMFMAIN = $TEXMFDIST
+
+% Local additions to the distribution trees.
+TEXMFLOCAL = /usr/local/share/texmf;/usr/share/texmf
+
+% TEXMFSYSVAR, where *-sys store cached runtime data.
+TEXMFSYSVAR = /var/lib/texmf
+
+% TEXMFSYSCONFIG, where *-sys store configuration data.
+TEXMFSYSCONFIG = /etc/texmf
+
+% Per-user texmf tree(s) -- organized per the TDS, as usual. To define
+% more than one per-user tree, set this to a list of directories in
+% braces, as described above. (This used to be HOMETEXMF.) ~ expands
+% to %USERPROFILE% on Windows, $HOME otherwise.
+TEXMFHOME = ~/texmf
+
+% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
+TEXMFVAR = ~/.texlive/texmf-var
+
+% TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
+TEXMFCONFIG = ~/.texlive/texmf-config
+
+% List all the texmf trees. For an explanation of what they are, see the
+% TeX Live manual.
+%
+% For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
+% explicitly and before all other trees.
+%
+% TEXMFLOCAL precedes TEXMFDIST because locally-installed versions
+% should take precedence over distribution files -- although it is
+% generally a source of confusion to have different versions of a
+% package installed, whatever the trees, so try to avoid it.
+TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}
+
+% Where to look for ls-R files. There need not be an ls-R in the
+% directories in this path, but if there is one, Kpathsea will use it.
+% By default, this is only the !! elements of TEXMF, so that mktexlsr
+% does not create ls-R files in the non-!! elements -- because if an
+% ls-R is present, it will be used, and the disk will not be searched.
+% This is arguably a bug in kpathsea.
+TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}
+
+% The system trees. These are the trees that are shared by all users.
+% If a tree appears in this list, the mktex* scripts will use
+% VARTEXFONTS for generated files, if the original tree isn't writable;
+% otherwise the current working directory is used.
+SYSTEXMF = $TEXMFSYSVAR;$TEXMFLOCAL;$TEXMFDIST
+
+% First writable tree here is used by Lua(La)TeX for the font cache.
+% LuaLaTeX uses the value here, while ConTeXt uses the same variable but
+% from texmfcnf.lua; therefore the two values should be kept in sync.
+% (As should everything else in texmf.cnf <-> texmfcnf.lua.)
+TEXMFCACHE = $TEXMFSYSVAR;$TEXMFVAR
+
+% Where generated fonts may be written. This tree is used when the sources
+% were found in a system tree and either that tree wasn't writable, or the
+% varfonts feature was enabled in MT_FEATURES in mktex.cnf.
+VARTEXFONTS = $TEXMFVAR/fonts
+
+% On some systems, there will be a system tree which contains all the font
+% files that may be created as well as the formats. For example
+% TEXMFVAR = /var/lib/texmf
+% is used in many distros. In this case, set VARTEXFONTS like this
+%VARTEXFONTS = $TEXMFVAR/fonts
+% and do not mention it in TEXMFDBS (but _do_ mention TEXMFVAR).
+%
+% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below
+% one of the TEXMF directories (avoids overlapping ls-R files).
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Usually you will not need to edit any of the following variables.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% WEB2C is for Web2C specific files. The current directory may not be
+% a good place to look for them.
+WEB2C = $TEXMF/web2c
+
+% TEXINPUTS is for TeX input files -- i.e., anything to be found by \input
+% or \openin, including .sty, .eps, etc. We specify paths for all known
+% formats, past or present. Not all of them are built these days.
+
+% Plain TeX. Have the command tex check all directories as a last
+% resort, we may have plain-compatible stuff anywhere.
+TEXINPUTS.tex = .;$TEXMF/tex/{plain,generic,}//
+
+% Fontinst needs to read afm files.
+TEXINPUTS.fontinst = .;$TEXMF/{tex,fonts/afm}//
+
+% Other plain-based formats.
+TEXINPUTS.amstex = .;$TEXMF/tex/{amstex,plain,generic,}//
+TEXINPUTS.csplain = .;$TEXMF/tex/{csplain,plain,generic,}//
+TEXINPUTS.eplain = .;$TEXMF/tex/{eplain,plain,generic,}//
+TEXINPUTS.ftex = .;$TEXMF/tex/{formate,plain,generic,}//
+TEXINPUTS.mex = .;$TEXMF/tex/{mex,plain,generic,}//
+TEXINPUTS.texinfo = .;$TEXMF/tex/{texinfo,plain,generic,}//
+
+% LaTeX 2e specific macros are stored in latex/, macros that can only be
+% used with 2.09 in latex209/. In addition, we look in the directory
+% latex209, useful for macros that were written for 2.09 and do not
+% mention 2e at all, but can be used with 2e.
+TEXINPUTS.cslatex = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
+TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.latex209 = .;$TEXMF/tex/{latex209,generic,latex,}//
+TEXINPUTS.olatex = .;$TEXMF/tex/{latex,generic,}//
+
+% MLTeX.
+TEXINPUTS.frlatex = .;$TEXMF/tex/{french,latex,generic,}//
+TEXINPUTS.frtex = .;$TEXMF/tex/{french,plain,generic,}//
+TEXINPUTS.mllatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.mltex = .;$TEXMF/tex/{plain,generic,}//
+
+% e-TeX.
+TEXINPUTS.elatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.etex = .;$TEXMF/tex/{plain,generic,}//
+
+% pdfTeX.
+TEXINPUTS.pdfcslatex = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
+TEXINPUTS.pdfcsplain = .;$TEXMF/tex/{csplain,plain,generic,}//
+TEXINPUTS.pdflatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.pdfmex = .;$TEXMF/tex/{mex,plain,generic,}//
+TEXINPUTS.utf8mex = .;$TEXMF/tex/{mex,plain,generic,}//
+TEXINPUTS.pdftex = .;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.pdftexinfo = .;$TEXMF/tex/{texinfo,plain,generic,}//
+TEXINPUTS.pdfamstex = .;$TEXMF/tex/{amstex,plain,generic,}//
+
+% pdfeTeX.
+TEXINPUTS.pdfelatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.pdfetex = .;$TEXMF/tex/{plain,generic,}//
+
+% pdfxTeX.
+TEXINPUTS.pdfxlatex = .;$TEXMF/tex/{latex,generic,}//
+TEXINPUTS.pdfxmex = .;$TEXMF/tex/{mex,plain,generic,}//
+TEXINPUTS.pdfxtex = .;$TEXMF/tex/{plain,generic,}//
+
+% LuaTeX.
+TEXINPUTS.lualatex = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+TEXINPUTS.luatex = .;$TEXMF/tex/{luatex,plain,generic,}//
+TEXINPUTS.dvilualatex = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+TEXINPUTS.dviluatex = .;$TEXMF/tex/{luatex,plain,generic,}//
+
+% XeTeX.
+TEXINPUTS.xelatex = .;$TEXMF/tex/{xelatex,latex,xetex,generic,}//
+TEXINPUTS.xeplain = .;$TEXMF/tex/{xeplain,eplain,plain,xetex,generic,}//
+TEXINPUTS.xetex = .;$TEXMF/tex/{xetex,plain,generic,}//
+
+% Omega / Aleph.
+TEXINPUTS.aleph = .;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.elambda = .;$TEXMF/tex/{lambda,latex,generic,}//
+TEXINPUTS.eomega = .;$TEXMF/tex/{plain,generic,}//
+TEXINPUTS.lambda = .;$TEXMF/tex/{lambda,latex,generic,}//
+TEXINPUTS.lamed = .;$TEXMF/tex/{lambda,latex,generic,}//
+TEXINPUTS.omega = .;$TEXMF/tex/{plain,generic,}//
+
+% p(La)TeX.
+TEXINPUTS.ptex = .;$TEXMF/tex/{ptex,plain,generic,}//
+TEXINPUTS.platex = .;$TEXMF/tex/{platex,latex,generic,}//
+
+% epTeX, and for pmpost.
+TEXINPUTS.eptex = .;$TEXMF/tex/{ptex,plain,generic,}//
+TEX.pmpost = eptex
+
+% (e)up(La)TeX.
+TEXINPUTS.uplatex = .;$TEXMF/tex/{uplatex,platex,latex,generic,}//
+TEXINPUTS.uptex = .;$TEXMF/tex/{uptex,ptex,plain,generic,}//
+TEXINPUTS.euptex = .;$TEXMF/tex/{uptex,ptex,plain,generic}//
+
+% pBibTeX bibliographies and style files.
+BIBINPUTS.pbibtex = .;$TEXMF/{pbibtex,bibtex}/bib//
+BSTINPUTS.pbibtex = .;$TEXMF/{pbibtex,bibtex}/bst//
+
+% ConTeXt.
+TEXINPUTS.context = .;$TEXMF/tex/{context,plain,generic}//
+
+% jadetex.
+TEXINPUTS.jadetex = .;$TEXMF/tex/{jadetex,latex,generic,}//
+TEXINPUTS.pdfjadetex = .;$TEXMF/tex/{jadetex,latex,generic,}//
+
+% XMLTeX.
+TEXINPUTS.xmltex = .;$TEXMF/tex/{xmltex,latex,generic,}//
+TEXINPUTS.pdfxmltex = .;$TEXMF/tex/{xmltex,latex,generic,}//
+
+% Miscellany, no longer built.
+TEXINPUTS.lamstex = .;$TEXMF/tex/{lamstex,plain,generic,}//
+TEXINPUTS.lollipop = .;$TEXMF/tex/{lollipop,plain,generic,}//
+TEXINPUTS.frpdflatex = .;$TEXMF/tex/{french,latex,generic,}//
+TEXINPUTS.frpdftex = .;$TEXMF/tex/{french,plain,generic,}//
+
+% Earlier entries override later ones, so put this generic one last.
+TEXINPUTS = .;$TEXMF/tex/{$progname,generic,}//
+
+% ttf2tfm.
+TTF2TFMINPUTS = .;$TEXMF/ttf2pk//
+
+% Metafont, MetaPost inputs.
+MFINPUTS = .;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/source//
+MPINPUTS = .;$TEXMF/metapost//
+
+% Dump files (fmt/base/mem) for vir{tex,mf,mp} to read.
+% We want to find the engine-specific file, e.g., cont-en.fmt can
+% exist under both pdftex/ and xetex/. But just in case some formats
+% end up without an engine directory, look directly in web2c/ too.
+% We repeat the same definition three times because of the way fmtutil
+% is implemented; if we use ${TEXFORMATS}, the mpost/mf/etc. formats
+% will not be found.
+TEXFORMATS = .;$TEXMF/web2c{/$engine,}
+MFBASES = .;$TEXMF/web2c{/$engine,}
+MPMEMS = .;$TEXMF/web2c{/$engine,}
+%
+% As of 2008, pool files don't exist any more (the strings are compiled
+% into the binaries), but just in case something expects to find these:
+TEXPOOL = .;$TEXMF/web2c
+MFPOOL = ${TEXPOOL}
+MPPOOL = ${TEXPOOL}
+
+% support the original xdvi. Must come before the generic settings.
+PKFONTS.XDvi = .;$TEXMF/%s;$VARTEXFONTS/pk/{%m,modeless}//
+VFFONTS.XDvi = .;$TEXMF/%s
+PSHEADERS.XDvi = .;$TEXMF/%q{dvips,fonts/type1}//
+TEXPICTS.XDvi = .;$TEXMF/%q{dvips,tex}//
+
+% Device-independent font metric files.
+VFFONTS = .;$TEXMF/fonts/vf//
+TFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/tfm//
+
+% The $MAKETEX_MODE below means the drivers will not use a cx font when
+% the mode is ricoh. If no mode is explicitly specified, kpse_prog_init
+% sets MAKETEX_MODE to /, so all subdirectories are searched. See the manual.
+% The modeless part guarantees that bitmaps for PostScript fonts are found.
+PKFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/pk/{$MAKETEX_MODE,modeless}//
+
+% Similarly for the GF format, which only remains in existence because
+% Metafont outputs it (and MF isn't going to change).
+GFFONTS = .;$TEXMF/fonts/gf/$MAKETEX_MODE//
+
+% A backup for PKFONTS and GFFONTS. Not used for anything.
+GLYPHFONTS = .;$TEXMF/fonts
+
+% A place to puth everything that doesn't fit the other font categories.
+MISCFONTS = .;$TEXMF/fonts/misc//
+
+% font name map files. This isn't just fonts/map// because ConTeXt
+% wants support for having files with the same name in the different
+% subdirs. Maybe if the programs ever get unified to accepting the same
+% map file syntax the definition can be simplified again.
+TEXFONTMAPS = .;$TEXMF/fonts/map/{$progname,pdftex,dvips,}//
+
+% BibTeX bibliographies and style files. bibtex8 also uses these.
+BIBINPUTS = .;$TEXMF/bibtex/bib//
+BSTINPUTS = .;$TEXMF/bibtex/{bst,csf}//
+
+% MlBibTeX.
+MLBIBINPUTS = .;$TEXMF/bibtex/bib/{mlbib,}//
+MLBSTINPUTS = .;$TEXMF/bibtex/{mlbst,bst}//
+
+% .ris and .bltxml bibliography formats.
+RISINPUTS = .;$TEXMF/bibtex/ris//
+BLTXMLINPUTS = .;$TEXMF/bibtex/bltxml//
+
+% MFT style files.
+MFTINPUTS = .;$TEXMF/mft//
+
+% PostScript headers and prologues (.pro); unfortunately, some programs
+% also use this for acessing font files (enc, type1, truetype)
+TEXPSHEADERS = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3}}//
+TEXPSHEADERS.gsftopk = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3,truetype}}//
+
+% OSFONTDIR is to provide a convenient hook for allowing TeX to find
+% fonts installed on the system (outside of TeX). An empty default
+% value would add "//" to the search paths, so we give it a dummy value.
+% OSFONTDIR = /usr/share/fonts
+
+% PostScript Type 1 outline fonts.
+T1FONTS = .;$TEXMF/fonts/type1//;$OSFONTDIR//
+
+% PostScript AFM metric files.
+AFMFONTS = .;$TEXMF/fonts/afm//;$OSFONTDIR//
+
+% TrueType outline fonts.
+TTFONTS = .;$TEXMF/fonts/{truetype,opentype}//;$OSFONTDIR//
+
+% OpenType outline fonts.
+OPENTYPEFONTS = .;$TEXMF/fonts/{opentype,truetype}//;$OSFONTDIR//
+
+% Type 42 outline fonts.
+T42FONTS = .;$TEXMF/fonts/type42//
+
+% Ligature definition files.
+LIGFONTS = .;$TEXMF/fonts/lig//
+
+% Dvips' config.* files (this name should not start with `TEX'!).
+TEXCONFIG = $TEXMF/dvips//
+
+% Makeindex style (.ist) files.
+INDEXSTYLE = .;$TEXMF/makeindex//
+
+% Font encoding files (.enc).
+ENCFONTS = .;$TEXMF/fonts/enc//
+
+% CMap files.
+CMAPFONTS = .;$TEXMF/fonts/cmap//
+
+% Subfont definition files.
+SFDFONTS = .;$TEXMF/fonts/sfd//
+
+% OpenType feature files (.fea).
+FONTFEATURES=.;$TEXMF/fonts/fea//
+
+% .cid and .cidmap
+FONTCIDMAPS=.;$TEXMF/fonts/cid//
+
+% pdftex config files:
+PDFTEXCONFIG = .;$TEXMF/pdftex/{$progname,}//
+
+% Used by DMP (ditroff-to-mpx), called by makempx -troff.
+TRFONTS = /usr{/local,}/share/groff/{current/font,site-font}/devps
+MPSUPPORT = .;$TEXMF/metapost/support
+
+% For xdvi to find mime.types and .mailcap, if they do not exist in
+% ~. These are single directories, not paths.
+% (But the default mime.types, at least, may well suffice.)
+MIMELIBDIR = /etc
+MAILCAPLIBDIR = /etc
+
+% Default settings for the fontconfig library as used by the Windows
+% versions of xetex/xdvipdfmx. Not used by xetex on Unixish systems.
+% ConTeXT MkIV (all platforms) also use these values.
+%
+FONTCONFIG_FILE = fonts.conf
+FONTCONFIG_PATH = $TEXMFSYSVAR/fonts/conf
+FC_CACHEDIR = $TEXMFSYSVAR/fonts/cache
+
+% TeX documentation and source files, for use with texdoc and kpsewhich.
+TEXDOCS = $TEXMF/doc//
+TEXSOURCES = .;$TEXMF/source//
+
+% Web and CWeb input paths.
+WEBINPUTS = .;$TEXMF/web//
+CWEBINPUTS = .;$TEXMF/cweb//
+
+% Omega-related fonts and other files.
+OFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ofm,tfm}//
+OPLFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/opl//
+OVFFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ovf,vf}//
+OVPFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/ovp//
+OTPINPUTS = .;$TEXMF/omega/otp//
+OCPINPUTS = .;$TEXMF/omega/ocp//
+
+% Some additional input variables for several programs. If you add
+% a program that uses the `other text files' or `other binary files'
+% search formats, you'll want to add their variables here as well.
+T4HTINPUTS = .;$TEXMF/tex4ht//
+
+%% t4ht utility, sharing files with TeX4ht
+TEX4HTFONTSET=alias,iso8859,unicode
+TEX4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}//
+
+% TeXworks editor configuration and settings
+TW_LIBPATH = $TEXMFCONFIG/texworks
+TW_INIPATH = $TW_LIBPATH
+
+% For security, do not look in . for dvipdfmx.cfg, since the D option
+% would allow command execution.
+DVIPDFMXINPUTS = $TEXMF/dvipdfmx
+
+% Lua needs to look in TEXINPUTS for lua scripts distributed with packages.
+%
+% But we can't simply use $TEXINPUTS, since then if TEXINPUTS is set in
+% the environment with a colon, say, TEXINPUTS=/some/dir:, the intended
+% default expansion of TEXINPUTS will not happen and .lua files under
+% the /tex/ will not be found.
+%
+% So, duplicate the TEXINPUTS.*lualatex values as LUAINPUTS.*lualatex.
+% The default LUAINPUTS suffices for luatex and dviluatex.
+%
+LUAINPUTS.lualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+LUAINPUTS.dvilualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
+LUAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luatex,plain,generic,}//
+
+% Lua needs to look for binary lua libraries distributed with packages.
+CLUAINPUTS = .;$SELFAUTOLOC/lib/{$progname,$engine,}/lua//
+
+% Architecture independent executables.
+TEXMFSCRIPTS = $TEXMF/scripts/{$progname,$engine,}//
+
+% Other languages.
+JAVAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/java//
+PERLINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/perl//
+PYTHONINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/python//
+RUBYINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/ruby//
+
+
+%% The mktex* scripts rely on KPSE_DOT. Do not set it in the environment.
+% KPSE_DOT = .
+
+% This definition isn't used from this .cnf file itself (that would be
+% paradoxical), but the compile-time default in paths.h is built from it.
+% The SELFAUTO* variables are set automatically from the location of
+% argv[0], in kpse_set_program_name.
+%
+% This main texmf.cnf file is installed, for a release YYYY, in a
+% directory such as /usr/local/texlive/YYYY/texmf-dist/web2c/texmf.cnf.
+% Since this file is subject to future updates, the TeX Live installer
+% or human administrator may also create a file
+% /usr/local/texlive/YYYY/texmf.cnf; any settings in this latter file
+% will take precedence over the distributed one.
+%
+% For security reasons, it is best not to include . in this path.
+%
+% The idea behind this lengthy definition: for each of
+% SELFAUTO{LOC,DIR,PARENT}, look in the directory,
+% then the subdirectories share/texmf-local, share/texmf-dist, share/texmf,
+% then the subdirectories ./texmf-local, texmf-dist, ./texmf.
+% At any given installation, most of these directories will not exist,
+% but they all turn out to be useful somewhere.
+%
+% Special addition -- we want to include one more directory: the
+% great-grandparent's texmf-local, because that is how TL is installed
+% by default. That is, given a binary
+% /usr/local/texlive/YYYY/bin/PLATFORM/kpsewhich, it should find
+% /usr/local/texlive/texmf-local/web2c/texmf.cnf. I.e., not under YYYY.
+%
+% As a result, we cannot use actual brace expansion in the definition,
+% since we don't want to scatter ../'s throughout the value. Hence we
+% explicitly list every directory. Arguably more understandable anyway.
+%
+TEXMFCNF = {\
+$SELFAUTOLOC,\
+$SELFAUTOLOC/share/texmf-local/web2c,\
+$SELFAUTOLOC/share/texmf-dist/web2c,\
+$SELFAUTOLOC/share/texmf/web2c,\
+$SELFAUTOLOC/texmf-local/web2c,\
+$SELFAUTOLOC/texmf-dist/web2c,\
+$SELFAUTOLOC/texmf/web2c,\
+\
+$SELFAUTODIR,\
+$SELFAUTODIR/share/texmf-local/web2c,\
+$SELFAUTODIR/share/texmf-dist/web2c,\
+$SELFAUTODIR/share/texmf/web2c,\
+$SELFAUTODIR/texmf-local/web2c,\
+$SELFAUTODIR/texmf-dist/web2c,\
+$SELFAUTODIR/texmf/web2c,\
+\
+$SELFAUTOPARENT/../texmf-local/web2c,\
+$SELFAUTOPARENT,\
+\
+$SELFAUTOPARENT/share/texmf-local/web2c,\
+$SELFAUTOPARENT/share/texmf-dist/web2c,\
+$SELFAUTOPARENT/share/texmf/web2c,\
+$SELFAUTOPARENT/texmf-local/web2c,\
+$SELFAUTOPARENT/texmf-dist/web2c,\
+$SELFAUTOPARENT/texmf/web2c\
+}
+%
+% For reference, here is the old brace-using definition:
+%TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}
+
+% kpathsea 3.5.3 and later sets these at runtime. To avoid empty
+% expansions from binaries linked against an earlier version of the
+% library, we set $progname and $engine to something non-empty:
+progname = unsetprogname
+engine = unsetengine
+
+
+% Part 2: Options.
+
+% If this option is set to true, `tex a.b' will look first for a.b.tex
+% (within each path element), and then for a.b, i.e., we try standard
+% extensions first. If this is false, we first look for a.b and then
+% a.b.tex, i.e., we try the name as-is first.
+%
+% Both names are always tried; the difference is the order in which they
+% are tried. The setting applies to all searches, not just .tex.
+%
+% This setting only affects names being looked up which *already* have
+% an extension. A name without an extension (e.g., `tex story') will
+% always have an extension added first.
+%
+% The default is true, because we already avoid adding the standard
+% extension(s) in the usual cases. E.g., babel.sty will only look for
+% babel.sty, not babel.sty.tex, regardless of this setting.
+try_std_extension_first = t
+
+% Enable system commands via \write18{...}. When enabled fully (set to
+% t), obviously insecure. When enabled partially (set to p), only the
+% commands listed in shell_escape_commands are allowed. Although this
+% is not fully secure either, it is much better, and so useful that we
+% enable it for everything but bare tex.
+shell_escape = p
+
+% No spaces in this command list.
+%
+% The programs listed here are as safe as any we know: they either do
+% not write any output files, respect openout_any, or have hard-coded
+% restrictions similar or higher to openout_any=p. They also have no
+% features to invoke arbitrary other programs, and no known exploitable
+% bugs. All to the best of our knowledge. They also have practical use
+% for being called from TeX.
+%
+shell_escape_commands = \
+bibtex,bibtex8,\
+kpsewhich,\
+makeindex,\
+mpost,\
+repstopdf,\
+
+% we'd like to allow:
+% dvips - but external commands can be executed, need at least -R1.
+% epspdf, ps2pdf, pstopdf - need to respect openout_any,
+% and gs -dSAFER must be used and check for shell injection with filenames.
+% (img)convert (ImageMagick) - delegates.mgk possible misconfig, besides,
+% without Unix convert it hardly seems worth it, and Windows convert
+% is something completely different that destroys filesystems, so skip.
+% pygmentize - but is the filter feature insecure?
+% ps4pdf - but it calls an unrestricted latex.
+% rpdfcrop - maybe ok, but let's get experience with repstopdf first.
+% texindy,xindy - but is the module feature insecure?
+% ulqda - but requires optional SHA1.pm, so why bother.
+% tex, latex, etc. - need to forbid --shell-escape, and inherit openout_any.
+
+% plain TeX should remain unenhanced.
+shell_escape.tex = f
+shell_escape.initex = f
+
+% This is used by the Windows script wrapper for restricting searching
+% for the purportedly safe shell_escape_commands above to system
+% directories.
+TEXMF_RESTRICTED_SCRIPTS = \
+ {!!$TEXMFLOCAL,!!$TEXMFDIST}/scripts/{$progname,$engine,}//
+
+% Allow TeX \openin, \openout, or \input on filenames starting with `.'
+% (e.g., .rhosts) or outside the current tree (e.g., /etc/passwd)?
+% a (any) : any file can be opened.
+% r (restricted) : disallow opening "dotfiles".
+% p (paranoid) : as `r' and disallow going to parent directories, and
+% restrict absolute paths to be under $TEXMFOUTPUT.
+openout_any = p
+openin_any = a
+
+% Write .log/.dvi/etc. files here, if the current directory is unwritable.
+%TEXMFOUTPUT = /tmp
+
+% If a dynamic file creation fails, log the command to this file, in
+% either the current directory or TEXMFOUTPUT. Set to the
+% empty string or 0 to avoid logging.
+MISSFONT_LOG = missfont.log
+
+% Set to a colon-separated list of words specifying warnings to suppress.
+% To suppress everything, use TEX_HUSH = all; this is currently equivalent to
+% TEX_HUSH = checksum:lostchar:readable:special
+% To suppress nothing, use TEX_HUSH = none or do not set the variable at all.
+TEX_HUSH = none
+
+% Allow TeX, and MF to parse the first line of an input file for
+% the %&format construct.
+parse_first_line = t
+
+% But don't parse the first line if invoked as "tex", since we want that
+% to remain Knuth-compatible. The src_specials and
+% file_line_error_style settings, as well as the options -enctex,
+% -mltex, -8bit, etc., also affect this, but they are all off by default.
+parse_first_line.tex = f
+parse_first_line.initex = f
+
+% Control file:line:error style messages.
+file_line_error_style = f
+
+% Enable the mktex... scripts by default? These must be set to 0 or 1.
+% Particular programs can and do override these settings, for example
+% dvips's -M option. Your first chance to specify whether the scripts
+% are invoked by default is at configure time.
+%
+% These values are ignored if the script names are changed; e.g., if you
+% set DVIPSMAKEPK to `foo', what counts is the value of the environment
+% variable/config value `FOO', not the `MKTEXPK' value.
+%
+%MKTEXTEX = 0
+%MKTEXPK = 0
+%MKTEXMF = 0
+%MKTEXTFM = 0
+%MKTEXFMT = 0
+%MKOCP = 0
+%MKOFM = 0
+
+% Used by makempx to run TeX. We use "etex" because MetaPost is
+% expecting DVI, and not "tex" because we want first line parsing.
+TEX = etex
+
+% These variables specify the external program called for the
+% interactive `e' option. %d is replaced by the line number and %s by
+% the current filename. The default is specified at compile-time, and
+% we let that stay in place since different platforms like different values.
+%TEXEDIT = vi +%d '%s' % default for Unix
+%TEXEDIT = texworks --position=+%d "%s" % default for Windows
+%MFEDIT = ${TEXEDIT}
+%MPEDIT = ${TEXEDIT}
+
+% The default `codepage and sort order' file for BibTeX8, when none is
+% given as command line option or environment variable.
+BIBTEX_CSFILE = 88591lat.csf
+
+% This variable is specific to Windows. It must be set to 0 or 1. The
+% default is 0. Setting it to 1 tells the Windows script wrappers to
+% use an already installed Perl interpreter if one is found on the
+% search path, in preference to the Perl shipped with TeX Live. Thus,
+% it may be useful if you both (a) installed a full Perl distribution
+% for general use, and (b) need to run Perl programs from TL that use
+% additional modules we don't provide. The TL Perl does provide all the
+% standard Perl modules.
+%
+%TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL = 0
+
+
+% Part 3: Array and other sizes for TeX (and Metafont).
+%
+% If you want to change some of these sizes only for a certain TeX
+% variant, the usual dot notation works, e.g.,
+% main_memory.hugetex = 20000000
+%
+% If a change here appears to be ignored, try redumping the format file.
+
+% Memory. Must be less than 8,000,000 total.
+%
+% main_memory is relevant only to initex, extra_mem_* only to non-ini.
+% Thus, have to redump the .fmt file after changing main_memory; to add
+% to existing fmt files, increase extra_mem_*. (To get an idea of how
+% much, try \tracingstats=2 in your TeX source file;
+% web2c/tests/memtest.tex might also be interesting.)
+%
+% To increase space for boxes (as might be needed by, e.g., PiCTeX),
+% increase extra_mem_bot.
+%
+% For some xy-pic samples, you may need as much as 700000 words of memory.
+% For the vast majority of documents, 60000 or less will do.
+%
+main_memory = 5000000 % words of inimemory available; also applies to inimf&mp
+extra_mem_top = 0 % extra high memory for chars, tokens, etc.
+extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc.
+
+% ConTeXt needs lots of memory.
+extra_mem_top.context = 2000000
+extra_mem_bot.context = 4000000
+
+% Words of font info for TeX (total size of all TFM files, approximately).
+% Must be >= 20000 and <= 147483647 (without tex.ch changes).
+font_mem_size = 8000000
+
+% Total number of fonts. Must be >= 50 and <= 9000 (without tex.ch changes).
+font_max = 9000
+
+% Extra space for the hash table of control sequences.
+hash_extra = 600000
+
+% Max number of characters in all strings, including all error messages,
+% help texts, font names, control sequences. These values apply to TeX.
+pool_size = 6250000
+% Minimum pool space after TeX's own strings; must be at least
+% 25000 less than pool_size, but doesn't need to be nearly that large.
+string_vacancies = 90000
+% Maximum number of strings.
+max_strings = 500000
+% min pool space left after loading .fmt
+pool_free = 47500
+
+% Buffer size. TeX uses the buffer to contain input lines, but macro
+% expansion works by writing material into the buffer and reparsing the
+% line. As a consequence, certain constructs require the buffer to be
+% very large, even though most documents can be handled with a small value.
+buf_size = 200000
+
+% Hyphenation trie. The maximum possible is 4194303 (ssup_trie_size in
+% the sources), but we don't need that much. The value here suffices
+% for all known free hyphenation patterns to be loaded simultaneously
+% (as TeX Live does).
+%
+trie_size = 1000000
+
+hyph_size = 8191 % prime number of hyphenation exceptions, >610, <32767.
+ % http://primes.utm.edu/curios/page.php/8191.html
+nest_size = 500 % simultaneous semantic levels (e.g., groups)
+max_in_open = 15 % simultaneous input files and error insertions,
+ % also applies to MetaPost
+param_size = 10000 % simultaneous macro parameters, also applies to MP
+save_size = 100000 % for saving values outside current group
+stack_size = 5000 % simultaneous input sources
+
+% These are Omega-specific.
+ocp_buf_size = 500000 % character buffers for ocp filters.
+ocp_stack_size = 10000 % stacks for ocp computations.
+ocp_list_size = 1000 % control for multiple ocps.
+
+% These work best if they are the same as the I/O buffer size, but it
+% doesn't matter much. Must be a multiple of 8.
+dvi_buf_size = 16384 % TeX
+gf_buf_size = 16384 % MF
+
+% It's probably inadvisable to change these. At any rate, we must have:
+% 45 < error_line < 255;
+% 30 < half_error_line < error_line - 15;
+% 60 <= max_print_line;
+% These apply to TeX, Metafont, and MetaPost.
+error_line = 79
+half_error_line = 50
+max_print_line = 79
+
+% Metafont only.
+screen_width.mf = 1664
+screen_depth.mf = 1200
+
+% BibTeX only (max_strings also determines hash_size and hash_prime).
+ent_str_size = 250
+glob_str_size = 20000
+max_strings.bibtex = 35307
+max_strings.bibtex8 = 35307
+max_strings.bibtexu = 35307
+max_strings.pbibtex = 35307
+
+% GFtype only.
+line_length.gftype = 500
+max_rows.gftype = 8191
+max_cols.gftype = 8191
diff --git a/libre/texlive-fontsextra-libre/PKGBUILD b/libre/texlive-fontsextra-libre/PKGBUILD
new file mode 100644
index 000000000..70f079049
--- /dev/null
+++ b/libre/texlive-fontsextra-libre/PKGBUILD
@@ -0,0 +1,70 @@
+# Maintainer: Rémy Oudompheng <remy.archlinux.org>
+# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
+# Contributor (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname=texlive-fontsextra-libre
+_pkgname=texlive-fontsextra
+pkgver=2013.31570
+_revnr=${pkgver#2013.}
+pkgrel=1
+pkgdesc="TeX Live - all sorts of extra fonts, without nonfree add-on packages"
+license=('GPL')
+arch=(any)
+depends=('texlive-core')
+groups=('texlive-most')
+replaces=('texlive-fontsextra')
+conflicts=('texlive-fontsextra')
+provides=('texlive-fontsextra')
+url='http://tug.org/texlive/'
+mksource=("ftp://ftp.archlinux.org/other/texlive/$_pkgname-$pkgver-src.zip")
+noextract=("$_pkgname-$pkgver-src.zip")
+source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver-src.tar.xz" "$_pkgname.maps")
+options=('!emptydirs')
+options=(!strip)
+install=texlive.install
+mkmd5sums=('3f519371dd2e22e5b32daa461b89aea2')
+md5sums=('e6b12e482913169f44c54172316416bc'
+ 'f489cc5f762dcdbe6acb11624de7e138')
+
+mksource() {
+ mkdir $_pkgname-$pkgver
+ pushd $_pkgname-$pkgver
+ bsdtar xfv ../$_pkgname-$pkgver-src.zip
+
+ # remove nonfree packages
+ # No specific free license.
+ rm -v ogham.tar.xz
+ # Remove them from package list.
+ sed -ri '/^ogham /d' CONTENTS
+
+ popd
+}
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ for p in *.tar.xz; do
+ bsdtar -xf $p
+ done
+ rm -rf {tlpkg,doc,source} || true
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ install -m755 -d $pkgdir/var/lib/texmf/arch/installedpkgs
+ sed -i '/^#/d' CONTENTS
+ install -m644 CONTENTS $pkgdir/var/lib/texmf/arch/installedpkgs/${_pkgname}_${_revnr}.pkgs
+ install -m644 $srcdir/$_pkgname.maps $pkgdir/var/lib/texmf/arch/installedpkgs/
+ install -m755 -d $pkgdir/usr/share
+ wanteddirs=$(for d in *; do test -d $d && [[ $d != texmf* ]] && echo $d; done) || true
+ for dir in $wanteddirs; do
+ find $dir -type d -exec install -d -m755 $pkgdir/usr/share/texmf-dist/'{}' \;
+ find $dir -type f -exec install -m644 '{}' $pkgdir/usr/share/texmf-dist/'{}' \;
+ done
+ if [[ -d texmf-dist ]]; then
+ find texmf-dist -type d -exec install -d -m755 $pkgdir/usr/share/'{}' \;
+ find texmf-dist -type f -exec install -m644 '{}' $pkgdir/usr/share/'{}' \;
+ fi
+ if [[ -d $pkgdir/usr/share/texmf-dist/scripts ]]; then
+ find $pkgdir/usr/share/texmf-dist/scripts -type f -exec chmod a+x '{}' \;
+ fi
+}
diff --git a/libre/texlive-fontsextra-libre/texlive-fontsextra.maps b/libre/texlive-fontsextra-libre/texlive-fontsextra.maps
new file mode 100644
index 000000000..852afce52
--- /dev/null
+++ b/libre/texlive-fontsextra-libre/texlive-fontsextra.maps
@@ -0,0 +1,134 @@
+Map Acorn.map
+Map AnnSton.map
+Map ArrowsADF.map
+Map ArtNouv.map
+Map ArtNouvc.map
+Map BulletsADF.map
+Map Carrickc.map
+Map CountriesOfEurope.map
+Map EBGaramond.map
+Map ESSTIX.map
+Map Eichenla.map
+Map Eileen.map
+Map EileenBl.map
+Map Elzevier.map
+Map GotIn.map
+Map GoudyIn.map
+Map Kinigcap.map
+Map Konanur.map
+Map Kramer.map
+Map LibreBaskerville.map
+Map LibreCaslon.map
+Map MnSymbol.map
+Map MorrisIn.map
+Map Nouveaud.map
+Map OrnementsADF.map
+Map Raleway.map
+Map Romantik.map
+Map Rothdn.map
+Map RoyalIn.map
+Map Sanremo.map
+Map SourceCodePro.map
+Map SourceSansPro.map
+Map Starburst.map
+Map Typocaps.map
+Map Zallman.map
+Map antt.map
+Map ap.map
+Map archaicprw.map
+Map arev.map
+Map ascii.map
+Map aspectratio.map
+Map augie.map
+Map auncial.map
+Map aurical.map
+Map belleek.map
+Map bera.map
+Map bguq.map
+Map boondox.map
+Map cabin.map
+Map calligra.map
+Map cantarell.map
+Map ccicons.map
+Map clm.map
+Map cm-lgc.map
+Map cmin.map
+Map comfortaa.map
+Map cyklop.map
+Map dejavu-type1.map
+Map dictsym.map
+Map droid.map
+Map dstroke.map
+Map dutchcal.map
+Map epigrafica.map
+Map esvect.map
+Map fbb.map
+Map fdsymbol.map
+Map fge.map
+Map foekfont.map
+Map fonetika.map
+Map fourier-utopia-expert.map
+Map fourier.map
+Map frcursive.map
+Map gentium-type1.map
+Map gfsartemisia.map
+Map gfsbodoni.map
+Map gfscomplutum.map
+Map gfsdidot.map
+Map gfsneohellenic.map
+Map gfssolomos.map
+Map gptimes.map
+Map hacm.map
+Map icelandic.map
+Map ipaex-type1.map
+Map iwona.map
+Map kpfonts.map
+Map kurier.map
+Map lato.map
+Map libertine.map
+Map linearA.map
+Map mathabx.map
+Map mdbch.map
+Map mdgreek.map
+Map mdput.map
+Map mdsymbol.map
+Map newpx.map
+Map newtx.map
+Map ocrb.map
+Map opensans.map
+Map paratype-type1.map
+Map pbsi.map
+Map phaistos.map
+Map prodint.map
+Map pxtx.map
+Map quattrocento.map
+Map recycle.map
+Map rsfso.map
+Map sansmathaccent.map
+Map sansmathfonts.map
+Map sqrcaps.map
+Map starfont.map
+Map superiors.map
+Map tfrupee.map
+Map uaq.map
+Map ugq.map
+Map ybd.map
+Map ybv.map
+Map yes.map
+Map yfrak.map
+Map yly.map
+Map yrd.map
+Map yv1.map
+Map yv2.map
+Map yv3.map
+Map yvo.map
+Map yvt.map
+Map zi4.map
+MixedMap allrunes.map
+MixedMap bbold.map
+MixedMap cmll.map
+MixedMap hfbright.map
+MixedMap lxfonts.map
+MixedMap pigpen.map
+MixedMap semaf.map
+MixedMap trajan.map
diff --git a/libre/texlive-fontsextra-libre/texlive.install b/libre/texlive-fontsextra-libre/texlive.install
new file mode 100644
index 000000000..bfd2222a0
--- /dev/null
+++ b/libre/texlive-fontsextra-libre/texlive.install
@@ -0,0 +1,52 @@
+PKGNAME="texlive-fontsextra"
+UPDMAP="etc/texmf/web2c/updmap.cfg"
+UPDMAPLOCAL="etc/texmf/web2c/updmap-local.cfg"
+SYNCWITHTREES=''
+
+MAPFILE="var/lib/texmf/arch/installedpkgs/$PKGNAME.maps"
+
+post_install() {
+ TMPFILE=`mktemp`
+ echo ">>> texlive: saving updmap.cfg as $TMPFILE..."
+ cp "$UPDMAP" "$TMPFILE"
+ echo ">>> texlive: regenerating updmap.cfg (custom additions should go"
+ echo " into /etc/texmf/web2c/updmap-local.cfg"
+ cp usr/share/texmf-dist/web2c/updmap-hdr.cfg $UPDMAP
+ cat var/lib/texmf/arch/installedpkgs/*.maps >> $UPDMAP
+ [ -f "$UPDMAPLOCAL" ] && cat "$UPDMAPLOCAL" >> $UPDMAP
+ echo ">>> texlive: updating the filename database..."
+ usr/bin/mktexlsr
+ echo ">>> texlive: updating the fontmap files with updmap..."
+ usr/bin/updmap-sys --quiet --nohash
+ echo " done."
+}
+
+post_upgrade() {
+ TMPFILE=`mktemp`
+ echo ">>> texlive: saving updmap.cfg as $TMPFILE..."
+ cp "$UPDMAP" "$TMPFILE"
+ echo ">>> texlive: regenerating updmap.cfg (custom additions should go"
+ echo " into /etc/texmf/web2c/updmap-local.cfg"
+ cp usr/share/texmf-dist/web2c/updmap-hdr.cfg $UPDMAP
+ cat var/lib/texmf/arch/installedpkgs/*.maps >> $UPDMAP
+ [ -f "$UPDMAPLOCAL" ] && cat "$UPDMAPLOCAL" >> $UPDMAP
+ echo ">>> texlive: updating the filename database..."
+ usr/bin/mktexlsr
+ echo ">>> texlive: updating the fontmap files with updmap..."
+ usr/bin/updmap-sys --quiet --nohash $SYNCWITHTREES
+ echo " done."
+}
+
+pre_remove() {
+for m in `cut -d' ' -f2 $MAPFILE`; do
+ sed -i "/\s$m/d" $UPDMAP ;
+done
+}
+
+post_remove() {
+ echo ">>> texlive: updating the filename database..."
+ usr/bin/mktexlsr
+ echo ">>> texlive: updating the fontmap files with updmap..."
+ usr/bin/updmap-sys --quiet --nohash
+ echo " done."
+}
diff --git a/libre/texlive-latexextra-libre/PKGBUILD b/libre/texlive-latexextra-libre/PKGBUILD
new file mode 100644
index 000000000..cbdc46a12
--- /dev/null
+++ b/libre/texlive-latexextra-libre/PKGBUILD
@@ -0,0 +1,91 @@
+# $Id: PKGBUILD 193983 2013-09-09 12:57:56Z remy $
+# Maintainer: Firmicus <firmicus āt gmx dōt net>
+# Maintainer: Rémy Oudompheng <remy@archlinux.org>
+# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
+# Contributor (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname=texlive-latexextra-libre
+_pkgname=texlive-latexextra
+pkgver=2013.31588
+_revnr=${pkgver#2013.}
+pkgrel=1
+pkgdesc="TeX Live - Large collection of add-on packages for LaTeX, without nonfree add-on packages"
+license=('GPL')
+arch=(any)
+depends=('texlive-core'
+ 'perl-file-which' # for pdfannotextractor
+ )
+optdepends=(
+ 'texlive-genericextra: to use the calctab package'
+ 'texlive-pictures: to use the package overpic'
+ 'jdk7-openjdk: to use pdfannotextractor'
+)
+provides=('texlive-latexextra')
+replaces=('texlive-latexextra')
+conflicts=('texlive-latexextra')
+groups=('texlive-most')
+url='http://tug.org/texlive/'
+mksource=("ftp://ftp.archlinux.org/other/texlive/$_pkgname-$pkgver-src.zip")
+noextract=("$_pkgname-$pkgver-src.zip")
+source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver-src.tar.xz" "$_pkgname.maps")
+options=('!emptydirs')
+options=(!strip)
+install=texlive.install
+mkmd5sums=('7c9755ca4e104089fab816d805990f6f')
+md5sums=('7e6ff7b61faf268fe2b814c4949ab364'
+ '9e4825f47dac663dd62c4bfa67899e84')
+
+mksource() {
+ mkdir $_pkgname-$pkgver
+ pushd $_pkgname-$pkgver
+ bsdtar xfv ../$_pkgname-$pkgver-src.zip
+
+ # remove nonfree packages
+ # No specific free license.
+ rm -v {authoraftertitle,clock,fnpara}.tar.xz
+ # Remove them from package list.
+ sed -ri '/^(authoraftertitle|fnpara) /d' CONTENTS
+
+ popd
+}
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ for p in *.tar.xz; do
+ bsdtar -xf $p
+ done
+ rm -rf {tlpkg,doc,source} || true
+}
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ install -m755 -d "$pkgdir"/var/lib/texmf/arch/installedpkgs
+ sed -i '/^#/d' CONTENTS
+ install -m644 CONTENTS "$pkgdir"/var/lib/texmf/arch/installedpkgs/${_pkgname}_${_revnr}.pkgs
+ install -m644 $srcdir/$_pkgname.maps "$pkgdir"/var/lib/texmf/arch/installedpkgs/
+ install -m755 -d "$pkgdir"/usr/share
+ wanteddirs=$(for d in *; do test -d $d && [[ $d != texmf* ]] && echo $d; done) || true
+ for dir in $wanteddirs; do
+ find $dir -type d -exec install -d -m755 "$pkgdir"/usr/share/texmf-dist/'{}' \;
+ find $dir -type f -exec install -m644 '{}' "$pkgdir"/usr/share/texmf-dist/'{}' \;
+ done
+ if [[ -d texmf-dist ]]; then
+ find texmf-dist -type d -exec install -d -m755 "$pkgdir"/usr/share/'{}' \;
+ find texmf-dist -type f -exec install -m644 '{}' "$pkgdir"/usr/share/'{}' \;
+ fi
+ if [[ -d "$pkgdir"/usr/share/texmf-dist/scripts ]]; then
+ find "$pkgdir"/usr/share/texmf-dist/scripts -type f -exec chmod a+x '{}' \;
+ fi
+ #add symlinks that were in texlive-bin:
+ install -m755 -d "$pkgdir"/usr/bin
+ ln -s /usr/share/texmf-dist/scripts/authorindex/authorindex "$pkgdir"/usr/bin/authorindex
+ ln -s /usr/share/texmf-dist/scripts/exceltex/exceltex "$pkgdir"/usr/bin/exceltex
+ ln -s /usr/share/texmf-dist/scripts/glossaries/makeglossaries "$pkgdir"/usr/bin/makeglossaries
+ ln -s /usr/share/texmf-dist/scripts/pax/pdfannotextractor.pl "$pkgdir"/usr/bin/pdfannotextractor
+ ln -s /usr/share/texmf-dist/scripts/perltex/perltex.pl "$pkgdir"/usr/bin/perltex
+ ln -s /usr/share/texmf-dist/scripts/pst-pdf/ps4pdf "$pkgdir"/usr/bin/ps4pdf
+ ln -s /usr/share/texmf-dist/scripts/splitindex/splitindex.pl "$pkgdir"/usr/bin/splitindex
+ ln -s /usr/share/texmf-dist/scripts/svn-multi/svn-multi.pl "$pkgdir"/usr/bin/svn-multi
+ ln -s /usr/share/texmf-dist/scripts/vpe/vpe.pl "$pkgdir"/usr/bin/vpe
+ rm "$pkgdir"/usr/share/texmf-dist/scripts/glossaries/makeglossaries.bat
+ rm "$pkgdir"/usr/share/texmf-dist/scripts/pst-pdf/ps4pdf.bat*
+ rm "$pkgdir"/usr/share/texmf-dist/scripts/shipunov/biokey2html.bat
+}
diff --git a/libre/texlive-latexextra-libre/texlive-latexextra.maps b/libre/texlive-latexextra-libre/texlive-latexextra.maps
new file mode 100644
index 000000000..b97f37fdd
--- /dev/null
+++ b/libre/texlive-latexextra-libre/texlive-latexextra.maps
@@ -0,0 +1,3 @@
+Map epiolmec.map
+MixedMap esint.map
+MixedMap manfnt.map
diff --git a/libre/texlive-latexextra-libre/texlive.install b/libre/texlive-latexextra-libre/texlive.install
new file mode 100644
index 000000000..befc29143
--- /dev/null
+++ b/libre/texlive-latexextra-libre/texlive.install
@@ -0,0 +1,52 @@
+PKGNAME="texlive-latexextra"
+UPDMAP="etc/texmf/web2c/updmap.cfg"
+UPDMAPLOCAL="etc/texmf/web2c/updmap-local.cfg"
+SYNCWITHTREES=''
+
+MAPFILE="var/lib/texmf/arch/installedpkgs/$PKGNAME.maps"
+
+post_install() {
+ TMPFILE=`mktemp`
+ echo ">>> texlive: saving updmap.cfg as $TMPFILE..."
+ cp "$UPDMAP" "$TMPFILE"
+ echo ">>> texlive: regenerating updmap.cfg (custom additions should go"
+ echo " into /etc/texmf/web2c/updmap-local.cfg"
+ cp usr/share/texmf-dist/web2c/updmap-hdr.cfg $UPDMAP
+ cat var/lib/texmf/arch/installedpkgs/*.maps >> $UPDMAP
+ [ -f "$UPDMAPLOCAL" ] && cat "$UPDMAPLOCAL" >> $UPDMAP
+ echo ">>> texlive: updating the filename database..."
+ usr/bin/mktexlsr
+ echo ">>> texlive: updating the fontmap files with updmap..."
+ usr/bin/updmap-sys --quiet --nohash
+ echo " done."
+}
+
+post_upgrade() {
+ TMPFILE=`mktemp`
+ echo ">>> texlive: saving updmap.cfg as $TMPFILE..."
+ cp "$UPDMAP" "$TMPFILE"
+ echo ">>> texlive: regenerating updmap.cfg (custom additions should go"
+ echo " into /etc/texmf/web2c/updmap-local.cfg"
+ cp usr/share/texmf-dist/web2c/updmap-hdr.cfg $UPDMAP
+ cat var/lib/texmf/arch/installedpkgs/*.maps >> $UPDMAP
+ [ -f "$UPDMAPLOCAL" ] && cat "$UPDMAPLOCAL" >> $UPDMAP
+ echo ">>> texlive: updating the filename database..."
+ usr/bin/mktexlsr
+ echo ">>> texlive: updating the fontmap files with updmap..."
+ usr/bin/updmap-sys --quiet --nohash $SYNCWITHTREES
+ echo " done."
+}
+
+pre_remove() {
+for m in `cut -d' ' -f2 $MAPFILE`; do
+ sed -i "/\s$m/d" $UPDMAP ;
+done
+}
+
+post_remove() {
+ echo ">>> texlive: updating the filename database..."
+ usr/bin/mktexlsr
+ echo ">>> texlive: updating the fontmap files with updmap..."
+ usr/bin/updmap-sys --quiet --nohash
+ echo " done."
+}
diff --git a/libre/tokyocabinet/PKGBUILD b/libre/tokyocabinet/PKGBUILD
new file mode 100644
index 000000000..1add6c535
--- /dev/null
+++ b/libre/tokyocabinet/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Mark Foxwell <fastfret79@archlinux.org.uk>
+# Contributor: Nicolas Martyanoff <khaelin@gmail.com>
+
+pkgname=tokyocabinet
+pkgver=1.4.48
+pkgrel=2
+pkgdesc="a modern implementation of DBM"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://fallabs.com/tokyocabinet/"
+license=('LGPL')
+makedepends=('gcc>=3.1' 'make' 'pkgconfig')
+depends=('zlib' 'bzip2')
+source=("http://fallabs.com/tokyocabinet/${pkgname}-${pkgver}.tar.gz")
+md5sums=('fd03df6965f8f56dd5b8518ca43b4f5e')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ [ "$CARCH" != "mips64el" ] && extra=--enable-fastest
+
+ ./configure --prefix=/usr --enable-off64 $extra
+ make
+}
+
+# uncomment check routine if needed (can take ~5mins to run check)
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make -k check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/tp_smapi-libre-lts/PKGBUILD b/libre/tp_smapi-libre-lts/PKGBUILD
index de5c899c6..2a4a1a023 100644
--- a/libre/tp_smapi-libre-lts/PKGBUILD
+++ b/libre/tp_smapi-libre-lts/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 104131 2014-01-16 08:33:59Z bpiotrowski $
+# $Id: PKGBUILD 105407 2014-02-06 23:12:06Z bpiotrowski $
# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
# Contributor: xduugu
# Contributor: nh2
@@ -13,7 +13,7 @@ pkgname=tp_smapi-libre-lts
_pkgname=tp_smapi
_extramodules=/usr/lib/modules/extramodules-3.10-LIBRE-LTS
pkgver=0.41
-pkgrel=23
+pkgrel=24
pkgdesc="Modules for ThinkPad's SMAPI functionality (built for the linux-libre-lts kernel package)"
arch=('i686' 'x86_64' 'mips64el')
url='https://github.com/evgeni/tp_smapi'
diff --git a/libre/tp_smapi-libre-lts/tp_smapi-lts.install b/libre/tp_smapi-libre-lts/tp_smapi-lts.install
new file mode 100644
index 000000000..58c23092e
--- /dev/null
+++ b/libre/tp_smapi-libre-lts/tp_smapi-lts.install
@@ -0,0 +1,13 @@
+extramodules=/usr/lib/modules/extramodules-3.10-LIBRE-LTS
+
+post_install() {
+ depmod -v $(< "$extramodules/version") &>/dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/tp_smapi-libre/tp_smapi.install b/libre/tp_smapi-libre/tp_smapi.install
new file mode 100644
index 000000000..2f81a4e15
--- /dev/null
+++ b/libre/tp_smapi-libre/tp_smapi.install
@@ -0,0 +1,13 @@
+extramodules=/usr/lib/modules/extramodules-3.12-LIBRE
+
+post_install() {
+ depmod -v $(< "$extramodules/version") &>/dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/unar/PKGBUILD b/libre/unar/PKGBUILD
new file mode 100644
index 000000000..e7f632461
--- /dev/null
+++ b/libre/unar/PKGBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Cedric Girard <girard.cedric@gmail.com>
+# Contributor: N30N <archlinux@alunamation.com>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+pkgname=unar
+pkgver=1.8.1
+pkgrel=1
+pkgdesc="An Objective-C application for uncompressing archive files"
+arch=('x86_64' 'i686' 'mips64el')
+url="http://unarchiver.c3.cx/"
+license=('LGPL2.1')
+depends=('gnustep-base' 'openssl' 'bzip2' 'icu>=52.1' 'icu<52.2' 'gcc-libs' 'zlib')
+makedepends=('gcc-objc')
+replaces=('unarchiver' 'unrar')
+conflicts=('unarchiver' 'unrar')
+provides=('unarchiver' 'unrar')
+source=("http://theunarchiver.googlecode.com/files/${pkgname}${pkgver}_src.zip"
+ "native_obj_exceptions.patch")
+
+build() {
+ cd "$srcdir/The Unarchiver"
+
+ patch -p1 < ../native_obj_exceptions.patch
+
+ cd XADMaster
+ . /usr/share/GNUstep/Makefiles/GNUstep.sh
+ make -f Makefile.linux
+}
+
+package() {
+ cd "$srcdir/The Unarchiver/XADMaster"
+ install -d "$pkgdir/usr/bin/"
+ install -m755 unar lsar "$pkgdir/usr/bin/"
+
+ cd "$srcdir/The Unarchiver/Extra"
+ install -d "$pkgdir/usr/share/man/man1"
+ gzip -c lsar.1 > "$pkgdir/usr/share/man/man1"/lsar.1.gz
+ gzip -c unar.1 > "$pkgdir/usr/share/man/man1"/unar.1.gz
+}
+
+# vim:set ts=2 sw=2 et:
+md5sums=('4f952153fa849093efe2238498350fbe'
+ '4fa4ecc6e4ba14d3b6952d064e728511')
diff --git a/libre/unar/libz.patch b/libre/unar/libz.patch
new file mode 100644
index 000000000..acba51463
--- /dev/null
+++ b/libre/unar/libz.patch
@@ -0,0 +1,13 @@
+diff -Naur The Unarchiver/XADMaster/Makefile.linux The Unarchiver_patched/XADMaster/Makefile.linux
+--- The Unarchiver/XADMaster/Makefile.linux 2011-04-27 03:32:21.000000000 +0200
++++ The Unarchiver_patched/XADMaster/Makefile.linux 2011-12-22 10:56:13.749166606 +0100
+@@ -51,7 +51,8 @@
+ -licuuc \
+ -lobjc \
+ -lstdc++ \
+- -lm
++ -lm \
++ -lz
+
+ LDFLAGS = -Wl,--whole-archive \
+ -fexceptions \
diff --git a/libre/unar/native_obj_exceptions.patch b/libre/unar/native_obj_exceptions.patch
new file mode 100644
index 000000000..9c84918b2
--- /dev/null
+++ b/libre/unar/native_obj_exceptions.patch
@@ -0,0 +1,22 @@
+diff -Naur The Unarchiver/UniversalDetector/Makefile.linux The Unarchiver_patched/UniversalDetector/Makefile.linux
+--- The Unarchiver/UniversalDetector/Makefile.linux 2011-04-27 03:32:21.000000000 +0200
++++ The Unarchiver_patched/UniversalDetector/Makefile.linux 2011-12-22 10:48:32.138621163 +0100
+@@ -16,7 +16,6 @@
+
+ GNUSTEP_OPTS = -DGNUSTEP \
+ -DGNU_RUNTIME=1 \
+- -D_NATIVE_OBJC_EXCEPTIONS \
+ -fgnu-runtime \
+ -fexceptions \
+ -fobjc-exceptions \
+diff -Naur The Unarchiver/XADMaster/Makefile.linux The Unarchiver_patched/XADMaster/Makefile.linux
+--- The Unarchiver/XADMaster/Makefile.linux 2011-04-27 03:32:21.000000000 +0200
++++ The Unarchiver_patched/XADMaster/Makefile.linux 2011-12-22 10:48:15.488721721 +0100
+@@ -16,7 +16,6 @@
+
+ GNUSTEP_OPTS = -DGNUSTEP \
+ -DGNU_RUNTIME=1 \
+- -D_NATIVE_OBJC_EXCEPTIONS \
+ -fgnu-runtime \
+ -fexceptions \
+ -fobjc-exceptions \
diff --git a/libre/unzip-libre/PKGBUILD b/libre/unzip-libre/PKGBUILD
new file mode 100644
index 000000000..2c4ce4150
--- /dev/null
+++ b/libre/unzip-libre/PKGBUILD
@@ -0,0 +1,57 @@
+# $Id: PKGBUILD 150452 2012-02-17 23:21:23Z allan $
+# Maintainer:
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+# Contributor: Robson Peixoto
+
+_pkgname=unzip
+pkgname=unzip-libre
+pkgver=6.0
+pkgrel=6
+pkgdesc="Unpacks .zip archives such as those made by PKZIP"
+arch=('i686' 'x86_64')
+url="http://www.info-zip.org/"
+license=('custom')
+depends=('bzip2' 'bash')
+provides=("${_pkgname}=${pkgver}")
+conflicts=("${_pkgname}")
+replaces=("${_pkgname}")
+mksource=('http://downloads.sourceforge.net/infozip/unzip60.tar.gz'
+ 'match.patch')
+source=('https://repo.parabolagnulinux.org/other/$pkgname/unzip60-libre.tar.gz')
+mkmd5sums=('62b490407489521db863b523a7f86375'
+ 'e6d9f0c204c2abe6a57dc5e1637d5140')
+md5sums=('bbe4b7f4d48b2f939b5e43fde0ac7762')
+
+mksource() {
+ cd ${srcdir}/${_pkgname}${pkgver/./}
+
+ # from http://bzr.trisquel.info/package-helpers/trunk/annotate/head%3A/helpers/natty/DATA/unzip/match.patch
+ patch -Np0 -i ${srcdir}/match.patch
+}
+
+build() {
+ cd ${srcdir}/${_pkgname}${pkgver/./}
+
+ # set CFLAGS -- from Debian
+ export CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DACORN_FTYPE_NFS \
+ -DWILD_STOP_AT_DIR -DLARGE_FILE_SUPPORT -DUNICODE_SUPPORT \
+ -DUNICODE_WCHAR -DUTF8_MAYBE_NATIVE -DNO_LCHMOD -DDATE_FORMAT=DF_YMD \
+ -DUSE_BZIP2 -DNATIVE"
+
+ sed -i "/MANDIR =/s#)/#)/share/#" unix/Makefile
+
+ # make -- from Debian
+ make -f unix/Makefile LOCAL_UNZIP="$CFLAGS" prefix=/usr LF2="" \
+ D_USE_BZ2=-DUSE_BZIP2 L_BZ2=-lbz2 unzips
+}
+
+package(){
+ cd ${srcdir}/${_pkgname}${pkgver/./}
+
+ # install -- from Debian
+ make -f unix/Makefile prefix=${pkgdir}/usr INSTALL_PROGRAM="install" install
+
+ # install the license file
+ install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/unzip/LICENSE
+}
+
diff --git a/libre/unzip-libre/match.patch b/libre/unzip-libre/match.patch
new file mode 100644
index 000000000..6ba65fee0
--- /dev/null
+++ b/libre/unzip-libre/match.patch
@@ -0,0 +1,472 @@
+--- match.c 2011-09-07 23:00:58.037644003 +0200
++++ match.final.c 2011-09-07 23:32:19.433644002 +0200
+@@ -27,16 +27,14 @@
+
+ ---------------------------------------------------------------------------
+
+- Copyright on recmatch() from Zip's util.c (although recmatch() was almost
+- certainly written by Mark Adler...ask me how I can tell :-) ):
++ Copyright on recmatch() from Zip's util.c
++ Copyright (c) 1990-2005 Info-ZIP. All rights reserved.
+
+- Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly,
+- Kai Uwe Rommel and Igor Mandrichenko.
++ See the accompanying file LICENSE, version 2004-May-22 or later
++ for terms of use.
++ If, for some reason, both of these files are missing, the Info-ZIP license
++ also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html
+
+- Permission is granted to any individual or institution to use, copy,
+- or redistribute this software so long as all of the original files are
+- included unmodified, that it is not sold for profit, and that this copy-
+- right notice is retained.
+
+ ---------------------------------------------------------------------------
+
+@@ -53,7 +51,7 @@
+
+ A set is composed of characters or ranges; a range looks like ``character
+ hyphen character'' (as in 0-9 or A-Z). [0-9a-zA-Z_] is the minimal set of
+- characters allowed in the [..] pattern construct. Other characters are
++ characters ALlowed in the [..] pattern construct. Other characters are
+ allowed (i.e., 8-bit characters) if your system will support them.
+
+ To suppress the special syntactic significance of any of ``[]*?!^-\'', in-
+@@ -101,8 +99,32 @@
+ # define WILDCHAR '?'
+ # define BEG_RANGE '['
+ # define END_RANGE ']'
++# define WILDCHR_SINGLE '?'
++# define DIRSEP_CHR '/'
++# define WILDCHR_MULTI '*'
+ #endif
+
++#ifdef WILD_STOP_AT_DIR
++ int wild_stop_at_dir = 1; /* default wildcards do not include / in matches */
++#else
++ int wild_stop_at_dir = 0; /* default wildcards do include / in matches */
++#endif
++
++
++
++/*
++ * case mapping functions. case_map is used to ignore case in comparisons,
++ * to_up is used to force upper case even on Unix (for dosify option).
++ */
++#ifdef USE_CASE_MAP
++# define case_map(c) upper[(c) & 0xff]
++# define to_up(c) upper[(c) & 0xff]
++#else
++# define case_map(c) (c)
++# define to_up(c) ((c) >= 'a' && (c) <= 'z' ? (c)-'a'+'A' : (c))
++#endif /* USE_CASE_MAP */
++
++
+ #if 0 /* GRR: add this to unzip.h someday... */
+ #if !(defined(MSDOS) && defined(DOSWILD))
+ #ifdef WILD_STOP_AT_DIR
+@@ -114,8 +136,8 @@
+ int ignore_case __WDLPRO));
+ #endif
+ #endif /* 0 */
+-static int recmatch OF((ZCONST uch *pattern, ZCONST uch *string,
+- int ignore_case __WDLPRO));
++static int recmatch OF((ZCONST char *, ZCONST char *,
++ int));
+ static char *isshexp OF((ZCONST char *p));
+ static int namecmp OF((ZCONST char *s1, ZCONST char *s2));
+
+@@ -154,192 +176,236 @@
+ }
+ dospattern[j-1] = '\0'; /* nuke the end "." */
+ }
+- j = recmatch((uch *)dospattern, (uch *)string, ignore_case __WDL);
++ j = recmatch(dospattern, string, ignore_case);
+ free(dospattern);
+ return j == 1;
+ } else
+ #endif /* MSDOS && DOSWILD */
+- return recmatch((uch *)pattern, (uch *)string, ignore_case __WDL) == 1;
++ return recmatch(pattern, string, ignore_case) == 1;
+ }
+
+
+
+-static int recmatch(p, s, ic __WDL)
+- ZCONST uch *p; /* sh pattern to match */
+- ZCONST uch *s; /* string to which to match it */
+- int ic; /* true for case insensitivity */
+- __WDLDEF /* directory sepchar for WildStopAtDir mode, or 0 */
++static int recmatch(p, s, cs)
++ZCONST char *p; /* sh pattern to match */
++ZCONST char *s; /* string to match it to */
++int cs; /* flag: force case-sensitive matching */
+ /* Recursively compare the sh pattern p with the string s and return 1 if
+- * they match, and 0 or 2 if they don't or if there is a syntax error in the
+- * pattern. This routine recurses on itself no more deeply than the number
+- * of characters in the pattern. */
++ they match, and 0 or 2 if they don't or if there is a syntax error in the
++ pattern. This routine recurses on itself no deeper than the number of
++ characters in the pattern. */
+ {
+- unsigned int c; /* pattern char or start of range in [-] loop */
++ int c; /* pattern char or start of range in [-] loop */
++ /* Get first character, the pattern for new recmatch calls follows */
++ /* borrowed from Zip's global.c */
++ int no_wild = 0;
++ int allow_regex=1;
++ /* This fix provided by akt@m5.dion.ne.jp for Japanese.
++ See 21 July 2006 mail.
++ It only applies when p is pointing to a doublebyte character and
++ things like / and wildcards are not doublebyte. This probably
++ should not be needed. */
+
+- /* Get first character, the pattern for new recmatch calls follows */
+- c = *p; INCSTR(p);
++#ifdef _MBCS
++ if (CLEN(p) == 2) {
++ if (CLEN(s) == 2) {
++ return (*p == *s && *(p+1) == *(s+1)) ?
++ recmatch(p + 2, s + 2, cs) : 0;
++ } else {
++ return 0;
++ }
++ }
++#endif /* ?_MBCS */
+
+- /* If that was the end of the pattern, match if string empty too */
+- if (c == 0)
+- return *s == 0;
++ c = *POSTINCSTR(p);
+
+- /* '?' (or '%') matches any character (but not an empty string). */
+- if (c == WILDCHAR)
+-#ifdef WILD_STOP_AT_DIR
+- /* If uO.W_flag is non-zero, it won't match '/' */
+- return (*s && (!sepc || *s != (uch)sepc))
+- ? recmatch(p, s + CLEN(s), ic, sepc) : 0;
+-#else
+- return *s ? recmatch(p, s + CLEN(s), ic) : 0;
+-#endif
++ /* If that was the end of the pattern, match if string empty too */
++ if (c == 0)
++ return *s == 0;
++
++ /* '?' (or '%' or '#') matches any character (but not an empty string) */
++ if (c == WILDCHR_SINGLE) {
++ if (wild_stop_at_dir)
++ return (*s && *s != DIRSEP_CHR) ? recmatch(p, s + CLEN(s), cs) : 0;
++ else
++ return *s ? recmatch(p, s + CLEN(s), cs) : 0;
++ }
+
+- /* '*' matches any number of characters, including zero */
++ /* WILDCHR_MULTI ('*') matches any number of characters, including zero */
+ #ifdef AMIGA
+- if (c == '#' && *p == '?') /* "#?" is Amiga-ese for "*" */
+- c = '*', p++;
++ if (!no_wild && c == '#' && *p == '?') /* "#?" is Amiga-ese for "*" */
++ c = WILDCHR_MULTI, p++;
+ #endif /* AMIGA */
+- if (c == '*') {
+-#ifdef WILD_STOP_AT_DIR
+- if (sepc) {
+- /* check for single "*" or double "**" */
+-# ifdef AMIGA
+- if ((c = p[0]) == '#' && p[1] == '?') /* "#?" is Amiga-ese for "*" */
+- c = '*', p++;
+- if (c != '*') {
+-# else /* !AMIGA */
+- if (*p != '*') {
+-# endif /* ?AMIGA */
+- /* single "*": this doesn't match the dirsep character */
+- for (; *s && *s != (uch)sepc; INCSTR(s))
+- if ((c = recmatch(p, s, ic, sepc)) != 0)
+- return (int)c;
+- /* end of pattern: matched if at end of string, else continue */
+- if (*p == '\0')
+- return (*s == 0);
+- /* continue to match if at sepc in pattern, else give up */
+- return (*p == (uch)sepc || (*p == '\\' && p[1] == (uch)sepc))
+- ? recmatch(p, s, ic, sepc) : 2;
+- }
+- /* "**": this matches slashes */
+- ++p; /* move p behind the second '*' */
+- /* and continue with the non-W_flag code variant */
+- }
+-#endif /* WILD_STOP_AT_DIR */
++ if (!no_wild && c == WILDCHR_MULTI)
++ {
++ if (wild_stop_at_dir) {
++ /* Check for an immediately following WILDCHR_MULTI */
++# ifdef AMIGA
++ if ((c = p[0]) == '#' && p[1] == '?') /* "#?" is Amiga-ese for "*" */
++ c = WILDCHR_MULTI, p++;
++ if (c != WILDCHR_MULTI) {
++# else /* !AMIGA */
++ if (*p != WILDCHR_MULTI) {
++# endif /* ?AMIGA */
++ /* Single WILDCHR_MULTI ('*'): this doesn't match slashes */
++ for (; *s && *s != DIRSEP_CHR; INCSTR(s))
++ if ((c = recmatch(p, s, cs)) != 0)
++ return c;
++ /* end of pattern: matched if at end of string, else continue */
+ if (*p == 0)
+- return 1;
+- if (isshexp((ZCONST char *)p) == NULL) {
+- /* Optimization for rest of pattern being a literal string:
+- * If there are no other shell expression chars in the rest
+- * of the pattern behind the multi-char wildcard, then just
+- * compare the literal string tail.
+- */
+- ZCONST uch *srest;
+-
+- srest = s + (strlen((ZCONST char *)s) - strlen((ZCONST char *)p));
+- if (srest - s < 0)
+- /* remaining literal string from pattern is longer than rest
+- * of test string, there can't be a match
+- */
+- return 0;
+- else
+- /* compare the remaining literal pattern string with the last
+- * bytes of the test string to check for a match
+- */
++ return (*s == 0);
++ /* continue to match if at DIRSEP_CHR in pattern, else give up */
++ return (*p == DIRSEP_CHR || (*p == '\\' && p[1] == DIRSEP_CHR))
++ ? recmatch(p, s, cs) : 2;
++ }
++ /* Two consecutive WILDCHR_MULTI ("**"): this matches DIRSEP_CHR ('/') */
++ p++; /* move p past the second WILDCHR_MULTI */
++ /* continue with the normal non-WILD_STOP_AT_DIR code */
++ } /* wild_stop_at_dir */
++
++ /* Not wild_stop_at_dir */
++ if (*p == 0)
++ return 1;
++ if (!isshexp((char *)p))
++ {
++ /* optimization for rest of pattern being a literal string */
++
++ /* optimization to handle patterns like *.txt */
++ /* if the first char in the pattern is '*' and there */
++ /* are no other shell expression chars, i.e. a literal string */
++ /* then just compare the literal string at the end */
++
++ ZCONST char *srest;
++
++ srest = s + (strlen(s) - strlen(p));
++ if (srest - s < 0)
++ /* remaining literal string from pattern is longer than rest of
++ test string, there can't be a match
++ */
++ return 0;
++ else
++ /* compare the remaining literal pattern string with the last bytes
++ of the test string to check for a match */
+ #ifdef _MBCS
+- {
+- ZCONST uch *q = s;
++ {
++ ZCONST char *q = s;
+
+- /* MBCS-aware code must not scan backwards into a string from
+- * the end.
+- * So, we have to move forward by character from our well-known
+- * character position s in the test string until we have
+- * advanced to the srest position.
+- */
+- while (q < srest)
+- INCSTR(q);
+- /* In case the byte *srest is a trailing byte of a multibyte
+- * character in the test string s, we have actually advanced
+- * past the position (srest).
+- * For this case, the match has failed!
+- */
+- if (q != srest)
+- return 0;
+- return ((ic
+- ? namecmp((ZCONST char *)p, (ZCONST char *)q)
+- : strcmp((ZCONST char *)p, (ZCONST char *)q)
+- ) == 0);
+- }
++ /* MBCS-aware code must not scan backwards into a string from
++ * the end.
++ * So, we have to move forward by character from our well-known
++ * character position s in the test string until we have advanced
++ * to the srest position.
++ */
++ while (q < srest)
++ INCSTR(q);
++ /* In case the byte *srest is a trailing byte of a multibyte
++ * character, we have actually advanced past the position (srest).
++ * For this case, the match has failed!
++ */
++ if (q != srest)
++ return 0;
++ return ((cs ? strcmp(p, q) : namecmp(p, q)) == 0);
++ }
+ #else /* !_MBCS */
+- return ((ic
+- ? namecmp((ZCONST char *)p, (ZCONST char *)srest)
+- : strcmp((ZCONST char *)p, (ZCONST char *)srest)
+- ) == 0);
++ return ((cs ? strcmp(p, srest) : namecmp(p, srest)) == 0);
+ #endif /* ?_MBCS */
+- } else {
+- /* pattern contains more wildcards, continue with recursion... */
+- for (; *s; INCSTR(s))
+- if ((c = recmatch(p, s, ic __WDL)) != 0)
+- return (int)c;
+- return 2; /* 2 means give up--match will return false */
+- }
+ }
+-
+- /* Parse and process the list of characters and ranges in brackets */
+- if (c == BEG_RANGE) {
+- int e; /* flag true if next char to be taken literally */
+- ZCONST uch *q; /* pointer to end of [-] group */
+- int r; /* flag true to match anything but the range */
+-
+- if (*s == 0) /* need a character to match */
+- return 0;
+- p += (r = (*p == '!' || *p == '^')); /* see if reverse */
+- for (q = p, e = 0; *q; INCSTR(q)) /* find closing bracket */
+- if (e)
+- e = 0;
+- else
+- if (*q == '\\') /* GRR: change to ^ for MS-DOS, OS/2? */
+- e = 1;
+- else if (*q == END_RANGE)
+- break;
+- if (*q != END_RANGE) /* nothing matches if bad syntax */
+- return 0;
+- for (c = 0, e = (*p == '-'); p < q; INCSTR(p)) {
+- /* go through the list */
+- if (!e && *p == '\\') /* set escape flag if \ */
+- e = 1;
+- else if (!e && *p == '-') /* set start of range if - */
+- c = *(p-1);
+- else {
+- unsigned int cc = Case(*s);
+-
+- if (*(p+1) != '-')
+- for (c = c ? c : *p; c <= *p; c++) /* compare range */
+- if ((unsigned)Case(c) == cc) /* typecast for MSC bug */
+- return r ? 0 : recmatch(q + 1, s + 1, ic __WDL);
+- c = e = 0; /* clear range, escape flags */
+- }
+- }
+- return r ? recmatch(q + CLEN(q), s + CLEN(s), ic __WDL) : 0;
+- /* bracket match failed */
++ else
++ {
++ /* pattern contains more wildcards, continue with recursion... */
++ for (; *s; INCSTR(s))
++ if ((c = recmatch(p, s, cs)) != 0)
++ return c;
++ return 2; /* 2 means give up--shmatch will return false */
+ }
++ }
+
+- /* if escape ('\\'), just compare next character */
+- if (c == '\\' && (c = *p++) == 0) /* if \ at end, then syntax error */
+- return 0;
++#ifndef VMS /* No bracket matching in VMS */
++ /* Parse and process the list of characters and ranges in brackets */
++ if (!no_wild && allow_regex && c == '[')
++ {
++ int e; /* flag true if next char to be taken literally */
++ ZCONST char *q; /* pointer to end of [-] group */
++ int r; /* flag true to match anything but the range */
++
++ if (*s == 0) /* need a character to match */
++ return 0;
++ p += (r = (*p == '!' || *p == '^')); /* see if reverse */
++ for (q = p, e = 0; *q; q++) /* find closing bracket */
++ if (e)
++ e = 0;
++ else
++ if (*q == '\\')
++ e = 1;
++ else if (*q == ']')
++ break;
++ if (*q != ']') /* nothing matches if bad syntax */
++ return 0;
++ for (c = 0, e = *p == '-'; p < q; p++) /* go through the list */
++ {
++ if (e == 0 && *p == '\\') /* set escape flag if \ */
++ e = 1;
++ else if (e == 0 && *p == '-') /* set start of range if - */
++ c = *(p-1);
++ else
++ {
++ uch cc = (cs ? (uch)*s : case_map((uch)*s));
++ uch uc = (uch) c;
++ if (*(p+1) != '-')
++ for (uc = uc ? uc : (uch)*p; uc <= (uch)*p; uc++)
++ /* compare range */
++ if ((cs ? uc : case_map(uc)) == cc)
++ return r ? 0 : recmatch(q + CLEN(q), s + CLEN(s), cs);
++ c = e = 0; /* clear range, escape flags */
++ }
++ }
++ return r ? recmatch(q + CLEN(q), s + CLEN(s), cs) : 0;
++ /* bracket match failed */
++ }
++#endif /* !VMS */
+
+- /* just a character--compare it */
+-#ifdef QDOS
+- return QMatch(Case((uch)c), Case(*s)) ?
+- recmatch(p, s + CLEN(s), ic __WDL) : 0;
+-#else
+- return Case((uch)c) == Case(*s) ?
+- recmatch(p, s + CLEN(s), ic __WDL) : 0;
+-#endif
++ /* If escape ('\'), just compare next character */
++ if (!no_wild && c == '\\')
++ if ((c = *p++) == '\0') /* if \ at end, then syntax error */
++ return 0;
++
++#ifdef VMS
++ /* 2005-11-06 SMS.
++ Handle "..." wildcard in p with "." or "]" in s.
++ */
++ if ((c == '.') && (*p == '.') && (*(p+ CLEN( p)) == '.') &&
++ ((*s == '.') || (*s == ']')))
++ {
++ /* Match "...]" with "]". Continue after "]" in both. */
++ if ((*(p+ 2* CLEN( p)) == ']') && (*s == ']'))
++ return recmatch( (p+ 3* CLEN( p)), (s+ CLEN( s)), cs);
++
++ /* Else, look for a reduced match in s, until "]" in or end of s. */
++ for (; *s && (*s != ']'); INCSTR(s))
++ if (*s == '.')
++ /* If reduced match, then continue after "..." in p, "." in s. */
++ if ((c = recmatch( (p+ CLEN( p)), s, cs)) != 0)
++ return (int)c;
++
++ /* Match "...]" with "]". Continue after "]" in both. */
++ if ((*(p+ 2* CLEN( p)) == ']') && (*s == ']'))
++ return recmatch( (p+ 3* CLEN( p)), (s+ CLEN( s)), cs);
++
++ /* No reduced match. Quit. */
++ return 2;
++ }
++
++#endif /* def VMS */
++
++ /* Just a character--compare it */
++ return (cs ? c == *s : case_map((uch)c) == case_map((uch)*s)) ?
++ recmatch(p, s + CLEN(s), cs) : 0;
++}
+
+-} /* end function recmatch() */
+
+
+
++/*************************************************************************************************/
+ static char *isshexp(p)
+ ZCONST char *p;
+ /* If p is a sh expression, a pointer to the first special character is
diff --git a/libre/usermin/PKGBUILD b/libre/usermin/PKGBUILD
new file mode 100644
index 000000000..5613daba3
--- /dev/null
+++ b/libre/usermin/PKGBUILD
@@ -0,0 +1,129 @@
+# $Id: PKGBUILD 195999 2013-10-07 10:42:06Z tpowa $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+pkgname=usermin
+pkgver=1.570
+pkgrel=1.1
+pkgdesc="a web interface that can be used to easily perform tasks like reading mail, setting up SSH or configuring mail forwarding (Parabola rebranded)"
+arch=(i686 x86_64 mips64el)
+license=('custom:usermin')
+url="http://www.webmin.com/"
+depends=('perl' 'webmin')
+makedepends=('perl-net-ssleay')
+backup=('etc/usermin/miniserv.conf' 'etc/usermin/miniserv.users' 'etc/usermin/config' 'etc/usermin/usermin.cats' \
+'etc/usermin/at/config' \
+'etc/usermin/man/config' \
+'etc/usermin/ssh/config' \
+'etc/usermin/chfn/config' \
+'etc/usermin/cron/config' \
+'etc/usermin/file/config' \
+'etc/usermin/plan/config' \
+'etc/usermin/proc/config' \
+'etc/usermin/spam/config' \
+'etc/usermin/htaccess/config' \
+'etc/usermin/cshrc/config' \
+'etc/usermin/gnupg/config' \
+'etc/usermin/mysql/config' \
+'etc/usermin/quota/config' \
+'etc/usermin/shell/config' \
+'etc/usermin/theme/config' \
+'etc/usermin/mailbox/config' \
+'etc/usermin/schedule/config' \
+'etc/usermin/config' \
+'etc/usermin/commands/config' \
+'etc/usermin/htaccess-htpasswd/config' \
+'etc/usermin/forward/config' \
+'etc/usermin/telnet/config' \
+'etc/usermin/tunnel/config' \
+'etc/usermin/updown/config' \
+'etc/usermin/procmail/config' \
+'etc/usermin/fetchmail/config' \
+'etc/usermin/changepass/config' \
+'etc/usermin/language/config' \
+'etc/usermin/postgresql/config' \
+'etc/usermin/usermount/config' \
+)
+install=usermin.install
+source=(http://downloads.sourceforge.net/sourceforge/webadmin/$pkgname-$pkgver.tar.gz
+ usermin.service
+ ftp://ftp.archlinux.org/other/usermin/usermin-config.tar.bz2)
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+
+ # remove modules we do not support
+
+ #remove config files from other distros
+ rm -f $(find . ! -name 'config-generic-linux' ! -name 'config-\*-linux' ! -name 'config-lib.pl' -name 'config-*')
+
+ # remove caldera theme
+ rm -rf caldera
+
+ # remove init-scripts from other distros
+ rm usermin-init
+ rm usermin-daemon
+
+ # setting perl path
+ (find . -name '*.cgi' ; find . -name '*.pl') | perl perlpath.pl /usr/bin/perl -
+
+ # create dirs
+ mkdir -p "$pkgdir"/opt/usermin
+ mkdir -p "$pkgdir"/var/log/usermin
+ mkdir -p "$pkgdir"/etc/usermin
+
+ # install pam stuff
+ install -D -m 644 usermin-pam "$pkgdir"/etc/pam.d/usermin
+
+ # remove other distros and add only Parabola GNU/Linux-libre don't change next line else it will not work!
+ rm os_list.txt
+ echo 'Parabola GNU/Linux-libre Any version generic-linux * -d "/etc/pacman.d"' >> os_list.txt
+
+ # copy stuff to right dirs
+ cd "$srcdir"/$pkgname-$pkgver
+ cp -rp * "$pkgdir"/opt/usermin
+ cd "$srcdir"/usermin-config
+ cp -rfp * "$pkgdir"/opt/usermin
+
+ # define parameters for setup.sh
+ config_dir="$pkgdir"/etc/usermin
+ var_dir="$pkgdir"/var/log/usermin
+ perl=/usr/bin/perl
+ autoos=1
+ port=20000
+ login=root
+ crypt="XXX"
+ ssl=1
+ atboot=0
+ nostart=1
+ nochown=1
+ autothird=1
+ nouninstall=1
+ noperlpath=1
+ atbootyn=n
+ tempdir="$pkgdir"/tmp
+ export config_dir var_dir perl autoos port tempdir ssl nochown autothird nouninstall nostart noperlpath atbootyn login crypt
+
+ # Fix setup.sh
+ sed -i -e 's:read atbootyn::g' -e 's:exit 13::g' "$pkgdir"/opt/usermin/setup.sh
+ "$pkgdir"/opt/usermin/setup.sh
+
+ # Fixup the config files to use their real locations
+ sed -i 's:^pidfile=.*$:pidfile=/var/run/usermin.pid:' "$pkgdir"/etc/usermin/miniserv.conf
+ find "$pkgdir"/etc/usermin -type f -exec sed -i "s:$pkgdir::g" {} \;
+
+ # make it only accessible by localhost
+ echo 'allow=127.0.0.1' >> "$pkgdir"/etc/usermin/miniserv.conf
+
+ # enable user and password login
+ sed -i -e '/localauth/d' "$pkgdir"/etc/usermin/miniserv.conf
+
+ #install systemd service file
+ install -D -m 644 "$srcdir"/usermin.service "$pkgdir"/usr/lib/systemd/system/usermin.service
+
+ # delete temp dir
+ rm -r "$pkgdir"/tmp
+ #install license
+ install -m 644 -D "$srcdir"/$pkgname-$pkgver/LICENCE "$pkgdir"/usr/share/licenses/usermin/LICENCE
+}
+md5sums=('4cfb713bb2fa2582cfe9a62802d588ab'
+ 'a5bd5e5ee779f8a3cf3d776ca77ee36e'
+ 'ec37a79f948f778224550930d2a7ca07')
diff --git a/libre/usermin/usermin.install b/libre/usermin/usermin.install
new file mode 100644
index 000000000..3ace10ea2
--- /dev/null
+++ b/libre/usermin/usermin.install
@@ -0,0 +1,34 @@
+# arg 1: the new package version
+post_install() {
+ local crypt=$(grep "^root:" ${ROOT}/etc/shadow | cut -f 2 -d :)
+ crypt=${crypt//\\/\\\\}
+ crypt=${crypt//\//\\\/}
+ sed -i "s/root:XXX/root:${crypt}/" /etc/usermin/miniserv.users
+cat << EOF
+Note:
+==> It is not allowed to install 3rd party modules, or delete existing modules.
+==> Please write your own PKGBUILDS for 3rd party modules and additional themes.
+Setup:
+==> To make usermin start at boot time, add usermin to rc.conf daemons
+==> Point your web browser to http://localhost:20000 to use usermin.
+==> To change the modules setup please use webmin.
+
+==> The access is restricted to localhost, if you want to connect from other locations
+==> change /etc/usermin/miniserv.conf to something like that: allow=127.0.0.1 <your-ip>
+==> If you want to have ssl encryption please install 'perl-net-ssleay' additional.
+EOF
+# fix man module
+ cd /opt/usermin/man
+ gzip -df $(find . -name '*.gz')
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ # uninstall unzipped files
+ rm -r /opt/usermin/man
+}
diff --git a/libre/usermin/usermin.service b/libre/usermin/usermin.service
new file mode 100644
index 000000000..e91164c63
--- /dev/null
+++ b/libre/usermin/usermin.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Usermin
+
+[Service]
+Type=forking
+ExecStart=/opt/usermin/miniserv.pl /etc/usermin/miniserv.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/vhba-module-libre/60-vhba.rules b/libre/vhba-module-libre/60-vhba.rules
new file mode 100644
index 000000000..39ae3a4ec
--- /dev/null
+++ b/libre/vhba-module-libre/60-vhba.rules
@@ -0,0 +1 @@
+ACTION=="add", KERNEL=="vhba_ctl", NAME="vhba_ctl", MODE="0660", OWNER="root", GROUP="cdemu", TAG+="uaccess"
diff --git a/libre/vhba-module-libre/vhba-module.install b/libre/vhba-module-libre/vhba-module.install
new file mode 100644
index 000000000..793cffd8d
--- /dev/null
+++ b/libre/vhba-module-libre/vhba-module.install
@@ -0,0 +1,22 @@
+EXTRAMODULES=
+
+_updatemod() {
+ echo " > Updating module dependencies..."
+ depmod $(cat /usr/lib/modules/$EXTRAMODULES/version)
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_upgrade() {
+ getent group cdemu &>/dev/null || groupadd -r cdemu
+ _updatemod
+}
+
+post_remove() {
+ _updatemod
+ groupdel cdemu
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/vim-runtime/PKGBUILD b/libre/vim-runtime/PKGBUILD
new file mode 100644
index 000000000..189d67c6b
--- /dev/null
+++ b/libre/vim-runtime/PKGBUILD
@@ -0,0 +1,105 @@
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: tobias [ tobias at archlinux org ]
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+# Contributor (Parabola): Márcio Silva <coadde@parabola.nu>
+
+pkgbase=vim
+pkgname=vim-runtime
+_topver=7.4
+_patchlevel=135
+__hgrev=de28b1568fc2
+_versiondir="vim${_topver//./}"
+pkgver=${_topver}.${_patchlevel}
+pkgrel=2
+arch=('i686' 'x86_64' 'mips64el')
+license=('custom:vim')
+url="http://www.vim.org"
+makedepends=('gpm' 'python2' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2' 'lua')
+source=("ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz"
+ "ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz.sig"
+ 'vimrc'
+ 'parabola.vim')
+md5sums=('be672ce2a929503412378c998fc3dc27'
+ 'SKIP'
+ '27820c2bdc34624674c561ae6476bc6a'
+ 'a8c21928eefd766e211f987879a9199c')
+
+build() {
+ cp -a ${pkgbase}-${pkgver} vim-build
+
+ # define the place for the global (g)vimrc file (set to /etc/vimrc)
+ sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' \
+ vim-build/src/feature.h
+ sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' \
+ vim-build/src/feature.h
+
+ (cd vim-build/src && autoconf)
+
+ cd "${srcdir}"/vim-build
+
+ ./configure \
+ --prefix=/usr \
+ --localstatedir=/var/lib/vim \
+ --with-features=huge \
+ --with-compiledby='Parabola GNU/Linux-libre' \
+ --enable-gpm \
+ --enable-acl \
+ --with-x=yes \
+ --enable-gui=gtk2 \
+ --enable-multibyte \
+ --enable-cscope \
+ --enable-netbeans \
+ --enable-perlinterp \
+ --enable-pythoninterp \
+ --disable-python3interp \
+ --enable-rubyinterp \
+ --enable-luainterp
+
+ make
+}
+
+package_vim-runtime() {
+ pkgdesc='Runtime for vim and gvim (Parabola rebranded)'
+ depends=('perl' 'gawk')
+ backup=('etc/vimrc')
+
+ cd "${srcdir}"/vim-build
+
+ make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install
+
+ # delete binaries and manuals files
+ rm -vr "${pkgdir}"/usr/bin
+ rm -vr "${pkgdir}"/usr/share/man
+
+ # Don't forget logtalk.dict
+ install -Dm644 "${srcdir}"/vim-build/runtime/ftplugin/logtalk.dict \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/ftplugin/logtalk.dict
+
+ # fix FS#17216
+ sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/filetype.vim
+
+ # patch filetype.vim for better handling of pacman related files
+ sed -i "s/rpmsave/pacsave/;s/rpmnew/pacnew/;s/,\*\.ebuild/\0,PKGBUILD*,*.install/" \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/filetype.vim
+ sed -i "/find the end/,+3{s/changelog_date_entry_search/changelog_date_end_entry_search/}" \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/ftplugin/changelog.vim
+
+ # rc files
+ install -Dm644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc
+ install -Dm644 "${srcdir}"/parabola.vim \
+ "${pkgdir}"/usr/share/vim/vimfiles/parabola.vim
+
+ # rgb.txt file
+ install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/rgb.txt \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/rgb.txt
+
+ # license
+ install -dm755 "${pkgdir}"/usr/share/licenses/vim-runtime
+ ln -s /usr/share/vim/${_versiondir}/doc/uganda.txt \
+ "${pkgdir}"/usr/share/licenses/vim-runtime/license.txt
+}
+
+# vim:set sw=2 sts=2 et:
diff --git a/libre/vim-runtime/parabola.vim b/libre/vim-runtime/parabola.vim
new file mode 100644
index 000000000..bc3c1f82e
--- /dev/null
+++ b/libre/vim-runtime/parabola.vim
@@ -0,0 +1,27 @@
+" The Parabola GNU/Linux-libre global vimrc - setting only a few sane defaults
+"
+" Maintainer: Tobias Kieslich [tobias funnychar archlinux dot org]
+" Maintainer for Parabola rebranding: André Silva [emulatorman funnychar parabola dot nu]
+"
+" NEVER EDIT THIS FILE, IT'S OVERWRITTEN UPON UPGRADES, GLOBAL CONFIGURATION
+" SHALL BE DONE IN /etc/vimrc, USER SPECIFIC CONFIGURATION IN ~/.vimrc
+
+" Normally we use vim-extensions. If you want true vi-compatibility
+" remove change the following statements
+set nocompatible " Use Vim defaults instead of 100% vi compatibility
+set backspace=indent,eol,start " more powerful backspacing
+
+" Now we set some defaults for the editor
+set history=50 " keep 50 lines of command line history
+set ruler " show the cursor position all the time
+
+" Suffixes that get lower priority when doing tab completion for filenames.
+" These are files we are not likely to want to edit or read.
+set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
+
+
+if has('gui_running')
+ " Make shift-insert work like in Xterm
+ map <S-Insert> <MiddleMouse>
+ map! <S-Insert> <MiddleMouse>
+endif
diff --git a/libre/vim-runtime/vimrc b/libre/vim-runtime/vimrc
new file mode 100644
index 000000000..fc67e7eb0
--- /dev/null
+++ b/libre/vim-runtime/vimrc
@@ -0,0 +1,16 @@
+" All system-wide defaults are set in $VIMRUNTIME/parabola.vim (usually just
+" /usr/share/vim/vimfiles/parabola.vim) and sourced by the call to :runtime
+" you can find below. If you wish to change any of those settings, you should
+" do it in this file (/etc/vimrc), since parabola.vim will be overwritten
+" everytime an upgrade of the vim packages is performed. It is recommended to
+" make changes after sourcing parabola.vim since it alters the value of the
+" 'compatible' option.
+
+" This line should not be removed as it ensures that various options are
+" properly set to work with the Vim-related packages.
+runtime! parabola.vim
+
+" If you prefer the old-style vim functionalty, add 'runtime! vimrc_example.vim'
+" Or better yet, read /usr/share/vim/vim74/vimrc_example.vim or the vim manual
+" and configure vim to your own liking!
+
diff --git a/libre/vim/PKGBUILD b/libre/vim/PKGBUILD
new file mode 100644
index 000000000..ed2252afd
--- /dev/null
+++ b/libre/vim/PKGBUILD
@@ -0,0 +1,227 @@
+# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
+# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: tobias [ tobias at archlinux org ]
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgbase=vim
+pkgname=('vim' 'gvim' 'vim-runtime')
+_topver=7.4
+_patchlevel=135
+__hgrev=de28b1568fc2
+_versiondir="vim${_topver//./}"
+pkgver=${_topver}.${_patchlevel}
+pkgrel=2.1
+arch=('i686' 'x86_64')
+license=('custom:vim')
+url="http://www.vim.org"
+makedepends=('gpm' 'python2' 'ruby' 'libxt' 'desktop-file-utils' 'gtk2' 'lua')
+source=("ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz"
+ "ftp://ftp.archlinux.org/other/vim/vim-${pkgver}.tar.xz.sig"
+ 'vimrc'
+ 'parabola.vim'
+ 'gvim.desktop')
+md5sums=('be672ce2a929503412378c998fc3dc27'
+ 'SKIP'
+ '27820c2bdc34624674c561ae6476bc6a'
+ 'a8c21928eefd766e211f987879a9199c'
+ 'd90413bd21f400313a785bb4010120cd')
+
+# source PKGBUILD && mksource
+mksource() {
+ [[ -x /usr/bin/hg ]] || (echo "hg not found. Install mercurial." && return 1)
+
+ __hgroot='http://vim.googlecode.com/hg/'
+ __hgrepo='vim'
+ __hgbranch='default'
+
+ hg clone -b ${__hgbranch} -u ${__hgrev} "${__hgroot}${__hgrepo}" ${__hgrepo}
+
+ pushd ${__hgrepo}
+ if (( $(hg id -n) < $(hg id -nr ${__hgbranch}) )); then
+ printf 'You are not building the latest revision!\n'
+ printf "Consider updating __hgrev to $(hg id -r ${__hgbranch}).\n"
+ fi
+ popd
+
+ mv vim ${pkgname}-${pkgver}
+ find ${pkgname}-${pkgver} -depth -type d -name .hg -exec rm -rf {} \;
+ rm ${pkgname}-${pkgver}/{.hgignore,.hgtags}
+ tar -cJf ${pkgname}-${pkgver}.tar.xz ${pkgname}-${pkgver}/*
+ rm -r ${pkgname}-${pkgver}
+
+ gpg --detach-sign ${pkgname}-${pkgver}.tar.xz
+
+ scp ${pkgname}-${pkgver}.tar.xz nym:/srv/ftp/other/vim/
+ scp ${pkgname}-${pkgver}.tar.xz.sig nym:/srv/ftp/other/vim/
+}
+
+build() {
+ cp -a ${pkgname}-${pkgver} vim-build
+
+ # define the place for the global (g)vimrc file (set to /etc/vimrc)
+ sed -i 's|^.*\(#define SYS_.*VIMRC_FILE.*"\) .*$|\1|' \
+ vim-build/src/feature.h
+ sed -i 's|^.*\(#define VIMRC_FILE.*"\) .*$|\1|' \
+ vim-build/src/feature.h
+
+ (cd vim-build/src && autoconf)
+
+ cp -a vim-build gvim-build
+
+ cd "${srcdir}"/vim-build
+
+ ./configure \
+ --prefix=/usr \
+ --localstatedir=/var/lib/vim \
+ --with-features=huge \
+ --with-compiledby='Parabola GNU/Linux-libre' \
+ --enable-gpm \
+ --enable-acl \
+ --with-x=no \
+ --disable-gui \
+ --enable-multibyte \
+ --enable-cscope \
+ --disable-netbeans \
+ --enable-perlinterp \
+ --disable-pythoninterp \
+ --disable-python3interp \
+ --disable-rubyinterp \
+ --disable-luainterp
+
+ make
+
+ cd "${srcdir}"/gvim-build
+
+ ./configure \
+ --prefix=/usr \
+ --localstatedir=/var/lib/vim \
+ --with-features=huge \
+ --with-compiledby='Parabola GNU/Linux-libre' \
+ --enable-gpm \
+ --enable-acl \
+ --with-x=yes \
+ --enable-gui=gtk2 \
+ --enable-multibyte \
+ --enable-cscope \
+ --enable-netbeans \
+ --enable-perlinterp \
+ --enable-pythoninterp \
+ --disable-python3interp \
+ --enable-rubyinterp \
+ --enable-luainterp
+
+ make
+}
+
+check() {
+ # disable tests because they seem to freeze
+
+ cd "${srcdir}"/vim-build
+
+ #make test
+
+ cd "${srcdir}"/gvim-build
+
+ #make test
+}
+
+package_vim() {
+ pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor'
+ depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm')
+ conflicts=('gvim')
+
+ cd "${srcdir}"/vim-build
+ make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install
+
+ # provided by (n)vi in core
+ rm "${pkgdir}"/usr/bin/{ex,view}
+
+ # delete some manpages
+ find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \
+ while read _mandir; do
+ cd ${_mandir}
+ rm -f ex.1 view.1 # provided by (n)vi
+ rm -f evim.1 # this does not make sense if we have no GUI
+ done
+
+ # Runtime provided by runtime package
+ rm -r "${pkgdir}"/usr/share/vim
+
+ # license
+ install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt
+}
+
+package_gvim() {
+ pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor (with advanced features, such as a GUI)'
+ depends=("vim-runtime=${pkgver}-${pkgrel}" 'gpm' 'ruby' 'libxt'
+ 'desktop-file-utils' 'gtk2' 'lua' 'python2')
+ provides=("vim=${pkgver}-${pkgrel}")
+ conflicts=('vim')
+ install=gvim.install
+
+ cd "${srcdir}"/gvim-build
+ make -j1 VIMRCLOC=/etc DESTDIR="${pkgdir}" install
+
+ # provided by (n)vi in core
+ rm "${pkgdir}"/usr/bin/{ex,view}
+
+ # delete some manpages
+ find "${pkgdir}"/usr/share/man -type d -name 'man1' 2>/dev/null | \
+ while read _mandir; do
+ cd ${_mandir}
+ rm -f ex.1 view.1 # provided by (n)vi
+ done
+
+ # Move the runtime for later packaging
+ mv "${pkgdir}"/usr/share/vim "${srcdir}"/runtime-install
+
+ # freedesktop links
+ install -Dm644 "${srcdir}"/gvim.desktop \
+ "${pkgdir}"/usr/share/applications/gvim.desktop
+ install -Dm644 runtime/vim48x48.png "${pkgdir}"/usr/share/pixmaps/gvim.png
+
+ # license
+ install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/doc/uganda.txt \
+ "${pkgdir}"/usr/share/licenses/${pkgname}/license.txt
+}
+
+package_vim-runtime() {
+ pkgdesc='Runtime for vim and gvim (Parabola rebranded)'
+ depends=('perl' 'gawk')
+ backup=('etc/vimrc')
+
+ # Install the runtime split from gvim
+ install -dm755 "${pkgdir}"/usr/share
+ mv "${srcdir}"/runtime-install "${pkgdir}"/usr/share/vim
+
+ # Don't forget logtalk.dict
+ install -Dm644 "${srcdir}"/gvim-build/runtime/ftplugin/logtalk.dict \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/ftplugin/logtalk.dict
+
+ # fix FS#17216
+ sed -i 's|messages,/var|messages,/var/log/messages.log,/var|' \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/filetype.vim
+
+ # patch filetype.vim for better handling of pacman related files
+ sed -i "s/rpmsave/pacsave/;s/rpmnew/pacnew/;s/,\*\.ebuild/\0,PKGBUILD*,*.install/" \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/filetype.vim
+ sed -i "/find the end/,+3{s/changelog_date_entry_search/changelog_date_end_entry_search/}" \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/ftplugin/changelog.vim
+
+ # rc files
+ install -Dm644 "${srcdir}"/vimrc "${pkgdir}"/etc/vimrc
+ install -Dm644 "${srcdir}"/parabola.vim \
+ "${pkgdir}"/usr/share/vim/vimfiles/parabola.vim
+
+ # rgb.txt file
+ install -Dm644 "${srcdir}"/vim-${pkgver}/runtime/rgb.txt \
+ "${pkgdir}"/usr/share/vim/${_versiondir}/rgb.txt
+
+ # license
+ install -dm755 "${pkgdir}"/usr/share/licenses/vim-runtime
+ ln -s /usr/share/vim/${_versiondir}/doc/uganda.txt \
+ "${pkgdir}"/usr/share/licenses/vim-runtime/license.txt
+}
+
+# vim:set sw=2 sts=2 et:
diff --git a/libre/vim/gvim.desktop b/libre/vim/gvim.desktop
new file mode 100644
index 000000000..675357da5
--- /dev/null
+++ b/libre/vim/gvim.desktop
@@ -0,0 +1,63 @@
+[Desktop Entry]
+Name=Vi IMproved
+Name[bg]=Vi Ðåäàêòîð
+Name[ca]=Vi Millorat
+Name[da]=Vi forbedret
+Name[eo]=VIM
+Name[et]=Täiustatud Vi (vim)
+Name[fr]=Vi étendu (VIM)
+Name[he]=רפושמ Vi
+Name[hu]=Vi
+Name[is]=Vi IMproved ritillinn
+Name[it]=Vi iMproved
+Name[no]=Vi IMproved (forbedret VI)
+Name[pl]=Poprawiony VI (vim)
+Name[ro]=VIM
+Name[ru]=Улучшенный VI
+Name[sk]=Vi IMpreved
+Name[sl]=Izboljšani vi (vim)
+Name[sv]=Förbättrad Vi
+Name[zh_CN.GB2312]=改进的 Vi
+Comment=Powerful text editor with scripting functions and macro recorder
+Comment[bg]=Ðåäàêòîð ñ ìíîãî âúçìîæíîñòè
+Comment[ca]=Editor vi potent
+Comment[cs]=Mocný textový editor vi
+Comment[da]=En kraftig vi tekstbehandler
+Comment[de]=Ein leistungsfähiger vi-Editor
+Comment[el]=Πανίσχυρος διορθωτής vi
+Comment[eo]=VIM similas al redaktilo "vi", sed havas aldonajn ecojn
+Comment[es]=Una versión mejorada del editor vi
+Comment[et]=Võimas tekstiredaktor vi
+Comment[fi]=Tehokas vi-tekstieditori
+Comment[fr]=Éditeur vi puissant
+Comment[gl]=Potente editor vi
+Comment[he]=Vi המצועה בר ךרועה
+Comment[hr]=Napredni vi uređivač
+Comment[hu]=Vi szövegszerkesztő
+Comment[is]=Öflug útgáfa vi ritilsins
+Comment[it]=Un editor vi potenziato
+Comment[ja]=強力なViエディタ
+Comment[lt]=Galingas vi redaktorius
+Comment[mk]=Моќен VI уредувач
+Comment[nl]=Krachtige vi-editor
+Comment[no]=En kraftig vi-redigerer
+Comment[no_NY]=Kraftig vi-tekstredigeringsprogram
+Comment[pl]=Edytor vi
+Comment[pt]=Um poderoso editor de texto
+Comment[ro]=Un editor de texte VI, puternic
+Comment[ru]=Мощный текстовый редактор vi
+Comment[sk]=Silný textový procesor vi
+Comment[sl]=Zmogljivi urejevalnik vi
+Comment[sr]=Moćni vi editor
+Comment[sv]=En kraftfull texteditor
+Comment[ta]=ºì¾¢Å¡öó¾ vi ¦¾¡ÌôÀ¡Ç÷
+Comment[tr]=Güçlü vi düzenleyicisi
+Comment[uk]=Потужний редактор vi
+Comment[zh_CN.GB2312]=功能强大的 vi 编辑器
+MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
+Exec=gvim -f %F
+Icon=gvim
+Type=Application
+Terminal=false
+X-XClassHintResName=VIM
+Categories=Utility;TextEditor;
diff --git a/libre/vim/gvim.install b/libre/vim/gvim.install
new file mode 100644
index 000000000..2eaa60550
--- /dev/null
+++ b/libre/vim/gvim.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/libre/vim/parabola.vim b/libre/vim/parabola.vim
new file mode 100644
index 000000000..bc3c1f82e
--- /dev/null
+++ b/libre/vim/parabola.vim
@@ -0,0 +1,27 @@
+" The Parabola GNU/Linux-libre global vimrc - setting only a few sane defaults
+"
+" Maintainer: Tobias Kieslich [tobias funnychar archlinux dot org]
+" Maintainer for Parabola rebranding: André Silva [emulatorman funnychar parabola dot nu]
+"
+" NEVER EDIT THIS FILE, IT'S OVERWRITTEN UPON UPGRADES, GLOBAL CONFIGURATION
+" SHALL BE DONE IN /etc/vimrc, USER SPECIFIC CONFIGURATION IN ~/.vimrc
+
+" Normally we use vim-extensions. If you want true vi-compatibility
+" remove change the following statements
+set nocompatible " Use Vim defaults instead of 100% vi compatibility
+set backspace=indent,eol,start " more powerful backspacing
+
+" Now we set some defaults for the editor
+set history=50 " keep 50 lines of command line history
+set ruler " show the cursor position all the time
+
+" Suffixes that get lower priority when doing tab completion for filenames.
+" These are files we are not likely to want to edit or read.
+set suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
+
+
+if has('gui_running')
+ " Make shift-insert work like in Xterm
+ map <S-Insert> <MiddleMouse>
+ map! <S-Insert> <MiddleMouse>
+endif
diff --git a/libre/vim/vimrc b/libre/vim/vimrc
new file mode 100644
index 000000000..fc67e7eb0
--- /dev/null
+++ b/libre/vim/vimrc
@@ -0,0 +1,16 @@
+" All system-wide defaults are set in $VIMRUNTIME/parabola.vim (usually just
+" /usr/share/vim/vimfiles/parabola.vim) and sourced by the call to :runtime
+" you can find below. If you wish to change any of those settings, you should
+" do it in this file (/etc/vimrc), since parabola.vim will be overwritten
+" everytime an upgrade of the vim packages is performed. It is recommended to
+" make changes after sourcing parabola.vim since it alters the value of the
+" 'compatible' option.
+
+" This line should not be removed as it ensures that various options are
+" properly set to work with the Vim-related packages.
+runtime! parabola.vim
+
+" If you prefer the old-style vim functionalty, add 'runtime! vimrc_example.vim'
+" Or better yet, read /usr/share/vim/vim74/vimrc_example.vim or the vim manual
+" and configure vim to your own liking!
+
diff --git a/libre/webmin/PKGBUILD b/libre/webmin/PKGBUILD
new file mode 100644
index 000000000..824c7da2b
--- /dev/null
+++ b/libre/webmin/PKGBUILD
@@ -0,0 +1,216 @@
+# $Id: PKGBUILD 195997 2013-10-07 10:38:56Z tpowa $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+pkgname=webmin
+pkgver=1.660
+pkgrel=1.1
+pkgdesc="a web-based interface for system administration (Parabola rebranded)"
+arch=(i686 x86_64 mips64el)
+license=('custom:webmin')
+url="http://www.webmin.com/"
+depends=('perl' 'perl-perl4-corelibs')
+makedepends=('perl-net-ssleay')
+backup=('etc/webmin/miniserv.conf' 'etc/webmin/miniserv.users' 'etc/webmin/config' 'etc/webmin/webmin.cats' \
+'etc/webmin/pacman/config' \
+'etc/webmin/at/config' \
+'etc/webmin/acl/config' \
+'etc/webmin/lvm/config' \
+'etc/webmin/net/config' \
+'etc/webmin/nis/config' \
+'etc/webmin/pam/config' \
+'etc/webmin/cron/config' \
+'etc/webmin/file/config' \
+'etc/webmin/grub/config' \
+'etc/webmin/init/config' \
+'etc/webmin/ipfw/config' \
+'etc/webmin/lilo/config' \
+'etc/webmin/proc/config' \
+'etc/webmin/raid/config' \
+'etc/webmin/spam/config' \
+'etc/webmin/sshd/config' \
+'etc/webmin/time/config' \
+'etc/webmin/cluster-passwd/config' \
+'etc/webmin/software/config' \
+'etc/webmin/webminlog/config' \
+'etc/webmin/cluster-webmin/config' \
+'etc/webmin/bind8/config' \
+'etc/webmin/dhcpd/config' \
+'etc/webmin/fdisk/config' \
+'etc/webmin/mount/config' \
+'etc/webmin/mysql/config' \
+'etc/webmin/quota/config' \
+'etc/webmin/samba/config' \
+'etc/webmin/shell/config' \
+'etc/webmin/squid/config' \
+'etc/webmin/adsl-client/config' \
+'etc/webmin/servers/config' \
+'etc/webmin/cluster-shell/config' \
+'etc/webmin/bandwidth/config' \
+'etc/webmin/ppp-client/config' \
+'etc/webmin/lpadmin/config' \
+'etc/webmin/apache/config' \
+'etc/webmin/firewall/config' \
+'etc/webmin/stunnel/config' \
+'etc/webmin/burner/config' \
+'etc/webmin/exports/config' \
+'etc/webmin/backup-config/config' \
+'etc/webmin/custom/config' \
+'etc/webmin/htaccess-htpasswd/config' \
+'etc/webmin/logrotate/config' \
+'etc/webmin/format/config' \
+'etc/webmin/fsdump/config' \
+'etc/webmin/passwd/config' \
+'etc/webmin/cluster-useradmin/config' \
+'etc/webmin/cluster-software/config' \
+'etc/webmin/cluster-copy/config' \
+'etc/webmin/cluster-cron/config' \
+'etc/webmin/telnet/config' \
+'etc/webmin/status/config' \
+'etc/webmin/syslog/config' \
+'etc/webmin/updown/config' \
+'etc/webmin/usermin/config' \
+'etc/webmin/webmin/config' \
+'etc/webmin/xinetd/config' \
+'etc/webmin/openslp/config' \
+'etc/webmin/procmail/config' \
+'etc/webmin/fetchmail/config' \
+'etc/webmin/postgresql/config' \
+'etc/webmin/useradmin/config' \
+'etc/webmin/mailboxes/config' \
+'etc/webmin/inittab/config' \
+'etc/webmin/change-user/config' \
+'etc/webmin/postfix/config' \
+'etc/webmin/proftpd/config' \
+'etc/webmin/pserver/config' \
+'etc/webmin/dnsadmin/config' )
+install=webmin.install
+source=(http://downloads.sourceforge.net/sourceforge/webadmin/$pkgname-$pkgver.tar.gz
+ ftp://ftp.archlinux.org/other/webmin/webmin-config.tar.bz2
+ ftp://ftp.archlinux.org/other/webmin/webmin-pacman.tar.bz2
+ webmin.service)
+options=(!strip)
+
+package() {
+ # NOTE: USE --asroot build option to avoid fakeroot error!
+ cd "$srcdir"/$pkgname-$pkgver
+ # add patches from webmin.com
+ #for i in ../*.wbm
+ #do tar xvf $i
+ #done
+ #for i in ../*.wbt
+ #do tar xvf $i
+ #done
+ # delete stuff that's not needed
+ rm -f mount/freebsd-mounts*
+ rm -f mount/openbsd-mounts*
+ rm -f mount/macos-mounts*
+
+ # remove modules we do not support
+ rm -rf {bacula-backup,ldap-useradmin,mon,sentry,frox,jabber,majordomo,qmail,sendmail,sarg,wuftpd,webalizer,inetd,ipsec,pap,pptp-client,pptp-server,shorewall,smart-status,vgetty,heartbeat,cfengine,cpan,sgiexports,hpuxexports,qmailadmin,bsdexports,dfsadmin}
+
+ #remove config files from other distros
+ rm -f $(find . ! -name 'config-generic-linux' ! -name 'config-\*-linux' ! -name 'config-lib.pl' -name 'config-*')
+
+ # remove caldera theme
+ rm -rf caldera
+
+ # remove init-scripts from other distros
+ rm webmin-gentoo-init
+ rm webmin-init
+ rm webmin-caldera-init
+ rm webmin-daemon
+
+ # remove update stuff to avoid problems with updating webmin,modules and themes without pacman
+ rm -f webmin/{update.cgi,update.pl,update_sched.cgi,upgrade.cgi,edit_upgrade.cgi,install_mod.cgi,delete_mod.cgi,install_theme.cgi}
+ rm -f usermin/{upgrade.cgi,update.cgi,update.pl,edit_upgrade.cgi,install_mod.cgi,delete_mod.cgi,install_theme.cgi}
+
+ # remove modules add because we don't want files installed without pacman control
+ rm -f webmin/{install_mod.cgi,delete_mod.cgi}
+
+ # setting perl path
+ (find . -name '*.cgi' ; find . -name '*.pl') | perl perlpath.pl /usr/bin/perl -
+
+ # create dirs
+ mkdir -p "$pkgdir"/opt/webmin
+ mkdir -p "$pkgdir"/var/log/webmin
+ mkdir -p "$pkgdir"/etc/webmin
+
+ # install pam stuff
+ install -D -m 644 webmin-pam "$pkgdir"/etc/pam.d/webmin
+
+ # remove other distros and add only Parabola GNU/Linux-libre don't change next line else it will not work!
+ rm os_list.txt
+ echo 'Parabola GNU/linux-libre Any version generic-linux * -d "/etc/pacman.d"' >> os_list.txt
+
+ # Add rc.conf support to boot and shutdown menu and lock editing of this module
+ cd init/
+ sed -i -e 's:^local_down=.*:local_down=Parabola GNU/Linux-libre RC.CONF,3,None:g' $(find . ! -name 'config.info.pl' -name 'config.info*')
+ sed -i -e 's:^local_script=.*:local_script=Parabola GNU/Linux-libre RC.LOCAL,3,None:g' $(find . ! -name 'config.info.pl' -name 'config.info*')
+ sed -i -e 's:^index_downscript=.*:index_downscript=Parabola GNU/Linux-libre RC.CONF:g' lang/*
+ sed -i -e 's:^index_script=.*:index_script=Parabola GNU/Linux-libre RC.LOCAL:g' lang/*
+ sed -i -e 's:^noconfig=0:noconfig=1:g' defaultacl
+
+ # Add pacman menu
+ cd "$srcdir"/$pkgname-$pkgver
+ cp -rf custom/ pacman
+ cp -rf mscstyle3/custom mscstyle3/pacman
+ sed -i -e 's:^noconfig=0:noconfig=1:g' -e 's:^edit=1:edit=0:g' pacman/defaultacl
+ sed -i -e '/desc/d' -e '/longdesc/d' pacman/module.info
+ sed -i -e 's:^name=Custom:name=Pacman:g' pacman/module.info
+ echo 'category=system' >> pacman/module.info
+ echo 'desc=Pacman' >> pacman/module.info
+ sed -i -e 's:^index_title=.*:index_title=Pacman:g' pacman/lang/*
+
+ # copy stuff to right dirs
+ cd "$srcdir"/$pkgname-$pkgver
+ cp -rp * "$pkgdir"/opt/webmin
+ cd "$srcdir"/webmin-config
+ cp -rfp * "$pkgdir"/opt/webmin
+
+ # define parameters for setup.sh
+ config_dir="$pkgdir"/etc/webmin
+ var_dir="$pkgdir"/var/log/webmin
+ perl=/usr/bin/perl
+ autoos=1
+ port=10000
+ login=root
+ crypt="XXX"
+ ssl=1
+ atboot=0
+ nostart=1
+ nochown=1
+ autothird=1
+ nouninstall=1
+ noperlpath=1
+ atbootyn=n
+ tempdir="$pkgdir"/tmp
+ export config_dir var_dir perl autoos port tempdir login crypt ssl nochown autothird nouninstall nostart noperlpath atbootyn
+
+ # Fix setup.sh
+ sed -i -e 's:read atbootyn::g' -e 's:exit 13::g' "$pkgdir"/opt/webmin/setup.sh
+ "$pkgdir"/opt/webmin/setup.sh
+
+ # Fixup the config files to use their real locations
+ sed -i 's:^pidfile=.*$:pidfile=/var/run/webmin.pid:' "$pkgdir"/etc/webmin/miniserv.conf
+ find "$pkgdir"/etc/webmin -type f -exec sed -i "s:$pkgdir::g" {} \;
+
+ # make it only accessible by localhost
+ echo 'allow=127.0.0.1' >> "$pkgdir"/etc/webmin/miniserv.conf
+
+ # install pacman menu
+ cd "$srcdir"/webmin-pacman/config
+ cp -rfp * "$pkgdir"/etc/webmin/pacman
+
+ # install systemd files
+ install -D -m 644 $srcdir/webmin.service $pkgdir/usr/lib/systemd/system/webmin.service
+
+ # delete temp dir
+ rm -r "$pkgdir"/tmp
+ # change sticky bit
+ chmod 0644 $pkgdir/opt/webmin/man/config-generic-linux
+ # install license
+ install -m 644 -D "$srcdir"/$pkgname-$pkgver/LICENCE "$pkgdir"/usr/share/licenses/webmin/LICENCE
+}
+md5sums=('56a685a665b864470eeb7ce6b97961d8'
+ 'b0b3e3fb231a12e60165b6b4d604dcfa'
+ 'c86518037449e0fc0c60fc24537ea038'
+ 'fc29ecb6a5cd8c278abe054e60381095')
diff --git a/libre/webmin/webmin.install b/libre/webmin/webmin.install
new file mode 100644
index 000000000..efdd9291d
--- /dev/null
+++ b/libre/webmin/webmin.install
@@ -0,0 +1,35 @@
+# arg 1: the new package version
+post_install() {
+ local crypt=$(grep "^root:" ${ROOT}/etc/shadow | cut -f 2 -d :)
+ crypt=${crypt//\\/\\\\}
+ crypt=${crypt//\//\\\/}
+ sed -i "s/root:XXX/root:${crypt}/" /etc/webmin/miniserv.users
+
+cat << EOF
+Note:
+==> It is not allowed to install 3rd party modules, or delete existing modules.
+==> Please write your own PKGBUILDS for 3rd party modules and additional themes.
+Setup:
+==> To make webmin start at boot time, add webmin to rc.conf daemons
+==> Point your web browser to http://localhost:10000 to use webmin.
+==> The access is restricted to localhost, if you want to connect from other locations
+==> change /etc/webmin/miniserv.conf to something like that: allow=127.0.0.1 <your-ip>
+==> If you want to have ssl encryption please install 'perl-net-ssleay' additional.
+EOF
+# fix man module
+ cd /opt/webmin/man
+ for i in $(find . -name '*.gz'); do
+ gzip -df $i
+ done
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ # uninstall unzipped files
+ rm -r /opt/webmin/man
+}
diff --git a/libre/webmin/webmin.service b/libre/webmin/webmin.service
new file mode 100644
index 000000000..a8a384a8c
--- /dev/null
+++ b/libre/webmin/webmin.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Webmin
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/etc/webmin/start
+ExecStop=/etc/webmin/stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/wings3d-libre/PKGBUILD b/libre/wings3d-libre/PKGBUILD
new file mode 100644
index 000000000..1f750dfc4
--- /dev/null
+++ b/libre/wings3d-libre/PKGBUILD
@@ -0,0 +1,65 @@
+# $Id: PKGBUILD 95697 2013-08-15 18:20:27Z arodseth $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: kappa <kappacurve@gmail.com>
+# Maintainer (Parabola): Márcio Silva <coadde@parabola.nu>
+
+_name=wings
+_pkgname=${_name}3d
+pkgname=$_pkgname-libre
+pkgver=1.5.2
+pkgrel=1.1
+pkgdesc='3D modeling program, without nonfree kerkythea render support'
+arch=('x86_64' 'i686' 'mips64el')
+url='http://www.wings3d.com/'
+license=('GPL')
+depends=('erlang-sdl' 'erlang-cl' 'bash' 'desktop-file-utils' 'erlang')
+makedepends=('gendesk')
+optdepends=('povray: rendering support via POV-Ray')
+provides=("$_pkgname")
+conflicts=("$_pkgname")
+replaces=("$_pkgname")
+install=$_pkgname.install
+source=("$_pkgname-$pkgver.tar.gz::https://github.com/dgud/wings/archive/v$pkgver.tar.gz"
+ "$_pkgname.sh"
+ "$_pkgname.png::http://img299.imageshack.us/img299/2538/wingsiconblackshiningew5.png")
+sha256sums=('d86980e4fa91a04ca96b989b0dcba53a37c8cfda4e6d98accb8e7bd9a289094b'
+ '46513cd05f8b6e778120af4a87b239c5250799c17b591592893d98cbf082359e'
+ '6658977cc3bc8db2c9358edf3a2d6cb6bb8084c9a1d96ca573a83dd4e8781f1a')
+
+prepare() {
+ gendesk --pkgname "$_pkgname" --pkgdesc "$pkgdesc" \
+ --genericname '3D Modeler' --categories 'Graphics;3DGraphics'
+
+ cd "$_name-$pkgver"
+ sed -i "s|v1[.]2[.]x[.]y[.]WINGS|v$pkgver.$pkgrel.PARABOLA|" WINGS-VERSION-GEN
+}
+
+build() {
+ cd "$_name-$pkgver"
+
+ export ESDL_PATH=$(echo /usr/lib/erlang/lib/esdl-*)
+ make
+ make lang
+}
+
+package() {
+ cd "$_name-$pkgver"
+
+ mkdir -p "$pkgdir/usr/lib/$_pkgname"
+ for subdir in ebin fonts patches plugins shaders textures; do
+ cp -r "$srcdir/$_name-$pkgver/$subdir/" "$pkgdir/usr/lib/$_pkgname"
+ done
+ cd "$srcdir"
+ install -Dm755 "$_pkgname.sh" "$pkgdir/usr/bin/$_pkgname"
+ install -Dm644 "$_pkgname.png" "$pkgdir/usr/share/pixmaps/$_pkgname.png"
+ install -Dm644 "$_pkgname.desktop" \
+ "$pkgdir/usr/share/applications/$_pkgname.desktop"
+
+ msg 'remove nonfree kerkythea render support plugin'
+ rm -v $pkgdir/usr/lib/wings3d/plugins/import_export/wpc_kerky.beam
+
+ msg 'remove obsolete yafray render support plugin'
+ rm -v $pkgdir/usr/lib/wings3d/plugins/import_export/wpc_yafray{.beam,_{de,en,fr,ko}.lang}
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/wings3d-libre/wings3d.install b/libre/wings3d-libre/wings3d.install
new file mode 100644
index 000000000..98f3ea190
--- /dev/null
+++ b/libre/wings3d-libre/wings3d.install
@@ -0,0 +1,14 @@
+post_upgrade() {
+ #gtk-update-icon-cache -q -f -t /usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_install() {
+ post_upgrade
+}
+
+post_remove() {
+ post_upgrade
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/wings3d-libre/wings3d.png b/libre/wings3d-libre/wings3d.png
new file mode 100644
index 000000000..1fe6579dc
--- /dev/null
+++ b/libre/wings3d-libre/wings3d.png
Binary files differ
diff --git a/libre/wings3d-libre/wings3d.sh b/libre/wings3d-libre/wings3d.sh
new file mode 100644
index 000000000..c0fd3b2fb
--- /dev/null
+++ b/libre/wings3d-libre/wings3d.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+erl -noinput -smp disable -pa /usr/lib/erlang/lib/esdl-*/ebin /usr/lib/wings3d/ebin -run wings_start start_halt ${1+"$@"}
diff --git a/libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch b/libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch
new file mode 100644
index 000000000..f7ff098c0
--- /dev/null
+++ b/libre/xarchiver-libre/xarchiver-0.5.2-fix_7z_support.patch
@@ -0,0 +1,110 @@
+diff -Nur xarchiver-0.5.2.orig/src/7zip.c xarchiver-0.5.2/src/7zip.c
+--- xarchiver-0.5.2.orig/src/7zip.c 2008-10-25 00:41:17.000000000 +1300
++++ xarchiver-0.5.2/src/7zip.c 2010-12-15 11:24:26.000000000 +1300
+@@ -64,15 +64,14 @@
+ XEntry *entry;
+ gchar *filename;
+ gpointer item[5];
+- gint linesize = 0,n = 0,a = 0;
+- gboolean dir = FALSE;
++ gint linesize = 0,a = 0;
+
+ if (last_line)
+ return;
+
+ if (jump_header == FALSE)
+ {
+- if (line[0] == '-')
++ if ((line[0] == '-') && (line[3] != NULL))
+ {
+ jump_header = TRUE;
+ return;
+@@ -93,71 +92,42 @@
+ item[4] = line;
+
+ /* Time */
+- for(n=13; n < linesize; ++n)
+- if(line[n] == ' ')
+- break;
+- line[n] = '\0';
++ line[19] = '\0';
+ item[3] = line + 11;
+- a = ++n;
+
+ /* Permissions */
+- for(; n < linesize; n++)
+- if(line[n] == ' ')
+- break;
+- line[n] = '\0';
+- if ((line+a)[0] == 'D')
+- dir = TRUE;
+- item[2] = line + a;
++ line[25] = '\0';
++ item[2] = line + 20;
+
+ /* Size */
+- for(++n; n < linesize; ++n)
+- if(line[n] >= '0' && line[n] <= '9')
++ for(a=26; a < linesize; ++a)
++ if(line[a] >= '0' && line[a] <= '9')
+ break;
+- a = n;
+
+- for(; n < linesize; ++n)
+- if(line[n] == ' ')
+- break;
+-
+- line[n] = '\0';
++ line[38] = '\0';
+ item[0] = line + a;
+ archive->dummy_size += g_ascii_strtoull(item[0],NULL,0);
+
+ /* Compressed */
+- for(++n; n < linesize; ++n)
+- if(line[n] >= '0' && line[n] <= '9')
+- break;
+- a = n;
+-
+- for(; n < linesize; ++n)
+- if(line[n] == ' ')
+- break;
+-
+- line[n] = '\0';
+-
+- if (line[50] != ' ')
++ /* Is this item solid? */
++ if (line[50] == ' ')
+ {
+- n+=2;
+- item[1] = line + a;
+ line[linesize-1] = '\0';
+- filename = g_strdup(line + n);
++ filename = g_strdup(line + 53);
+ }
+- /* Is this a solid archive? */
++
+ else
+ {
+- item[1] = "0";
+- line[n-1] = '\0';
++ for(a=39; a < linesize; ++a)
++ if(line[a] >= '0' && line[a] <= '9')
++ break;
++
++ line[51] = '\0';
++ item[1] = line + a;
++ line[linesize-1] = '\0';
+ filename = g_strdup(line + 53);
+ }
+
+- /* Work around for 7za which doesn't
+- * output / with directories */
+- if (dir)
+- {
+- gchar *filename_with_slash = g_strconcat (filename,"/",NULL);
+- g_free (filename);
+- filename = filename_with_slash;
+- }
+ entry = xa_set_archive_entries_for_each_row (archive,filename,item);
+ g_free(filename);
+ }
diff --git a/libre/xarchiver-libre/xarchiver-0.5.2-rpm2cpio.patch b/libre/xarchiver-libre/xarchiver-0.5.2-rpm2cpio.patch
new file mode 100644
index 000000000..d962a44af
--- /dev/null
+++ b/libre/xarchiver-libre/xarchiver-0.5.2-rpm2cpio.patch
@@ -0,0 +1,84 @@
+diff -up ./src/rpm.c.rpm2cpio ./src/rpm.c
+--- ./src/rpm.c.rpm2cpio 2008-10-24 13:43:04.000000000 +0200
++++ ./src/rpm.c 2011-03-27 03:14:20.225742237 +0200
+@@ -23,11 +23,8 @@ extern gboolean batch_mode;
+
+ void xa_open_rpm (XArchive *archive)
+ {
+- unsigned char bytes[8];
+ unsigned short int i;
+- int dl,il,sigsize,offset,response;
+- gchar *ibs,*executable;
+- gchar *gzip_tmp = NULL;
++ int response;
+ GSList *list = NULL;
+ FILE *stream;
+ gboolean result;
+@@ -56,66 +53,14 @@ void xa_open_rpm (XArchive *archive)
+ archive->column_types[i] = types[i];
+
+ xa_create_liststore (archive,names);
+- if (fseek ( stream, 104 , SEEK_CUR ) )
+- {
+- fclose (stream);
+- response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't fseek to position 104:"),g_strerror(errno));
+- return;
+- }
+- if ( fread ( bytes, 1, 8, stream ) == 0 )
+- {
+- fclose ( stream );
+- response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't read data from file:"),g_strerror(errno));
+- return;
+- }
+- il = 256 * ( 256 * ( 256 * bytes[0] + bytes[1]) + bytes[2] ) + bytes[3];
+- dl = 256 * ( 256 * ( 256 * bytes[4] + bytes[5]) + bytes[6] ) + bytes[7];
+- sigsize = 8 + 16 * il + dl;
+- offset = 104 + sigsize + ( 8 - ( sigsize % 8 ) ) % 8 + 8;
+- if (fseek ( stream, offset , SEEK_SET ) )
+- {
+- fclose (stream);
+- response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't fseek in file:"),g_strerror(errno));
+- return;
+- }
+- if ( fread ( bytes, 1, 8, stream ) == 0 )
+- {
+- fclose ( stream );
+- response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't read data from file:"),g_strerror(errno));
+- return;
+- }
+- il = 256 * ( 256 * ( 256 * bytes[0] + bytes[1]) + bytes[2] ) + bytes[3];
+- dl = 256 * ( 256 * ( 256 * bytes[4] + bytes[5]) + bytes[6] ) + bytes[7];
+- sigsize = 8 + 16 * il + dl;
+- offset = offset + sigsize;
+- fclose (stream);
+
+ /* Create a unique temp dir in /tmp */
+ result = xa_create_temp_directory (archive);
+ if (!result)
+ return;
+
+- gzip_tmp = g_strconcat (archive->tmp,"/file.gz_bz",NULL);
+- ibs = g_strdup_printf ( "%u" , offset );
+-
+ /* Now I run dd to have the bzip2 / gzip compressed cpio archive in /tmp */
+- gchar *command = g_strconcat ( "dd if=",archive->escaped_path," ibs=",ibs," skip=1 of=",gzip_tmp,NULL);
+- g_free (ibs);
+- list = g_slist_append(list,command);
+- batch_mode = TRUE;
+- result = xa_run_command (archive,list);
+- if (result == FALSE)
+- {
+- g_free (gzip_tmp);
+- return;
+- }
+- if (xa_detect_archive_type (gzip_tmp) == XARCHIVETYPE_GZIP)
+- executable = "gzip -dc ";
+- else
+- executable = "bzip2 -dc ";
+-
+- command = g_strconcat("sh -c \"",executable,gzip_tmp," > ",archive->tmp,"/file.cpio\"",NULL);
+- g_free(gzip_tmp);
++ gchar *command = g_strconcat ( "sh -c \"rpm2cpio ",archive->escaped_path," > ",archive->tmp, "/file.cpio\"",NULL);
+ list = NULL;
+ list = g_slist_append(list,command);
+ result = xa_run_command (archive,list);
diff --git a/libre/xarchiver-libre/xarchiver-0.5.2-segfault-open-with.patch b/libre/xarchiver-libre/xarchiver-0.5.2-segfault-open-with.patch
new file mode 100644
index 000000000..e29d40c41
--- /dev/null
+++ b/libre/xarchiver-libre/xarchiver-0.5.2-segfault-open-with.patch
@@ -0,0 +1,15 @@
+diff -pur xarchiver-0.5.2/src/open-with-dlg.c xarchiver-0.5.2.new/src/open-with-dlg.c
+--- xarchiver-0.5.2/src/open-with-dlg.c 2008-10-17 14:06:03.000000000 +0200
++++ xarchiver-0.5.2.new/src/open-with-dlg.c 2011-05-16 21:48:49.042839556 +0200
+@@ -289,7 +289,10 @@ static void xa_open_with_dialog_selectio
+ GtkTreeIter iter;
+ GtkTreeModel *model;
+
+- gtk_tree_selection_get_selected(selection,&model,&iter);
++ if (!gtk_tree_selection_get_selected(selection,&model,&iter)) {
++ return;
++ }
++
+ gtk_tree_model_get(model,&iter,2,&exec,-1);
+
+ gtk_entry_set_text(GTK_ENTRY(data->custom_command_entry),exec);
diff --git a/libre/xarchiver-libre/xarchiver.install b/libre/xarchiver-libre/xarchiver.install
new file mode 100644
index 000000000..c317fbaca
--- /dev/null
+++ b/libre/xarchiver-libre/xarchiver.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/libre/xbmc-libre/ChangeLog b/libre/xbmc-libre/ChangeLog
new file mode 100644
index 000000000..66ae97e3b
--- /dev/null
+++ b/libre/xbmc-libre/ChangeLog
@@ -0,0 +1,69 @@
+2010-04-10 BlackEagle <ike DOT devolder AT gmail DOT com>
+ * 9.11-15 :
+ Made it back compliant with FHS ( thx pierre for pointing that out )
+ namcap checked and modified to fit its needs as far as it was possible
+
+2009-03-07 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-10 :
+ Try and fix some autoconf issues (thanks Gentoo ebuild).
+
+2009-02-08 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-9 :
+ Replace some libtool 'ltmain.sh' scripts with the one from libtool
+ installed with Arch.
+ Make sure XBMCTex isn't linked to OpenGL libraries or it will segfault
+ on systems using the nvidia driver.
+
+2009-01-30 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-8 :
+ Fix some include's so that gcc 4.3.x is happy, shouldn't complain about
+ undefined '::realloc' anymore.
+ Remove Mac OS X specific files.
+
+2009-01-25 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-7 :
+ Moved libcdio, pmount, smbclient and unrar to optdepends.
+ Removed unneeded dependency on sdl_gfx.
+ Removed dependency on libpng as sdl_image depends on it.
+
+2008-12-14 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-6 :
+ Added libpng to dependency list.
+ Added gawk to dependency list.
+ Removed '--disable-mms' and '--enable-halmount' configure flags as they
+ are not mentioned as supported in the configure script.
+
+2008-12-06 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-5 :
+ Added libmad to the dependency list.
+ Streamripper 1.64.0+ does not include tre anymore, removed streamripper
+ and added tre instead.
+ Removed subversion from makedepends.
+
+2008-12-06 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-4 :
+ Fix permissions for some more scripts, ffmpeg/texi2doc.pl should not
+ fail any longer.
+
+2008-12-05 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-3 :
+ Added lirc to the optdepends array.
+
+2008-11-26 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-2 :
+ Added install file which informs users that a display depth of at
+ least 24-bit is required.
+
+2008-11-17 [vEX] <niechift.dot.vex.at.gmail.dot.com>
+
+ * 8.10-1 :
+ Initial package, based on previous work by Zeqadious.
diff --git a/libre/xbmc-libre/PKGBUILD b/libre/xbmc-libre/PKGBUILD
index 623914f4e..a565c8421 100644
--- a/libre/xbmc-libre/PKGBUILD
+++ b/libre/xbmc-libre/PKGBUILD
@@ -11,7 +11,7 @@ _pkgname=xbmc
pkgname=xbmc-libre
pkgver=12.3
_codename=Frodo
-pkgrel=8
+pkgrel=8.1
pkgdesc="A software media player and entertainment hub for digital media, with libarchive recommendation"
arch=('i686' 'x86_64')
url="http://xbmc.org"
@@ -25,7 +25,7 @@ depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva'
makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec'
'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment')
optdepends=('libcec: support for Pulse-Eight USB-CEC adapter'
- 'lirc-libre: remote controller support'
+ 'lirc: remote controller support'
'udisks: automount external drives'
'upower: used to trigger power management functionality'
'libarchive: access compressed files without unpacking them'
diff --git a/libre/xbmc-libre/xbmc.service b/libre/xbmc-libre/xbmc.service
new file mode 100644
index 000000000..b6430e255
--- /dev/null
+++ b/libre/xbmc-libre/xbmc.service
@@ -0,0 +1,13 @@
+[Unit]
+Description = Starts instance of XBMC using xinit
+After = remote-fs.target
+
+[Service]
+User = xbmc
+Group = xbmc
+Type = simple
+ExecStart = /usr/bin/xinit /usr/bin/xbmc-standalone -l /run/lirc/lircd -- :0 -nolisten tcp
+Restart = on-abort
+
+[Install]
+WantedBy = multi-user.target
diff --git a/libre/xchat-libre/ChangeLog b/libre/xchat-libre/ChangeLog
new file mode 100644
index 000000000..faa8383c8
--- /dev/null
+++ b/libre/xchat-libre/ChangeLog
@@ -0,0 +1,49 @@
+2010-08-21 Eric Belanger <eric@archlinux.org>
+
+ * xchat 2.8.8-3
+ * Rebuilt for python2
+
+2010-08-13 Ionut Biru <ibiru@archlinux.org>
+
+ * xchat 2.8.8-2
+ * perl 5.12 rebuild
+
+2010-05-30 Eric Belanger <eric@archlinux.org>
+
+ * xchat 2.8.8-1
+ * Upstream update
+ * Added python optdepends
+ * Removed old patches
+
+2010-03-29 Eric Belanger <eric@archlinux.org>
+
+ * Fixed buttons hotkey (close FS#17076)
+
+2009-09-30 Eric Belanger <eric@archlinux.org>
+
+ * xchat 2.8.6-5
+ * Rebuilt against perl 5.10.1-3
+
+2009-09-28 Eric Belanger <eric@archlinux.org>
+
+ * xchat 2.8.6-4
+ * Fixed crash when transparent background is enabled (close FS#15360)
+
+2008-11-08 Eric Belanger <eric@archlinux.org>
+
+ * xchat 2.8.6-3
+ * Rebuild for python-2.6 (close FS#11998)
+ * Applied gtk2 patch
+
+2008-09-05 Eric Belanger <eric@archlinux.org>
+
+ * xchat 2.8.6-2
+ * Applied upstream maintenance patch
+ * Added tcl optdepends
+
+2008-06-13 Eric Belanger <eric@archlinux.org>
+
+ * xchat 2.8.6-1
+ * Upstream update
+ * Added spell checking support (close FS#10395)
+ * Added ChangeLog
diff --git a/libre/xchat-libre/PKGBUILD b/libre/xchat-libre/PKGBUILD
new file mode 100644
index 000000000..4f962dcb3
--- /dev/null
+++ b/libre/xchat-libre/PKGBUILD
@@ -0,0 +1,68 @@
+# $Id: PKGBUILD 186065 2013-05-20 20:17:32Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+# Maintainer (ConnochaetOS): Henry Jensen <hjensen@connochaetos.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=xchat
+pkgname=xchat-libre
+pkgver=2.8.8
+pkgrel=13
+pkgdesc="A GTK+ based IRC client, without nonfree browser reference"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.xchat.org/"
+provides=("xchat=$pkgver")
+replaces=('xchat')
+conflicts=('xchat')
+license=('GPL')
+depends=('gtk2' 'openssl' 'dbus-glib' 'libnotify' 'hicolor-icon-theme')
+makedepends=('tcl' 'perl' 'python2' 'librsvg')
+optdepends=('enchant: for spell checking support' 'tcl: for tcl plugin'
+ 'python2: for python plugin')
+options=('!libtool')
+install=xchat.install
+source=(http://www.xchat.org/files/source/${pkgver%.*}/${_pkgname}-${pkgver}.tar.xz
+ http://xchat.org/files/icons/xchat-svg.tar.bz2
+ xchat-2.8.8-libnotify07.patch
+ xchat-2.8.8-link-against-libnotify.patch
+ xchat-2.8.8-glib-2.31.patch
+ remove-non-free-suggestion.patch
+ no-firefox.patch)
+sha1sums=('e12305da42d1aacc26c2ca25e239f393d4dd3532'
+ '0d366346cc11e0efb57fc2648fe423c94a3469bd'
+ 'a053fba4e1911d1ee6a8248fe19e344797920fe3'
+ '70c3cc29fc55ff35f701ef8ac23078b6e3761ce1'
+ 'aecaf6176a7cfd62555207b02f2793b360aa39da'
+ 'e6a3b69ba333fc7ba0f70792d78d44fba7c4a911'
+ '20aef0ae608af6b30e1b4249f9c53830f8f514f6')
+
+prepare() {
+ cd ${_pkgname}-${pkgver}
+ sed -i 's/GDK_HAND1/GDK_HAND2/' src/fe-gtk/xtext.c
+ patch -p1 -i "${srcdir}/xchat-2.8.8-libnotify07.patch"
+ patch -p1 -i "${srcdir}/xchat-2.8.8-link-against-libnotify.patch"
+ patch -p1 -i "${srcdir}/xchat-2.8.8-glib-2.31.patch"
+ patch -p1 -i "${srcdir}/remove-non-free-suggestion.patch"
+ patch -p1 -i "${srcdir}/no-firefox.patch"
+}
+
+build() {
+ cd ${_pkgname}-${pkgver}
+ autoconf
+ autoheader
+
+ LIBS+="-lgmodule-2.0" ./configure --prefix=/usr --sysconfdir=/etc --datadir=/usr/share \
+ --enable-openssl --enable-dbus --disable-textfe --enable-ipv6 --enable-shm --enable-spell=static
+ make
+}
+
+package() {
+ cd ${_pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+
+ for i in 24 32 48 64 128 256 ; do
+ install -d "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps"
+ rsvg-convert -w $i -h $i -o "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps/xchat.png" ../xchat-cloned.svg
+ done
+ install -D -m644 ../xchat-cloned.svg "${pkgdir}/usr/share/icons/hicolor/scalable/apps/xchat.svg"
+ install -D -m644 ../xchat-used.svg "${pkgdir}/usr/share/icons/hicolor/scalable/apps/xchat2.svg"
+}
diff --git a/libre/xchat-libre/no-firefox.patch b/libre/xchat-libre/no-firefox.patch
new file mode 100644
index 000000000..60c4846ee
--- /dev/null
+++ b/libre/xchat-libre/no-firefox.patch
@@ -0,0 +1,16 @@
+diff -Nur xchat-2.8.8.orig/src/fe-gtk/fe-gtk.c xchat-2.8.8/src/fe-gtk/fe-gtk.c
+--- xchat-2.8.8.orig/src/fe-gtk/fe-gtk.c 2010-05-16 00:15:42.000000000 -0300
++++ xchat-2.8.8/src/fe-gtk/fe-gtk.c 2013-01-19 02:11:00.691529212 -0200
+@@ -955,8 +955,10 @@
+ return;
+ }
+
+- /* everything failed, what now? just try firefox */
+- if (try_browser ("firefox", NULL, url))
++ /* everything failed, what now? just try iceweasel or icecat */
++ if (try_browser ("iceweasel", NULL, url))
++ return;
++ if (try_browser ("icecat", NULL, url))
+ return;
+
+ /* fresh out of ideas... */
diff --git a/libre/xchat-libre/remove-non-free-suggestion.patch b/libre/xchat-libre/remove-non-free-suggestion.patch
new file mode 100644
index 000000000..f20894610
--- /dev/null
+++ b/libre/xchat-libre/remove-non-free-suggestion.patch
@@ -0,0 +1,12 @@
+diff -Nur xchat-2.8.8.orig/src/common/xchat.c xchat-2.8.8/src/common/xchat.c
+--- xchat-2.8.8.orig/src/common/xchat.c 2010-05-16 04:04:45.000000000 -0300
++++ xchat-2.8.8/src/common/xchat.c 2013-01-30 22:23:44.481258504 -0200
+@@ -602,7 +602,7 @@
+ "NAME WII\n" "CMD quote WHOIS %2 %2\n\n";
+
+ static char defaultconf_urlhandlers[] =
+- "NAME Open Link in Opera\n" "CMD !opera -remote 'openURL(%s)'\n\n";
++ "" "";
+
+ #ifdef USE_SIGACTION
+ /* Close and open log files on SIGUSR1. Usefull for log rotating */
diff --git a/libre/xchat-libre/xchat-2.8.8-glib-2.31.patch b/libre/xchat-libre/xchat-2.8.8-glib-2.31.patch
new file mode 100644
index 000000000..63f562ff8
--- /dev/null
+++ b/libre/xchat-libre/xchat-2.8.8-glib-2.31.patch
@@ -0,0 +1,62 @@
+Author: Dominique Leuenberger <dimstar@opensuse.org>
+
+http://sourceforge.net/tracker/?func=detail&aid=3446968&group_id=239&atid=100239
+
+glib got stricter in checking includes. Only glib.h (and a few exceptions)
+are to be included directly.
+
+Index: xchat-2.8.8/src/common/servlist.c
+===================================================================
+--- xchat-2.8.8.orig/src/common/servlist.c
++++ xchat-2.8.8/src/common/servlist.c
+@@ -24,7 +24,7 @@
+ #include <unistd.h>
+
+ #include "xchat.h"
+-#include <glib/ghash.h>
++#include <glib.h>
+
+ #include "cfgfiles.h"
+ #include "fe.h"
+Index: xchat-2.8.8/src/common/text.c
+===================================================================
+--- xchat-2.8.8.orig/src/common/text.c
++++ xchat-2.8.8/src/common/text.c
+@@ -28,7 +28,7 @@
+ #include <sys/mman.h>
+
+ #include "xchat.h"
+-#include <glib/ghash.h>
++#include <glib.h>
+ #include "cfgfiles.h"
+ #include "chanopt.h"
+ #include "plugin.h"
+Index: xchat-2.8.8/src/common/util.c
+===================================================================
+--- xchat-2.8.8.orig/src/common/util.c
++++ xchat-2.8.8/src/common/util.c
+@@ -39,7 +39,7 @@
+ #include <errno.h>
+ #include "xchat.h"
+ #include "xchatc.h"
+-#include <glib/gmarkup.h>
++#include <glib.h>
+ #include <ctype.h>
+ #include "util.h"
+ #include "../../config.h"
+Index: xchat-2.8.8/src/common/xchat.h
+===================================================================
+--- xchat-2.8.8.orig/src/common/xchat.h
++++ xchat-2.8.8/src/common/xchat.h
+@@ -1,10 +1,6 @@
+ #include "../../config.h"
+
+-#include <glib/gslist.h>
+-#include <glib/glist.h>
+-#include <glib/gutils.h>
+-#include <glib/giochannel.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include <time.h> /* need time_t */
+
+ #ifndef XCHAT_H
diff --git a/libre/xchat-libre/xchat-2.8.8-libnotify07.patch b/libre/xchat-libre/xchat-2.8.8-libnotify07.patch
new file mode 100644
index 000000000..2a6dce9a2
--- /dev/null
+++ b/libre/xchat-libre/xchat-2.8.8-libnotify07.patch
@@ -0,0 +1,24 @@
+diff -up xchat-2.8.8/src/fe-gtk/plugin-tray.c.libnotify07 xchat-2.8.8/src/fe-gtk/plugin-tray.c
+--- xchat-2.8.8/src/fe-gtk/plugin-tray.c.libnotify07 2010-11-15 17:32:15.708325783 -0500
++++ xchat-2.8.8/src/fe-gtk/plugin-tray.c 2010-11-15 18:05:17.322141789 -0500
+@@ -125,8 +125,9 @@ static void *nn_mod = NULL;
+ /* prototypes */
+ static gboolean (*nn_init) (char *);
+ static void (*nn_uninit) (void);
+-static void *(*nn_new_with_status_icon) (const gchar *summary, const gchar *message, const gchar *icon, GtkStatusIcon *status_icon);
+-static void *(*nn_new) (const gchar *summary, const gchar *message, const gchar *icon, GtkWidget *attach);
++/* recent versions of libnotify don't take the fourth GtkWidget argument, but passing an
++ * extra NULL argument will be fine */
++static void *(*nn_new) (const gchar *summary, const gchar *message, const gchar *icon, gpointer dummy);
+ static gboolean (*nn_show) (void *noti, GError **error);
+ static void (*nn_set_timeout) (void *noti, gint timeout);
+
+@@ -160,8 +161,6 @@ libnotify_notify_new (const char *title,
+ goto bad;
+ if (!g_module_symbol (nn_mod, "notify_uninit", (gpointer)&nn_uninit))
+ goto bad;
+- if (!g_module_symbol (nn_mod, "notify_notification_new_with_status_icon", (gpointer)&nn_new_with_status_icon))
+- goto bad;
+ if (!g_module_symbol (nn_mod, "notify_notification_new", (gpointer)&nn_new))
+ goto bad;
+ if (!g_module_symbol (nn_mod, "notify_notification_show", (gpointer)&nn_show))
diff --git a/libre/xchat-libre/xchat-2.8.8-link-against-libnotify.patch b/libre/xchat-libre/xchat-2.8.8-link-against-libnotify.patch
new file mode 100644
index 000000000..31e6c0854
--- /dev/null
+++ b/libre/xchat-libre/xchat-2.8.8-link-against-libnotify.patch
@@ -0,0 +1,343 @@
+From: Christopher Aillon <caillon@redhat.com>
+Date: Thu, 7 Apr 2011 19:34:14 -0700
+Subject: [PATCH] Link directly against libnotify
+
+Dynamically loading the library isn't ideal since the soname
+can change silently on us. Additionally, notify-send is
+shipped as part of libnotify, so we aren't actually bringing
+in a new dependency. Since we'd need to patch the source and
+rebuild for new sonames anyway, there's little benefit to
+dynamically loading libnotify.
+
+Plus, this has the benefit of cleaning up the code, as well as
+ensuring we'll catch any future soname changes sooner.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=693362
+https://sourceforge.net/tracker/?func=detail&aid=3280223&group_id=239&atid=100239
+---
+ configure.in | 23 +++++++
+ src/fe-gtk/plugin-tray.c | 144 ++++++++++-------------------------------------
+ 2 files changed, 55 insertions(+), 112 deletions(-)
+
+diff -p -U8 xchat-2.8.8/configure.in.libnotifyso4 xchat-2.8.8/configure.in
+--- xchat-2.8.8/configure.in.libnotifyso4 2010-05-29 23:01:16.000000000 -0700
++++ xchat-2.8.8/configure.in 2011-04-07 19:27:00.448137113 -0700
+@@ -34,16 +34,17 @@ AH_VERBATIM([PREFIX],[#undef PREFIX])
+ AH_VERBATIM([XCHATLIBDIR],[#undef XCHATLIBDIR])
+ AH_VERBATIM([XCHATSHAREDIR],[#undef XCHATSHAREDIR])
+ AH_VERBATIM([SOCKS],[#undef SOCKS])
+ AH_VERBATIM([USE_MSPROXY],[#undef USE_MSPROXY])
+ dnl AH_VERBATIM([USE_GNOME],[#undef USE_GNOME])
+ AH_VERBATIM([USE_SHM],[#undef USE_SHM])
+ AH_VERBATIM([USE_GTKSPELL],[#undef USE_GTKSPELL])
+ AH_VERBATIM([USE_LIBSEXY],[#undef USE_LIBSEXY])
++AH_VERBATIM([USE_LIBNOTIFY],[#undef USE_LIBNOTIFY])
+ AH_VERBATIM([USE_IPV6],[#undef USE_IPV6])
+ AH_VERBATIM([USE_MMX],[#undef USE_MMX])
+ AH_VERBATIM([USE_OPENSSL],[#undef USE_OPENSSL])
+ AH_VERBATIM([USE_PLUGIN],[#undef USE_PLUGIN])
+ AH_VERBATIM([USE_XFT],[#undef USE_XFT])
+ AH_VERBATIM([USE_XLIB],[#undef USE_XLIB])
+ AH_VERBATIM([USE_SIGACTION],[#undef USE_SIGACTION])
+ AH_VERBATIM([USING_FREEBSD],[#undef USING_FREEBSD])
+@@ -126,16 +127,20 @@ AC_ARG_ENABLE(tcl,
+ AC_ARG_ENABLE(plugin,
+ [ --disable-plugin disable plugin support],
+ plugin=$enableval, plugin=yes)
+
+ AC_ARG_ENABLE(dbus,
+ [ --disable-dbus disable DBUS support],
+ dbus=$enableval, dbus=yes)
+
++AC_ARG_ENABLE(libnotify,
++[ --disable-libnotify disable libnotify support],
++ libnotify=$enableval, libnotify=yes)
++
+ AC_ARG_ENABLE(mmx,
+ [ --disable-mmx disable MMX assembly routines],
+ mmx=$enableval, mmx=yes)
+
+ AC_ARG_ENABLE(shm,
+ [ --enable-shm enable use of XShm for fast tinting (default: no)],
+ shm=$enableval, shm=no)
+
+@@ -482,16 +487,32 @@ if test "x$dbus" = "xyes" ; then
+
+ DBUS_SERVICES_DIR="$DATADIR/dbus-1/services"
+ AC_SUBST(DBUS_SERVICES_DIR)
+ AC_DEFINE_UNQUOTED(DBUS_SERVICES_DIR, "$DBUS_SERVICES_DIR", [Where services dir for DBUS is])
+ fi
+ fi
+
+ dnl *********************************************************************
++dnl ** LIBNOTIFY ********************************************************
++dnl *********************************************************************
++
++if test "x$libnotify" = "xyes" ; then
++ PKG_CHECK_MODULES(LIBNOTIFY, libnotify >= 0.4, [], [
++ AC_MSG_RESULT(no)
++ libnotify=no
++ ])
++ if test "$libnotify" != "no" ; then
++ GUI_LIBS="$GUI_LIBS $LIBNOTIFY_LIBS"
++ GUI_CFLAGS="$GUI_CFLAGS $LIBNOTIFY_CFLAGS"
++ AC_DEFINE(USE_LIBNOTIFY)
++ fi
++fi
++
++dnl *********************************************************************
+ dnl ** SPELL ************************************************************
+ dnl *********************************************************************
+
+ if test "$spell" = "gtkspell" ; then
+ PKG_CHECK_MODULES(GTKSPELL, gtkspell-2.0 >= 2.0.2, [], [
+ AC_MSG_RESULT(no)
+ spell=no
+ ])
+@@ -519,16 +540,17 @@ if test "$spell" = "static" ; then
+ fi
+
+ dnl *********************************************************************
+ dnl ** CONDITIONALS *****************************************************
+ dnl *********************************************************************
+
+ AM_CONDITIONAL(USE_OPENSSL, test "x$openssl" = "xyes")
+ AM_CONDITIONAL(USE_LIBSEXY, test "x$spell" = "xstatic")
++AM_CONDITIONAL(USE_LIBNOTIFY, test "x$libnotify" = "xyes")
+ AM_CONDITIONAL(DO_TEXT, test "x$textfe" = "xyes")
+ AM_CONDITIONAL(DO_GTK, test "x$gtkfe" = "xyes")
+ AM_CONDITIONAL(DO_PERL, test "x$perl" = "xyes")
+ AM_CONDITIONAL(DO_PYTHON, test "x$python" = "xyes")
+ AM_CONDITIONAL(DO_TCL, test "x$tcl" = "xyes")
+ AM_CONDITIONAL(DO_PLUGIN, test "x$plugin" = "xyes")
+ AM_CONDITIONAL(USE_DBUS, test "x$dbus" = "xyes")
+ AM_CONDITIONAL(DO_GCONF, test "x$GCONFTOOL" != "xno")
+@@ -807,16 +829,17 @@ echo mmx tinting ......... : $mmx\ spell
+ echo XShm tinting ........ : $shm\ plugin interface ...... : $plugin
+ if test "$xft" = no; then
+ echo text backend ........ : pango\ nls/gettext ........... : $USE_NLS
+ else
+ echo text backend ........ : xft\ nls/gettext ........... : $USE_NLS
+ fi
+ echo openssl support ..... : $openssl\ ipv6 support .......... : $ipv6
+ echo dbus support ........ : $dbus\ msproxy ntlm \(ISA\) .... : $have_ntlm
++echo libnotify support ... : $libnotify
+ echo
+ echo The binary will be installed in $prefix/bin
+ echo
+
+ if test "$gtkfe" = no; then
+ echo Warning: The GTK \(GUI\) frontend will not be built.
+ echo
+ fi
+diff -p -U8 xchat-2.8.8/src/fe-gtk/plugin-tray.c.libnotifyso4 xchat-2.8.8/src/fe-gtk/plugin-tray.c
+--- xchat-2.8.8/src/fe-gtk/plugin-tray.c.libnotifyso4 2011-04-07 17:57:27.524307905 -0700
++++ xchat-2.8.8/src/fe-gtk/plugin-tray.c 2011-04-07 19:18:33.429475719 -0700
+@@ -10,17 +10,27 @@
+ #include "../common/fe.h"
+ #include "../common/util.h"
+ #include "fe-gtk.h"
+ #include "pixmaps.h"
+ #include "maingui.h"
+ #include "menu.h"
+ #include <gtk/gtk.h>
+
+-#define LIBNOTIFY
++#ifdef USE_LIBNOTIFY
++#include <libnotify/notify.h>
++#ifndef NOTIFY_CHECK_VERSION
++#define NOTIFY_CHECK_VERSION(x,y,z) 0
++#endif
++#if NOTIFY_CHECK_VERSION(0,7,0)
++#define XC_NOTIFY_NEW(a,b,c,d) notify_notification_new(a,b,c)
++#else
++#define XC_NOTIFY_NEW(a,b,c,d) notify_notification_new(a,b,c,d)
++#endif
++#endif
+
+ typedef enum /* current icon status */
+ {
+ TS_NONE,
+ TS_MESSAGE,
+ TS_HIGHLIGHT,
+ TS_FILEOFFER,
+ TS_CUSTOM /* plugin */
+@@ -112,90 +122,16 @@ tray_count_networks (void)
+
+ void
+ fe_tray_set_tooltip (const char *text)
+ {
+ if (sticon)
+ gtk_status_icon_set_tooltip (sticon, text);
+ }
+
+-#ifdef LIBNOTIFY
+-
+-/* dynamic access to libnotify.so */
+-
+-static void *nn_mod = NULL;
+-/* prototypes */
+-static gboolean (*nn_init) (char *);
+-static void (*nn_uninit) (void);
+-/* recent versions of libnotify don't take the fourth GtkWidget argument, but passing an
+- * extra NULL argument will be fine */
+-static void *(*nn_new) (const gchar *summary, const gchar *message, const gchar *icon, gpointer dummy);
+-static gboolean (*nn_show) (void *noti, GError **error);
+-static void (*nn_set_timeout) (void *noti, gint timeout);
+-
+-static void
+-libnotify_cleanup (void)
+-{
+- if (nn_mod)
+- {
+- nn_uninit ();
+- g_module_close (nn_mod);
+- nn_mod = NULL;
+- }
+-}
+-
+-static gboolean
+-libnotify_notify_new (const char *title, const char *text, GtkStatusIcon *icon)
+-{
+- void *noti;
+-
+- if (!nn_mod)
+- {
+- nn_mod = g_module_open ("libnotify", G_MODULE_BIND_LAZY);
+- if (!nn_mod)
+- {
+- nn_mod = g_module_open ("libnotify.so.1", G_MODULE_BIND_LAZY);
+- if (!nn_mod)
+- return FALSE;
+- }
+-
+- if (!g_module_symbol (nn_mod, "notify_init", (gpointer)&nn_init))
+- goto bad;
+- if (!g_module_symbol (nn_mod, "notify_uninit", (gpointer)&nn_uninit))
+- goto bad;
+- if (!g_module_symbol (nn_mod, "notify_notification_new", (gpointer)&nn_new))
+- goto bad;
+- if (!g_module_symbol (nn_mod, "notify_notification_show", (gpointer)&nn_show))
+- goto bad;
+- if (!g_module_symbol (nn_mod, "notify_notification_set_timeout", (gpointer)&nn_set_timeout))
+- goto bad;
+- if (!nn_init (PACKAGE_NAME))
+- goto bad;
+- }
+-
+- text = strip_color (text, -1, STRIP_ALL|STRIP_ESCMARKUP);
+- title = strip_color (title, -1, STRIP_ALL);
+- noti = nn_new (title, text, XCHATSHAREDIR"/pixmaps/xchat.png", NULL);
+- g_free ((char *)title);
+- g_free ((char *)text);
+-
+- nn_set_timeout (noti, prefs.input_balloon_time*1000);
+- nn_show (noti, NULL);
+- g_object_unref (G_OBJECT (noti));
+-
+- return TRUE;
+-
+-bad:
+- g_module_close (nn_mod);
+- nn_mod = NULL;
+- return FALSE;
+-}
+-
+-#endif
+-
+ void
+ fe_tray_set_balloon (const char *title, const char *text)
+ {
+ #ifndef WIN32
+ const char *argv[8];
+ const char *path;
+ char time[16];
+ WinStatus ws;
+@@ -208,52 +144,36 @@ fe_tray_set_balloon (const char *title,
+ /* bit 1 of flags means "no balloons unless hidden/iconified" */
+ if (ws != WS_HIDDEN && (prefs.gui_tray_flags & 2))
+ return;
+
+ /* FIXME: this should close the current balloon */
+ if (!text)
+ return;
+
+-#ifdef LIBNOTIFY
+- /* try it via libnotify.so */
+- if (libnotify_notify_new (title, text, sticon))
+- return; /* success */
+-#endif
++#ifdef USE_LIBNOTIFY
++ NotifyNotification *notification;
++ char *notify_text, *notify_title;
+
+- /* try it the crude way */
+- path = g_find_program_in_path ("notify-send");
+- if (path)
+- {
+- sprintf(time, "%d000",prefs.input_balloon_time);
+- argv[0] = path;
+- argv[1] = "-i";
+- argv[2] = "gtk-dialog-info";
+- if (access (XCHATSHAREDIR"/pixmaps/xchat.png", R_OK) == 0)
+- argv[2] = XCHATSHAREDIR"/pixmaps/xchat.png";
+- argv[3] = "-t";
+- argv[4] = time;
+- argv[5] = title;
+- text = strip_color (text, -1, STRIP_ALL|STRIP_ESCMARKUP);
+- argv[6] = text;
+- argv[7] = NULL;
+- xchat_execv (argv);
+- g_free ((char *)path);
+- g_free ((char *)text);
+- }
+- else
+- {
+- /* show this error only once */
+- static unsigned char said_it = FALSE;
+- if (!said_it)
+- {
+- said_it = TRUE;
+- fe_message (_("Cannot find 'notify-send' to open balloon alerts.\nPlease install libnotify."), FE_MSG_ERROR);
+- }
+- }
++ if (!notify_is_initted())
++ notify_init(PACKAGE_NAME);
++
++ notify_text = strip_color (text, -1, STRIP_ALL|STRIP_ESCMARKUP);
++ notify_title = strip_color (title, -1, STRIP_ALL);
++
++ notification = XC_NOTIFY_NEW (notify_title, notify_text, XCHATSHAREDIR"/pixmaps/xchat.png", NULL);
++
++ g_free ((char *)notify_title);
++ g_free ((char *)notify_text);
++
++ notify_notification_set_timeout (notification, prefs.input_balloon_time*1000);
++ notify_notification_show (notification, NULL);
++
++ g_object_unref (notification);
++#endif
+ #endif
+ }
+
+ static void
+ tray_set_balloonf (const char *text, const char *format, ...)
+ {
+ va_list args;
+ char *buf;
+@@ -840,13 +760,13 @@ tray_plugin_init (xchat_plugin *plugin_h
+ return 1; /* return 1 for success */
+ }
+
+ int
+ tray_plugin_deinit (xchat_plugin *plugin_handle)
+ {
+ #ifdef WIN32
+ tray_cleanup ();
+-#elif defined(LIBNOTIFY)
+- libnotify_cleanup ();
++#elif defined(USE_LIBNOTIFY)
++ notify_uninit ();
+ #endif
+ return 1;
+ }
diff --git a/libre/xchat-libre/xchat.install b/libre/xchat-libre/xchat.install
new file mode 100644
index 000000000..eab82d16f
--- /dev/null
+++ b/libre/xchat-libre/xchat.install
@@ -0,0 +1,11 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/libre/xmlstarlet/PKGBUILD b/libre/xmlstarlet/PKGBUILD
new file mode 100644
index 000000000..a06daf063
--- /dev/null
+++ b/libre/xmlstarlet/PKGBUILD
@@ -0,0 +1,29 @@
+# From https://aur.archlinux.org/packages.php?ID=20101.
+# Maintainer: PyroPeter <abi1789@googlemail.com>
+# Contributor: BlackEagle <ike.devolder@scarlet.be>
+# Contributor: chochem <chochem@gmail.com>
+
+pkgname=xmlstarlet
+pkgver=1.3.1
+pkgrel=1
+pkgdesc="A set of tools to transform, query, validate, and edit XML documents"
+arch=('i686' 'x86_64')
+url="http://xmlstar.sourceforge.net/"
+license=('custom:MIT')
+depends=('libxslt>=1.1.9')
+source=("xmlstarlet-$pkgver.tar.gz::http://sourceforge.net/projects/xmlstar/files/xmlstarlet/$pkgver/xmlstarlet-$pkgver.tar.gz/download")
+md5sums=('5173ad3f01ec0ba0d54bd1fbfc057abf')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ local xsltlibs=$(pkg-config --libs libxslt libexslt)
+ local xmllibs=$(pkg-config --libs libxml-2.0)
+
+ LIBXSLT_PREFIX=/usr LIBXML_PREFIX=/usr LIBXSLT_LIBS="${xsltlibs}" LIBXML_LIBS="${xmllibs}" ./configure --prefix=/usr
+
+ make
+ make DESTDIR="${pkgdir}" install
+ mkdir -p $pkgdir/usr/share/licenses/$pkgname
+ cp Copyright $pkgdir/usr/share/licenses/$pkgname/COPYING
+ ln -s /usr/bin/xml ${pkgdir}/usr/bin/xmlstarlet
+}
diff --git a/libre/xorg-fonts-100dpi-libre/PKGBUILD b/libre/xorg-fonts-100dpi-libre/PKGBUILD
new file mode 100644
index 000000000..3f88f1cee
--- /dev/null
+++ b/libre/xorg-fonts-100dpi-libre/PKGBUILD
@@ -0,0 +1,40 @@
+# $Id: PKGBUILD 71678 2010-03-08 11:58:02Z jgc $
+# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Maintainer (Parabola): fauno <fauno@kiwwwi.com.ar>
+pkgname=xorg-fonts-100dpi-libre
+pkgver=1.0.3
+pkgrel=2
+pkgdesc="X.org 100dpi fonts"
+arch=(any)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('xorg-fonts-encodings' 'xorg-fonts-alias' 'xorg-font-utils' 'fontconfig')
+groups=('xorg')
+provides=("xorg-fonts-100dpi=$pkgver")
+conflicts=('xorg-fonts-100dpi')
+replaces=('xorg-fonts-100dpi')
+install=xfonts.install
+source=(${url}/releases/individual/font/font-adobe-100dpi-$pkgver.tar.bz2
+ ${url}/releases/individual/font/font-bitstream-100dpi-$pkgver.tar.bz2)
+
+build() {
+ cd "${srcdir}"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+
+ for dir in font-*-100dpi*; do
+ if [ -d "${dir}" ]; then
+ pushd ${dir}
+ ./configure --prefix=/usr \
+ --with-fontdir=/usr/share/fonts/100dpi
+ make || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.${dir%-100dpi-*}" || return 1
+ popd
+ fi
+ done
+ rm -f "${pkgdir}"/usr/share/fonts/100dpi/fonts.*
+}
+md5sums=('1347c3031b74c9e91dc4dfa53b12f143'
+ '6b223a54b15ecbd5a1bc52312ad790d8')
diff --git a/libre/xorg-fonts-100dpi-libre/xfonts.install b/libre/xorg-fonts-100dpi-libre/xfonts.install
new file mode 100644
index 000000000..5c5e8a2b4
--- /dev/null
+++ b/libre/xorg-fonts-100dpi-libre/xfonts.install
@@ -0,0 +1,15 @@
+post_install() {
+ echo -n "Updating font cache... "
+ fc-cache -f > /dev/null
+ mkfontscale /usr/share/fonts/100dpi
+ mkfontdir /usr/share/fonts/100dpi
+ echo "done."
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/libre/xorg-fonts-75dpi-libre/PKGBUILD b/libre/xorg-fonts-75dpi-libre/PKGBUILD
new file mode 100644
index 000000000..c262229fc
--- /dev/null
+++ b/libre/xorg-fonts-75dpi-libre/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 71681 2010-03-08 12:06:26Z jgc $
+# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+pkgname=xorg-fonts-75dpi-libre
+pkgver=1.0.3
+pkgrel=2
+pkgdesc="X.org 75dpi fonts"
+arch=(any)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=(xorg-fonts-encodings xorg-fonts-alias xorg-font-utils fontconfig)
+groups=('xorg')
+provides=("xorg-fonts-75dpi=$pkgver")
+conflicts=('xorg-fonts-75dpi')
+replaces=('xorg-fonts-75dpi')
+install=xfonts.install
+source=(${url}/releases/individual/font/font-adobe-75dpi-$pkgver.tar.bz2
+ ${url}/releases/individual/font/font-bitstream-75dpi-$pkgver.tar.bz2)
+
+build() {
+ cd "${srcdir}"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ for dir in *; do
+ if [ -d "${dir}" ]; then
+ pushd "${dir}"
+ ./configure --prefix=/usr \
+ --with-fontdir=/usr/share/fonts/75dpi || return 1
+ make || return 1
+ make DESTDIR="${pkgdir}" install || return 1
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.${dir%-75dpi-*}" || return 1
+ popd
+ fi
+ done
+ rm -f "${pkgdir}"/usr/share/fonts/75dpi/fonts.*
+}
+md5sums=('6c9f26c92393c0756f3e8d614713495b'
+ 'd7c0588c26fac055c0dd683fdd65ac34')
diff --git a/libre/xorg-fonts-75dpi-libre/xfonts.install b/libre/xorg-fonts-75dpi-libre/xfonts.install
new file mode 100644
index 000000000..e52603946
--- /dev/null
+++ b/libre/xorg-fonts-75dpi-libre/xfonts.install
@@ -0,0 +1,15 @@
+post_install() {
+ echo -n "Updating font cache... "
+ fc-cache -f > /dev/null
+ mkfontscale /usr/share/fonts/75dpi
+ mkfontdir /usr/share/fonts/75dpi
+ echo "done."
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/libre/xorg-fonts-type1-libre/PKGBUILD b/libre/xorg-fonts-type1-libre/PKGBUILD
new file mode 100644
index 000000000..4904a4477
--- /dev/null
+++ b/libre/xorg-fonts-type1-libre/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 150375 2012-02-17 09:54:09Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-fonts-type1-libre
+pkgver=7.4
+pkgrel=2
+pkgdesc="X.org Type1 fonts, without nonfree fonts"
+arch=(any)
+license=('custom')
+url="http://xorg.freedesktop.org/"
+depends=(xorg-fonts-encodings xorg-fonts-alias xorg-font-utils fontconfig)
+provides=("xorg-fonts-type1=${pkgver}")
+conflicts=('xorg-fonts-type1')
+replaces=('xorg-fonts-type1')
+install=xfonts.install
+source=(${url}/releases/individual/font/font-bitstream-type1-1.0.2.tar.bz2
+ ${url}/releases/individual/font/font-xfree86-type1-1.0.3.tar.bz2)
+md5sums=('27c55f6a938e7153c59fb551b2f491f9'
+ 'df934bfc0339322cee73ee3c5460a648')
+
+build() {
+ cd "${srcdir}"
+ for dir in *; do
+ if [ -d "${dir}" ]; then
+ pushd "${dir}"
+ ./configure --prefix=/usr \
+ --with-fontdir=/usr/share/fonts/Type1
+ make
+ popd
+ fi
+ done
+}
+
+package() {
+ cd "${srcdir}"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ for dir in *; do
+ if [ -d "${dir}" ]; then
+ pushd "${dir}"
+ make DESTDIR="${pkgdir}" install
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.${dir%-*}"
+ popd
+ fi
+ done
+ rm -f "${pkgdir}"/usr/share/fonts/Type1/fonts.*
+}
diff --git a/libre/xorg-fonts-type1-libre/xfonts.install b/libre/xorg-fonts-type1-libre/xfonts.install
new file mode 100644
index 000000000..51688a1d1
--- /dev/null
+++ b/libre/xorg-fonts-type1-libre/xfonts.install
@@ -0,0 +1,15 @@
+post_install() {
+ echo -n "Updating font cache... "
+ fc-cache -f > /dev/null
+ mkfontscale /usr/share/fonts/Type1
+ mkfontdir /usr/share/fonts/Type1
+ echo "done."
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/libre/xscreensaver-libre/LICENSE b/libre/xscreensaver-libre/LICENSE
new file mode 100644
index 000000000..406467cd4
--- /dev/null
+++ b/libre/xscreensaver-libre/LICENSE
@@ -0,0 +1,10 @@
+/* xscreensaver, Copyright (c) 1991-2013 Jamie Zawinski <jwz@jwz.org>
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation. No representations are made about the suitability of this
+ * software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ */
diff --git a/libre/xscreensaver-libre/PKGBUILD b/libre/xscreensaver-libre/PKGBUILD
new file mode 100644
index 000000000..8ab5ec06a
--- /dev/null
+++ b/libre/xscreensaver-libre/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 201451 2013-12-12 05:18:26Z eric $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
+
+_pkgname=xscreensaver
+pkgname=xscreensaver-libre
+pkgver=5.26
+pkgrel=1
+pkgdesc="Screen saver and locker for the X Window System, without nonfree asm files"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.jwz.org/xscreensaver/"
+license=('BSD')
+depends=('libglade' 'libxmu' 'glu' 'xorg-appres' 'perl-libwww')
+makedepends=('bc' 'libxpm' 'gdm')
+optdepends=('gdm: for login manager support')
+replaces=("${_pkgname}")
+conflicts=("${_pkgname}")
+provides=("${_pkgname}=${pkgver}")
+backup=('etc/pam.d/xscreensaver')
+mksource=(http://www.jwz.org/xscreensaver/${_pkgname}-${pkgver}.tar.gz)
+source=(https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz \
+ xscreensaver-add-electricsheep.diff LICENSE)
+mksha1sums=('8055822b661733e68550872a4ae6b6129c0b73fc')
+sha1sums=('f041ac860f52fab79c438012ebf58a021ef9bfea'
+ 'e8dc57b6471fb3867ee099304ac6bf628351cb98'
+ '3eedb8b91b13c29df9b1fe5cbb027e1470b802d2')
+
+mksource() {
+ cd ${_pkgname}-${pkgver}
+
+ # Deleting dmsc.asm file due which don't have source code supplied
+ rm -v hacks/images/m6502/dmsc.asm
+}
+
+prepare() {
+ cd ${_pkgname}-${pkgver}
+ patch -p0 -i "${srcdir}/xscreensaver-add-electricsheep.diff"
+}
+
+build() {
+ cd ${_pkgname}-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --libexecdir=/usr/lib --with-x-app-defaults=/usr/share/X11/app-defaults \
+ --with-pam --with-login-manager --with-gtk --with-gl \
+ --without-gle --with-pixbuf --with-jpeg
+ make
+}
+
+package() {
+ cd ${_pkgname}-${pkgver}
+ install -d "${pkgdir}/etc/pam.d"
+ make install_prefix="${pkgdir}" install
+ install -D -m644 ../LICENSE "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE"
+ chmod 755 "${pkgdir}/usr/bin/xscreensaver"
+ echo "NotShowIn=KDE;GNOME;" >> "${pkgdir}/usr/share/applications/xscreensaver-properties.desktop"
+}
diff --git a/libre/xscreensaver-libre/xscreensaver-add-electricsheep.diff b/libre/xscreensaver-libre/xscreensaver-add-electricsheep.diff
new file mode 100644
index 000000000..0c5c3ff40
--- /dev/null
+++ b/libre/xscreensaver-libre/xscreensaver-add-electricsheep.diff
@@ -0,0 +1,10 @@
+--- driver/XScreenSaver.ad.in-orig 2013-07-16 16:47:10.183068023 -0400
++++ driver/XScreenSaver.ad.in 2013-07-16 16:48:23.293473297 -0400
+@@ -157,6 +157,7 @@
+ !
+ *programs: \
+ maze -root \n\
++ electricsheep --root 1 \n\
+ @GL_KLUDGE@ GL: superquadrics -root \n\
+ attraction -root \n\
+ blitspin -root \n\
diff --git a/libre/xsp/PKGBUILD b/libre/xsp/PKGBUILD
new file mode 100644
index 000000000..ef6fe97c2
--- /dev/null
+++ b/libre/xsp/PKGBUILD
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 188153 2013-06-10 16:36:32Z daniel $
+# Maintainer: Daniel Isenmann <daniel@archlinux.org>
+# Contributor: Tobias Kieslich <tobias@justdreams.de>
+
+pkgname=xsp
+pkgver=3.0.11
+pkgrel=1.1
+pkgdesc="A simple webserver based on mono - provides ASP.NET support (Parabola rebranded)"
+arch=('i686' 'x86_64' 'mips64el')
+license=('custom')
+url="http://www.go-mono.com"
+depends=('mono' 'sqlite')
+options=(!makeflags)
+install=${pkgname}.install
+source=(https://github.com/mono/xsp/archive/${pkgver}.tar.gz
+ ${pkgname}.webapp
+ ${pkgname}.service)
+md5sums=('6a694d5e87ebe57e532ec80a16b6966d'
+ 'c917c07f68b945691506c29750db482f'
+ '9d83bd36d209f8d36a11dfbc4fa50819')
+
+build() {
+ # get rid of that .wapi errors; thanks to brice
+ export MONO_SHARED_DIR=${srcdir}/src/weird
+ mkdir -p "${MONO_SHARED_DIR}"
+ # import pathes
+ # build
+ cd ${srcdir}/${pkgname}-${pkgver}
+ #sed -i 's|/bin/sh|\0\nexport MONO_PATH=${MONO_PATH}:/opt/mono/lib/mono/1.0|' scripts/script.in
+ ./autogen.sh
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+ # tweak the xsp shellscript to grab system dll's
+ for script in scripts/*2; do
+ sed -i 's|/usr/lib/mono/1.0|/usr/lib/mono/2.0|' $script
+ done
+ #destdir related bugfixes
+ sed -i 's|mkdir \$(datadir)|mkdir $(DESTDIR)$(datadir)|' test/2.0/treeview/Makefile
+ sed -i 's|gif \$(datadir)|gif $(DESTDIR)$(datadir)|' test/2.0/treeview/Makefile
+}
+
+package(){
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir}/ install
+ # move test files from share to arch' default html home
+ mkdir -p ${pkgdir}/srv/http/html
+ mv ${pkgdir}/usr/lib/xsp/test ${pkgdir}/srv/http/html/xsp
+ rm -rf ${pkgdir}/usr/share
+ chown -R http:http ${pkgdir}/srv/http/html/${pkgname}
+
+ # install a xsp configuration home
+ install -D -m644 ${srcdir}/${pkgname}.webapp \
+ ${pkgdir}/etc/${pkgname}/${pkgname}.webapp
+ install -D -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/COPYING
+ # install systemd service file
+ install -D -m644 ${srcdir}/${pkgname}.service \
+ ${pkgdir}/usr/lib/systemd/system/xsp.service
+}
diff --git a/libre/xsp/xsp.conf.d b/libre/xsp/xsp.conf.d
new file mode 100644
index 000000000..b100baef1
--- /dev/null
+++ b/libre/xsp/xsp.conf.d
@@ -0,0 +1,10 @@
+# xsp options
+
+
+# note that is just the helping app for mod_mono if you like production like
+# quality
+# xsp is for ASP testing mainly -- read the manpage for xsp to know what
+# options are available. Parabola will provide xsp configured by a .webapp
+# configuration file which rests in /etc/xsp
+
+XSP_PARAMS="--appconfigdir /etc/xsp"
diff --git a/libre/xsp/xsp.install b/libre/xsp/xsp.install
new file mode 100644
index 000000000..d2cc5955a
--- /dev/null
+++ b/libre/xsp/xsp.install
@@ -0,0 +1,37 @@
+# arg 1: the new package version
+post_install() {
+ cat << EOM
+
+--> xsp is just the helping app for mod_mono if you like a production like
+--> server. xsp itself is for ASP testing mainly -- read the manpage for xsp
+--> to know which options are available.
+--> Parabola will provide xsp configured by a .webapp configuration file
+--> which rests in /etc/xsp. Just put your other webapp files there to let
+--> xsp pick them up.
+--> xsp is commandline based configuration is done in /etc/conf.d/xsp. Set all
+--> your arguments there. Don't forget that you can run xsp from the console
+--> as oridinary user, which is safer and for testing absolutely sufficient!!
+
+--> You can run the testpages simply by starting the server and calling
+ http://localhost:8080
+--> from your browser's location bar
+
+
+EOM
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
diff --git a/libre/xsp/xsp.rc.d b/libre/xsp/xsp.rc.d
new file mode 100644
index 000000000..b4fcda15c
--- /dev/null
+++ b/libre/xsp/xsp.rc.d
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+# source application-specific settings
+[ -f /etc/conf.d/xsp ] && . /etc/conf.d/xsp
+
+PID=`pidof -o %PPID /usr/bin/mono`
+case "$1" in
+ start)
+ stat_busy "Starting Xsp Daemon"
+ if [ -z "$PID" ]; then
+ /usr/bin/xsp $XSP_PARAMS --nonstop &> /dev/null &
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon xsp
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Xsp Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon xsp
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/libre/xsp/xsp.service b/libre/xsp/xsp.service
new file mode 100644
index 000000000..36b802e21
--- /dev/null
+++ b/libre/xsp/xsp.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=XSP Web Server
+
+[Service]
+ExecStart=/usr/bin/xsp --appconfigdir /etc/xsp --nonstop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/libre/xsp/xsp.webapp b/libre/xsp/xsp.webapp
new file mode 100644
index 000000000..a685dd171
--- /dev/null
+++ b/libre/xsp/xsp.webapp
@@ -0,0 +1,8 @@
+<apps>
+ <web-application>
+ <name>Root</name>
+ <vpath>/</vpath>
+ <path>/srv/http/html/xsp</path>
+ <vhost>localhost</vhost>
+ </web-application>
+</apps>
diff --git a/libre/your-freedom/PKGBUILD b/libre/your-freedom/PKGBUILD
new file mode 100644
index 000000000..6f2b209d5
--- /dev/null
+++ b/libre/your-freedom/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Parabola Project <dev@list.parabolagnulinux.org>
+pkgname=your-freedom
+pkgver=$(LC_ALL=C date -u +%Y%m%d)
+pkgrel=1
+pkgdesc="This package conflicts with every nonfree package known to date to ensure your system is free."
+arch=('any')
+url="https://parabolagnulinux.org"
+license=('GPL3')
+groups=('base')
+install=${pkgname}.install
+source=(blacklist-${pkgver}.txt::https://projects.parabolagnulinux.org/blacklist.git/plain/blacklist.txt)
+
+package() {
+ conflicts=($(cut -d: -f1,2 blacklist-${pkgver}.txt | \
+ sed "s/:$//" | \
+ grep -v ":" | \
+ grep -v '^#' | \
+ sort -u
+ ))
+ cd ${srcdir}
+ install -d ${pkgdir}/usr/share/doc/${pkgname}
+ install -m644 blacklist-${pkgver}.txt ${pkgdir}/usr/share/doc/${pkgname}/
+}
+
+md5sums=('5fd14982619414fea1882b351607291e')
diff --git a/libre/your-freedom/your-freedom.install b/libre/your-freedom/your-freedom.install
new file mode 100644
index 000000000..e0477cab9
--- /dev/null
+++ b/libre/your-freedom/your-freedom.install
@@ -0,0 +1,32 @@
+
+pre_install() {
+ cat <<EOM
+ == IMPORTANT NOTICE ==
+
+ This package will help you identify nonfree packages that are installed
+ on your system at the time of its installation, as well as protecting
+ you from (accidentally) installing them.
+
+ Also, if any other nonfree package is identified, later updates will ask
+ you for its removal.
+
+ Have in mind that, if you want to retain certain nonfree packages
+ installed on your system, you'll have to remove your-freedom :)
+
+ If you find out any of the following:
+ * Cascade package removal due to nonfree dependencies,
+ * Your-freedom conflicting with a *-libre package,
+ * Etc.
+
+ Please report back to the Parabola Project on the usual channels:
+ * https://labs.parabola.nu
+ * irc://freenode.net/#parabola
+ * mailto:dev@lists.parabolagnulinux.org
+EOM
+}
+
+pre_upgrade() {
+ pre_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/your-freedom_emu/PKGBUILD b/libre/your-freedom_emu/PKGBUILD
new file mode 100644
index 000000000..30ace4a38
--- /dev/null
+++ b/libre/your-freedom_emu/PKGBUILD
@@ -0,0 +1,24 @@
+# Maintainer: Parabola Project <dev@list.parabolagnulinux.org>
+pkgname=your-freedom_emu
+pkgver=$(LC_ALL=C date -u +%Y%m%d)
+pkgrel=1
+pkgdesc="This package removes hardware emulators that emulate technically free games and/or OS (but only there are nonfree games and/or OS)."
+arch=('any')
+url="https://parabolagnulinux.org"
+license=('GPL3')
+install=${pkgname}.install
+source=(${pkgname}-blacklist-${pkgver}.txt::https://projects.parabolagnulinux.org/blacklist.git/plain/${pkgname}-blacklist.txt)
+
+package() {
+ conflicts=($(cut -d: -f1,2 ${pkgname}-blacklist-${pkgver}.txt | \
+ sed "s/:$//" | \
+ grep -v ":" | \
+ grep -v '^#' | \
+ sort -u
+ ))
+ cd ${srcdir}
+ install -d ${pkgdir}/usr/share/doc/${pkgname}
+ install -m644 ${pkgname}-blacklist-${pkgver}.txt ${pkgdir}/usr/share/doc/${pkgname}/
+}
+
+md5sums=('d3c2fad6dd774c5234d42d4953d09611')
diff --git a/libre/your-freedom_emu/your-freedom_emu.install b/libre/your-freedom_emu/your-freedom_emu.install
new file mode 100644
index 000000000..cd39eb3e8
--- /dev/null
+++ b/libre/your-freedom_emu/your-freedom_emu.install
@@ -0,0 +1,27 @@
+
+pre_install() {
+ cat <<EOM
+ == IMPORTANT NOTICE ==
+
+ This package will help you identify emulator packages that are installed
+ on your system at the time of its installation, as well as protecting
+ you from (accidentally) installing them.
+
+ Also, if any other emulator package is identified, later updates will ask
+ you for its removal.
+
+ Have in mind that, if you want to retain certain emulator packages
+ installed on your system, you'll have to remove your-freedom_emu :)
+
+ Please report back to the Parabola Project on the usual channels:
+ * https://labs.parabola.nu
+ * irc://freenode.net/#parabola
+ * mailto:dev@lists.parabolagnulinux.org
+EOM
+}
+
+pre_upgrade() {
+ pre_install
+}
+
+# vim:set ts=2 sw=2 et: