From c0c657bd92911788b96d9670620eabf024453752 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 30 Sep 2010 22:15:13 +0100 Subject: [PATCH] Split meta-extras and meta-moblin out of the main repository Signed-off-by: Richard Purdie --- meta-extras/COPYING.MIT | 17 - .../include/poky-extras-src-revisions.inc | 6 - meta-extras/conf/layer.conf | 11 - meta-extras/conf/machine/mx31litekit.conf | 14 - meta-extras/conf/machine/nokia770.conf | 35 - meta-extras/conf/machine/nokia800.conf | 30 - meta-extras/conf/machine/om-gta01.conf | 48 - meta-extras/conf/machine/om-gta02.conf | 49 - .../packages/acct/acct_6.3.99+6.4pre1.bb | 9 - .../packages/acct/files/cross-compile.patch | 34 - .../packages/clutter/clutter-helix.inc | 15 - .../packages/clutter/clutter-helix_git.bb | 8 - .../fix-shader-and-callbacks.patch | 44 - .../packages/clutter/moblin-proto/fix.patch | 22 - .../packages/clutter/moblin-proto/paths.patch | 15 - .../packages/clutter/moblin-proto_git.bb | 19 - meta-extras/packages/cx3110x/cx3110x_1.1.bb | 21 - .../packages/cx3110x/cx3110x_2.0.15.bb | 23 - .../cx3110x/files/no-linux-config.patch | 12 - .../packages/eventlog/eventlog_0.2.5.bb | 7 - meta-extras/packages/evince/evince_2.20.0.bb | 10 - meta-extras/packages/evince/evince_svn.bb | 14 - .../packages/evince/files/no-icon-theme.diff | 13 - .../flumotion/no-check-for-python-stuff.patch | 68 - .../flumotion/flumotion/python-path.patch | 25 - .../packages/flumotion/flumotion_0.4.1.bb | 41 - meta-extras/packages/gnome/libbonobo.inc | 36 - .../gnome/libbonobo/configure-gthread.patch | 11 - .../packages/gnome/libbonobo/gtk-doc.m4 | 53 - .../packages/gnome/libbonobo/gtk-doc.make | 148 - .../packages/gnome/libbonobo_2.22.0.bb | 6 - .../packages/gnome/libbonoboui_2.18.0.bb | 15 - .../packages/gnome/orbit2-native_2.14.12.bb | 22 - .../gnome/orbit2/configure-lossage.patch | 35 - meta-extras/packages/gnome/orbit2/gtk-doc.m4 | 53 - .../packages/gnome/orbit2/gtk-doc.make | 148 - .../packages/gnome/orbit2/pkgconfig-fix.patch | 12 - meta-extras/packages/gnome/orbit2_2.14.16.bb | 30 - meta-extras/packages/helix/helix-libs.bb | 49 - .../helix/helix-libs/add-clutter.patch | 12668 ---------------- .../packages/helix/helix-libs/helix-player.pc | 11 - .../packages/helix/helix-libs/hxclient.pc | 11 - meta-extras/packages/helix/ribosome.bb | 43 - meta-extras/packages/helix/ribosome/buildrc | 4 - .../packages/helix/ribosome/clutter.bif | 68 - .../packages/images/poky-image-extras.bb | 9 - meta-extras/packages/libol/libol_0.3.18.bb | 8 - meta-extras/packages/librds/librds_0.0.1.bb | 11 - .../packages/libxosd/files/autofoo.patch | 116 - .../libxosd/files/use-sane-default-font.patch | 13 - meta-extras/packages/libxosd/libxosd_svn.bb | 20 - .../fix_oprofile.patch | 30 - .../nokia770/defconfig | 1451 -- .../nokia770_nand_fix.patch | 415 - .../nokia800/defconfig | 1312 -- .../kernel-source_2.6.21-200823maemo6.diff.gz | Bin 932654 -> 0 bytes .../nokia800/defconfig | 1650 -- .../suspend-button.patch | 60 - .../nokia800/defconfig | 1642 -- .../suspend-button.patch | 60 - meta-extras/packages/linux/linux-nokia800.inc | 43 - .../linux/linux-nokia800_2.6.18-osso40.bb | 18 - .../linux-nokia800_2.6.21-200823maemo6.bb | 18 - .../linux/linux-nokia800_2.6.21-osso71.bb | 18 - meta-extras/packages/linux/linux-openmoko.inc | 25 - .../timespec_add_ns_avoid_udivdi3.patch | 20 - .../linux/linux-openmoko_2.6.24+git.bb | 53 - .../packages/lirc/files/lirc_sir-sa1100.patch | 10 - .../packages/lirc/files/lircd.conf_nslu2 | 1886 --- meta-extras/packages/lirc/files/lircd.init | 39 - meta-extras/packages/lirc/files/lircexec.init | 37 - meta-extras/packages/lirc/files/lircmd.init | 38 - meta-extras/packages/lirc/files/lircrc_nslu2 | 113 - .../packages/lirc/files/split-hauppauge.patch | 141 - meta-extras/packages/lirc/lirc-config.inc | 13 - .../packages/lirc/lirc-modules_0.8.3.bb | 33 - meta-extras/packages/lirc/lirc_0.8.3.bb | 31 - .../llvm/llvm-native/fix_ldflags_export.patch | 26 - meta-extras/packages/llvm/llvm-native_svn.bb | 13 - .../packages/madplay/madplay_0.15.2b.bb | 12 - .../maemo-mapper/files/fix_segfault.patch | 31 - .../maemo-mapper/maemo-mapper-nohildon_svn.bb | 22 - .../packages/maemo/nokia770-init/fixup-770.sh | 26 - .../packages/maemo/nokia770-init_1.0.bb | 38 - meta-extras/packages/maemo/xpext/auxdir.patch | 13 - meta-extras/packages/maemo/xpext_1.0-5.bb | 22 - meta-extras/packages/maemo/xsp_1.0.0-8.bb | 12 - .../matchbox-applet-inputmanager_0.6.bb | 12 - .../matchbox-applet-light_svn.bb | 10 - .../matchbox-applet-startup-monitor_0.1.bb | 11 - .../matchbox-applet-volume_0.1.bb | 12 - .../matchbox-common/matchbox-common_0.9.1.bb | 14 - .../matchbox-common/matchbox-common_svn.bb | 17 - .../home-panelapp.desktop | 7 - .../matchbox-panel-hacks-0.3-1/mb-applet-home | 2 - .../xrandr-panelapp.desktop | 7 - .../xrandr-panelapp.sh | 9 - .../matchbox-panel-hacks-0.3-1/xrandr.png | Bin 1651 -> 0 bytes .../matchbox-panel-hacks_0.3-1.bb | 23 - .../matchbox-panel-manager_0.1.bb | 12 - .../matchbox-panel/matchbox-panel.inc | 27 - .../matchbox-panel/matchbox-panel_0.9.2.bb | 6 - .../matchbox-panel/matchbox-panel_svn.bb | 9 - .../packages/mozilla/files/eabi-fix.patch | 66 - .../packages/mozilla/files/eabi-fix2.patch | 56 - .../packages/mozilla/files/eabi-fix3.patch | 15 - .../packages/mozilla/files/minimo.desktop | 9 - meta-extras/packages/mozilla/files/minimo.png | Bin 4323 -> 0 bytes .../packages/mozilla/minimo/bug-322806.diff | 13 - meta-extras/packages/mozilla/minimo/minimo | 4 - .../packages/mozilla/minimo/minimo.patch | 356 - .../packages/mozilla/minimo/minimo.png | Bin 4323 -> 0 bytes meta-extras/packages/mozilla/minimo/mozconfig | 36 - meta-extras/packages/mozilla/minimo_cvs.bb | 153 - .../files/70NetworkManagerApplet.shbg | 4 - .../networkmanager/files/99_networkmanager | 1 - .../networkmanager/files/NetworkManager | 43 - .../files/allow-disabling.patch | 45 - .../files/applet-no-animation.patch | 234 - .../networkmanager/files/applet-no-gnome.diff | 59 - .../networkmanager/files/libnlfix.patch | 29 - .../networkmanager/files/makefile-fix.patch | 17 - .../networkmanager/files/nmutil-fix.patch | 12 - .../networkmanager/files/no-restarts.diff | 21 - .../networkmanager/files/no_vpn.patch | 13 - .../networkmanager-applet_svn.bb | 33 - .../networkmanager/networkmanager_svn.bb | 51 - .../files/no-wnck-sexy.patch | 98 - .../notification-daemon_0.3.7.bb | 21 - meta-extras/packages/osc/osc-native_svn.bb | 28 - .../packages/prism-firmware/prism-firmware.bb | 32 - .../prism-firmware/hostap.rules | 4 - .../prism-firmware/prism-firmware/prism-fw.sh | 32 - .../python/python-iniparse-native_0.3.2.bb | 6 - .../packages/python/python-iniparse_0.3.2.bb | 11 - .../python/python-urlgrabber-native_3.9.1.bb | 4 - .../urlgrabber-3.0.0-cleanup.patch | 28 - .../python-urlgrabber/urlgrabber-HEAD.patch | 142 - .../python-urlgrabber/urlgrabber-reset.patch | 15 - .../python/python-urlgrabber_3.9.1.bb | 16 - .../yum-metadata-parser-native_1.1.4.bb | 7 - .../python/yum-metadata-parser_1.1.4.bb | 15 - .../qmake/qmake2-cross/0001-fix-mkspecs.patch | 120 - .../qmake/qmake2-cross/linux-oe-qmake.conf | 1 - .../qmake/qmake2-cross/use-lflags-last.patch | 22 - .../packages/qmake/qmake2-cross_2.10a.bb | 74 - .../packages/redland/files/crosscompile.patch | 29 - .../redland/files/sane_pkgconfig.patch | 126 - meta-extras/packages/redland/redland_1.0.8.bb | 9 - meta-extras/packages/smart/smart_1.1.bb | 29 - .../packages/spectrum-fw/spectrum-fw.bb | 22 - .../spectrum-fw/spectrum-fw/get_symbol_fw | 29 - .../spectrum-fw/spectrum-fw/parse_symbol_fw | 129 - .../packages/syslog-ng/files/initscript | 45 - .../packages/syslog-ng/files/syslog-ng.conf | 89 - .../packages/syslog-ng/syslog-ng_2.0.5.bb | 34 - .../packages/tasks/task-poky-extras.bb | 9 - .../packages/tasks/task-poky-x11-netbook.bb | 28 - .../twisted-2.5.0/remove-zope-check.patch | 18 - meta-extras/packages/twisted/twisted_2.5.0.bb | 175 - .../packages/uicmoc/uicmoc4-native.inc | 67 - .../packages/uicmoc/uicmoc4-native_4.3.2.bb | 1 - .../packages/xorg-app/iceauth_1.0.2.bb | 6 - meta-extras/packages/xorg-app/luit_1.0.2.bb | 8 - meta-extras/packages/xorg-app/oclock_1.0.1.bb | 5 - meta-extras/packages/xorg-app/rgb_1.0.1.bb | 6 - .../packages/xorg-app/sessreg_1.0.4.bb | 6 - meta-extras/packages/xorg-app/twm_1.0.4.bb | 11 - meta-extras/packages/xorg-app/xbiff_1.0.1.bb | 9 - .../packages/xorg-app/xclipboard_1.1.0.bb | 4 - meta-extras/packages/xorg-app/xclock_1.0.4.bb | 5 - meta-extras/packages/xorg-app/xcmsdb_1.0.1.bb | 4 - .../packages/xorg-app/xconsole_1.0.3.bb | 9 - .../packages/xorg-app/xcursorgen_1.0.2.bb | 4 - .../packages/xorg-app/xdriinfo_1.0.2.bb | 4 - meta-extras/packages/xorg-app/xfd_1.0.1.bb | 9 - .../packages/xorg-app/xfontsel_1.0.2.bb | 9 - meta-extras/packages/xorg-app/xgamma_1.0.2.bb | 5 - meta-extras/packages/xorg-app/xkbevd_1.0.2.bb | 4 - .../packages/xorg-app/xkbprint_1.0.2.bb | 4 - .../packages/xorg-app/xkbutils_1.0.2.bb | 5 - meta-extras/packages/xorg-app/xkill_1.0.1.bb | 4 - meta-extras/packages/xorg-app/xload_1.0.2.bb | 10 - meta-extras/packages/xorg-app/xlogo_1.0.1.bb | 4 - .../packages/xorg-app/xlsatoms_1.0.1.bb | 4 - .../packages/xorg-app/xlsclients_1.0.1.bb | 4 - .../packages/xorg-app/xlsfonts_1.0.2.bb | 4 - meta-extras/packages/xorg-app/xmag_1.0.2.bb | 10 - .../packages/xorg-app/xmessage_1.0.2.bb | 10 - .../packages/xorg-app/xorg-app-common.inc | 15 - meta-extras/packages/xorg-app/xpr_1.0.2.bb | 5 - .../packages/xorg-app/xrefresh_1.0.2.bb | 4 - .../packages/xorg-app/xsetroot_1.0.2.bb | 6 - .../packages/xorg-app/xstdcmap_1.0.1.bb | 4 - meta-extras/packages/xorg-app/xterm_207.bb | 24 - meta-extras/packages/xorg-app/xtrap_1.0.2.bb | 4 - .../packages/xorg-app/xvidtune_1.0.1.bb | 9 - meta-extras/packages/xorg-app/xvinfo_1.0.2.bb | 5 - meta-extras/packages/xorg-app/xwd_1.0.1.bb | 4 - meta-extras/packages/xorg-app/xwud_1.0.1.bb | 4 - .../packages/xorg-data/xbitmaps_1.0.1.bb | 5 - .../packages/xorg-data/xorg-data-common.inc | 10 - .../xserver-kdrive-glamo/fbdev-not-fix.patch | 14 - .../fix-picturestr-include-order.patch | 15 - .../fix_default_mode.patch | 26 - .../xserver-kdrive-glamo/gumstix-kmode.patch | 23 - .../kdrive-1.3-18bpp.patch | 419 - .../xserver-kdrive-glamo/kmode-palm.patch | 34 - .../xserver-kdrive-glamo/kmode.patch | 28 - .../xserver-kdrive-glamo/w100-autofoo.patch | 54 - .../w100-fix-offscreen-bmp.patch | 15 - .../w100-new-input-world-order.patch | 28 - .../xserver-kdrive-glamo/w100.patch | 6335 -------- .../xserver-kdrive-glamo_1.3.0.0+git.bb | 64 - .../xserver-kdrive-xomap/button_only.patch | 20 - .../xserver-kdrive-xomap/calibrateext.patch | 124 - .../xserver-kdrive-xomap/configfix.patch | 15 - .../xserver-kdrive-xomap/disable-apm.patch | 20 - .../disable-xf86-dga-xorgcfg.patch | 37 - .../xserver-kdrive-xomap/disable-xkb.patch | 82 - .../enable-builtin-fonts.patch | 12 - .../xserver-kdrive-xomap/enable-tslib.patch | 23 - .../xserver-kdrive-xomap/fbdev-not-fix.patch | 14 - .../xserver-kdrive-xomap/fixups.patch | 446 - .../xserver-kdrive-xomap/kdrive-evdev.patch | 503 - .../kdrive-use-evdev.patch | 53 - .../xserver-kdrive-xomap/kmode.patch | 43 - .../no-serial-probing.patch | 13 - .../xserver-kdrive-xomap/xcalibrate.patch | 73 - .../xcalibrate_coords.patch | 122 - .../xserver-kdrive-xomap/xfbdev-fb-opt.patch | 82 - .../xserver-kdrive-xomap_1.1.99.3.bb | 52 - .../yum/createrepo-native/pathfix.patch | 81 - .../packages/yum/createrepo-native_0.9.8.bb | 17 - meta-extras/packages/yum/files/98_yum | 1 - .../packages/yum/files/extract-postinst.awk | 11 - meta-extras/packages/yum/files/fix | 18 - meta-extras/packages/yum/files/hacks.patch | 81 - meta-extras/packages/yum/files/paths.patch | 106 - meta-extras/packages/yum/files/paths2.patch | 35 - .../yum/files/yum-install-recommends.py | 39 - meta-extras/packages/yum/yum_3.2.27.bb | 46 - meta-extras/packages/zope/zope_3.3.1.bb | 45 - .../moblin-feed-incremental-bleeding.bbclass | 3 - meta-moblin/classes/moblin-image.bbclass | 99 - meta-moblin/classes/qt3e.bbclass | 11 - meta-moblin/classes/qt3x11.bbclass | 15 - meta-moblin/classes/qt4x11.bbclass | 3 - meta-moblin/classes/qtopia4core.bbclass | 13 - .../include/meta-moblin-scm-revisions.inc | 36 - .../include/moblin-2.0-fixed-revisions.inc | 87 - .../distro/include/moblin-fixed-revisions.inc | 38 - .../include/moblin-floating-revisions.inc | 99 - meta-moblin/conf/distro/moblin-bleeding.conf | 2 - meta-moblin/conf/distro/moblin.conf | 13 - meta-moblin/conf/layer.conf | 11 - meta-moblin/packages/anerley/anerley.inc | 6 - meta-moblin/packages/anerley/anerley_0.1.7.bb | 3 - meta-moblin/packages/anerley/anerley_git.bb | 7 - meta-moblin/packages/bickley/bickley.inc | 9 - meta-moblin/packages/bickley/bickley_0.4.bb | 4 - meta-moblin/packages/bickley/bickley_git.bb | 5 - meta-moblin/packages/bisho/bisho.inc | 9 - meta-moblin/packages/bisho/bisho_0.17.1.bb | 1 - meta-moblin/packages/bisho/bisho_git.bb | 5 - .../packages/bognor-regis/bognor-regis.inc | 9 - .../bognor-regis/bognor-regis_0.5.0.bb | 3 - .../packages/bognor-regis/bognor-regis_git.bb | 5 - meta-moblin/packages/carrick/carrick.inc | 14 - .../packages/carrick/carrick_1.1.13.bb | 1 - meta-moblin/packages/carrick/carrick_git.bb | 5 - .../clutter-imcontext_git.bb | 13 - .../packages/clutter/clutter-mozembed.inc | 14 - ...32f3e2c8d1a70ab01cc7adb63760d8718b41.patch | 13 - .../clutter-mozembed/link-with-g++.patch | 13 - .../packages/clutter/clutter-mozembed_git.bb | 14 - .../packages/consolekit/consolekit_0.3.0.bb | 15 - .../packages/consolekit/files/nopolkit.patch | 16 - meta-moblin/packages/dalston/dalston.inc | 7 - .../packages/dalston/dalston_0.1.12.bb | 1 - meta-moblin/packages/dalston/dalston_git.bb | 6 - .../droid-fonts-sans-fontconfig.conf | 24 - .../droid-fonts-sans-mono-fontconfig.conf | 16 - .../droid-fonts-serif-fontconfig.conf | 16 - .../droid-fonts/droid-fonts_1.0.112.bb | 38 - .../packages/gmime/gmime/iconv-detect.h | 5 - meta-moblin/packages/gmime/gmime/nodolt.patch | 12 - meta-moblin/packages/gmime/gmime_2.4.10.bb | 20 - .../packages/gnet/files/buildfix.patch | 13 - .../packages/gnet/files/configure_fix.patch | 58 - .../packages/gnet/files/pkgconfig_fix.patch | 12 - meta-moblin/packages/gnet/gnet_svn.bb | 20 - .../packages/gnome/gnome-menus_2.24.1.bb | 13 - meta-moblin/packages/gnome/gvfs_1.0.2.bb | 17 - .../fixpkgconfig.patch | 13 - .../mobile-broadband-provider-info_git.bb | 9 - meta-moblin/packages/hornsey/Makefile.am | 662 - meta-moblin/packages/hornsey/hornsey.inc | 13 - meta-moblin/packages/hornsey/hornsey_1.0.bb | 5 - meta-moblin/packages/hornsey/hornsey_git.bb | 5 - .../images/moblin-image-directdisk.inc | 8 - .../packages/images/moblin-image-live.inc | 27 - .../images/moblin-image-minimal-initramfs.bb | 12 - .../images/moblin-image-minimal-live.bb | 9 - .../packages/images/moblin-image-minimal.bb | 12 - .../images/moblin-image-netbook-directdisk.bb | 10 - .../images/moblin-image-netbook-live.bb | 9 - .../packages/images/moblin-image-netbook.bb | 7 - .../packages/images/moblin-image-sdk-live.bb | 10 - .../packages/images/moblin-image-sdk.bb | 7 - .../packages/json-glib/json-glib_0.6.2.bb | 7 - .../packages/json-glib/json-glib_git.bb | 19 - meta-moblin/packages/libccss/libccss_git.bb | 12 - meta-moblin/packages/libidl/libidl_0.8.12.bb | 16 - .../packages/libjana/libjana/clockpatch.patch | 31 - meta-moblin/packages/libjana/libjana_git.bb | 27 - .../packages/libnotify/libnotify_0.4.4.bb | 10 - meta-moblin/packages/librest/librest_git.bb | 14 - .../libsamplerate/libsamplerate0_0.1.2.bb | 10 - .../files/libsexy-pkgconfig-fixes.patch | 15 - meta-moblin/packages/libsexy/libsexy.inc | 13 - .../packages/libsexy/libsexy_0.1.11.bb | 2 - .../libsndfile/libsndfile1/acincludefix.patch | 26 - .../libsndfile/libsndfile1/add-cxx.patch | 18 - .../packages/libsndfile/libsndfile1_1.0.17.bb | 22 - .../packages/libsocialweb/libsocialweb.inc | 13 - .../packages/libsocialweb/libsocialweb_git.bb | 5 - .../packages/libsynthesis/libsynthesis_git.bb | 18 - .../packages/libunique/libunique_1.0.6.bb | 8 - .../matchbox-session-netbook/session | 5 - .../matchbox-session-netbook_0.1.bb | 223 - ...50079c8bcc63874fd60a61f23d849e025445.patch | 44 - .../moblin-app-installer/opkg.patch | 75 - .../moblin-app-installer_git.bb | 12 - .../moblin-cursor-theme-0.1.tar.bz2 | Bin 106543 -> 0 bytes .../moblin-cursor-theme_0.1.bb | 12 - .../moblin-feed-config-opkg_1.0.bb | 31 - .../moblin-gtk-engine_git.bb | 15 - .../moblin-icon-theme-0.7.tar.gz | Bin 483556 -> 0 bytes .../moblin-icon-theme_0.7.bb | 13 - .../moblin-icon-theme_git.bb | 12 - .../moblin-menus/configurefix.patch | 13 - .../packages/moblin-menus/moblin-menus_git.bb | 13 - .../moblin-sound-theme-0.1.tar.bz2 | Bin 422383 -> 0 bytes .../moblin-sound-theme_0.1.bb | 7 - .../moblin-user-skel/moblin-user-skel_git.bb | 20 - ...d155cc297811720e4c4835d468ac6c4d9666.patch | 35 - ...9b3d3242b7106a22721e73fbb15904a24b2f.patch | 35 - ...71159bef93dc03762195bd5404a51db5e4a6.patch | 35 - .../moblin-web-browser/xpidl.patch | 35 - .../moblin-web-browser_git.bb | 24 - meta-moblin/packages/mojito/mojito.inc | 13 - meta-moblin/packages/mojito/mojito_0.21.7.bb | 1 - meta-moblin/packages/mojito/mojito_git.bb | 5 - meta-moblin/packages/monit/monit-4.10.1/init | 42 - .../packages/monit/monit-4.10.1/nostrip.patch | 13 - meta-moblin/packages/monit/monit_4.10.1.bb | 27 - .../confighack.patch | 13 - .../mozilla-headless-services_git.bb | 14 - ...tk-clipboard-support-to-moz-headless.patch | 1478 -- .../mozilla-headless/autoconffix.patch | 66 - .../mozilla-headless/buildfixhack.patch | 14 - .../configurefix-1a622cb7c384.patch | 764 - .../mozilla-headless/configurefix.patch | 774 - .../mozilla-headless/i386/jsautocfg.h | 21 - .../mozilla-headless/i486/jsautocfg.h | 21 - .../mozilla-headless/i586/jsautocfg.h | 21 - .../mozilla-headless/i686/jsautocfg.h | 21 - .../mozilla-headless/mozconfig | 23 - .../mozilla-headless/mozilla-jemalloc.patch | 24 - .../removebadrpath-1a622cb7c384.patch | 26 - .../mozilla-headless/removebadrpath.patch | 44 - .../mozilla-headless/mozilla-headless_hg.bb | 99 - .../mutter-moblin/files/88mutter-panelapps.sh | 3 - .../mutter-moblin/files/background-tile.png | Bin 194031 -> 0 bytes .../mutter-moblin/files/startup-notify.patch | 51 - .../moblin-panel-applications.inc | 11 - .../moblin-panel-applications_0.1.2.bb | 1 - .../moblin-panel-applications_git.bb | 5 - .../mutter-moblin/moblin-panel-media.inc | 10 - .../mutter-moblin/moblin-panel-media_0.0.7.bb | 1 - .../mutter-moblin/moblin-panel-media_git.bb | 6 - .../mutter-moblin/moblin-panel-myzone.inc | 10 - .../moblin-panel-myzone_0.0.12.bb | 3 - .../mutter-moblin/moblin-panel-myzone_git.bb | 9 - .../mutter-moblin/moblin-panel-pasteboard.inc | 10 - .../moblin-panel-pasteboard_0.0.2.bb | 1 - .../moblin-panel-pasteboard_git.bb | 5 - .../mutter-moblin/moblin-panel-people.inc | 11 - .../moblin-panel-people_0.0.9.bb | 1 - .../mutter-moblin/moblin-panel-people_git.bb | 5 - .../mutter-moblin/moblin-panel-status.inc | 11 - .../moblin-panel-status_0.0.9.bb | 3 - .../mutter-moblin/moblin-panel-status_git.bb | 6 - .../packages/mutter-moblin/mutter-moblin.inc | 50 - .../mutter-moblin/mutter-moblin_0.43.8.bb | 6 - .../mutter-moblin/mutter-moblin_git.bb | 12 - meta-moblin/packages/mx/mx_git.bb | 16 - .../nautilus/nautilus/idl-sysroot.patch | 7 - .../nautilus/no-try-run-strftime.diff | 28 - .../packages/nautilus/nautilus_2.26.1.bb | 29 - meta-moblin/packages/nbtk/nbtk.inc | 15 - meta-moblin/packages/nbtk/nbtk_1.2.3.bb | 1 - meta-moblin/packages/nbtk/nbtk_git.bb | 5 - .../packagekit/gnome-packagekit_2.28.2.bb | 17 - .../packagekit-0.5.6/configurefix.patch | 13 - .../packagekit-0.5.6/opkgfixes.patch | 421 - .../packagekit-0.6.0/configurefix.patch | 13 - .../packagekit-0.6.0/opkgfixes.patch | 421 - .../packages/packagekit/packagekit_0.5.6.bb | 57 - .../pulseaudio/libatomics-ops/doublefix.patch | 25 - .../fedora/libatomic_ops-1.2-ppclwzfix.patch | 15 - .../packages/pulseaudio/libatomics-ops_1.2.bb | 14 - .../libcanberra/autoconf_version.patch | 38 - .../libcanberra/nofallbackfix.patch | 16 - .../packages/pulseaudio/libcanberra_0.10.bb | 22 - .../pulseaudio-0.9.15/alsaerror.patch | 525 - .../pulseaudio-0.9.15/autoconf_version.patch | 13 - .../pulseaudio-0.9.15/buildfix.patch | 13 - .../pulseaudio-0.9.15/fallback.patch | 338 - .../pulseaudio-0.9.15/gcc4-compile-fix.patch | 18 - .../pulseaudio-0.9.15/periodfix.patch | 73 - .../pulseaudio-0.9.15/volatiles.04_pulse | 2 - .../packages/pulseaudio/pulseaudio.inc | 126 - .../packages/pulseaudio/pulseaudio_0.9.15.bb | 18 - .../qmake/qmake-native/linux-oe-qmake.conf | 82 - .../packages/qmake/qmake-native_1.07a.bb | 47 - .../packages/samba/files/config-h.patch | 12 - .../packages/samba/files/config-lfs.patch | 47 - .../samba/files/configure-3.3.0.patch | 87 - .../packages/samba/files/configure.patch | 179 - meta-moblin/packages/samba/files/init | 58 - meta-moblin/packages/samba/files/mtab.patch | 11 - meta-moblin/packages/samba/files/quota.patch | 11 - meta-moblin/packages/samba/files/smb.conf | 266 - meta-moblin/packages/samba/files/tdb.pc | 11 - .../packages/samba/files/tdbheaderfix.patch | 14 - .../packages/samba/files/volatiles.03_samba | 2 - meta-moblin/packages/samba/samba-basic.inc | 25 - meta-moblin/packages/samba/samba.inc | 81 - meta-moblin/packages/samba/samba_3.3.0.bb | 35 - .../sreadahead/files/sreadahead-generate.sh | 21 - .../packages/sreadahead/files/sreadahead.sh | 7 - .../sreadahead-0.02/readahead_c.patch | 29 - .../sreadahead-0.02/set_to_idle.patch | 39 - .../sreadahead-0.02-make.patch | 27 - .../packages/sreadahead/sreadahead_0.02.bb | 48 - .../syncevolution/syncevolution_git.bb | 17 - .../tasks/task-moblin-apps-x11-pimlico.bb | 23 - .../packages/tasks/task-moblin-boot.bb | 42 - meta-moblin/packages/tasks/task-moblin-sdk.bb | 85 - .../task-moblin-standalone-sdk-target.bb | 67 - .../packages/tasks/task-moblin-tools.bb | 58 - .../packages/tasks/task-moblin-x11-netbook.bb | 56 - meta-moblin/packages/tasks/task-moblin.bb | 61 - .../tracker-0.7.18/20-tracker-defaults.patch | 13 - .../packages/tracker/tracker-0.7.18/90tracker | 4 - .../munge-configure.ac-cross-compile.patch | 39 - .../packages/tracker/tracker_0.7.18.bb | 26 - .../twitter-glib/twitter-glib/nodolt.patch | 12 - .../packages/twitter-glib/twitter-glib_git.bb | 17 - .../uicmoc3-native-3.3.5/64bit-cleanup.patch | 160 - .../uicmoc3-native-3.3.5/no-examples.patch | 16 - .../packages/uicmoc/uicmoc3-native_3.3.5.bb | 56 - .../xdg-user-dirs/configurefix.patch | 18 - .../xdg-user-dirs/xdg-user-dirs_0.10.bb | 12 - .../xerces-c/xerces-c/nolocallink.patch | 34 - .../packages/xerces-c/xerces-c_2.8.0.bb | 31 - 468 files changed, 46774 deletions(-) delete mode 100644 meta-extras/COPYING.MIT delete mode 100644 meta-extras/conf/distro/include/poky-extras-src-revisions.inc delete mode 100644 meta-extras/conf/layer.conf delete mode 100644 meta-extras/conf/machine/mx31litekit.conf delete mode 100644 meta-extras/conf/machine/nokia770.conf delete mode 100644 meta-extras/conf/machine/nokia800.conf delete mode 100644 meta-extras/conf/machine/om-gta01.conf delete mode 100644 meta-extras/conf/machine/om-gta02.conf delete mode 100644 meta-extras/packages/acct/acct_6.3.99+6.4pre1.bb delete mode 100644 meta-extras/packages/acct/files/cross-compile.patch delete mode 100644 meta-extras/packages/clutter/clutter-helix.inc delete mode 100644 meta-extras/packages/clutter/clutter-helix_git.bb delete mode 100644 meta-extras/packages/clutter/moblin-proto/fix-shader-and-callbacks.patch delete mode 100644 meta-extras/packages/clutter/moblin-proto/fix.patch delete mode 100644 meta-extras/packages/clutter/moblin-proto/paths.patch delete mode 100644 meta-extras/packages/clutter/moblin-proto_git.bb delete mode 100644 meta-extras/packages/cx3110x/cx3110x_1.1.bb delete mode 100644 meta-extras/packages/cx3110x/cx3110x_2.0.15.bb delete mode 100644 meta-extras/packages/cx3110x/files/no-linux-config.patch delete mode 100644 meta-extras/packages/eventlog/eventlog_0.2.5.bb delete mode 100644 meta-extras/packages/evince/evince_2.20.0.bb delete mode 100644 meta-extras/packages/evince/evince_svn.bb delete mode 100644 meta-extras/packages/evince/files/no-icon-theme.diff delete mode 100644 meta-extras/packages/flumotion/flumotion/no-check-for-python-stuff.patch delete mode 100644 meta-extras/packages/flumotion/flumotion/python-path.patch delete mode 100644 meta-extras/packages/flumotion/flumotion_0.4.1.bb delete mode 100644 meta-extras/packages/gnome/libbonobo.inc delete mode 100644 meta-extras/packages/gnome/libbonobo/configure-gthread.patch delete mode 100644 meta-extras/packages/gnome/libbonobo/gtk-doc.m4 delete mode 100644 meta-extras/packages/gnome/libbonobo/gtk-doc.make delete mode 100644 meta-extras/packages/gnome/libbonobo_2.22.0.bb delete mode 100644 meta-extras/packages/gnome/libbonoboui_2.18.0.bb delete mode 100644 meta-extras/packages/gnome/orbit2-native_2.14.12.bb delete mode 100644 meta-extras/packages/gnome/orbit2/configure-lossage.patch delete mode 100644 meta-extras/packages/gnome/orbit2/gtk-doc.m4 delete mode 100644 meta-extras/packages/gnome/orbit2/gtk-doc.make delete mode 100644 meta-extras/packages/gnome/orbit2/pkgconfig-fix.patch delete mode 100644 meta-extras/packages/gnome/orbit2_2.14.16.bb delete mode 100644 meta-extras/packages/helix/helix-libs.bb delete mode 100644 meta-extras/packages/helix/helix-libs/add-clutter.patch delete mode 100644 meta-extras/packages/helix/helix-libs/helix-player.pc delete mode 100644 meta-extras/packages/helix/helix-libs/hxclient.pc delete mode 100644 meta-extras/packages/helix/ribosome.bb delete mode 100644 meta-extras/packages/helix/ribosome/buildrc delete mode 100755 meta-extras/packages/helix/ribosome/clutter.bif delete mode 100644 meta-extras/packages/images/poky-image-extras.bb delete mode 100644 meta-extras/packages/libol/libol_0.3.18.bb delete mode 100644 meta-extras/packages/librds/librds_0.0.1.bb delete mode 100644 meta-extras/packages/libxosd/files/autofoo.patch delete mode 100644 meta-extras/packages/libxosd/files/use-sane-default-font.patch delete mode 100644 meta-extras/packages/libxosd/libxosd_svn.bb delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/fix_oprofile.patch delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770/defconfig delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770_nand_fix.patch delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia800/defconfig delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/kernel-source_2.6.21-200823maemo6.diff.gz delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/nokia800/defconfig delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/suspend-button.patch delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig delete mode 100644 meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/suspend-button.patch delete mode 100644 meta-extras/packages/linux/linux-nokia800.inc delete mode 100644 meta-extras/packages/linux/linux-nokia800_2.6.18-osso40.bb delete mode 100644 meta-extras/packages/linux/linux-nokia800_2.6.21-200823maemo6.bb delete mode 100644 meta-extras/packages/linux/linux-nokia800_2.6.21-osso71.bb delete mode 100644 meta-extras/packages/linux/linux-openmoko.inc delete mode 100644 meta-extras/packages/linux/linux-openmoko/timespec_add_ns_avoid_udivdi3.patch delete mode 100644 meta-extras/packages/linux/linux-openmoko_2.6.24+git.bb delete mode 100644 meta-extras/packages/lirc/files/lirc_sir-sa1100.patch delete mode 100644 meta-extras/packages/lirc/files/lircd.conf_nslu2 delete mode 100755 meta-extras/packages/lirc/files/lircd.init delete mode 100755 meta-extras/packages/lirc/files/lircexec.init delete mode 100755 meta-extras/packages/lirc/files/lircmd.init delete mode 100644 meta-extras/packages/lirc/files/lircrc_nslu2 delete mode 100644 meta-extras/packages/lirc/files/split-hauppauge.patch delete mode 100644 meta-extras/packages/lirc/lirc-config.inc delete mode 100644 meta-extras/packages/lirc/lirc-modules_0.8.3.bb delete mode 100644 meta-extras/packages/lirc/lirc_0.8.3.bb delete mode 100644 meta-extras/packages/llvm/llvm-native/fix_ldflags_export.patch delete mode 100644 meta-extras/packages/llvm/llvm-native_svn.bb delete mode 100644 meta-extras/packages/madplay/madplay_0.15.2b.bb delete mode 100644 meta-extras/packages/maemo-mapper/files/fix_segfault.patch delete mode 100644 meta-extras/packages/maemo-mapper/maemo-mapper-nohildon_svn.bb delete mode 100644 meta-extras/packages/maemo/nokia770-init/fixup-770.sh delete mode 100644 meta-extras/packages/maemo/nokia770-init_1.0.bb delete mode 100644 meta-extras/packages/maemo/xpext/auxdir.patch delete mode 100644 meta-extras/packages/maemo/xpext_1.0-5.bb delete mode 100644 meta-extras/packages/maemo/xsp_1.0.0-8.bb delete mode 100644 meta-extras/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb delete mode 100644 meta-extras/packages/matchbox-applet-light/matchbox-applet-light_svn.bb delete mode 100644 meta-extras/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb delete mode 100644 meta-extras/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb delete mode 100644 meta-extras/packages/matchbox-common/matchbox-common_0.9.1.bb delete mode 100644 meta-extras/packages/matchbox-common/matchbox-common_svn.bb delete mode 100644 meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop delete mode 100755 meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home delete mode 100644 meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop delete mode 100755 meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh delete mode 100644 meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr.png delete mode 100644 meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb delete mode 100644 meta-extras/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb delete mode 100644 meta-extras/packages/matchbox-panel/matchbox-panel.inc delete mode 100644 meta-extras/packages/matchbox-panel/matchbox-panel_0.9.2.bb delete mode 100644 meta-extras/packages/matchbox-panel/matchbox-panel_svn.bb delete mode 100644 meta-extras/packages/mozilla/files/eabi-fix.patch delete mode 100644 meta-extras/packages/mozilla/files/eabi-fix2.patch delete mode 100644 meta-extras/packages/mozilla/files/eabi-fix3.patch delete mode 100644 meta-extras/packages/mozilla/files/minimo.desktop delete mode 100644 meta-extras/packages/mozilla/files/minimo.png delete mode 100644 meta-extras/packages/mozilla/minimo/bug-322806.diff delete mode 100644 meta-extras/packages/mozilla/minimo/minimo delete mode 100644 meta-extras/packages/mozilla/minimo/minimo.patch delete mode 100644 meta-extras/packages/mozilla/minimo/minimo.png delete mode 100644 meta-extras/packages/mozilla/minimo/mozconfig delete mode 100644 meta-extras/packages/mozilla/minimo_cvs.bb delete mode 100644 meta-extras/packages/networkmanager/files/70NetworkManagerApplet.shbg delete mode 100644 meta-extras/packages/networkmanager/files/99_networkmanager delete mode 100644 meta-extras/packages/networkmanager/files/NetworkManager delete mode 100644 meta-extras/packages/networkmanager/files/allow-disabling.patch delete mode 100644 meta-extras/packages/networkmanager/files/applet-no-animation.patch delete mode 100644 meta-extras/packages/networkmanager/files/applet-no-gnome.diff delete mode 100644 meta-extras/packages/networkmanager/files/libnlfix.patch delete mode 100644 meta-extras/packages/networkmanager/files/makefile-fix.patch delete mode 100644 meta-extras/packages/networkmanager/files/nmutil-fix.patch delete mode 100644 meta-extras/packages/networkmanager/files/no-restarts.diff delete mode 100644 meta-extras/packages/networkmanager/files/no_vpn.patch delete mode 100644 meta-extras/packages/networkmanager/networkmanager-applet_svn.bb delete mode 100644 meta-extras/packages/networkmanager/networkmanager_svn.bb delete mode 100644 meta-extras/packages/notification-daemon/files/no-wnck-sexy.patch delete mode 100644 meta-extras/packages/notification-daemon/notification-daemon_0.3.7.bb delete mode 100755 meta-extras/packages/osc/osc-native_svn.bb delete mode 100644 meta-extras/packages/prism-firmware/prism-firmware.bb delete mode 100644 meta-extras/packages/prism-firmware/prism-firmware/hostap.rules delete mode 100644 meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh delete mode 100644 meta-extras/packages/python/python-iniparse-native_0.3.2.bb delete mode 100644 meta-extras/packages/python/python-iniparse_0.3.2.bb delete mode 100644 meta-extras/packages/python/python-urlgrabber-native_3.9.1.bb delete mode 100644 meta-extras/packages/python/python-urlgrabber/urlgrabber-3.0.0-cleanup.patch delete mode 100644 meta-extras/packages/python/python-urlgrabber/urlgrabber-HEAD.patch delete mode 100644 meta-extras/packages/python/python-urlgrabber/urlgrabber-reset.patch delete mode 100644 meta-extras/packages/python/python-urlgrabber_3.9.1.bb delete mode 100644 meta-extras/packages/python/yum-metadata-parser-native_1.1.4.bb delete mode 100644 meta-extras/packages/python/yum-metadata-parser_1.1.4.bb delete mode 100644 meta-extras/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch delete mode 100644 meta-extras/packages/qmake/qmake2-cross/linux-oe-qmake.conf delete mode 100644 meta-extras/packages/qmake/qmake2-cross/use-lflags-last.patch delete mode 100644 meta-extras/packages/qmake/qmake2-cross_2.10a.bb delete mode 100644 meta-extras/packages/redland/files/crosscompile.patch delete mode 100644 meta-extras/packages/redland/files/sane_pkgconfig.patch delete mode 100644 meta-extras/packages/redland/redland_1.0.8.bb delete mode 100644 meta-extras/packages/smart/smart_1.1.bb delete mode 100644 meta-extras/packages/spectrum-fw/spectrum-fw.bb delete mode 100755 meta-extras/packages/spectrum-fw/spectrum-fw/get_symbol_fw delete mode 100755 meta-extras/packages/spectrum-fw/spectrum-fw/parse_symbol_fw delete mode 100644 meta-extras/packages/syslog-ng/files/initscript delete mode 100644 meta-extras/packages/syslog-ng/files/syslog-ng.conf delete mode 100644 meta-extras/packages/syslog-ng/syslog-ng_2.0.5.bb delete mode 100644 meta-extras/packages/tasks/task-poky-extras.bb delete mode 100644 meta-extras/packages/tasks/task-poky-x11-netbook.bb delete mode 100644 meta-extras/packages/twisted/twisted-2.5.0/remove-zope-check.patch delete mode 100644 meta-extras/packages/twisted/twisted_2.5.0.bb delete mode 100644 meta-extras/packages/uicmoc/uicmoc4-native.inc delete mode 100644 meta-extras/packages/uicmoc/uicmoc4-native_4.3.2.bb delete mode 100644 meta-extras/packages/xorg-app/iceauth_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/luit_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/oclock_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/rgb_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/sessreg_1.0.4.bb delete mode 100644 meta-extras/packages/xorg-app/twm_1.0.4.bb delete mode 100644 meta-extras/packages/xorg-app/xbiff_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xclipboard_1.1.0.bb delete mode 100644 meta-extras/packages/xorg-app/xclock_1.0.4.bb delete mode 100644 meta-extras/packages/xorg-app/xcmsdb_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xconsole_1.0.3.bb delete mode 100644 meta-extras/packages/xorg-app/xcursorgen_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xdriinfo_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xfd_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xfontsel_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xgamma_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xkbevd_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xkbprint_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xkbutils_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xkill_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xload_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xlogo_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xlsatoms_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xlsclients_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xlsfonts_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xmag_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xmessage_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xorg-app-common.inc delete mode 100644 meta-extras/packages/xorg-app/xpr_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xrefresh_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xsetroot_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xstdcmap_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xterm_207.bb delete mode 100644 meta-extras/packages/xorg-app/xtrap_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xvidtune_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xvinfo_1.0.2.bb delete mode 100644 meta-extras/packages/xorg-app/xwd_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-app/xwud_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-data/xbitmaps_1.0.1.bb delete mode 100644 meta-extras/packages/xorg-data/xorg-data-common.inc delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fbdev-not-fix.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix-picturestr-include-order.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix_default_mode.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/gumstix-kmode.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kdrive-1.3-18bpp.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode-palm.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-autofoo.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-fix-offscreen-bmp.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-new-input-world-order.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/button_only.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/configfix.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-apm.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xf86-dga-xorgcfg.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xkb.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-builtin-fonts.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-tslib.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fbdev-not-fix.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-evdev.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-use-evdev.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kmode.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/no-serial-probing.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xfbdev-fb-opt.patch delete mode 100644 meta-extras/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb delete mode 100644 meta-extras/packages/yum/createrepo-native/pathfix.patch delete mode 100644 meta-extras/packages/yum/createrepo-native_0.9.8.bb delete mode 100644 meta-extras/packages/yum/files/98_yum delete mode 100644 meta-extras/packages/yum/files/extract-postinst.awk delete mode 100644 meta-extras/packages/yum/files/fix delete mode 100644 meta-extras/packages/yum/files/hacks.patch delete mode 100644 meta-extras/packages/yum/files/paths.patch delete mode 100644 meta-extras/packages/yum/files/paths2.patch delete mode 100755 meta-extras/packages/yum/files/yum-install-recommends.py delete mode 100644 meta-extras/packages/yum/yum_3.2.27.bb delete mode 100644 meta-extras/packages/zope/zope_3.3.1.bb delete mode 100644 meta-moblin/classes/moblin-feed-incremental-bleeding.bbclass delete mode 100644 meta-moblin/classes/moblin-image.bbclass delete mode 100644 meta-moblin/classes/qt3e.bbclass delete mode 100644 meta-moblin/classes/qt3x11.bbclass delete mode 100644 meta-moblin/classes/qt4x11.bbclass delete mode 100644 meta-moblin/classes/qtopia4core.bbclass delete mode 100644 meta-moblin/conf/distro/include/meta-moblin-scm-revisions.inc delete mode 100644 meta-moblin/conf/distro/include/moblin-2.0-fixed-revisions.inc delete mode 100644 meta-moblin/conf/distro/include/moblin-fixed-revisions.inc delete mode 100644 meta-moblin/conf/distro/include/moblin-floating-revisions.inc delete mode 100644 meta-moblin/conf/distro/moblin-bleeding.conf delete mode 100644 meta-moblin/conf/distro/moblin.conf delete mode 100644 meta-moblin/conf/layer.conf delete mode 100644 meta-moblin/packages/anerley/anerley.inc delete mode 100644 meta-moblin/packages/anerley/anerley_0.1.7.bb delete mode 100644 meta-moblin/packages/anerley/anerley_git.bb delete mode 100644 meta-moblin/packages/bickley/bickley.inc delete mode 100644 meta-moblin/packages/bickley/bickley_0.4.bb delete mode 100644 meta-moblin/packages/bickley/bickley_git.bb delete mode 100644 meta-moblin/packages/bisho/bisho.inc delete mode 100644 meta-moblin/packages/bisho/bisho_0.17.1.bb delete mode 100644 meta-moblin/packages/bisho/bisho_git.bb delete mode 100644 meta-moblin/packages/bognor-regis/bognor-regis.inc delete mode 100644 meta-moblin/packages/bognor-regis/bognor-regis_0.5.0.bb delete mode 100644 meta-moblin/packages/bognor-regis/bognor-regis_git.bb delete mode 100644 meta-moblin/packages/carrick/carrick.inc delete mode 100644 meta-moblin/packages/carrick/carrick_1.1.13.bb delete mode 100644 meta-moblin/packages/carrick/carrick_git.bb delete mode 100644 meta-moblin/packages/clutter-imcontext/clutter-imcontext_git.bb delete mode 100644 meta-moblin/packages/clutter/clutter-mozembed.inc delete mode 100644 meta-moblin/packages/clutter/clutter-mozembed/link-with-g++-da7632f3e2c8d1a70ab01cc7adb63760d8718b41.patch delete mode 100644 meta-moblin/packages/clutter/clutter-mozembed/link-with-g++.patch delete mode 100644 meta-moblin/packages/clutter/clutter-mozembed_git.bb delete mode 100644 meta-moblin/packages/consolekit/consolekit_0.3.0.bb delete mode 100644 meta-moblin/packages/consolekit/files/nopolkit.patch delete mode 100644 meta-moblin/packages/dalston/dalston.inc delete mode 100644 meta-moblin/packages/dalston/dalston_0.1.12.bb delete mode 100644 meta-moblin/packages/dalston/dalston_git.bb delete mode 100644 meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-fontconfig.conf delete mode 100644 meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-mono-fontconfig.conf delete mode 100644 meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-serif-fontconfig.conf delete mode 100644 meta-moblin/packages/droid-fonts/droid-fonts_1.0.112.bb delete mode 100644 meta-moblin/packages/gmime/gmime/iconv-detect.h delete mode 100644 meta-moblin/packages/gmime/gmime/nodolt.patch delete mode 100644 meta-moblin/packages/gmime/gmime_2.4.10.bb delete mode 100644 meta-moblin/packages/gnet/files/buildfix.patch delete mode 100644 meta-moblin/packages/gnet/files/configure_fix.patch delete mode 100644 meta-moblin/packages/gnet/files/pkgconfig_fix.patch delete mode 100644 meta-moblin/packages/gnet/gnet_svn.bb delete mode 100644 meta-moblin/packages/gnome/gnome-menus_2.24.1.bb delete mode 100644 meta-moblin/packages/gnome/gvfs_1.0.2.bb delete mode 100644 meta-moblin/packages/gnome/mobile-broadband-provider-info/fixpkgconfig.patch delete mode 100644 meta-moblin/packages/gnome/mobile-broadband-provider-info_git.bb delete mode 100644 meta-moblin/packages/hornsey/Makefile.am delete mode 100644 meta-moblin/packages/hornsey/hornsey.inc delete mode 100644 meta-moblin/packages/hornsey/hornsey_1.0.bb delete mode 100644 meta-moblin/packages/hornsey/hornsey_git.bb delete mode 100644 meta-moblin/packages/images/moblin-image-directdisk.inc delete mode 100644 meta-moblin/packages/images/moblin-image-live.inc delete mode 100644 meta-moblin/packages/images/moblin-image-minimal-initramfs.bb delete mode 100644 meta-moblin/packages/images/moblin-image-minimal-live.bb delete mode 100644 meta-moblin/packages/images/moblin-image-minimal.bb delete mode 100644 meta-moblin/packages/images/moblin-image-netbook-directdisk.bb delete mode 100644 meta-moblin/packages/images/moblin-image-netbook-live.bb delete mode 100644 meta-moblin/packages/images/moblin-image-netbook.bb delete mode 100644 meta-moblin/packages/images/moblin-image-sdk-live.bb delete mode 100644 meta-moblin/packages/images/moblin-image-sdk.bb delete mode 100644 meta-moblin/packages/json-glib/json-glib_0.6.2.bb delete mode 100644 meta-moblin/packages/json-glib/json-glib_git.bb delete mode 100644 meta-moblin/packages/libccss/libccss_git.bb delete mode 100644 meta-moblin/packages/libidl/libidl_0.8.12.bb delete mode 100644 meta-moblin/packages/libjana/libjana/clockpatch.patch delete mode 100644 meta-moblin/packages/libjana/libjana_git.bb delete mode 100644 meta-moblin/packages/libnotify/libnotify_0.4.4.bb delete mode 100644 meta-moblin/packages/librest/librest_git.bb delete mode 100644 meta-moblin/packages/libsamplerate/libsamplerate0_0.1.2.bb delete mode 100644 meta-moblin/packages/libsexy/files/libsexy-pkgconfig-fixes.patch delete mode 100644 meta-moblin/packages/libsexy/libsexy.inc delete mode 100644 meta-moblin/packages/libsexy/libsexy_0.1.11.bb delete mode 100644 meta-moblin/packages/libsndfile/libsndfile1/acincludefix.patch delete mode 100644 meta-moblin/packages/libsndfile/libsndfile1/add-cxx.patch delete mode 100644 meta-moblin/packages/libsndfile/libsndfile1_1.0.17.bb delete mode 100644 meta-moblin/packages/libsocialweb/libsocialweb.inc delete mode 100644 meta-moblin/packages/libsocialweb/libsocialweb_git.bb delete mode 100644 meta-moblin/packages/libsynthesis/libsynthesis_git.bb delete mode 100644 meta-moblin/packages/libunique/libunique_1.0.6.bb delete mode 100644 meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook/session delete mode 100644 meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook_0.1.bb delete mode 100644 meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg-7f7d50079c8bcc63874fd60a61f23d849e025445.patch delete mode 100644 meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg.patch delete mode 100644 meta-moblin/packages/moblin-app-installer/moblin-app-installer_git.bb delete mode 100644 meta-moblin/packages/moblin-cursor-theme/moblin-cursor-theme-0.1/moblin-cursor-theme-0.1.tar.bz2 delete mode 100644 meta-moblin/packages/moblin-cursor-theme/moblin-cursor-theme_0.1.bb delete mode 100644 meta-moblin/packages/moblin-feeds/moblin-feed-config-opkg_1.0.bb delete mode 100644 meta-moblin/packages/moblin-gtk-engine/moblin-gtk-engine_git.bb delete mode 100644 meta-moblin/packages/moblin-icon-theme/moblin-icon-theme-0.7/moblin-icon-theme-0.7.tar.gz delete mode 100644 meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_0.7.bb delete mode 100644 meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_git.bb delete mode 100644 meta-moblin/packages/moblin-menus/moblin-menus/configurefix.patch delete mode 100644 meta-moblin/packages/moblin-menus/moblin-menus_git.bb delete mode 100644 meta-moblin/packages/moblin-sound-theme/moblin-sound-theme-0.1/moblin-sound-theme-0.1.tar.bz2 delete mode 100644 meta-moblin/packages/moblin-sound-theme/moblin-sound-theme_0.1.bb delete mode 100644 meta-moblin/packages/moblin-user-skel/moblin-user-skel_git.bb delete mode 100644 meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-78ddd155cc297811720e4c4835d468ac6c4d9666.patch delete mode 100644 meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-88f69b3d3242b7106a22721e73fbb15904a24b2f.patch delete mode 100644 meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl-a3ea71159bef93dc03762195bd5404a51db5e4a6.patch delete mode 100644 meta-moblin/packages/moblin-web-browser/moblin-web-browser/xpidl.patch delete mode 100644 meta-moblin/packages/moblin-web-browser/moblin-web-browser_git.bb delete mode 100644 meta-moblin/packages/mojito/mojito.inc delete mode 100644 meta-moblin/packages/mojito/mojito_0.21.7.bb delete mode 100644 meta-moblin/packages/mojito/mojito_git.bb delete mode 100644 meta-moblin/packages/monit/monit-4.10.1/init delete mode 100644 meta-moblin/packages/monit/monit-4.10.1/nostrip.patch delete mode 100644 meta-moblin/packages/monit/monit_4.10.1.bb delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless-services/confighack.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless-services_git.bb delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/0001-Adds-initial-Gtk-clipboard-support-to-moz-headless.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/autoconffix.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/buildfixhack.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix-1a622cb7c384.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/i386/jsautocfg.h delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/i486/jsautocfg.h delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/i586/jsautocfg.h delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/i686/jsautocfg.h delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/mozconfig delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/mozilla-jemalloc.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath-1a622cb7c384.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath.patch delete mode 100644 meta-moblin/packages/mozilla-headless/mozilla-headless_hg.bb delete mode 100644 meta-moblin/packages/mutter-moblin/files/88mutter-panelapps.sh delete mode 100644 meta-moblin/packages/mutter-moblin/files/background-tile.png delete mode 100644 meta-moblin/packages/mutter-moblin/files/startup-notify.patch delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-applications.inc delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-applications_0.1.2.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-applications_git.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-media.inc delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-media_0.0.7.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-media_git.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-myzone.inc delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-myzone_0.0.12.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-myzone_git.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard.inc delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_0.0.2.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_git.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-people.inc delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-people_0.0.9.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-people_git.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-status.inc delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-status_0.0.9.bb delete mode 100644 meta-moblin/packages/mutter-moblin/moblin-panel-status_git.bb delete mode 100644 meta-moblin/packages/mutter-moblin/mutter-moblin.inc delete mode 100644 meta-moblin/packages/mutter-moblin/mutter-moblin_0.43.8.bb delete mode 100644 meta-moblin/packages/mutter-moblin/mutter-moblin_git.bb delete mode 100644 meta-moblin/packages/mx/mx_git.bb delete mode 100644 meta-moblin/packages/nautilus/nautilus/idl-sysroot.patch delete mode 100644 meta-moblin/packages/nautilus/nautilus/no-try-run-strftime.diff delete mode 100644 meta-moblin/packages/nautilus/nautilus_2.26.1.bb delete mode 100644 meta-moblin/packages/nbtk/nbtk.inc delete mode 100644 meta-moblin/packages/nbtk/nbtk_1.2.3.bb delete mode 100644 meta-moblin/packages/nbtk/nbtk_git.bb delete mode 100644 meta-moblin/packages/packagekit/gnome-packagekit_2.28.2.bb delete mode 100644 meta-moblin/packages/packagekit/packagekit-0.5.6/configurefix.patch delete mode 100644 meta-moblin/packages/packagekit/packagekit-0.5.6/opkgfixes.patch delete mode 100644 meta-moblin/packages/packagekit/packagekit-0.6.0/configurefix.patch delete mode 100644 meta-moblin/packages/packagekit/packagekit-0.6.0/opkgfixes.patch delete mode 100644 meta-moblin/packages/packagekit/packagekit_0.5.6.bb delete mode 100644 meta-moblin/packages/pulseaudio/libatomics-ops/doublefix.patch delete mode 100644 meta-moblin/packages/pulseaudio/libatomics-ops/fedora/libatomic_ops-1.2-ppclwzfix.patch delete mode 100644 meta-moblin/packages/pulseaudio/libatomics-ops_1.2.bb delete mode 100644 meta-moblin/packages/pulseaudio/libcanberra/autoconf_version.patch delete mode 100644 meta-moblin/packages/pulseaudio/libcanberra/nofallbackfix.patch delete mode 100644 meta-moblin/packages/pulseaudio/libcanberra_0.10.bb delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/alsaerror.patch delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/autoconf_version.patch delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/buildfix.patch delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/fallback.patch delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/gcc4-compile-fix.patch delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/periodfix.patch delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/volatiles.04_pulse delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio.inc delete mode 100644 meta-moblin/packages/pulseaudio/pulseaudio_0.9.15.bb delete mode 100644 meta-moblin/packages/qmake/qmake-native/linux-oe-qmake.conf delete mode 100644 meta-moblin/packages/qmake/qmake-native_1.07a.bb delete mode 100644 meta-moblin/packages/samba/files/config-h.patch delete mode 100644 meta-moblin/packages/samba/files/config-lfs.patch delete mode 100644 meta-moblin/packages/samba/files/configure-3.3.0.patch delete mode 100644 meta-moblin/packages/samba/files/configure.patch delete mode 100644 meta-moblin/packages/samba/files/init delete mode 100644 meta-moblin/packages/samba/files/mtab.patch delete mode 100644 meta-moblin/packages/samba/files/quota.patch delete mode 100644 meta-moblin/packages/samba/files/smb.conf delete mode 100644 meta-moblin/packages/samba/files/tdb.pc delete mode 100644 meta-moblin/packages/samba/files/tdbheaderfix.patch delete mode 100644 meta-moblin/packages/samba/files/volatiles.03_samba delete mode 100644 meta-moblin/packages/samba/samba-basic.inc delete mode 100644 meta-moblin/packages/samba/samba.inc delete mode 100644 meta-moblin/packages/samba/samba_3.3.0.bb delete mode 100755 meta-moblin/packages/sreadahead/files/sreadahead-generate.sh delete mode 100755 meta-moblin/packages/sreadahead/files/sreadahead.sh delete mode 100644 meta-moblin/packages/sreadahead/sreadahead-0.02/readahead_c.patch delete mode 100644 meta-moblin/packages/sreadahead/sreadahead-0.02/set_to_idle.patch delete mode 100644 meta-moblin/packages/sreadahead/sreadahead-0.02/sreadahead-0.02-make.patch delete mode 100644 meta-moblin/packages/sreadahead/sreadahead_0.02.bb delete mode 100644 meta-moblin/packages/syncevolution/syncevolution_git.bb delete mode 100644 meta-moblin/packages/tasks/task-moblin-apps-x11-pimlico.bb delete mode 100644 meta-moblin/packages/tasks/task-moblin-boot.bb delete mode 100644 meta-moblin/packages/tasks/task-moblin-sdk.bb delete mode 100644 meta-moblin/packages/tasks/task-moblin-standalone-sdk-target.bb delete mode 100644 meta-moblin/packages/tasks/task-moblin-tools.bb delete mode 100644 meta-moblin/packages/tasks/task-moblin-x11-netbook.bb delete mode 100644 meta-moblin/packages/tasks/task-moblin.bb delete mode 100644 meta-moblin/packages/tracker/tracker-0.7.18/20-tracker-defaults.patch delete mode 100755 meta-moblin/packages/tracker/tracker-0.7.18/90tracker delete mode 100644 meta-moblin/packages/tracker/tracker-0.7.18/munge-configure.ac-cross-compile.patch delete mode 100644 meta-moblin/packages/tracker/tracker_0.7.18.bb delete mode 100644 meta-moblin/packages/twitter-glib/twitter-glib/nodolt.patch delete mode 100644 meta-moblin/packages/twitter-glib/twitter-glib_git.bb delete mode 100644 meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch delete mode 100644 meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/no-examples.patch delete mode 100644 meta-moblin/packages/uicmoc/uicmoc3-native_3.3.5.bb delete mode 100644 meta-moblin/packages/xdg-user-dirs/xdg-user-dirs/configurefix.patch delete mode 100644 meta-moblin/packages/xdg-user-dirs/xdg-user-dirs_0.10.bb delete mode 100644 meta-moblin/packages/xerces-c/xerces-c/nolocallink.patch delete mode 100644 meta-moblin/packages/xerces-c/xerces-c_2.8.0.bb diff --git a/meta-extras/COPYING.MIT b/meta-extras/COPYING.MIT deleted file mode 100644 index fb950dc69f..0000000000 --- a/meta-extras/COPYING.MIT +++ /dev/null @@ -1,17 +0,0 @@ -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/meta-extras/conf/distro/include/poky-extras-src-revisions.inc b/meta-extras/conf/distro/include/poky-extras-src-revisions.inc deleted file mode 100644 index 4fc380ad84..0000000000 --- a/meta-extras/conf/distro/include/poky-extras-src-revisions.inc +++ /dev/null @@ -1,6 +0,0 @@ -SRCREV_pn-evince ??= "2437" -SRCDATE_maemo-mapper-nohildon ??= "20061114" -SRCREV_pn-libxosd ??= "627" -SRCREV_pn-matchbox-applet-light ??= "1548" -SRCREV_pn-matchbox-common ??= "1561" - diff --git a/meta-extras/conf/layer.conf b/meta-extras/conf/layer.conf deleted file mode 100644 index c992abc9f6..0000000000 --- a/meta-extras/conf/layer.conf +++ /dev/null @@ -1,11 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH := "${BBPATH}:${LAYERDIR}" - -# We have a packages directory, add to BBFILES -BBFILES := "${BBFILES} ${LAYERDIR}/packages/*/*.bb" - -BBFILE_COLLECTIONS += "extras" -BBFILE_PATTERN_extras := "^${LAYERDIR}/" -BBFILE_PRIORITY_extras = "5" - -require conf/distro/include/poky-extras-src-revisions.inc diff --git a/meta-extras/conf/machine/mx31litekit.conf b/meta-extras/conf/machine/mx31litekit.conf deleted file mode 100644 index 2dc2883759..0000000000 --- a/meta-extras/conf/machine/mx31litekit.conf +++ /dev/null @@ -1,14 +0,0 @@ -#@TYPE: Machine -#@NAME: imx31 Lite Kit -#@DESCRIPTION: Machine configuration for the imx31 based Lite Kit -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6" - -PREFERRED_PROVIDER_virtual/kernel = "linux-mx31" - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth irda screen touchscreen" - -IMAGE_FSTYPES ?= "tar.gz" -SERIAL_CONSOLE = "-L 115200 ttymxc0" - -require conf/machine/include/tune-arm1136jf-s.inc diff --git a/meta-extras/conf/machine/nokia770.conf b/meta-extras/conf/machine/nokia770.conf deleted file mode 100644 index c8b4c3c912..0000000000 --- a/meta-extras/conf/machine/nokia770.conf +++ /dev/null @@ -1,35 +0,0 @@ -#@TYPE: Machine -#@NAME: Nokia 770 internet tablet -#@DESCRIPTION: Machine configuration for the Nokia 770, an omap 1710 based tablet -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te" - -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-xomap" -PREFERRED_PROVIDER_virtual/bootloader = "" - -XSERVER = "xserver-kdrive-xomap" - -# 800x480 is big enough for me -GUI_MACHINE_CLASS = "bigscreen" - -require conf/machine/include/tune-arm926ejs.inc - -#size of the root partition (yes, it is 123 MB) -ROOT_FLASH_SIZE = "123" -EXTRA_IMAGECMD_jffs2_nokia770 = "--pad --little-endian --eraseblock=0x20000 -n" - -IMAGE_FSTYPES ?= "jffs2" - -# serial console port on devboard rev. B3 -SERIAL_CONSOLE = "115200 ttyS0" - -PREFERRED_PROVIDER_virtual/kernel = "linux-nokia800" - -#use this if you are using the nokia initfs -ROOTFS_POSTPROCESS_COMMAND += " remove_init_link; " - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost screen vfat" -MACHINE_EXTRA_RDEPENDS = "usbinit" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "nokia770-init" - -KERNEL_IMAGE_MAXSIZE = "2097152" diff --git a/meta-extras/conf/machine/nokia800.conf b/meta-extras/conf/machine/nokia800.conf deleted file mode 100644 index fb2cd02b03..0000000000 --- a/meta-extras/conf/machine/nokia800.conf +++ /dev/null @@ -1,30 +0,0 @@ -#@TYPE: Machine -#@NAME: Nokia 800/810 internet tablet -#@DESCRIPTION: Machine configuration for the Nokia 800/810 -TARGET_ARCH = "arm" -PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6" - -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-xomap" -XSERVER = "xserver-kdrive-xomap" - -GUI_MACHINE_CLASS = "bigscreen" - -require conf/machine/include/tune-arm1136jf-s.inc - -ROOT_FLASH_SIZE = "174" -EXTRA_IMAGECMD_jffs2_nokia800 = "--pad --little-endian --eraseblock=0x20000 -n" - -IMAGE_FSTYPES ?= "jffs2" - -SERIAL_CONSOLE = "-L 115200 ttyS0" - -PREFERRED_PROVIDER_virtual/kernel = "linux-nokia800" - -#use this if you are using the nokia initfs -ROOTFS_POSTPROCESS_COMMAND += " remove_init_link; " - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth usbgadget usbhost vfat" -MACHINE_EXTRA_RDEPENDS = "cx3110x usbinit" -MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "nokia770-init" - -KERNEL_IMAGE_MAXSIZE = "2097152" diff --git a/meta-extras/conf/machine/om-gta01.conf b/meta-extras/conf/machine/om-gta01.conf deleted file mode 100644 index f40457e226..0000000000 --- a/meta-extras/conf/machine/om-gta01.conf +++ /dev/null @@ -1,48 +0,0 @@ -#----------------------------------------------------------------------------- -#@TYPE: Machine -#@NAME: FIC GTA01 (Neo1973) -#@DESCRIPTION: Machine configuration for the FIC Neo1973/1 GSM phone -#----------------------------------------------------------------------------- - -TARGET_ARCH = "arm" -MACHINE_CLASS = "neo1973" -PACKAGE_EXTRA_ARCHS = "armv4t fic-gta01 ${MACHINE_CLASS}" - -PREFERRED_PROVIDER_virtual/kernel = "linux-openmoko" -UBOOT_ENTRYPOINT = "30008000" - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth gps usbgadget usbhost phone vfat ext2" -MACHINE_DISPLAY_WIDTH_PIXELS = "480" -MACHINE_DISPLAY_HEIGHT_PIXELS = "640" -MACHINE_DISPLAY_ORIENTATION = "0" -MACHINE_DISPLAY_PPI = "285" -XSERVER = "xserver-kdrive-fbdev" - -MACHINE_EXTRA_RDEPENDS = "usbinit" -# package machine specific modules -MACHINE_EXTRA_RRECOMMENDS = "\ - kernel-module-gta01-pm-bt \ - kernel-module-gta01-pm-gps \ - kernel-module-gta01-pm-gsm \ - kernel-module-gta01kbd \ - kernel-module-s3cmci \ - kernel-module-snd-soc-neo1973-wm8753 \ - kernel-module-snd-soc-smdk2440 \ -" - -# do not outcomment, we bypass the sysvinit.bb logic here -- see FIC GTA01 inittab -#SERIAL_CONSOLE = "115200 ttySAC0" - -# used by some images -ROOT_FLASH_SIZE = "60" - -# extra jffs2 tweaks -IMAGE_FSTYPES ?= "jffs2" -EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x4000 --pad -n" - -# build / upload tools -#EXTRA_IMAGEDEPENDS += "dfu-util-native" - -# tune for S3C24x0 -include conf/machine/include/tune-arm920t.inc - diff --git a/meta-extras/conf/machine/om-gta02.conf b/meta-extras/conf/machine/om-gta02.conf deleted file mode 100644 index 55f4bec21d..0000000000 --- a/meta-extras/conf/machine/om-gta02.conf +++ /dev/null @@ -1,49 +0,0 @@ -#----------------------------------------------------------------------------- -#@TYPE: Machine -#@NAME: FIC GTA02 (Neo1973) -#@DESCRIPTION: Machine configuration for the FIC Neo1973/2 GSM phone -#----------------------------------------------------------------------------- - -TARGET_ARCH = "arm" -MACHINE_CLASS = "neo1973" -PACKAGE_EXTRA_ARCHS = "armv4t fic-gta02 ${MACHINE_CLASS}" - -PREFERRED_PROVIDER_virtual/kernel = "linux-openmoko" -PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-glamo" -UBOOT_ENTRYPOINT = "30008000" - -MACHINE_FEATURES = "kernel26 apm alsa bluetooth gps usbgadget usbhost phone wifi vfat ext2" -MACHINE_DISPLAY_WIDTH_PIXELS = "480" -MACHINE_DISPLAY_HEIGHT_PIXELS = "640" -MACHINE_DISPLAY_ORIENTATION = "0" -MACHINE_DISPLAY_PPI = "285" -XSERVER = "xserver-kdrive-glamo xserver-kdrive-fbdev" - -# package machine specific modules -MACHINE_EXTRA_RRECOMMENDS = "\ - kernel-module-gta01-pm-bt \ - kernel-module-gta01-pm-gps \ - kernel-module-gta01-pm-gsm \ - kernel-module-gta01kbd \ - kernel-module-s3cmci \ - kernel-module-snd-soc-neo1973-gta02-wm8753 \ -" - -SERIAL_CONSOLE = "115200 ttySAC2" - -# used by some images -ROOT_FLASH_SIZE = "256" - -# extra jffs2 tweaks -IMAGE_FSTYPES ?= "jffs2" -EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 \ - --no-cleanmarkers --pad -n ; sumtool --eraseblock=0x20000 --no-cleanmarkers \ - --littleendian --pad \ - -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \ - -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2.summary" - -# build / upload tools -#EXTRA_IMAGEDEPENDS += "sjf2410-linux-native dfu-util-native" - -# tune for S3C24x0 -include conf/machine/include/tune-arm920t.inc diff --git a/meta-extras/packages/acct/acct_6.3.99+6.4pre1.bb b/meta-extras/packages/acct/acct_6.3.99+6.4pre1.bb deleted file mode 100644 index 078013c39b..0000000000 --- a/meta-extras/packages/acct/acct_6.3.99+6.4pre1.bb +++ /dev/null @@ -1,9 +0,0 @@ -LICENSE = "GPL" -DESCRIPTION = "GNU Accounting Utilities - user and process accounting." - -SRC_URI = "http://www.physik3.uni-rostock.de/tim/kernel/utils/acct/acct-6.4-pre1.tar.gz \ - file://cross-compile.patch;patch=1" - -S = "${WORKDIR}/acct-6.4-pre1" - -inherit autotools diff --git a/meta-extras/packages/acct/files/cross-compile.patch b/meta-extras/packages/acct/files/cross-compile.patch deleted file mode 100644 index 78b57104c7..0000000000 --- a/meta-extras/packages/acct/files/cross-compile.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -ur acct-6.4-pre1.org/configure.in acct-6.4-pre1/configure.in ---- acct-6.4-pre1.org/configure.in 2006-01-07 23:56:46.000000000 +0200 -+++ acct-6.4-pre1/configure.in 2006-08-03 21:16:17.000000000 +0300 -@@ -87,6 +87,10 @@ - ACCTON_MAN=accton.8 - LASTCOMM_MAN=lastcomm.1 - SA_MAN=sa.8 -+ WTMP_FILE_LOC=/var/log/wtmp -+ ACCT_FILE_LOC=/var/account/pacct -+ SAVACCT_FILE_LOC=/var/account/savacct -+ USRACCT_FILE_LOC=/var/account/usracct - AC_DEFINE(HAVE_ACUTIME, , - [Define if has the AC_UTIME field.]) - AC_DEFINE(ACUTIME_COMPT, , -@@ -130,6 +134,10 @@ - ACCTON_MAN=accton.8 - LASTCOMM_MAN=lastcomm.1 - SA_MAN=sa.8 -+ WTMP_FILE_LOC=/var/log/wtmp -+ ACCT_FILE_LOC=/var/account/pacct -+ SAVACCT_FILE_LOC=/var/account/savacct -+ USRACCT_FILE_LOC=/var/account/usracct - AC_HEADER_EGREP(ac_utime, sys/acct.h, - AC_DEFINE(HAVE_ACUTIME, , - [Define if has the AC_UTIME field.]) -@@ -277,7 +285,7 @@ - } - ], . ./locs; rm locs, - echo "Error -- could not locate your wtmp and acct files."; exit 1, -- echo "Sorry -- you cannot cross-compile this package (FIXME)."; exit 1 ) -+ echo "Cross-compiling - cannot find out accounting file locations - using Linux defaults."; ) - AC_TYPE_PID_T dnl for sys/acct.h - AC_TYPE_UID_T dnl same as above - AC_TYPE_SIZE_T diff --git a/meta-extras/packages/clutter/clutter-helix.inc b/meta-extras/packages/clutter/clutter-helix.inc deleted file mode 100644 index 6bbbb244d7..0000000000 --- a/meta-extras/packages/clutter/clutter-helix.inc +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "Clutter Helix" -HOMEPAGE = "http://www.clutter-project.org/" -LICENSE = "LGPL" - -DEPENDS = "helix-libs" - -FILESPATH = "${FILE_DIRNAME}/clutter-helix" - -COMPATIBLE_HOST = '(x86_64|i.86.*)-linux' - -PACKAGES =+ "${PN}-examples" -FILES_${PN}-examples = "${bindir}/video-player ${bindir}/audio-player" - -inherit autotools pkgconfig gtk-doc - diff --git a/meta-extras/packages/clutter/clutter-helix_git.bb b/meta-extras/packages/clutter/clutter-helix_git.bb deleted file mode 100644 index 1c272306bf..0000000000 --- a/meta-extras/packages/clutter/clutter-helix_git.bb +++ /dev/null @@ -1,8 +0,0 @@ -require clutter-helix.inc - -PV = "0.8.0+git${SRCPV}" -PR = "r0" - -SRC_URI = "git://git.clutter-project.org/clutter-helix.git;protocol=git" - -S = "${WORKDIR}/git" diff --git a/meta-extras/packages/clutter/moblin-proto/fix-shader-and-callbacks.patch b/meta-extras/packages/clutter/moblin-proto/fix-shader-and-callbacks.patch deleted file mode 100644 index 4a3eddb8cd..0000000000 --- a/meta-extras/packages/clutter/moblin-proto/fix-shader-and-callbacks.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/Makefile b/Makefile -index e05b5b7..c348a1e 100644 ---- a/Makefile -+++ b/Makefile -@@ -64,7 +64,7 @@ HFILES = $(wildcard *.h) - %.o: %.c $(HFILES) - $(CC) -g $(CFLAGS) $(INCS) -c $< -o$@ - $(BINARY): $(OBJECTS) -- $(CXX) -o $@ $(OBJECTS) $(LIBS) -+ $(CXX) -rdynamic -o $@ $(OBJECTS) $(LIBS) - - #$(BINARY): $(CFILES) - # $(LD) $(CFLAGS) $(INCS) $(CFILES) $(LIBS) -o $@ -diff --git a/moblin-desktop.c b/moblin-desktop.c -index 6dd4f2c..fb9d231 100644 ---- a/moblin-desktop.c -+++ b/moblin-desktop.c -@@ -103,6 +103,8 @@ void moblin_blur (void) - if (desktop->maincopy) - return; - -+ if (clutter_feature_available (CLUTTER_FEATURE_SHADERS_GLSL)) -+ { - #if 0 - desktop->maincopy = clutter_texture_new_from_actor (desktop->mainstuff); - #else -@@ -158,6 +160,17 @@ void moblin_blur (void) - 1.0f / moblin_desktop_width ()); - } - clutter_actor_set_shader_param (desktop->maincopy, "radius", 3.0); -+ } -+ else -+ { -+ ClutterColor clr= { 0x44, 0x44, 0x44, 0x77 }; -+ guint w, h; -+ -+ desktop->maincopy = clutter_rectangle_new_with_color (&clr); -+ clutter_actor_get_size (desktop->mainstuff, &w, &h); -+ clutter_actor_set_size (desktop->maincopy, w, h); -+ clutter_group_add (desktop->copyholder, desktop->maincopy); -+ } - } - - void moblin_unblur (void) diff --git a/meta-extras/packages/clutter/moblin-proto/fix.patch b/meta-extras/packages/clutter/moblin-proto/fix.patch deleted file mode 100644 index 8bde67762c..0000000000 --- a/meta-extras/packages/clutter/moblin-proto/fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: git/Makefile -=================================================================== ---- git.orig/Makefile 2008-08-11 22:49:48.000000000 +0100 -+++ git/Makefile 2008-08-12 12:16:52.000000000 +0100 -@@ -15,7 +15,7 @@ - - SCP_DESTINATION=pug.vpn:tmp - --BINARY=$(shell basename `pwd`)# -+BINARY=moblin-proto - PACKAGE=../$(BINARY).tar.bz2 # you can use both .gz and .bz2 as extension here - - #CFLAGS= -Wall -I /home/pippin/src/clutter-box2d/clutter-box2d -@@ -61,7 +61,7 @@ - %.o: %.c $(HFILES) - $(CC) -g $(CFLAGS) $(INCS) -c $< -o$@ - $(BINARY): $(OBJECTS) -- $(CC) -o $@ $(OBJECTS) $(LIBS) -+ $(CXX) -o $@ $(OBJECTS) $(LIBS) - - #$(BINARY): $(CFILES) - # $(LD) $(CFLAGS) $(INCS) $(CFILES) $(LIBS) -o $@ diff --git a/meta-extras/packages/clutter/moblin-proto/paths.patch b/meta-extras/packages/clutter/moblin-proto/paths.patch deleted file mode 100644 index d241c8ff71..0000000000 --- a/meta-extras/packages/clutter/moblin-proto/paths.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/moblin-desktop.h b/moblin-desktop.h -index 880a9ad..3d51a14 100644 ---- a/moblin-desktop.h -+++ b/moblin-desktop.h -@@ -29,8 +29,8 @@ - #define __MAIN_H__ - - --#define ASSET_ROOT "./assets/" --#define JSON_ROOT "./layouts/" -+#define ASSET_ROOT "/usr/share/moblin-proto/assets/" -+#define JSON_ROOT "/usr/share/moblin-proto/layouts/" - - typedef struct - { diff --git a/meta-extras/packages/clutter/moblin-proto_git.bb b/meta-extras/packages/clutter/moblin-proto_git.bb deleted file mode 100644 index b86d622385..0000000000 --- a/meta-extras/packages/clutter/moblin-proto_git.bb +++ /dev/null @@ -1,19 +0,0 @@ -DEPENDS = "clutter-box2d" - -PV = "0.0+git${SRCPV}" -PR = "r2" - -SRC_URI = "git://moblin.org/repos/users/pippin/prototype.git/;protocol=http \ - file://paths.patch;patch=1 \ - file://fix-shader-and-callbacks.patch;patch=1" - -S = "${WORKDIR}/git" - -do_install () { - install -d ${D}${bindir} - install ${S}/moblin-proto ${D}${bindir} - - install -d ${D}${datadir}/moblin-proto/ - cp -a ${S}/assets ${D}${datadir}/moblin-proto/ - cp -a ${S}/layouts ${D}${datadir}/moblin-proto/ -} diff --git a/meta-extras/packages/cx3110x/cx3110x_1.1.bb b/meta-extras/packages/cx3110x/cx3110x_1.1.bb deleted file mode 100644 index 95bbc35086..0000000000 --- a/meta-extras/packages/cx3110x/cx3110x_1.1.bb +++ /dev/null @@ -1,21 +0,0 @@ -DESCRIPTION = "cx3110x wifi support as found in the Nokia 770/800" -SECTION = "kernel/modules" -LICENSE = "GPL" -PR = "r1" -PACKAGES = "${PN}" - -COMPATIBLE_MACHINE = "(nokia770|nokia800)" - -export KERNEL_SRC_DIR = ${STAGING_KERNEL_DIR} -export LDFLAGS = "" - -SRC_URI = "https://garage.maemo.org/frs/download.php/939/cx3110x-1.1.tar.gz" - -S = "${WORKDIR}/cx3110x-${PV}" - -inherit module - -do_compile() { - oe_runmake modules -} - diff --git a/meta-extras/packages/cx3110x/cx3110x_2.0.15.bb b/meta-extras/packages/cx3110x/cx3110x_2.0.15.bb deleted file mode 100644 index c952b2a94d..0000000000 --- a/meta-extras/packages/cx3110x/cx3110x_2.0.15.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "cx3110x wifi support as found in the Nokia 770/N800/N810" -SECTION = "kernel/modules" -LICENSE = "GPL" -PACKAGES = "${PN}" -PR = "r1" - -COMPATIBLE_MACHINE = "(nokia800)" - -export KERNEL_SRC_DIR = ${STAGING_KERNEL_DIR} -export LDFLAGS = "" - -DEFAULT_PREFERENCE_nokia770 = "-1" - -SRC_URI = "http://repository.maemo.org/pool/os2008/free/source/c/cx3110x-module-src/cx3110x-module-src_2.0.15-1.tar.gz \ - file://no-linux-config.patch;patch=1" - -S = "${WORKDIR}/cx3110x-module-src-${PV}" - -inherit module - -do_compile() { - oe_runmake modules -} diff --git a/meta-extras/packages/cx3110x/files/no-linux-config.patch b/meta-extras/packages/cx3110x/files/no-linux-config.patch deleted file mode 100644 index e6ab317249..0000000000 --- a/meta-extras/packages/cx3110x/files/no-linux-config.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: cx3110x-module-src-2.0.15/src/sm_drv_spi.c -=================================================================== ---- cx3110x-module-src-2.0.15.orig/src/sm_drv_spi.c 2008-02-08 13:52:28.000000000 +0100 -+++ cx3110x-module-src-2.0.15/src/sm_drv_spi.c 2008-02-08 13:52:40.000000000 +0100 -@@ -36,7 +36,6 @@ - #include - #include - #include --#include - #if !defined(CONFIG_FW_LOADER) && !defined(CONFIG_FW_LOADER_MODULE) - #error No Firmware Loading configured in the kernel ! - #endif diff --git a/meta-extras/packages/eventlog/eventlog_0.2.5.bb b/meta-extras/packages/eventlog/eventlog_0.2.5.bb deleted file mode 100644 index 67e88ead8f..0000000000 --- a/meta-extras/packages/eventlog/eventlog_0.2.5.bb +++ /dev/null @@ -1,7 +0,0 @@ -DESCRIPTION = "Replacement syslog API" -LICENSE = "BSD" -PR = "r1" - -SRC_URI = "http://www.balabit.com/downloads/files/eventlog/0.2/${P}.tar.gz" - -inherit autotools pkgconfig diff --git a/meta-extras/packages/evince/evince_2.20.0.bb b/meta-extras/packages/evince/evince_2.20.0.bb deleted file mode 100644 index be18d911aa..0000000000 --- a/meta-extras/packages/evince/evince_2.20.0.bb +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Evince is a document viewer for document formats like PDF, PS, DjVu." -LICENSE = "GPL" -SECTION = "x11/office" -DEPENDS = "gnome-doc-utils poppler libxml2 gtk+ gnome-vfs gconf libglade gnome-keyring" - -inherit gnome pkgconfig gtk-icon-cache - -SRC_URI += "file://no-icon-theme.diff;patch=1;pnum=0" - -EXTRA_OECONF = "--without-libgnome --disable-thumbnailer" diff --git a/meta-extras/packages/evince/evince_svn.bb b/meta-extras/packages/evince/evince_svn.bb deleted file mode 100644 index 8df9577f87..0000000000 --- a/meta-extras/packages/evince/evince_svn.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "Evince is a document viewer for document formats like PDF, PS, DjVu." -LICENSE = "GPL" -SECTION = "x11/office" -DEPENDS = "gnome-doc-utils poppler libxml2 gtk+ gnome-vfs gconf libglade gnome-keyring" -PV = "0.9.0+svnr${SRCREV}" - -inherit gnome pkgconfig gtk-icon-cache - -SRC_URI = "svn://svn.gnome.org/svn/evince;module=trunk \ - file://no-icon-theme.diff;patch=1;pnum=0" - -S = "${WORKDIR}/trunk" - -EXTRA_OECONF = "--without-libgnome --disable-thumbnailer" diff --git a/meta-extras/packages/evince/files/no-icon-theme.diff b/meta-extras/packages/evince/files/no-icon-theme.diff deleted file mode 100644 index 7b7771ba06..0000000000 --- a/meta-extras/packages/evince/files/no-icon-theme.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: configure.ac -=================================================================== ---- configure.ac (revision 2436) -+++ configure.ac (working copy) -@@ -57,7 +57,7 @@ - PKG_CHECK_MODULES(LIB, gtk+-2.0 >= $GTK_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED) - PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED gnome-vfs-2.0) - PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED libglade-2.0 gnome-vfs-2.0) --PKG_CHECK_MODULES(SHELL_CORE, libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED gnome-vfs-2.0 libglade-2.0 gconf-2.0 gnome-keyring-1 >= $KEYRING_REQUIRED) -+PKG_CHECK_MODULES(SHELL_CORE, libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gnome-vfs-2.0 libglade-2.0 gconf-2.0 gnome-keyring-1 >= $KEYRING_REQUIRED) - - AC_ARG_WITH(libgnome, - AC_HELP_STRING([--without-libgnome],[disable the use of libgnome]), diff --git a/meta-extras/packages/flumotion/flumotion/no-check-for-python-stuff.patch b/meta-extras/packages/flumotion/flumotion/no-check-for-python-stuff.patch deleted file mode 100644 index 08503c82e0..0000000000 --- a/meta-extras/packages/flumotion/flumotion/no-check-for-python-stuff.patch +++ /dev/null @@ -1,68 +0,0 @@ -Index: flumotion-0.4.1/configure.ac -=================================================================== ---- flumotion-0.4.1.orig/configure.ac 2007-03-05 17:16:48.121264330 +0100 -+++ flumotion-0.4.1/configure.ac 2007-03-05 17:20:40.343837320 +0100 -@@ -73,13 +73,6 @@ - AC_MSG_ERROR([PyGTK 2.5.2 contains known bugs, please install other version]) - fi - --if test "x$DISPLAY" != "x"; then -- AS_PYTHON_IMPORT([gtk.glade],, -- AC_MSG_ERROR([You need to have python libglade bindings installed])) --else -- AC_MSG_NOTICE([Not trying to import gtk.glade because DISPLAY is unset]) --fi -- - if test $GST_010_SUPPORTED = "no"; then - AC_MSG_ERROR([No appropriate version of PyGTK installed. Correct the above - errors and try again.]) -@@ -94,16 +87,6 @@ - [AC_MSG_RESULT([$PYGST_010_PKG_ERRORS]) - GST_010_SUPPORTED=no]) - -- if test $GST_010_SUPPORTED = "yes"; then -- saved_PYTHONPATH=$PYTHONPATH -- export PYTHONPATH=$PYGST_010_DIR:$PYTHONPATH -- AS_PYTHON_IMPORT([gst],, -- [AC_MSG_NOTICE([Unable to import gst-python 0.10 -- check your PYTHONPATH?]) -- GST_010_SUPPORTED=no], -- [import pygst; pygst.require('0.10')], -- [assert gst.pygst_version[[1]] == 10 or (gst.pygst_version[[1]] == 9 and gst.pygst_version[[2]] >= 7)]) -- -- fi - fi - - if test $GST_010_SUPPORTED = "no"; then -@@ -158,32 +141,7 @@ - AC_CHECK_PROG(PYCHECKER, pychecker, yes, no) - AM_CONDITIONAL(HAVE_PYCHECKER, test "x$PYCHECKER" = "xyes") - --dnl check for Twisted --AS_PYTHON_IMPORT(twisted, -- [ -- AC_MSG_CHECKING(for Twisted >= 2.0.1) -- prog=" --import sys --import twisted.copyright --minver = '2.0.1' --if twisted.copyright.version < minver: -- sys.exit(1) --sys.exit(0) --" -- if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC -- then -- AC_MSG_RESULT(found) -- else -- AC_MSG_RESULT(too old) -- AC_MSG_ERROR([You need at least version 2.0.1 of Twisted]) -- fi -- ] -- , -- AC_MSG_ERROR([You need at least version 2.0.1 of Twisted]) --) - --TWISTED_MODULE([twisted.names]) --TWISTED_MODULE([twisted.web]) - - AC_CONFIG_FILES([env], [chmod +x env]) - AC_CONFIG_FILES([bin/flumotion], [chmod +x bin/flumotion]) diff --git a/meta-extras/packages/flumotion/flumotion/python-path.patch b/meta-extras/packages/flumotion/flumotion/python-path.patch deleted file mode 100644 index 377994e729..0000000000 --- a/meta-extras/packages/flumotion/flumotion/python-path.patch +++ /dev/null @@ -1,25 +0,0 @@ -Index: flumotion-0.3.1/common/as-python.m4 -=================================================================== ---- flumotion-0.3.1.orig/common/as-python.m4 2007-03-02 15:26:46.704717964 +0100 -+++ flumotion-0.3.1/common/as-python.m4 2007-03-02 15:27:28.601326374 +0100 -@@ -199,6 +199,12 @@ - AC_MSG_CHECKING(for headers required to compile python extensions) - - dnl deduce PYTHON_INCLUDES -+ -+ AC_ARG_WITH(python-includes, -+ [ --with-python-includes=DIR path to Python includes], py_exec_prefix=$withval) -+ if test x$py_exec_prefix != x; then -+ PYTHON_INCLUDES="-I${py_exec_prefix}/include/python${PYTHON_VERSION}" -+ else - py_prefix=`$PYTHON -c "import sys; print sys.prefix"` - py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` - PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" -@@ -206,6 +212,7 @@ - if test "$py_prefix" != "$py_exec_prefix"; then - PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" - fi -+ fi - AC_SUBST(PYTHON_INCLUDES) - - dnl check if the headers exist: diff --git a/meta-extras/packages/flumotion/flumotion_0.4.1.bb b/meta-extras/packages/flumotion/flumotion_0.4.1.bb deleted file mode 100644 index 976c8c4142..0000000000 --- a/meta-extras/packages/flumotion/flumotion_0.4.1.bb +++ /dev/null @@ -1,41 +0,0 @@ -DESCRIPTION = "Fluendo Streaming Server" -LICENSE = "GPL" -DEPENDS = "gstreamer python-imaging python-gst twisted python-pygtk" -RDEPENDS = "python-resource python-pprint python-threading \ - python-imaging python-xml python-curses \ - python-compression python-fcntl python-pygobject \ - python-pickle python-netclient python-datetime \ - python-crypt python-twisted-core python-twisted-web \ - python-lang python-zopeinterface python-textutils \ - python-gst python-misc" -RDEPENDS_${PN}-gui = "${PN} python-pygtk python-pycairo" -PR = "r10" - -SRC_URI = "http://www.flumotion.net/src/flumotion/flumotion-${PV}.tar.bz2 \ - file://python-path.patch;patch=1 \ - file://no-check-for-python-stuff.patch;patch=1" - -inherit autotools distutils-base pkgconfig - -export EPYDOC = "no" - -EXTRA_OECONF += "--with-python-includes=${STAGING_INCDIR}/../" - -PACKAGES =+ "flumotion-gui" - -FILES_${PN}-dbg += "${libdir}/flumotion/python/flumotion/extern/*/.debug/*" -FILES_${PN} = "${bindir} ${sbindir} ${libdir}/flumotion" -FILES_${PN}-dev += "${libdir}/pkgconfig" -FILES_${PN}-gui = "${bindir}/flumotion-admin ${bindir}/flumotion-tester \ - ${libdir}/flumotion/python/flumotion/admin/gtk \ - ${libdir}/flumotion/python/flumotion/component/*/admin_gtk* \ - ${libdir}/flumotion/python/flumotion/component/*/*/admin_gtk* \ - ${libdir}/flumotion/python/flumotion/extern/*.py* \ - ${libdir}/flumotion/python/flumotion/extern/fdpass/*.py* \ - ${libdir}/flumotion/python/flumotion/extern/fdpass/fdpass.so \ - ${libdir}/flumotion/python/flumotion/extern/pytrayicon/*.py* \ - ${libdir}/flumotion/python/flumotion/extern/pytrayicon/pytrayicon.so \ - ${libdir}/flumotion/python/flumotion/manager \ - ${libdir}/flumotion/python/flumotion/ui \ - ${libdir}/flumotion/python/flumotion/wizard \ - ${datadir}/pixmaps ${datadir}/flumotion ${datadir}/applications" diff --git a/meta-extras/packages/gnome/libbonobo.inc b/meta-extras/packages/gnome/libbonobo.inc deleted file mode 100644 index db5c58a51e..0000000000 --- a/meta-extras/packages/gnome/libbonobo.inc +++ /dev/null @@ -1,36 +0,0 @@ -DESCRIPTION = "Bonobo CORBA interfaces library" -LICENSE = "GPL" -SECTION = "x11/gnome/libs" -DEPENDS = "glib-2.0 orbit2 intltool-native libxml2" - -inherit gnome - -SRC_URI += "file://gtk-doc.m4 \ - file://gtk-doc.make \ - " - -ORBIT_IDL_SRC = "${STAGING_BINDIR_NATIVE}/orbit-idl-2" - -FILES_${PN} += "${libdir}/orbit-2.0/*.so ${libdir}/bonobo/monikers/*.so" -FILES_${PN}-dbg += "${libdir}/bonobo/monikers/.debug \ - ${libdir}/bonobo-2.0/samples/.debug ${libdir}/orbit-2.0/.debug" -FILES_${PN}-dev += "${libdir}/orbit-2.0/* ${libdir}/bonobo/monikers/* \ - ${libdir}/bonobo-2.0/samples" - -LEAD_SONAME = "libbonobo-2.so" - -PARALLEL_MAKE = "" - -do_configure_prepend() { - install -d m4 - install ${WORKDIR}/gtk-doc.m4 m4/ - install ${WORKDIR}/gtk-doc.make ./ -} - -do_compile() { - oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}" -} - -do_install() { - oe_runmake ORBIT_IDL="${ORBIT_IDL_SRC}" DESTDIR="${D}" install -} diff --git a/meta-extras/packages/gnome/libbonobo/configure-gthread.patch b/meta-extras/packages/gnome/libbonobo/configure-gthread.patch deleted file mode 100644 index 005fa6760a..0000000000 --- a/meta-extras/packages/gnome/libbonobo/configure-gthread.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- libbonobo-2.14.0/configure.in.orig 2006-09-04 09:21:54.000000000 +0100 -+++ libbonobo-2.14.0/configure.in 2006-09-04 09:22:58.000000000 +0100 -@@ -166,7 +166,7 @@ - AC_MSG_RESULT(no) - AC_MSG_ERROR( - [No working gthread-2.0 support found, using --disable-threads IS DISCOURAGED]) -- ] -+ ],[AC_MSG_RESULT(yes)] - ) - CFLAGS=$libbonobo_save_CFLAGS - LIBS=$libbonobo_save_LIBS diff --git a/meta-extras/packages/gnome/libbonobo/gtk-doc.m4 b/meta-extras/packages/gnome/libbonobo/gtk-doc.m4 deleted file mode 100644 index 3ec41666b2..0000000000 --- a/meta-extras/packages/gnome/libbonobo/gtk-doc.m4 +++ /dev/null @@ -1,53 +0,0 @@ -dnl -*- mode: autoconf -*- - -# serial 1 - -dnl Usage: -dnl GTK_DOC_CHECK([minimum-gtk-doc-version]) -AC_DEFUN([GTK_DOC_CHECK], -[ - AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first - AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first - dnl for overriding the documentation installation directory - AC_ARG_WITH(html-dir, - AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),, - [with_html_dir='${datadir}/gtk-doc/html']) - HTML_DIR="$with_html_dir" - AC_SUBST(HTML_DIR) - - dnl enable/disable documentation building - AC_ARG_ENABLE(gtk-doc, - AC_HELP_STRING([--enable-gtk-doc], - [use gtk-doc to build documentation [default=no]]),, - enable_gtk_doc=no) - - have_gtk_doc=no - if test -z "$PKG_CONFIG"; then - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - fi - if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then - have_gtk_doc=yes - fi - - dnl do we want to do a version check? -ifelse([$1],[],, - [gtk_doc_min_version=$1 - if test "$have_gtk_doc" = yes; then - AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version]) - if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - have_gtk_doc=no - fi - fi -]) - if test x$enable_gtk_doc = xyes; then - if test "$have_gtk_doc" != yes; then - enable_gtk_doc=no - fi - fi - - AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes) - AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL") -]) diff --git a/meta-extras/packages/gnome/libbonobo/gtk-doc.make b/meta-extras/packages/gnome/libbonobo/gtk-doc.make deleted file mode 100644 index c319e7ad7c..0000000000 --- a/meta-extras/packages/gnome/libbonobo/gtk-doc.make +++ /dev/null @@ -1,148 +0,0 @@ -# -*- mode: makefile -*- - -#################################### -# Everything below here is generic # -#################################### - -if GTK_DOC_USE_LIBTOOL -GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -else -GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -endif - -# We set GPATH here; this gives us semantics for GNU make -# which are more like other make's VPATH, when it comes to -# whether a source that is a target of one rule is then -# searched for in VPATH/GPATH. -# -GPATH = $(srcdir) - -TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) - -EXTRA_DIST = \ - $(content_files) \ - $(HTML_IMAGES) \ - $(DOC_MAIN_SGML_FILE) \ - $(DOC_MODULE).types \ - $(DOC_MODULE)-sections.txt \ - $(DOC_MODULE)-overrides.txt - -DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \ - $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp - -SCANOBJ_FILES = \ - $(DOC_MODULE).args \ - $(DOC_MODULE).hierarchy \ - $(DOC_MODULE).interfaces \ - $(DOC_MODULE).prerequisites \ - $(DOC_MODULE).signals - -CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-scan.o $(DOC_MODULE)-unused.txt $(DOC_STAMPS) - -if ENABLE_GTK_DOC -all-local: html-build.stamp - -#### scan #### - -scan-build.stamp: $(HFILE_GLOB) - @echo '*** Scanning header files ***' - @-chmod -R u+w $(srcdir) - if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \ - CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ - else \ - cd $(srcdir) ; \ - for i in $(SCANOBJ_FILES) ; do \ - test -f $$i || touch $$i ; \ - done \ - fi - cd $(srcdir) && \ - gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) - touch scan-build.stamp - -$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp - @true - -#### templates #### - -tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt - @echo '*** Rebuilding template files ***' - @-chmod -R u+w $(srcdir) - cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) - touch tmpl-build.stamp - -tmpl.stamp: tmpl-build.stamp - @true - -#### xml #### - -sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml - @echo '*** Building XML ***' - @-chmod -R u+w $(srcdir) - cd $(srcdir) && \ - gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS) - touch sgml-build.stamp - -sgml.stamp: sgml-build.stamp - @true - -#### html #### - -html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - @echo '*** Building HTML ***' - @-chmod -R u+w $(srcdir) - rm -rf $(srcdir)/html - mkdir $(srcdir)/html - cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) - test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) - @echo '-- Fixing Crossreferences' - cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) - touch html-build.stamp -endif - -############## - -clean-local: - rm -f *~ *.bak - -maintainer-clean-local: clean - cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt - -install-data-local: - $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR) - (installfiles=`echo $(srcdir)/html/*`; \ - if test "$$installfiles" = '$(srcdir)/html/*'; \ - then echo '-- Nothing to install' ; \ - else \ - for i in $$installfiles; do \ - echo '-- Installing '$$i ; \ - $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ - done; \ - echo '-- Installing $(srcdir)/html/index.sgml' ; \ - $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \ - fi) - -uninstall-local: - rm -f $(DESTDIR)$(TARGET_DIR)/* - -# -# Require gtk-doc when making dist -# -if ENABLE_GTK_DOC -dist-check-gtkdoc: -else -dist-check-gtkdoc: - @echo "*** gtk-doc must be installed and enabled in order to make dist" - @false -endif - -dist-hook: dist-check-gtkdoc dist-hook-local - mkdir $(distdir)/tmpl - mkdir $(distdir)/xml - mkdir $(distdir)/html - -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl - -cp $(srcdir)/xml/*.xml $(distdir)/xml - -cp $(srcdir)/html/* $(distdir)/html - -.PHONY : dist-hook-local diff --git a/meta-extras/packages/gnome/libbonobo_2.22.0.bb b/meta-extras/packages/gnome/libbonobo_2.22.0.bb deleted file mode 100644 index feecaf590a..0000000000 --- a/meta-extras/packages/gnome/libbonobo_2.22.0.bb +++ /dev/null @@ -1,6 +0,0 @@ -require libbonobo.inc - -PR = "r0" - -SRC_URI += "file://configure-gthread.patch;patch=1" - diff --git a/meta-extras/packages/gnome/libbonoboui_2.18.0.bb b/meta-extras/packages/gnome/libbonoboui_2.18.0.bb deleted file mode 100644 index 85840f705c..0000000000 --- a/meta-extras/packages/gnome/libbonoboui_2.18.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -LICENSE = "GPL" -SECTION = "x11/gnome/libs" -PR = "r1" - -inherit gnome pkgconfig - -FILES_${PN} += "${libdir}/libglade/2.0/*.so" -FILES_${PN}-dev += "${libdir}/libglade/2.0/* ${datadir}/gnome-2.0/ui \ - ${libdir}/bonobo-2.0/samples" -FILES_${PN}-dbg += "${libdir}/bonobo-2.0/samples/.debug \ - ${libdir}/libglade/2.0/.debug" - -DEPENDS = "libgnomecanvas libbonobo libgnome glib-2.0 gtk-doc gconf libxml2 libglade" - -EXTRA_OECONF = "--disable-gtk-doc" diff --git a/meta-extras/packages/gnome/orbit2-native_2.14.12.bb b/meta-extras/packages/gnome/orbit2-native_2.14.12.bb deleted file mode 100644 index c4d3132f40..0000000000 --- a/meta-extras/packages/gnome/orbit2-native_2.14.12.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "CORBA ORB" -PR = "r0" -LICENSE = "LGPL GPL" -SECTION = "x11/gnome/libs" -SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.14/ORBit2-${PV}.tar.bz2 \ - file://configure-lossage.patch;patch=1;pnum=1 \ - file://gtk-doc.m4 \ - file://gtk-doc.make" -DEPENDS = "libidl-native popt-native gtk-doc" - -S = "${WORKDIR}/ORBit2-${PV}" - -PARALLEL_MAKE = "" -inherit autotools native pkgconfig - -EXTRA_OECONF = "--disable-gtk-doc" - -do_configure_prepend() { - mkdir -p m4 - install ${WORKDIR}/gtk-doc.m4 ./m4/ - install ${WORKDIR}/gtk-doc.make ./ -} diff --git a/meta-extras/packages/gnome/orbit2/configure-lossage.patch b/meta-extras/packages/gnome/orbit2/configure-lossage.patch deleted file mode 100644 index 7485a0ce0c..0000000000 --- a/meta-extras/packages/gnome/orbit2/configure-lossage.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- orbit/configure.in~ 2004-05-07 09:31:32.000000000 +0100 -+++ orbit/configure.in 2004-05-08 19:27:35.000000000 +0100 -@@ -193,19 +193,19 @@ - dnl So many people with broken linking setups asked about this - dnl it turned out to be necessary to check for this. - dnl --dofus_save_libs="$LIBS" --LIBS="$ORBIT_LIBS $LIBS" --AC_TRY_RUN([ #include -- main () -- { -- return 0; -- } ],, -- AC_MSG_ERROR([ --Linking is badly borked on your system. Please ensure your library path is correct --Check config.log for details - check near the end of the log above 'failed program was' --Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the --prefix you're compiling on: '${prefix}' ])) --LIBS="$dofus_save_libs" -+dnl dofus_save_libs="$LIBS" -+dnl LIBS="$ORBIT_LIBS $LIBS" -+dnl AC_TRY_RUN([ #include -+dnl main () -+dnl { -+dnl return 0; -+dnl } ],, -+dnl AC_MSG_ERROR([ -+dnl Linking is badly borked on your system. Please ensure your library path is correct -+dnl Check config.log for details - check near the end of the log above 'failed program was' -+dnl Alternatively ensure that your /etc/ld.so.conf (and/or LD_LIBRARY_PATH) includes the -+dnl prefix you're compiling on: '${prefix}' ])) -+dnl LIBS="$dofus_save_libs" - - orig_CPPFLAGS=$CPPFLAGS - CPPFLAGS="$CPPFLAGS $ORBIT_CFLAGS" diff --git a/meta-extras/packages/gnome/orbit2/gtk-doc.m4 b/meta-extras/packages/gnome/orbit2/gtk-doc.m4 deleted file mode 100644 index 3ec41666b2..0000000000 --- a/meta-extras/packages/gnome/orbit2/gtk-doc.m4 +++ /dev/null @@ -1,53 +0,0 @@ -dnl -*- mode: autoconf -*- - -# serial 1 - -dnl Usage: -dnl GTK_DOC_CHECK([minimum-gtk-doc-version]) -AC_DEFUN([GTK_DOC_CHECK], -[ - AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first - AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first - dnl for overriding the documentation installation directory - AC_ARG_WITH(html-dir, - AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),, - [with_html_dir='${datadir}/gtk-doc/html']) - HTML_DIR="$with_html_dir" - AC_SUBST(HTML_DIR) - - dnl enable/disable documentation building - AC_ARG_ENABLE(gtk-doc, - AC_HELP_STRING([--enable-gtk-doc], - [use gtk-doc to build documentation [default=no]]),, - enable_gtk_doc=no) - - have_gtk_doc=no - if test -z "$PKG_CONFIG"; then - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - fi - if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then - have_gtk_doc=yes - fi - - dnl do we want to do a version check? -ifelse([$1],[],, - [gtk_doc_min_version=$1 - if test "$have_gtk_doc" = yes; then - AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version]) - if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - have_gtk_doc=no - fi - fi -]) - if test x$enable_gtk_doc = xyes; then - if test "$have_gtk_doc" != yes; then - enable_gtk_doc=no - fi - fi - - AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes) - AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL") -]) diff --git a/meta-extras/packages/gnome/orbit2/gtk-doc.make b/meta-extras/packages/gnome/orbit2/gtk-doc.make deleted file mode 100644 index c319e7ad7c..0000000000 --- a/meta-extras/packages/gnome/orbit2/gtk-doc.make +++ /dev/null @@ -1,148 +0,0 @@ -# -*- mode: makefile -*- - -#################################### -# Everything below here is generic # -#################################### - -if GTK_DOC_USE_LIBTOOL -GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -else -GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) -GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -endif - -# We set GPATH here; this gives us semantics for GNU make -# which are more like other make's VPATH, when it comes to -# whether a source that is a target of one rule is then -# searched for in VPATH/GPATH. -# -GPATH = $(srcdir) - -TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) - -EXTRA_DIST = \ - $(content_files) \ - $(HTML_IMAGES) \ - $(DOC_MAIN_SGML_FILE) \ - $(DOC_MODULE).types \ - $(DOC_MODULE)-sections.txt \ - $(DOC_MODULE)-overrides.txt - -DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \ - $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp - -SCANOBJ_FILES = \ - $(DOC_MODULE).args \ - $(DOC_MODULE).hierarchy \ - $(DOC_MODULE).interfaces \ - $(DOC_MODULE).prerequisites \ - $(DOC_MODULE).signals - -CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-scan.o $(DOC_MODULE)-unused.txt $(DOC_STAMPS) - -if ENABLE_GTK_DOC -all-local: html-build.stamp - -#### scan #### - -scan-build.stamp: $(HFILE_GLOB) - @echo '*** Scanning header files ***' - @-chmod -R u+w $(srcdir) - if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \ - CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ - else \ - cd $(srcdir) ; \ - for i in $(SCANOBJ_FILES) ; do \ - test -f $$i || touch $$i ; \ - done \ - fi - cd $(srcdir) && \ - gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) - touch scan-build.stamp - -$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp - @true - -#### templates #### - -tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt - @echo '*** Rebuilding template files ***' - @-chmod -R u+w $(srcdir) - cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) - touch tmpl-build.stamp - -tmpl.stamp: tmpl-build.stamp - @true - -#### xml #### - -sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml - @echo '*** Building XML ***' - @-chmod -R u+w $(srcdir) - cd $(srcdir) && \ - gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS) - touch sgml-build.stamp - -sgml.stamp: sgml-build.stamp - @true - -#### html #### - -html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - @echo '*** Building HTML ***' - @-chmod -R u+w $(srcdir) - rm -rf $(srcdir)/html - mkdir $(srcdir)/html - cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) - test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) - @echo '-- Fixing Crossreferences' - cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) - touch html-build.stamp -endif - -############## - -clean-local: - rm -f *~ *.bak - -maintainer-clean-local: clean - cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt - -install-data-local: - $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR) - (installfiles=`echo $(srcdir)/html/*`; \ - if test "$$installfiles" = '$(srcdir)/html/*'; \ - then echo '-- Nothing to install' ; \ - else \ - for i in $$installfiles; do \ - echo '-- Installing '$$i ; \ - $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ - done; \ - echo '-- Installing $(srcdir)/html/index.sgml' ; \ - $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \ - fi) - -uninstall-local: - rm -f $(DESTDIR)$(TARGET_DIR)/* - -# -# Require gtk-doc when making dist -# -if ENABLE_GTK_DOC -dist-check-gtkdoc: -else -dist-check-gtkdoc: - @echo "*** gtk-doc must be installed and enabled in order to make dist" - @false -endif - -dist-hook: dist-check-gtkdoc dist-hook-local - mkdir $(distdir)/tmpl - mkdir $(distdir)/xml - mkdir $(distdir)/html - -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl - -cp $(srcdir)/xml/*.xml $(distdir)/xml - -cp $(srcdir)/html/* $(distdir)/html - -.PHONY : dist-hook-local diff --git a/meta-extras/packages/gnome/orbit2/pkgconfig-fix.patch b/meta-extras/packages/gnome/orbit2/pkgconfig-fix.patch deleted file mode 100644 index f629e506dd..0000000000 --- a/meta-extras/packages/gnome/orbit2/pkgconfig-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN ORBit2-2.14.12.orig/ORBit-2.0.pc.in ORBit2-2.14.12/ORBit-2.0.pc.in ---- ORBit2-2.14.12.orig/ORBit-2.0.pc.in 2008-01-29 13:45:22.000000000 +0100 -+++ ORBit2-2.14.12/ORBit-2.0.pc.in 2008-09-23 20:13:07.000000000 +0200 -@@ -2,7 +2,7 @@ - exec_prefix=@exec_prefix@ - libdir=@libdir@ - includedir=@includedir@ --orbit_idl=@bindir@/orbit-idl-2@EXEEXT@ -+orbit_idl=@exec_prefix@/bin/orbit-idl-2@EXEEXT@ - - - Name: ORBit-2.0 diff --git a/meta-extras/packages/gnome/orbit2_2.14.16.bb b/meta-extras/packages/gnome/orbit2_2.14.16.bb deleted file mode 100644 index 42ade84d1f..0000000000 --- a/meta-extras/packages/gnome/orbit2_2.14.16.bb +++ /dev/null @@ -1,30 +0,0 @@ -LICENSE = "GPL" -DESCRIPTION = "CORBA ORB" -SECTION = "x11/gnome/libs" -SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.14/ORBit2-${PV}.tar.bz2 \ - file://configure-lossage.patch;patch=1;pnum=1 \ - file://pkgconfig-fix.patch;patch=1 \ - file://gtk-doc.m4 \ - file://gtk-doc.make" -DEPENDS = "libidl popt orbit2-native gtk-doc" -PARALLEL_MAKE = "" - -FILES_${PN} += "${libdir}/orbit-2.0/*.so" -FILES_${PN}-dev += "${libdir}/orbit-2.0/*.a ${libdir}/orbit-2.0/*.la" -FILES_${PN}-dbg += "${libdir}/orbit-2.0/.debug" - -S = "${WORKDIR}/ORBit2-${PV}" - -LEAD_SONAME = "libORBit-2.so" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--disable-gtk-doc" -EXTRA_OEMAKE = "IDL_COMPILER='${STAGING_BINDIR_NATIVE}/orbit-idl-2'" - -do_configure_prepend() { - mkdir -p m4 - install ${WORKDIR}/gtk-doc.m4 ./m4/ - install ${WORKDIR}/gtk-doc.make ./ -} - diff --git a/meta-extras/packages/helix/helix-libs.bb b/meta-extras/packages/helix/helix-libs.bb deleted file mode 100644 index 9fcbd4b67f..0000000000 --- a/meta-extras/packages/helix/helix-libs.bb +++ /dev/null @@ -1,49 +0,0 @@ -DESCRIPTION = "Helix Client Libraries" -SECTION = "base" -DEPENDS = "ribosome gtk+ libxv" -HOMEPAGE = "http://helixcommunity.org" -LICENSE = "RPSL" - -_SNAPSHOT = "atlas310_11212008" -_TARBALL_SERVER = "http://git.moblin.org/repos/users/rusty" - -PV="r0" - -SRC_URI = "${_TARBALL_SERVER}/helix-libs_${_SNAPSHOT}.tar.bz2 \ - file://helix-libs/helix-player.pc \ - file://helix-libs/add-clutter.patch;patch=1" -S = "${WORKDIR}/helix-libs_${_SNAPSHOT}" - -export BUILD_ROOT=${STAGING_DIR_HOST}${libdir}/ribosome -export BUILDRC=${BUILD_ROOT}/buildrc -export SYSTEM_ID=linux-2.2-libc6-gcc32-i586 -export BUILD=$BUILD_ROOT/bin/build.py - -COMPATIBLE_HOST = '(i.86.*-linux)' - -do_compile() { - ${BUILD} -k -trelease -mclutter -Phelix-client-all-defines clutter -} - -do_install() { - mkdir -p ${D}/opt/helix/lib - mkdir -p ${D}/opt/helix/include - mkdir -p ${D}${libdir}/pkgconfig - - install -m 0644 clientapps/clutter/player.h ${D}/opt/helix/include/ - install -m 0644 ../helix-libs/helix-player.pc ${D}${libdir}/pkgconfig - - install -m 0644 release/*.so ${D}/opt/helix/lib - - install -d ${D}${libdir} - install -m 0644 release/libhelix-player.so ${D}${libdir} -} - -sysroot_stage_all_append() { - sysroot_stage_dir ${D}/opt/helix ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/helix -} - -FILES_${PN} = "/usr/lib/libhelix-player.so" -FILES_${PN} += "/opt/helix/lib" -FILES_${PN}-dev = "/usr/lib/pkgconfig" -FILES_${PN}-dev += "/opt/helix/include" diff --git a/meta-extras/packages/helix/helix-libs/add-clutter.patch b/meta-extras/packages/helix/helix-libs/add-clutter.patch deleted file mode 100644 index eb545ff73f..0000000000 --- a/meta-extras/packages/helix/helix-libs/add-clutter.patch +++ /dev/null @@ -1,12668 +0,0 @@ -Index: helix-libs/clientapps/clutter/LICENSE.txt -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/LICENSE.txt 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,30 @@ -+ Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ -+ The contents of this directory, and (except where otherwise -+ indicated) the directories included within this directory, are -+ subject to the current version of the RealNetworks Public Source -+ License (the "RPSL") available at RPSL.txt in this directory, unless -+ you have licensed the directory under the current version of the -+ RealNetworks Community Source License (the "RCSL") available at -+ RCSL.txt in this directory, in which case the RCSL will apply. You -+ may also obtain the license terms directly from RealNetworks. You -+ may not use the files in this directory except in compliance with the -+ RPSL or, if you have a valid RCSL with RealNetworks applicable to -+ this directory, the RCSL. Please see the applicable RPSL or RCSL for -+ the rights, obligations and limitations governing use of the contents -+ of the directory. -+ -+ This directory is part of the Helix DNA Technology. RealNetworks is -+ the developer of the Original Code and owns the copyrights in the -+ portions it created. -+ -+ This directory, and the directories included with this directory, are -+ distributed and made available on an 'AS IS' basis, WITHOUT WARRANTY -+ OF ANY KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY -+ DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY -+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -+ QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ -+ Technology Compatibility Kit Test Suite(s) Location: -+ http://www.helixcommunity.org/content/tck -+ -Index: helix-libs/clientapps/clutter/RCSL.txt -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/RCSL.txt 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,948 @@ -+The RCSL is made up of a base agreement and a few Attachments. -+ -+For Research and Development use, you agree to the terms of the -+RCSL R&D License (base RCSL and Attachments A, B, and C) -+ -+For Commercial Use (either distribution or internal commercial -+deployment) of the Helix DNA with or without support for RealNetworks' -+RealAudio and RealVideo Add-on Technology, you agree to the -+terms of the same RCSL R&D license -+and execute one or more additional Commercial Use License attachments -+. -+ -+------------------------------------------------------------------------ -+ -+ -+ REALNETWORKS COMMUNITY SOURCE LICENSE -+ -+Version 1.2 (Rev. Date: January 22, 2003). -+ -+ -+ RECITALS -+ -+Original Contributor has developed Specifications, Source Code -+implementations and Executables of certain Technology; and -+ -+Original Contributor desires to license the Technology to a large -+community to facilitate research, innovation and product development -+while maintaining compatibility of such products with the Technology as -+delivered by Original Contributor; and -+ -+Original Contributor desires to license certain Trademarks for the -+purpose of branding products that are compatible with the relevant -+Technology delivered by Original Contributor; and -+ -+You desire to license the Technology and possibly certain Trademarks -+from Original Contributor on the terms and conditions specified in this -+License. -+ -+In consideration for the mutual covenants contained herein, You and -+Original Contributor agree as follows: -+ -+ -+ AGREEMENT -+ -+*1. Introduction.* -+ -+The RealNetworks Community Source License ("RCSL") and effective -+attachments ("License") may include five distinct licenses: -+ -+i) Research Use license -- License plus Attachments A, B and C only. -+ -+ii) Commercial Use and Trademark License, which may be for Internal -+Deployment Use or external distribution, or both -- License plus -+Attachments A, B, C, and D. -+ -+iii) Technology Compatibility Kit (TCK) license -- Attachment C. -+ -+iv) Add-On Technology License (Executable) Commercial Use License -+-Attachment F. -+ -+v) Add-On Technology Source Code Porting and Optimization -+License-Attachment G. -+ -+The Research Use license is effective when You click and accept this -+License. The TCK is effective when You click and accept this License, -+unless otherwise specified in the TCK attachments. The Commercial Use -+and Trademark, Add-On Technology License, and the Add-On Technology -+Source Code Porting and Optimization licenses must each be signed by You -+and Original Contributor to become effective. Once effective, these -+licenses and the associated requirements and responsibilities are -+cumulative. Capitalized terms used in this License are defined in the -+Glossary. -+ -+*2. License Grants.* -+ -+2.1 Original Contributor Grant. -+ -+Subject to Your compliance with Sections 3, 8.10 and Attachment A of -+this License, Original Contributor grants to You a worldwide, -+royalty-free, non-exclusive license, to the extent of Original -+Contributor's Intellectual Property Rights covering the Original Code, -+Upgraded Code and Specifications, to do the following: -+ -+(a) Research Use License: -+ -+(i) use, reproduce and modify the Original Code, Upgraded Code and -+Specifications to create Modifications and Reformatted Specifications -+for Research Use by You; -+ -+(ii) publish and display Original Code, Upgraded Code and Specifications -+with, or as part of Modifications, as permitted under Section 3.1(b) below; -+ -+(iii) reproduce and distribute copies of Original Code and Upgraded Code -+to Licensees and students for Research Use by You; -+ -+(iv) compile, reproduce and distribute Original Code and Upgraded Code -+in Executable form, and Reformatted Specifications to anyone for -+Research Use by You. -+ -+(b) Other than the licenses expressly granted in this License, Original -+Contributor retains all right, title, and interest in Original Code and -+Upgraded Code and Specifications. -+ -+2.2 Your Grants. -+ -+(a) To Other Licensees. You hereby grant to each Licensee a license to -+Your Error Corrections and Shared Modifications, of the same scope and -+extent as Original Contributor's licenses under Section 2.1 a) above -+relative to Research Use and Attachment D relative to Commercial Use. -+ -+(b) To Original Contributor. You hereby grant to Original Contributor a -+worldwide, royalty-free, non-exclusive, perpetual and irrevocable -+license, to the extent of Your Intellectual Property Rights covering -+Your Error Corrections, Shared Modifications and Reformatted -+Specifications, to use, reproduce, modify, display and distribute Your -+Error Corrections, Shared Modifications and Reformatted Specifications, -+in any form, including the right to sublicense such rights through -+multiple tiers of distribution. -+ -+(c) Other than the licenses expressly granted in Sections 2.2(a) and (b) -+above, and the restrictions set forth in Section 3.1(d)(iv) below, You -+retain all right, title, and interest in Your Error Corrections, Shared -+Modifications and Reformatted Specifications. -+ -+2.3 Contributor Modifications. -+ -+You may use, reproduce, modify, display and distribute Contributor Error -+Corrections, Shared Modifications and Reformatted Specifications, -+obtained by You under this License, to the same scope and extent as with -+Original Code, Upgraded Code and Specifications. -+ -+2.4 Subcontracting. -+ -+You may deliver the Source Code of Covered Code to other Licensees -+having at least a Research Use license, for the sole purpose of -+furnishing development services to You in connection with Your rights -+granted in this License. All such Licensees must execute appropriate -+documents with respect to such work consistent with the terms of this -+License, and acknowledging their work-made-for-hire status or assigning -+exclusive right to the work product and associated Intellectual Property -+Rights to You. -+ -+*3. Requirements and Responsibilities*. -+ -+3.1 Research Use License. -+ -+As a condition of exercising the rights granted under Section 2.1(a) -+above, You agree to comply with the following: -+ -+(a) Your Contribution to the Community. All Error Corrections and Shared -+Modifications which You create or contribute to are automatically -+subject to the licenses granted under Section 2.2 above. You are -+encouraged to license all of Your other Modifications under Section 2.2 -+as Shared Modifications, but are not required to do so. You agree to -+notify Original Contributor of any errors in the Specification. -+ -+(b) Source Code Availability. You agree to provide all Your Error -+Corrections to Original Contributor as soon as reasonably practicable -+and, in any event, prior to Internal Deployment Use or Commercial Use, -+if applicable. Original Contributor may, at its discretion, post Source -+Code for Your Error Corrections and Shared Modifications on the -+Community Webserver. You may also post Error Corrections and Shared -+Modifications on a web-server of Your choice; provided, that You must -+take reasonable precautions to ensure that only Licensees have access to -+such Error Corrections and Shared Modifications. Such precautions shall -+include, without limitation, a password protection scheme limited to -+Licensees and a click-on, download certification of Licensee status -+required of those attempting to download from the server. An example of -+an acceptable certification is attached as Attachment A-2. -+ -+(c) Notices. All Error Corrections and Shared Modifications You create -+or contribute to must include a file documenting the additions and -+changes You made and the date of such additions and changes. You must -+also include the notice set forth in Attachment A-1 in the file header. -+If it is not possible to put the notice in a particular Source Code file -+due to its structure, then You must include the notice in a location -+(such as a relevant directory file), where a recipient would be most -+likely to look for such a notice. -+ -+(d) Redistribution. -+ -+(i) Source. Covered Code may be distributed in Source Code form only to -+another Licensee (except for students as provided below). You may not -+offer or impose any terms on any Covered Code that alter the rights, -+requirements, or responsibilities of such Licensee. You may distribute -+Covered Code to students for use in connection with their course work -+and research projects undertaken at accredited educational institutions. -+Such students need not be Licensees, but must be given a copy of the -+notice set forth in Attachment A-3 and such notice must also be included -+in a file header or prominent location in the Source Code made available -+to such students. -+ -+(ii) Executable. You may distribute Executable version(s) of Covered -+Code to Licensees and other third parties only for the purpose of -+evaluation and comment in connection with Research Use by You and under -+a license of Your choice, but which limits use of such Executable -+version(s) of Covered Code only to that purpose. -+ -+(iii) Modified Class, Interface and Package Naming. In connection with -+Research Use by You only, You may use Original Contributor's class, -+Interface and package names only to accurately reference or invoke the -+Source Code files You modify. Original Contributor grants to You a -+limited license to the extent necessary for such purposes. -+ -+(iv) You expressly agree that any distribution, in whole or in part, of -+Modifications developed by You shall only be done pursuant to the terms -+and conditions of this License. -+ -+(e) Extensions. -+ -+(i) Covered Code. You may not include any Source Code of Community Code -+in any Extensions. You may include the compiled Header Files of -+Community Code in an Extension provided that Your use of the Covered -+Code, including Heading Files, complies with the Commercial Use License, -+the TCK and all other terms of this License. -+ -+(ii) Publication. No later than the date on which You first distribute -+such Extension for Commercial Use, You must publish to the industry, on -+a non-confidential basis and free of all copyright restrictions with -+respect to reproduction and use, an accurate and current specification -+for any Extension. In addition, You must make available an appropriate -+test suite, pursuant to the same rights as the specification, -+sufficiently detailed to allow any third party reasonably skilled in the -+technology to produce implementations of the Extension compatible with -+the specification. Such test suites must be made available as soon as -+reasonably practicable but, in no event, later than ninety (90) days -+after Your first Commercial Use of the Extension. You must use -+reasonable efforts to promptly clarify and correct the specification and -+the test suite upon written request by Original Contributor. -+ -+(iii) Open. You agree to refrain from enforcing any Intellectual -+Property Rights You may have covering any interface(s) of Your -+Extension, which would prevent the implementation of such interface(s) -+by Original Contributor or any Licensee. This obligation does not -+prevent You from enforcing any Intellectual Property Right You have that -+would otherwise be infringed by an implementation of Your Extension. -+ -+(iv) Interface Modifications and Naming. You may not modify or add to -+the GUID space * * "xxxxxxxx-0901-11d1-8B06-00A024406D59" or any other -+GUID space designated by Original Contributor. You may not modify any -+Interface prefix provided with the Covered Code or any other prefix -+designated by Original Contributor.* * -+ -+* * -+ -+(f) You agree that any Specifications provided to You by Original -+Contributor are confidential and proprietary information of Original -+Contributor. You must maintain the confidentiality of the Specifications -+and may not disclose them to any third party without Original -+Contributor's prior written consent. You may only use the Specifications -+under the terms of this License and only for the purpose of implementing -+the terms of this License with respect to Covered Code. You agree not -+use, copy or distribute any such Specifications except as provided in -+writing by Original Contributor. -+ -+3.2 Commercial Use License. -+ -+You may not make Commercial Use of any Covered Code unless You and -+Original Contributor have executed a copy of the Commercial Use and -+Trademark License attached as Attachment D. -+ -+*4. Versions of the License.* -+ -+4.1 License Versions. -+ -+Original Contributor may publish revised versions of the License from -+time to time. Each version will be given a distinguishing version number. -+ -+4.2 Effect. -+ -+Once a particular version of Covered Code has been provided under a -+version of the License, You may always continue to use such Covered Code -+under the terms of that version of the License. You may also choose to -+use such Covered Code under the terms of any subsequent version of the -+License. No one other than Original Contributor has the right to -+promulgate License versions. -+ -+4.3 Multiple-Licensed Code. -+ -+Original Contributor may designate portions of the Covered Code as -+"Multiple-Licensed." "Multiple-Licensed" means that the Original -+Contributor permits You to utilize those designated portions of the -+Covered Code under Your choice of this License or the alternative -+license(s), if any, specified by the Original Contributor in an -+Attachment to this License. -+ -+*5. Disclaimer of Warranty.* -+ -+5.1 COVERED CODE PROVIDED AS IS. -+ -+COVERED CODE IS PROVIDED UNDER THIS LICENSE "AS IS," WITHOUT WARRANTY OF -+ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, -+WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT -+FOR A PARTICULAR PURPOSE OR NON-INFRINGING. YOU AGREE TO BEAR THE ENTIRE -+RISK IN CONNECTION WITH YOUR USE AND DISTRIBUTION OF COVERED CODE UNDER -+THIS LICENSE. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART -+OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER -+EXCEPT SUBJECT TO THIS DISCLAIMER. -+ -+5.2 Not Designed for High Risk Activities. -+ -+You acknowledge that Original Code, Upgraded Code and Specifications are -+not designed or intended for use in high risk activities including, but -+not limited to: (i) on-line control of aircraft, air traffic, aircraft -+navigation or aircraft communications; or (ii) in the design, -+construction, operation or maintenance of any nuclear facility. Original -+Contributor disclaims any express or implied warranty of fitness for -+such uses. -+ -+*6. Termination.* -+ -+6.1 By You. -+ -+You may terminate this Research Use license at anytime by providing -+written notice to Original Contributor. -+ -+6.2 By Original Contributor. -+ -+This License and the rights granted hereunder will terminate: -+ -+(i) automatically if You fail to comply with the terms of this License -+and fail to cure such breach within 30 days of receipt of written notice -+of the breach; -+ -+(ii) immediately in the event of circumstances specified in Sections 7.1 -+and 8.4; or -+ -+(iii) at Original Contributor's discretion upon any action initiated by -+You (including by cross-claim or counter claim) alleging that use or -+distribution by Original Contributor or any Licensee, of Original Code, -+Upgraded Code, Error Corrections, Shared Modifications or Specifications -+infringe a patent owned or controlled by You. -+ -+6.3 Effective of Termination. -+ -+Upon termination, You agree to discontinue use of and destroy all copies -+of Covered Code in Your possession. All sublicenses to the Covered Code -+which You have properly granted shall survive any termination of this -+License. Provisions that, by their nature, should remain in effect -+beyond the termination of this License shall survive including, without -+limitation, Sections 2.2, 3, 5, 7 and 8. -+ -+6.4 No Compensation. -+ -+Each party waives and releases the other from any claim to compensation -+or indemnity for permitted or lawful termination of the business -+relationship established by this License. -+ -+*7. Liability.* -+ -+7.1 Infringement. Should any of the Original Code, Upgraded Code, TCK or -+Specifications ("Materials") become the subject of a claim of -+infringement, Original Contributor may, at its sole option, (i) attempt -+to procure the rights necessary for You to continue using the Materials, -+(ii) modify the Materials so that they are no longer infringing, or -+(iii) terminate Your right to use the Materials, immediately upon -+written notice, and refund to You the amount, if any, having then -+actually been paid by You to Original Contributor for the Original Code, -+Upgraded Code and TCK, depreciated on a straight line, five year basis. -+ -+7.2 LIMITATION OF LIABILITY. TO THE FULL EXTENT ALLOWED BY APPLICABLE -+LAW, ORIGINAL CONTRIBUTOR'S LIABILITY TO YOU FOR CLAIMS RELATING TO THIS -+LICENSE, WHETHER FOR BREACH OR IN TORT, SHALL BE LIMITED TO ONE HUNDRED -+PERCENT (100%) OF THE AMOUNT HAVING THEN ACTUALLY BEEN PAID BY YOU TO -+ORIGINAL CONTRIBUTOR FOR ALL COPIES LICENSED HEREUNDER OF THE PARTICULAR -+ITEMS GIVING RISE TO SUCH CLAIM, IF ANY, DURING THE TWELVE MONTHS -+PRECEDING THE CLAIMED BREACH. IN NO EVENT WILL YOU (RELATIVE TO YOUR -+SHARED MODIFICATIONS OR ERROR CORRECTIONS) OR ORIGINAL CONTRIBUTOR BE -+LIABLE FOR ANY INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL OR CONSEQUENTIAL -+DAMAGES IN CONNECTION WITH OR RISING OUT OF THIS LICENSE (INCLUDING, -+WITHOUT LIMITATION, LOSS OF PROFITS, USE, DATA, OR OTHER ECONOMIC -+ADVANTAGE), HOWEVER IT ARISES AND ON ANY THEORY OF LIABILITY, WHETHER IN -+AN ACTION FOR CONTRACT, STRICT LIABILITY OR TORT (INCLUDING NEGLIGENCE) -+OR OTHERWISE, WHETHER OR NOT YOU OR ORIGINAL CONTRIBUTOR HAS BEEN -+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE AND NOTWITHSTANDING THE -+FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. -+ -+*8. Miscellaneous.* -+ -+8.1 Trademark. -+ -+You shall not use any Trademark unless You and Original Contributor -+execute a copy of the Commercial Use and Trademark License Agreement -+attached hereto as Attachment D. Except as expressly provided in the -+License, You are granted no right, title or license to, or interest in, -+any Trademarks. Whether or not You and Original Contributor enter into -+the Trademark License, You agree not to (i) challenge Original -+Contributor's ownership or use of Trademarks; (ii) attempt to register -+any Trademarks, or any mark or logo substantially similar thereto; or -+(iii) incorporate any Trademarks into Your own trademarks, product -+names, service marks, company names, or domain names. -+ -+8.2 Integration. -+ -+This License represents the complete agreement concerning the subject -+matter hereof. -+ -+8.3 Assignment. -+ -+Original Contributor may assign this License, and its rights and -+obligations hereunder, in its sole discretion. You may assign the -+Research Use portions of this License and the TCK license to a third -+party upon prior written notice to Original Contributor (which may be -+provided electronically via the Community Web-Server). You may not -+assign the Commercial Use and Trademark license, the Add-On Technology -+License, or the Add-On Technology Source Code Porting License, including -+by way of merger (regardless of whether You are the surviving entity) or -+acquisition, without Original Contributor's prior written consent. -+ -+8.4 Severability. -+ -+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. Notwithstanding the foregoing, if You are prohibited by law -+from fully and specifically complying with Sections 2.2 or 3, this -+License will immediately terminate and You must immediately discontinue -+any use of Covered Code. -+ -+8.5 Governing Law. -+ -+This License shall be governed by the laws of the United States and the -+State of Washington, as applied to contracts entered into and to be -+performed in Washington between Washington residents. The application of -+the United Nations Convention on Contracts for the International Sale of -+Goods is expressly excluded. You agree that the state and federal courts -+located in Seattle, Washington have exclusive jurisdiction over any -+claim relating to the License, including contract and tort claims. -+ -+8.6 Dispute Resolution. -+ -+a) Arbitration. Any dispute arising out of or relating to this License -+shall be finally settled by arbitration as set out herein, except that -+either party may bring any action, in a court of competent jurisdiction -+(which jurisdiction shall be exclusive), with respect to any dispute -+relating to such party's Intellectual Property Rights or with respect to -+Your compliance with the TCK license. Arbitration shall be administered: -+(i) by the American Arbitration Association (AAA), (ii) in accordance -+with the rules of the United Nations Commission on International Trade -+Law (UNCITRAL) (the "Rules") in effect at the time of arbitration as -+modified herein; and (iii) the arbitrator will apply the substantive -+laws of Washington and the United States. Judgment upon the award -+rendered by the arbitrator may be entered in any court having -+jurisdiction to enforce such award. -+ -+b) Arbitration language, venue and damages. All arbitration proceedings -+shall be conducted in English by a single arbitrator selected in -+accordance with the Rules, who must be fluent in English and be either a -+retired judge or practicing attorney having at least ten (10) years -+litigation experience and be reasonably familiar with the technology -+matters relative to the dispute. Unless otherwise agreed, arbitration -+venue shall be in Seattle, Washington. The arbitrator may award monetary -+damages only and nothing shall preclude either party from seeking -+provisional or emergency relief from a court of competent jurisdiction. -+The arbitrator shall have no authority to award damages in excess of -+those permitted in this License and any such award in excess is void. -+All awards will be payable in U.S. dollars and may include, for the -+prevailing party (i) pre-judgment award interest, (ii) reasonable -+attorneys' fees incurred in connection with the arbitration, and (iii) -+reasonable costs and expenses incurred in enforcing the award. The -+arbitrator will order each party to produce identified documents and -+respond to no more than twenty-five single question interrogatories. -+ -+8.7 Construction. -+ -+Any law or regulation, which provides that the language of a contract -+shall be construed against the drafter, shall not apply to this License. -+ -+8.8 U.S. Government End Users. -+ -+The Covered Code 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 Covered Code with only those rights set forth herein. -+You agree to pass this notice to our licensees. -+ -+8.9 Marketing Activities. -+ -+Licensee hereby grants Original Contributor a non-exclusive, -+non-transferable, limited license to use the Licensee's company name and -+logo ("Licensee Marks") in any presentations, press releases, or -+marketing materials solely for the purpose of identifying Licensee as a -+member of the Helix Community. Licensee shall provide samples of -+Licensee Marks to Original Contributor upon request by Original -+Contributor. Original Contributor acknowledges that the Licensee Marks -+are the trademarks of Licensee. Original Contributor shall not use the -+Licensee Marks in a way that may imply that Original Contributor is an -+agency or branch of Licensee. Original Contributor understands and -+agrees that the use of any Licensee Marks in connection with this -+Agreement shall not create any right, title or interest, in, or to the -+Licensee Marks or any Licensee trademarks and that all such use and -+goodwill associated with any such trademarks will inure to the benefit -+of Licensee. Further the Original Contributor will stop usage of the -+Licensee Marks upon Licensee's request. -+ -+8.10 Press Announcements. -+ -+You may make press announcements or other public statements regarding -+this License without the prior written consent of the Original -+Contributor, if Your statement is limited to announcing the licensing of -+the Covered Code or the availability of Your Product and its -+compatibility with the Covered Code. All other public announcements -+regarding this license require the prior written consent of the Original -+Contributor. Consent requests are welcome at press@helixcommunity.org. -+ -+8.11 International Use. -+ -+a) Export/Import laws. Covered Code is subject to U.S. export control -+laws and may be subject to export or import regulations in other -+countries. Each party agrees to comply strictly with all such laws and -+regulations and acknowledges their responsibility to obtain such -+licenses to export, re-export, or import as may be required. You agree -+to pass these obligations to Your licensees. -+ -+b) Intellectual Property Protection. Due to limited intellectual -+property protection and enforcement in certain countries, You agree not -+to redistribute the Original Code, Upgraded Code, TCK and Specifications -+to any country on the list of restricted countries on the Community Web -+Server. -+ -+8.12 Language. -+ -+This License is in the English language only, which language shall be -+controlling in all respects, and all versions of this License in any -+other language shall be for accommodation only and shall not be binding -+on the parties to this License. All communications and notices made or -+given pursuant to this License, and all documentation and support to be -+provided, unless otherwise noted, shall be in the English language. -+ -+PLEASE READ THE TERMS OF THIS LICENSE CAREFULLY. BY CLICKING ON THE -+"ACCEPT" BUTTON BELOW YOU ARE ACCEPTING AND AGREEING TO THE TERMS AND -+CONDITIONS OF THIS LICENSE WITH REALNETWORKS, INC. IF YOU ARE AGREEING -+TO THIS LICENSE ON BEHALF OF A COMPANY, YOU REPRESENT THAT YOU ARE -+AUTHORIZED TO BIND THE COMPANY TO SUCH A LICENSE. WHETHER YOU ARE ACTING -+ON YOUR OWN BEHALF, OR REPRESENTING A COMPANY, YOU MUST BE OF MAJORITY -+AGE AND BE OTHERWISE COMPETENT TO ENTER INTO CONTRACTS. IF YOU DO NOT -+MEET THIS CRITERIA OR YOU DO NOT AGREE TO ANY OF THE TERMS AND -+CONDITIONS OF THIS LICENSE, CLICK ON THE REJECT BUTTON TO EXIT. -+ -+ -+ GLOSSARY -+ -+1. *"Added Value"* means code which: -+ -+(i) has a principal purpose which is substantially different from that -+of the stand-alone Technology; -+ -+(ii) represents a significant functional and value enhancement to the -+Technology; -+ -+(iii) operates in conjunction with the Technology; and -+ -+(iv) is not marketed as a technology which replaces or substitutes for -+the Technology -+ -+2. "*Applicable Patent Rights*" mean: (a) in the case where Original -+Contributor is the grantor of rights, claims of patents that (i) are now -+or hereafter acquired, owned by or assigned to Original Contributor and -+(ii) are necessarily infringed by using or making the Original Code or -+Upgraded Code, including Modifications provided by Original Contributor, -+alone and not in combination with other software or hardware; and (b) in -+the case where Licensee is the grantor of rights, claims of patents that -+(i) are now or hereafter acquired, owned by or assigned to Licensee and -+(ii) are infringed (directly or indirectly) by using or making -+Licensee's Modifications or Error Corrections, taken alone or in -+combination with Covered Code. -+ -+3. "*Application Programming Interfaces (APIs)"* means the interfaces, -+associated header files, service provider interfaces, and protocols that -+enable a device, application, Operating System, or other program to -+obtain services from or make requests of (or provide services in -+response to requests from) other programs, and to use, benefit from, or -+rely on the resources, facilities, and capabilities of the relevant -+programs using the APIs. APIs includes the technical documentation -+describing the APIs, the Source Code constituting the API, and any -+Header Files used with the APIs. -+ -+4. "*Commercial Use*" means any use (internal or external), copying, -+sublicensing or distribution (internal or external), directly or -+indirectly of Covered Code by You other than Your Research Use of -+Covered Code within Your business or organization or in conjunction with -+other Licensees with equivalent Research Use rights. Commercial Use -+includes any use of the Covered Code for direct or indirect commercial -+or strategic gain, advantage or other business purpose. Any Commercial -+Use requires execution of Attachment D by You and Original Contributor. -+ -+5. "*Community Code*" means the Original Code, Upgraded Code, Error -+Corrections, Shared Modifications, or any combination thereof. -+ -+6. "*Community Webserver(s)"* means the webservers designated by -+Original Contributor for access to the Original Code, Upgraded Code, TCK -+and Specifications and for posting Error Corrections and Shared -+Modifications. -+ -+7. "*Compliant Covered Code*" means Covered Code that complies with the -+requirements of the TCK. -+ -+8. "*Contributor*" means each Licensee that creates or contributes to -+the creation of any Error Correction or Shared Modification. -+ -+9. "*Covered Code*" means the Original Code, Upgraded Code, -+Modifications, or any combination thereof. -+ -+10. "*Error Correction*" means any change made to Community Code which -+conforms to the Specification and corrects the adverse effect of a -+failure of Community Code to perform any function set forth in or -+required by the Specifications. -+ -+11. "*Executable*" means Covered Code that has been converted from -+Source Code to the preferred form for execution by a computer or digital -+processor (e.g. binary form). -+ -+12. "*Extension(s)"* means any additional Interfaces developed by or for -+You which: (i) are designed for use with the Technology; (ii) constitute -+an API for a library of computing functions or services; and (iii) are -+disclosed or otherwise made available to third party software developers -+for the purpose of developing software which invokes such additional -+Interfaces. The foregoing shall not apply to software developed by Your -+subcontractors to be exclusively used by You. -+ -+13. "*Header File(s)"* means that portion of the Source Code that -+provides the names and types of member functions, data members, class -+definitions, and interface definitions necessary to implement the APIs -+for the Covered Code. Header Files include, files specifically -+designated by Original Contributor as Header Files. Header Files do not -+include the code necessary to implement the functionality underlying the -+Interface. -+ -+14. *"Helix DNA Server Technology"* means the program(s) that implement -+the Helix Universal Server streaming engine for the Technology as -+defined in the Specification. -+ -+15. *"Helix DNA Client Technology"* means the Covered Code that -+implements the RealOne Player engine as defined in the Specification. -+ -+16. *"Helix DNA Producer Technology"* means the Covered Code that -+implements the Helix Producer engine as defined in the Specification. -+ -+17. *"Helix DNA Technology"* means the Helix DNA Server Technology, the -+Helix DNA Client Technology, the Helix DNA Producer Technology and other -+Helix technologies designated by Original Contributor. -+ -+18. "*Intellectual Property Rights*" means worldwide statutory and -+common law rights associated solely with (i) Applicable Patent Rights; -+(ii) works of authorship including copyrights, copyright applications, -+copyright registrations and "moral rights"; (iii) the protection of -+trade and industrial secrets and confidential information; and (iv) -+divisions, continuations, renewals, and re-issuances of the foregoing -+now existing or acquired in the future. -+ -+19. *"Interface*" means interfaces, functions, properties, class -+definitions, APIs, Header Files, GUIDs, V-Tables, and/or protocols -+allowing one piece of software, firmware or hardware to communicate or -+interoperate with another piece of software, firmware or hardware. -+ -+20. "*Internal Deployment Use*" means use of Compliant Covered Code -+(excluding Research Use) within Your business or organization only by -+Your employees and/or agents on behalf of Your business or organization, -+but not to provide services, including content distribution, to third -+parties, subject to execution of Attachment D by You and Original -+Contributor, if required. -+ -+21. "*Licensee*" means any party that has entered into and has in effect -+a version of this License with Original Contributor. -+ -+22. "*MIME type*" means a description of what type of media or other -+content is in a file, including by way of example but not limited to -+'audio/x-pn-realaudio-plugin.' -+ -+23. "*Modification(s)"* means (i) any addition to, deletion from and/or -+change to the substance and/or structure of the Covered Code, including -+Interfaces; (ii) the combination of any Covered Code and any previous -+Modifications; (iii) any new file or other representation of computer -+program statements that contains any portion of Covered Code; and/or -+(iv) any new Source Code implementing any portion of the Specifications. -+ -+24. "*MP3 Patents*" means any patents necessary to make, use or sell -+technology implementing any portion of the specification developed by -+the Moving Picture Experts Group known as MPEG-1 Audio Layer-3 or MP3, -+including but not limited to all past and future versions, profiles, -+extensions, parts and amendments relating to the MP3 specification. -+ -+25. "*MPEG-4 Patents*" means any patents necessary to make, use or sell -+technology implementing any portion of the specification developed by -+the Moving Pictures Experts Group known as MPEG-4, including but not -+limited to all past and future versions, profiles, extensions, parts and -+amendments relating to the MPEG-4 specification. -+ -+26. "*Original Code*" means the initial Source Code for the Technology -+as described on the Community Web Server. -+ -+27. "*Original Contributor*" means RealNetworks, Inc., its affiliates -+and its successors and assigns. -+ -+28. "*Original Contributor MIME Type*" means the MIME registry, browser -+preferences, or local file/protocol associations invoking any Helix DNA -+Client-based application, including the RealOne Player, for playback of -+RealAudio, RealVideo, other RealMedia MIME types or datatypes (e.g., -+.ram, .rnx, .rpm, .ra, .rm, .rp, .rt, .rf, .prx, .mpe, .rmp, .rmj, .rav, -+.rjs, .rmx, .rjt, .rms), and any other Original Contributor-specific or -+proprietary MIME types that Original Contributor may introduce in the -+future. -+ -+29. "*Personal Use*" means use of Covered Code by an individual solely -+for his or her personal, private and non-commercial purposes. An -+individual's use of Covered Code in his or her capacity as an officer, -+employee, member, independent contractor or agent of a corporation, -+business or organization (commercial or non-commercial) does not qualify -+as Personal Use. -+ -+30. "*RealMedia File Format*" means the file format designed and -+developed by RealNetworks for storing multimedia data and used to store -+RealAudio and RealVideo encoded streams. Valid RealMedia File Format -+extensions include: .rm, .rmj, .rmc, .rmvb, .rms. -+ -+31. "*RCSL Webpage*" means the RealNetworks Community Source License -+webpage located at https://www.helixcommunity.org/content/rcsl or such -+other URL that Original Contributor may designate from time to time. -+ -+32. "*Reformatted Specifications*" means any revision to the -+Specifications which translates or reformats the Specifications (as for -+example in connection with Your documentation) but which does not alter, -+subset or superset * *the functional or operational aspects of the -+Specifications. -+ -+33. "*Research Use*" means use and distribution of Covered Code only for -+Your Personal Use, research or development use and expressly excludes -+Internal Deployment Use and Commercial Use. Research Use also includes -+use of Covered Code to teach individuals how to use Covered Code. -+ -+34. "*Shared Modifications*" means Modifications that You distribute or -+use for a Commercial Use, in addition to any Modifications provided by -+You, at Your option, pursuant to Section 2.2, or received by You from a -+Contributor pursuant to Section 2.3. -+ -+35. "*Source Code*" means the preferred form of the Covered Code for -+making modifications to it, including all modules it contains, plus any -+associated interface definition files, scripts used to control -+compilation and installation of an Executable, or source code -+differential comparisons against either the Original Code or another -+well known, available Covered Code of the Contributor's choice. The -+Source Code can be in a compressed or archival form, provided the -+appropriate decompression or de-archiving software is widely available -+for no charge. -+ -+36. "*Specifications*" means the specifications for the Technology and -+other documentation, as designated on the Community Web Server, as may -+be revised by Original Contributor from time to time. -+ -+37. "*Trademarks*" means Original Contributor's trademarks and logos, -+including, but not limited to, RealNetworks, RealAudio, RealVideo, -+RealOne, RealSystem, SureStream, Helix, Helix DNA and other trademarks -+whether now used or adopted in the future. -+ -+38. "*Technology*" means the technology described in Attachment B, and -+Upgrades. -+ -+39. "*Technology Compatibility Kit"* or *"TCK*" means the test programs, -+procedures, acceptance criteria and/or other requirements, designated by -+Original Contributor for use in verifying compliance of Covered Code -+with the Specifications, in conjunction with the Original Code and -+Upgraded Code. Original Contributor may, in its sole discretion and from -+time to time, revise a TCK to correct errors and/or omissions and in -+connection with Upgrades. -+ -+40. "*Upgrade(s)"* means new versions of Technology designated -+exclusively by Original Contributor as an "Upgrade" and released by -+Original Contributor from time to time under the terms of the License. -+ -+41. "*Upgraded Code*" means the Source Code and/or Executables for -+Upgrades, possibly including Modifications made by Contributors. -+ -+42. *"User's Guide"* means the users guide for the TCK which Original -+Contributor makes available to You to provide direction in how to run -+the TCK and properly interpret the results, as may be revised by -+Original Contributor from time to time. -+ -+43. "*You(r)*" means an individual, or a legal entity acting by and -+through an individual or individuals, exercising rights either under -+this License or under a future version of this License issued pursuant -+to Section 4.1. For legal entities, "You(r)" includes any entity that by -+majority voting interest controls, is controlled by, or is under common -+control with You. -+ -+44. "*Your Products*" means any (i) hardware products You distribute -+integrating the Covered Code; (ii) any software products You distribute -+with the Covered Code that utilize the APIs of the Covered Code; or -+(iii) any services You provide using the Covered Code. -+ -+ -+ ATTACHMENT A -+ -+REQUIRED NOTICES -+ -+ -+ ATTACHMENT A-1 -+ -+REQUIRED IN ALL CASES -+ -+Notice to be included in header file of all Error Corrections and Shared -+Modifications: -+ -+Portions Copyright 1994-2003 © RealNetworks, Inc. All rights reserved. -+ -+The contents of this file, and the files included with this file, are -+subject to the current version of RealNetworks Community Source License -+Version 1.1 (the "License"). You may not use this file except in -+compliance with the License executed by both You and RealNetworks. You -+may obtain a copy of the License at * -+https://www.helixcommunity.org/content/rcsl.* You may also obtain a copy -+of the License by contacting RealNetworks directly. Please see the -+License for the rights, obligations and limitations governing use of the -+contents of the file. -+ -+This file is part of the Helix DNA technology. RealNetworks, Inc., is -+the developer of the Original code and owns the copyrights in the -+portions it created. -+ -+This file, and the files included with this file, are distributed on an -+'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, -+AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT -+LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -+PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ -+Contributor(s): -+ -+_______________________________________________ -+ -+Technology Compatibility Kit Test Suite(s) Location: -+ -+________________________________ -+ -+ -+ ATTACHMENT A-2 -+ -+SAMPLE LICENSEE CERTIFICATION -+ -+"By clicking the `Agree' button below, You certify that You are a -+Licensee in good standing under the RealNetworks Community Source -+License, ("License") and that Your access, use and distribution of code -+and information You may obtain at this site is subject to the License. -+If You are not a Licensee under the RealNetworks Community Source -+License You agree not to download, copy or use the Helix DNA technology. -+ -+ -+ ATTACHMENT A-3 -+ -+REQUIRED STUDENT NOTIFICATION -+ -+"This software and related documentation has been obtained by Your -+educational institution subject to the RealNetworks Community Source -+License. You have been provided access to the software and related -+documentation for use only in connection with your course work and -+research activities as a matriculated student of Your educational -+institution. Any other use is expressly prohibited. -+ -+THIS SOFTWARE AND RELATED DOCUMENTATION CONTAINS PROPRIETARY MATERIAL OF -+REALNETWORKS, INC, WHICH ARE PROTECTED BY VARIOUS INTELLECTUAL PROPERTY -+RIGHTS. -+ -+You may not use this file except in compliance with the License. You may -+obtain a copy of the License on the web at -+https://www.helixcommunity.org/content/rcsl. -+ -+* -+* -+ -+ -+ ATTACHMENT B -+ -+Description of Technology -+ -+Helix DNA, which consists of Helix DNA Client, Helix DNA Server and -+Helix DNA Producer. -+ -+Description of "Technology" -+ -+Helix DNA Technology v1.0 as described on the Community Web Server. -+ -+ -+ ATTACHMENT C -+ -+TECHNOLOGY COMPATIBILITY KIT LICENSE -+ -+The following license is effective for the *Helix DNA* Technology -+Compatibility Kit - as described on the Community Web Server. The -+Technology Compatibility Kit(s) for the Technology specified in -+Attachment B may be accessed at the Community Web Server. -+ -+1. TCK License. -+ -+1.1 Grants to use TCK -+ -+Subject to the terms and restrictions set forth below and the -+RealNetworks Community Source License, and the Research Use license, -+Original Contributor grants to You a worldwide, non-exclusive, -+non-transferable license, to the extent of Original Contributor's -+Intellectual Property Rights in the TCK (without the right to -+sublicense), to use the TCK to develop and test Covered Code. -+ -+1.2 TCK Use Restrictions. -+ -+You are not authorized to create derivative works of the TCK or use the -+TCK to test any implementation of the Specification that is not Covered -+Code. You may not publish Your test results or make claims of -+comparative compatibility with respect to other implementations of the -+Specification. In consideration for the license grant in Section 1.1 -+above You agree not to develop Your own tests that are intended to -+validate conformation with the Specification. -+ -+2. Test Results. -+ -+You agree to provide to Original Contributor or the third party test -+facility if applicable, Your test results that demonstrate that Covered -+Code is Compliant Covered Code and that Original Contributor may publish -+or otherwise distribute such test results. -+ -+PLEASE READ THE TERMS OF THIS LICENSE CAREFULLY. BY CLICKING ON THE -+"ACCEPT" BUTTON BELOW YOU ARE ACCEPTING AND AGREEING TO THE TERMS AND -+CONDITIONS OF THIS LICENSE WITH THE ORIGINAL CONTRIBUTOR, REALNETWORKS, -+INC. IF YOU ARE AGREEING TO THIS LICENSE ON BEHALF OF A COMPANY, YOU -+REPRESENT THAT YOU ARE AUTHORIZED TO BIND THE COMPANY TO SUCH A LICENSE. -+WHETHER YOU ARE ACTING ON YOUR OWN BEHALF, OR REPRESENTING A COMPANY, -+YOU MUST BE OF MAJORITY AGE AND BE OTHERWISE COMPETENT TO ENTER INTO -+CONTRACTS. IF YOU DO NOT MEET THIS CRITERIA OR YOU DO NOT AGREE TO ANY -+OF THE TERMS AND CONDITIONS OF THIS LICENSE, CLICK ON THE REJECT BUTTON -+TO EXIT. -+ -+*ACCEPT / REJECT -+* -+ -+* -+* -+ -+*To agree to the R&D/academic terms of this license, please register -+ on the site -- -+you will then be given a chance to agree to the clickwrap RCSL -+ -+R&D License -+ -+and gain access to the RCSL-licensed source code. To build or deploy -+commercial applications based on the RCSL, you will need to agree to the -+Commercial Use license attachments -+* -+ -+ -+ -Index: helix-libs/clientapps/clutter/RPSL.txt -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/RPSL.txt 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,518 @@ -+RealNetworks Public Source License Version 1.0 -+(Rev. Date October 28, 2002) -+ -+1. General Definitions. This License applies to any program or other work which -+RealNetworks, Inc., or any other entity that elects to use this license, -+("Licensor") makes publicly available and which contains a notice placed by -+Licensor identifying such program or work as "Original Code" and stating that it -+is subject to the terms of this RealNetworks Public Source License version 1.0 -+(or subsequent version thereof) ("License"). You are not required to accept this -+License. However, nothing else grants You permission to use, copy, modify or -+distribute the software or its derivative works. These actions are prohibited by -+law if You do not accept this License. Therefore, by modifying, copying or -+distributing the software (or any work based on the software), You indicate your -+acceptance of this License to do so, and all its terms and conditions. In -+addition, you agree to the terms of this License by clicking the Accept button -+or downloading the software. As used in this License: -+ -+1.1 "Applicable Patent Rights" mean: (a) in the case where Licensor is the -+grantor of rights, claims of patents that (i) are now or hereafter acquired, -+owned by or assigned to Licensor and (ii) are necessarily infringed by using or -+making the Original Code alone and not in combination with other software or -+hardware; and (b) in the case where You are the grantor of rights, claims of -+patents that (i) are now or hereafter acquired, owned by or assigned to You and -+(ii) are infringed (directly or indirectly) by using or making Your -+Modifications, taken alone or in combination with Original Code. -+ -+1.2 "Compatible Source License" means any one of the licenses listed on Exhibit -+B or at https://www.helixcommunity.org/content/complicense or other licenses -+specifically identified by Licensor in writing. Notwithstanding any term to the -+contrary in any Compatible Source License, any code covered by any Compatible -+Source License that is used with Covered Code must be made readily available in -+Source Code format for royalty-free use under the terms of the Compatible Source -+License or this License. -+ -+1.3 "Contributor" means any person or entity that creates or contributes to the -+creation of Modifications. -+ -+1.4 "Covered Code" means the Original Code, Modifications, the combination of -+Original Code and any Modifications, and/or any respective portions thereof. -+ -+1.5 "Deploy" means to use, sublicense or distribute Covered Code other than for -+Your internal research and development (R&D) and/or Personal Use, and includes -+without limitation, any and all internal use or distribution of Covered Code -+within Your business or organization except for R&D use and/or Personal Use, as -+well as direct or indirect sublicensing or distribution of Covered Code by You -+to any third party in any form or manner. -+ -+1.6 "Derivative Work" means either the Covered Code or any derivative work under -+United States copyright law, and including any work containing or including any -+portion of the Covered Code or Modifications, either verbatim or with -+modifications and/or translated into another language. Derivative Work also -+includes any work which combines any portion of Covered Code or Modifications -+with code not otherwise governed by the terms of this License. -+ -+1.7 "Externally Deploy" means to Deploy the Covered Code in any way that may be -+accessed or used by anyone other than You, used to provide any services to -+anyone other than You, or used in any way to deliver any content to anyone other -+than You, whether the Covered Code is distributed to those parties, made -+available as an application intended for use over a computer network, or used to -+provide services or otherwise deliver content to anyone other than You. -+ -+1.8. "Interface" means interfaces, functions, properties, class definitions, -+APIs, header files, GUIDs, V-Tables, and/or protocols allowing one piece of -+software, firmware or hardware to communicate or interoperate with another piece -+of software, firmware or hardware. -+ -+1.9 "Modifications" mean any addition to, deletion from, and/or change to, the -+substance and/or structure of the Original Code, any previous Modifications, the -+combination of Original Code and any previous Modifications, and/or any -+respective portions thereof. When code is released as a series of files, a -+Modification is: (a) any addition to or deletion from the contents of a file -+containing Covered Code; and/or (b) any new file or other representation of -+computer program statements that contains any part of Covered Code. -+ -+1.10 "Original Code" means (a) the Source Code of a program or other work as -+originally made available by Licensor under this License, including the Source -+Code of any updates or upgrades to such programs or works made available by -+Licensor under this License, and that has been expressly identified by Licensor -+as such in the header file(s) of such work; and (b) the object code compiled -+from such Source Code and originally made available by Licensor under this -+License. -+ -+1.11 "Personal Use" means use of Covered Code by an individual solely for his or -+her personal, private and non-commercial purposes. An individual's use of -+Covered Code in his or her capacity as an officer, employee, member, independent -+contractor or agent of a corporation, business or organization (commercial or -+non-commercial) does not qualify as Personal Use. -+ -+1.12 "Source Code" means the human readable form of a program or other work that -+is suitable for making modifications to it, including all modules it contains, -+plus any associated interface definition files, scripts used to control -+compilation and installation of an executable (object code). -+ -+1.13 "You" or "Your" means an individual or a legal entity exercising rights -+under this License. For legal entities, "You" or "Your" includes any entity -+which controls, is controlled by, or is under common control with, You, where -+"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 -+fifty percent (50%) or more of the outstanding shares or beneficial ownership of -+such entity. -+ -+2. Permitted Uses; Conditions & Restrictions. Subject to the terms and -+conditions of this License, Licensor hereby grants You, effective on the date -+You accept this License (via downloading or using Covered Code or otherwise -+indicating your acceptance of this License), a worldwide, royalty-free, -+non-exclusive copyright license, to the extent of Licensor's copyrights cover -+the Original Code, to do the following: -+ -+2.1 You may reproduce, display, perform, modify and Deploy Covered Code, -+provided that in each instance: -+ -+(a) You must retain and reproduce in all copies of Original Code the copyright -+and other proprietary notices and disclaimers of Licensor as they appear in the -+Original Code, and keep intact all notices in the Original Code that refer to -+this License; -+ -+(b) You must include a copy of this License with every copy of Source Code of -+Covered Code and documentation You distribute, and You may not offer or impose -+any terms on such Source Code that alter or restrict this License or the -+recipients' rights hereunder, except as permitted under Section 6; -+ -+(c) You must duplicate, to the extent it does not already exist, the notice in -+Exhibit A in each file of the Source Code of all Your Modifications, and cause -+the modified files to carry prominent notices stating that You changed the files -+and the date of any change; -+ -+(d) You must make Source Code of all Your Externally Deployed Modifications -+publicly available under the terms of this License, including the license grants -+set forth in Section 3 below, for as long as you Deploy the Covered Code or -+twelve (12) months from the date of initial Deployment, whichever is longer. You -+should preferably distribute the Source Code of Your Deployed Modifications -+electronically (e.g. download from a web site); and -+ -+(e) if You Deploy Covered Code in object code, executable form only, You must -+include a prominent notice, in the code itself as well as in related -+documentation, stating that Source Code of the Covered Code is available under -+the terms of this License with information on how and where to obtain such -+Source Code. You must also include the Object Code Notice set forth in Exhibit A -+in the "about" box or other appropriate place where other copyright notices are -+placed, including any packaging materials. -+ -+2.2 You expressly acknowledge and agree that although Licensor and each -+Contributor grants the licenses to their respective portions of the Covered Code -+set forth herein, no assurances are provided by Licensor or any Contributor that -+the Covered Code does not infringe the patent or other intellectual property -+rights of any other entity. Licensor and each Contributor disclaim any liability -+to You 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, You hereby assume sole responsibility to -+secure any other intellectual property rights needed, if any. For example, if a -+third party patent license is required to allow You to make, use, sell, import -+or offer for sale the Covered Code, it is Your responsibility to acquire such -+license(s). -+ -+2.3 Subject to the terms and conditions of this License, Licensor hereby grants -+You, effective on the date You accept this License (via downloading or using -+Covered Code or otherwise indicating your acceptance of this License), a -+worldwide, royalty-free, perpetual, non-exclusive patent license under -+Licensor's Applicable Patent Rights to make, use, sell, offer for sale and -+import the Covered Code, provided that in each instance you comply with the -+terms of this License. -+ -+3. Your Grants. In consideration of, and as a condition to, the licenses granted -+to You under this License: -+ -+(a) You grant to Licensor and all third parties a non-exclusive, perpetual, -+irrevocable, royalty free license under Your Applicable Patent Rights and other -+intellectual property rights owned or controlled by You, to make, sell, offer -+for sale, use, import, reproduce, display, perform, modify, distribute and -+Deploy Your Modifications of the same scope and extent as Licensor's licenses -+under Sections 2.1 and 2.2; and -+ -+(b) You grant to Licensor and its subsidiaries a non-exclusive, worldwide, -+royalty-free, perpetual and irrevocable license, under Your Applicable Patent -+Rights and other intellectual property rights owned or controlled by You, to -+make, use, sell, offer for sale, import, reproduce, display, perform, -+distribute, modify or have modified (for Licensor and/or its subsidiaries), -+sublicense and distribute Your Modifications, in any form and for any purpose, -+through multiple tiers of distribution. -+ -+(c) You agree not use any information derived from Your use and review of the -+Covered Code, including but not limited to any algorithms or inventions that may -+be contained in the Covered Code, for the purpose of asserting any of Your -+patent rights, or assisting a third party to assert any of its patent rights, -+against Licensor or any Contributor. -+ -+4. Derivative Works. You may create a Derivative Work by combining Covered Code -+with other code not otherwise governed by the terms of this License and -+distribute the Derivative Work as an integrated product. In each such instance, -+You must make sure the requirements of this License are fulfilled for the -+Covered Code or any portion thereof, including all Modifications. -+ -+4.1 You must cause any Derivative Work that you distribute, publish or -+Externally Deploy, that in whole or in part contains or is derived from the -+Covered Code or any part thereof, to be licensed as a whole at no charge to all -+third parties under the terms of this License and no other license except as -+provided in Section 4.2. You also must make Source Code available for the -+Derivative Work under the same terms as Modifications, described in Sections 2 -+and 3, above. -+ -+4.2 Compatible Source Licenses. Software modules that have been independently -+developed without any use of Covered Code and which contain no portion of the -+Covered Code, Modifications or other Derivative Works, but are used or combined -+in any way wtih the Covered Code or any Derivative Work to form a larger -+Derivative Work, are exempt from the conditions described in Section 4.1 but -+only to the extent that: the software module, including any software that is -+linked to, integrated with, or part of the same applications as, the software -+module by any method must be wholly subject to one of the Compatible Source -+Licenses. Notwithstanding the foregoing, all Covered Code must be subject to the -+terms of this License. Thus, the entire Derivative Work must be licensed under a -+combination of the RPSL (for Covered Code) and a Compatible Source License for -+any independently developed software modules within the Derivative Work. The -+foregoing requirement applies even if the Compatible Source License would -+ordinarily allow the software module to link with, or form larger works with, -+other software that is not subject to the Compatible Source License. For -+example, although the Mozilla Public License v1.1 allows Mozilla code to be -+combined with proprietary software that is not subject to the MPL, if -+MPL-licensed code is used with Covered Code the MPL-licensed code could not be -+combined or linked with any code not governed by the MPL. The general intent of -+this section 4.2 is to enable use of Covered Code with applications that are -+wholly subject to an acceptable open source license. You are responsible for -+determining whether your use of software with Covered Code is allowed under Your -+license to such software. -+ -+4.3 Mere aggregation of another work not based on the Covered Code with the -+Covered Code (or with a work based on the Covered Code) on a volume of a storage -+or distribution medium does not bring the other work under the scope of this -+License. If You deliver the Covered Code for combination and/or integration with -+an application previously provided by You (for example, via automatic updating -+technology), such combination and/or integration constitutes a Derivative Work -+subject to the terms of this License. -+ -+5. 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 right is granted to the trademarks of Licensor or any Contributor -+even if such marks are included in the Covered Code. 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. Modifications, Derivative Works and/or any use or combination of -+Covered Code with other technology provided by Licensor or third parties may -+require additional patent licenses from Licensor which Licensor may grant in its -+sole discretion. No patent license is granted separate from the Original Code or -+combinations of the Original Code with other software or hardware. -+ -+5.1. Trademarks. This License does not grant any rights to use the trademarks or -+trade names owned by Licensor ("Licensor Marks" defined in Exhibit C) or to any -+trademark or trade name belonging to any Contributor. No Licensor Marks may be -+used to endorse or promote products derived from the Original Code other than as -+permitted by the Licensor Trademark Policy defined in Exhibit C. -+ -+6. Additional Terms. You may choose to offer, and to charge a fee for, warranty, -+support, indemnity or liability obligations and/or other rights consistent with -+the scope of the license granted herein ("Additional Terms") to one or more -+recipients of Covered Code. However, You may do so only on Your own behalf and -+as Your sole responsibility, and not on behalf of Licensor or any Contributor. -+You must obtain the recipient's agreement that any such Additional Terms are -+offered by You alone, and You hereby agree to indemnify, defend and hold -+Licensor and every Contributor harmless for any liability incurred by or claims -+asserted against Licensor or such Contributor by reason of any such Additional -+Terms. -+ -+7. Versions of the License. Licensor may publish revised and/or new versions of -+this License from time to time. Each version will be given a distinguishing -+version number. Once Original Code has been published under a particular version -+of this License, You may continue to use it under the terms of that version. You -+may also choose to use such Original Code under the terms of any subsequent -+version of this License published by Licensor. No one other than Licensor has -+the right to modify the terms applicable to Covered Code created under this -+License. -+ -+8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in part -+pre-release, untested, or not fully tested works. The Covered Code may contain -+errors that could cause failures or loss of data, and may be incomplete or -+contain inaccuracies. You expressly acknowledge and agree that use of the -+Covered Code, or any portion thereof, is at Your sole and entire risk. THE -+COVERED CODE IS PROVIDED "AS IS" AND WITHOUT WARRANTY, UPGRADES OR SUPPORT OF -+ANY KIND AND LICENSOR AND LICENSOR'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS -+"LICENSOR" FOR THE PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY -+DISCLAIM ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT -+NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF MERCHANTABILITY, OF -+SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF ACCURACY, OF QUIET -+ENJOYMENT, AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. LICENSOR AND EACH -+CONTRIBUTOR DOES NOT WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE -+COVERED CODE, THAT THE FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR -+REQUIREMENTS, THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR -+ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO ORAL OR -+WRITTEN DOCUMENTATION, INFORMATION OR ADVICE GIVEN BY LICENSOR, A LICENSOR -+AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY. You -+acknowledge that the Covered Code is not intended for use in high risk -+activities, including, but not limited to, the design, construction, operation -+or maintenance of nuclear facilities, aircraft navigation, aircraft -+communication systems, or air traffic control machines in which case the failure -+of the Covered Code could lead to death, personal injury, or severe physical or -+environmental damage. Licensor disclaims any express or implied warranty of -+fitness for such uses. -+ -+9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT -+SHALL LICENSOR OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL, SPECIAL, -+INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO THIS LICENSE OR -+YOUR USE OR INABILITY TO USE THE COVERED CODE, OR ANY PORTION THEREOF, WHETHER -+UNDER A THEORY OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE OR STRICT -+LIABILITY), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF LICENSOR OR SUCH -+CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND -+NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. SOME -+JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF INCIDENTAL OR -+CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY TO YOU. In no event -+shall Licensor's total liability to You for all damages (other than as may be -+required by applicable law) under this License exceed the amount of ten dollars -+($10.00). -+ -+10. Ownership. Subject to the licenses granted under this License, each -+Contributor retains all rights, title and interest in and to any Modifications -+made by such Contributor. Licensor retains all rights, title and interest in and -+to the Original Code and any Modifications made by or on behalf of Licensor -+("Licensor Modifications"), and such Licensor Modifications will not be -+automatically subject to this License. Licensor may, at its sole discretion, -+choose to license such Licensor Modifications under this License, or on -+different terms from those contained in this License or may choose not to -+license them at all. -+ -+11. Termination. -+ -+11.1 Term and Termination. The term of this License is perpetual unless -+terminated as provided below. This License and the rights granted hereunder will -+terminate: -+ -+(a) automatically without notice from Licensor if You fail to comply with any -+term(s) of this License and fail to cure such breach within 30 days of becoming -+aware of such breach; -+ -+(b) immediately in the event of the circumstances described in Section 12.5(b); -+or -+ -+(c) automatically without notice from Licensor if You, at any time during the -+term of this License, commence an action for patent infringement against -+Licensor (including by cross-claim or counter claim in a lawsuit); -+ -+(d) upon written notice from Licensor if You, at any time during the term of -+this License, commence an action for patent infringement against any third party -+alleging that the Covered Code itself (excluding combinations with other -+software or hardware) infringes any patent (including by cross-claim or counter -+claim in a lawsuit). -+ -+11.2 Effect of Termination. Upon termination, You agree to immediately stop any -+further use, reproduction, modification, sublicensing and distribution of the -+Covered Code and to destroy all copies of the Covered Code that are in your -+possession or control. All sublicenses to the Covered Code which have been -+properly granted prior to termination shall survive any termination of this -+License. Provisions which, by their nature, should remain in effect beyond the -+termination of this License shall survive, including but not limited to Sections -+3, 5, 8, 9, 10, 11, 12.2 and 13. No party will be liable to any other for -+compensation, indemnity or damages of any sort solely as a result of terminating -+this License in accordance with its terms, and termination of this License will -+be without prejudice to any other right or remedy of any party. -+ -+12. Miscellaneous. -+ -+12.1 Government End Users. The Covered Code is a "commercial item" as defined in -+FAR 2.101. Government software and technical data rights in the Covered Code -+include only those rights customarily provided to the public as defined in this -+License. This customary commercial license in technical data and software is -+provided in accordance with FAR 12.211 (Technical Data) and 12.212 (Computer -+Software) and, for Department of Defense purchases, DFAR 252.227-7015 (Technical -+Data -- Commercial Items) and 227.7202-3 (Rights in Commercial Computer Software -+or Computer Software Documentation). Accordingly, all U.S. Government End Users -+acquire Covered Code with only those rights set forth herein. -+ -+12.2 Relationship of Parties. This License will not be construed as creating an -+agency, partnership, joint venture or any other form of legal association -+between or among You, Licensor or any Contributor, and You will not represent to -+the contrary, whether expressly, by implication, appearance or otherwise. -+ -+12.3 Independent Development. Nothing in this License will impair Licensor's -+right to acquire, license, develop, have others develop for it, market and/or -+distribute technology or products that perform the same or similar functions as, -+or otherwise compete with, Modifications, Derivative Works, technology or -+products that You may develop, produce, market or distribute. -+ -+12.4 Waiver; Construction. Failure by Licensor or any Contributor to enforce any -+provision of this License will not be deemed a waiver of future enforcement of -+that or any other provision. Any law or regulation which provides that the -+language of a contract shall be construed against the drafter will not apply to -+this License. -+ -+12.5 Severability. (a) If for any reason a court of competent jurisdiction finds -+any provision of this License, or portion thereof, to be unenforceable, that -+provision of the License will be enforced to the maximum extent permissible so -+as to effect the economic benefits and intent of the parties, and the remainder -+of this License will continue in full force and effect. (b) Notwithstanding the -+foregoing, if applicable law prohibits or restricts You from fully and/or -+specifically complying with Sections 2 and/or 3 or prevents the enforceability -+of either of those Sections, this License will immediately terminate and You -+must immediately discontinue any use of the Covered Code and destroy all copies -+of it that are in your possession or control. -+ -+12.6 Dispute Resolution. Any litigation or other dispute resolution between You -+and Licensor relating to this License shall take place in the Seattle, -+Washington, and You and Licensor hereby consent to the personal jurisdiction of, -+and venue in, the state and federal courts within that District with respect to -+this License. The application of the United Nations Convention on Contracts for -+the International Sale of Goods is expressly excluded. -+ -+12.7 Export/Import Laws. This software is subject to all export and import laws -+and restrictions and regulations of the country in which you receive the Covered -+Code and You are solely responsible for ensuring that You do not export, -+re-export or import the Covered Code or any direct product thereof in violation -+of any such restrictions, laws or regulations, or without all necessary -+authorizations. -+ -+12.8 Entire Agreement; Governing Law. This License constitutes the entire -+agreement between the parties with respect to the subject matter hereof. This -+License shall be governed by the laws of the United States and the State of -+Washington. -+ -+Where You are located in the province of Quebec, Canada, the following clause -+applies: The parties hereby confirm that they have requested that this License -+and all related documents be drafted in English. Les parties ont exigé -+que le présent contrat et tous les documents connexes soient -+rédigés en anglais. -+ -+ EXHIBIT A. -+ -+"Copyright © 1995-2002 -+RealNetworks, Inc. and/or its licensors. All Rights Reserved. -+ -+The contents of this file, and the files included with this file, are subject to -+the current version of the RealNetworks Public Source License Version 1.0 (the -+"RPSL") available at https://www.helixcommunity.org/content/rpsl unless you have -+licensed the file under the RealNetworks Community Source License Version 1.0 -+(the "RCSL") available at https://www.helixcommunity.org/content/rcsl, in which -+case the RCSL will apply. You may also obtain the license terms directly from -+RealNetworks. You may not use this file except in compliance with the RPSL or, -+if you have a valid RCSL with RealNetworks applicable to this file, the RCSL. -+Please see the applicable RPSL or RCSL for the rights, obligations and -+limitations governing use of the contents of the file. -+ -+This file is part of the Helix DNA Technology. RealNetworks is the developer of -+the Original code and owns the copyrights in the portions it created. -+ -+This file, and the files included with this file, is distributed and made -+available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR -+IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING -+WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -+PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ -+Contributor(s): ____________________________________ -+ -+Technology Compatibility Kit Test -+Suite(s) Location (if licensed under the RCSL): ______________________________ -+ -+Object Code Notice: Helix DNA Client technology included. Copyright (c) -+RealNetworks, Inc., 1995-2002. All rights reserved. -+ -+ -+ EXHIBIT B -+ -+Compatible Source Licenses for the RealNetworks Public Source License. The -+following list applies to the most recent version of the license as of October -+25, 2002, unless otherwise indicated. -+ -+* Academic Free License -+* Apache Software License -+* Apple Public Source License -+* Artistic license -+* Attribution Assurance Licenses -+* BSD license -+* Common Public License (1) -+* Eiffel Forum License -+* GNU General Public License (GPL) (1) -+* GNU Library or "Lesser" General Public License (LGPL) (1) -+* IBM Public License -+* Intel Open Source License -+* Jabber Open Source License -+* MIT license -+* MITRE Collaborative Virtual Workspace License (CVW License) -+* Motosoto License -+* Mozilla Public License 1.0 (MPL) -+* Mozilla Public License 1.1 (MPL) -+* Nokia Open Source License -+* Open Group Test Suite License -+* Python Software Foundation License -+* Ricoh Source Code Public License -+* Sun Industry Standards Source License (SISSL) -+* Sun Public License -+* University of Illinois/NCSA Open Source License -+* Vovida Software License v. 1.0 -+* W3C License -+* X.Net License -+* Zope Public License -+* zlib/libpng license -+ -+(1) Note: because this license contains certain reciprocal licensing terms that -+purport to extend to independently developed code, You may be prohibited under -+the terms of this otherwise compatible license from using code licensed under -+its terms with Covered Code because Covered Code may only be licensed under the -+RealNetworks Public Source License. Any attempt to apply non RPSL license terms, -+including without limitation the GPL, to Covered Code is expressly forbidden. -+You are responsible for ensuring that Your use of Compatible Source Licensed -+code does not violate either the RPSL or the Compatible Source License. -+ -+The latest version of this list can be found at: -+https://www.helixcommunity.org/content/complicense -+ -+ EXHIBIT C -+ -+RealNetworks' Trademark policy. -+ -+RealNetworks defines the following trademarks collectively as "Licensor -+Trademarks": "RealNetworks", "RealPlayer", "RealJukebox", "RealSystem", -+"RealAudio", "RealVideo", "RealOne Player", "RealMedia", "Helix" or any other -+trademarks or trade names belonging to RealNetworks. -+ -+RealNetworks "Licensor Trademark Policy" forbids any use of Licensor Trademarks -+except as permitted by and in strict compliance at all times with RealNetworks' -+third party trademark usage guidelines which are posted at -+http://www.realnetworks.com/info/helixlogo.html. -+ -Index: helix-libs/clientapps/clutter/Umakefil -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/Umakefil 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,325 @@ -+# -+# ***** BEGIN LICENSE BLOCK ***** -+# Version: RCSL 1.0/RPSL 1.0 -+# -+# Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+# -+# The contents of this file, and the files included with this file, are -+# subject to the current version of the RealNetworks Public Source License -+# Version 1.0 (the "RPSL") available at -+# http://www.helixcommunity.org/content/rpsl unless you have licensed -+# the file under the RealNetworks Community Source License Version 1.0 -+# (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+# in which case the RCSL will apply. You may also obtain the license terms -+# directly from RealNetworks. You may not use this file except in -+# compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+# applicable to this file, the RCSL. Please see the applicable RPSL or -+# RCSL for the rights, obligations and limitations governing use of the -+# contents of the file. -+# -+# This file is part of the Helix DNA Technology. RealNetworks is the -+# developer of the Original Code and owns the copyrights in the portions -+# it created. -+# -+# This file, and the files included with this file, is distributed and made -+# available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+# EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+# FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+# -+# Technology Compatibility Kit Test Suite(s) Location: -+# http://www.helixcommunity.org/content/tck -+# -+# Contributor(s): -+# -+# ***** END LICENSE BLOCK ***** -+# -+ -+UmakefileVersion(2,2) -+ -+project.AddModuleIncludes("common/include", -+ "common/runtime/pub", -+ "client/include", -+ "client/common/system/pub", -+ "client/common/container/pub", -+ "client/audiosvc/pub", -+ "common/container/pub", -+ "video/sitelib/pub", -+ "video/colconverter/pub", -+ "video/sitelib/pub/platform/unix", -+ "video/sitelib", -+ "datatype/rm/include", -+ "client/core") -+ -+project.AddSources("player.cpp", -+ "excontxt.cpp", -+ "exsite.cpp", -+ "exroot.cpp", -+ "exadvsnk.cpp", -+ "exerror.cpp", -+ "iids.cpp", -+ "exstateadvsnk.cpp", -+ "excallback.cpp", -+ "print.cpp") -+ -+project.AddModuleLibraries( -+ "common/runtime[runtlib]", -+ "common/system[syslib]", -+ "common/container[contlib]", -+ "common/runtime[runtlib]", -+ "client/common/system[sysclntlib]", -+ "common/dbgtool[debuglib]", -+ "common/util[utillib]", -+ "video/sitelib[sitelib]", -+ "video/sitelib[sitecreatelib]", -+ "common/log/logutil[logutillib]", -+ "video/vidutil[vidutillib]" -+ ) -+project.AddSystemLibraries('Xv', 'Xext') -+ -+if project.IsDefined("HELIX_FEATURE_PREFERENCES"): -+ project.AddSources("preflist.cpp") -+ -+if project.IsDefined("HELIX_FEATURE_AUTHENTICATION"): -+ project.AddSources("exaumgr.cpp") -+ -+if project.IsDefined("HELIX_FEATURE_VIDEO"): -+ project.AddSources("exsitsup.cpp", -+ "fivemmap.cpp") -+ project.AddModuleIncludes('video/include') -+ if project.IsDefined("HELIX_FEATURE_PNG"): -+ project.AddModuleIncludes('datatype/image/png/common/pub') -+ project.AddModuleLibraries("common/import/zlib[zlib]", -+ "datatype/image/png/import/libpng[libpng]", -+ "datatype/image/png/common[pngcomlib]") -+ -+if project.IsDefined("HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS"): -+ project.AddSources("exprdnld.cpp") -+ -+if project.BuildOption("nodll"): -+ ## Client core -+ static_plugin_list = ["clntcore"] -+ project.AddModuleLibraries("common/runtime[runtlib]", -+ "common/fileio[fileiolib]", -+ "client/common/system[sysclntlib]", -+ "client/common/container[contclntlib]", -+ "client/core[clntcorelib]") -+ if not project.IsDefined("HELIX_FEATURE_LOGLEVEL_NONE"): -+ project.AddModuleLibraries("common/log/logutil[logutillib]") -+ if not project.IsDefined("HELIX_CONFIG_MINIMIZE_SIZE"): -+ project.AddModuleLibraries("client/common/util[utlclntlib]") -+ ## Client core libraries -+ if project.IsDefined("HELIX_FEATURE_AUDIO"): -+ project.AddModuleLibraries("audio/device[auddevlib]", -+ "client/audiosvc[audsvclib]") -+ if ('HELIX_FEATURE_VOLUME' in project.defines): -+ project.AddModuleLibraries("audio/gaintool[audgainlib]" ) -+ if ('HELIX_FEATURE_VOLUME' in project.defines): -+ project.AddModuleLibraries("audio/crossfade[audxfadelib]") -+ if project.IsDefined("HELIX_FEATURE_MIXER"): -+ project.AddModuleLibraries("audio/mixer[audmixlib]") -+ if project.IsDefined("HELIX_FEATURE_RESAMPLER"): -+ project.AddModuleLibraries("audio/resampler[audresamplib]") -+ if project.IsDefined("HELIX_FEATURE_LIMITER"): -+ project.AddModuleLibraries("audio/limiter[audlimiter]") -+ -+ if project.IsDefined("HELIX_FEATURE_VIDEO"): -+ project.AddModuleLibraries("client/videosvc[vidsvclib]", -+ "protocol/sdp[sdplib]") -+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_NET"): -+ project.AddModuleLibraries("client/netwksvc[netsvclib]", -+ "common/netio[netiolib]", -+ "client/common/netio[netioclntlib]", -+ "protocol/transport/common/system[systranlib]", -+ "protocol/transport/rtp[rtptranlib]", -+ "protocol/common/util[protutillib]", -+ "protocol/rtsp[rtsplib]") -+ if project.IsDefined("HELIX_FEATURE_RDT"): -+ project.AddLibraries(GetSDKPath("prtclrdt_lib")) -+ project.AddModuleLibraries("protocol/transport/rdt[rdttranlib]") -+ if project.IsDefined("HELIX_FEATURE_PNA"): -+ project.AddLibraries(GetSDKPath("prtclpna_lib")) -+ if project.IsDefined("HELIX_FEATURE_XMLPARSER"): -+ project.AddModuleLibraries("common/lang/xml[xmllib]") -+ ## Add RAM file format and renderer -+ if project.IsDefined("HELIX_FEATURE_META"): -+ static_plugin_list[-1:-1] = ["ramfformat", "ramrender"] -+ project.AddModuleLibraries("datatype/ram/renderer[ramrendrlib]") -+ ## Add local file system -+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_LOCAL"): -+ static_plugin_list[-1:-1] = ["smplfsys"] -+ project.AddModuleLibraries("common/fileio[fileiolib]") -+ ## Add http file system -+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_NET"): -+ static_plugin_list[-1:-1] = ["hxsdp", "httpfsys"] -+ project.AddModuleLibraries("protocol/http[httplib]", -+ "protocol/common/util[protutillib]", -+ "protocol/sdp[sdplib]", -+ "filesystem/data[datafsys]", -+ "common/fileio[fileiolib]", -+ "common/import/zlib[zlib]") -+ ## Add realmedia file format -+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_LOCAL") and \ -+ (project.IsDefined("HELIX_FEATURE_AUDIO_REAL") or \ -+ project.IsDefined("HELIX_FEATURE_VIDEO_REAL")): -+ static_plugin_list[-1:-1] = ["rmfformat"] -+ project.AddModuleLibraries("datatype/common/util[dtutillib]", -+ "datatype/common/container[dtcomcontlib]") -+ project.AddLibraries(GetSDKPath("rmcom_lib"), -+ GetSDKPath("rmacom_lib"), -+ GetSDKPath("rmff_lib"), -+ GetSDKPath("rmvidpyld_lib")) -+ -+ ## Add realmedia renderer -+ if project.IsDefined("HELIX_FEATURE_AUDIO_REAL"): -+ static_plugin_list[-1:-1] = ["rarender"] -+ project.AddModuleLibraries("datatype/rm/audio/payload[rapayld]") -+ project.AddLibraries(GetSDKPath("rmarend_lib"), -+ GetSDKPath("rmacom_lib")) -+ ## Add mp3 file format and renderer -+ if project.IsDefined("HELIX_FEATURE_AUDIO_MPA_LAYER3") or \ -+ project.IsDefined("HELIX_FEATURE_AUDIO_MPA_LAYER2") or \ -+ project.IsDefined("HELIX_FEATURE_AUDIO_MPA_LAYER1"): -+ static_plugin_list[-1:-1] = ["mp3render"] -+ project.AddModuleLibraries("datatype/mp3/codec/fltpt[mp3codecfltpt]", -+ "datatype/mp3/common[mp3lib]", -+ "datatype/mp3/payload[mp3payld]", -+ "datatype/common/util[dtutillib]") -+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_LOCAL"): -+ static_plugin_list[-1:-1] = ["mp3fformat"] -+ project.AddModuleLibraries("datatype/mp3/common[mp3lib]") -+ ## Add gecko realmedia codec -+ if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_GECKO"): -+ static_plugin_list[-1:-1] = ["cook"] -+ if not project.IsDefined("HELIX_CONFIG_FIXEDPOINT"): -+ project.AddLibraries(GetSDKPath("ra8lbrdec_flt_lib")) -+ else: -+ project.AddLibraries(GetSDKPath("ra8lbrdec_fix_lib")) -+ project.AddModuleLibraries("datatype/rm/audio/codec/common[racompat]") -+ ## Add RAAC codec -+ if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_RAAC"): -+ static_plugin_list[-1:-1] = ["raac"] -+ project.AddModuleLibraries("datatype/mp4/common[mp4comlib]", -+ "datatype/aac/codec/fixpt/decoder/hxwrap[aacdeclib]") -+ ## Add sipro realmedia codec -+ ## (Right now this only works for floating-point platforms) -+ if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_SIPRO"): -+ static_plugin_list[-1:-1] = ["sipr"] -+ project.AddLibraries(GetSDKPath("sipro_flt_backend_lib")) -+ ## Add tokyo realmedia codec -+ if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_TOKYO"): -+ static_plugin_list[-1:-1] = ["atrc"] -+ project.AddLibraries(GetSDKPath("ra8hbr_lib")) -+ ## -+ if project.IsDefined("HELIX_FEATURE_VIDEO"): -+ static_plugin_list[-1:-1] = ["vidsite"] -+ static_plugin_list[-1:-1] = ["hxltcolor"] -+ project.AddModuleLibraries("datatype/common/vidrend[vidrend]", -+ "video/sitelib[sitelib]", -+ "video/site[vidsite]", -+ "video/colconverter[hxltcolor]", -+ "datatype/rm/common[rmcomlib]", -+ "video/vidutil[vidutillib]") -+ -+ if (project.IsDefined('HELIX_FEATURE_ALTERNATE_SITE_CREATE_LIB')): -+ project.AddLibraries(GetSDKPath("sitecreate_lib")) -+ else: -+ project.AddModuleLibraries('video/sitelib[sitecreatelib]') -+ -+ ## Add realvideo renderer -+ if project.IsDefined("HELIX_FEATURE_VIDEO_REAL"): -+ project.AddModuleLibraries("datatype/rm/video/renderer[rvxrendlib]") -+ project.AddLibraries(GetSDKPath("rmvidcom_lib"), -+ GetSDKPath("rmvidpyld_lib"), -+ GetSDKPath("rvcodcom_lib")) -+ project.AddModuleLibraries("datatype/common/util[dtutillib]") -+ static_plugin_list[-1:-1] = ["rvrender"] -+ -+ ## Add mpeg4 file format -+ if project.IsDefined("HELIX_FEATURE_PLAYBACK_LOCAL")and \ -+ (project.IsDefined("HELIX_FEATURE_VIDEO_H263") or \ -+ project.IsDefined("HELIX_FEATURE_VIDEO_MPEG4") or \ -+ project.IsDefined("HELIX_FEATURE_AUDIO_MPEG4")): -+ static_plugin_list[-1:-1] = ["mp4fformat"] -+ project.AddModuleLibraries("datatype/common/util[dtutillib]", -+ "datatype/common/audrend", -+ "datatype/mp4/common[mp4comlib]", -+ "datatype/mp4/payload[mp4pyldlib]", -+ "datatype/mp4/fileformat[mp4fformatlib]") -+ if not project.IsDefined("HELIX_FEATURE_MP4_FILEFORMAT_M4A_ONLY"): -+ project.AddModuleLibraries("protocol/sdp[sdplib]", -+ "protocol/rtsp[rtsplib]", -+ "protocol/common/util[protutillib]", -+ "datatype/rm/common[rmcomlib]", -+ "datatype/amr/common[amrcomlib]") -+ ## Add h.263 renderer -+ if project.IsDefined("HELIX_FEATURE_VIDEO_H263"): -+ project.AddModuleLibraries("datatype/h263/payload[h263pyldlib]") -+ static_plugin_list[-1:-1] = ["h263render"] -+ ## Add MPEG4 renderer -+# if project.IsDefined("HELIX_FEATURE_VIDEO_MPEG4"): -+# static_plugin_list[-1:-1] = ["mp4xrender"] -+ ## Add mpeg 4 audio renderer -+ if project.IsDefined("HELIX_FEATURE_AUDIO_MPEG4"): -+ static_plugin_list[-1:-1] = ["mp4arender"] -+ project.AddModuleLibraries("datatype/mp4/audio/renderer[mp4arenderlib]") -+ if not project.IsDefined("HELIX_FEATURE_MP4_FILEFORMAT_M4A_ONLY"): -+ project.AddModuleLibraries("datatype/amr/common[amrcomlib]") -+ ## Add RV10 codec -+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV10"): -+ project.AddLibraries(GetSDKPath("rv1dec_libs")+"[rv10lib]", -+ GetSDKPath("rv1dec_libs")+"[drv1lib]") -+ static_plugin_list[-1:-1] = ["rv10", "drv1"] -+ ## Add RV20 codec -+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV20"): -+ project.AddLibraries(GetSDKPath("rvg2dec_libs")+"[rv20lib]", -+ GetSDKPath("rvg2dec_libs")+"[drv2lib]") -+ static_plugin_list[-1:-1] = ["rv20", "drv2"] -+ -+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV30") or \ -+ project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV40"): -+ static_plugin_list[-1:-1] = ["drvc"] -+ if project.IsDefined("HELIX_FEATURE_ANSIC_RV89COMBO"): -+ project.AddLibraries(GetSDKPath("rv89combo_c_libs")+"[drvc]") -+ else: -+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[drvclib]") -+ -+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV30"): -+ static_plugin_list[-1:-1] = ["rv30"] -+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[rv3xlib]") -+ project.AddModuleLibraries("datatype/rm/video/codec/rv89combo[rv30]") -+ -+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV40"): -+ static_plugin_list[-1:-1] = ["rv40"] -+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[rv4xlib]") -+ project.AddModuleLibraries("datatype/rm/video/codec/rv89combo[rv40]") -+ -+# if project.IsDefined("HELIX_FEATURE_AUDIO_CODEC_AAC"): -+# static_plugin_list[-1:-1] = ["aac4"] -+ -+ CreateStaticPluginTable(static_plugin_list) -+ -+project.ExportFunction("init_main", "void") -+project.ExportFunction("deinit_main", "void") -+project.ExportFunction("get_player", "void **ppPlayer", -+ "on_buffering_cb_t on_buffering_cb", -+ "on_pos_length_cb_t on_pos_length_cb") -+project.ExportFunction("player_openurl", "void *pPlayerHandle", -+ "char *pszRawURL") -+project.ExportFunction("put_player", "void *pPlayerHandle") -+project.ExportFunction("player_geturl", "void *pPlayerHandle", "char **pszURL") -+project.ExportFunction("player_begin", "void *pPlayerHandle") -+project.ExportFunction("player_stop", "void *pPlayerHandle") -+project.ExportFunction("player_pause", "void *pPlayerHandle") -+project.ExportFunction("player_seek", "void *pPlayerHandle", "int pos") -+project.ExportFunction("get_curr_playtime", "void *pPlayerHandle") -+project.ExportFunction("player_getvolume", "void *pPlayerHandle") -+project.ExportFunction("player_canseek", "void *pPlayerHandle") -+project.ExportFunction("player_setvolume", "void *pPlayerHandle", "unsigned short volumn") -+ -+ -+ -+DLLTarget('libhelix-player') -+ -+DependTarget() -+ -Index: helix-libs/clientapps/clutter/exabd.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exabd.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,245 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include -+ -+#include "hxtypes.h" -+ -+#include "hxcom.h" -+#include "hxcomm.h" -+#include "hxmon.h" -+#include "hxcore.h" -+#include "hxengin.h" -+#include "chxpckts.h" -+#include "hxclsnk.h" -+#include "hxstrutl.h" -+#include "exabd.h" -+ -+#include "print.h" -+ -+#include "globals.h" -+ -+struct _stGlobals*& GetGlobal(); //in main.cpp -+ -+ExampleABD::ExampleABD(IUnknown* pUnknown) -+ : m_lRefCount (0) -+ , m_pUnknown (NULL) -+ , m_ulABDStartTime(0) -+ , m_ulABDResult(0) -+ , m_bABDDone(FALSE) -+{ -+ if (pUnknown) -+ { -+ m_pUnknown = pUnknown; -+ m_pUnknown->AddRef(); -+ } -+} -+ -+ExampleABD::~ExampleABD(void) -+{ -+ HX_RELEASE(m_pUnknown); -+} -+ -+ -+// *** IUnknown methods *** -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::QueryInterface -+// Purpose: -+// Implement this to export the interfaces supported by your -+// object. -+// -+STDMETHODIMP ExampleABD::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = (IUnknown*)(IHXAutoBWCalibrationAdviseSink*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXAutoBWCalibrationAdviseSink)) -+ { -+ AddRef(); -+ *ppvObj = (IHXAutoBWCalibrationAdviseSink*)this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::AddRef -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleABD::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::Release -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleABD::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+/* -+ * IHXAutoBWCalibrationAdviseSink methods -+ */ -+STDMETHODIMP -+ExampleABD::AutoBWCalibrationStarted (const char* pszServer) -+{ -+ if (pszServer) -+ { -+ STDOUT("ABD: contacting %s\n", pszServer); -+ } -+ -+ return HXR_OK; -+} -+ -+STDMETHODIMP -+ExampleABD::AutoBWCalibrationDone(HX_RESULT status, -+ UINT32 ulBW) -+{ -+ m_bABDDone = TRUE; -+ -+ if (HXR_OK == status) -+ { -+ m_ulABDResult = ulBW; -+ STDOUT("ABD: %lu(Kbps) %lu(ms)\n", ulBW, GetTickCount() - m_ulABDStartTime); -+ } -+ else -+ { -+ STDOUT("ABD failed: %lu\n", status); -+ } -+ -+ return HXR_OK; -+} -+ -+HX_RESULT -+ExampleABD::DoABD(const char* pszServer, -+ UINT32 mode, -+ UINT32 packetSize, -+ UINT32 packetNum) -+{ -+ HX_RESULT rc = HXR_OK; -+ UINT32 length = 0; -+ IHXAutoBWCalibration* pABD = NULL; -+ IHXValues* pValues = NULL; -+ IHXBuffer* pBuffer = NULL; -+ -+ m_ulABDStartTime = GetTickCount(); -+ m_ulABDResult = 0; -+ m_bABDDone = FALSE; -+ -+ if (m_pUnknown && -+ HXR_OK == m_pUnknown->QueryInterface(IID_IHXAutoBWCalibration, (void**)&pABD)) -+ { -+ pValues = (IHXValues*) new CHXHeader(); -+ pValues->AddRef(); -+ -+ pBuffer = (IHXBuffer*) new CHXBuffer(); -+ pBuffer->AddRef(); -+ -+ pBuffer->Set((UCHAR*)pszServer, strlen(pszServer)+1); -+ pValues->SetPropertyCString("ABDServers", pBuffer); -+ -+ pValues->SetPropertyULONG32("AutoBWDetectionMode", mode); -+ pValues->SetPropertyULONG32("AutoBWDetectionPacketSize", packetSize); -+ pValues->SetPropertyULONG32("AutoBWDetectionPackets", packetNum); -+ -+ pABD->AddAutoBWCalibrationSink((IHXAutoBWCalibrationAdviseSink*)this); -+ pABD->InitAutoBWCalibration(pValues); -+ -+ pABD->StartAutoBWCalibration(); -+ -+ while (!m_bABDDone) -+ { -+ MSG msg; -+ DWORD starttime, endtime, i; -+ BOOL sleep = TRUE; -+ static const int checkinterval = 10; -+ -+ starttime = GetTickCount(); -+ endtime = starttime + (20); -+ i = 0; -+ while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) -+ { -+ DispatchMessage(&msg); -+ if ((i % checkinterval) == 0) -+ { -+ if (GetTickCount() > endtime) -+ break; -+ ++i; -+ } -+ sleep = FALSE; -+ } -+ -+ if (sleep) -+ Sleep(10); -+ } -+ } -+ -+cleanup: -+ -+ if (pABD) -+ { -+ pABD->RemoveAutoBWCalibrationSink((IHXAutoBWCalibrationAdviseSink*)this); -+ } -+ -+ HX_RELEASE(pBuffer); -+ HX_RELEASE(pValues); -+ HX_RELEASE(pABD); -+ -+ return rc; -+} -+ -+ -Index: helix-libs/clientapps/clutter/exabd.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exabd.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,85 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _EXAMPLEABD_ -+#define _EXAMPLEABD_ -+ -+struct IHXAutoBWCalibrationAdviseSink; -+struct IUnknown; -+ -+class ExampleABD : public IHXAutoBWCalibrationAdviseSink -+{ -+ private: -+ LONG32 m_lRefCount; -+ IUnknown* m_pUnknown; -+ UINT32 m_ulABDStartTime; -+ UINT32 m_ulABDResult; -+ BOOL m_bABDDone; -+ -+ ~ExampleABD(); -+ -+ public: -+ -+ ExampleABD(IUnknown* /*IN*/ pUnknown); -+ -+ /* -+ * IUnknown methods -+ */ -+ STDMETHOD(QueryInterface) (THIS_ -+ REFIID riid, -+ void** ppvObj); -+ -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /* -+ * IHXAutoBWCalibrationAdviseSink methods -+ */ -+ STDMETHOD(AutoBWCalibrationStarted) (THIS_ -+ const char* pszServer); -+ STDMETHOD(AutoBWCalibrationDone) (THIS_ -+ HX_RESULT status, -+ UINT32 ulBW); -+ -+ HX_RESULT DoABD(const char* pszServer, -+ UINT32 mode, -+ UINT32 packetSize, -+ UINT32 packetNum); -+ -+ UINT32 GetABD(void) { return m_ulABDResult; }; -+}; -+ -+#endif /* _EXAMPLEABDSNK_ */ -Index: helix-libs/clientapps/clutter/exadvsnk.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exadvsnk.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,1116 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include -+ -+#include "hxtypes.h" -+ -+#include "hxcom.h" -+#include "hxcomm.h" -+#include "hxmon.h" -+#include "hxcore.h" -+#include "hxengin.h" -+#include "hxclsnk.h" -+#include "hxgroup.h" -+#include "hxstrutl.h" -+#include "exadvsnk.h" -+#include "hxstring.h" -+#include "hxprefs.h" -+#include "excontxt.h" -+ -+#include "print.h" -+ -+#include "globals.h" -+#include "player.h" -+ -+struct _stGlobals*& GetGlobal(); //in main.cpp -+ -+#ifdef __TCS__ -+extern unsigned long gStreamTime; -+ -+static int iOpened = 0; -+ -+ -+#if defined(__cplusplus) -+extern "C" { -+#endif /* defined(__cplusplus) */ -+ -+typedef enum hookBuffering { -+ eContacting = 0, -+ eConnecting = 1, -+ eBuffering = 2, -+ ePlaying = 3 -+}hookBuffering; -+ -+void hookRealAudio_Buffering(hookBuffering connectState, int pct); -+ -+void hookRealAudio_PlayPosition(unsigned long current,unsigned long duration); -+ -+typedef enum hookState { -+ ePlay = 0, -+ ePause = 1, -+ eStop = 2, -+ eResume = 3, -+ eComplete // Clip is done playing -+}hookState; -+void hookRealAudio_State(hookState newState); -+ -+ -+#if defined(__cplusplus) -+} -+#endif /* defined(__cplusplus) */ -+ -+#endif // __TCS__ -+ -+void PrintBuffer(const char* pszName,const unsigned char* pbBuf, unsigned int dwBytes); -+ -+ExampleClientAdviceSink::ExampleClientAdviceSink(IUnknown* pUnknown, LONG32 lClientIndex, on_buffering_cb_t on_buffering_cb, on_pos_length_cb_t on_pos_length_cb, void *context) -+ : m_lRefCount (0) -+ , m_lClientIndex (lClientIndex) -+ , m_pUnknown (NULL) -+ , m_pRegistry (NULL) -+ , m_pScheduler (NULL) -+ , m_lCurrentBandwidth(0) -+ , m_lAverageBandwidth(0) -+ , m_bOnStop(0) -+ , m_pPlayer(0) -+ , m_bWaitForTrackStart(0) -+ , m_on_buffering_cb(on_buffering_cb) -+ , m_on_pos_length_cb(on_pos_length_cb) -+ , m_context(context) -+{ -+ if (pUnknown) -+ { -+ m_pUnknown = pUnknown; -+ m_pUnknown->AddRef(); -+ -+ if (HXR_OK != m_pUnknown->QueryInterface(IID_IHXRegistry, (void**)&m_pRegistry)) -+ { -+ m_pRegistry = NULL; -+ } -+ -+ if (HXR_OK != m_pUnknown->QueryInterface(IID_IHXScheduler, (void**)&m_pScheduler)) -+ { -+ m_pScheduler = NULL; -+ } -+ -+ IHXPlayer* pPlayer; -+ if(HXR_OK == m_pUnknown->QueryInterface(IID_IHXPlayer, -+ (void**)&pPlayer)) -+ { -+ m_pPlayer = pPlayer; -+ -+ IHXGroupManager* pGroupMgr = NULL; -+ if(HXR_OK == m_pPlayer->QueryInterface(IID_IHXGroupManager, -+ (void**)&pGroupMgr)) -+ { -+ pGroupMgr->AddSink((IHXGroupSink*)this); -+ pGroupMgr->Release(); -+ } -+ -+ pPlayer->AddAdviseSink(this); -+ -+ } -+ } -+ -+#ifdef __TCS__ -+ bEnableAdviceSink = TRUE; -+ iOpened = 0; -+#endif -+} -+ -+ExampleClientAdviceSink::~ExampleClientAdviceSink(void) -+{ -+ if (m_pScheduler) -+ { -+ m_pScheduler->Release(); -+ m_pScheduler = NULL; -+ } -+ -+ if (m_pRegistry) -+ { -+ m_pRegistry->Release(); -+ m_pRegistry = NULL; -+ } -+ -+ if (m_pPlayer) -+ { -+ m_pPlayer->Release(); -+ m_pPlayer = NULL; -+ } -+ if (m_pUnknown) -+ { -+ m_pUnknown->Release(); -+ m_pUnknown = NULL; -+ } -+} -+ -+ -+// *** IUnknown methods *** -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::QueryInterface -+// Purpose: -+// Implement this to export the interfaces supported by your -+// object. -+// -+STDMETHODIMP ExampleClientAdviceSink::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = (IUnknown*)(IHXClientAdviseSink*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXClientAdviseSink)) -+ { -+ AddRef(); -+ *ppvObj = (IHXClientAdviseSink*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXGroupSink)) -+ { -+ AddRef(); -+ *ppvObj = (IHXGroupSink*)this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::AddRef -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleClientAdviceSink::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::Release -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleClientAdviceSink::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+/* -+ * IHXClientAdviseSink methods -+ */ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPosLength -+ * Purpose: -+ * Called to advise the client that the position or length of the -+ * current playback context has changed. -+ */ -+ -+#ifdef __TCS__ -+static long lastPosition = -1; -+#endif -+ -+STDMETHODIMP -+ExampleClientAdviceSink::OnPosLength(UINT32 ulPosition, -+ UINT32 ulLength) -+{ -+ // Are we doing a multi-seek? -+ if (GetGlobal()->g_bMultiSeek) -+ { -+ // Have we run out of seek times? -+ if (GetGlobal()->g_ulMultiSeekIndex < GetGlobal()->g_ulNumMultiSeeks) -+ { -+ STDOUT("Multi-seeking the first player to %lu\n", -+ GetGlobal()->g_ulMultiSeekTime[GetGlobal()->g_ulMultiSeekIndex]); -+ GetGlobal()->g_Players[0]->Seek(GetGlobal()->g_ulMultiSeekTime[GetGlobal()->g_ulMultiSeekIndex++]); -+ } -+ else -+ { -+ // We've run out - stop the multi-seek -+ GetGlobal()->g_bMultiSeek = FALSE; -+ GetGlobal()->g_ulNumMultiSeeks = 0; -+ GetGlobal()->g_ulMultiSeekIndex = 0; -+ } -+ } -+ -+ if (m_on_pos_length_cb) -+ m_on_pos_length_cb(ulPosition, ulLength, m_context); -+ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPresentationOpened -+ * Purpose: -+ * Called to advise the client a presentation has been opened. -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnPresentationOpened() -+{ -+#ifdef __TCS__ -+ iOpened = 1; -+ lastPosition = -1; -+#else -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnPresentationOpened()\n"); -+ } -+#if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) -+ // Try to get the IHXPlaybackVelocity interface -+ // from the first player -+ if (GetGlobal()->g_nPlayers > 0 && GetGlobal()->g_Players[0]) -+ { -+ IHXPlaybackVelocity* pVel = NULL; -+ HX_RESULT rv = GetGlobal()->g_Players[0]->QueryInterface(IID_IHXPlaybackVelocity, (void**) &pVel); -+ if (SUCCEEDED(rv)) -+ { -+ // Get the capabilities object from the player -+ rv = pVel->QueryVelocityCaps(GetGlobal()->g_pVelocityCaps); -+ if (SUCCEEDED(rv) && GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("Available Velocity Ranges:"); -+ UINT32 ulNumRanges = GetGlobal()->g_pVelocityCaps->GetNumRanges(); -+ for (UINT32 i = 0; i < ulNumRanges && SUCCEEDED(rv); i++) -+ { -+ INT32 lMin = 0; -+ INT32 lMax = 0; -+ rv = GetGlobal()->g_pVelocityCaps->GetRange(i, lMin, lMax); -+ if (SUCCEEDED(rv)) -+ { -+ STDOUT(" [%ld,%ld]", lMin, lMax); -+ } -+ } -+ STDOUT("\n"); -+ } -+ } -+ HX_RELEASE(pVel); -+ } -+#endif /* #if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) */ -+#endif -+ -+ UINT32 sourceCount = m_pPlayer->GetSourceCount(); -+ for (UINT32 sourceID = 0; sourceID < sourceCount; sourceID ++) -+ { -+ // get HXSource -+ IUnknown* pUnkSource = NULL; -+ IHXStreamSource* pStreamSrc = NULL; -+ -+ if (HXR_OK != m_pPlayer->GetSource (sourceID, pUnkSource)) -+ { -+ continue; -+ } -+ -+ pUnkSource->QueryInterface(IID_IHXStreamSource, (void **)&pStreamSrc); -+ -+ HX_RELEASE(pUnkSource); -+ -+ if (!pStreamSrc) -+ { -+ continue; -+ } -+ -+ UINT32 num_streams = pStreamSrc->GetStreamCount(); -+ -+ // get information from Streams -+ for (UINT32 streamID = 0; streamID < num_streams ; streamID++) -+ { -+ IUnknown* pUnkStream = NULL; -+ -+ if (HXR_OK == pStreamSrc->GetStream(streamID, pUnkStream)) -+ { -+ IHXStream* pStream = NULL; -+ -+ if (HXR_OK == pUnkStream->QueryInterface(IID_IHXStream, -+ (void**)&pStream)) -+ { -+ const char* pMimeType = pStream->GetStreamType(); -+ if( 0 == strcmp(pMimeType, "application/ram")) -+ { -+ m_bWaitForTrackStart = TRUE; -+ } -+ else -+ { -+ m_bWaitForTrackStart = FALSE; -+ } -+ } -+ HX_RELEASE(pStream); -+ } -+ HX_RELEASE(pUnkStream); -+ if (!m_bWaitForTrackStart) -+ { -+ break; -+ } -+ } -+ -+ if (!m_bWaitForTrackStart) -+ { -+ break; -+ } -+ HX_RELEASE(pStreamSrc); -+ } -+ -+ if (!m_bWaitForTrackStart) -+ { -+ STDOUT("----------------clip info--------------------\n"); -+ if(m_pScheduler) { -+ m_hCallback = m_pScheduler->RelativeEnter(this,50); -+ } -+ } -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPresentationClosed -+ * Purpose: -+ * Called to advise the client a presentation has been closed. -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnPresentationClosed() -+{ -+#ifdef __TCS__ -+ iOpened = 0; -+ lastPosition = -1; -+#else -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnPresentationClosed()\n"); -+ } -+#endif -+ -+ return HXR_OK; -+} -+ -+void ExampleClientAdviceSink::GetStatistics (char* pszRegistryKey) -+{ -+ char szRegistryValue[MAX_DISPLAY_NAME] = {0}; /* Flawfinder: ignore */ -+ INT32 lValue = 0; -+ INT32 i = 0; -+ INT32 lStatistics = 8; -+ UINT32 *plValue; -+ -+#ifdef __TCS__ -+ return; // DISABLED FOR NOW -+#endif -+ -+ // collect statistic -+ for (i = 0; i < lStatistics; i++) -+ { -+ plValue = NULL; -+ switch (i) -+ { -+ case 0: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Normal", pszRegistryKey); -+ break; -+ case 1: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Recovered", pszRegistryKey); -+ break; -+ case 2: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Received", pszRegistryKey); -+ break; -+ case 3: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Lost", pszRegistryKey); -+ break; -+ case 4: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.Late", pszRegistryKey); -+ break; -+ case 5: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.ClipBandwidth", pszRegistryKey); -+ break; -+ case 6: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.AverageBandwidth", pszRegistryKey); -+ plValue = &m_lAverageBandwidth; -+ break; -+ case 7: -+ SafeSprintf(szRegistryValue, MAX_DISPLAY_NAME, "%s.CurrentBandwidth", pszRegistryKey); -+ plValue = &m_lCurrentBandwidth; -+ break; -+ default: -+ break; -+ } -+ -+ m_pRegistry->GetIntByName(szRegistryValue, lValue); -+ if (plValue) -+ { -+ if (m_bOnStop || lValue == 0) -+ { -+ lValue = *plValue; -+ } -+ else -+ { -+ *plValue = lValue; -+ } -+ } -+ if (GetGlobal()->bEnableAdviceSink || (GetGlobal()->bEnableVerboseMode && m_bOnStop)) -+ { -+ STDOUT("%s = %ld\n", szRegistryValue, lValue); -+ } -+ } -+} -+ -+void ExampleClientAdviceSink::GetAllStatistics(void) -+{ -+ UINT32 unPlayerIndex = 0; -+ UINT32 unSourceIndex = 0; -+ UINT32 unStreamIndex = 0; -+ -+ char* pszRegistryPrefix = "Statistics"; -+ char szRegistryName[MAX_DISPLAY_NAME] = {0}; /* Flawfinder: ignore */ -+ -+#ifdef __TCS__ -+ return; // DISABLED FOR NOW -+#endif -+ -+ // display the content of whole statistic registry -+ if (m_pRegistry) -+ { -+ // ok, let's start from the top (player) -+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Player%ld", pszRegistryPrefix, m_lClientIndex); -+ if (PT_COMPOSITE == m_pRegistry->GetTypeByName(szRegistryName)) -+ { -+ // display player statistic -+ GetStatistics(szRegistryName); -+ -+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Source%ld", szRegistryName, unSourceIndex); -+ while (PT_COMPOSITE == m_pRegistry->GetTypeByName(szRegistryName)) -+ { -+ // display source statistic -+ GetStatistics(szRegistryName); -+ -+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Stream%ld", szRegistryName, unStreamIndex); -+ while (PT_COMPOSITE == m_pRegistry->GetTypeByName(szRegistryName)) -+ { -+ // display stream statistic -+ GetStatistics(szRegistryName); -+ -+ unStreamIndex++; -+ -+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Player%ld.Source%ld.Stream%ld", -+ pszRegistryPrefix, unPlayerIndex, unSourceIndex, unStreamIndex); -+ } -+ -+ unSourceIndex++; -+ -+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Player%ld.Source%ld", -+ pszRegistryPrefix, unPlayerIndex, unSourceIndex); -+ } -+ -+ unPlayerIndex++; -+ -+ SafeSprintf(szRegistryName, MAX_DISPLAY_NAME, "%s.Player%ld", pszRegistryPrefix, unPlayerIndex); -+ } -+ } -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnStatisticsChanged -+ * Purpose: -+ * Called to advise the client that the presentation statistics -+ * have changed. -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnStatisticsChanged(void) -+{ -+ char szBuff[1024]; /* Flawfinder: ignore */ -+ HX_RESULT res = HXR_OK; -+ UINT16 uPlayer = 0; -+ -+#ifdef __TCS__ -+ return HXR_OK; // DISABLED FOR NOW -+#endif -+ -+ if(GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnStatisticsChanged():\n"); -+ -+ SafeSprintf(szBuff, 1024, "Statistics"); -+ res = DumpRegTree( szBuff ); -+ } -+ -+ return HXR_OK; -+} -+ -+HX_RESULT ExampleClientAdviceSink::DumpRegTree(const char* pszTreeName ) -+{ -+ const char* pszName = NULL; -+ ULONG32 ulRegID = 0; -+ HX_RESULT res = HXR_OK; -+ INT32 nVal = 0; -+ IHXBuffer* pBuff = NULL; -+ IHXValues* pValues = NULL; -+ -+ //See if the name exists in the reg tree. -+ res = m_pRegistry->GetPropListByName( pszTreeName, pValues); -+ if( HXR_OK!=res || !pValues ) -+ return HXR_FAIL; -+ -+ //make sure this is a PT_COMPOSITE type reg entry. -+ if( PT_COMPOSITE != m_pRegistry->GetTypeByName(pszTreeName)) -+ return HXR_FAIL; -+ -+ //Print out the value of each member of this tree. -+ res = pValues->GetFirstPropertyULONG32( pszName, ulRegID ); -+ while( HXR_OK == res ) -+ { -+ //We have at least one entry. See what type it is. -+ HXPropType pt = m_pRegistry->GetTypeById(ulRegID); -+ switch(pt) -+ { -+ case PT_COMPOSITE: -+ DumpRegTree(pszName); -+ break; -+ case PT_INTEGER : -+ nVal = 0; -+ m_pRegistry->GetIntById( ulRegID, nVal ); -+ STDOUT("%s : %d\n", pszName, nVal ); -+ break; -+ case PT_INTREF : -+ nVal = 0; -+ m_pRegistry->GetIntById( ulRegID, nVal ); -+ STDOUT("%s : %d\n", pszName, nVal ); -+ break; -+ case PT_STRING : -+ pBuff = NULL; -+ m_pRegistry->GetStrById( ulRegID, pBuff ); -+ STDOUT("%s : \"", pszName ); -+ if( pBuff ) -+ STDOUT("%s", (const char *)(pBuff->GetBuffer()) ); -+ STDOUT("\"\n" ); -+ HX_RELEASE(pBuff); -+ break; -+ case PT_BUFFER : -+ STDOUT("%s : BUFFER TYPE NOT SHOWN\n", -+ pszName, nVal ); -+ break; -+ case PT_UNKNOWN: -+ STDOUT("%s Unkown registry type entry\n", pszName ); -+ break; -+ default: -+ STDOUT("%s Unkown registry type entry\n", pszName ); -+ break; -+ } -+ res = pValues->GetNextPropertyULONG32( pszName, ulRegID); -+ } -+ -+ HX_RELEASE( pValues ); -+ -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPreSeek -+ * Purpose: -+ * Called by client engine to inform the client that a seek is -+ * about to occur. The render is informed the last time for the -+ * stream's time line before the seek, as well as the first new -+ * time for the stream's time line after the seek will be completed. -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnPreSeek( ULONG32 ulOldTime, -+ ULONG32 ulNewTime) -+{ -+#if !defined(__TCS__) -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnPreSeek(%ld, %ld)\n", ulOldTime, ulNewTime); -+ } -+#endif -+ -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPostSeek -+ * Purpose: -+ * Called by client engine to inform the client that a seek has -+ * just occured. The render is informed the last time for the -+ * stream's time line before the seek, as well as the first new -+ * time for the stream's time line after the seek. -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnPostSeek( ULONG32 ulOldTime, -+ ULONG32 ulNewTime) -+{ -+#ifdef __TCS__ -+ lastPosition = -1; -+#else -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnPostSeek(%ld, %ld)\n", ulOldTime, ulNewTime); -+ } -+#endif -+ -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnStop -+ * Purpose: -+ * Called by client engine to inform the client that a stop has -+ * just occured. -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnStop(void) -+{ -+ HXTimeval now; -+ -+#ifdef __TCS__ -+ hookRealAudio_State(eStop); -+#else -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnStop()\n"); -+ } -+ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("Player %ld stopped.\n", m_lClientIndex); -+ m_bOnStop = TRUE; -+ GetAllStatistics(); -+ } -+#endif -+ -+ // Find out the current time and subtract the beginning time to -+ // figure out how many seconds we played -+ now = m_pScheduler->GetCurrentSchedulerTime(); -+ m_ulStopTime = now.tv_sec; -+ -+ GetGlobal()->g_ulNumSecondsPlayed = m_ulStopTime - m_ulStartTime; -+ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPause -+ * Purpose: -+ * Called by client engine to inform the client that a pause has -+ * just occured. The render is informed the last time for the -+ * stream's time line before the pause. -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnPause(ULONG32 ulTime) -+{ -+#ifdef __TCS__ -+ hookRealAudio_State(ePause); -+#else -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnPause(%ld)\n", ulTime); -+ } -+#endif -+ -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnBegin -+ * Purpose: -+ * Called by client engine to inform the client that a begin or -+ * resume has just occured. The render is informed the first time -+ * for the stream's time line after the resume. -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnBegin(ULONG32 ulTime) -+{ -+ HXTimeval now; -+ -+#if !defined(__TCS__) -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnBegin(%ld)\n", ulTime); -+ } -+ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("Player %ld beginning playback...\n", m_lClientIndex); -+ } -+#endif -+ -+ GetGlobal()->g_bOnBeginOccurred = TRUE; -+ -+ // Record the current time, so we can figure out many seconds we played -+ now = m_pScheduler->GetCurrentSchedulerTime(); -+ m_ulStartTime = now.tv_sec; -+ -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnBuffering -+ * Purpose: -+ * Called by client engine to inform the client that buffering -+ * of data is occuring. The render is informed of the reason for -+ * the buffering (start-up of stream, seek has occured, network -+ * congestion, etc.), as well as percentage complete of the -+ * buffering process. -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnBuffering(ULONG32 ulFlags, -+ UINT16 unPercentComplete) -+{ -+#ifdef __TCS__ -+static UINT16 lastPct = 0; -+ if (unPercentComplete > 0) -+ { -+ UINT16 nextPct = lastPct + 10; -+ if (unPercentComplete < lastPct) -+ { -+ lastPct = 0; -+ nextPct = lastPct + 10; -+ } -+ if (unPercentComplete >= nextPct) -+ { -+ lastPct = (unPercentComplete / 10) * 10; -+ nextPct = lastPct + 10; -+ hookRealAudio_Buffering(eBuffering,lastPct); -+ } -+ } -+#else -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnBuffering(%ld, %d)\n", ulFlags, unPercentComplete); -+ } -+#endif -+ if (m_on_buffering_cb) -+ m_on_buffering_cb(ulFlags, unPercentComplete, m_context); -+ -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnContacting -+ * Purpose: -+ * Called by client engine to inform the client is contacting -+ * hosts(s). -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::OnContacting(const char* pHostName) -+{ -+#ifdef __TCS__ -+ printf("Contacting\n"); -+ hookRealAudio_Buffering(eContacting,0); -+#else -+ if (GetGlobal()->bEnableAdviceSink) -+ { -+ STDOUT("OnContacting(\"%s\")\n", pHostName); -+ } -+#endif -+ -+ return HXR_OK; -+} -+ -+void ExampleClientAdviceSink::PrintPropName( IHXValues* pHeader ) -+{ -+ if ( pHeader == NULL ) -+ { -+ return ; -+ } -+ -+ const char *pChar; -+ ULONG32 pValue; -+ if(HXR_OK == pHeader->GetFirstPropertyULONG32(pChar, pValue)) -+ { -+ do -+ { -+ STDOUT("%s %d\n", pChar, pValue); -+ } -+ while(HXR_OK == pHeader->GetNextPropertyULONG32(pChar, pValue)); -+ } -+ -+ IHXBuffer *pBuffer; -+ -+ if(HXR_OK == pHeader->GetFirstPropertyBuffer(pChar, pBuffer)) -+ { -+ do -+ { -+ STDOUT("%s %s\n", pChar, (const char *) ( pBuffer->GetBuffer() )); -+ PrintBuffer(pChar, pBuffer->GetBuffer() ,pBuffer->GetSize()); -+ HX_RELEASE(pBuffer); -+ } while(HXR_OK == pHeader->GetNextPropertyBuffer(pChar, pBuffer )); -+ } -+ -+ if(HXR_OK == pHeader->GetFirstPropertyCString(pChar, pBuffer)) -+ { -+ do -+ { -+ STDERR("%s %s\n", pChar, (const char *) ( pBuffer->GetBuffer() )); -+ HX_RELEASE(pBuffer); -+ } while(HXR_OK == pHeader->GetNextPropertyCString(pChar, pBuffer )); -+ } -+ -+ fflush(stdout); -+} -+ -+ -+void ExampleClientAdviceSink::SetClipInfo( IHXPlayer* m_pRMAPlayer) -+{ -+ bool bSendOnClipInfo = false; -+ -+ // Get HXSource and try to get clip infor. -+ UINT32 sourceCount = m_pRMAPlayer->GetSourceCount(); -+ for (UINT32 sourceID = 0; sourceID < sourceCount; sourceID ++) -+ { -+ // get HXSource -+ STDOUT("========Source %d========\n",sourceID); -+ IUnknown* pUnkSource = NULL; -+ IHXStreamSource* pStreamSrc = NULL; -+ -+ if (HXR_OK != m_pRMAPlayer->GetSource (sourceID, pUnkSource)) -+ { -+ continue; -+ } -+ -+ pUnkSource->QueryInterface(IID_IHXStreamSource, (void **)&pStreamSrc); -+ -+ HX_RELEASE(pUnkSource); -+ -+ if (!pStreamSrc) -+ { -+ continue; -+ } -+ -+ UINT32 num_streams = pStreamSrc->GetStreamCount(); -+ -+ STDOUT("====File Header====\n"); -+ -+ IHXValues* pFileHdr = NULL; -+ pStreamSrc->QueryInterface(IID_IHXValues, (void**)&pFileHdr); -+ -+ if ( pFileHdr) -+ { -+ PrintPropName(pFileHdr); -+ } -+ HX_RELEASE(pFileHdr); -+ -+ // get information from Streams -+ for (UINT32 streamID = 0; streamID < num_streams ; streamID++) -+ { -+ STDOUT("====Stream %d====\n",streamID); -+ IUnknown* pUnkStream = NULL; -+ -+ if (HXR_OK == pStreamSrc->GetStream(streamID, pUnkStream)) -+ { -+ IHXStream* pStream = NULL; -+ -+ if (HXR_OK == pUnkStream->QueryInterface(IID_IHXStream, -+ (void**)&pStream)) -+ { -+ IHXValues* pStreamHdr = pStream->GetHeader(); -+ if (pStreamHdr) -+ { -+ PrintPropName(pStreamHdr); -+ } -+ HX_RELEASE(pStreamHdr); -+ } -+ HX_RELEASE(pStream); -+ } -+ HX_RELEASE(pUnkStream); -+ } -+ STDOUT("---------------------------------------------\n"); -+ -+ HX_RELEASE(pStreamSrc); -+ } -+} -+ -+ -+STDMETHODIMP ExampleClientAdviceSink::Func() -+{ -+ m_hCallback = 0; -+ -+ // set clip info -+ if(m_pPlayer) -+ SetClipInfo(m_pPlayer); -+ -+ return HXR_OK; -+} -+ -+void PrintBuffer(const char* pszName,const unsigned char* pbBuf, unsigned int dwBytes) -+{ -+ if(pszName == NULL || pbBuf == NULL) -+ return; -+ -+ STDOUT(" "); -+ for(unsigned int i= 0; iRelativeEnter(this,50); -+ } -+ m_bWaitForTrackStart = FALSE; -+ } -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXGroupSink::TrackStopped -+ * Purpose: -+ * Notification of a track being stopped -+ * -+ */ -+STDMETHODIMP ExampleClientAdviceSink::TrackStopped( UINT16 /*IN*/ uGroupIndex, -+ UINT16 /*IN*/ uTrackIndex, -+ IHXValues* /*IN*/ pTrack) -+{ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXGroupSink::CurrentGroupSet -+ * Purpose: -+ * This group is being currently played in the presentation. -+ */ -+STDMETHODIMP ExampleClientAdviceSink::CurrentGroupSet( UINT16 /*IN*/ uGroupIndex, -+ IHXGroup* /*IN*/ pGroup) -+{ -+ return HXR_OK; -+} -+ -Index: helix-libs/clientapps/clutter/exadvsnk.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exadvsnk.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,324 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _EXAMPLECLSNK_ -+#define _EXAMPLECLSNK_ -+ -+#include "player.h" -+ -+struct IHXClientAdviseSink; -+struct IHXGroupSink; -+struct IUnknown; -+struct IHXRegistry; -+struct IHXScheduler; -+struct IHXCallback; -+struct IHXPlayer; -+struct IHXGroup; -+ -+class ExampleClientAdviceSink : public IHXClientAdviseSink, -+ public IHXGroupSink, -+ public IHXCallback -+{ -+ private: -+ LONG32 m_lRefCount; -+ LONG32 m_lClientIndex; -+ -+ IUnknown* m_pUnknown; -+ IHXRegistry* m_pRegistry; -+ IHXScheduler* m_pScheduler; -+ -+ UINT32 m_ulStartTime; -+ UINT32 m_ulStopTime; -+ -+ UINT32 m_lCurrentBandwidth; -+ UINT32 m_lAverageBandwidth; -+ HXBOOL m_bOnStop; -+ -+ HXBOOL m_bWaitForTrackStart; -+ -+ on_buffering_cb_t m_on_buffering_cb; -+ on_pos_length_cb_t m_on_pos_length_cb; -+ void *m_context; /* a argument passed by texture-helix lib */ -+ -+ // IHXCallback -+ IHXPlayer* m_pPlayer; -+ ULONG32 m_hCallback; -+ ~ExampleClientAdviceSink(); -+ HX_RESULT DumpRegTree(const char* pszTreeName ); -+ -+ -+ void GetStatistics (char* /*IN*/ pszRegistryKey); -+ void GetAllStatistics (void); -+ void SetClipInfo( IHXPlayer* m_pRMAPlayer); -+ void PrintPropName( IHXValues* pHeader ); -+ -+ public: -+ -+ ExampleClientAdviceSink(IUnknown* /*IN*/ pUnknown, LONG32 /*IN*/ lClientIndex, on_buffering_cb_t on_buffer_cb, on_pos_length_cb_t on_pos_length_cb, void *context); -+ -+ /* -+ * IUnknown methods -+ */ -+ STDMETHOD(QueryInterface) (THIS_ -+ REFIID riid, -+ void** ppvObj); -+ -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /* -+ * IHXClientAdviseSink methods -+ */ -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPosLength -+ * Purpose: -+ * Called to advise the client that the position or length of the -+ * current playback context has changed. -+ */ -+ STDMETHOD(OnPosLength) (THIS_ -+ UINT32 ulPosition, -+ UINT32 ulLength); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPresentationOpened -+ * Purpose: -+ * Called to advise the client a presentation has been opened. -+ */ -+ STDMETHOD(OnPresentationOpened) (THIS); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPresentationClosed -+ * Purpose: -+ * Called to advise the client a presentation has been closed. -+ */ -+ STDMETHOD(OnPresentationClosed) (THIS); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnStatisticsChanged -+ * Purpose: -+ * Called to advise the client that the presentation statistics -+ * have changed. -+ */ -+ STDMETHOD(OnStatisticsChanged) (THIS); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPreSeek -+ * Purpose: -+ * Called by client engine to inform the client that a seek is -+ * about to occur. The render is informed the last time for the -+ * stream's time line before the seek, as well as the first new -+ * time for the stream's time line after the seek will be completed. -+ * -+ */ -+ STDMETHOD (OnPreSeek) (THIS_ -+ ULONG32 ulOldTime, -+ ULONG32 ulNewTime); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPostSeek -+ * Purpose: -+ * Called by client engine to inform the client that a seek has -+ * just occured. The render is informed the last time for the -+ * stream's time line before the seek, as well as the first new -+ * time for the stream's time line after the seek. -+ * -+ */ -+ STDMETHOD (OnPostSeek) (THIS_ -+ ULONG32 ulOldTime, -+ ULONG32 ulNewTime); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnStop -+ * Purpose: -+ * Called by client engine to inform the client that a stop has -+ * just occured. -+ * -+ */ -+ STDMETHOD (OnStop) (THIS); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnPause -+ * Purpose: -+ * Called by client engine to inform the client that a pause has -+ * just occured. The render is informed the last time for the -+ * stream's time line before the pause. -+ * -+ */ -+ STDMETHOD (OnPause) (THIS_ -+ ULONG32 ulTime); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnBegin -+ * Purpose: -+ * Called by client engine to inform the client that a begin or -+ * resume has just occured. The render is informed the first time -+ * for the stream's time line after the resume. -+ * -+ */ -+ STDMETHOD (OnBegin) (THIS_ -+ ULONG32 ulTime); -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnBuffering -+ * Purpose: -+ * Called by client engine to inform the client that buffering -+ * of data is occuring. The render is informed of the reason for -+ * the buffering (start-up of stream, seek has occured, network -+ * congestion, etc.), as well as percentage complete of the -+ * buffering process. -+ * -+ */ -+ STDMETHOD (OnBuffering) (THIS_ -+ ULONG32 ulFlags, -+ UINT16 unPercentComplete); -+ -+ -+ /************************************************************************ -+ * Method: -+ * IHXClientAdviseSink::OnContacting -+ * Purpose: -+ * Called by client engine to inform the client is contacting -+ * hosts(s). -+ * -+ */ -+ STDMETHOD (OnContacting) (THIS_ -+ const char* pHostName); -+ -+ // IHXCallback -+ STDMETHOD(Func) (THIS); -+ -+ /* -+ * IHXGroupSink methods -+ */ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::GroupAdded -+ * Purpose: -+ * Notification of a new group being added to the presentation. -+ */ -+ STDMETHOD(GroupAdded) (THIS_ -+ UINT16 /*IN*/ uGroupIndex, -+ IHXGroup* /*IN*/ pGroup); -+ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::GroupRemoved -+ * Purpose: -+ * Notification of a group being removed from the presentation. -+ */ -+ STDMETHOD(GroupRemoved) (THIS_ -+ UINT16 /*IN*/ uGroupIndex, -+ IHXGroup* /*IN*/ pGroup); -+ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::AllGroupsRemoved -+ * Purpose: -+ * Notification that all groups have been removed from the -+ * current presentation. -+ */ -+ STDMETHOD(AllGroupsRemoved) (THIS); -+ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::TrackAdded -+ * Purpose: -+ * Notification of a new track being added to a group. -+ */ -+ STDMETHOD(TrackAdded) (THIS_ -+ UINT16 /*IN*/ uGroupIndex, -+ UINT16 /*IN*/ uTrackIndex, -+ IHXValues* /*IN*/ pTrack); -+ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::TrackRemoved -+ * Purpose: -+ * Notification of a track being removed from a group. -+ */ -+ STDMETHOD(TrackRemoved) (THIS_ -+ UINT16 /*IN*/ uGroupIndex, -+ UINT16 /*IN*/ uTrackIndex, -+ IHXValues* /*IN*/ pTrack); -+ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::TrackStarted -+ * Purpose: -+ * Notification of a track being started (to get duration, for -+ * instance...) -+ */ -+ STDMETHOD (TrackStarted) (THIS_ -+ UINT16 /*IN*/ uGroupIndex, -+ UINT16 /*IN*/ uTrackIndex, -+ IHXValues* /*IN*/ pTrack) ; -+ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::TrackStopped -+ * Purpose: -+ * Notification of a track being stopped -+ * -+ */ -+ STDMETHOD(TrackStopped) (THIS_ -+ UINT16 /*IN*/ uGroupIndex, -+ UINT16 /*IN*/ uTrackIndex, -+ IHXValues* /*IN*/ pTrack); -+ -+ /************************************************************************ -+ * Method: -+ * IHXGroupSink::CurrentGroupSet -+ * Purpose: -+ * This group is being currently played in the presentation. -+ */ -+ STDMETHOD(CurrentGroupSet) (THIS_ -+ UINT16 /*IN*/ uGroupIndex, -+ IHXGroup* /*IN*/ pGroup); -+ -+}; -+ -+#endif /* _EXAMPLECLSNK_ */ -Index: helix-libs/clientapps/clutter/exaumgr.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exaumgr.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,137 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include -+#include "hxtypes.h" -+#include "hxcom.h" -+#include "hxauth.h" -+#include "hxstrutl.h" -+#include "exaumgr.h" -+#include -+#include "print.h" -+ -+ -+#include "globals.h" -+struct _stGlobals*& GetGlobal(); //in main.cpp -+ -+ -+ -+ExampleAuthenticationManager::ExampleAuthenticationManager() : -+ m_lRefCount(0), -+ m_bSentPassword(FALSE) -+{ -+} -+ -+ExampleAuthenticationManager::~ExampleAuthenticationManager() -+{ -+} -+ -+STDMETHODIMP -+ExampleAuthenticationManager::QueryInterface(REFIID riid, void**ppvObj) -+{ -+ if(IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = (IUnknown*)(IHXAuthenticationManager*)this; -+ return HXR_OK; -+ } -+ else if(IsEqualIID(riid, IID_IHXAuthenticationManager)) -+ { -+ AddRef(); -+ *ppvObj = (IHXAuthenticationManager*)this; -+ return HXR_OK; -+ } -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+STDMETHODIMP_(UINT32) -+ExampleAuthenticationManager::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+STDMETHODIMP_(UINT32) -+ExampleAuthenticationManager::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+STDMETHODIMP -+ExampleAuthenticationManager::HandleAuthenticationRequest(IHXAuthenticationManagerResponse* pResponse) -+{ -+ char username[1024] = ""; /* Flawfinder: ignore */ -+ char password[1024] = ""; /* Flawfinder: ignore */ -+ HX_RESULT res = HXR_FAIL; -+ -+ if( !m_bSentPassword ) -+ { -+ res = HXR_OK; -+ if (GetGlobal()->bEnableVerboseMode) -+ STDOUT("\nSending Username and Password...\n"); -+ -+ SafeStrCpy(username, GetGlobal()->g_pszUsername, 1024); -+ SafeStrCpy(password, GetGlobal()->g_pszPassword, 1024); -+ -+ //strip trailing whitespace -+ char* c; -+ for(c = username + strlen(username) - 1; -+ c > username && isspace(*c); -+ c--) -+ ; -+ *(c+1) = 0; -+ -+ for(c = password + strlen(password) - 1; -+ c > password && isspace(*c); -+ c--) -+ ; -+ *(c+1) = 0; -+ -+ m_bSentPassword = TRUE; -+ } -+ -+ if (GetGlobal()->bEnableVerboseMode && FAILED(res) ) -+ STDOUT("\nInvalid Username and/or Password.\n"); -+ -+ pResponse->AuthenticationRequestDone(res, username, password); -+ return res; -+} -+ -Index: helix-libs/clientapps/clutter/exaumgr.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exaumgr.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,56 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _EXAUMGR_H_ -+#define _EXAUMGR_H_ -+ -+#include "hxauth.h" -+ -+class ExampleAuthenticationManager : public IHXAuthenticationManager -+{ -+private: -+ INT32 m_lRefCount; -+ HXBOOL m_bSentPassword; -+ ~ExampleAuthenticationManager(); -+ -+public: -+ ExampleAuthenticationManager(); -+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj); -+ STDMETHOD_(UINT32,AddRef) (THIS); -+ STDMETHOD_(UINT32,Release) (THIS); -+ -+ STDMETHOD(HandleAuthenticationRequest) (IHXAuthenticationManagerResponse* pResponse); -+}; -+#endif -Index: helix-libs/clientapps/clutter/excallback.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/excallback.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,38 @@ -+#include "excallback.h" -+ -+STDMETHODIMP ExCallback::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IHXCallback)) -+ { -+ AddRef(); -+ *ppvObj = (IHXCallback*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+STDMETHODIMP_(ULONG32) ExCallback::AddRef() -+{ -+ return HXR_OK; -+} -+ -+STDMETHODIMP_(ULONG32) ExCallback::Release() -+{ -+ return HXR_OK; -+} -+ -+STDMETHODIMP ExCallback::Func(void) -+{ -+ UINT32 sleepTime = 0; -+ m_pKicker->Kick(HXGetCurrentThreadID, &sleepTime); -+ printf("Get called, sleeptime:%d\n", sleepTime); -+ m_pScheduler->RelativeEnter(this, sleepTime/1000); -+} -Index: helix-libs/clientapps/clutter/excallback.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/excallback.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,32 @@ -+#ifndef _EX_CALLBACK_H_ -+#define _EX_CALLBACK_H_ -+ -+#include "hxcom.h" -+#include "hxengin.h" -+#include "ihxmedpltfm.h" -+#include "thrdutil.h" -+ -+class ExCallback : public IHXCallback -+{ -+ public: -+ ExCallback(IHXScheduler *pIHXScheduler, IHXMediaPlatformKicker *pKicker) : m_pScheduler(pIHXScheduler), m_pKicker(pKicker){}; -+ -+ /* -+ * * IUnknown methods -+ * */ -+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj); -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /* -+ * * IHXCallback methods -+ * */ -+ STDMETHOD(Func) (THIS); -+ private: -+ IHXScheduler *m_pScheduler; -+ IHXMediaPlatformKicker* m_pKicker; -+ -+}; -+ -+ -+#endif -Index: helix-libs/clientapps/clutter/excontxt.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/excontxt.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,315 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include "hxtypes.h" -+ -+#include "hxwintyp.h" -+#include "hxcom.h" -+#include "hxcomm.h" -+#include "hxwin.h" -+#include "fivemmap.h" -+ -+#include "hxbuffer.h" -+#include "hxmangle.h" -+ -+#include "hxclsnk.h" -+#include "hxgroup.h" -+#include "hxerror.h" -+#include "hxprefs.h" -+#include "hxstrutl.h" -+ -+#include "exadvsnk.h" -+#include "exstateadvsnk.h" -+#include "exerror.h" -+#include "exsitsup.h" -+#include "exaumgr.h" -+#include "hxprdnld.h" -+#include "exprdnld.h" -+ -+#include "excontxt.h" -+ -+extern HXBOOL bEnableAdviceSink; -+ -+ -+ExampleClientContext::ExampleClientContext(LONG32 lClientIndex) -+ : m_lRefCount(0) -+ , m_lClientIndex(lClientIndex) -+ , m_pClientSink(NULL) -+ , m_pClientStateSink(NULL) -+ , m_pErrorSink(NULL) -+ , m_pAuthMgr(NULL) -+ , m_pSiteSupplier(NULL) -+ , m_pDefaultPrefs(NULL) -+#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS) -+ , m_pPrgDnldStatusObserver(NULL) -+#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS. -+{ -+} -+ -+ -+ExampleClientContext::~ExampleClientContext() -+{ -+ Close(); -+}; -+ -+void ExampleClientContext::Init(IUnknown* /*IN*/ pUnknown, -+ IHXPreferences* /*IN*/ pPreferences, -+ char* /*IN*/ pszGUID, -+ on_buffering_cb_t on_buffering_cb, -+ on_pos_length_cb_t on_pos_length_cb, -+ on_state_change_cb_t on_state_change_cb, -+ on_new_frame_cb_t on_new_frame_cb, -+ void *context) -+{ -+ char* pszCipher = NULL; -+ -+ -+ m_pClientSink = new ExampleClientAdviceSink(pUnknown, m_lClientIndex, on_buffering_cb, on_pos_length_cb, context); -+ -+ m_pClientStateSink = new ExampleClientStateAdviceSink(pUnknown, m_lClientIndex, on_state_change_cb, context); -+ m_pErrorSink = new ExampleErrorSink(pUnknown); -+#if defined(HELIX_FEATURE_AUTHENTICATION) -+ m_pAuthMgr = new ExampleAuthenticationManager(); -+ if(m_pAuthMgr) -+ { -+ m_pAuthMgr->AddRef(); -+ } -+ -+#endif /* #if defined(HELIX_FEATURE_AUTHENTICATION) */ -+#if defined(HELIX_FEATURE_VIDEO) -+ m_pSiteSupplier = new ExampleSiteSupplier(pUnknown, on_new_frame_cb, context); -+#endif -+ -+#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS) -+ m_pPrgDnldStatusObserver = new ExamplePDStatusObserver(pUnknown); -+#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS. -+ -+ if (m_pClientSink) -+ { -+ m_pClientSink->AddRef(); -+ } -+ -+ if (m_pErrorSink) -+ { -+ m_pErrorSink->AddRef(); -+ } -+ -+ if (m_pClientStateSink) -+ m_pClientStateSink->AddRef(); -+ -+ if(m_pSiteSupplier) -+ { -+ m_pSiteSupplier->AddRef(); -+ } -+ -+ if (pPreferences) -+ { -+ m_pDefaultPrefs = pPreferences; -+ m_pDefaultPrefs->AddRef(); -+ } -+ -+ if (pszGUID && *pszGUID) -+ { -+ // Encode GUID -+ pszCipher = Cipher(pszGUID); -+ SafeStrCpy(m_pszGUID, pszCipher, 256); -+ } -+ else -+ { -+ m_pszGUID[0] = '\0'; -+ } -+} -+ -+void ExampleClientContext::Close() -+{ -+ HX_RELEASE(m_pClientSink); -+ HX_RELEASE(m_pClientStateSink); -+ HX_RELEASE(m_pErrorSink); -+#if defined(HELIX_FEATURE_AUTHENTICATION) -+ HX_RELEASE(m_pAuthMgr); -+#endif /* #if defined(HELIX_FEATURE_AUTHENTICATION) */ -+ HX_RELEASE(m_pSiteSupplier); -+ HX_RELEASE(m_pDefaultPrefs); -+#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS) -+ HX_RELEASE(m_pPrgDnldStatusObserver); -+#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS. -+} -+ -+ -+ -+// *** IUnknown methods *** -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::QueryInterface -+// Purpose: -+// Implement this to export the interfaces supported by your -+// object. -+// -+STDMETHODIMP ExampleClientContext::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXPreferences)) -+ { -+ AddRef(); -+ *ppvObj = (IHXPreferences*)this; -+ return HXR_OK; -+ } -+ else if (m_pClientSink && -+ m_pClientSink->QueryInterface(riid, ppvObj) == HXR_OK) -+ { -+ return HXR_OK; -+ } -+ else if (m_pErrorSink && -+ m_pErrorSink->QueryInterface(riid, ppvObj) == HXR_OK) -+ { -+ return HXR_OK; -+ } -+ else if (m_pClientStateSink && -+ m_pClientStateSink->QueryInterface(riid, ppvObj) == HXR_OK) -+ { -+ return HXR_OK; -+ } -+#if defined(HELIX_FEATURE_AUTHENTICATION) -+ else if(m_pAuthMgr && -+ m_pAuthMgr->QueryInterface(riid, ppvObj) == HXR_OK) -+ { -+ return HXR_OK; -+ } -+#endif /* #if defined(HELIX_FEATURE_AUTHENTICATION) */ -+ else if(m_pSiteSupplier && -+ m_pSiteSupplier->QueryInterface(riid, ppvObj) == HXR_OK) -+ { -+ return HXR_OK; -+ } -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::AddRef -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleClientContext::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::Release -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleClientContext::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+ -+// *** IUnknown methods *** -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IHXPreferences::ReadPref -+// Purpose: -+// Read a Preference from the registry. -+// -+STDMETHODIMP -+ExampleClientContext::ReadPref(const char* pref_key, IHXBuffer*& buffer) -+{ -+ HX_RESULT hResult = HXR_OK; -+ char* pszCipher = NULL; -+ -+ if ((stricmp(pref_key, CLIENT_GUID_REGNAME) == 0) && -+ (*m_pszGUID)) -+ { -+ // Create a Buffer -+ buffer = new CHXBuffer(); -+ buffer->AddRef(); -+ -+ // Copy the encoded GUID into the buffer -+ buffer->Set((UCHAR*)m_pszGUID, strlen(m_pszGUID) + 1); -+ } -+ else if (m_pDefaultPrefs) -+ { -+ hResult = m_pDefaultPrefs->ReadPref(pref_key, buffer); -+ } -+ else -+ { -+ hResult = HXR_NOTIMPL; -+ } -+ -+ return hResult; -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IHXPreferences::WritePref -+// Purpose: -+// Write a Preference to the registry. -+// -+STDMETHODIMP -+ExampleClientContext::WritePref(const char* pref_key, IHXBuffer* buffer) -+{ -+ if (m_pDefaultPrefs) -+ { -+ return m_pDefaultPrefs->WritePref(pref_key, buffer); -+ } -+ else -+ { -+ return HXR_OK; -+ } -+} -+ -+EHXClientState ExampleClientContext::GetState() -+{ -+ return m_pClientStateSink->GetState(); -+}; -Index: helix-libs/clientapps/clutter/excontxt.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/excontxt.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,106 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+#ifndef _EXCONTXT_H_ -+#define _EXCONTXT_H_ -+ -+#include "exerror.h" -+#include "exsitsup.h" -+#include "hxprefs.h" -+#include "player.h" -+#include "hxclsnk.h" -+ -+struct IUnknown; -+struct IHXPreferences; -+class ExampleClientAdviceSink; -+class ExampleClientStateAdviceSink; -+class ExampleErrorMessages; -+class ExampleAuthenticationManager; -+class ExamplePDStatusObserver; -+ -+ -+class ExampleClientContext : public IHXPreferences -+{ -+private: -+ LONG32 m_lRefCount; -+ LONG32 m_lClientIndex; -+ -+ ExampleClientAdviceSink* m_pClientSink; -+ ExampleClientStateAdviceSink* m_pClientStateSink; -+ ExampleErrorSink* m_pErrorSink; -+ ExampleAuthenticationManager* m_pAuthMgr; -+ -+ ExampleSiteSupplier* m_pSiteSupplier; -+ ExamplePDStatusObserver* m_pPrgDnldStatusObserver; -+ IHXPreferences* m_pDefaultPrefs; -+ char m_pszGUID[256]; /* Flawfinder: ignore */ -+ -+ -+public: -+ -+ ExampleClientContext(LONG32 /*IN*/ lClientIndex); -+ ~ExampleClientContext(); -+ -+ void Init(IUnknown* /*IN*/ pUnknown, -+ IHXPreferences* /*IN*/ pPreferences, -+ char* /*IN*/ pszGUID, -+ on_buffering_cb_t on_buffering_cb = NULL, -+ on_pos_length_cb_t on_pos_length_cb = NULL, -+ on_state_change_cb_t on_state_change_cb = NULL, -+ on_new_frame_cb_t on_new_frame_cb = NULL, -+ void *context = NULL); -+ void Close(); -+ -+ EHXClientState GetState(); -+ -+ /* -+ * IUnknown methods -+ */ -+ STDMETHOD(QueryInterface) (THIS_ -+ REFIID riid, -+ void** ppvObj); -+ -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /* -+ * IHXPreferences methods -+ */ -+ STDMETHOD(ReadPref) (THIS_ const char* pref_key, -+ IHXBuffer*& buffer); -+ STDMETHOD(WritePref) (THIS_ const char* pref_key, -+ IHXBuffer* buffer); -+}; -+ -+#endif -Index: helix-libs/clientapps/clutter/exerror.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exerror.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,230 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include "hxtypes.h" -+ -+#include "hxcom.h" -+#include "hxcomm.h" -+#include "hxerror.h" -+#include "hxstrutl.h" -+#include "hxcore.h" -+#include "hxassert.h" -+#include "hxbuffer.h" -+ -+#ifdef __TCS__ -+#include "hxresult.h" -+#endif -+ -+#if !defined(HELIX_CONFIG_MINIMIZE_SIZE) -+#include "HXErrorCodeStrings.h" -+#endif -+ -+#include "exerror.h" -+ -+#include -+#include "print.h" -+ -+#include "globals.h" -+struct _stGlobals*& GetGlobal(); //in main.cpp -+ -+#ifdef __TCS__ -+#if defined(__cplusplus) -+extern "C" { -+#endif -+ -+void hookRealAudio_ReportError(int err, long errVal); -+ -+#ifdef __cplusplus -+} -+#endif -+#endif -+ -+ExampleErrorSink::ExampleErrorSink(IUnknown* pUnknown) -+ : m_lRefCount(0), -+ m_pPlayer(NULL) -+{ -+ IHXClientEngine* pEngine = NULL; -+ pUnknown->QueryInterface(IID_IHXClientEngine, (void**)&pEngine ); -+ if( pEngine ) -+ { -+ IUnknown* pTmp = NULL; -+ pEngine->GetPlayer(0, pTmp); -+ m_pPlayer = (IHXPlayer*)pTmp; -+ } -+ -+ HX_RELEASE( pEngine ); -+ HX_ASSERT(m_pPlayer); -+} -+ -+ExampleErrorSink::~ExampleErrorSink() -+{ -+ HX_RELEASE(m_pPlayer); -+} -+ -+// *** IUnknown methods *** -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::QueryInterface -+// Purpose: -+// Implement this to export the interfaces supported by your -+// object. -+// -+STDMETHODIMP ExampleErrorSink::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = (IUnknown*)(IHXErrorSink*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXErrorSink)) -+ { -+ AddRef(); -+ *ppvObj = (IHXErrorSink*) this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::AddRef -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleErrorSink::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::Release -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleErrorSink::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+/* -+ * IHXErrorSink methods -+ */ -+ -+STDMETHODIMP -+ExampleErrorSink::ErrorOccurred(const UINT8 unSeverity, -+ const ULONG32 ulHXCode, -+ const ULONG32 ulUserCode, -+ const char* pUserString, -+ const char* pMoreInfoURL -+ ) -+{ -+ char HXDefine[256]; /* Flawfinder: ignore */ -+ -+ // Store the code, so we can return it from main() -+ GetGlobal()->g_Error = ulHXCode; -+ -+ ConvertErrorToString(ulHXCode, HXDefine, 256); -+ -+#ifdef __TCS__ -+ hookRealAudio_ReportError(ulHXCode,ulUserCode); -+#else -+ STDOUT("Report(%d, %ld, \"%s\", %ld, \"%s\", \"%s\")\n", -+ unSeverity, -+ ulHXCode, -+ (pUserString && *pUserString) ? pUserString : "(NULL)", -+ ulUserCode, -+ (pMoreInfoURL && *pMoreInfoURL) ? pMoreInfoURL : "(NULL)", -+ HXDefine); -+#endif -+ -+ return HXR_OK; -+} -+ -+void -+ExampleErrorSink::ConvertErrorToString(const ULONG32 ulHXCode, char* pszBuffer, UINT32 ulBufLen) -+{ -+ IHXErrorMessages* pErrMsg = NULL; -+ -+ if( !pszBuffer) -+ return; -+ -+ pszBuffer[0]='\0'; -+ -+ HX_ASSERT(m_pPlayer); -+ if( m_pPlayer) -+ { -+ m_pPlayer->QueryInterface(IID_IHXErrorMessages, (void**)&pErrMsg); -+ if( pErrMsg ) -+ { -+ IHXBuffer* pMessage = pErrMsg->GetErrorText(ulHXCode); -+ if( pMessage ) -+ { -+ SafeStrCpy( pszBuffer, (const char*)pMessage->GetBuffer(), ulBufLen); -+ pMessage->Release(); -+ } -+ } -+ HX_RELEASE(pErrMsg); -+ } -+ -+ if( strlen(pszBuffer)==0 ) -+ { -+#if !defined(HELIX_CONFIG_MINIMIZE_SIZE) -+ const char* pszHXCodeString = HXErrorCodeToString(ulHXCode); -+ if (pszHXCodeString) -+ { -+ SafeSprintf( pszBuffer, ulBufLen, "%s", pszHXCodeString); -+ } -+ else -+#endif -+ { -+ HX_ASSERT(FALSE); -+ SafeSprintf( pszBuffer, ulBufLen, "Can't convert error code %p - make sure it's defined in common/util/HXErrorCodeStrings.c", ulHXCode ); -+ } -+ } -+} -+ -Index: helix-libs/clientapps/clutter/exerror.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exerror.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,92 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _EXAMPLEERRORMESSAGES_ -+#define _EXAMPLEERRORMESSAGES_ -+ -+#include "hxerror.h" -+ -+struct IUnknown; -+struct IHXErrorMessages; -+struct IHXPlayer; -+ -+class ExampleErrorSink : public IHXErrorSink -+{ -+public: -+ -+ ExampleErrorSink(IUnknown* pUnknown); -+ ~ExampleErrorSink(); -+ -+ /* -+ * IUnknown methods -+ */ -+ STDMETHOD(QueryInterface) (THIS_ -+ REFIID riid, -+ void** ppvObj); -+ -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /* -+ * IHXErrorSink methods -+ */ -+ -+ /************************************************************************ -+ * Method: -+ * IHXErrorSink::ErrorOccurred -+ * Purpose: -+ * After you have registered your error sink with an IHXErrorSinkControl -+ * (either in the server or player core) this method will be called to -+ * report an error, event, or status message. -+ * -+ * The meaning of the arguments is exactly as described in -+ * hxerror.h -+ */ -+ STDMETHOD(ErrorOccurred) (THIS_ -+ const UINT8 unSeverity, -+ const ULONG32 ulHXCode, -+ const ULONG32 ulUserCode, -+ const char* pUserString, -+ const char* pMoreInfoURL -+ ); -+ -+protected: -+ LONG32 m_lRefCount; -+ IHXPlayer* m_pPlayer; -+ -+ void ConvertErrorToString (const ULONG32 ulHXCode, char* pszBuffer, UINT32 ulBufLen); -+}; -+#endif /*_EXAMPLEERRORMESSAGES_*/ -Index: helix-libs/clientapps/clutter/exprdnld.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exprdnld.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,468 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include "hxcom.h" -+#include "hxtypes.h" -+#include "hxcore.h" -+#include "hxprdnld.h" -+#include "exprdnld.h" -+#include "print.h" -+ -+#include "globals.h" -+struct _stGlobals*& GetGlobal(); -+ -+UINT32 GetTime(); // /In main.cpp. -+ -+// /#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS) -+/************************************************************************ -+ * Method: -+ * Constructor -+ */ -+ExamplePDStatusObserver::ExamplePDStatusObserver(IUnknown* pUnkPlayer) -+ : m_lRefCount(0) -+ , m_pPrgDnldStatusMgr(NULL) -+ , m_pUnkPlayer(pUnkPlayer) -+ , m_pHXPlayer(NULL) -+ , m_bPlayerIsPausedByThis(FALSE) -+ , m_bFirstPDStatusMessage(TRUE) -+ , m_ulTotalDurReported(HX_PROGDOWNLD_UNKNOWN_DURATION) -+ , m_ulDurSoFar(HX_PROGDOWNLD_UNKNOWN_DURATION) -+ , m_ulCurStatusUpdateGranularity( -+ HX_PROGDOWNLD_DEFAULT_STATUSREPORT_INTERVAL_MSEC) -+ , m_bInitialPrerollUpateGranularitySet(FALSE) -+ , m_bDownloadIsComplete(FALSE) -+{ -+ if (m_pUnkPlayer) -+ { -+ m_pUnkPlayer->QueryInterface(IID_IHXPlayer, -+ (void**)&m_pHXPlayer); -+ -+ m_pUnkPlayer->QueryInterface(IID_IHXPDStatusMgr, -+ (void**)&m_pPrgDnldStatusMgr); -+ -+ if (m_pPrgDnldStatusMgr) -+ { -+ // /Add ourselves as an observer of progressive download playback: -+ m_pPrgDnldStatusMgr->AddObserver(this); -+ // /Set granularity of status reports to 10 per second until we -+ // know enough about the situation to go back to getting reports -+ // at the default interval (every 5 seconds). Do that as soon -+ // as we receive the first progress report: -+ m_ulCurStatusUpdateGranularity = 100; -+ } -+ -+ m_pUnkPlayer->AddRef(); -+ } -+}; -+ -+/************************************************************************ -+ * Method: -+ * Destructor -+ */ -+ExamplePDStatusObserver::~ExamplePDStatusObserver() -+{ -+ if (m_pPrgDnldStatusMgr) -+ { -+ m_pPrgDnldStatusMgr->RemoveObserver(this); -+ } -+ HX_RELEASE(m_pPrgDnldStatusMgr); -+ HX_RELEASE(m_pHXPlayer); -+ HX_RELEASE(m_pUnkPlayer); -+} -+ -+/************************************************************************ -+ * Method: -+ * IUnknown::QueryInterface -+ */ -+STDMETHODIMP -+ExamplePDStatusObserver::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = (IUnknown*)(IHXPDStatusObserver*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXPDStatusObserver)) -+ { -+ AddRef(); -+ *ppvObj = (IHXPDStatusObserver*)this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+/************************************************************************ -+ * Method: -+ * IUnknown::AddRef -+ */ -+STDMETHODIMP_(ULONG32) -+ExamplePDStatusObserver::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+/************************************************************************ -+ * Method: -+ * IUnknown::Release -+ */ -+STDMETHODIMP_(ULONG32) -+ExamplePDStatusObserver::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+ -+/* -+ * IHXPDStatusObserver methods -+ */ -+ -+/************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadProgress -+ * -+ * Purpose: -+ * Notification from IHXPDStatusMgr of download progress when -+ * file size changes. -+ * -+ * lTimeSurplus: -+ * - When negative, the absolute value of it is the estimated number -+ * of milliseconds of wall-clock time that need to pass while -+ * downloading continues before reaching the point at which playback -+ * can resume and play the remainder of the stream without having to -+ * buffer, assuming that playback is paused and remains so during -+ * that period. -+ * - When positive, it is the estimated number of milliseconds of -+ * wall-clock time between when the download should complete and when -+ * the natural content play-out duration will be reached, assuming -+ * playback is currently progressing and that no pause will occur. -+ * -+ * Note: ulNewDurSoFar can be HX_PROGDOWNLD_UNKNOWN_DURATION if the -+ * IHXMediaBytesToMediaDur was not available to, or was unable to -+ * convert the bytes to a duration for the IHXPDStatusMgr calling this: -+ */ -+STDMETHODIMP -+ExamplePDStatusObserver::OnDownloadProgress( -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource, -+ UINT32 /*IN*/ ulNewDurSoFar, -+ UINT32 /*IN*/ ulNewBytesSoFar, -+ INT32 /*IN*/ lTimeSurplus) -+{ -+ m_ulDurSoFar = ulNewDurSoFar; -+ -+ if (m_ulCurStatusUpdateGranularity < -+ HX_PROGDOWNLD_DEFAULT_STATUSREPORT_INTERVAL_MSEC) -+ { -+ if (m_bInitialPrerollUpateGranularitySet) -+ { -+ if (HX_PROGDOWNLD_UNKNOWN_DURATION != ulNewDurSoFar && -+ // /Preroll is done, so reset update interval back to default: -+ GetGlobal()->g_bOnBeginOccurred) -+ { -+ m_ulCurStatusUpdateGranularity = -+ HX_PROGDOWNLD_DEFAULT_STATUSREPORT_INTERVAL_MSEC; -+ m_pPrgDnldStatusMgr->SetStatusUpdateGranularityMsec( -+ m_ulCurStatusUpdateGranularity); -+ } -+ } -+ else if (!GetGlobal()->g_bOnBeginOccurred) -+ { -+ if (HXR_OK == m_pPrgDnldStatusMgr->SetStatusUpdateGranularityMsec( -+ m_ulCurStatusUpdateGranularity)) -+ { -+ m_bInitialPrerollUpateGranularitySet = TRUE; -+ } -+ } -+ } -+ -+ UINT32 ulCurPlayTime = 0; -+ -+ HXBOOL bPauseWasAttempted = FALSE; -+ HXBOOL bPauseOccurred = FALSE; -+ HXBOOL bResumeWasAttempted = FALSE; -+ HXBOOL bResumeOccurred = FALSE; -+ -+ -+ if (m_pHXPlayer) -+ { -+ ulCurPlayTime = m_pHXPlayer->GetCurrentPlayTime(); -+ -+ if (GetGlobal()->g_bEnableSlowStart && -+ lTimeSurplus != HX_PROGDOWNLD_UNKNOWN_TIME_SURPLUS) -+ { -+ // /"slow start" is enabled so if we have run dry of data, -+ // pause and wait for more data: -+ if (!m_bPlayerIsPausedByThis) -+ { -+ if (!m_bDownloadIsComplete && lTimeSurplus<0) -+ { -+ // /Use a 1000-millisecond allowance for variation: -+ if (lTimeSurplus < -1000) -+ { -+ bPauseWasAttempted = TRUE; -+ bPauseOccurred = m_bPlayerIsPausedByThis = -+ (HXR_OK == m_pHXPlayer->Pause()); -+ } -+ } -+ } -+ else // /paused; see if we can resume yet: -+ { -+ if (lTimeSurplus > 0) -+ { -+ // /Use a 1000-millisecond allowance for variation: -+ if (lTimeSurplus > 1000) -+ { -+ bResumeWasAttempted = TRUE; -+ bResumeOccurred = (HXR_OK == m_pHXPlayer->Begin()); -+ m_bPlayerIsPausedByThis = !bResumeOccurred; -+ } -+ } -+ } -+ } -+ } -+ -+ if (GetGlobal()->bEnableVerboseMode && !m_bDownloadIsComplete) -+ { -+ STDOUT("\nDownload progress: (play time=%lu,", -+ ulCurPlayTime); -+ if (HX_PROGDOWNLD_UNKNOWN_TIME_SURPLUS == lTimeSurplus) -+ { -+ STDOUT(" UNKNOWN surplus|deficit)"); -+ } -+ else if (HX_PROGDOWNLD_MIN_TIME_SURPLUS == lTimeSurplus) -+ { -+ STDOUT(" deficit exceeds maximum"); -+ } -+ else if (HX_PROGDOWNLD_MAX_TIME_SURPLUS == lTimeSurplus) -+ { -+ STDOUT(" surplus exceeds maximum)"); -+ } -+ else -+ { -+ STDOUT(" surplus=%ld milliseconds)", lTimeSurplus); -+ } -+ if (HX_PROGDOWNLD_UNKNOWN_DURATION == ulNewDurSoFar) -+ { -+ STDOUT("\n\thave UNKNOWN"); -+ } -+ else -+ { -+ STDOUT("\n\thave %lu", ulNewDurSoFar); -+ } -+ -+ if (HX_PROGDOWNLD_UNKNOWN_DURATION != m_ulTotalDurReported) -+ { -+ STDOUT(" of %lu msec", m_ulTotalDurReported); -+ } -+ else -+ { -+ STDOUT(" of UNKNOWN msec of media"); -+ } -+ if (HX_PROGDOWNLD_UNKNOWN_FILE_SIZE != ulNewBytesSoFar) -+ { -+ STDOUT(" (%lu", ulNewBytesSoFar); -+ } -+ else -+ { -+ STDOUT(" (UNKNOWN"); -+ } -+ STDOUT(" bytes downloaded so far)\n", ulNewBytesSoFar); -+ -+ if (bPauseOccurred || bPauseWasAttempted) -+ { -+ STDOUT("# Waiting for more data: %splayback.\n " -+ " Should take %ld milliseconds before playback resumes.\n", -+ bPauseOccurred? "Pausing " : -+ (bPauseWasAttempted? "Failed attempting to pause " -+ : " "), -lTimeSurplus); -+ } -+ if (bResumeOccurred || bResumeWasAttempted) -+ { -+ STDOUT("# Data available: %splayback\n " -+ " Time surplus is now %ld", -+ bResumeOccurred? "Resuming " : -+ (bResumeWasAttempted? "Failed attempting to resume " -+ : " "), lTimeSurplus); -+ } -+ } -+ -+ m_bFirstPDStatusMessage = FALSE; -+ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnTotalDurChanged -+ * Purpose: -+ * This is a notification if the total file duration becomes known -+ * or becomes better-known during download/playback -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ */ -+STDMETHODIMP -+ExamplePDStatusObserver::OnTotalDurChanged( -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource, -+ UINT32 ulNewTotalDur) -+{ -+ m_ulTotalDurReported = ulNewTotalDur; -+ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("\nOnTotalDurChanged(): to %lu milliseconds\n", ulNewTotalDur); -+ } -+ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadComplete -+ * -+ * Purpose: -+ * Notification that the entire file has been downloaded. -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ * -+ */ -+STDMETHODIMP -+ExamplePDStatusObserver::OnDownloadComplete( -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource) -+{ -+ m_bDownloadIsComplete = TRUE; -+ -+ HXBOOL bResumeWasAttempted = FALSE; -+ HXBOOL bResumeOccurred = FALSE; -+ -+ // /In case we're paused, resume now that there is no more data to get: -+ if (m_pHXPlayer && m_bPlayerIsPausedByThis) -+ { -+ bResumeWasAttempted = TRUE; -+ bResumeOccurred = (HXR_OK == m_pHXPlayer->Begin()); -+ m_bPlayerIsPausedByThis = !bResumeOccurred; -+ } -+ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("\nOnDownloadComplete()\n"); -+ if (bResumeOccurred || bResumeWasAttempted) -+ { -+ STDOUT("\n%splayback now that bytes are available for " -+ "uninterrupted playback\n", -+ bResumeOccurred? "Resuming " : -+ (bResumeWasAttempted? "Failed attempting to resume " -+ : " ")); -+ } -+ } -+ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::SrcClaimsSeekSupport ref: hxprdnld.h -+ * Purpose: -+ * Passes along notification from file sys that seek support -+ * is or is not claimed to be available (although sometimes HTTP -+ * server claims this when it doesn't actually support it). -+ */ -+STDMETHODIMP -+ExamplePDStatusObserver::SrcClaimsSeekSupport(IHXStreamSource* pStreamSource, -+ HXBOOL bClaimsSupport) -+{ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("\nSrcClaimsSeekSupport(%sE)\n", bClaimsSupport?"TRU":"FALS"); -+ } -+ return HXR_OK; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadPause -+ * Purpose: -+ * Notification that the file-download process has purposefully -+ * and temporarily halted downloading of the file -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ */ -+STDMETHODIMP -+ExamplePDStatusObserver::OnDownloadPause( -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource) -+{ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("\nOnDownloadPause()\n"); -+ } -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadResume -+ * Purpose: -+ * Notification that the file-download process has resumed -+ * the process of downloading the remainder of the file -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ */ -+STDMETHODIMP -+ExamplePDStatusObserver::OnDownloadResume( -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource) -+{ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("\nOnDownloadResume()\n"); -+ } -+ return HXR_OK; -+} -+// /#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS. -Index: helix-libs/clientapps/clutter/exprdnld.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exprdnld.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,196 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _EXPRDNLD_H_ -+#define _EXPRDNLD_H_ -+ -+// /#if defined(HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS) -+ -+/**************************************************************************** -+ * -+ * Class: -+ * -+ * ExamplePDStatusObserver -+ * -+ * Purpose: -+ * -+ * Implementation for IHXPDStatusObserver which receives progressive- -+ * download status reports: -+ * -+ */ -+class ExamplePDStatusObserver : -+ public IHXPDStatusObserver -+{ -+private: -+ INT32 m_lRefCount; -+ IHXPDStatusMgr* m_pPrgDnldStatusMgr; -+ IUnknown* m_pUnkPlayer; -+ IHXPlayer* m_pHXPlayer; -+ HXBOOL m_bPlayerIsPausedByThis; -+ HXBOOL m_bFirstPDStatusMessage; -+ UINT32 m_ulTotalDurReported; -+ UINT32 m_ulDurSoFar; -+ UINT32 m_ulCurStatusUpdateGranularity; -+ HXBOOL m_bInitialPrerollUpateGranularitySet; -+ HXBOOL m_bDownloadIsComplete; -+ -+ ExamplePDStatusObserver(); -+ ~ExamplePDStatusObserver(); -+ -+public: -+ ExamplePDStatusObserver(IUnknown* pUnkPlayer); -+ -+ /* -+ * IUnknown methods -+ */ -+ STDMETHOD(QueryInterface) (THIS_ -+ REFIID riid, -+ void** ppvObj); -+ -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /* -+ * IHXPDStatusObserver methods -+ */ -+ -+ /************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadProgress -+ * -+ * Purpose: -+ * Notification from IHXPDStatusMgr of download progress when -+ * file size changes. -+ * -+ * lTimeSurplus: -+ * - When negative, the absolute value of it is the estimated number -+ * of milliseconds of wall-clock time that need to pass while -+ * downloading continues before reaching the point at which playback -+ * can resume and play the remainder of the stream without having to -+ * buffer, assuming that playback is paused and remains so during -+ * that period. -+ * - When positive, it is the estimated number of milliseconds of -+ * wall-clock time between when the download should complete and when -+ * the natural content play-out duration will be reached, assuming -+ * playback is currently progressing and that no pause will occur. -+ * -+ * Note: ulNewDurSoFar can be HX_PROGDOWNLD_UNKNOWN_DURATION if the -+ * IHXMediaBytesToMediaDurConverter was not available to, or was -+ * unable to convert the bytes to a duration for the IHXPDStatusMgr -+ * calling this: -+ */ -+ STDMETHOD(OnDownloadProgress) (THIS_ -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource, -+ UINT32 /*IN*/ ulNewDurSoFar, -+ UINT32 /*IN*/ ulNewBytesSoFar, -+ INT32 /*IN*/ lTimeSurplus); -+ -+ /************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnTotalDurChanged -+ * Purpose: -+ * This is a notification if the total file duration becomes known -+ * or becomes better-known during download/playback -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ */ -+ STDMETHOD(OnTotalDurChanged) (THIS_ -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource, -+ UINT32 /*IN*/ ulNewDur); -+ -+ /************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadComplete -+ * -+ * Purpose: -+ * Notification that the entire file has been downloaded. -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ * -+ */ -+ STDMETHOD(OnDownloadComplete) (THIS_ -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource); -+ -+ /************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::SrcClaimsSeekSupport -+ * -+ * Purpose: -+ * Passes along notification from file sys that seek support -+ * is claimed to be available (although sometimes HTTP server -+ * claims this when it doesn't actually support it). -+ * -+ */ -+ STDMETHOD(SrcClaimsSeekSupport) (THIS_ -+ IHXStreamSource* pStreamSource, -+ HXBOOL /*IN*/ bSrcClaimsSeekSupport); -+ -+ /************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadPause -+ * Purpose: -+ * Notification that the file-download process has purposefully -+ * and temporarily halted downloading of the file -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ */ -+ STDMETHOD(OnDownloadPause) (THIS_ -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource); -+ -+ /************************************************************************ -+ * Method: -+ * IHXPDStatusObserver::OnDownloadResume -+ * Purpose: -+ * Notification that the file-download process has resumed -+ * the process of downloading the remainder of the file -+ * -+ * Note: pStreamSource can be NULL. This will be true when -+ * IHXPDStatusMgr calling this is upstream of the IHXStreamSource -+ * object. -+ */ -+ STDMETHOD(OnDownloadResume) (THIS_ -+ IHXStreamSource* /*IN*/ /*NULL is valid value*/ pStreamSource); -+}; -+// /#endif // /HELIX_FEATURE_PROGRESSIVE_DOWNLD_STATUS. -+ -+#endif // _EXPRDNLD_H_ -+ -Index: helix-libs/clientapps/clutter/exroot.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exroot.cpp 2008-10-13 06:54:08.000000000 -0700 -@@ -0,0 +1,672 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: unixroot.cpp,v 1.9 2007/07/06 20:54:01 jfinnecy Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+// for shared memory -+#include -+#include -+#include -+#include -+ -+#include "hxcom.h" -+#include "hxwintyp.h" -+#include "hxvsurf.h" -+#include "hxslist.h" -+#include "colormap.h" -+#include "hxprefs.h" -+#include "hxtick.h" -+#include "hxthread.h" -+#include "basesite.h" -+#include "exroot.h" -+#include "exsite.h" -+#include "unixcmap.h" -+#include "shmhelp.h" -+ -+// #ifdef _DEBUG -+// #include //for debug video sync rates.. -+// #endif -+ -+//Work around AIX problem. -+#ifdef _AIX -+# define MAX_SHARED_REGIONS ((UINT32)1) -+#else -+# define MAX_SHARED_REGIONS ((UINT32)9999) -+#endif -+ -+CExRootSurf::CExRootSurf(IUnknown* pContext, CHXBaseSite* pSite, on_new_frame_cb_t on_new_frame_cb, void *context ) -+ : CBaseRootSurface(pContext, pSite) -+ , m_bUseShm(FALSE) -+ , m_nShmId(0) -+ , m_pDisplay(NULL) -+ , m_GC(0) -+ , m_nScreenNumber(0) -+ , m_pXImage(NULL) -+ , m_pVisual(NULL) -+ , m_unDepth(0) -+ , m_pScreen(NULL) -+ , m_pYUVScratchBits(NULL) -+ , m_nYUVScratchPitch(0) -+ , m_pScratchBits(NULL) -+ , m_nScratchPitch(0) -+ , m_nBitsPerPixel(0) -+ , m_nCompositionSize(0) -+ , m_on_new_frame_cb(on_new_frame_cb) -+ , m_context(context) -+{ -+} -+ -+HX_RESULT CExRootSurf::Init() -+{ -+ //get window and display from main Site. -+ HXxWindow* pWindow = m_pSite->GetWindow(); -+ HX_ASSERT(pWindow); -+ -+ m_pDisplay = (Display*)pWindow->display; -+ m_window = (Window)pWindow->window; -+ -+ HX_ASSERT( m_pDisplay ); -+ HX_ASSERT( m_window ); -+ -+ // -+ // Now see if our X11 server supports the Shared Memory extension. -+ // -+ // ShmHelp::Init(m_pDisplay); -+ // m_bUseShm = ShmHelp::ShmAvailable(); -+ -+ //Create the graphics context -+ XGCValues values; -+ -+ XLockDisplay(m_pDisplay); -+ m_GC = XCreateGC(m_pDisplay, m_window, 0, &values); -+ -+ //Get X window attributes & visual -+ XWindowAttributes attr; -+ XGetWindowAttributes(m_pDisplay, m_window, &attr); -+ XUnlockDisplay(m_pDisplay); -+ m_pVisual = attr.visual; -+ -+ // get visual info & depth -+ int nv=0; -+ XVisualInfo visInfo; -+ memset(&visInfo, 0, sizeof(XVisualInfo)); -+ XLockDisplay(m_pDisplay); -+ visInfo.visualid = XVisualIDFromVisual(m_pVisual); -+ XVisualInfo* pVisualInfo = XGetVisualInfo (m_pDisplay, VisualIDMask, &visInfo, &nv); -+// m_unDepth = pVisualInfo->depth; -+ m_unDepth = 24; -+ m_nScreenNumber = DefaultScreen(m_pDisplay); -+ m_pScreen = XScreenOfDisplay(m_pDisplay, m_nScreenNumber); -+ XUnlockDisplay(m_pDisplay); -+ m_colormap = HXGetXColormap(m_pDisplay, m_window); -+ -+ // get pixmap (blt) information for the best depth we can display -+ int i=0; -+ int nNum=0; -+ XLockDisplay(m_pDisplay); -+ XPixmapFormatValues *pixmap_formats = XListPixmapFormats(m_pDisplay, &nNum); -+ XUnlockDisplay(m_pDisplay); -+ if(pixmap_formats) -+ { -+ for (i=0 ; ired_mask; -+ m_bmiSave.un.dwBitMask[1] = pVisualInfo->green_mask; -+ m_bmiSave.un.dwBitMask[2] = pVisualInfo->blue_mask; -+#else -+ /* Fake a RGB24 */ -+ m_nBitsPerPixel = 24; -+ m_bmiSave.bmiHeader.biBitCount = m_nBitsPerPixel; -+ m_bmiSave.bmiHeader.biCompression = BI_RGB; -+#endif -+ //Set primary surface CID. -+ m_nCompositionSurfaceCID = GetBitmapColor(&m_bmiSave); -+ XFree( pVisualInfo ); -+ -+// #ifdef _DEBUG -+// //Lets find out what Hsync and Vsync rates we have for this display. -+// //Ripped from xvidtune.c -+// XF86VidModeModeLine mode_line; -+// int scrn=0; -+// int dot_clock; -+// double vsync_hz, HSyncRate,HTotal, VTotal, PixelClock; -+// if(XF86VidModeGetModeLine(m_pDisplay, scrn, &dot_clock, &mode_line)) -+// { -+// PixelClock=dot_clock; -+// HTotal = mode_line.htotal; -+// VTotal = mode_line.vtotal; -+// HSyncRate = PixelClock*1000.0/HTotal; -+// vsync_hz = HSyncRate/VTotal; -+// fprintf( stderr, "This Display's Hsync rate is: %f and Vsync: %f\n", -+// HSyncRate, vsync_hz ); -+// } -+ -+// #endif -+ -+ return HXR_OK; -+} -+ -+CExRootSurf::~CExRootSurf() -+{ -+ _DestroyCompositionSurface(); -+ -+ if( m_GC ) -+ { -+ XLockDisplay(m_pDisplay); -+ XFreeGC( m_pDisplay, m_GC ); -+ XUnlockDisplay(m_pDisplay); -+ m_GC=0; -+ } -+ if (m_pVisual) -+ { -+ /* PJG: don't have to free visuals */ -+ m_pVisual = NULL; -+ } -+ -+ if(m_bUseShm) -+ { -+ if( m_pCompositionSurface != NULL ) -+ ShmHelp::DetachSharedRegion(&m_pCompositionSurface, &m_shmInfo); -+ } -+ else -+ { -+ HX_DELETE(m_pCompositionSurface); -+ m_nCompositionSize=0; -+ m_bCompositionSurfaceCreated=FALSE; -+ } -+ -+ //XXXgfw any more clean up for these two? -+ HX_VECTOR_DELETE( m_pScratchBits ); -+ HX_VECTOR_DELETE( m_pYUVScratchBits ); -+ -+} -+ -+HX_RESULT CExRootSurf::_ResizeVideoBuffer( INT32 nSize) -+{ -+ HX_RESULT retVal=HXR_OK; -+ -+ if(nSize <= m_nCompositionSize) -+ return retVal; -+ -+ if(m_bUseShm) -+ { -+ if( m_pCompositionSurface != NULL ) -+ retVal = ShmHelp::DetachSharedRegion(&m_pCompositionSurface, &m_shmInfo); -+ if( retVal==HXR_OK ) -+ { -+ retVal = ShmHelp::CreateSharedRegion( nSize, -+ &m_pCompositionSurface, -+ &m_nShmId, -+ &m_shmInfo -+ ); -+ -+ } -+ if( retVal != HXR_OK ) -+ { -+ m_bCompositionSurfaceCreated = FALSE; -+ m_nCompositionSize = 0; -+ m_bUseShm = FALSE; -+ } -+ else -+ { -+ //It all worked -+ m_nCompositionSize = nSize; -+ m_bCompositionSurfaceCreated = TRUE; -+ return retVal; -+ } -+ -+ } -+ -+ //We need to fall through here so that if the shared memory stuff -+ //above fails we can create it the old fashioned way. -+ if(m_pCompositionSurface == NULL) -+ { -+ m_pCompositionSurface = (UCHAR*) malloc(nSize); -+ } -+ else -+ { -+ m_pCompositionSurface = (UCHAR*) realloc(m_pCompositionSurface, nSize); -+ } -+ if( m_pCompositionSurface ) -+ { -+ m_nCompositionSize = nSize; -+ } -+ else -+ { -+ HX_ASSERT("We can't alloc the composition surface." == NULL ); -+ m_nCompositionSize = 0; -+ } -+ -+ return retVal; -+} -+ -+HX_RESULT CExRootSurf::_DebugBlt( UCHAR* pImageData, HXBitmapInfoHeader* pBitmapInfo, -+ HXxRect& rDestRect, HXxRect& rSrcRect) -+{ -+ HX_ASSERT( m_window ); -+ HX_ASSERT( m_pDisplay ); -+ HX_ASSERT( m_GC ); -+ XLockDisplay(m_pDisplay); -+ XSetForeground( m_pDisplay, m_GC, WhitePixel(m_pDisplay, 0 )); -+ XSetBackground( m_pDisplay, m_GC, BlackPixel(m_pDisplay, 0 )); -+ XSetLineAttributes(m_pDisplay, m_GC, 5, LineSolid, CapRound, JoinRound ); -+ XSetForeground( m_pDisplay, m_GC, WhitePixel(m_pDisplay, 0) ); -+ XFillRectangle( m_pDisplay, m_window, m_GC, -+ rDestRect.left, rDestRect.top, -+ rDestRect.right-rDestRect.left, -+ rDestRect.bottom-rDestRect.top -+ ); -+ XDrawRectangle( m_pDisplay, m_window, m_GC, -+ rDestRect.left, rDestRect.top, -+ rDestRect.right-rDestRect.left, -+ rDestRect.bottom-rDestRect.top -+ ); -+ XUnlockDisplay(m_pDisplay); -+ return HXR_OK; -+} -+ -+void CExRootSurf::_GetYUVScratchWidthHeight(UINT32* pWidth, UINT32* pHeight) -+{ -+ *pWidth = m_bmiYUVScratch.bmiHeader.biWidth; -+ *pHeight = m_bmiYUVScratch.bmiHeader.biHeight; -+} -+ -+XImage* CExRootSurf::_GetCompositionSurfaceDrawable() -+{ -+ return m_pXImage; -+} -+ -+ -+ -+//Not used except for XING..... -+void CExRootSurf::_CreateYUVScratchSurface(UINT32 width, UINT32 height) -+{ -+ //Remove old bits.... -+ HX_DELETE(m_pYUVScratchBits); -+ -+ //Clear BitmapInfo struct.... -+ memset(&m_bmiYUVScratch, 0, sizeof(HXBitmapInfo)); -+ int nResult = MakeBitmap( &m_bmiYUVScratch, -+ sizeof(m_bmiYUVScratch), -+ CID_YUY2, -+ width, -+ height, -+ NULL, -+ 0); -+ if( nResult ) -+ { -+ m_pYUVScratchBits = new UCHAR[m_bmiYUVScratch.bmiHeader.biSizeImage]; -+ m_nYUVScratchPitch = GetBitmapPitch(&m_bmiYUVScratch); -+ } -+} -+ -+ -+void CExRootSurf::_GetYUVScratchSurfacePointer(UCHAR** pYUVBits, INT32* YUVPitch) -+{ -+ *pYUVBits = m_pYUVScratchBits; -+ *YUVPitch = m_nYUVScratchPitch; -+} -+ -+HX_RESULT CExRootSurf::CreateScratchSurface( int nCompositionSurfaceCID, HXxSize* pSize) -+{ -+ //Remove old bits.... -+ HX_DELETE(m_pScratchBits); -+ -+ //Clear BitmapInfo struct.... -+ memset(&m_bmiScratch, 0, sizeof(HXBitmapInfo)); -+ int nResult = MakeBitmap( &m_bmiScratch, -+ sizeof(m_bmiScratch), -+ nCompositionSurfaceCID, -+ pSize->cx, -+ pSize->cy, -+ NULL, -+ 0); -+ if( nResult ) -+ { -+ m_pScratchBits = new UCHAR[m_bmiScratch.bmiHeader.biSizeImage]; -+ m_nScratchPitch = GetBitmapPitch(&m_bmiScratch); -+ } -+ -+ return nResult? HXR_OK : HXR_FAIL; -+} -+ -+HX_RESULT CExRootSurf::ScratchLock(UCHAR** pBits, INT32* pPitch) -+{ -+ *pBits = m_pScratchBits; -+ *pPitch = m_nScratchPitch; -+ return HXR_OK; -+} -+ -+HX_RESULT CExRootSurf::ScratchUnlock(UCHAR* pBits) -+{ -+ return HXR_OK; -+} -+ -+HX_RESULT CExRootSurf::_MinimalUnlock(HXxWindow* pWindow) -+{ -+// Window win = m_window; -+// HX_ASSERT(win); -+// HXxSize hxxSize; -+// m_pSite->GetSize(hxxSize); -+ -+// if (m_bUseShm) -+// { -+// XShmPutImage(m_pDisplay, -+// win, -+// m_GC, -+// m_pXImage, -+// 0, -+// 0, -+// 0, -+// 0, -+// hxxSize.cx, -+// hxxSize.cy, -+// False -+// ); -+// } -+// else -+// { -+// XPutImage(m_pDisplay, -+// win, -+// m_GC, -+// m_pXImage, -+// 0, -+// 0, -+// 0, -+// 0, -+// hxxSize.cx, -+// hxxSize.cy -+// ); -+// } -+ return HXR_OK; -+} -+ -+HX_RESULT CExRootSurf::_LockComposition(UCHAR** pBits, INT32* pPitch) -+{ -+ HX_RESULT retVal = HXR_OK; -+ if( !m_bCompositionSurfaceCreated || m_pCompositionSurface==NULL ) -+ { -+ retVal = _CreateCompositionSurface(); -+ } -+ HX_ASSERT( m_pCompositionSurface ); -+ *pBits = m_pCompositionSurface; -+ *pPitch = m_nCompositionPitch; -+ return HXR_OK; -+} -+ -+ -+void CExRootSurf::_BltFromScratchToComposition( HXxRect& rDestRect, HXxRect& rSrcRect) -+{ -+ HX_ASSERT( "Not implemented on unix yet...."==NULL ); -+} -+ -+HX_RESULT CExRootSurf::_CreateCompositionSurface() -+{ -+ HX_RESULT retVal = HXR_FAIL; -+ -+ if(m_bCompositionSurfaceCreated) -+ { -+ return HXR_OK; -+ } -+ -+ HX_ASSERT( !m_bCompositionSurfaceCreated ); -+ HX_ASSERT( m_pSite ); -+ -+ //Create a BMI to describe the composition surface -+ HXxSize hxxSize; -+ m_pSite->GetSize(hxxSize); -+ memcpy(&m_compositionSize, &hxxSize, sizeof(HXxSize)); /* Flawfinder: ignore */ -+ -+ // find out how big we want to allocate. -+ if (m_pSite->IsFullScreen()) -+ { -+ UINT16 unDummy=0; -+ UINT16 unHorzRes=0; -+ UINT16 unVertRes=0; -+ m_pSite->_GetDeviceCaps(NULL, unDummy, unHorzRes, unVertRes ); -+ m_allocatedCompositionSize.cx = unHorzRes; -+ m_allocatedCompositionSize.cy = unVertRes; -+ } -+ else -+ { -+ // we use root surface for BASIC_BLT and it assumes the offset(position) -+ // of the root site it cooresponding to is (0, 0). -+ // -+ // this is not true for "windowless" mode where the root site can be given -+ // an offset, as a result, we fail to blt the video. -+ // -+ // to fix this, we'll take the m_positionOrg into consideration when -+ // creating the composition surface, this may not be optimal but good enough -+ // for now. -+ // -+ // similar logic is also added for other platforms, we need to move this -+ // common code to the base class when we have chance to clean it up -+ if (m_compositionSize.cx && m_compositionSize.cy) -+ { -+ m_compositionSize.cx += m_pSite->m_positionOrig.x; -+ m_compositionSize.cy += m_pSite->m_positionOrig.y; -+ } -+ -+ m_allocatedCompositionSize.cx = m_compositionSize.cx; -+ m_allocatedCompositionSize.cy = m_compositionSize.cy; -+ } -+ -+ //XXXgfw uhhhh, OK. -+ if( m_compositionSize.cx > m_allocatedCompositionSize.cx || -+ m_compositionSize.cy > m_allocatedCompositionSize.cy ) -+ { -+ m_allocatedCompositionSize.cx = m_compositionSize.cx; -+ m_allocatedCompositionSize.cy = m_compositionSize.cy; -+ } -+ -+ //Make the bitmap header struct. -+ m_bmiComposition.bmiHeader.biBitCount = m_bmiSave.bmiHeader.biBitCount; -+ m_bmiComposition.bmiHeader.biCompression = m_bmiSave.bmiHeader.biCompression; -+ m_bmiComposition.un.dwBitMask[0] = m_bmiSave.un.dwBitMask[0]; -+ m_bmiComposition.un.dwBitMask[1] = m_bmiSave.un.dwBitMask[1]; -+ m_bmiComposition.un.dwBitMask[2] = m_bmiSave.un.dwBitMask[2]; -+ int nResult = MakeBitmap( &m_bmiComposition, -+ sizeof(m_bmiComposition), -+ m_nCompositionSurfaceCID, -+ m_allocatedCompositionSize.cx, -+ m_allocatedCompositionSize.cy, -+ NULL, -+ 0 -+ ); -+ m_bmiComposition.bmiHeader.biBitCount = m_bmiSave.bmiHeader.biBitCount; -+ m_bmiComposition.bmiHeader.biCompression = m_bmiSave.bmiHeader.biCompression; -+ m_bmiComposition.un.dwBitMask[0] = m_bmiSave.un.dwBitMask[0]; -+ m_bmiComposition.un.dwBitMask[1] = m_bmiSave.un.dwBitMask[1]; -+ m_bmiComposition.un.dwBitMask[2] = m_bmiSave.un.dwBitMask[2]; -+ -+ //Now create the bits.... -+ _ResizeVideoBuffer( m_bmiComposition.bmiHeader.biSizeImage ); -+ m_nCompositionPitch = GetBitmapPitch( &m_bmiComposition ); -+ -+ if( m_pXImage ) -+ { -+ XFree( m_pXImage ); -+ } -+ -+ if( m_bUseShm ) -+ { -+ XLockDisplay(m_pDisplay); -+ m_pXImage = XShmCreateImage( m_pDisplay, -+ m_pVisual, -+ m_unDepth, -+ ZPixmap, -+ (char*)m_pCompositionSurface, -+ &m_shmInfo, -+ m_allocatedCompositionSize.cx, -+ m_allocatedCompositionSize.cy -+ ); -+ XUnlockDisplay(m_pDisplay); -+ } -+ else -+ { -+ XLockDisplay(m_pDisplay); -+ m_pXImage = XCreateImage( m_pDisplay, -+ m_pVisual, -+ m_unDepth, -+ ZPixmap, -+ 0, -+ (char*)m_pCompositionSurface, -+ m_allocatedCompositionSize.cx, -+ m_allocatedCompositionSize.cy, -+ 32, -+ 0); -+ XUnlockDisplay(m_pDisplay); -+ } -+ -+ if( m_pXImage ) -+ { -+ m_bCompositionSurfaceCreated = TRUE; -+#ifdef _BIG_ENDIAN -+ m_pXImage->byte_order = MSBFirst; -+#else -+ m_pXImage->byte_order = LSBFirst; -+#endif -+ retVal = HXR_OK; -+ } -+ return retVal; -+} -+ -+void CExRootSurf::_MinimalBlt(HXxRect& destRect) -+{ -+ if (m_on_new_frame_cb) -+ { -+ PlayerImgInfo Info; -+ Info.Rect.left = destRect.left; -+ Info.Rect.right = destRect.right; -+ Info.Rect.top = destRect.top; -+ Info.Rect.bottom = destRect.bottom; -+ Info.cx = m_allocatedCompositionSize.cx; -+ Info.cy = m_allocatedCompositionSize.cy; -+ m_on_new_frame_cb(m_pCompositionSurface, -+ m_bmiComposition.bmiHeader.biSizeImage, -+ &Info, -+ m_context); -+ } -+} -+ -+HX_RESULT CExRootSurf::_DestroyCompositionSurface() -+{ -+ HX_RESULT retVal = HXR_OK; -+ if( m_bCompositionSurfaceCreated ) -+ { -+ if( m_pXImage ) -+ { -+ XFree(m_pXImage); -+ m_pXImage = NULL; -+ } -+ m_bCompositionSurfaceCreated = FALSE; -+ } -+ -+ return retVal; -+} -+ -+ -+ -+HX_RESULT CExRootSurf::BeginOptimizedBlt(HXBitmapInfoHeader* pBitmapInfo) -+{ -+#ifdef _DEBUG -+ fprintf(stderr, "CExRootSurf::BeginOptimizedBlt Needs to be written\n" ); -+#endif -+ return HXR_NOTIMPL; -+} -+ -+HX_RESULT CExRootSurf::OptimizedBlt( UCHAR* pImageBits, -+ HXxRect& rDestRect, -+ HXxRect& rSrcRect) -+{ -+#ifdef _DEBUG -+ fprintf(stderr, "CExRootSurf::OptimizedBlt Needs to be written\n" ); -+#endif -+ return HXR_NOTIMPL; -+} -+ -+HX_RESULT CExRootSurf::EndOptimizedBlt(void) -+{ -+#ifdef _DEBUG -+ fprintf(stderr, "CExRootSurf::EndOptimizedBlt Needs to be written\n" ); -+#endif -+ return HXR_NOTIMPL; -+} -+ -+HX_RESULT CExRootSurf::GetOptimizedFormat(HX_COMPRESSION_TYPE& ulType) -+{ -+#ifdef _DEBUG -+ fprintf(stderr, "CExRootSurf::GetOptimizedFormat Needs to be written\n" ); -+#endif -+ return HXR_NOTIMPL; -+} -+ -+HX_RESULT CExRootSurf::GetPreferredFormat(HX_COMPRESSION_TYPE& ulType) -+{ -+#ifdef _DEBUG -+ fprintf(stderr, "CExRootSurf::GetPreferredFormat Needs to be written\n" ); -+#endif -+ return HXR_NOTIMPL; -+} -+ -+GC CExRootSurf::GetGC() -+{ -+ return m_GC; -+} -Index: helix-libs/clientapps/clutter/exroot.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exroot.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,155 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: unixroot.h,v 1.8 2007/07/06 20:54:05 jfinnecy Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _UNIXROOT_H -+#define _UNIXROOT_H -+ -+#include "baseroot.h" -+#if defined(USE_XWINDOWS) -+#include -+#include -+#include -+#include -+#include -+#include -+#endif -+ -+#include "player.h" -+ -+class CExRootSurf : public CBaseRootSurface -+{ -+public: -+ CExRootSurf(IUnknown* pContext, CHXBaseSite* pSite, on_new_frame_cb_t on_new_frame_cb = NULL, void *context = NULL); -+ -+ //Helpers.... -+ HX_RESULT Init(); -+ GC GetGC(); -+ -+ //public inherited stuff -+ virtual HX_RESULT CreateScratchSurface(int nCompositionSurfaceCID, -+ HXxSize* pSize); -+ virtual HX_RESULT ScratchLock(UCHAR** pBits, INT32* pPitch); -+ virtual HX_RESULT ScratchUnlock(UCHAR* pBits); -+ -+ virtual HX_RESULT BeginOptimizedBlt(HXBitmapInfoHeader* pBitmapInfo); -+ virtual HX_RESULT OptimizedBlt( UCHAR* pImageBits, -+ HXxRect& rDestRect, -+ HXxRect& rSrcRect); -+ virtual HX_RESULT EndOptimizedBlt(void); -+ virtual HX_RESULT GetOptimizedFormat(HX_COMPRESSION_TYPE& ulType); -+ virtual HX_RESULT GetPreferredFormat(HX_COMPRESSION_TYPE& ulType); -+ -+ XImage* _GetCompositionSurfaceDrawable(); -+ -+ //Shared Memory helper func for the basesurf to use. -+// HX_RESULT _DetachSharedRegion(); -+// HX_RESULT _CreateSharedRegion(INT32 nSize); -+ -+protected: -+ -+ //Smartly handle resizing of shm buffer. -+ HX_RESULT _ResizeVideoBuffer(INT32 nSize); -+ -+ //Inherited from CBaseRootSurface.... -+ virtual void _BltFromScratchToComposition(HXxRect& rDestRect, -+ HXxRect& rSrcRect); -+ virtual HX_RESULT _DebugBlt( UCHAR* pImageData, -+ HXBitmapInfoHeader* pBitmapInfo, -+ HXxRect& rDestRect, -+ HXxRect& rSrcRect); -+ virtual void _GetYUVScratchWidthHeight(UINT32* pWidth, UINT32* pHeight); -+ virtual void _CreateYUVScratchSurface(UINT32 width, UINT32 height); -+ virtual void _GetYUVScratchSurfacePointer(UCHAR** pYUVBits, INT32* YUVPitch); -+ virtual HX_RESULT _MinimalUnlock(HXxWindow* pWindow); -+ virtual HX_RESULT _LockComposition(UCHAR** pBits, INT32* pPitch); -+ virtual HX_RESULT _CreateCompositionSurface(); -+ virtual HX_RESULT _DestroyCompositionSurface(); -+ virtual void _MinimalBlt(HXxRect& dest); -+ -+ -+private: -+ -+ virtual ~CExRootSurf(); -+ -+ //Protect unintentional copy and default ctors. -+ CExRootSurf(); -+ CExRootSurf( const CExRootSurf& ); -+ CExRootSurf& operator=( const CExRootSurf& it ); -+ -+ //Shared memory members. -+ HXBOOL m_bUseShm; -+ XShmSegmentInfo m_shmInfo; -+ int m_nShmId; -+ -+ //General display and GC stuff. -+ Display* m_pDisplay; -+ GC m_GC; -+ int m_nScreenNumber; -+ XImage* m_pXImage; -+ Window m_window; -+ Visual* m_pVisual; -+ unsigned int m_unDepth; -+ Screen* m_pScreen; -+ Colormap m_colormap; -+ int m_nBitsPerPixel; -+ -+ //Bitmap stuff. -+ UCHAR* m_pYUVScratchBits; -+ HXBitmapInfo m_bmiYUVScratch; -+ int m_nYUVScratchPitch; -+ UCHAR* m_pScratchBits; -+ HXBitmapInfo m_bmiScratch; -+ int m_nScratchPitch; -+ HXBitmapInfo m_bmiSave; -+ ULONG32 m_nCompositionSize; -+ on_new_frame_cb_t m_on_new_frame_cb; -+ void * m_context; -+}; -+ -+#endif -Index: helix-libs/clientapps/clutter/exsite.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exsite.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,2915 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: unixsite.cpp,v 1.18.2.6 2008/06/05 14:24:30 lovish Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * Phil Dibowitz -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _UNIX -+#error This is the UNIX platform specific implementation. -+#endif -+ -+// -+// System includes... -+// -+#include -+#include "hlxclib/string.h" -+#if defined(USE_XWINDOWS) -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#endif -+ -+ -+// -+// RMA includes... -+// -+#include "hxcom.h" -+#include "hxcore.h" -+#include "hxevent.h" -+#include "hxwintyp.h" -+#include "hxwin.h" -+#include "hxsite2.h" -+#include "hxtypes.h" -+#include "exsite.h" -+#include "unixcmap.h" -+#include "visuals.h" -+#include "region.h" -+#include "basesurf.h" -+#include "exroot.h" -+#include "hxthread.h" -+#include "hxtick.h" -+#include "sitetext.h" -+ -+#include "unixsurf.h" -+ -+#include "hxprefs.h" -+ -+// -+// Global & Static global/member data.... -+// -+Display *CHXExSite::zm_display = NULL; -+static CHXMapPtrToPtr z_mapSiteToWindow; -+ -+// -+// Scroll bar support -+// -+#define SCROLL_BAR_WIDTH 13 //Width of scroll bar. -+//#define _ARROWS_SIDE_BY_SIDE 1 //Regular or side by side arrows? -+ -+ -+ -+ -+// -+// CHXExSite only Methods... -+// -+CHXExSite::CHXExSite( IUnknown* pContext, IUnknown* pUnkOuter, INT32 lInitialZorder, on_new_frame_cb_t on_new_frame_cb, void *context) -+ : CHXBaseSite( pContext, pUnkOuter, lInitialZorder ) -+ , m_pUnixEventHandler(NULL) -+ , m_ScrollHorizButtonL(0) -+ , m_ScrollHorizButtonR(0) -+ , m_ScrollVertButtonT(0) -+ , m_ScrollVertButtonB(0) -+ , m_winFullScreenWindow(0) -+ , m_winOldParent(0) -+ , m_bScrollingInProgress(FALSE) -+ , m_nScrollDir(0) -+ , m_bLastPointInSite(FALSE) -+ , m_bDamaged(FALSE) -+ , m_bIgnoreFocusOutInFS(FALSE) -+ , m_bReparent(FALSE) -+ , m_on_new_frame_cb(on_new_frame_cb) -+ , m_context(context) -+#if defined(HELIX_CONFIG_MOBLIN) -+ , m_pAttachWindowCallback(NULL) -+ , m_pForceRedrawCallback(NULL) -+#endif -+{ -+ m_ptScrollVertPosT.x = m_ptScrollVertPosT.y = 0; -+ m_ptScrollVertPosB.x = m_ptScrollVertPosB.y = 0; -+ m_ptScrollHorizPosR.x = m_ptScrollHorizPosR.y = 0; -+ m_ptScrollHorizPosL.x = m_ptScrollHorizPosL.y = 0; -+ m_ptFullScreenOffset.x = m_ptFullScreenOffset.y = 0; -+ memset( &m_PreFullScreenSize, 0, sizeof( m_PreFullScreenSize ) ); -+ -+ HX_ASSERT( m_pContext ); -+ -+ /* Replace m_pVideoSurface with my own */ -+/* HX_RELEASE(m_pVideoSurface); -+ m_pVideoSurface = new CUnixSurf(m_pContext, this); -+ HX_ASSERT( m_pVideoSurface ); -+ m_pVideoSurface->InitSurface(m_pContext); -+ m_pVideoSurface->AddRef(); -+*/ -+ IHXPreferences* pPreferences = NULL; -+ if( m_pContext && HXR_OK == m_pContext->QueryInterface( IID_IHXPreferences, (void **) &pPreferences)) -+ { -+ IHXBuffer *pBuffer = NULL; -+ pPreferences->ReadPref("IgnoreFocusOutInFS", pBuffer); -+ if(pBuffer) -+ { -+ m_bIgnoreFocusOutInFS = (::atoi((const char*)pBuffer->GetBuffer()) == 1); -+ HX_RELEASE(pBuffer); -+ } -+ } -+} -+ -+CHXExSite::~CHXExSite() -+{ -+#if defined(HELIX_CONFIG_MOBLIN) -+ RemovePendingCallback(m_pAttachWindowCallback); -+ HX_RELEASE(m_pAttachWindowCallback); -+ -+ RemovePendingCallback(m_pForceRedrawCallback); -+ HX_RELEASE(m_pForceRedrawCallback); -+#endif -+ void* pDummy; -+ if (z_mapSiteToWindow.Lookup((void*)this, pDummy)) -+ { -+ z_mapSiteToWindow.RemoveKey((void*)this); -+ } -+ -+ if( m_pUnixEventHandler ) -+ { -+ m_pUnixEventHandler->CancelCallback(); -+ HX_RELEASE(m_pUnixEventHandler); -+ } -+} -+ -+HX_RESULT CHXExSite::_OpenXDisplay(char* pszDisplayString) -+{ -+ HX_RESULT retVal = HXR_OK; -+ -+ //Is the connection open already? -+ if( NULL==zm_display ) -+ { -+ zm_display = XOpenDisplay(pszDisplayString); -+ -+ //If you can't open the display your done. -+ if(NULL == zm_display ) -+ { -+ HX_ASSERT("Can't open X Display..."==NULL); -+ retVal = HXR_FAIL; -+ } -+ else -+ { -+ HX_ASSERT(m_pScheduler); -+ if( m_pScheduler ) -+ { -+ //UnixEventHandler scheduls itself for init callback -+ //in the ctor. -+ m_pUnixEventHandler = new UnixEventHandler(this); -+ m_pUnixEventHandler->AddRef(); -+ } -+ } -+ } -+ return retVal; -+} -+ -+Window CHXExSite::CreateXWindow( Window win ) -+{ -+ Window parentWindow; -+ HXxWindow* pWindow = NULL; -+ //If parentWin is NULL then we belong to the root window. -+ if( win ) -+ { -+ parentWindow = win; -+ } -+ else -+ { -+ HX_ASSERT(zm_display); -+ XLockDisplay(zm_display); -+ parentWindow = RootWindow(zm_display, DefaultScreen(zm_display)); -+ XUnlockDisplay(zm_display); -+ } -+ -+ //Find the best visual to use on this display. -+ Visual* visual = GetBestVisual(zm_display); -+ -+ //Get the visual info. -+ int nNotUsed=0; -+ XVisualInfo stVisInfo; -+ -+ memset(&stVisInfo, 0, sizeof(XVisualInfo)); -+ stVisInfo.visualid = XVisualIDFromVisual(visual); -+ XLockDisplay(zm_display); -+ XVisualInfo* pVisual = XGetVisualInfo( zm_display, -+ VisualIDMask, -+ &stVisInfo, -+ &nNotUsed ); -+ XUnlockDisplay(zm_display); -+ -+ // Set up attributes of the window. -+ int attrMask = CWBackPixel | CWBorderPixel; -+ XSetWindowAttributes attr; -+ -+ memset(&attr, 0, sizeof(XSetWindowAttributes)); -+ XLockDisplay(zm_display); -+ attr.background_pixel = BlackPixel(zm_display, DefaultScreen(zm_display)); -+ attr.border_pixel = BlackPixel(zm_display, DefaultScreen(zm_display)); -+ XUnlockDisplay(zm_display); -+ -+ //See if the default visaul of hte screen is the same one we Want -+ //to use. If not, create a new one and install it. -+ Colormap cmap; -+ XLockDisplay(zm_display); -+ Visual* defVisual = DefaultVisual(zm_display, DefaultScreen(zm_display)); -+ XUnlockDisplay(zm_display); -+ if( defVisual->visualid != stVisInfo.visualid ) -+ { -+ //XXXgfw Are we leaking this colormap???? -+ XLockDisplay(zm_display); -+ cmap = XCreateColormap(zm_display, parentWindow, visual, AllocNone); -+ XUnlockDisplay(zm_display); -+ attr.colormap = cmap; -+ attrMask |= CWColormap; -+ } -+ -+ // Set the size/position of the window before creating. -+ XSizeHints size_hints; -+ -+ size_hints.flags = PPosition | PSize; -+ size_hints.x = m_position.x; -+ size_hints.y = m_position.y; -+ size_hints.width = 1; -+ size_hints.height = 1; -+ -+ //Create it. -+ XLockDisplay(zm_display); -+ Window window = XCreateWindow(zm_display, -+ parentWindow, -+ size_hints.x, -+ size_hints.y, -+ size_hints.width, -+ size_hints.height, -+ 0, -+ pVisual->depth, -+ InputOutput, -+ visual, -+ attrMask, -+ &attr); -+ XUnlockDisplay(zm_display); -+ XFree(pVisual); -+ -+ //Tell the WM about this window. -+#if 0 -+ XSetStandardProperties( zm_display, -+ window, -+ "CHXExSite", -+ "CHXExSite", -+ None, -+ NULL, 0, -+ &size_hints -+ ); -+#endif -+ -+ //Select all input events on the window since the other platforms -+ //we work with have no concept of event masks -+ XLockDisplay(zm_display); -+#if 0 -+ int result = XSelectInput( zm_display, window, -+ ButtonPressMask | ButtonReleaseMask | KeyPressMask | -+ KeyReleaseMask | EnterWindowMask | LeaveWindowMask | -+ PointerMotionMask | ButtonMotionMask | KeymapStateMask | -+ ExposureMask | StructureNotifyMask | FocusChangeMask -+ ); -+#else -+ int result = XSelectInput( zm_display, window, 0 ); -+ -+ -+#endif -+ XUnlockDisplay(zm_display); -+ if( BadWindow == result ) -+ { -+#ifdef _DEBUG -+ fprintf( stderr, "Can select events.\n" ); -+#endif -+ } -+ -+ //Map the window. -+ XLockDisplay(zm_display); -+ /* XMapWindow(zm_display, window); */ -+ -+ //Flush event queue. -+ XFlush(zm_display); -+ XUnlockDisplay(zm_display); -+ -+ -+ return window; -+} -+ -+void CHXExSite::_MapHorzScroll() -+{ -+#if 0 -+ if( GetWindow() && GetWindow()->display && m_ScrollHorizButtonL) -+ { -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ XMapWindow( pDis, m_ScrollHorizButtonL ); -+ XMapWindow( pDis, m_ScrollHorizButtonR ); -+ XUnlockDisplay(pDis); -+ } -+ _DrawArrows(); -+#endif -+} -+ -+void CHXExSite::_MapVertScroll() -+{ -+#if 0 -+ if( GetWindow() && GetWindow()->display && m_ScrollVertButtonT) -+ { -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ XMapWindow( pDis, m_ScrollVertButtonT ); -+ XMapWindow( pDis, m_ScrollVertButtonB ); -+ XUnlockDisplay(pDis); -+ } -+ _DrawArrows(); -+#endif -+} -+ -+void CHXExSite::_MapScrollButtons() -+{ -+#if 0 -+ _MapHorzScroll(); -+ _MapVertScroll(); -+#endif -+} -+ -+void CHXExSite::_UnmapHorzScroll() -+{ -+#if 0 -+ HX_ASSERT( GetWindow() ); -+ if( m_ScrollHorizButtonL && GetWindow()->display ) -+ { -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ XUnmapWindow( pDis, m_ScrollHorizButtonL ); -+ XUnmapWindow( pDis, m_ScrollHorizButtonR ); -+ XUnlockDisplay(pDis); -+ } -+#endif -+} -+void CHXExSite::_UnmapVertScroll() -+{ -+#if 0 -+ HX_ASSERT( GetWindow() ); -+ if( m_ScrollVertButtonT && GetWindow()->display ) -+ { -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ XUnmapWindow( pDis, m_ScrollVertButtonT ); -+ XUnmapWindow( pDis, m_ScrollVertButtonB ); -+ XUnlockDisplay(pDis); -+ } -+#endif -+} -+ -+void CHXExSite::_UnmapScrollButtons() -+{ -+#if 0 -+ if( GetWindow() ) -+ { -+ _UnmapVertScroll(); -+ _UnmapHorzScroll(); -+ } -+#endif -+} -+ -+void CHXExSite::_DestroyScrollButtons() -+{ -+ HXxWindow* pWin = GetWindow(); -+ Display* pDis = (Display*)(pWin?pWin->display:NULL); -+ -+ if( m_ScrollHorizButtonL && pDis ) -+ { -+ XLockDisplay(pDis); -+ XDestroyWindow( pDis, m_ScrollHorizButtonL ); -+ m_ScrollHorizButtonL = 0; -+ XDestroyWindow( pDis, m_ScrollHorizButtonR ); -+ XUnlockDisplay(pDis); -+ m_ScrollHorizButtonR = 0; -+ } -+ -+ if( m_ScrollVertButtonT && pDis) -+ { -+ XLockDisplay(pDis); -+ XDestroyWindow( pDis, m_ScrollVertButtonT ); -+ m_ScrollVertButtonT = 0; -+ XDestroyWindow( pDis, m_ScrollVertButtonB ); -+ XUnlockDisplay(pDis); -+ m_ScrollVertButtonB = 0; -+ } -+ m_ptScrollVertPosT.x = m_ptScrollVertPosT.y = 0; -+ m_ptScrollVertPosB.x = m_ptScrollVertPosB.y = 0; -+ m_ptScrollHorizPosR.x = m_ptScrollHorizPosR.y = 0; -+ m_ptScrollHorizPosL.x = m_ptScrollHorizPosL.y = 0; -+} -+ -+void CHXExSite::_DrawArrows() -+{ -+#if 0 //Paul Debug -+ //only do the work if our site is visible. -+ if( !IsSiteVisible() ) -+ return; -+ -+ //Draw an arrow on this window. -+ XPoint points[4]; -+ int offset = SCROLL_BAR_WIDTH/10; -+ GC tmpGC; -+ XGCValues values; -+ Display* dis = (Display*)GetWindow()->display; -+ -+ if( m_ScrollVertButtonB ) -+ { -+ XLockDisplay(dis); -+ tmpGC = XCreateGC( dis, m_ScrollVertButtonB, 0, &values ); -+ XUnlockDisplay(dis); -+ } -+ else if( m_ScrollHorizButtonL ) -+ { -+ XLockDisplay(dis); -+ tmpGC = XCreateGC( dis, m_ScrollHorizButtonL, 0, &values ); -+ XUnlockDisplay(dis); -+ } -+ else -+ { -+ //We don't have any scroll bars to draw.... -+ return; -+ } -+ -+ -+ XLockDisplay(dis); -+ XSetForeground( dis, tmpGC, WhitePixel(dis, 0 )); -+ XSetBackground( dis, tmpGC, BlackPixel(dis, 0 )); -+ XUnlockDisplay(dis); -+ Colormap cmap = HXGetXColormap((Display*)GetWindow()->display, -+ (Window)GetWindow()->window); -+ XColor color; -+ -+ memset(&color, 0, sizeof(XColor)); -+ XLockDisplay(dis); -+ XParseColor(dis, cmap, "blue", &color); -+ XUnlockDisplay(dis); -+ HXFindBestXColor(dis, cmap, &color); -+ XLockDisplay(dis); -+ XSetForeground( dis, tmpGC, color.pixel); -+ XSetLineAttributes(dis, tmpGC, 1, LineSolid, CapRound, JoinRound ); -+ XUnlockDisplay(dis); -+ -+ -+ //Draw up Vertical arrow. -+ if( m_ScrollVertButtonT ) -+ { -+ points[0].x = offset; -+ points[0].y = SCROLL_BAR_WIDTH-offset; -+ points[1].x = SCROLL_BAR_WIDTH/2; -+ points[1].y = offset; -+ points[2].x = SCROLL_BAR_WIDTH-offset; -+ points[2].y = SCROLL_BAR_WIDTH-offset; -+ points[3].x = points[0].x; -+ points[3].y = points[0].y; -+ XLockDisplay(dis); -+ XFillPolygon( dis, m_ScrollVertButtonT, tmpGC, points, 4, Convex, CoordModeOrigin); -+ XUnlockDisplay(dis); -+ } -+ -+ //Draw down Vertical arrow. -+ if( m_ScrollVertButtonB ) -+ { -+ points[0].x = offset; -+ points[0].y = offset; -+ points[1].x = SCROLL_BAR_WIDTH-offset; -+ points[1].y = offset; -+ points[2].x = SCROLL_BAR_WIDTH/2; -+ points[2].y = SCROLL_BAR_WIDTH-offset; -+ points[3].x = points[0].x; -+ points[3].y = points[0].y; -+ XLockDisplay(dis); -+ XFillPolygon( dis, m_ScrollVertButtonB, tmpGC, points, 4, Convex, CoordModeOrigin); -+ XUnlockDisplay(dis); -+ } -+ -+ //Draw Left Horizontal arrow. -+ if( m_ScrollHorizButtonL ) -+ { -+ points[0].x = SCROLL_BAR_WIDTH-offset; -+ points[0].y = offset; -+ points[1].x = SCROLL_BAR_WIDTH-offset; -+ points[1].y = SCROLL_BAR_WIDTH-offset; -+ points[2].x = offset; -+ points[2].y = SCROLL_BAR_WIDTH/2; -+ points[3].x = points[0].x; -+ points[3].y = points[0].y; -+ XLockDisplay(dis); -+ XFillPolygon( dis, m_ScrollHorizButtonL, tmpGC, points, 4, Convex, CoordModeOrigin); -+ XUnlockDisplay(dis); -+ } -+ -+ //Draw Right Horizontal arrow. -+ if( m_ScrollHorizButtonR ) -+ { -+ points[0].x = offset; -+ points[0].y = SCROLL_BAR_WIDTH-offset; -+ points[1].x = offset; -+ points[1].y = offset; -+ points[2].x = SCROLL_BAR_WIDTH-offset; -+ points[2].y = SCROLL_BAR_WIDTH/2; -+ points[3].x = points[0].x; -+ points[3].y = points[0].y; -+ XLockDisplay(dis); -+ XFillPolygon( dis, m_ScrollHorizButtonR, tmpGC, points, 4, Convex, CoordModeOrigin); -+ XUnlockDisplay(dis); -+ } -+ -+ //Free the GC and go. -+ XLockDisplay(dis); -+ XFreeGC( dis, tmpGC ); -+ XUnlockDisplay(dis); -+#endif -+} -+ -+HXBOOL CHXExSite::_InButton( HXxPoint& pt, int x, int y ) -+{ -+ HXBOOL retVal =FALSE; -+ if( x>= pt.x && x< pt.x+SCROLL_BAR_WIDTH && y>=pt.y && yGetWindow(); -+ } -+ if(pParentWindow) -+ { -+ GetParentSite()->GetSize(mySize); -+ } -+ -+ HX_ASSERT( pParentWindow ); -+ HX_ASSERT( pParentWindow->window != 0 ); -+ -+ if( m_ScrollVertButtonB ) -+ { -+ // if the other bar already exists, don't overlap it! -+ mySize.cx -= SCROLL_BAR_WIDTH; -+ } -+ -+ m_ptScrollHorizPosL.x = m_topleft.x; -+ m_ptScrollHorizPosL.y = m_topleft.y+mySize.cy-SCROLL_BAR_WIDTH; -+ -+#ifndef _ARROWS_SIDE_BY_SIDE -+ m_ptScrollHorizPosR.x = m_topleft.x+mySize.cx-SCROLL_BAR_WIDTH; -+#else -+ m_ptScrollHorizPosR.x = m_topleft.x+SCROLL_BAR_WIDTH; -+#endif -+ m_ptScrollHorizPosR.y = m_topleft.y+mySize.cy-SCROLL_BAR_WIDTH; -+ -+ Display* dis = (Display*)GetWindow()->display; -+ XLockDisplay(dis); -+ Pixel blackPixel = BlackPixel( dis, DefaultScreen(dis) ); -+ XUnlockDisplay(dis); -+ Pixel greyPixel = blackPixel; -+ -+ Colormap cmap = HXGetXColormap(dis, (Window)GetWindow()->window); -+ XColor color; -+ -+ XLockDisplay(dis); -+ XParseColor(dis, cmap, "gray", &color); -+ XUnlockDisplay(dis); -+ HXFindBestXColor(dis, cmap, &color); -+ greyPixel = color.pixel; -+ -+ XLockDisplay(dis); -+ m_ScrollHorizButtonL = XCreateSimpleWindow( dis, -+ (Window)pParentWindow->window, -+ m_ptScrollHorizPosL.x, m_ptScrollHorizPosL.y, -+ SCROLL_BAR_WIDTH, SCROLL_BAR_WIDTH, -+ 1, -+ blackPixel, -+ greyPixel -+ ); -+ m_ScrollHorizButtonR = XCreateSimpleWindow( dis, -+ (Window)pParentWindow->window, -+ m_ptScrollHorizPosR.x, m_ptScrollHorizPosR.y, -+ SCROLL_BAR_WIDTH, SCROLL_BAR_WIDTH, -+ 1, -+ blackPixel, -+ greyPixel -+ ); -+ XUnlockDisplay(dis); -+ HX_ASSERT( m_ScrollHorizButtonR && m_ScrollHorizButtonL ); -+ -+} -+ -+void CHXExSite::_CreateVertScrollBar() -+{ -+ HX_ASSERT( m_ScrollVertButtonB == 0 ); -+ HX_ASSERT( m_ScrollVertButtonT == 0 ); -+ -+ HXxSize mySize; -+ -+ HXxWindow* pParentWindow = NULL; -+ if(GetParentSite()) -+ { -+ pParentWindow = GetParentSite()->GetWindow(); -+ } -+ if(pParentWindow) -+ { -+ GetParentSite()->GetSize(mySize); -+ } -+ -+ HX_ASSERT( pParentWindow ); -+ HX_ASSERT( pParentWindow->window != 0 ); -+ -+ if( m_ScrollHorizButtonR ) -+ { -+ // if the other bar already exists, don't overlap it! -+ mySize.cy -= SCROLL_BAR_WIDTH; -+ } -+ -+ -+ m_ptScrollVertPosT.x = m_topleft.x+mySize.cx-SCROLL_BAR_WIDTH; -+ m_ptScrollVertPosT.y = m_topleft.y; -+ -+ m_ptScrollVertPosB.x = m_topleft.x+mySize.cx-SCROLL_BAR_WIDTH; -+#ifndef _ARROWS_SIDE_BY_SIDE -+ m_ptScrollVertPosB.y = m_topleft.y+mySize.cy-SCROLL_BAR_WIDTH; -+#else -+ m_ptScrollVertPosB.y = m_topleft.y+SCROLL_BAR_WIDTH; -+#endif -+ -+ Display* dis = (Display*)GetWindow()->display; -+ XLockDisplay(dis); -+ Pixel blackPixel = BlackPixel( dis, DefaultScreen(dis) ); -+ XUnlockDisplay(dis); -+ Pixel greyPixel = blackPixel; -+ Colormap cmap = HXGetXColormap((Display*)GetWindow()->display, -+ (Window)GetWindow()->window); -+ XColor color; -+ XLockDisplay(dis); -+ XParseColor(dis, cmap, "gray", &color); -+ XUnlockDisplay(dis); -+ HXFindBestXColor(dis, cmap, &color); -+ greyPixel = color.pixel; -+ -+ HX_ASSERT( GetWindow() ); -+ XLockDisplay(dis); -+ m_ScrollVertButtonT = XCreateSimpleWindow( dis, -+ (Window)pParentWindow->window, -+ m_ptScrollVertPosT.x, m_ptScrollVertPosT.y, -+ SCROLL_BAR_WIDTH, SCROLL_BAR_WIDTH, -+ 1, -+ blackPixel, -+ greyPixel -+ ); -+ m_ScrollVertButtonB = XCreateSimpleWindow( dis, -+ (Window)pParentWindow->window, -+ m_ptScrollVertPosB.x, m_ptScrollVertPosB.y, -+ SCROLL_BAR_WIDTH, SCROLL_BAR_WIDTH, -+ 1, -+ blackPixel, -+ greyPixel -+ ); -+ XUnlockDisplay(dis); -+ -+ HX_ASSERT( m_ScrollVertButtonB && m_ScrollVertButtonT ); -+ -+} -+ -+// -+// Inherited CHXBaseSite methods. -+// -+void CHXExSite::_NeedWindowedSite() -+{ -+#ifdef _DEBUG -+ fprintf( stderr, "CHXExSite::_NeedWindowedSite do something here....\n" ); -+#endif -+ //Nothing to do on unix.... -+} -+ -+void CHXExSite::_AttachWindow() -+{ -+#if 1 -+ void* pDummy=NULL; -+ -+ if (m_pRootSurface) -+ { /* Replace CUnixRootSurf with my own CExRootSurf */ -+ HX_RELEASE(m_pRootSurface); -+ m_pRootSurface = new CExRootSurf(m_pContext, this, m_on_new_frame_cb, m_context); -+ m_pRootSurface->AddRef(); -+ } -+ -+ if(!z_mapSiteToWindow.Lookup((void*)this, pDummy)) -+ { -+ z_mapSiteToWindow.SetAt((void*)this, (void*)m_pWindow); -+ } -+ -+ //Set the display variable. -+ if( m_pWindow->display == NULL ) -+ { -+ HX_ASSERT(zm_display); -+ m_pWindow->display = zm_display; -+ } -+ -+ //Now that we have a window be sure to init the CExRootSurf. -+ //this lets it set up the display, colormap, etc. -+ ((CExRootSurf*)m_pRootSurface)->Init(); -+#endif -+} -+ -+void CHXExSite::_DetachWindow() -+{ -+#if 1 -+ void* pDummy; -+ -+ if (z_mapSiteToWindow.Lookup((void*)this, pDummy)) -+ { -+ z_mapSiteToWindow.RemoveKey((void*)this); -+ } -+#endif -+} -+ -+void* CHXExSite::_Create(void* pParentWindow, UINT32 style) -+{ -+ HRESULT result = HXR_OK; -+ if( m_pWindow && m_pWindow->window ) -+ { -+ HX_ASSERT( "We already have created a window"==NULL); -+ return NULL; -+ } -+ -+ if (pParentWindow==NULL || style) -+ { -+ m_bIsChildWindow = FALSE; -+ } -+ else -+ { -+ m_bIsChildWindow = TRUE; -+ } -+ -+ if( _OpenXDisplay(NULL) != HXR_OK ) -+ { -+ return NULL; -+ } -+ return (void*)CreateXWindow((Window)pParentWindow); -+} -+ -+ -+void CHXExSite::_Destroy(HXxWindow* pWindow) -+{ -+ _DestroySliders(); -+ HXxWindow* pWin = GetWindow(); -+ Display* pDis = (Display*)(pWin?pWin->display:NULL); -+ if( pDis ) -+ { -+ XLockDisplay(pDis); -+ XDestroyWindow( pDis, (Window)pWindow->window ); -+ XUnlockDisplay(pDis); -+ } -+} -+ -+void CHXExSite::_SetSize(HXxSize size) -+{ -+ HX_ASSERT( m_pWindow && m_pWindow->display && m_pWindow->window); -+ //The scroll bars get resized also... -+ _DestroySliders(); -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ XResizeWindow(pDis, -+ (Window) m_pWindow->window, -+ size.cx, -+ size.cy); -+ XUnlockDisplay(pDis); -+} -+ -+void CHXExSite::_SetPosition(HXxPoint position) -+{ -+ HX_ASSERT( m_pWindow && m_pWindow->display && m_pWindow->window); -+ _DestroyScrollButtons(); -+ XLockDisplay((Display*) m_pWindow->display); -+ XMoveWindow((Display*)m_pWindow->display, -+ (Window)m_pWindow->window, -+ position.x, -+ position.y); -+ XUnlockDisplay((Display*) m_pWindow->display); -+} -+ -+void CHXExSite::_DamageRect(HXxRect rect) -+{ -+ if(GetWindow()) -+ { -+ m_bDamaged = TRUE; -+ } -+ return; -+} -+ -+void CHXExSite::_DamageRegion(HXxRegion rect) -+{ -+ if(GetWindow()) -+ { -+ m_bDamaged = TRUE; -+ } -+ return; -+} -+ -+void CHXExSite::_SendOSUpdateMessage() -+{ -+ //We need to redraw our window here, m_pWindow. -+} -+ -+void CHXExSite::_ShowSite(HXBOOL bShow) -+{ -+ if( bShow ) -+ { -+ _MapScrollButtons(); -+ } -+ else -+ { -+ _UnmapScrollButtons(); -+ } -+ //do nothing.... -+} -+ -+HXBOOL CHXExSite::_AtSystemTime() -+{ -+ return TRUE; -+} -+ -+void CHXExSite::_GetDeviceCaps( void* hdc, -+ UINT16& uBitsPerPixel, -+ UINT16& uHorzRes, -+ UINT16& uVertRes ) -+{ -+ Screen* pScreen = NULL; -+ HXxWindow* pWin = GetWindow(); -+ HX_ASSERT( pWin ); -+ if( pWin ) -+ { -+ Display* dis = (Display*)pWin->display; -+ HX_ASSERT( dis ); -+ if( dis ) -+ { -+ Display* pDisp = (Display*)GetWindow()->display; -+ XLockDisplay(pDisp); -+ pScreen = DefaultScreenOfDisplay(pDisp); -+ XUnlockDisplay(pDisp); -+ -+ uBitsPerPixel = pScreen->root_depth; -+ uHorzRes = pScreen->width; -+ uVertRes = pScreen->height; -+ } -+ } -+} -+ -+void CHXExSite::_GetWindowRect(HXxRect* destRect) -+{ -+ HX_ASSERT( "Doesn't seem to be used anywhere"==NULL ); -+} -+ -+void CHXExSite::_DestroySliders() -+{ -+ _DestroyScrollButtons(); -+} -+ -+void CHXExSite::_ForwardUpdateEvent(HXxEvent* pEvent) -+{ -+ GC gc = NULL; -+ AddRef(); -+ -+ HX_ASSERT(GetWindow()->window); -+ HX_ASSERT(m_pUser); -+ if(m_bIsChildWindow) -+ { -+ //Create a clip region that excludes our higher z-order -+ //siblings and is clipped to our parent. -+ if( !m_bRegionIsValid ) -+ { -+ RecomputeClip(); -+ } -+ -+ // The problem is that regions are locked to the origin so we -+ // will need to reverse shift the region before we set the -+ // origin of the graph port! get the GC from the video surface -+ gc = ((CExRootSurf*)m_pRootSurface)->GetGC(); -+ HX_ASSERT( gc ); -+ -+ //Actually setup our clip region -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ XSetRegion( pDis, gc, (Region) m_Region ); -+ XUnlockDisplay(pDis); -+ } -+ -+ XEvent* pXEvent = (XEvent*) pEvent->param2; -+ XExposeEvent* exposeEvent = (XExposeEvent*) pXEvent; -+ -+ // get the rect for this site with respect to our parent -+ HXRECTANGLE exposedRect = { exposeEvent->x, -+ exposeEvent->y, -+ exposeEvent->width, -+ exposeEvent->height }; -+ HXREGION* exposedRegion = HXCreateRegion(); -+ HXUnionRectWithRegion(&exposedRect, exposedRegion, exposedRegion); -+ -+ // does the site intersect the current clipping region? -+ HXREGION* resultRegion = HXCreateRegion(); -+ HXIntersectRegion(exposedRegion, m_Region, resultRegion); -+ HXBOOL bSiteIntersectsExposed = (HXEmptyRegion(resultRegion)==FALSE); -+ -+ HXDestroyRegion(resultRegion); -+ HXDestroyRegion(exposedRegion); -+ -+ // if the exposed region intersects the sites clipping region -+ if(bSiteIntersectsExposed) -+ { -+ m_pUser->HandleEvent(pEvent); -+ } -+ -+ //If the user doesn't handle the standard update event then send -+ //them the cross platform HX_SURFACE_UPDATE event don't damage the -+ //original event structure -+ if(!pEvent->handled && m_pUser ) -+ { -+ HX_ASSERT(GetWindow()); -+ HXxEvent event; -+ event.event = HX_SURFACE_UPDATE; -+ event.window = GetWindow()->window; -+ event.param1 = m_pVideoSurface; -+ event.param2 = GetWindow(); -+ event.result = 0; -+ event.handled = FALSE; -+ m_pUser->HandleEvent(&event); -+ pEvent->handled = event.handled; -+ } -+ -+ -+ //reset the gc to use no region -+ if(m_bIsChildWindow && gc) -+ { -+ Display* pDisp = (Display*)GetWindow()->display; -+ XLockDisplay(pDisp); -+ XSetClipMask(pDisp, gc, None); -+ XUnlockDisplay(pDisp); -+ } -+ -+ //Handle the drawing of our arrows... -+ _DrawArrows(); -+ -+ //Now do all our children.... -+ CHXMapPtrToPtr::Iterator i = m_ChildrenMap.Begin(); -+ for(;i!=m_ChildrenMap.End();++i) -+ { -+ CHXExSite* pSite = (CHXExSite*) *i; -+ pSite->_ForwardUpdateEvent(pEvent); -+ } -+ -+ Release(); -+} -+ -+UINT32 CHXExSite::_MapKeySymToHXVK(KeySym sym, UINT32& uFlags ) -+{ -+ //XXXgfw if we add the extended flag in the HX_KEYBOARD event -+ //structure then we can modify the flags here to show that these -+ //keys are 'extended' in the windows sense. -+ UINT32 ulRet = 0; -+ switch( sym ) -+ { -+ case XK_Shift_R: -+ ulRet = XK_Shift_L; -+ break; -+ case XK_Alt_R: -+ ulRet = XK_Alt_L; -+ break; -+ case XK_KP_Home: -+ ulRet = XK_Home; -+ break; -+ case XK_KP_Next: -+ ulRet = XK_Next; -+ break; -+ case XK_KP_Prior: -+ ulRet = XK_Prior; -+ break; -+ case XK_KP_Enter: -+ ulRet = XK_Return; -+ break; -+ case XK_KP_End: -+ ulRet = XK_End; -+ break; -+ case XK_KP_Begin: -+ ulRet = XK_Begin; -+ break; -+ case XK_KP_Left: -+ ulRet = XK_Left; -+ break; -+ case XK_KP_Up: -+ ulRet = XK_Up; -+ break; -+ case XK_Control_R: -+ ulRet = XK_Control_L; -+ break; -+ case XK_KP_Right: -+ ulRet = XK_Right; -+ break; -+ case XK_KP_Down: -+ ulRet = XK_Down; -+ break; -+ case XK_KP_Insert: -+ ulRet = XK_Insert; -+ break; -+ case XK_KP_Delete: -+ ulRet = XK_Delete; -+ break; -+ default: -+ ulRet = sym; -+ break; -+ } -+ if( ulRet != sym ) -+ { -+ //We have mapped a key from Right hand side, keypad, arrows -+ //or other parts of an extended keyboard. Set the flag. -+ uFlags |= HX_EXTENDED_KEY_MASK; -+ } -+ return ulRet; -+} -+ -+ -+HXBOOL CHXExSite::_ConvertToHXEvent(HXxEvent* pEvent ) -+{ -+ // get original events info from pEvent -+ XEvent* pXEvent = (XEvent*) pEvent->param2; -+ XButtonEvent* buttonEvent = (XButtonEvent*) pXEvent; -+ -+ -+ //=============================================================== -+ // Convert all other event to RMA generic events and pass back. -+ //=============================================================== -+ if( ((pEvent->event == ButtonPress) || -+ (pEvent->event == ButtonRelease) || -+ (pEvent->event == MotionNotify ) || -+ (pEvent->event == EnterNotify) || -+ (pEvent->event == FocusIn) || -+ (pEvent->event == FocusOut) || -+ (pEvent->event == KeyPress) || -+ (pEvent->event == KeyRelease) || -+ (pEvent->event == LeaveNotify)) -+ ) -+ { -+ // set modifier flags for all events.... -+ UINT32 flags = 0; -+ -+ // create new HXxEvent -+ HXxEvent theEvent; -+ -+ //XXXgfw ouch.... -+ static HXxPoint realPt = {0,0}; -+ -+ //Init certain members. -+ memset(&theEvent, 0, sizeof(HXxEvent)); -+ theEvent.window = pEvent->window; -+ theEvent.handled = FALSE; -+ -+ // -+ // NOTE: -+ // -+ // theEvent must be filled in by *ALL* event types. -+ // theEvent will be memcopied into the pEvent passed -+ // back to the basesite at the end of the method. -+ // -+ -+ //================================================== -+ // LEAVE NOTIFY EVENT -+ //================================================== -+ if( pEvent->event==LeaveNotify) -+ { -+ if( m_pTopLevelSite->m_pMouseInSite ) -+ { -+ HXxPoint oobPoint; -+ oobPoint.x = -1; -+ oobPoint.y = -1; -+ HXxEvent Outevent = { HX_MOUSE_LEAVE, -+ m_pWindow->window, -+ (void*)&oobPoint, -+ 0, 0, -+ FALSE }; -+ m_pTopLevelSite->m_pMouseInSite->EventOccurred(&Outevent); -+ m_pTopLevelSite->m_pMouseInSite = NULL; -+ } -+ pEvent->handled=TRUE; -+ return TRUE; -+ } -+ -+ //================================================== -+ // ENTER NOTIFY EVENT -+ //================================================== -+ if( pEvent->event==EnterNotify) -+ { -+ pEvent->handled=TRUE; -+ return TRUE; -+ } -+ -+ //================================================== -+ // KEY PRESS/RELEASE EVENT -+ //================================================== -+ if ( pEvent->event == KeyPress || pEvent->event==KeyRelease ) -+ { -+ XKeyEvent* pKeyEvent = (XKeyEvent*)pEvent->param2; -+ -+ // -+ //Set the event type -+ // -+ theEvent.event = pEvent->event==KeyPress?HX_KEY_DOWN:HX_KEY_UP; -+ -+ // -+ // Fill in the scan/key code. -+ // -+ flags = pKeyEvent->keycode; -+ flags &= 0x000000ff; //the scan code only gets bits 0-7 -+ -+ // -+ // build key modifier list... -+ // -+ if( pKeyEvent->state & ShiftMask ) -+ flags |= HX_SHIFT_MASK; -+ -+ if( pKeyEvent->state & ControlMask ) -+ flags |= HX_CTRL_MASK; -+ -+ if( pKeyEvent->state & LockMask ) -+ flags |= HX_CAPS_LOCK_MASK; -+ -+ if( pKeyEvent->state & Mod1Mask) -+ flags |= HX_ALT_MASK; -+ -+ if( pKeyEvent->state & Mod2Mask) -+ flags |= HX_NUM_LOCK_MASK; -+ -+ if( pKeyEvent->state & Mod5Mask) -+ flags |= HX_SCROLL_LOCK_MASK; -+ -+ // -+ //Store the char pressed. -+ // -+ KeySym sym; -+ char szBuf[10]; /* Flawfinder: ignore */ -+ int nNum; -+ -+ //Save the state of the keys... -+ unsigned int unSave = pKeyEvent->state; -+ pKeyEvent->state=0; -+ -+ //Lookup the key without any state. -+ nNum = XLookupString( pKeyEvent, szBuf, 10, &sym, NULL ); -+ if( nNum > 0 ) -+ { -+ theEvent.param1 = (void*)*szBuf; -+ } -+ else -+ { -+ theEvent.param1 = (void*)_MapKeySymToHXVK(sym, flags); -+ flags |= HX_VIRTUAL_KEY_MASK; -+ } -+ //restore the state of the event -+ pKeyEvent->state = unSave; -+ -+ //Set the flags... -+ theEvent.param2 = (void*)flags; -+ -+ //Check for HX_CHAR needed or not. -+ if( theEvent.event == HX_KEY_DOWN ) -+ { -+ //We have to send an extra HX_CHAR event -+ HXxEvent extraEvent; -+ memcpy( &extraEvent, &theEvent, sizeof( extraEvent ) ); /* Flawfinder: ignore */ -+ -+ //Change the type. -+ extraEvent.event = HX_CHAR; -+ -+ // -+ //Change the keycode to an translated ascii char. -+ // -+ KeySym sym; -+ char szBuf[10]; /* Flawfinder: ignore */ -+ int nNum; -+ -+ nNum = XLookupString( pKeyEvent, szBuf, 10, &sym, NULL ); -+ -+ if( nNum > 0 ) -+ { -+ extraEvent.param1 = (void*)*szBuf; -+ } -+ else -+ { -+ extraEvent.param1 = (void*)_MapKeySymToHXVK(sym, flags); -+ flags |= HX_VIRTUAL_KEY_MASK; -+ } -+ extraEvent.param2 = (void*)flags; -+ -+ // -+ // Now send the extra event.... -+ // -+ CHXBaseSite::EventOccurred(&extraEvent); -+ } -+ } -+ -+ //================================================== -+ // FOCUS OUT EVENT -+ //================================================== -+ if ( pEvent->event == FocusOut ) -+ { -+ theEvent.event = HX_LOSE_FOCUS; -+ } -+ -+ if ( pEvent->event == FocusIn ) -+ { -+ theEvent.event = HX_SET_FOCUS; -+ } -+ -+ //================================================== -+ // MOUSE MOVE EVENT -+ //================================================== -+ if( pEvent->event == MotionNotify ) -+ { -+ XMotionEvent* pp = (XMotionEvent*)pEvent->param2; -+ theEvent.event = HX_MOUSE_MOVE; -+ -+ if( pp->state&Button1Mask ) -+ flags |= HX_PRIMARY_BUTTON; -+ -+ if( pp->state&Button2Mask ) -+ flags |= HX_CONTEXT_BUTTON; -+ -+ if( pp->state&Button3Mask ) -+ flags |= HX_THIRD_BUTTON; -+ -+ if(pp->state & ShiftMask) -+ flags |= HX_SHIFT_KEY; -+ -+ if(pp->state & ControlMask) -+ flags |= HX_CTRL_KEY; -+ -+ if(pp->state & Mod1Mask) -+ flags |= HX_ALT_COMMAND_KEY; -+ -+ theEvent.param2 = (void*) flags; -+ -+ //Grab the X and Y. -+ theEvent.param1 = (void*) &realPt; -+ realPt.x = pp->x; -+ realPt.y = pp->y; -+ } -+ -+ //================================================== -+ // BUTTON PRESS/RELEASE EVENT -+ //================================================== -+ if((pEvent->event == ButtonPress) || (pEvent->event == ButtonRelease)) -+ { -+ // remap event -+ if (pEvent->event == ButtonPress) -+ { -+ if (buttonEvent->button == Button3) -+ theEvent.event = HX_CONTEXT_BUTTON_DOWN; -+ else -+ theEvent.event = HX_PRIMARY_BUTTON_DOWN; -+ } -+ else if (pEvent->event == ButtonRelease) -+ { -+ if (buttonEvent->button == Button3) -+ theEvent.event = HX_CONTEXT_BUTTON_UP; -+ else -+ theEvent.event = HX_PRIMARY_BUTTON_UP; -+ } -+ -+ if(buttonEvent->state & ShiftMask) -+ flags |= HX_SHIFT_KEY; -+ -+ if(buttonEvent->state & ControlMask) -+ flags |= HX_CTRL_KEY; -+ -+ theEvent.param2 = (void*) flags; -+ -+ //Grab the X and Y. -+ theEvent.param1 = (void*) &realPt; -+ realPt.x = buttonEvent->x; -+ realPt.y = buttonEvent->y; -+ } -+ -+ //Copy the new event back into the passed in one for -+ //all events that fall through here... -+ memcpy( pEvent, &theEvent, sizeof(HXxEvent) ); /* Flawfinder: ignore */ -+ -+#if defined(_DEBUG) -+ //If the users presses control-primary button -+ //dump info on all sites. If shift-context, then -+ //just this site. -+ if( (buttonEvent->state&ControlMask)&& -+ (theEvent.event==HX_PRIMARY_BUTTON_DOWN)) -+ { -+ DisplayAllSiteData(); -+ } -+ if( (buttonEvent->state&ShiftMask)&& -+ (theEvent.event==HX_PRIMARY_BUTTON_DOWN)) -+ { -+ DisplaySiteData(""); -+ } -+#endif -+ } -+ return pEvent->handled; -+} -+ -+ -+void CHXExSite::CheckColorSettings() -+{ -+#if !defined(HELIX_FEATURE_HARDWARE_COLOR_CONTROLS) -+ CHXBaseSite::CheckColorSettings(); -+#else -+ CUnixSurf* pSurf = (CUnixSurf*)m_pVideoSurface; -+ if( !pSurf->HasHWColorConrols() ) -+ { -+ CHXBaseSite::CheckColorSettings(); -+ } -+ else -+ { -+ pSurf->SetHWColorControls(); -+ -+ //We do all color stuff except sharpmess in hardware. -+ float fCurrentSharpness; -+ INT16 bInterpolate; -+ zm_pColorAcc->GetSharpnessAdjustments(&fCurrentSharpness, &bInterpolate); -+ -+ if (fCurrentSharpness != m_fSharpness) -+ { -+ zm_pColorAcc->SetSharpnessAdjustments(m_fSharpness, FALSE); -+ } -+ } -+#endif -+} -+ -+// -+// OK, here it is. Take care of any OS specific duties, like scrollbar -+// stuff and expose events. Then, if the event isn't handled, convert -+// to an RMA event and return. -+HXBOOL CHXExSite::_HandleOSEvents(HXxEvent* pEvent) -+{ -+ HXxPoint position = {0, 0}; -+ HXxPoint point; -+ -+ if( NULL==pEvent ) -+ { -+ return FALSE; -+ } -+ -+ return TRUE; -+ -+#if defined(_DEBUG) && 0 -+// fprintf( stderr, "this: %p m_pUser: %p ", this, m_pUser ); -+ switch( pEvent->event ) -+ { -+ case HX_MOUSE_LEAVE: -+ fprintf( stderr, "HX_MOUSE_LEAVE\n" ); -+ break; -+// case HX_MOUSE_MOVE: -+// point.x = ((HXxPoint*)pEvent->param1)->x; -+// point.y = ((HXxPoint*)pEvent->param1)->y; -+// fprintf( stderr, "HX_MOUSE_MOVE: %d %d\n", point.x, point.y ); -+// break; -+ case HX_MOUSE_ENTER: -+ fprintf( stderr, "HX_MOUSE_ENTER\n" ); -+ break; -+// case MotionNotify: -+// point.x = ((XMotionEvent*)pEvent->param2)->x; -+// point.y = ((XMotionEvent*)pEvent->param2)->y; -+// fprintf( stderr, "MotionNotify: %d %d\n", point.x, point.y ); -+// break; -+ case Expose: -+ fprintf( stderr, "Expose\n" ); -+ break; -+ case EnterNotify : -+ fprintf( stderr, "EnterNotify\n" ); -+ break; -+ case LeaveNotify: -+ fprintf( stderr, "LeaveNotify\n" ); -+ break; -+ case KeyPress: -+ fprintf( stderr, "this: %p m_pUser: %p ", this, m_pUser ); -+ fprintf( stderr, "Keypress\n\n" ); -+ break; -+ case KeyRelease: -+ fprintf( stderr, "this: %p m_pUser: %p ", this, m_pUser ); -+ fprintf( stderr, "KeyRelease\n" ); -+ break; -+ default: -+ fprintf( stderr, "Other\n" ); -+ break; -+ } -+#endif -+ -+ //Find the ConfigureNotify events so we can drop to RGB from -+ //overlay while we move.... -+// if( pEvent->event == ConfigureNotify && this==m_pTopLevelSite ) -+// { -+// XConfigureEvent* pev = (XConfigureEvent*)pEvent->param2; -+// if( m_pWindow && pev->window == (Window)m_pWindow->window ) -+// { -+// HXxPoint p; -+// _GetPositionRelativeToActualWindow( p ); -+// // fprintf( stderr, "wint %p -- x,y width, height: %d %d %d %d \n", -+// // pev->window, -+// // pev->x, pev->y, pev->width, pev->height); -+// // fprintf( stderr, "size of site: %d %d\n", m_size.cx, m_size.cy); -+// // fprintf( stderr, "pos of site: %d %d\n", m_topleft.x, m_topleft.y); -+// m_pTopLevelSite->m_pMutex->Lock(); -+// m_pTopLevelSite->SiteMoving(0, 0); -+// m_pTopLevelSite->m_nLastMoveTime = HX_GET_TICKCOUNT(); -+// m_pTopLevelSite->ScheduleCallback(MOUSE, 100); -+// m_pTopLevelSite->m_pMutex->Unlock(); -+// } -+// } -+ -+ //See if we should drop out of full screen -+ if( pEvent->event == FocusOut && IsFullScreen() && !m_bIgnoreFocusOutInFS ) -+ { -+// fprintf( stderr, "_HandleOSEvents: focus out: " ); -+// XEvent* pXEvent = (XEvent*) pEvent->param2; -+// XFocusChangeEvent* event = (XFocusChangeEvent*) pXEvent; -+// switch( event->mode ) -+// { -+// case NotifyAncestor: -+// fprintf( stderr, "NotifyAncestor\n" ); -+// break; -+// case NotifyVirtual: -+// fprintf( stderr, "NotifyVirtual\n" ); -+// break; -+// case NotifyInferior: -+// fprintf( stderr, "NotifyInferior\n" ); -+// break; -+// case NotifyNonlinear: -+// fprintf( stderr, "NotifyNonlinear\n" ); -+// break; -+// case NotifyNonlinearVirtual: -+// fprintf( stderr, "NotifyNonlinearVirtual\n" ); -+// break; -+// case NotifyPointer: -+// fprintf( stderr, "NotifyPointer\n" ); -+// break; -+// case NotifyPointerRoot: -+// fprintf( stderr, "NotifyPointerRoot\n" ); -+// break; -+// case NotifyDetailNone: -+// fprintf( stderr, "NotifyDetailNone\n" ); -+// break; -+// default: -+// fprintf( stderr, "screwed.....\n" ); -+// } -+ ExitFullScreen(); -+ } -+ -+ -+#if defined(_DEBUG) && defined(TEST_FULL_SCREEN) -+ if( pEvent->event == KeyPress ) -+ { -+ KeySym sym; -+ char szBuf[10]; /* Flawfinder: ignore */ -+ int nNum; -+ -+ //Lookup the key without any state. -+ nNum = XLookupString( (XKeyEvent*)(pEvent->param2), szBuf, 10, &sym, NULL ); -+ if( nNum > 0 ) -+ { -+ if( 'f' == szBuf[0] && IsFullScreen() ) -+ { -+ //Exit full screen if 'f' is pressed..... -+ m_pTopLevelSite->ExitFullScreen(); -+ } -+ else if( 'f' == szBuf[0] && !IsFullScreen() ) -+ { -+ //Enter full screen if 'f' is pressed..... -+ m_pTopLevelSite->EnterFullScreen(); -+ } -+ -+ } -+ -+ } -+#endif -+ -+#if defined(_DEBUG) && defined(_TEST_COLOR_CONTROLS) -+ if( pEvent->event == KeyPress ) -+ { -+ KeySym sym; -+ char szBuf[10]; /* Flawfinder: ignore */ -+ int nNum; -+ -+ //Lookup the key without any state. -+ nNum = XLookupString( (XKeyEvent*)(pEvent->param2), szBuf, 10, &sym, NULL ); -+ if( nNum > 0 ) -+ { -+ if( 'b' == szBuf[0] ) -+ { -+ SetBrightness( GetBrightness()-.05); -+ } -+ if( 'B' == szBuf[0] ) -+ { -+ SetBrightness( GetBrightness()+.05); -+ } -+ -+ if( 'c' == szBuf[0] ) -+ { -+ SetContrast( GetContrast()-.05); -+ } -+ if( 'C' == szBuf[0] ) -+ { -+ SetContrast( GetContrast()+.05); -+ } -+ -+ if( 'h' == szBuf[0] ) -+ { -+ SetHue( GetHue()-.05); -+ } -+ if( 'H' == szBuf[0] ) -+ { -+ SetHue( GetHue()+.05 ); -+ } -+ -+ if( 's' == szBuf[0] ) -+ { -+ SetSaturation( GetSaturation()-.05); -+ } -+ if( 'S' == szBuf[0] ) -+ { -+ SetSaturation( GetSaturation()+.05); -+ } -+ fprintf( stderr, "colors %f %f %f %f\n", -+ GetBrightness(), -+ GetContrast(), -+ GetSaturation(), -+ GetHue()); -+ } -+ -+ } -+#endif -+ -+ //Exit full screen on ESC pressed...... -+ if( pEvent->event == KeyPress ) -+ { -+ KeySym sym; -+ char szBuf[10]; /* Flawfinder: ignore */ -+ int nNum; -+ -+ //Lookup the key without any state. -+ nNum = XLookupString( (XKeyEvent*)(pEvent->param2), szBuf, 10, &sym, NULL ); -+ if( nNum > 0 ) -+ { -+ if( 27 == (int)szBuf[0] && IsFullScreen() ) -+ { -+ //Exit full screen if esc is pressed..... -+ m_pTopLevelSite->ExitFullScreen(); -+ } -+ } -+ } -+ -+ //Find out if this is an event we are interested in. Make sure we -+ //are visible, it isn't a button, expose or FocusIn event and also -+ //make sure it is headed for our window. -+ if (!_ShouldProcess(pEvent)) -+ { -+ return FALSE; -+ } -+ -+ -+ if(m_pUser && GetWindow() && GetWindow()->window) -+ { -+ //Do not send an update event to a hidden site. -+ if( pEvent->event == Expose || -+ pEvent->event == FocusIn || -+ pEvent->event == HX_SURFACE_UPDATE ) -+ { -+ if( (m_ScrollVertButtonT || m_ScrollHorizButtonR) && IsSiteVisible() ) -+ { -+ _DrawArrows(); -+ } -+ _ForwardUpdateEvent(pEvent); -+ return TRUE; -+ } -+ else -+ { -+ // get original events info from pEvent -+ XEvent* pXEvent = (XEvent*) pEvent->param2; -+ XButtonEvent* buttonEvent = (XButtonEvent*) pXEvent; -+ -+ -+ //XXXgfw all this code sucks! It really need to be written -+ //for just native events or RMA events. With the change to a -+ //common site it is all screwed up. I am leaving it for now -+ //so we can get on with transparancy but get back to it! -+ -+ //If the user clicks MB1 on a scroll button, handle it here and -+ //don't pass it up or let the user handle the event. -+ //Hit detection here. -+ -+ //////////////////////////////////////////////////////// -+ // BEGIN SCROLLING GARBAGE -+ //////////////////////////////////////////////////////// -+ if( -+ ((pEvent->event==ButtonPress || pEvent->event==ButtonRelease) && -+ buttonEvent->button==Button1) && -+ (m_ScrollHorizButtonL || m_ScrollVertButtonB ) -+ ) -+ { -+ int buttonX=0; -+ int buttonY=0; -+ -+ if( pEvent->event==ButtonRelease ) -+ { -+ if( m_bScrollingInProgress ) -+ { -+ m_bScrollingInProgress = FALSE; -+ m_nScrollDir = 0; -+ return TRUE ; -+ } -+ } -+ else -+ { -+ buttonX = buttonEvent->x; -+ buttonY = buttonEvent->y; -+ -+ HXBOOL bPointInSite = FALSE; -+ if( m_Region ) -+ bPointInSite = HXPointInRegion(m_Region, buttonX, buttonY); -+ -+ if( bPointInSite ) -+ { -+ if( m_ScrollHorizButtonL ) -+ { -+ if( _InButton( m_ptScrollHorizPosL, buttonX, buttonY )) -+ { -+ m_bScrollingInProgress = TRUE; -+ m_nScrollDir = 1; -+ } -+ if( _InButton( m_ptScrollHorizPosR, buttonX, buttonY )) -+ { -+ m_bScrollingInProgress = TRUE; -+ m_nScrollDir = 2; -+ } -+ } -+ if( m_ScrollVertButtonT ) -+ { -+ if( _InButton( m_ptScrollVertPosT, buttonX, buttonY )) -+ { -+ m_bScrollingInProgress = TRUE; -+ m_nScrollDir = 3; -+ } -+ if( _InButton( m_ptScrollVertPosB, buttonX, buttonY )) -+ { -+ m_bScrollingInProgress = TRUE; -+ m_nScrollDir = 4; -+ } -+ } -+ } -+ } -+ -+ if( (m_ScrollHorizButtonL||m_ScrollVertButtonT) && m_bScrollingInProgress) -+ { -+ int xx=0; -+ int yy=0; -+ HXxWindow* pParentWindow = GetParentSite()->GetWindow(); -+ //Make it scroll 10% of the parent window each click. -+ HXxSize sizeTmp; -+ GetParentSite()->GetSize(sizeTmp); -+ -+ //Set it to a percentage of the slider range. -+ int incX = sizeTmp.cx/10; -+ int incY = sizeTmp.cy/10; -+ -+ HX_ASSERT( pParentWindow ); -+ -+ xx = m_XSliderPos; -+ yy = m_YSliderPos; -+ -+ if( m_nScrollDir == 1 ) -+ xx-=incX; -+ if( m_nScrollDir == 2 ) -+ xx+=incX; -+ if( m_nScrollDir == 3 ) -+ yy-=incY; -+ if( m_nScrollDir == 4 ) -+ yy+=incY; -+ -+ if( xx > m_size.cx-sizeTmp.cx ) -+ xx = m_size.cx-sizeTmp.cx; -+ if( yy > m_size.cy-sizeTmp.cy) -+ yy = m_size.cy-sizeTmp.cy; -+ -+ if( xx < 0 ) -+ xx = 0; -+ if( yy < 0 ) -+ yy = 0; -+ -+ m_XSliderPos = xx; -+ m_YSliderPos = yy; -+ -+ HXxRect rect; -+ DamageRect(rect); -+ -+ InternalForceRedraw(); -+ } -+ //Only throw away the event if it had something to do with -+ //scolling. -+ if( m_bScrollingInProgress ) -+ { -+ m_bScrollingInProgress = FALSE; -+ m_nScrollDir = 0; -+ return TRUE; -+ } -+ } -+ //////////////////////////////////////////////////////// -+ // END SCROLLING GARBAGE -+ //////////////////////////////////////////////////////// -+ point.x = -1; -+ point.y = -1; -+ -+ if( pEvent->event == MotionNotify) -+ { -+ point.x = ((XMotionEvent*)pXEvent)->x; -+ point.y = ((XMotionEvent*)pXEvent)->y; -+ } -+ else if( pEvent->event == ButtonPress ) -+ { -+ point.x = ((XMotionEvent*)pXEvent)->x; -+ point.y = ((XMotionEvent*)pXEvent)->y; -+ } -+ -+ // -+ //Give the user a chance at the native event. -+ // -+ if( m_RegionWithoutChildren && HXPointInRegion(m_RegionWithoutChildren, point.x, point.y )) -+ { -+ if( m_Region && HXPointInRegion(m_Region, point.x, point.y) ) -+ { -+ if (m_pUser) -+ m_pUser->HandleEvent(pEvent); -+ } -+ else -+ { -+ INT32 handledCount = 0; -+ INT32 mapCount = 0; -+ -+ //try send this to all of our children -+ _unixsitecpp1: -+ mapCount = m_ChildrenMap.GetCount(); -+ CHXMapPtrToPtr::Iterator i; -+ for(i=m_ChildrenMap.Begin() ; i!=m_ChildrenMap.End() ; ++i) -+ { -+ CHXBaseSite* pSite = (CHXBaseSite*) *i; -+ pSite->_HandleOSEvents(pEvent); -+ if (pEvent->handled) -+ { -+ break; -+ } -+ handledCount+=pEvent->handled; -+ pEvent->handled=0; -+ -+ if (m_ChildrenMap.GetCount() != mapCount) -+ { -+ goto _unixsitecpp1; -+ } -+ } -+ if (handledCount) -+ { -+ pEvent->handled = 1; -+ } -+ HX_ASSERT(handledCount<2); -+ } -+ } -+ pEvent->handled=FALSE; -+ } -+ } -+ -+ return FALSE; -+} -+ -+void CHXExSite::_GenerateOSEvent(HXxEvent* pEvent, HXxEvent* pEvent2) -+{ -+ //XXXgfw Not needed on UNIX I guess??? -+} -+ -+void CHXExSite::_GenerateSetCursorEvent() -+{ -+#ifdef _DEBUG -+ fprintf( stderr, "CHXExSite::_GenerateSetCursorEvent\n" ); -+#endif -+ //XXXgfw do we need this?? -+} -+ -+void CHXExSite::_TryCreateXSlider() -+{ -+#if 0 -+ if( !m_ScrollHorizButtonL && IsSiteVisible() ) -+ _CreateHorizScrollBar(); -+#endif -+} -+ -+void CHXExSite::_SetXSliderValues(INT32 range, INT32 pageSize) -+{ -+ //XXXgfw this is a do nothing as long as we only have -+ //scroll buttons on unix and not real scroll bars. -+} -+ -+void CHXExSite::_TryCreateYSlider() -+{ -+#if 0 -+ if( !m_ScrollVertButtonT && IsSiteVisible() ) -+ _CreateVertScrollBar(); -+#endif -+} -+ -+void CHXExSite::_SetYSliderValues(INT32 range, INT32 pageSize) -+{ -+ //XXXgfw this is a do nothing as long as we only have -+ //scroll buttons on unix and not real scroll bars. -+} -+ -+void CHXExSite::_GetSystemSizeOfSliders(INT32* pWidth, INT32* pHeight) -+{ -+#if 0 -+ *pWidth = *pHeight = SCROLL_BAR_WIDTH; -+#endif -+} -+ -+HXBOOL CHXExSite::_IsWindowVisible() -+{ -+#if 0 -+ HX_RESULT retVal = FALSE; -+ //XXXgfw do this for now... -+ retVal = IsSiteVisible(); -+ return retVal; -+#else -+ return FALSE; -+#endif -+ -+} -+ -+void CHXExSite::_ShowXSlider(HXBOOL bShow) -+{ -+#if 0 -+ if( GetWindow() ) -+ { -+ if( bShow ) -+ _MapHorzScroll(); -+ else -+ _UnmapHorzScroll(); -+ } -+#endif -+} -+ -+void CHXExSite::_MoveXSlider( INT32 left, -+ INT32 top, -+ INT32 right, -+ INT32 bottom, -+ HXBOOL bRedraw ) -+{ -+ //Do nothing right now.... -+} -+ -+void CHXExSite::_ShowYSlider(HXBOOL bShow) -+{ -+#if 0 -+ if( GetWindow() ) -+ { -+ if( bShow ) -+ _MapVertScroll(); -+ else -+ _UnmapVertScroll(); -+ } -+#endif -+} -+ -+void CHXExSite::_MoveYSlider( INT32 left, -+ INT32 top, -+ INT32 right, -+ INT32 bottom, -+ HXBOOL bRedraw) -+{ -+ //do nothing right now... -+} -+ -+HXBOOL CHXExSite::_DoesXSliderExist() -+{ -+ return FALSE; -+// return (m_ScrollHorizButtonL!=0); -+} -+ -+void* CHXExSite::_GetContainingWindow() -+{ -+ //XXXgfw Do we need this??? -+ return NULL; -+} -+ -+void CHXExSite::_GetCursorPos(HXxPoint* pPoint) -+{ -+ //Return the cursor pos in screen coords. -+ Window rootWin; -+ Window childWin; -+ int rootX=0; -+ int rootY=0; -+ int childX=0; -+ int childY=0; -+ unsigned int mask=0; -+ Bool ret=FALSE; -+ -+ HX_ASSERT(GetWindow()); -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ ret = XQueryPointer(pDis, -+ (Window)GetWindow()->window, -+ &rootWin, -+ &childWin, -+ &rootX, &rootY, -+ &childX, &childY, -+ &mask); -+ XUnlockDisplay(pDis); -+ -+ if(ret) -+ { -+ pPoint->x = rootX; -+ pPoint->y = rootY; -+ } -+} -+void* CHXExSite::_GetWindowWithCursor() -+{ -+#if 0 -+ //Return the cursor pos in screen coords. -+ void* pRet = NULL; -+ int rootX = 0; -+ int rootY = 0; -+ int childX= 0; -+ int childY= 0; -+ unsigned int mask = 0; -+ Bool ret = FALSE; -+ Window rootWin; -+ Window childWin; -+ -+ HX_ASSERT(GetWindow()); -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ ret = XQueryPointer(pDis, -+ (Window)GetWindow()->window, -+ &rootWin, -+ &childWin, -+ &rootX, &rootY, -+ &childX, &childY, -+ &mask); -+ XUnlockDisplay(pDis); -+ -+ if(ret) -+ { -+ pRet = (void*)childWin; -+ } -+ return pRet; -+#else -+ HX_ASSERT( "Not implemented..." == NULL ); -+ return NULL; -+#endif -+} -+ -+void CHXExSite::_MapPointToOSWindow(HXxPoint* pPt, void** pWindowHandle) -+{ -+ //XXXgfw we could query the window tree and traverse down but that -+ //is really slow and this isn't used right now. -+ HX_ASSERT( "Not implemented..." == NULL ); -+} -+ -+void CHXExSite::_ReInitPrimarySurface() -+{ -+ //Nothing to do in unix here right? -+} -+ -+HXBOOL CHXExSite::_MoveWindow( void* win, -+ INT32 X, -+ INT32 Y, -+ INT32 nWidth, -+ INT32 nHeight, -+ HXBOOL bRepaint) -+{ -+#if 0 -+ //XXXgfw we still have to do bRepaint.... -+ HX_ASSERT( m_pWindow && m_pWindow->window && m_pWindow->display); -+ _DestroyScrollButtons(); -+ XLockDisplay((Display*) m_pWindow->display); -+ XMoveResizeWindow( (Display*)m_pWindow->display, -+ (Window)m_pWindow->window, -+ X, -+ Y, -+ nWidth, -+ nHeight -+ ); -+ XUnlockDisplay((Display*) m_pWindow->display); -+#else -+ HX_ASSERT( "Not implemented..." == NULL ); -+#endif -+ return TRUE; -+} -+ -+HXBOOL CHXExSite::_UpdateWindow(void* hWnd) -+{ -+ //We need to generate a repaint here of the window.... -+ return TRUE; -+} -+ -+HXBOOL CHXExSite::_ShowWindow(void* hWnd, INT32 nCmdShow) -+{ -+#if 0 -+ HX_ASSERT( nCmdShow==HX_SHOW_WINDOW || nCmdShow==HX_HIDE_WINDOW); -+ if( !m_pWindow || !m_pWindow->window || !m_pWindow->display ) -+ return FALSE; -+ -+ if( nCmdShow == HX_SHOW_WINDOW ) -+ { -+ _MapScrollButtons(); -+ XLockDisplay((Display*) m_pWindow->display); -+ XMapWindow( (Display*)m_pWindow->display, (Window)m_pWindow->window ); -+ XUnlockDisplay((Display*) m_pWindow->display); -+ } -+ else -+ { -+ _UnmapScrollButtons(); -+ XLockDisplay((Display*) m_pWindow->display); -+ XUnmapWindow( (Display*)m_pWindow->display, (Window)m_pWindow->window ); -+ XUnlockDisplay((Display*) m_pWindow->display); -+ } -+#endif -+ return TRUE; -+} -+ -+HXBOOL CHXExSite::_SetWindowPos(void* hWnd, -+ void* hWndInsertAfter, -+ INT32 X, -+ INT32 Y, -+ INT32 cx, -+ INT32 cy, -+ INT32 uFlags) -+{ -+#ifdef _DEBUG -+ fprintf( stderr, "Now what on earth is this suppose to do??\n" ); -+#endif -+ return TRUE; -+} -+ -+HXBOOL CHXExSite::_SetWindowRgn(void* hWnd, HXREGION* hRgn, HXBOOL bRedraw) -+{ -+#if 0 -+ HX_ASSERT( GetWindow() ); -+ Display* pDis = (Display*)GetWindow()->display; -+ XLockDisplay(pDis); -+ XSetRegion( pDis, -+ (GC)m_pVideoSurface->_GetDC(NULL), -+ (Region)hRgn -+ ); -+ XUnlockDisplay(pDis); -+ if( bRedraw ) -+ { -+ HX_ASSERT("Redraw asked for here"==NULL ); -+ } -+#endif -+ return TRUE; -+} -+ -+void CHXExSite::_SetFocus(void* pWindow) -+{ -+#if 0 -+ XWindowAttributes attr; -+ HXxWindow* pWin = GetWindow(); -+ -+ HX_ASSERT(pWin); -+ HX_ASSERT(pWindow); -+ -+ XLockDisplay((Display*) pWin->display); -+ XGetWindowAttributes((Display*)pWin->display, (Window)pWindow, &attr); -+ XUnlockDisplay((Display*) pWin->display); -+ if( attr.map_state == IsViewable ) -+ { -+ XLockDisplay((Display*) pWin->display); -+ XSetInputFocus( (Display*)pWin->display, -+ (Window)pWindow, -+ RevertToParent, -+ CurrentTime -+ ); -+ XUnlockDisplay((Display*) pWin->display); -+ } -+ -+ return; -+#endif -+} -+ -+HX_RESULT CHXExSite::_EnterFullScreen(HXxWindow* pWindow) -+{ -+#if 0 -+ HXxWindow* pWin = GetWindow(); -+ HX_ASSERT( pWin && pWin->display && pWin->display); -+ HX_ASSERT( this == m_pTopLevelSite ); -+ -+ if( 0 != m_winFullScreenWindow || IsFullScreen() ) -+ { -+ //We are already in full screen -+ return HXR_FAIL; -+ } -+ -+ //Create a override redirect window to fill the root. -+ XSizeHints size_hints; -+ XLockDisplay((Display*) pWin->display); -+ Screen* pScreen = XDefaultScreenOfDisplay((Display*)pWin->display); -+ XUnlockDisplay((Display*) pWin->display); -+ UINT16 uHorzRes = WidthOfScreen(pScreen); -+ UINT16 uVertRes = HeightOfScreen(pScreen); -+ int attrMask = 0; -+ XSetWindowAttributes attr; -+ -+ memset(&attr, 0, sizeof(XSetWindowAttributes)); -+ attrMask = CWOverrideRedirect | CWBorderPixel | -+ CWBackPixel | CWCursor; -+ attr.cursor = None; -+ attr.override_redirect = True; -+ XLockDisplay((Display*)pWin->display); -+ attr.background_pixel = BlackPixel((Display*)pWin->display, -+ DefaultScreen((Display*)pWin->display)); -+ attr.border_pixel = BlackPixel((Display*)pWin->display, -+ DefaultScreen((Display*)pWin->display)); -+ XUnlockDisplay((Display*)pWin->display); -+ -+ size_hints.flags = PPosition | PSize; -+ size_hints.x = 0; -+ size_hints.y = 0; -+ size_hints.width = uHorzRes; -+ size_hints.height = uVertRes; -+ -+ //Create it. -+ XLockDisplay((Display*) pWin->display); -+ Window window = XCreateWindow((Display*)pWin->display, -+ DefaultRootWindow((Display*)pWin->display), -+ size_hints.x, -+ size_hints.y, -+ size_hints.width, -+ size_hints.height, -+ 0, -+ CopyFromParent, -+ InputOutput, -+ CopyFromParent, -+ attrMask, -+ &attr); -+ -+ //Tell the WM about this window. -+ XSetStandardProperties( (Display*)pWin->display, -+ window, -+ "unixfullscreen", -+ "unixfullscreen", -+ None, -+ NULL, 0, -+ &size_hints -+ ); -+ -+ int result = XSelectInput( zm_display, window, -+ ButtonPressMask | ButtonReleaseMask | KeyPressMask | -+ KeyReleaseMask | EnterWindowMask | LeaveWindowMask | -+ PointerMotionMask | ButtonMotionMask | KeymapStateMask | -+ ExposureMask | StructureNotifyMask | FocusChangeMask -+ ); -+ -+ //Map the window. -+ XMapWindow((Display*)pWin->display, window); -+ XUnlockDisplay((Display*) pWin->display); -+ -+ -+ //Get ready to resize the presentation.... -+ if(m_pTopLevelSite) -+ { -+ m_pTopLevelSite->m_bDisableForceRedraw = TRUE; -+ } -+ -+ //Maintain aspect ratio and Scale it. -+ float fXScale = (float)uHorzRes/(float)(m_size.cx); -+ float fYScale = (float)uVertRes/(float)(m_size.cy); -+ float fScale = (fXScaledisplay); -+ XQueryTree( (Display*)pWin->display, -+ (Window)pWin->window, -+ &winRootParent, -+ &winParent, -+ &pwinChildren, -+ &nNumChildren -+ ); -+ //Free unused children list. -+ XFree( pwinChildren ); -+ XUnlockDisplay((Display*) pWin->display); -+ -+ HX_ASSERT( winParent ); -+ m_winOldParent = winParent; -+ XLockDisplay((Display*) pWin->display); -+ XReparentWindow( (Display*)pWin->display, -+ (Window)pWin->window, -+ window, -+ m_ptFullScreenOffset.x, -+ m_ptFullScreenOffset.y -+ ); -+ -+ //Flush event queue. -+ XSync((Display*)pWin->display, False); -+ XUnlockDisplay((Display*) pWin->display); -+ -+ //Save it -+ m_winFullScreenWindow = window; -+ m_bInFullScreen = TRUE; -+ -+ //Now resize it... -+ SetSize(m_size); -+ //Redraw the presentation.... -+ m_pTopLevelSite->m_bDisableForceRedraw = FALSE; -+ _ForceRedrawAll(); -+ -+ //Give it focus.... -+ _SetFocus( (void*)pWin->window ); -+ -+ // now eat all the focusouts that came as a result of this reparent... -+ XEvent event; -+ XLockDisplay((Display*) pWin->display); -+ HXBOOL status = XCheckTypedWindowEvent((Display*)pWin->display, (Window)pWin->window, -+ FocusOut, &event); -+ XUnlockDisplay((Display*) pWin->display); -+ while (m_bWindowCreatedByCreate && status) -+ { -+ // just discarding these -+ XLockDisplay((Display*) pWin->display); -+ status = XCheckTypedWindowEvent((Display*)pWin->display, (Window)pWin->window, -+ FocusOut, &event); -+ XUnlockDisplay((Display*) pWin->display); -+ } -+ -+ //Update the status text... -+ if(m_pStatusText) -+ { -+ m_pStatusText->ParentChangedSize(); -+ m_pStatusText->Show(); -+ } -+ -+#else -+ HX_ASSERT( "Not implemented..." == NULL ); -+#endif -+ return HXR_OK; -+} -+ -+HX_RESULT CHXExSite::_ExitFullScreen() -+{ -+#if 0 -+ HX_ASSERT( this == m_pTopLevelSite ); -+ -+ HXxWindow* pWin = GetWindow(); -+ -+ HX_ASSERT( pWin && pWin->display && pWin->window ); -+ -+ //Give the window back to the TLC. -+ -+ XLockDisplay((Display*) pWin->display); -+ XReparentWindow( (Display*)pWin->display, -+ (Window)pWin->window, -+ m_winOldParent, -+ m_position.x, m_position.y -+ ); -+ XUnlockDisplay((Display*) pWin->display); -+ -+ //Just kill our window and take us out of full screen.... -+ if( 0 != m_winFullScreenWindow ) -+ { -+ XLockDisplay((Display*) pWin->display); -+ XDestroyWindow( (Display*)pWin->display, m_winFullScreenWindow ); -+ XUnlockDisplay((Display*) pWin->display); -+ m_winFullScreenWindow = 0; -+ } -+ -+ m_bDisableForceRedraw = TRUE; -+ -+ m_bInFullScreen = FALSE; -+ HXxSize size = {0,0}; -+ memcpy( &size, &m_PreFullScreenSize, sizeof(HXxSize) ); /* Flawfinder: ignore */ -+ m_PreFullScreenSize.cx = m_PreFullScreenSize.cy = 0; -+ -+ SetSize(size); -+ _SetFocus( (void*)pWin->window ); -+ m_ptFullScreenOffset.x = 0; -+ m_ptFullScreenOffset.y = 0; -+ -+ -+ m_bDisableForceRedraw = FALSE; -+ _ForceRedrawAll(); -+ -+ if(m_pStatusText) -+ { -+ m_pStatusText->ParentChangedSize(); -+ m_pStatusText->Hide(); -+ } -+ -+ //move the site back to where it was. -+ if( m_pTopLevelSite ) -+ { -+ m_pTopLevelSite->_SetPosition(m_CreateWindowPos); -+ } -+ -+ return HXR_OK; -+#else -+ HX_ASSERT( "Not implemented..." == NULL ); -+#endif -+} -+ -+HX_RESULT CHXExSite::_EnterFullScreenNoNewWindow() -+{ -+#if 0 -+ HXxWindow* pWin = GetWindow(); -+ -+ HX_ASSERT( pWin && pWin->display && pWin->display); -+ HX_ASSERT( this == m_pTopLevelSite ); -+ -+ if(IsFullScreen() || !pWin) -+ { -+ //We are already in full screen -+ return HXR_FAIL; -+ } -+ -+ //Get the screen size. -+ XLockDisplay((Display*) pWin->display); -+ Screen* pScreen = XDefaultScreenOfDisplay((Display*)pWin->display); -+ UINT16 uHorzRes = WidthOfScreen(pScreen); -+ UINT16 uVertRes = HeightOfScreen(pScreen); -+ XUnlockDisplay((Display*)pWin->display); -+ -+ //Get ready to resize the presentation.... -+ if( m_pTopLevelSite ) -+ { -+ m_pTopLevelSite->m_bDisableForceRedraw = TRUE; -+ } -+ -+ //Maintain aspect ratio and Scale it. -+ float fXScale = (float)uHorzRes/(float)(m_size.cx); -+ float fYScale = (float)uVertRes/(float)(m_size.cy); -+ float fScale = (fXScaledisplay); -+ XQueryTree( (Display*)pWin->display, -+ (Window)pWin->window, -+ &winRootParent, -+ &winParent, -+ &pwinChildren, -+ &nNumChildren -+ ); -+ -+ //Free unused children list. -+ XFree( pwinChildren ); -+ XUnlockDisplay((Display*) pWin->display); -+ -+ HX_ASSERT( winParent ); -+ m_winOldParent = winParent; -+ -+ m_bInFullScreen = TRUE; -+ -+ //Now resize it... -+ SetSize(m_size); -+ -+ //Redraw the presentation.... -+ if( m_pTopLevelSite ) -+ { -+ m_pTopLevelSite->m_bDisableForceRedraw = FALSE; -+ } -+ -+ _ForceRedrawAll(); -+ -+ //Give it focus.... -+ _SetFocus( (void*)pWin->window ); -+ -+ // now eat all the focusouts that came as a result of this reparent... -+ XEvent event; -+ XLockDisplay((Display*) pWin->display); -+ HXBOOL status = XCheckTypedWindowEvent((Display*)pWin->display, (Window)pWin->window, -+ FocusOut, &event); -+ XUnlockDisplay((Display*) pWin->display); -+ while (m_bWindowCreatedByCreate && status) -+ { -+ // just discarding these -+ XLockDisplay((Display*) pWin->display); -+ status = XCheckTypedWindowEvent((Display*)pWin->display, (Window)pWin->window, -+ FocusOut, &event); -+ XUnlockDisplay((Display*) pWin->display); -+ } -+ -+ //Update the status text... -+ if(m_pStatusText) -+ { -+ m_pStatusText->ParentChangedSize(); -+ m_pStatusText->Show(); -+ } -+#if defined(HELIX_CONFIG_MOBLIN) -+ if(!m_pAttachWindowCallback) -+ { -+ m_pAttachWindowCallback = new CHXGenericCallback((void*)this, (fGenericCBFunc)AttachWindowCallback); -+ m_pAttachWindowCallback->AddRef(); -+ } -+ if(!m_pForceRedrawCallback) -+ { -+ m_pForceRedrawCallback = new CHXGenericCallback((void*)this, (fGenericCBFunc)ForceRedrawCallback); -+ m_pForceRedrawCallback->AddRef(); -+ } -+ -+ // schedule callback for Attaching Window -+ if(m_pAttachWindowCallback) -+ { -+ m_pAttachWindowCallback->CallbackScheduled(m_pScheduler->RelativeEnter(m_pAttachWindowCallback, 100)); -+ } -+ if(m_pForceRedrawCallback) -+ { -+ m_pForceRedrawCallback->CallbackScheduled(m_pScheduler->RelativeEnter(m_pForceRedrawCallback, 500)); -+ } -+ -+#endif -+#else -+ HX_ASSERT( "Not implemented..." == NULL ); -+#endif -+ return HXR_OK; -+} -+ -+#if defined(HELIX_CONFIG_MOBLIN) -+void CHXExSite::AttachWindowCallback(void* pParam) -+{ -+ CHXExSite* pObj = (CHXExSite*)pParam; -+ if (pObj) -+ { -+ pObj->_AttachWindow(); -+ } -+} -+ -+ -+void CHXExSite::ForceRedrawCallback(void* pParam) -+{ -+ CHXExSite* pObj = (CHXExSite*)pParam; -+ -+ if (pObj) -+ { -+ UINT32 ulNumOfChildren = pObj->GetNumberOfChildSites(); -+ if(pObj->m_pTopLevelSite) -+ { -+ pObj->m_pTopLevelSite->m_bDisableForceRedraw = FALSE; -+ } -+ for ( UINT32 i = 0; i < ulNumOfChildren; ++i ) -+ { -+ SPIHXSite spChildSite; -+ if ( SUCCEEDED( pObj->GetNthChildSite( i, *spChildSite.AsInOutParam() ) ) -+ && spChildSite.IsValid() ) -+ { -+ spChildSite->DamageRegion( NULL ); -+ spChildSite->ForceRedraw(); -+ } -+ -+ } -+ } -+} -+ -+void CHXExSite::RemovePendingCallback(CHXGenericCallback* pCB) -+{ -+ if (pCB && -+ pCB->GetPendingCallback() && -+ m_pScheduler) -+ { -+ m_pScheduler->Remove(pCB->GetPendingCallback()); -+ pCB->CallbackCanceled(); -+ } -+} -+#endif -+ -+HX_RESULT CHXExSite::_EnterFullScreenExt(HXxWindow* pWindow, IHXValues* pValues) -+{ -+#if 0 -+ m_bReparent = FALSE; -+ HX_RESULT res = HXR_OK; -+ UINT32 ulReparent = 0; -+ -+ if (pValues) -+ { -+ pValues->GetPropertyULONG32("Reparent", ulReparent); -+ } -+ -+ m_bReparent = (HXBOOL)ulReparent; -+ -+ if (m_bReparent) -+ { -+ res = _EnterFullScreen(pWindow); -+ } -+ else -+ { -+ res = _EnterFullScreenNoNewWindow(); -+ } -+ -+ CHXBaseSite::FullScreenEntered(res); -+ return res; -+#else -+ HX_ASSERT( "Not implemented..." == NULL ); -+ return HXR_OK; /* this makes compiler happy */ -+#endif -+} -+ -+HX_RESULT CHXExSite::_ExitFullScreenExt() -+{ -+#if 0 -+ HX_RESULT res = _ExitFullScreen(); -+#if defined(HELIX_CONFIG_MOBLIN) -+ // schedule callback for attaching window -+ if(m_pAttachWindowCallback) -+ { -+ m_pAttachWindowCallback->CallbackScheduled(m_pScheduler->RelativeEnter(m_pAttachWindowCallback, 100)); -+ } -+ // schedule callback for Force Redraw the window -+ if(m_pForceRedrawCallback) -+ { -+ m_pForceRedrawCallback->CallbackScheduled(m_pScheduler->RelativeEnter(m_pForceRedrawCallback, 500)); -+ } -+#endif -+ CHXBaseSite::FullScreenExited(res); -+ -+ return res; -+#else -+ HX_ASSERT( "Not implemented..." == NULL ); -+ return HXR_OK; /* this makes compiler happy */ -+#endif -+ -+} -+ -+HX_RESULT CHXExSite::_EventOccurred(HXxEvent* pEvent) -+{ -+ return HXR_OK; -+} -+ -+HX_RESULT CHXExSite::_TestFullScreen( void* hTestBitmap, -+ const char* pszStatusText ) -+{ -+#ifdef _DEBUG -+ fprintf( stderr, "Going to test full screen....\n" ); -+#endif -+ return HXR_OK; -+} -+ -+void CHXExSite::ProcessEvent(HXxEvent* pEvent) -+{ -+ if(pEvent) -+ { -+ //Expose event compression. Combine all outstanding expose events -+ //into one big region. -+ if(Expose==pEvent->event) -+ { -+ _CollapseExposeEvents((XEvent*)pEvent->param2); -+ } -+ } -+ -+ //Send the event to each registered UnixSite. -+ void* pSite = NULL; -+ void* pWindow = NULL; -+ POSITION pos = z_mapSiteToWindow.GetStartPosition(); -+ while( pos ) -+ { -+ z_mapSiteToWindow.GetNextAssoc(pos, pSite, pWindow); -+ CHXExSite* pSiteWindowed = (CHXExSite*)pSite; -+ CHXExSite* pTopLevel = NULL; -+ HX_ASSERT(pSiteWindowed); -+ pSiteWindowed->AddRef(); -+ pTopLevel = (CHXExSite*)pSiteWindowed->GetTopLevelSite(); -+ -+ if(pEvent) -+ { -+ //Call back into the basesite's event loop. -+ pTopLevel->EventOccurred(pEvent); -+ } -+ -+ //XXXgfw As a workaround for the overlay not moving while the -+ //player is paused, we will check it here and update it if needed. -+ -+ //XXXRGG We might be able to use X's ConfigureNotify messages instead -+ //of doing a refresh every 50 ms. -+ pTopLevel->_UpdateOverlayIfNeeded(); -+ -+ pSiteWindowed->Release(); -+ } -+} -+ -+void CHXExSite::_CollapseExposeEvents(XEvent* xevent) -+{ -+ Display* display = xevent->xany.display; -+ Window window = xevent->xany.window; -+ XExposeEvent* expose_event = (XExposeEvent*)xevent; -+ XEvent new_event; -+ XExposeEvent* new_expose_event = (XExposeEvent*)&new_event; -+ ushort x1; -+ ushort y1; -+ ushort x2; -+ ushort y2; -+ ushort x3; -+ ushort y3; -+ -+ x1 = expose_event->x; -+ y1 = expose_event->y; -+ x2 = x1 + expose_event->width; -+ y2 = y1 + expose_event->height; -+ XLockDisplay(display); -+ HXBOOL status = XCheckWindowEvent(display, window, ExposureMask, &new_event); -+ XUnlockDisplay(display); -+ while( status) -+ { -+ if (new_expose_event->x < x1) -+ x1 = new_expose_event->x; -+ -+ if (new_expose_event->y < y1) -+ y1 = new_expose_event->y; -+ -+ x3 = new_expose_event->x + new_expose_event->width; -+ if (x3 > x2) -+ x2 = x3; -+ -+ y3 = new_expose_event->y + new_expose_event->height; -+ if (y3 > y2) -+ y2 = y3; -+ XLockDisplay(display); -+ status = XCheckWindowEvent(display, window, ExposureMask, &new_event); -+ XUnlockDisplay(display); -+ -+ } -+ -+ expose_event->x = x1; -+ expose_event->y = y1; -+ expose_event->width = x2 - x1; -+ expose_event->height = y2 - y1; -+ expose_event->count = new_expose_event->count; -+} -+ -+ -+HXBOOL CHXExSite::_ShouldProcess(HXxEvent* pEvent) -+{ -+ HXBOOL bShouldProcessThisEvent = TRUE; -+ -+ -+ if( !IsSiteVisible() ) -+ { -+ switch (pEvent->event) -+ { -+ case ButtonPress: -+ case ButtonRelease: -+ case Expose: -+ case FocusIn: -+ bShouldProcessThisEvent = FALSE; -+ break; -+ default: -+ break; -+ } -+ } -+ -+ if(m_pWindow && m_pWindow->window!=pEvent->window) -+ { -+ bShouldProcessThisEvent = FALSE; -+ } -+ return bShouldProcessThisEvent; -+} -+ -+ -+/////////////////////////////////////////////////////// -+// -+// UnixEventHandler methods... -+// -+CHXExSite::UnixEventHandler::UnixEventHandler(CHXExSite* pParent) -+ : m_pParent(pParent), -+ m_lRefCount(0), -+ m_cbHandle(0) -+{ -+ HX_ASSERT(m_pParent); -+ HX_ASSERT(m_pParent->m_pScheduler); -+ m_cbHandle = m_pParent->m_pScheduler->RelativeEnter((IHXCallback*)this, 30); -+} -+ -+CHXExSite::UnixEventHandler::~UnixEventHandler() -+{ -+ CancelCallback(); -+} -+ -+void -+CHXExSite::UnixEventHandler::CancelCallback() -+{ -+ if( m_cbHandle && m_pParent && m_pParent->m_pScheduler ) -+ { -+ UINT32 tempHandle = m_cbHandle; -+ m_cbHandle = 0; -+ m_pParent->m_pScheduler->Remove(tempHandle); -+ } -+} -+ -+HX_RESULT CHXExSite::UnixEventHandler::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IHXCallback)) -+ { -+ AddRef(); -+ *ppvObj = (IHXCallback*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+ULONG32 CHXExSite::UnixEventHandler::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+ULONG32 CHXExSite::UnixEventHandler::Release() -+{ -+ HX_ASSERT(m_lRefCount>0); -+ if( InterlockedDecrement(&m_lRefCount)>0 ) -+ { -+ return m_lRefCount; -+ } -+ delete this; -+ return 0; -+} -+ -+//IHXCallback methods -+HX_RESULT CHXExSite::UnixEventHandler::Func() -+{ -+ XEvent xevent; -+ static HXxEvent pnevent; -+ -+ m_cbHandle = 0; -+ XLockDisplay(m_pParent->zm_display); -+ int status = XPending(m_pParent->zm_display); -+ XUnlockDisplay(m_pParent->zm_display); -+ while(status) -+ { -+ XLockDisplay(m_pParent->zm_display); -+ XNextEvent(m_pParent->zm_display, &xevent); -+ XUnlockDisplay(m_pParent->zm_display); -+ -+ // package native event in HXxEvent and send to dispatcher -+ pnevent.event = xevent.type; -+ pnevent.window = (void *)xevent.xany.window; -+ pnevent.param1 = xevent.xany.display; -+ pnevent.param2 = &xevent; -+ -+ m_pParent->ProcessEvent(&pnevent); -+ XLockDisplay(m_pParent->zm_display); -+ status = XPending(m_pParent->zm_display); -+ XUnlockDisplay(m_pParent->zm_display); -+ } -+ -+ if (m_pParent && m_pParent->m_pScheduler) -+ { -+ m_cbHandle = m_pParent->m_pScheduler->RelativeEnter((IHXCallback*)this, 30); -+ } -+ return HXR_OK; -+} -+ -+void CHXExSite::_UpdateOverlayIfNeeded() -+{ -+ if( m_pVideoSurface ) -+ { -+ if( m_pVideoSurface->m_nBltMode == HX_OVERLAY_BLT ) -+ { -+ ULONG32 ulNow = HX_GET_BETTERTICKCOUNT(); -+ CUnixSurf* pSurf = (CUnixSurf*)m_pVideoSurface; -+ if( ulNow- pSurf->m_ulLastOverlayUpdateTime > 50 ) -+ { -+ SiteMoving(0,0); -+ } -+ } -+ } -+ LISTPOSITION pos = m_ChildrenInZOrder.GetHeadPosition(); -+ while(pos) -+ { -+ CHXExSite* pSite = (CHXExSite*)m_ChildrenInZOrder.GetNext(pos); -+ pSite->_UpdateOverlayIfNeeded(); -+ } -+} -+ -+ -+HXBOOL CHXExSite::_ShouldEnterForceRedraw() -+{ -+ if( !m_bDamaged || !m_pUser || !IsSiteVisible() ) -+ { -+ return FALSE; -+ } -+ -+ if(InterlockedIncrement(&m_lBltEntryCount)>1) -+ { -+ InterlockedDecrement(&m_lBltEntryCount); -+ return FALSE; -+ } -+ -+ return TRUE; -+} -+ -+void CHXExSite::_ExitForceRedraw() -+{ -+ InterlockedDecrement(&m_lBltEntryCount); -+} -+ -Index: helix-libs/clientapps/clutter/exsite.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exsite.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,272 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: unixsite.h,v 1.10.2.3 2008/06/05 14:24:30 lovish Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * Phil Dibowitz (jaymzh) -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _UNIXSITE_H -+#define _UNIXSITE_H -+ -+#if defined(USE_XWINDOWS) -+#include -+#include -+#include -+#include -+#include -+#include -+#endif -+ -+#include "basesite.h" -+#include "hxcbobj.h" -+#include "player.h" -+ -+class CHXExSite : public CHXBaseSite -+{ -+public: -+ -+ friend class CExSurf; -+ friend class CExRootSurf; -+ -+ CHXExSite( IUnknown* pContext, -+ IUnknown* pUnkOuter, -+ INT32 lInitialZorder, -+ on_new_frame_cb_t on_new_frame_cb = NULL, -+ void *context = NULL); -+ -+ static void ProcessEvent(HXxEvent* pEvent); -+ Window CreateXWindow( Window win ); -+ -+ void _ForwardUpdateEvent(HXxEvent* pEvent); -+ -+ //static member vars. -+ static Display* zm_display; -+ void _UpdateOverlayIfNeeded(); -+ HXBOOL m_bIgnoreFocusOutInFS; -+ -+ //We override this. -+ void CheckColorSettings(); -+ -+protected: -+ -+ virtual ~CHXExSite(); -+ -+ // -+ // CHXExSite only methods.... -+ // -+ HX_RESULT _OpenXDisplay(char* DiplayString); -+ static void _CollapseExposeEvents(XEvent* xevent); -+ HXBOOL _ShouldProcess(HXxEvent* pEvent); -+ void _DrawArrows(); -+ void _CreateHorizScrollBar(void); -+ void _CreateVertScrollBar(void); -+ HXBOOL _InButton(HXxPoint& pt, int x, int y ); -+ void _DestroyScrollButtons(); -+ void _MapScrollButtons(); -+ void _MapHorzScroll(); -+ void _MapVertScroll(); -+ void _UnmapHorzScroll(); -+ void _UnmapVertScroll(); -+ void _UnmapScrollButtons(); -+ void _BuildClipRegion(); -+ void _ReleaseClippingRegion(); -+ -+ // -+ // Seperate object for our callbacks to keep the events flowing. -+ // -+ class UnixEventHandler : public IHXCallback -+ { -+ public: -+ UnixEventHandler(CHXExSite* pParent); -+ -+ //IUnknown methods -+ virtual HX_RESULT QueryInterface(REFIID riid, void** ppvObj); -+ virtual ULONG32 AddRef(); -+ virtual ULONG32 Release(); -+ -+ //IHXCallback methods -+ virtual HX_RESULT Func(); -+ void CancelCallback(); -+ -+ private: -+ virtual ~UnixEventHandler(); -+ -+ UnixEventHandler(); -+ UnixEventHandler(const UnixEventHandler&); -+ UnixEventHandler& operator=(const UnixEventHandler& it ); -+ -+ CHXExSite* m_pParent; -+ LONG32 m_lRefCount; -+ CallbackHandle m_cbHandle; -+ -+ IUnknown* m_pUnkPlayer; -+ }; -+ -+ -+ // -+ // CHXBaseSite inherited methods -+ // -+ virtual void _NeedWindowedSite(); -+ virtual void _AttachWindow(); -+ virtual void _DetachWindow(); -+ virtual void* _Create(void* ParentWindow, UINT32 style); -+ virtual void _Destroy(HXxWindow* pWindow); -+ virtual void _SetSize(HXxSize size); -+ virtual void _SetPosition(HXxPoint position); -+ virtual void _DamageRect(HXxRect rect); -+ virtual void _DamageRegion(HXxRegion rect); -+ virtual HXBOOL _ShouldEnterForceRedraw(); -+ virtual void _ExitForceRedraw(); -+ virtual void _SendOSUpdateMessage(); -+ virtual void _ShowSite(HXBOOL bShow); -+ virtual HXBOOL _AtSystemTime(); -+ virtual void _GetDeviceCaps( void* hdc, -+ UINT16& uBitesPerPixel, -+ UINT16& uHorzRes, -+ UINT16& uVertRes ); -+ virtual void _GetWindowRect(HXxRect* destRect); -+ virtual void _DestroySliders(); -+ virtual HXBOOL _HandleOSEvents(HXxEvent* pEvent); -+ virtual HXBOOL _ConvertToHXEvent(HXxEvent* pEvent); -+ virtual void _GenerateOSEvent(HXxEvent* pEvent, HXxEvent* pEvent2); -+ virtual void _GenerateSetCursorEvent(); -+ virtual void _TryCreateXSlider(); -+ virtual void _SetXSliderValues(INT32 range, INT32 pageSize); -+ virtual void _TryCreateYSlider(); -+ virtual void _SetYSliderValues(INT32 range, INT32 pageSize); -+ virtual void _GetSystemSizeOfSliders(INT32* pWidth, INT32* pHeight); -+ virtual HXBOOL _IsWindowVisible(); -+ virtual void _ShowXSlider(HXBOOL bShow); -+ virtual void _MoveXSlider( INT32 left, -+ INT32 top, -+ INT32 right, -+ INT32 bottom, -+ HXBOOL bRedraw ); -+ virtual void _ShowYSlider(HXBOOL bShow); -+ virtual void _MoveYSlider( INT32 left, -+ INT32 top, -+ INT32 right, -+ INT32 bottom, -+ HXBOOL bRedraw); -+ virtual HXBOOL _DoesXSliderExist(); -+ virtual void* _GetContainingWindow(); -+ virtual void _GetCursorPos(HXxPoint* pPoint); -+ virtual void _MapPointToOSWindow(HXxPoint* pPt, void** pWindowHandle); -+ virtual void* _GetWindowWithCursor(); -+ virtual void _ReInitPrimarySurface(); -+ virtual HXBOOL _MoveWindow( void* , -+ INT32 X, -+ INT32 Y, -+ INT32 nWidth, -+ INT32 nHeight, -+ HXBOOL bRepaint); -+ virtual HXBOOL _UpdateWindow(void* hWnd); -+ virtual HXBOOL _ShowWindow(void* hWnd, INT32 nCmdShow); -+ virtual HXBOOL _SetWindowPos(void* hWnd, -+ void* hWndInsertAfter, -+ INT32 X, -+ INT32 Y, -+ INT32 cx, -+ INT32 cy, -+ INT32 uFlags); -+ virtual HXBOOL _SetWindowRgn(void* hWnd, HXREGION* hRgn, HXBOOL bRedraw); -+ virtual void _SetFocus(void* pWindow); -+ -+ virtual HX_RESULT _EnterFullScreen(HXxWindow* pWindow = NULL); -+ virtual HX_RESULT _EventOccurred(HXxEvent* pEvent); -+ virtual HX_RESULT _ExitFullScreen(); -+ virtual HX_RESULT _TestFullScreen( void* hTestBitmap, -+ const char* pszStatusText ); -+ virtual HX_RESULT _EnterFullScreenExt(HXxWindow* pWindow, IHXValues* pValues); -+ virtual HX_RESULT _ExitFullScreenExt(); -+#if defined(HELIX_CONFIG_MOBLIN) -+ static void AttachWindowCallback(void *pParam); -+ static void ForceRedrawCallback(void *pParam); -+ void RemovePendingCallback(CHXGenericCallback* pCB); -+ -+ CHXGenericCallback* m_pAttachWindowCallback; -+ CHXGenericCallback* m_pForceRedrawCallback; -+#endif -+ HXBOOL m_bReparent; -+ -+private: -+ -+ //Protect unintentional copy and default ctors. -+ CHXExSite(); -+ CHXExSite( const CHXExSite& ); -+ CHXExSite& operator=( const CHXExSite& it ); -+ HX_RESULT _EnterFullScreenNoNewWindow(); -+ -+ //member vars. -+ UnixEventHandler* m_pUnixEventHandler; -+ static Cursor zm_GrabCursor; -+ Window m_ScrollHorizButtonL; -+ Window m_ScrollHorizButtonR; -+ Window m_ScrollVertButtonT; -+ Window m_ScrollVertButtonB; -+ Window m_winFullScreenWindow; -+ Window m_winOldParent; -+ HXxPoint m_ptScrollHorizPosL; -+ HXxPoint m_ptScrollHorizPosR; -+ HXxPoint m_ptScrollVertPosT; -+ HXxPoint m_ptScrollVertPosB; -+ HXxPoint m_ptFullScreenOffset; -+ HXxSize m_PreFullScreenSize; -+ HXBOOL m_bScrollingInProgress; -+ int m_nScrollDir; -+ HXBOOL m_bLastPointInSite; -+ HXBOOL m_bDamaged; -+ // -+ //Private helpers... -+ // -+ -+ //returns the HX_VK associated with this keysym.... -+ UINT32 _MapKeySymToHXVK(KeySym tmpSym, UINT32& uFlags); -+ on_new_frame_cb_t m_on_new_frame_cb; -+ void *m_context; -+}; -+ -+#endif //_UNIXSITE_H -Index: helix-libs/clientapps/clutter/exsitsup.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exsitsup.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,455 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifdef _WIN16 -+#include -+#endif -+ -+#include "hxcom.h" -+#include "hxtypes.h" -+#include "hxwintyp.h" -+#include "hxwin.h" -+#include "ihxpckts.h" -+#include "hxcomm.h" -+#include "fivemmap.h" -+#include "hxstring.h" // CHXString -+#include "exsite.h" -+#include "exsitsup.h" -+#include "pckunpck.h" // CreateBufferCCF -+#include "ciddefs.h" // CID_RGB32 -+#if defined(HELIX_FEATURE_PNG) -+#include "pxpngenc.h" // PXPNGEncode::EncodeToPNGBuffer -+#endif // HELIX_FEATURE_PNG -+#include "print.h" -+ -+ -+#include "globals.h" -+struct _stGlobals*& GetGlobal(); -+ -+/************************************************************************ -+ * Method: -+ * Constructor -+ */ -+ ExampleSiteSupplier::ExampleSiteSupplier(IUnknown* pUnkPlayer, on_new_frame_cb_t on_new_frame_cb = NULL, void *context = NULL) -+ : m_lRefCount(0) -+ , m_pSiteManager(NULL) -+ , m_pSite(NULL) -+ , m_pSiteCapture(NULL) -+ , m_pCaptureBuffer(NULL) -+ , m_pCCF(NULL) -+ , m_pUnkPlayer(pUnkPlayer) -+ , m_on_new_frame_cb(on_new_frame_cb) -+ , m_context(context) -+{ -+ if (m_pUnkPlayer) -+ { -+ m_pUnkPlayer->QueryInterface(IID_IHXSiteManager, -+ (void**)&m_pSiteManager); -+ -+ //printf("pauldebug:m_pUnkplayer->QueryInterface for m_pCCF calling\n"); -+ m_pUnkPlayer->QueryInterface(IID_IHXCommonClassFactory, -+ (void**)&m_pCCF); -+ //printf("pauldebug:m_pUnkplayer->QueryInterface for m_pCCF called\n"); -+ -+ m_pUnkPlayer->AddRef(); -+ } -+}; -+ -+/************************************************************************ -+ * Method: -+ * Destructor -+ */ -+ExampleSiteSupplier::~ExampleSiteSupplier() -+{ -+ HX_RELEASE(m_pSiteManager); -+ HX_RELEASE(m_pSite); -+ HX_RELEASE(m_pSiteCapture); -+ HX_RELEASE(m_pCaptureBuffer); -+ HX_RELEASE(m_pCCF); -+ HX_RELEASE(m_pUnkPlayer); -+} -+ -+/************************************************************************ -+ * Method: -+ * IUnknown::QueryInterface -+ */ -+ STDMETHODIMP -+ExampleSiteSupplier::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = (IUnknown*)(IHXSiteSupplier*)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXSiteSupplier)) -+ { -+ AddRef(); -+ *ppvObj = (IHXSiteSupplier*)this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+/************************************************************************ -+ * Method: -+ * IUnknown::AddRef -+ */ -+ STDMETHODIMP_(ULONG32) -+ExampleSiteSupplier::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+/************************************************************************ -+ * Method: -+ * IUnknown::Release -+ */ -+ STDMETHODIMP_(ULONG32) -+ExampleSiteSupplier::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXSiteSupplier::SitesNeeded -+ * Purpose: -+ * Called to inform the site supplier that a site with a particular -+ * set of characteristics is needed. If the site supplier can -+ * fulfill the request it should call the site manager and add one -+ * or more new sites. -+ * Note that the request for sites is associated with a Request ID -+ * the client core will inform the site supplier when this requested -+ * site is no longer needed. -+ */ -+STDMETHODIMP -+ExampleSiteSupplier::SitesNeeded -+( -+ UINT32 uRequestID, -+ IHXValues* pProps -+ ) -+{ -+ /* -+ * Don't create a site if the -NULL_RENDER command line option -+ * was given. - jfarr -+ */ -+ if (GetGlobal()->g_bNullRender) -+ { -+ return (HXR_OK); -+ } -+ -+ /* -+ * If there are no properties, then we can't really create a -+ * site, because we have no idea what type of site is desired! -+ */ -+ if (!pProps) -+ { -+ return HXR_INVALID_PARAMETER; -+ } -+ -+ HRESULT hres = HXR_OK; -+ IHXValues* pSiteProps = NULL; -+ IHXSiteWindowed* pSiteWindowed = NULL; -+ IHXBuffer* pValue = NULL; -+ UINT32 style = 0; -+ IHXSite* pSite = NULL; -+ -+#if 0 -+ // Just let the RMA client core create a windowed site for us. -+ hres = m_pCCF->CreateInstance(CLSID_IHXSiteWindowed,(void**)&pSiteWindowed); -+ if (HXR_OK != hres) -+ { -+ goto exit; -+ } -+#else -+ { -+ *(void **)&pSiteWindowed = (IUnknown*)(IHXSiteWindowed*)(new CHXExSite(GetGlobal()->pMediaPlatform, NULL, 0, m_on_new_frame_cb, m_context)); -+ hres = ((IUnknown*)*(void **)&pSiteWindowed)->QueryInterface(IID_IHXSiteWindowed, (void**)&pSiteWindowed); -+ if (HXR_OK != hres) -+ { -+ goto exit; -+ } -+ } -+#endif -+ -+ hres = pSiteWindowed->QueryInterface(IID_IHXSite,(void**)&pSite); -+ if (HXR_OK != hres) -+ { -+ goto exit; -+ } -+ -+ if( !m_pSite ) -+ { -+ m_pSite = pSite; -+ m_pSite->AddRef(); -+ } -+ -+ -+ hres = pSiteWindowed->QueryInterface(IID_IHXValues,(void**)&pSiteProps); -+ if (HXR_OK != hres) -+ { -+ goto exit; -+ } -+ -+ /* -+ * We need to figure out what type of site we are supposed to -+ * to create. We need to "switch" between site user and site -+ * properties. So look for the well known site user properties -+ * that are mapped onto sites... -+ */ -+ hres = pProps->GetPropertyCString("playto",pValue); -+ if (HXR_OK == hres) -+ { -+ pSiteProps->SetPropertyCString("channel",pValue); -+ HX_RELEASE(pValue); -+ } -+ else -+ { -+ hres = pProps->GetPropertyCString("name",pValue); -+ if (HXR_OK == hres) -+ { -+ pSiteProps->SetPropertyCString("LayoutGroup",pValue); -+ HX_RELEASE(pValue); -+ } -+ } -+ -+#ifdef _WINDOWS -+ style = WS_OVERLAPPED | WS_VISIBLE | WS_CLIPCHILDREN; -+#endif -+ -+ hres = pSiteWindowed->Create(NULL, style); -+ if (HXR_OK != hres) -+ { -+ goto exit; -+ } -+ -+ /* -+ * We need to wait until we have set all the properties before -+ * we add the site. -+ */ -+ hres = m_pSiteManager->AddSite(pSite); -+ if (HXR_OK != hres) -+ { -+ goto exit; -+ } -+#ifdef _WINDOWS -+ { -+ HXxWindow* pWindow = pSiteWindowed->GetWindow(); -+ if (pWindow && pWindow->window) ::SetForegroundWindow( (HWND)(pWindow->window) ); -+ } -+#endif -+ m_CreatedSites.SetAt((void*)uRequestID,pSite); -+ pSite->AddRef(); -+ -+exit: -+ -+ HX_RELEASE(pSiteProps); -+ HX_RELEASE(pSiteWindowed); -+ HX_RELEASE(pSite); -+ -+ return hres; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXSiteSupplier::SitesNotNeeded -+ * Purpose: -+ * Called to inform the site supplier that all sites from a previos -+ * site request are no longer needed. If the site supplier had -+ * previously created non-persistant sites (like popup windows) -+ * to fulfill a request for sites it should call the site manager -+ * and remove those sites. -+ */ -+STDMETHODIMP -+ExampleSiteSupplier::SitesNotNeeded(UINT32 uRequestID) -+{ -+ IHXSite* pSite = NULL; -+ IHXSiteWindowed* pSiteWindowed = NULL; -+ void* pVoid = NULL; -+ -+ if (!m_CreatedSites.Lookup((void*)uRequestID,pVoid)) -+ { -+ return HXR_INVALID_PARAMETER; -+ } -+ pSite = (IHXSite*)pVoid; -+ -+ m_pSiteManager->RemoveSite(pSite); -+ -+ // Need to actually do the work on destroying the window -+ // and all that jazz. -+ pSite->QueryInterface(IID_IHXSiteWindowed,(void**)&pSiteWindowed); -+ -+ pSiteWindowed->Destroy(); -+ -+ // ref count = 2 -+ pSiteWindowed->Release(); -+ -+ // ref count = 1; deleted from this object's view! -+ pSite->Release(); -+ -+ m_CreatedSites.RemoveKey((void*)uRequestID); -+ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXSiteSupplier::BeginChangeLayout -+ * Purpose: -+ * Called to inform the site supplier a layout change has beginning -+ * it can expect to recieve SitesNeeded() and SitesNotNeeded() calls -+ * while a layout change is in progress, -+ */ -+STDMETHODIMP -+ExampleSiteSupplier::BeginChangeLayout() -+{ -+ return HXR_OK; -+} -+ -+/************************************************************************ -+ * Method: -+ * IHXSiteSupplier::DoneChangeLayout -+ * Purpose: -+ * Called to inform the site supplier the layout change has been -+ * completed. -+ */ -+STDMETHODIMP -+ExampleSiteSupplier::DoneChangeLayout() -+{ -+ return HXR_OK; -+} -+ -+HX_RESULT -+ExampleSiteSupplier::CaptureImage(CHXString pszFileName, INT32 dWidth, INT32 dHeight) -+{ -+ HX_RESULT res=HXR_FAIL; -+ -+ // Get the IHXSiteCapture object from the site -+ if (m_pSiteCapture == NULL) -+ { -+ if (m_pSite && m_pSite->QueryInterface(IID_IHXSiteCapture, (void**)&m_pSiteCapture) == HXR_OK) -+ { -+ m_pSiteCapture->AddRef(); -+ } -+ } -+ -+ // Create the buffer that will receive the image data -+ if (m_pCaptureBuffer == NULL) -+ { -+ CreateBufferCCF(m_pCaptureBuffer, m_pCCF); -+ if (!m_pCaptureBuffer) -+ { -+ return HXR_OUTOFMEMORY; -+ } -+ } -+ -+ HXBOOL bCanCapture = FALSE; -+ -+ // Check if the site is available to capture an image -+ if (m_pSiteCapture && (res = m_pSiteCapture->CanCapture(bCanCapture)) == HXR_OK && bCanCapture) -+ { -+ HX_RESULT res; -+ HXxSize outputSize; -+ outputSize.cx = dWidth; -+ outputSize.cy = dHeight; -+ m_strFileName = pszFileName; -+ -+ // Asynchronous call. CaptureDone() will be called with result. -+ res = m_pSiteCapture->Capture((IHXSiteCaptureResponse*)this, m_pCaptureBuffer, &outputSize, CID_RGB32); -+ } -+ -+ return res; -+ -+} -+ -+// -+// IHXSiteCaptureResponse::CaptureDone -+// -+// Called when the site has captured the next frame. -+// bmiOutputFormat points to image format description which -+// is valid until the completion of CaptureDone. -+// bmiOutputFormat can be different for every capture. -+// pCaptureBuffer holds the image if supplied in -+// Capture() method. pCaptureBuffer is automatically -+// resized if it has insufficient size to hold the image -+// data. -+// -+// status may be: -+// HXR_FAIL -- No capture was done. General Error. All data is invalid. -+// HXR_OK -- Capture was done. Both variables are valid. -+STDMETHODIMP -+ExampleSiteSupplier::CaptureDone(REF(HX_RESULT) status, -+ REF(HXBitmapInfoHeader) bmiOutputFormat, -+ REF(IHXBuffer*) pCaptureBuffer) -+{ -+ if (status == HXR_OK) -+ { -+#if defined(HELIX_FEATURE_PNG) -+ // Convert capture buffer into PNG -+ IHXBuffer* pConvertedBuffer=NULL; -+ HX_RESULT res = HXR_OK; -+ res = PXPNGEncode::EncodeToPNGBuffer(pCaptureBuffer, &bmiOutputFormat, m_pCCF, pConvertedBuffer); -+ if (res == HXR_OK && !m_strFileName.IsEmpty()) -+ { -+ CHXString strTail = m_strFileName.Right(4); -+ if (strTail.CompareNoCase(".png") != 0) -+ { -+ m_strFileName += ".png"; -+ } -+ -+ FILE* fp = fopen(m_strFileName, "wb"); -+ if (fp) -+ { -+ fwrite(pConvertedBuffer->GetBuffer(), 1, pConvertedBuffer->GetSize(), fp); -+ fclose(fp); -+ STDOUT("Captured image to PNG file: %s\n", (const char*)m_strFileName); -+ STDOUT("File size: %ld\n", pConvertedBuffer->GetSize()); -+ } -+ HX_RELEASE(pConvertedBuffer); -+ } -+#endif // HELIX_FEATURE_PNG -+ } -+ -+ return status; -+} -Index: helix-libs/clientapps/clutter/exsitsup.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exsitsup.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,154 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _EXSITSUP_H_ -+#define _EXSITSUP_H_ -+ -+#include "fivemmap.h" -+#include "player.h" -+ -+/**************************************************************************** -+ * -+ * Class: -+ * -+ * ExampleSiteSupplier -+ * -+ * Purpose: -+ * -+ * Implementation for ragui's IHXSiteSupplier -+ * -+ */ -+class ExampleSiteSupplier : -+ public IHXSiteSupplier -+ , public IHXSiteCaptureResponse -+{ -+private: -+ LONG32 m_lRefCount; -+ IHXSiteManager* m_pSiteManager; -+ IHXSite* m_pSite; -+ IHXSiteCapture* m_pSiteCapture; -+ IHXBuffer* m_pCaptureBuffer; -+ IHXCommonClassFactory* m_pCCF; -+ IUnknown* m_pUnkPlayer; -+ FiveMinuteMap m_CreatedSites; -+ CHXString m_strFileName; -+ on_new_frame_cb_t m_on_new_frame_cb; -+ void * m_context; -+ -+ ~ExampleSiteSupplier(); -+ -+public: -+ ExampleSiteSupplier(IUnknown* pUnkPlayer, on_new_frame_cb_t new_frame_cb = NULL, void *context = NULL); -+ -+ /* -+ * IUnknown methods -+ */ -+ STDMETHOD(QueryInterface) (THIS_ -+ REFIID riid, -+ void** ppvObj); -+ -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /* -+ * IHXSiteSupplier methods -+ */ -+ -+ /************************************************************************ -+ * Method: -+ * IHXSiteSupplier::SitesNeeded -+ * Purpose: -+ * Called to inform the site supplier that a site with a particular -+ * set of characteristics is needed. If the site supplier can -+ * fulfill the request it should call the site manager and add one -+ * or more new sites. -+ * Note that the request for sites is associated with a Request ID -+ * the client core will inform the site supplier when this requested -+ * site is no longer needed. -+ */ -+ STDMETHOD(SitesNeeded) (THIS_ -+ UINT32 uRequestID, -+ IHXValues* pSiteProps); -+ -+ /************************************************************************ -+ * Method: -+ * IHXSiteSupplier::SitesNotNeeded -+ * Purpose: -+ * Called to inform the site supplier that all sites from a previos -+ * site request are no longer needed. If the site supplier had -+ * previously created non-persistant sites (like popup windows) -+ * to fulfill a request for sites it should call the site manager -+ * and remove those sites. -+ */ -+ STDMETHOD(SitesNotNeeded) -+ (THIS_ -+ UINT32 uRequestID); -+ -+ -+ /************************************************************************ -+ * Method: -+ * IHXSiteSupplier::BeginChangeLayout -+ * Purpose: -+ * Called to inform the site supplier a layout change has beginning -+ * it can expect to recieve SitesNeeded() and SitesNotNeeded() calls -+ * while a layout change is in progress, -+ */ -+ STDMETHOD(BeginChangeLayout) (THIS); -+ -+ /************************************************************************ -+ * Method: -+ * IHXSiteSupplier::DoneChangeLayout -+ * Purpose: -+ * Called to inform the site supplier the layout change has been -+ * completed. -+ */ -+ STDMETHOD(DoneChangeLayout) (THIS); -+ -+ /* -+ * IHXSiteCaptureResponse -+ */ -+ STDMETHOD(CaptureDone) (THIS_ -+ REF(HX_RESULT) status, -+ REF(HXBitmapInfoHeader) bmiOutputFormat, -+ REF(IHXBuffer*) pImageDataBuffer -+ ); -+ -+ HX_RESULT CaptureImage(CHXString pFileName, INT32 dWidth, INT32 dHeight); -+ -+}; -+ -+#endif // _EXSITSUP_H_ -+ -Index: helix-libs/clientapps/clutter/exstateadvsnk.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exstateadvsnk.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,229 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include -+ -+#include "hxtypes.h" -+ -+#include "hxcom.h" -+#include "hxcomm.h" -+#include "hxmon.h" -+#include "hxcore.h" -+#include "hxengin.h" -+#include "hxclsnk.h" -+#include "hxgroup.h" -+#include "hxstrutl.h" -+#include "exstateadvsnk.h" -+#include "hxstring.h" -+#include "hxprefs.h" -+#include "excontxt.h" -+ -+#include "print.h" -+ -+#include "globals.h" -+#include "player.h" -+ -+struct _stGlobals*& GetGlobal(); //in main.cpp -+ -+#ifdef __TCS__ -+extern unsigned long gStreamTime; -+ -+static int iOpened = 0; -+ -+ -+#if defined(__cplusplus) -+extern "C" { -+#endif /* defined(__cplusplus) */ -+ -+typedef enum hookBuffering { -+ eContacting = 0, -+ eConnecting = 1, -+ eBuffering = 2, -+ ePlaying = 3 -+}hookBuffering; -+ -+void hookRealAudio_Buffering(hookBuffering connectState, int pct); -+ -+void hookRealAudio_PlayPosition(unsigned long current,unsigned long duration); -+ -+typedef enum hookState { -+ ePlay = 0, -+ ePause = 1, -+ eStop = 2, -+ eResume = 3, -+ eComplete // Clip is done playing -+}hookState; -+void hookRealAudio_State(hookState newState); -+ -+ -+#if defined(__cplusplus) -+} -+#endif /* defined(__cplusplus) */ -+ -+#endif // __TCS__ -+ -+void PrintBuffer(const char* pszName,const unsigned char* pbBuf, unsigned int dwBytes); -+ -+ExampleClientStateAdviceSink::ExampleClientStateAdviceSink(IUnknown* pUnknown, LONG32 lClientIndex, on_state_change_cb_t on_state_change_cb, void *context) -+ : m_lRefCount (0) -+ , m_lClientIndex (lClientIndex) -+ , m_pUnknown (NULL) -+ , m_State (HX_CLIENT_STATE_READY) -+ , m_state_change_cb(on_state_change_cb) -+ , m_context(context) -+{ -+ if (pUnknown) -+ { -+ m_pUnknown = pUnknown; -+ m_pUnknown->AddRef(); -+ -+ IHXPlayer* pPlayer; -+ IHXClientStateAdviseSinkControl *pStateControl; -+ if(HXR_OK == m_pUnknown->QueryInterface(IID_IHXPlayer, -+ (void**)&pPlayer)) -+ { -+ m_pPlayer = pPlayer; -+ -+ -+ } -+ -+ if (HXR_OK == m_pUnknown->QueryInterface(IID_IHXClientStateAdviseSinkControl, (void **)&pStateControl)) -+ { -+ pStateControl->AddClientStateAdviseSink(this); -+ } -+ } -+ -+#ifdef __TCS__ -+ bEnableAdviceSink = TRUE; -+ iOpened = 0; -+#endif -+} -+ -+ExampleClientStateAdviceSink::~ExampleClientStateAdviceSink(void) -+{ -+ -+ if (m_pPlayer) -+ { -+ m_pPlayer->Release(); -+ m_pPlayer = NULL; -+ } -+ if (m_pUnknown) -+ { -+ m_pUnknown->Release(); -+ m_pUnknown = NULL; -+ } -+} -+ -+ -+// *** IUnknown methods *** -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::QueryInterface -+// Purpose: -+// Implement this to export the interfaces supported by your -+// object. -+// -+STDMETHODIMP ExampleClientStateAdviceSink::QueryInterface(REFIID riid, void** ppvObj) -+{ -+ if (IsEqualIID(riid, IID_IUnknown)) -+ { -+ AddRef(); -+ *ppvObj = (IUnknown*)(IHXClientStateAdviseSink *)this; -+ return HXR_OK; -+ } -+ else if (IsEqualIID(riid, IID_IHXClientStateAdviseSink)) -+ { -+ AddRef(); -+ *ppvObj = (IHXClientStateAdviseSink*)this; -+ return HXR_OK; -+ } -+ -+ *ppvObj = NULL; -+ return HXR_NOINTERFACE; -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::AddRef -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleClientStateAdviceSink::AddRef() -+{ -+ return InterlockedIncrement(&m_lRefCount); -+} -+ -+///////////////////////////////////////////////////////////////////////// -+// Method: -+// IUnknown::Release -+// Purpose: -+// Everyone usually implements this the same... feel free to use -+// this implementation. -+// -+STDMETHODIMP_(ULONG32) ExampleClientStateAdviceSink::Release() -+{ -+ if (InterlockedDecrement(&m_lRefCount) > 0) -+ { -+ return m_lRefCount; -+ } -+ -+ delete this; -+ return 0; -+} -+ -+ -+/************************************************************************ -+ * Method: -+ * IHXClientStateAdviseSink::OnStateChange -+ * Purpose: -+ * Called to advise the client state has changed state -+ */ -+STDMETHODIMP ExampleClientStateAdviceSink::OnStateChange(UINT16 uOldState, UINT16 uNewState) -+{ -+ if (m_state_change_cb) -+ m_state_change_cb(uOldState, uNewState, m_context); -+ -+ m_State = uNewState; -+ return HXR_OK; -+} -+ -+EHXClientState ExampleClientStateAdviceSink::GetState() -+{ -+ return m_State; -+} -+ -+ -Index: helix-libs/clientapps/clutter/exstateadvsnk.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/exstateadvsnk.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,108 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _EXAMPLE_CLIENT_STATE_ADVISE_SNK_H_ -+#define _EXAMPLE_CLIENT_STATE_ADVISE_SNK_H_ -+ -+#include "player.h" -+ -+struct IHXClientStateAdviseSink; -+struct IHXGroupSink; -+struct IUnknown; -+struct IHXRegistry; -+struct IHXScheduler; -+struct IHXCallback; -+struct IHXPlayer; -+struct IHXGroup; -+ -+class ExampleClientStateAdviceSink : public IHXClientStateAdviseSink -+{ -+ private: -+ LONG32 m_lRefCount; -+ LONG32 m_lClientIndex; -+ -+ IUnknown* m_pUnknown; -+ -+ UINT32 m_ulStartTime; -+ UINT32 m_ulStopTime; -+ -+ UINT32 m_lCurrentBandwidth; -+ UINT32 m_lAverageBandwidth; -+ HXBOOL m_bOnStop; -+ -+ HXBOOL m_bWaitForTrackStart; -+ -+ on_state_change_cb_t m_state_change_cb; -+ void *m_context; -+ EHXClientState m_State; -+ -+ // IHXCallback -+ IHXPlayer* m_pPlayer; -+ ULONG32 m_hCallback; -+ ~ExampleClientStateAdviceSink(); -+ -+ -+ public: -+ -+ ExampleClientStateAdviceSink(IUnknown* /*IN*/ pUnknown, LONG32 /*IN*/ lClientIndex, on_state_change_cb_t on_state_change_cb = NULL, void *context = NULL); -+ -+ /* -+ * IUnknown methods -+ */ -+ STDMETHOD(QueryInterface) (THIS_ -+ REFIID riid, -+ void** ppvObj); -+ -+ STDMETHOD_(ULONG32,AddRef) (THIS); -+ -+ STDMETHOD_(ULONG32,Release) (THIS); -+ -+ /*********************************************************************** -+ * Method: -+ * IHXClientStateAdviseSink::OnStateChange -+ * Purpose: -+ * Called by client engine to inform the client that the state has changed. -+ * States are defined in the enum EHXClientState, defined in this file. -+ * -+ */ -+ STDMETHOD(OnStateChange) (THIS_ -+ UINT16 uOldState, -+ UINT16 uNewState -+ ) ; -+ -+ EHXClientState GetState(); -+}; -+ -+#endif /* _EXAMPLECLSNK_ */ -Index: helix-libs/clientapps/clutter/fivemmap.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/fivemmap.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,175 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include -+#include "hxtypes.h" -+#include "fivemmap.h" -+ -+void* FiveMinuteMap::GetFirstValue() -+{ -+ m_nCursor = 0; -+ -+ if (m_nMapSize) -+ { -+ return m_pValueArray[m_nCursor]; -+ } -+ else -+ { -+ return NULL; -+ } -+} -+ -+void* FiveMinuteMap::GetNextValue() -+{ -+ m_nCursor++; -+ -+ if (m_nCursor < m_nMapSize) -+ { -+ return m_pValueArray[m_nCursor]; -+ } -+ else -+ { -+ return NULL; -+ } -+} -+ -+HXBOOL FiveMinuteMap::Lookup(void* Key, void*& Value) const -+{ -+ HXBOOL bFound = FALSE; -+ int nIndex = 0; -+ -+ // If Key is alrady in the list, replace value -+ for (; nIndex < m_nMapSize; nIndex++) -+ { -+ if (m_pKeyArray[nIndex] == Key) -+ { -+ Value = m_pValueArray[nIndex]; -+ bFound = TRUE; -+ goto exit; -+ } -+ } -+ -+exit: -+ return bFound; -+} -+ -+void FiveMinuteMap::RemoveKey(void* Key) -+{ -+ HXBOOL bFound = FALSE; -+ int nIndex = 0; -+ -+ // If Key is alrady in the list, replace value -+ for (; nIndex < m_nMapSize; nIndex++) -+ { -+ if (m_pKeyArray[nIndex] == Key) -+ { -+ if (nIndex < (m_nMapSize-1)) -+ { -+ memmove(&(m_pKeyArray[nIndex]),&(m_pKeyArray[nIndex+1]),sizeof(void*)*(m_nMapSize-(nIndex+1))); -+ memmove(&(m_pValueArray[nIndex]),&(m_pValueArray[nIndex+1]),sizeof(void*)*(m_nMapSize-(nIndex+1))); -+ } -+ m_nMapSize--; -+ goto exit; -+ } -+ } -+ -+exit: -+ (NULL); // We're done! -+} -+ -+void FiveMinuteMap::RemoveValue(void* Value) -+{ -+ HXBOOL bFound = FALSE; -+ int nIndex = 0; -+ -+ // If Value is alrady in the list, replace value -+ for (; nIndex < m_nMapSize; nIndex++) -+ { -+ if (m_pValueArray[nIndex] == Value) -+ { -+ if (nIndex < (m_nMapSize-1)) -+ { -+ memmove(&(m_pKeyArray[nIndex]),&(m_pKeyArray[nIndex+1]),sizeof(void*)*(m_nMapSize-(nIndex+1))); -+ memmove(&(m_pValueArray[nIndex]),&(m_pValueArray[nIndex+1]),sizeof(void*)*(m_nMapSize-(nIndex+1))); -+ } -+ m_nMapSize--; -+ goto exit; -+ } -+ } -+ -+exit: -+ (NULL); // We're done! -+} -+ -+ -+void FiveMinuteMap::SetAt(void* Key, void* Value) -+{ -+ int nIndex = 0; -+ -+ // If Key is alrady in the list, replace value -+ for (; nIndex < m_nMapSize; nIndex++) -+ { -+ if (m_pKeyArray[nIndex] == Key) -+ { -+ m_pValueArray[nIndex] = Value; -+ goto exit; -+ } -+ } -+ -+ // If we have room, add it to the end! -+ if (m_nAllocSize == m_nMapSize) -+ { -+ m_nAllocSize += AllocationSize; -+ void** pNewKeys = new void*[m_nAllocSize]; -+ void** pNewValues = new void*[m_nAllocSize]; -+ -+ memcpy(pNewKeys,m_pKeyArray,sizeof(void*)*m_nMapSize); /* Flawfinder: ignore */ -+ memcpy(pNewValues,m_pValueArray,sizeof(void*)*m_nMapSize); /* Flawfinder: ignore */ -+ -+ delete [] m_pKeyArray; -+ delete [] m_pValueArray; -+ -+ m_pKeyArray = pNewKeys; -+ m_pValueArray = pNewValues; -+ } -+ -+ m_pKeyArray[m_nMapSize] = Key; -+ m_pValueArray[m_nMapSize] = Value; -+ m_nMapSize++; -+ -+exit: -+ (NULL); // We're done! -+} -+ -Index: helix-libs/clientapps/clutter/fivemmap.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/fivemmap.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,79 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _FIVEMMAP_H_ -+#define _FIVEMMAP_H_ -+ -+#ifndef _HXTYPES_H_ -+#error FiveMinuteMap assumes pntypes.h. -+#endif -+ -+class FiveMinuteMap -+{ -+ const int AllocationSize; -+ -+ void** m_pKeyArray; -+ void** m_pValueArray; -+ int m_nMapSize; -+ int m_nAllocSize; -+ int m_nCursor; -+public: -+ FiveMinuteMap() -+ : m_pKeyArray(NULL) -+ , m_pValueArray(NULL) -+ , m_nMapSize(0) -+ , m_nAllocSize(0) -+ , m_nCursor(0) -+ , AllocationSize(10) -+ {}; -+ -+ ~FiveMinuteMap() -+ { -+ delete [] m_pKeyArray; -+ delete [] m_pValueArray; -+ }; -+ -+ int GetCount() {return m_nMapSize;} -+ -+ void* GetFirstValue(); -+ void* GetNextValue(); -+ -+ HXBOOL Lookup(void* Key, void*& Value) const; -+ void RemoveKey(void* Key); -+ void RemoveValue(void* Value); -+ void SetAt(void* Key, void* Value); -+}; -+ -+#endif /* _FIVEMMAP_H_ */ -Index: helix-libs/clientapps/clutter/globals.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/globals.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,150 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+/**************************************************************************** -+ * -+ * Test Client: -+ * -+ * -+ * This is an test client running on Windows, Mac, and Unix without a GUI. -+ * -+ */ -+ -+#ifndef _SPLAY_GLOBALS_H -+#define _SPLAY_GLOBALS_H -+ -+#include "dllacces.h" -+#include "dllpath.h" -+#include "hxengin.h" -+#include "hxplayvelocity.h" -+#include "hxcore.h" -+#include "ihxmedpltfm.h" -+#include "excontxt.h" -+#include "preflist.h" -+ -+#define HX_COMMAND_BUFFER_SIZE 256 -+#define HX_MAX_NUM_MULTI_SEEKS 10 -+struct _stGlobals -+{ -+ _stGlobals() -+ : g_pDLLAccess(NULL), -+ g_nPlayers(0), -+ m_fpHXMediaPlatformOpen(NULL), -+ m_fpHXCreateMediaPlatform(NULL), -+ m_fpHXMediaPlatformClose(NULL), -+ m_fpCreateEngine(NULL), -+ m_fpCloseEngine(NULL), -+ m_fpSetDLLAccessPath(NULL), -+ bEnableAdviceSink(FALSE), -+ bEnableVerboseMode(FALSE), -+ g_bEnableSlowStart(TRUE), -+ g_bOnBeginOccurred(FALSE), -+ g_pszUsername( NULL), -+ g_pszPassword(NULL), -+ g_pszGUIDFile(NULL), -+ g_pszGUIDList(NULL), -+ g_Error(HXR_OK), -+ g_ulNumSecondsPlayed(0), -+ pMediaPlatform(NULL), -+ g_pIHXKicker(NULL), -+ bUseLegacyAPIs(FALSE), -+ pEngine(NULL), -+ g_pQuickSeek(NULL), -+ g_bNullRender(FALSE), -+ g_bUserStop(FALSE), -+ g_bInitVelocity(FALSE), -+ g_bABD(FALSE), -+ g_pVelocityCaps(NULL), -+ g_ulNumMultiSeeks(0), -+ g_ulMultiSeekIndex(0), -+ g_bMultiSeek(FALSE), -+ g_uThreadIDForKicker(-1) -+ { -+ memset(g_szCommandBuffer, 0, HX_COMMAND_BUFFER_SIZE); -+ memset(g_szPriorCommandBuffer, 0, HX_COMMAND_BUFFER_SIZE); -+ memset(g_Players, 0, sizeof(g_Players)); -+ memset(g_pszURLs, 0, sizeof(g_pszURLs)); -+ memset(g_pClientContexts, 0, sizeof(g_pClientContexts)); -+ } -+ -+ #define MAX_NUM_PLAYERS 256 -+ IHXPlayer* g_Players[MAX_NUM_PLAYERS]; -+ char *g_pszURLs[MAX_NUM_PLAYERS]; -+ ExampleClientContext *g_pClientContexts[MAX_NUM_PLAYERS]; -+ int g_nPlayers; -+ DLLAccessPath g_statclnt; -+ DLLAccess* g_pDLLAccess; -+ CHXPrefList g_prefList; -+ -+ FPHXMEDIAPLATFORMOPEN m_fpHXMediaPlatformOpen; -+ FPHXCREATEMEDIAPLATFORM m_fpHXCreateMediaPlatform; -+ FPHXMEDIAPLATFORMCLOSE m_fpHXMediaPlatformClose; -+ -+ FPRMCREATEENGINE m_fpCreateEngine; -+ FPRMCLOSEENGINE m_fpCloseEngine; -+ FPRMSETDLLACCESSPATH m_fpSetDLLAccessPath; -+ -+ HXBOOL bEnableAdviceSink; -+ HXBOOL bEnableVerboseMode; -+ HXBOOL g_bEnableSlowStart; -+ HXBOOL g_bOnBeginOccurred; -+ char* g_pszUsername; -+ char* g_pszPassword; -+ char* g_pszGUIDFile; -+ char* g_pszGUIDList; -+ HX_RESULT g_Error; -+ UINT32 g_ulNumSecondsPlayed; -+ IHXMediaPlatform* pMediaPlatform; -+ IHXMediaPlatformKicker* g_pIHXKicker; -+ UINT32 g_uThreadIDForKicker; -+ pthread_t g_pThreadKickmanId; -+ HXBOOL bUseLegacyAPIs; -+ IHXClientEngine* pEngine; -+ IHXQuickSeek* g_pQuickSeek; -+ HXBOOL g_bNullRender; -+ HXBOOL g_bUserStop; -+ HXBOOL g_bInitVelocity; -+ HXBOOL g_bABD; -+ IHXPlaybackVelocityCaps* g_pVelocityCaps; -+ HXBOOL g_bMultiSeek; -+ UINT32 g_ulMultiSeekTime[HX_MAX_NUM_MULTI_SEEKS]; -+ UINT32 g_ulNumMultiSeeks; -+ UINT32 g_ulMultiSeekIndex; -+ char g_szCommandBuffer[HX_COMMAND_BUFFER_SIZE]; -+ char g_szPriorCommandBuffer[HX_COMMAND_BUFFER_SIZE]; -+}; -+ -+ -+#endif // _SPLAY_GLOBALS_H -Index: helix-libs/clientapps/clutter/iids.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/iids.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,50 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+// define all guids here once... -+#define INITGUID -+#define NCIHACK -+#include "hxtypes.h" -+#include "hxcom.h" -+#include "hxiids.h" -+#include "hxpiids.h" -+#if defined _WINDOWS -+#if defined (HELIX_FEATURE_DIRECT_SOUND) -+#include "dsound.h" -+#endif /* HELIX_FEATURE_DIRECT_SOUND */ -+#if defined (HELIX_FEATURE_VIDEO) && !defined(_WINCE) -+#include "ddraw.h" -+#endif /* HELIX_FEATURE_VIDEO */ -+#endif -Index: helix-libs/clientapps/clutter/linux2.pcf -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/linux2.pcf 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,42 @@ -+# -+# ***** BEGIN LICENSE BLOCK ***** -+# Version: RCSL 1.0/RPSL 1.0 -+# -+# Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+# -+# The contents of this file, and the files included with this file, are -+# subject to the current version of the RealNetworks Public Source License -+# Version 1.0 (the "RPSL") available at -+# http://www.helixcommunity.org/content/rpsl unless you have licensed -+# the file under the RealNetworks Community Source License Version 1.0 -+# (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+# in which case the RCSL will apply. You may also obtain the license terms -+# directly from RealNetworks. You may not use this file except in -+# compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+# applicable to this file, the RCSL. Please see the applicable RPSL or -+# RCSL for the rights, obligations and limitations governing use of the -+# contents of the file. -+# -+# This file is part of the Helix DNA Technology. RealNetworks is the -+# developer of the Original Code and owns the copyrights in the portions -+# it created. -+# -+# This file, and the files included with this file, is distributed and made -+# available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+# EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+# FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+# -+# Technology Compatibility Kit Test Suite(s) Location: -+# http://www.helixcommunity.org/content/tck -+# -+# Contributor(s): -+# -+# ***** END LICENSE BLOCK ***** -+# -+ -+project.AddSystemLibraries("dl", "m", "pthread") -+ -+if (project.IsDefined("HELIX_FEATURE_VIDEO") and -+ project.IsDefined("USE_XWINDOWS")): -+ project.AddSystemLibraries("X11") -Index: helix-libs/clientapps/clutter/player.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/player.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,1057 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+/**************************************************************************** -+ * -+ * Test Client: -+ * -+ * -+ * This is an test client running on Windows, Mac, and Unix without a GUI. -+ * -+ */ -+#include "hxtypes.h" -+ -+#include -+ -+#include "hlxclib/time.h" -+#include "ihxmedpltfm.h" -+#include "hxwintyp.h" -+#include "hxcom.h" -+#include "ihxpckts.h" -+#include "hxcomm.h" -+#include "hxmon.h" -+#include "hxfiles.h" -+#include "hxengin.h" -+#include "hxcore.h" -+#include "hxclsnk.h" -+#include "hxgroup.h" -+#include "hxerror.h" -+#include "hxauth.h" -+#include "hxwin.h" -+#include "hxprefs.h" -+#include "hxtbuf.h" -+#include "fivemmap.h" -+#include "dllacces.h" -+#include "hxausvc.h" -+#include "hxstrutl.h" -+#include "hxgroup.h" -+#include "hxwin.h" -+#include "hxtick.h" -+#include "hxbuffer.h" -+#include "hxplayvelocity.h" -+#include "pckunpck.h" // For CreateAndSetBufferCCF() -+#include "hxvctrl.h" -+#include "hxbsrc.h" -+#include "excallback.h" -+#include "pthread.h" -+ -+#if defined(HELIX_FEATURE_PRESENTATION_FEATURE_SELECTION) -+#include "hxpfs.h" -+#endif // HELIX_FEATURE_PRESENTATION_FEATURE_SELECTION. -+ -+#if defined(HELIX_FEATURE_PREFERENCES) -+#include "preflist.h" -+#endif /* #if defined(HELIX_FEATURE_PREFERENCES) */ -+#include "exadvsnk.h" -+#include "exerror.h" -+#include "exsitsup.h" -+#include "exaumgr.h" -+#if defined(_WIN32) -+#include "exabd.h" -+#endif -+#include "excontxt.h" -+#include "print.h" -+#if defined(USE_XWINDOWS) -+#include -+#endif -+#if defined (_UNIX) -+#include -+#include -+#include -+#include -+#include -+#endif -+#if defined(_WINDOWS) -+#include -+#endif -+ -+#ifdef __TCS__ -+#include -+#if defined(__cplusplus) -+extern "C" { -+#endif /* defined(__cplusplus) */ -+ extern unsigned long tmosTimSleep(unsigned long ticks); -+ unsigned long gForcePlayerToStop = 0; -+#if defined(__cplusplus) -+} -+#endif /* defined(__cplusplus) */ -+#endif -+ -+#if defined (_MACINTOSH) || defined (_MAC_UNIX) -+bool gMacPlayerIsDone = false; -+#endif -+ -+ -+#if defined _VXWORKS -+#include "sys/times.h" -+#include "string.h" -+#include "hxtime.h" -+#endif -+ -+#if defined(_MACINTOSH) -+#ifndef _MAC_MACHO -+#include -+#include -+#endif -+#endif -+ -+#include "dllpath.h" -+ -+#ifdef _SYMBIAN -+#include -+#include "platform/symbian/symbian_event_hndlr.h" -+#endif -+ -+ENABLE_DLLACCESS_PATHS(g_SPlayAccessPath); -+ -+// typedef for SetDLLAccessPath -+ -+ -+#include "thrdutil.h" -+ -+#if defined(_AIX) -+#include -+#endif -+ -+#if defined _DEBUG || defined DEBUG -+#include "debug.h" -+#endif -+ -+#ifndef MAX_PATH -+#define MAX_PATH 256 -+#endif //!MAX_PATH -+ -+#if defined(HELIX_CONFIG_NOSTATICS) -+# include "globals/hxglobals.h" -+#endif -+ -+#define MAX_NUM_URLS 10 -+ -+#include "globals.h" //for global struct. -+ -+#include "player.h" -+ -+#if defined(_WINDOWS) && defined(_STATICALLY_LINKED) -+HINSTANCE g_hInstance = NULL; -+#endif -+ -+struct _stGlobals*& GetGlobal() -+{ -+#if defined(HELIX_CONFIG_NOSTATICS) -+ static const struct _stGlobals* const _g_pstGlobals = NULL; -+ struct _stGlobals*& g_pstGlobals = (struct _stGlobals*&)HXGlobalPtr::Get(&_g_pstGlobals); -+#else -+ static struct _stGlobals* g_pstGlobals = NULL; -+#endif -+ if( g_pstGlobals == NULL ) -+ { -+ g_pstGlobals = new struct _stGlobals(); -+ } -+ return g_pstGlobals; -+ -+} -+ -+ -+// Constants -+const int DEFAULT_TIME_DELTA = 2000; -+const int DEFAULT_STOP_TIME = -1; -+const int SLEEP_TIME = 5; -+const int GUID_LEN = 64; -+ -+// Function prototypes -+void PrintUsage(const char* pszAppName); -+HXBOOL AllPlayersDone(int nNumPlayers, IHXPlayer** ppPlayers); -+void StopAllPlayers(int nNumPlayers, IHXPlayer** ppPlayers); -+HXBOOL ReadGUIDFile(); -+char* GetAppName(char* pszArgv0); -+ -+#ifdef __TCS__ -+#if defined(__cplusplus) -+extern "C" { -+#endif /* defined(__cplusplus) */ -+ -+ extern void _alloc_stats(int verbose); -+#if defined(__cplusplus) -+} -+#endif /* defined(__cplusplus) */ -+ -+static IHXPlayer** g_Players; -+static int g_nPlayers = 0; -+static long evtCount = 0; -+static long evtFullCount = 0; -+#endif -+ -+ -+ -+#if defined(HELIX_FEATURE_PRESENTATION_FEATURE_SELECTION) -+HX_RESULT -+DumpPFdata(IHXPresentationFeatureManager* pPFMgr, -+ const char* pszPFName) -+{ -+ HX_RESULT hxr = HXR_OK; -+ -+ IHXBuffer* pFeatureCurrentSetting = NULL; -+ IHXValues* pFeatureOptions = NULL; -+ -+ if (!pPFMgr || !pszPFName) -+ { -+ hxr = HXR_INVALID_PARAMETER; -+ } -+ else -+ { -+ // List all the options for this PF: -+ HX_RESULT hxr = pPFMgr->GetPresentationFeature( -+ pszPFName, -+ pFeatureCurrentSetting, -+ pFeatureOptions); -+ -+ if (FAILED(hxr)) -+ { -+ // PF doesn't exist! -+ STDOUT("\t%s - No such presentation feature\n\n", pszPFName); -+ } -+ else -+ { -+ // Now, go through pFeatureOptions and display -+ // them and their "is-selectable"-flag values: -+ const char* pszPFOptionName = NULL; -+ const char* pszPFCurSetting = pFeatureCurrentSetting? -+ (const char*)pFeatureCurrentSetting->GetBuffer() : NULL; -+ UINT32 bPFOptionIsSelectableFlag = FALSE; -+ IHXBuffer* pPFOptionIsSelectableFlag = NULL; -+ -+ HX_ASSERT(pszPFCurSetting); -+ STDOUT("\t%s\t(Current setting == \"%s\")\n", pszPFName, pszPFCurSetting? -+ pszPFCurSetting : ""); -+ -+ if (!pFeatureOptions) // NULL is OK; that means freeform (open-ended): -+ { -+ STDOUT("\t\t(%s's options are freeform, i.e., open-ended)\n", -+ pszPFName); -+ } -+ else // List all the options and their flags: -+ { -+ if (HXR_OK == pFeatureOptions->GetFirstPropertyCString(pszPFOptionName, -+ pPFOptionIsSelectableFlag) && *pszPFOptionName) -+ { -+ do -+ { -+ const UCHAR* pIsSelFlag = pPFOptionIsSelectableFlag->GetBuffer(); -+ if (pIsSelFlag && *pIsSelFlag) -+ { -+ // Anything but '0' (zero) is treated as '1' (is selectable): -+ bPFOptionIsSelectableFlag = (HXBOOL)('0' != *pIsSelFlag && -+ '\0' == *(pIsSelFlag+1)); -+ } -+ else -+ { -+ // Set the error, but we'll go ahead and treat it as '0': -+ hxr = HXR_INVALID_PARAMETER; -+ bPFOptionIsSelectableFlag = FALSE; -+ } -+ -+ STDOUT("\t\t%s\t\tIs selectable: %s\n", -+ pszPFOptionName, bPFOptionIsSelectableFlag? "yes":"no"); -+ // Release it to get the next PF: -+ HX_RELEASE(pPFOptionIsSelectableFlag); -+ } while (HXR_OK == pFeatureOptions->GetNextPropertyCString( -+ pszPFOptionName, pPFOptionIsSelectableFlag)); -+ } -+ } -+ -+ HX_RELEASE(pPFOptionIsSelectableFlag); -+ } -+ } -+ -+ HX_RELEASE(pFeatureCurrentSetting); -+ HX_RELEASE(pFeatureOptions); -+ -+ return hxr; -+} -+#endif // HELIX_FEATURE_PRESENTATION_FEATURE_SELECTION. -+ -+ -+char* RemoveWrappingQuotes(char* str) -+{ -+ int len = strlen(str); -+ if (len > 0) -+ { -+ if (str[len-1] == '"') str[--len] = 0; -+ if (str[0] == '"') { int i = 0; do { str[i++] = str[i+1]; } while(--len); } -+ } -+ return str; -+} -+ -+void *kickman(void *dummy) -+{ -+ while(1) { -+ UINT32 sleepTime = 0; -+ IHXMediaPlatformKicker* pKicker = GetGlobal()->g_pIHXKicker; -+ if( pKicker ) -+ { -+ pKicker->Kick(GetGlobal()->g_uThreadIDForKicker, &sleepTime); -+ } -+ usleep(sleepTime); -+ } -+} -+ -+PLAYER_API int init_main( ) -+{ -+#if defined(_WIN32) && !defined(WIN32_PLATFORM_PSPC) -+ setvbuf(stdout, NULL, _IONBF, 0); -+#endif /* defined(_WIN32) && !defined(WIN32_PLATFORM_PSPC) */ -+ -+ FPHXMEDIAPLATFORMOPEN fpHXMediaPlatformOpen = NULL; -+ FPHXCREATEMEDIAPLATFORM fpHXCreateMediaPlatform = NULL; -+ FPHXMEDIAPLATFORMCLOSE fpHXMediaPlatformClose = NULL; -+ -+ FPRMCREATEENGINE fpCreateEngine = NULL; -+ FPRMCLOSEENGINE fpCloseEngine = NULL; -+ FPRMSETDLLACCESSPATH fpSetDll = NULL; -+ -+ HX_RESULT theErr = HXR_OK; -+ ExampleClientContext** ppExContexts = NULL; -+#if defined(HELIX_FEATURE_AUTO_BANDWIDTH_DETECTION) && defined(_WIN32) -+ ExampleABD* pABD = NULL; -+#endif -+ IHXPlayer** ppPlayers = NULL; -+ IHXQuickSeek* ppQuickSeek = NULL; -+ IHXErrorSink* pErrorSink = NULL; -+ IHXErrorSinkControl* pErrorSinkControl = NULL; -+ UINT32 ulABDResult = 0; -+ UINT32 ulProbPktSize = 0; -+ UINT32 ulProbPktNum = 0; -+#if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) -+ INT32 lVelocity = 100; -+ INT32 lKeyFrameMode = 0; -+ INT32 lAutoSwitch = 0; -+#endif /* #if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) */ -+ CHXString* pABDServer = NULL; -+ char* pszURL[MAX_NUM_URLS]; -+ char* pszURLOrig[MAX_NUM_URLS]; -+ UINT32 ulNumURLsFound = 0; -+ int nNumPlayers = 1; -+ int nNumPlayRepeats = 1; -+ int nTimeDelta = DEFAULT_TIME_DELTA; -+ int nStopTime = DEFAULT_STOP_TIME; -+ bool bStopTime = true; -+ int i = 0; -+ char* pszGUIDList = NULL; -+#ifdef _MACINTOSH -+ char dllhome[MAX_PATH] = {'\0'}; /* Flawfinder: ignore */ -+#elif defined(_SYMBIAN) -+ char dllhome[MAX_PATH] = "c:"; /* Flawfinder: ignore */ -+#else -+ char dllhome[MAX_PATH] = {'.','\0'}; /* Flawfinder: ignore */ -+#endif -+ DLLAccess* pDLLAccess = NULL; -+ char staticLibPath[MAX_PATH] = {0}; /* Flawfinder: ignore */ -+#ifdef _WINDOWS -+ HINSTANCE hDll = NULL; -+#endif -+ bool bStopping = false; -+ int nPlay = 0; -+ -+ // NULL out the URL arrays -+ memset(pszURL, 0, MAX_NUM_URLS * sizeof(char*)); -+ memset(pszURLOrig, 0, MAX_NUM_URLS * sizeof(char*)); -+ -+ -+ //See if the user has set their HELIX_LIBS env var. This is overridden by the -+ //-l option. -+ const char* pszHelixLibs = getenv("HELIX_LIBS"); -+ if( pszHelixLibs ) -+ SafeStrCpy( dllhome, pszHelixLibs, MAX_PATH); -+ -+ -+ -+ GetGlobal()->bEnableAdviceSink = TRUE; -+ GetGlobal()->g_prefList.Add("UseOverlay", "0"); -+ -+ SafeSprintf(staticLibPath, MAX_PATH, "%s/%s", dllhome, "hxmedpltfm.so"); -+ -+ if (dllhome) -+ { -+ GetDLLAccessPath()->SetPath(DLLTYPE_COMMON, dllhome); -+ GetDLLAccessPath()->SetPath(DLLTYPE_PLUGIN, dllhome); -+ GetDLLAccessPath()->SetPath(DLLTYPE_CODEC, dllhome); -+ } -+ -+ // initialize the globals -+ GetGlobal()->m_fpCreateEngine = NULL; -+ GetGlobal()->m_fpCloseEngine = NULL; -+ GetGlobal()->g_nPlayers = 0; -+ -+ // prepare/load the HXCore module -+ pDLLAccess = new DLLAccess(); -+ -+ STDOUT("Simpleplayer is looking for the client core at %s\n", staticLibPath ); -+ -+ if (DLLAccess::DLL_OK != pDLLAccess->open(staticLibPath)) -+ { -+ const char* pErrorString = NULL; -+ pErrorString = pDLLAccess->getErrorString(); -+ STDERR("splayer: %s\n\n", pErrorString); -+#ifndef _STATICALLY_LINKED -+#ifndef _MACINTOSH -+ //Make sure the user has told us where to find the DLLs at. Either -+ //with the -l option or with the HELIX_LIBS env var. -+ STDERR("You must tell the player where to find the client core and\n"); -+ STDERR("all of its supporting DLLs and codecs. Please use the -l\n"); -+ STDERR("option or set your HELIX_LIBS env variable to point the player.\n"); -+ STDERR("to where you have all of the DLLs installed.\n\n" ); -+ //PrintUsage(argv[0]); -+#endif -+#endif -+ goto cleanup; -+ } -+ -+ GetGlobal()->m_fpHXMediaPlatformOpen = (FPHXMEDIAPLATFORMOPEN) pDLLAccess->getSymbol("HXMediaPlatformOpen"); -+ GetGlobal()->m_fpHXCreateMediaPlatform = (FPHXCREATEMEDIAPLATFORM) pDLLAccess->getSymbol("HXCreateMediaPlatform"); -+ GetGlobal()->m_fpHXMediaPlatformClose = (FPHXMEDIAPLATFORMCLOSE) pDLLAccess->getSymbol("HXMediaPlatformClose"); -+ -+ GetGlobal()->m_fpCreateEngine = (FPRMCREATEENGINE) pDLLAccess->getSymbol("CreateEngine"); -+ GetGlobal()->m_fpCloseEngine = (FPRMCLOSEENGINE) pDLLAccess->getSymbol("CloseEngine"); -+ GetGlobal()->m_fpSetDLLAccessPath = (FPRMSETDLLACCESSPATH) pDLLAccess->getSymbol("SetDLLAccessPath"); -+ -+ if (GetGlobal()->m_fpHXMediaPlatformOpen == NULL || -+ GetGlobal()->m_fpHXCreateMediaPlatform == NULL || -+ GetGlobal()->m_fpHXMediaPlatformClose == NULL || -+ GetGlobal()->m_fpCreateEngine == NULL || -+ GetGlobal()->m_fpCloseEngine == NULL || -+ GetGlobal()->m_fpSetDLLAccessPath == NULL ) -+ { -+ theErr = HXR_FAILED; -+ goto cleanup; -+ } -+ -+#if defined(USE_XWINDOWS) && defined(HELIX_FEATURE_VIDEO) -+ XInitThreads(); -+#endif -+ -+ { -+ fpHXMediaPlatformOpen = GetGlobal()->m_fpHXMediaPlatformOpen; -+ fpHXCreateMediaPlatform = GetGlobal()->m_fpHXCreateMediaPlatform; -+ fpHXMediaPlatformClose = GetGlobal()->m_fpHXMediaPlatformClose; -+ -+ if (HXR_OK != fpHXMediaPlatformOpen()) -+ { -+ theErr = HXR_FAILED; -+ goto cleanup; -+ } -+ -+ if (HXR_OK != fpHXCreateMediaPlatform((IHXMediaPlatform**)&GetGlobal()->pMediaPlatform)) -+ { -+ theErr = HXR_FAILED; -+ goto cleanup; -+ } -+ -+ IHXMediaPlatform* pMediaPlatform = GetGlobal()->pMediaPlatform; -+ -+ -+ if (HXR_OK != pMediaPlatform->AddPluginPath("HelixSimplePlayer", dllhome)) -+ { -+ theErr = HXR_FAILED; -+ goto cleanup; -+ } -+ -+ if (HXR_OK != pMediaPlatform->Init(NULL)) -+ { -+ theErr = HXR_FAILED; -+ goto cleanup; -+ } -+ -+ IHXCommonClassFactory* pCCF = NULL; -+ if (HXR_OK != pMediaPlatform->QueryInterface(IID_IHXCommonClassFactory, -+ (void**)&pCCF)) -+ { -+ theErr = HXR_FAILED; -+ goto cleanup; -+ } -+ -+ if (HXR_OK != pCCF->CreateInstance(CLSID_IHXClientEngine, (void**)&GetGlobal()->pEngine)) -+ { -+ HX_RELEASE(pCCF); -+ theErr = HXR_FAILED; -+ goto cleanup; -+ } -+ -+ HX_RELEASE(pCCF); -+ -+ IHXMediaPlatformKicker* pKicker = NULL; -+ pMediaPlatform->QueryInterface(IID_IHXMediaPlatformKicker, (void**)&pKicker); -+ HX_ASSERT(pKicker); -+ GetGlobal()->g_pIHXKicker = pKicker; -+ GetGlobal()->g_uThreadIDForKicker = HXGetCurrentThreadID(); -+ -+ pthread_t thread_id; -+ pthread_create(&thread_id, NULL, kickman, NULL); -+ GetGlobal()->g_pThreadKickmanId = thread_id; -+ } -+ -+ -+ -+ { -+ -+ -+#if defined(_WIN32) && !defined(WIN32_PLATFORM_PSPC) -+ SetConsoleCtrlHandler((PHANDLER_ROUTINE)HandlerRoutine, -+ TRUE); -+#endif -+ -+ } -+ -+ return HXR_OK; -+ -+ cleanup: -+ deinit_main(); -+ return HXR_FAIL; -+} -+ -+/* Get the least index to available entry in Getglobal()->gPlayers */ -+static int get_index() -+{ -+ int i; -+ /* an simple implementation */ -+ for (i = 0; i < MAX_NUM_PLAYERS; i++) -+ { -+ if (GetGlobal()->g_Players[i] == NULL) -+ return i; -+ } -+ -+ return -1; -+} -+ -+PLAYER_API unsigned int get_curr_playtime(void *pPlayerHandle) -+{ -+ unsigned int time = 0; -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ if (pPlayer) -+ time = pPlayer->GetCurrentPlayTime(); -+ return time; -+} -+ -+PLAYER_API int get_player(void **ppPlayerHandle, on_buffering_cb_t on_buffering_cb, on_pos_length_cb_t on_pos_length_cb, on_state_change_cb_t on_state_change_cb, on_new_frame_cb_t on_new_frame_cb, void *context) -+{ -+ int index = get_index(); -+ IHXPlayer **ppPlayer = (IHXPlayer **)ppPlayerHandle; -+ ExampleClientContext* pExContext = NULL; -+ pExContext = new ExampleClientContext(index); -+ if (!pExContext) -+ { -+ return HXR_UNEXPECTED; -+ } -+ pExContext->AddRef(); -+ -+ ppPlayer[0] = NULL; -+ IHXClientEngine* pEngine = GetGlobal()->pEngine; -+ if (HXR_OK != pEngine->CreatePlayer(*ppPlayer)) -+ { -+ HX_RELEASE(pExContext); -+ return HXR_FAILED; -+ } -+#if 1 -+ char* pszGUIDList = NULL; -+ //initialize the example context -+ pszGUIDList = GetGlobal()->g_pszGUIDList; -+ { -+ char pszGUID[GUID_LEN + 1]; /* Flawfinder: ignore */ // add 1 for terminator -+ char* token = NULL; -+ IHXPreferences* pPreferences = NULL; -+ -+ pszGUID[0] = '\0'; -+ -+ if (pszGUIDList) -+ { -+ // Get next GUID from the GUID list -+ { -+ token = strtok(pszGUIDList, "\n\0"); -+ } -+ if (token) -+ { -+ strncpy(pszGUID, token, GUID_LEN); /* Flawfinder: ignore */ -+ pszGUID[GUID_LEN] = '\0'; -+ } -+ } -+ -+ ppPlayer[0]->QueryInterface(IID_IHXPreferences, -+ (void**) &pPreferences); -+ -+ pExContext->Init(ppPlayer[0], pPreferences, pszGUID, on_buffering_cb, on_pos_length_cb, on_state_change_cb, on_new_frame_cb, context); -+ -+ ppPlayer[0]->SetClientContext(pExContext); -+ -+ HX_RELEASE(pPreferences); -+ -+ IHXErrorSinkControl* pErrorSinkControl = NULL; -+ ppPlayer[0]->QueryInterface(IID_IHXErrorSinkControl, -+ (void**) &pErrorSinkControl); -+ -+ if (pErrorSinkControl) -+ { -+ IHXErrorSink* pErrorSink = NULL; -+ pExContext->QueryInterface(IID_IHXErrorSink, -+ (void**) &pErrorSink); -+ if (pErrorSink) -+ { -+ pErrorSinkControl->AddErrorSink(pErrorSink, HXLOG_EMERG, HXLOG_INFO); -+ } -+ HX_RELEASE(pErrorSink); -+ } -+ HX_RELEASE(pErrorSinkControl); -+ GetGlobal()->g_prefList.SetPreferences(ppPlayer[0]); -+ -+ } -+#endif -+ HX_ASSERT(GetGlobal()->g_nPlayers < MAX_NUM_PLAYERS); -+ GetGlobal()->g_Players[index] = ppPlayer[0]; -+ GetGlobal()->g_pClientContexts[index] = pExContext; -+ GetGlobal()->g_nPlayers++; -+ -+ return HXR_OK; -+} -+ -+static int get_index_by_player( IHXPlayer *pPlayer) -+{ -+ int i; -+ /* an simple implementation */ -+ for (i = 0; i < MAX_NUM_PLAYERS; i++) -+ { -+ if (GetGlobal()->g_Players[i] && GetGlobal()->g_Players[i] == pPlayer) -+ return i; -+ } -+ -+ return -1; -+} -+ -+PLAYER_API int player_openurl( void *pPlayerHandle, char *pszRawURL) -+{ -+ HX_RESULT ret; -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ int index = get_index_by_player(pPlayer); -+ if (index < 0) -+ return HXR_FAIL; -+ -+ char *pszURLOrig = RemoveWrappingQuotes(pszRawURL); -+ -+ //if no "://" was found lets add file:// by default so that you -+ //can refer to local content as just ./splay ~/Content/startrek.rm, -+ //for example, and not ./splay file:///home/gregory/Content/startrek.rm -+ char* pszAddOn = NULL; -+ if( strstr( pszURLOrig, "://") ) -+ pszAddOn = (char *)""; -+ else -+ pszAddOn = (char *)"file://"; -+ -+ char *pszURL = new char[strlen(pszURLOrig)+strlen(pszAddOn)+1]; -+ sprintf( pszURL, "%s%s", pszAddOn, pszURLOrig ); /* Flawfinder: ignore */ -+ // Increment the number of URLs we have found -+ STDERR("opening %s on player\n", pszURL); -+ -+ GetGlobal()->g_pszURLs[index] = pszURL; -+ ret = pPlayer->OpenURL(pszURL); -+ -+ UINT32 sleepTime = 0; -+ -+ IHXMediaPlatformKicker* pKicker = GetGlobal()->g_pIHXKicker; -+ if( pKicker ) -+ { -+ pKicker->Kick(HXGetCurrentThreadID(), &sleepTime); -+ } -+ -+ return ret; -+} -+ -+PLAYER_API int put_player( void *pPlayerHandle) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ int index; -+ index = get_index_by_player(pPlayer); -+ if (index < 0) -+ return HXR_FAIL; -+ -+ ExampleClientContext *pClientContext = GetGlobal()->g_pClientContexts[index]; -+ if (pClientContext) { -+ pClientContext->Release(); -+ pClientContext = NULL; -+ } -+ -+ GetGlobal()->g_pClientContexts[index] = NULL; -+ if (pPlayer) { -+ if (GetGlobal()->pEngine) { -+ GetGlobal()->pEngine->ClosePlayer(pPlayer); -+ } -+ pPlayer->Release(); -+ pPlayer = NULL; -+ } -+ GetGlobal()->g_Players[index] = NULL; -+ GetGlobal()->g_nPlayers--; -+ delete [] GetGlobal()->g_pszURLs[index]; -+ GetGlobal()->g_pszURLs[index] = NULL; -+ -+ return HXR_OK; -+} -+ -+PLAYER_API int player_geturl( void *pPlayerHandle, char **pszURL) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ int index = get_index_by_player(pPlayer); -+ if (index >= 0) { -+ *pszURL = GetGlobal()->g_pszURLs[index]; -+ return HXR_OK; -+ } -+ -+ return HXR_FAIL; -+} -+ -+PLAYER_API int player_begin( void *pPlayerHandle ) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ UINT32 sleepTime = 0; -+ pPlayer->Begin(); -+ -+#if 0 -+ IHXMediaPlatformKicker* pKicker = GetGlobal()->g_pIHXKicker; -+ if( pKicker ) -+ { -+ pKicker->Kick(HXGetCurrentThreadID(), &sleepTime); -+ } -+#endif -+ return HXR_OK; -+} -+ -+PLAYER_API int player_pause( void *pPlayerHandle ) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ UINT32 sleepTime = 0; -+ pPlayer->Pause(); -+ -+#if 0 -+ IHXMediaPlatformKicker* pKicker = GetGlobal()->g_pIHXKicker; -+ if( pKicker ) -+ { -+ pKicker->Kick(HXGetCurrentThreadID(), &sleepTime); -+ } -+#endif -+ return HXR_OK; -+} -+ -+PLAYER_API int player_stop( void *pPlayerHandle ) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ pPlayer->Stop(); -+ return HXR_OK; -+} -+ -+#if 0 -+int main(int argc, char *argv[]) -+{ -+ IHXPlayer *pPlayer; -+ init_main(); -+ while(1) { -+ get_player(&pPlayer); -+ player_openurl(pPlayer, argv[1]); -+ player_begin(pPlayer); -+ // sleep(2); -+ player_stop(pPlayer); -+ put_player(pPlayer); -+ } -+ deinit_main(); -+ return 0; -+} -+#endif -+ -+PLAYER_API int player_seek(void *pPlayerHandle, int pos) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ if (pPlayer == NULL) -+ return HXR_FAIL; -+ -+ return pPlayer->Seek(pos); -+} -+PLAYER_API int player_getvolume(void *pPlayerHandle) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ if (pPlayer == NULL) -+ return HXR_FAIL; -+ -+ int volume = 0; -+ -+ IHXAudioPlayer* pAudioPlayer = NULL; -+ pPlayer->QueryInterface(IID_IHXAudioPlayer, (void**) &pAudioPlayer); -+ if (pAudioPlayer) -+ { -+ // Get the IHXVolume -+ IHXVolume* pVolume = pAudioPlayer->GetAudioVolume(); -+ if (pVolume) -+ { -+ volume = pVolume->GetVolume(); -+ } -+ HX_RELEASE(pVolume); -+ } -+ HX_RELEASE(pAudioPlayer); -+ -+ return volume; -+} -+ -+ -+PLAYER_API int player_setvolume(void *pPlayerHandle, unsigned short volume) -+{ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ if (pPlayer == NULL) -+ return HXR_FAIL; -+ -+ IHXAudioPlayer* pAudioPlayer = NULL; -+ pPlayer->QueryInterface(IID_IHXAudioPlayer, (void**) &pAudioPlayer); -+ if (pAudioPlayer) -+ { -+ // Get the IHXVolume -+ IHXVolume* pVolume = pAudioPlayer->GetAudioVolume(); -+ if (pVolume) -+ { -+ pVolume->SetVolume(volume); -+ } -+ HX_RELEASE(pVolume); -+ } -+ HX_RELEASE(pAudioPlayer); -+} -+ -+PLAYER_API int deinit_main() -+{ -+ -+ pthread_cancel(GetGlobal()->g_pThreadKickmanId); -+ int ret ; -+ ret = pthread_join(GetGlobal()->g_pThreadKickmanId, NULL); -+ if (ret < 0) { -+ perror("pthread_join error\n"); -+ } -+#if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) -+ if (GetGlobal()->g_pVelocityCaps) -+ { -+ IHXPlaybackVelocityCaps* pCaps = GetGlobal()->g_pVelocityCaps; -+ pCaps->Release(); -+ GetGlobal()->g_pVelocityCaps = NULL; -+ } -+#endif /* #if defined(HELIX_FEATURE_PLAYBACK_VELOCITY) */ -+ -+#ifdef __TCS__ -+ g_nPlayers = 0; -+#endif -+ -+ -+ { -+ IHXClientEngine* pEngine = GetGlobal()->pEngine; -+ -+ if (pEngine) -+ { -+ IHXClientEngine2* pEngine2 = NULL; -+ if (HXR_OK == pEngine->QueryInterface(IID_IHXClientEngine2, -+ (void**)&pEngine2)) -+ { -+ pEngine2->Close(); -+ } -+ HX_RELEASE(pEngine2); -+ } -+ HX_RELEASE(GetGlobal()->pEngine); -+ HX_RELEASE(GetGlobal()->g_pIHXKicker); -+ -+ if (GetGlobal()->pMediaPlatform) -+ { -+ // Reset() not only close the platform but also remove all -+ // persistent information(i.e. preferences) maintained by the -+ // platform -+ // GetGlobal()->pMediaPlatform->Reset(NULL); -+ GetGlobal()->pMediaPlatform->Close(); -+ HX_RELEASE(GetGlobal()->pMediaPlatform); -+ } -+ -+ if (GetGlobal()->m_fpHXMediaPlatformClose) -+ { -+ GetGlobal()->m_fpHXMediaPlatformClose(); -+ } -+ } -+ -+ -+ if (GetGlobal()->bEnableVerboseMode) -+ { -+ STDOUT("\nDone.\n"); -+ } -+ -+ if (GetGlobal()->g_pszUsername) -+ { -+ delete [] GetGlobal()->g_pszUsername; -+ GetGlobal()->g_pszUsername = NULL; -+ } -+ if (GetGlobal()->g_pszPassword) -+ { -+ delete [] GetGlobal()->g_pszPassword; -+ GetGlobal()->g_pszPassword = NULL; -+ } -+ if (GetGlobal()->g_pszGUIDFile) -+ { -+ delete [] GetGlobal()->g_pszGUIDFile; -+ GetGlobal()->g_pszGUIDFile = NULL; -+ } -+ if (GetGlobal()->g_pszGUIDList) -+ { -+ delete [] GetGlobal()->g_pszGUIDList; -+ GetGlobal()->g_pszGUIDList = NULL; -+ } -+ // If an error occurred during playback, return that -+ -+ if (GetGlobal()->g_Error != HXR_OK) -+ { -+ return GetGlobal()->g_Error; -+ } -+ // or HXR_OK (if there was more than one player) -+ else -+ { -+ return HXR_OK; -+ } -+} -+char* GetAppName(char* pszArgv0) -+{ -+ char* pszAppName; -+ -+ pszAppName = strrchr(pszArgv0, '\\'); -+ -+ if (NULL == pszAppName) -+ { -+ return pszArgv0; -+ } -+ else -+ { -+ return pszAppName + 1; -+ } -+} -+ -+void PrintUsage(const char* pszAppName) -+{ -+} -+ -+ -+ -+HXBOOL ReadGUIDFile() -+{ -+ HXBOOL bSuccess = FALSE; -+ FILE* pFile = NULL; -+ int nNumRead = 0; -+ int readSize = 10000; -+ char* pszBuffer = new char[readSize]; -+ -+ if (GetGlobal()->g_pszGUIDFile) -+ { -+ if((pFile = fopen(GetGlobal()->g_pszGUIDFile, "r")) != NULL) -+ { -+ // Read in the entire file -+ nNumRead = fread(pszBuffer, sizeof(char), readSize, pFile); -+ pszBuffer[nNumRead] = '\0'; -+ -+ // Store it for later parsing -+ GetGlobal()->g_pszGUIDList = new char[nNumRead + 1]; -+ strcpy(GetGlobal()->g_pszGUIDList, pszBuffer); /* Flawfinder: ignore */ -+ -+ fclose(pFile); -+ pFile = NULL; -+ -+ if (nNumRead > 0) -+ { -+ bSuccess = TRUE; -+ } -+ } -+ } -+ -+ delete [] pszBuffer; -+ -+ return bSuccess; -+} -+ -+static int are_all_src_seekable(IHXPlayer *pPlayer) -+{ -+ UINT16 nSrcCnt; -+ nSrcCnt = pPlayer->GetSourceCount(); -+ HXSource *pSource = NULL; /* This is brute-force */ -+ for (UINT16 i = 0; i < nSrcCnt; i++) -+ { -+ if (pPlayer->GetSource(i, (IUnknown *&)pSource) == HXR_OK) -+ { -+ if (!pSource->IsSeekable()) -+ return FALSE; -+ -+ -+ } -+ } -+ -+} -+ -+PLAYER_API int player_canseek(void *pPlayerHandle) -+{ -+ if (!pPlayerHandle) -+ return FALSE; -+ -+ IHXPlayer *pPlayer = (IHXPlayer *)pPlayerHandle; -+ ExampleClientContext* pExContext=NULL; -+ if (pPlayer->GetClientContext((IUnknown*&)pExContext) != HXR_OK) -+ return FALSE; -+ -+ if (!pExContext) -+ return FALSE; -+ -+ EHXClientState State = pExContext->GetState(); -+ -+ int all_src_seekable = are_all_src_seekable(pPlayer); -+ -+ HX_RELEASE(pExContext); -+ -+ if (State < HX_CLIENT_STATE_CONNECTED) -+ return TRUE; -+ -+ if (all_src_seekable && (!pPlayer->IsLive() || State == HX_CLIENT_STATE_PAUSED)) -+ return TRUE; -+ -+ return FALSE; -+} -+ -+ -Index: helix-libs/clientapps/clutter/player.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/player.h 2008-10-13 06:54:45.000000000 -0700 -@@ -0,0 +1,60 @@ -+#ifndef _PLAYER_H_ -+#define _PLAYER_H_ -+ -+#ifdef __cplusplus -+#define PLAYER_API extern "C" -+#else -+#define PLAYER_API -+#endif -+ -+/* Duplicate of EHXClientState */ -+typedef enum _EPlayerStateState -+{ -+ PLAYER_STATE_READY = 0, // uninitialized -+ PLAYER_STATE_CONNECTING, // attempting to connect to sources -+ PLAYER_STATE_CONNECTED, // connected to sources (realized) -+ PLAYER_STATE_OPENING, // opening sources -+ PLAYER_STATE_OPENED, // opened sources -+ PLAYER_STATE_PREFETCHING,// obtaining resources, buffering, etc. -+ PLAYER_STATE_PREFETCHED, // ready for playback at time zero -+ PLAYER_STATE_PLAYING, // currently playing -+ PLAYER_STATE_PAUSED, // paused -+ PLAYER_STATE_SEEKING // seeking -+} EHXPlayerState; -+ -+typedef struct { -+ int left; -+ int top; -+ int right; -+ int bottom; -+} PlayerRect; -+ -+typedef struct { -+ PlayerRect Rect; -+ unsigned int cx; -+ unsigned int cy; -+} PlayerImgInfo; -+ -+typedef void (*on_pos_length_cb_t)(unsigned int, unsigned int, void *); -+typedef void (*on_buffering_cb_t)(unsigned int, unsigned short, void *); -+typedef void (*on_state_change_cb_t)(unsigned short, unsigned short, void *); -+typedef void (*on_new_frame_cb_t)(unsigned char *p, unsigned int size, PlayerImgInfo *rect, void *context); -+ -+PLAYER_API int init_main(); -+PLAYER_API int deinit_main(); -+PLAYER_API int get_player(void **ppPlayerHandle, on_buffering_cb_t on_buffering_cb, on_pos_length_cb_t on_pos_length_cb, on_state_change_cb_t on_state_change_cb, on_new_frame_cb_t on_new_frame_cb, void *context); -+PLAYER_API int player_openurl( void *pPlayerHandle, char *pszRawURL); -+PLAYER_API int put_player( void *pPlayerHandle); -+PLAYER_API int player_geturl( void *pPlayerHandle, char **pszURL); -+PLAYER_API int player_begin( void *pPlayerHandle ); -+PLAYER_API int player_stop( void *pPlayerHandle ); -+PLAYER_API int player_pause( void *pPlayerHandle ); -+PLAYER_API unsigned int get_curr_playtime(void *pPlayerHandle); -+PLAYER_API int player_seek(void *pPlayerHandle, int pos); -+PLAYER_API int player_getvolume(void *pPlayerHandle); -+PLAYER_API int player_setvolume(void *pPlayerHandle, unsigned short volumn); -+PLAYER_API int player_canseek(void *pPlayerHandle); -+ -+ -+#endif -+ -Index: helix-libs/clientapps/clutter/preflist.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/preflist.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,142 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: preflist.cpp,v 1.2 2007/07/06 20:32:36 jfinnecy Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+#include "preflist.h" -+ -+#include "hxstring.h" -+#include "hxccf.h" -+#include "hxprefs.h" -+#include "ihxpckts.h" -+ -+class CHXPrefInfo -+{ -+public: -+ CHXPrefInfo(const char* pKey, const char* pValue); -+ ~CHXPrefInfo(); -+ -+ const char* Key() const { return m_key;} -+ const char* Value() const { return m_value;} -+ -+private: -+ CHXString m_key; -+ CHXString m_value; -+}; -+ -+CHXPrefInfo::CHXPrefInfo(const char* pKey, const char* pValue) : -+ m_key(pKey), -+ m_value(pValue) -+{} -+ -+CHXPrefInfo::~CHXPrefInfo() -+{} -+ -+CHXPrefList::CHXPrefList() -+{} -+ -+CHXPrefList::~CHXPrefList() -+{ -+ Clear(); -+} -+ -+void CHXPrefList::Add(const char* pKey, const char* pValue) -+{ -+ CHXPrefInfo* pInfo = new CHXPrefInfo(pKey, pValue); -+ -+ if (pInfo) -+ { -+ if (!m_prefInfo.AddTail(pInfo)) -+ { -+ // We failed to insert the preference. -+ HX_DELETE(pInfo); -+ } -+ } -+} -+ -+void CHXPrefList::Clear() -+{ -+ while(!m_prefInfo.IsEmpty()) -+ { -+ CHXPrefInfo* pInfo = (CHXPrefInfo*)m_prefInfo.RemoveHead(); -+ HX_DELETE(pInfo); -+ } -+} -+ -+void CHXPrefList::SetPreferences(IUnknown* pContext) -+{ -+ IHXPreferences* pPrefs = NULL; -+ IHXCommonClassFactory* pCCF = NULL; -+ -+ if (pContext && -+ (HXR_OK == pContext->QueryInterface(IID_IHXPreferences, -+ (void**)&pPrefs)) && -+ (HXR_OK == pContext->QueryInterface(IID_IHXCommonClassFactory, -+ (void**)&pCCF))) -+ { -+ CHXSimpleList::Iterator itr = m_prefInfo.Begin(); -+ -+ for(; itr != m_prefInfo.End(); ++itr) -+ { -+ CHXPrefInfo* pInfo = (CHXPrefInfo*)(*itr); -+ -+ IHXBuffer* pBuf = NULL; -+ -+ if ((HXR_OK == pCCF->CreateInstance(CLSID_IHXBuffer, -+ (void**)&pBuf)) && -+ (HXR_OK == pBuf->Set((const unsigned char*)pInfo->Value(), -+ strlen(pInfo->Value())))) -+ { -+ pPrefs->WritePref(pInfo->Key(), pBuf); -+ } -+ -+ HX_RELEASE(pBuf); -+ } -+ } -+ -+ HX_RELEASE(pPrefs); -+ HX_RELEASE(pCCF); -+} -Index: helix-libs/clientapps/clutter/preflist.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/preflist.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,69 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: preflist.h,v 1.2 2007/07/06 20:32:36 jfinnecy Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+#ifndef PREFLIST_H -+#define PREFLIST_H -+ -+#include "hxslist.h" -+ -+class CHXPrefList -+{ -+public: -+ CHXPrefList(); -+ ~CHXPrefList(); -+ -+ void Add(const char* pKey, const char* pValue); -+ void Clear(); -+ -+ void SetPreferences(IUnknown* pContext); -+ -+private: -+ CHXSimpleList m_prefInfo; -+}; -+ -+#endif /* PREFLIST_H */ -Index: helix-libs/clientapps/clutter/print.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/print.cpp 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,80 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include -+#include -+#include "print.h" -+#ifdef WIN32_PLATFORM_PSPC -+#include "hlxosstr.h" -+#include -+#endif -+ -+int print2stdout(const char* pFmt, ...) -+{ -+ va_list args; -+ -+ va_start(args, pFmt); -+ -+#ifdef WIN32_PLATFORM_PSPC -+ char szMessage[512]; -+ int ret = vsprintf(szMessage, pFmt, args); -+ OutputDebugString(OS_STRING(szMessage)); -+#else -+ int ret = vfprintf(stdout, pFmt, args); -+#endif -+ -+ va_end(args); -+ -+ return ret; -+} -+ -+int print2stderr(const char* pFmt, ...) -+{ -+ va_list args; -+ -+ va_start(args, pFmt); -+ -+#ifdef WIN32_PLATFORM_PSPC -+ char szMessage[512]; -+ int ret = vsprintf(szMessage, pFmt, args); -+ OutputDebugString(OS_STRING(szMessage)); -+#else -+ int ret = vfprintf(stderr, pFmt, args); -+#endif -+ -+ va_end(args); -+ -+ return ret; -+} -Index: helix-libs/clientapps/clutter/print.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/print.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,60 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: RCSL 1.0/RPSL 1.0 -+ * -+ * Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, are -+ * subject to the current version of the RealNetworks Public Source License -+ * Version 1.0 (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the RealNetworks Community Source License Version 1.0 -+ * (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+ * in which case the RCSL will apply. You may also obtain the license terms -+ * directly from RealNetworks. You may not use this file except in -+ * compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+ * applicable to this file, the RCSL. Please see the applicable RPSL or -+ * RCSL for the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the portions -+ * it created. -+ * -+ * This file, and the files included with this file, is distributed and made -+ * available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+ * EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+ * FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef PRINT_H -+#define PRINT_H -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#ifdef _SYMBIAN -+#include "platform/symbian/symbian_print.h" -+ -+#define STDOUT symbianPrint -+#define STDERR symbianPrint -+#else -+int print2stdout(const char* pFmt, ...); -+int print2stderr(const char* pFmt, ...); -+#define STDOUT print2stdout -+#define STDERR print2stderr -+#endif -+ -+#ifdef __cplusplus -+}; -+#endif -+ -+ -+#endif /* PRINT_H */ -Index: helix-libs/clientapps/clutter/shmhelp.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/shmhelp.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,88 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: shmhelp.h,v 1.5 2007/07/06 20:54:01 jfinnecy Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#if defined(USE_XWINDOWS) -+#include -+#include -+#include -+#endif -+ -+#include "hxcom.h" -+#include "hxtypes.h" -+ -+ -+class ShmHelp -+{ -+ public: -+ -+ //Helpers -+ static void Init(Display* pDisplay ); -+ static HXBOOL ShmAvailable(); -+ static HX_RESULT DetachSharedRegion(UCHAR**ppMem, XShmSegmentInfo* pInfo ); -+ static HX_RESULT CreateSharedRegion( INT32 nSize, -+ UCHAR**ppMem, -+ int* pnShmID, -+ XShmSegmentInfo* pInfo ); -+ -+ -+ protected: -+ -+ private: -+ static HXBOOL zm_bUseShm; -+ -+ //The X11 Segment ID.... -+ static int zm_nSegment; -+ static Display* zm_pDisplay; -+ -+ ShmHelp(); -+ ShmHelp(Display*); -+ ~ShmHelp(); -+ -+}; -+ -Index: helix-libs/clientapps/clutter/unix.pcf -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/unix.pcf 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,65 @@ -+# -+# ***** BEGIN LICENSE BLOCK ***** -+# Version: RCSL 1.0/RPSL 1.0 -+# -+# Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved. -+# -+# The contents of this file, and the files included with this file, are -+# subject to the current version of the RealNetworks Public Source License -+# Version 1.0 (the "RPSL") available at -+# http://www.helixcommunity.org/content/rpsl unless you have licensed -+# the file under the RealNetworks Community Source License Version 1.0 -+# (the "RCSL") available at http://www.helixcommunity.org/content/rcsl, -+# in which case the RCSL will apply. You may also obtain the license terms -+# directly from RealNetworks. You may not use this file except in -+# compliance with the RPSL or, if you have a valid RCSL with RealNetworks -+# applicable to this file, the RCSL. Please see the applicable RPSL or -+# RCSL for the rights, obligations and limitations governing use of the -+# contents of the file. -+# -+# This file is part of the Helix DNA Technology. RealNetworks is the -+# developer of the Original Code and owns the copyrights in the portions -+# it created. -+# -+# This file, and the files included with this file, is distributed and made -+# available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -+# EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES, -+# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS -+# FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. -+# -+# Technology Compatibility Kit Test Suite(s) Location: -+# http://www.helixcommunity.org/content/tck -+# -+# Contributor(s): -+# -+# ***** END LICENSE BLOCK ***** -+# -+ -+ -+if( ('HELIX_FEATURE_MINI_SITE' not in project.defines) and -+ (platform.name in ('linux2', 'linux-i386')) and -+ ('HELIX_FEATURE_VIDEO' in project.defines) and -+ (project.BuildOption("nodll")) -+ ): -+ project.sys_libraries.append('Xv', 'Xext') -+ -+ -+ -+ -+if project.BuildOption("nodll"): -+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV20"): -+ if platform.name in ('linux2', 'linux-i386', 'win32') and sysinfo.arch == 'i386': -+ project.AddLibraries(GetSDKPath("rvg2dec_libs") + '[adecg2]') -+ else: -+ project.AddLibraries(GetSDKPath("rvg2dec_libs") + '[cdecg2]') -+ -+ if project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV30") or \ -+ project.IsDefined("HELIX_FEATURE_VIDEO_CODEC_RV40"): -+ if project.IsDefined("HELIX_FEATURE_ANSIC_RV89COMBO"): -+ project.AddLibraries(GetSDKPath("rv89combo_c_libs")+"[cdec]") -+ else: -+ if platform.name in ('linux2', 'linux-i386') and sysinfo.arch == 'i386': -+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[adec40]") -+ else: -+ project.AddLibraries(GetSDKPath("rv89combo_libs")+"[cdec40]") -+ -Index: helix-libs/clientapps/clutter/unixcmap.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/unixcmap.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,51 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: unixcmap.h,v 1.3 2007/07/06 20:54:01 jfinnecy Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+EXTERN_C Colormap HXGetXColormap(Display* pDisplay, Window window); -+EXTERN_C void HXFindBestXColor(Display* pDisplay, Colormap cmap, XColor* desired); -Index: helix-libs/clientapps/clutter/visuals.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ helix-libs/clientapps/clutter/visuals.h 2008-10-13 06:05:49.000000000 -0700 -@@ -0,0 +1,74 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Source last modified: $Id: visuals.h,v 1.4 2007/07/06 20:54:01 jfinnecy Exp $ -+ * -+ * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved. -+ * -+ * The contents of this file, and the files included with this file, -+ * are subject to the current version of the RealNetworks Public -+ * Source License (the "RPSL") available at -+ * http://www.helixcommunity.org/content/rpsl unless you have licensed -+ * the file under the current version of the RealNetworks Community -+ * Source License (the "RCSL") available at -+ * http://www.helixcommunity.org/content/rcsl, in which case the RCSL -+ * will apply. You may also obtain the license terms directly from -+ * RealNetworks. You may not use this file except in compliance with -+ * the RPSL or, if you have a valid RCSL with RealNetworks applicable -+ * to this file, the RCSL. Please see the applicable RPSL or RCSL for -+ * the rights, obligations and limitations governing use of the -+ * contents of the file. -+ * -+ * Alternatively, the contents of this file may be used under the -+ * terms of the GNU General Public License Version 2 (the -+ * "GPL") in which case the provisions of the GPL are applicable -+ * instead of those above. If you wish to allow use of your version of -+ * this file only under the terms of the GPL, and not to allow others -+ * to use your version of this file under the terms of either the RPSL -+ * or RCSL, indicate your decision by deleting the provisions above -+ * and replace them with the notice and other provisions required by -+ * the GPL. If you do not delete the provisions above, a recipient may -+ * use your version of this file under the terms of any one of the -+ * RPSL, the RCSL or the GPL. -+ * -+ * This file is part of the Helix DNA Technology. RealNetworks is the -+ * developer of the Original Code and owns the copyrights in the -+ * portions it created. -+ * -+ * This file, and the files included with this file, is distributed -+ * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY -+ * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS -+ * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET -+ * ENJOYMENT OR NON-INFRINGEMENT. -+ * -+ * Technology Compatibility Kit Test Suite(s) Location: -+ * http://www.helixcommunity.org/content/tck -+ * -+ * Contributor(s): -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef _UNIX -+#error This is the UNIX platform specific implementation. -+#endif -+ -+#ifndef _VISUALS_H_ -+#define _VISUALS_H_ -+ -+#if defined(USE_XWINDOWS) -+#include -+#include -+#include -+#endif -+ -+// -+// These functions are loaded with dlsym() so turn off name mangling -+// with extern "C". -+// -+extern "C" { -+ -+Visual* GetBestVisual(Display* display); -+Visual* GetVisual(Display* display, long mask, XVisualInfo* templ); -+ -+} -+ -+#endif // _VISUALS_H_ diff --git a/meta-extras/packages/helix/helix-libs/helix-player.pc b/meta-extras/packages/helix/helix-libs/helix-player.pc deleted file mode 100644 index 5d2994809e..0000000000 --- a/meta-extras/packages/helix/helix-libs/helix-player.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/usr -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: helix-player -Description: Helix Player Interface -Version: 4.1.0 -Libs: -L${libdir} -lhelix-player -lstdc++ -Cflags: -I/opt/helix/include -D_UNIX -Requires: diff --git a/meta-extras/packages/helix/helix-libs/hxclient.pc b/meta-extras/packages/helix/helix-libs/hxclient.pc deleted file mode 100644 index 8f64d25670..0000000000 --- a/meta-extras/packages/helix/helix-libs/hxclient.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/opt/helix -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: hxclient -Description: Helix Client Libraries off the Atlas Branch -Version: 4.1.0 -Libs: -L${libdir} -lhxclient -lstdc++ -Cflags: -I${includedir} -D_UNIX -Requires: diff --git a/meta-extras/packages/helix/ribosome.bb b/meta-extras/packages/helix/ribosome.bb deleted file mode 100644 index 3cea6f6755..0000000000 --- a/meta-extras/packages/helix/ribosome.bb +++ /dev/null @@ -1,43 +0,0 @@ -DESCRIPTION = "Ribosome: HelixCommunity Build System" -SECTION = "base" -HOMEPAGE = "http://helixcommunity.org" -LICENSE = "GPLv2" - -_SNAPSHOT = "22102008" -_TARBALL_SERVER = "http://git.moblin.org/repos/users/rusty" - -PV="r0" -PR = "r1" - -SRC_URI = "${_TARBALL_SERVER}/ribosome-${_SNAPSHOT}.tar.bz2 \ - ${_TARBALL_SERVER}/client-bif-${_SNAPSHOT}.tar.bz2 \ - ${_TARBALL_SERVER}/common-bif-${_SNAPSHOT}.tar.bz2 \ - file://ribosome/clutter.bif \ - file://ribosome/buildrc" - -S = "${WORKDIR}" - -COMPATIBLE_HOST = '(i.86.*-linux)' - -do_install() { - # Install build system of doom - install -d ${D}${libdir} - cp -a ribosome-${_SNAPSHOT} ${D}${libdir}/ribosome - install -m 0644 ribosome/buildrc ${D}${libdir}/ribosome/ - - # Install client BIF's - install -d ${D}${libdir}/ribosome/bif-cvs/helix/client/build/BIF - install -m 0644 client-bif-${_SNAPSHOT}/*.bif \ - ${D}${libdir}/ribosome/bif-cvs/helix/client/build/BIF - - # Install common BIF's - install -d ${D}${libdir}/ribosome/bif-cvs/helix/common/build/BIF - install -m 0644 common-bif-${_SNAPSHOT}/*.bif \ - ${D}${libdir}/ribosome/bif-cvs/helix/common/build/BIF - - # Install our own custom BIF - install -m 0644 ribosome/*.bif ${D}${libdir}/ribosome/bif-cvs/helix/client/build/BIF/ - - # The [ and ] characters break packaging, remove for now - rm -rf ${D}${libdir}/ribosome/test/data/utils/[client-restricted] -} diff --git a/meta-extras/packages/helix/ribosome/buildrc b/meta-extras/packages/helix/ribosome/buildrc deleted file mode 100644 index 6dbc47a06d..0000000000 --- a/meta-extras/packages/helix/ribosome/buildrc +++ /dev/null @@ -1,4 +0,0 @@ -AddMultiCVS("helix",":ext:cvs.helixcommunity.org:/cvsroot/") -AddBIFPath("common", "[helix]/common/build/BIF") -AddBIFPath("client", "[helix]/client/build/BIF") -SetSDKPath("oggvorbissdk", "/usr/") diff --git a/meta-extras/packages/helix/ribosome/clutter.bif b/meta-extras/packages/helix/ribosome/clutter.bif deleted file mode 100755 index a87fcb3faa..0000000000 --- a/meta-extras/packages/helix/ribosome/clutter.bif +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - unix - - - - HELIX_FEATURE_AUDIO_VORBIS - HELIX_FEATURE_VIDEO_THEORA - HELIX_FEATURE_NETSERVICES_SHIM - HELIX_FEATURE_AVIFF - HELIX_CONFIG_SLUGGISHAUTOUPGRADE - HELIX_FEATURE_ALSA - _FORTIFY_SOURCE=2 - - - - client_include - datatype_tools_dtdriver_dtdrplin - - - - helix_client_objs - player_hxclientkit - player_hxclientkit_src_hxrecordengine - client_core - client_resource - client_xres - protocol_sdp - video_site - datatype_smil - datatype_text_realtext_fileformat - datatype_text_realtext_renderer - datatype_tools_dtdriver_dtdrplin - datatype_ogg_fileformat - datatype_vorbis_renderer - datatype_theora_renderer - datatype_h261_renderer - datatype_h263 - datatype_group_audio - datatype_group_image - datatype_ram - datatype_sdp - datatype_avi_fileformat - filesystem_local - filesystem_http - filesystem_memory - common_auth_authmgr - common_auth_rn5auth - client_auth_basicauth - common_log_logsystem - common_log_logobserverfile - - - - - - - - diff --git a/meta-extras/packages/images/poky-image-extras.bb b/meta-extras/packages/images/poky-image-extras.bb deleted file mode 100644 index 7ad5fd5171..0000000000 --- a/meta-extras/packages/images/poky-image-extras.bb +++ /dev/null @@ -1,9 +0,0 @@ -# -# Copyright (C) 2007 OpenedHand Ltd. -# - -IMAGE_FEATURES += "apps-core apps-pda" - -inherit poky-image - -IMAGE_INSTALL += "task-poky-extraapps" diff --git a/meta-extras/packages/libol/libol_0.3.18.bb b/meta-extras/packages/libol/libol_0.3.18.bb deleted file mode 100644 index ba6d6ce638..0000000000 --- a/meta-extras/packages/libol/libol_0.3.18.bb +++ /dev/null @@ -1,8 +0,0 @@ -PR = "r7" - -SRC_URI = "http://www.balabit.com/downloads/files/libol/0.3/${P}.tar.gz" - -S = "${WORKDIR}/${PN}-${PV}" - -inherit autotools binconfig - diff --git a/meta-extras/packages/librds/librds_0.0.1.bb b/meta-extras/packages/librds/librds_0.0.1.bb deleted file mode 100644 index 3c99ec1ba0..0000000000 --- a/meta-extras/packages/librds/librds_0.0.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "A software library for accessing RDS data" -HOMEPAGE = "http://rdsd.berlios.de/" -SECTION = "libs" -PROVIDES = "librds" -LICENSE = "GPLv2" - -PR = "r1" - -SRC_URI = "http://download.berlios.de/rdsd/librds-${PV}.tar.gz" - -inherit autotools pkgconfig diff --git a/meta-extras/packages/libxosd/files/autofoo.patch b/meta-extras/packages/libxosd/files/autofoo.patch deleted file mode 100644 index e26f15e9e5..0000000000 --- a/meta-extras/packages/libxosd/files/autofoo.patch +++ /dev/null @@ -1,116 +0,0 @@ -Index: current/configure.ac -=================================================================== ---- current.orig/configure.ac 2007-06-14 09:06:04.000000000 +0000 -+++ current/configure.ac 2007-06-14 09:14:37.000000000 +0000 -@@ -52,8 +52,6 @@ - CFLAGS="$CFLAGS $X_CFLAGS -Wall" - - dnl Checks for libraries. --AM_PATH_GTK(1.2.2,, -- AC_MSG_WARN([*** GTK+ >= 1.2.2 not found ***])) - AC_CHECK_LIB(X11, XInitThreads,, - AC_MSG_ERROR([*** X11 not threadsafe ***])) - AC_CHECK_LIB(Xext, XShapeQueryExtension,, -@@ -107,63 +105,6 @@ - AC_MSG_WARN("beep media player not found") - fi - --dnl Check for xmms --AM_PATH_XMMS(1.2.7,, -- AC_MSG_WARN("xmms plugins can not be built")) --dnl Override where to place libxmms_xosd.so --AC_ARG_WITH([plugindir], -- AC_HELP_STRING([--with-plugindir=DIR], -- [Set the xmms plugin directory]), -- [XMMS_PLUGIN_DIR="$withval"], -- [XMMS_PLUGIN_DIR="$XMMS_GENERAL_PLUGIN_DIR"]) -- --dnl Check for gdk-pixbuf --AM_PATH_GDK_PIXBUF(0.22.0,, -- AC_MSG_WARN("new xmms plugin can not be built")) --dnl Override where to place pixmaps for libxmms_xosd.so --AC_ARG_WITH([pixmapdir], -- AC_HELP_STRING([--with-pixmapdir=DIR], -- [Set the directory for xmms plugin pixmaps]), -- [XMMS_PIXMAPDIR="$withval"], -- [XMMS_PIXMAPDIR="${datadir}/xosd"]) --AC_SUBST(XMMS_PIXMAPDIR) -- --dnl NEW plugin --AC_ARG_ENABLE([new-plugin], -- AC_HELP_STRING([--disable-new-plugin], -- [Disable new xmms plugin (enabled by default)]), -- [enable_new_plugin="$enableval"], -- [enable_new_plugin="yes"]) --AC_MSG_CHECKING([whether new xmms plugin was requested]) --AC_MSG_RESULT($enable_new_plugin) --AM_CONDITIONAL([BUILD_NEW_PLUGIN], -- [test x"$enable_new_plugin" = "xyes" -a x"$no_xmms" != "xyes" -a x"$no_gdk_pixbuf" != "xyes"]) -- -- --dnl Check for Beep Media player --AC_ARG_ENABLE([beep_media_player_plugin], -- AC_HELP_STRING([--enable-beep_media_player_plugin], -- [Enable beep media plugin (enabled by default)]), -- [beep_media_player_plugin="$enableval"], -- [beep_media_player_plugin="yes"]) --AC_MSG_CHECKING([whether beep media plugin was requested]) --AC_MSG_RESULT($beep_media_player_plugin) -- --AM_CONDITIONAL([BUILD_BEEP_MEDIA_PLUGIN], -- [test x"$beep_media_player_plugin" = "xyes" -a x"$no_bmp" == "xyes"]) -- --dnl OLD plugin --AC_ARG_ENABLE([old-plugin], -- AC_HELP_STRING([--enable-old-plugin], -- [Enable old xmms plugin (disabled by default)]), -- [enable_old_plugin="$enableval"], -- [enable_old_plugin="no"]) --AC_MSG_CHECKING([whether old xmms plugin was requested]) --AC_MSG_RESULT($enable_old_plugin) --AM_CONDITIONAL([BUILD_OLD_PLUGIN], -- [test x"$enable_old_plugin" = "xyes" -a x"$no_xmms" != "xyes"]) -- -- - dnl Define XOSD_VERSION - AC_DEFINE_UNQUOTED(XOSD_VERSION, "${VERSION}") - -@@ -174,8 +115,6 @@ - Makefile - src/Makefile - src/libxosd/Makefile --src/xmms_plugin/Makefile --src/bmp_plugin/Makefile - macros/Makefile - man/Makefile - pixmaps/Makefile -Index: current/src/Makefile.am -=================================================================== ---- current.orig/src/Makefile.am 2007-06-14 09:06:04.000000000 +0000 -+++ current/src/Makefile.am 2007-06-14 09:14:37.000000000 +0000 -@@ -10,6 +10,4 @@ - - include_HEADERS = xosd.h - --AM_CFLAGS = ${GTK_CFLAGS} -- --SUBDIRS=libxosd xmms_plugin bmp_plugin -+SUBDIRS=libxosd -Index: current/Makefile.am -=================================================================== ---- current.orig/Makefile.am 2007-06-14 09:06:04.000000000 +0000 -+++ current/Makefile.am 2007-06-14 09:16:15.000000000 +0000 -@@ -1,11 +1,5 @@ --if BUILD_NEW_PLUGIN -- NEW_SUB = pixmaps --endif --if BUILD_BEEP_MEDIA_PLUGIN -- NEW_SUB = pixmaps --endif --SUBDIRS = macros man $(NEW_SUB) src script --DIST_SUBDIRS = macros man pixmaps src script -+SUBDIRS = macros man src script -+DIST_SUBDIRS = macros man src script - - DISTCLEANFILES = libtool-disable-static - diff --git a/meta-extras/packages/libxosd/files/use-sane-default-font.patch b/meta-extras/packages/libxosd/files/use-sane-default-font.patch deleted file mode 100644 index 0ede1351e2..0000000000 --- a/meta-extras/packages/libxosd/files/use-sane-default-font.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: current/src/libxosd/xosd.c -=================================================================== ---- current.orig/src/libxosd/xosd.c 2007-06-16 19:37:48.000000000 +0000 -+++ current/src/libxosd/xosd.c 2007-06-17 05:00:47.000000000 +0000 -@@ -26,7 +26,7 @@ - #define XOFFSET 10 - - const char * const osd_default_font = -- "-misc-fixed-medium-r-semicondensed--*-*-*-*-c-*-*-*"; -+ "fixed"; - #if 0 - "-adobe-helvetica-bold-r-*-*-10-*"; - #endif diff --git a/meta-extras/packages/libxosd/libxosd_svn.bb b/meta-extras/packages/libxosd/libxosd_svn.bb deleted file mode 100644 index 456b7ac236..0000000000 --- a/meta-extras/packages/libxosd/libxosd_svn.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "A library for displaying a TV-like on-screen display in X." -SECTION = "libs/x11" -DEPENDS = "virtual/libx11 libxext" -LICENSE = "LGPL" -PV = "2.2.15+svnr${SRCREV}" -PR = "r5" - -SRC_URI = "svn://libxosd.svn.sourceforge.net/svnroot/libxosd/source;module=current;proto=https \ - file://autofoo.patch;patch=1 \ - file://use-sane-default-font.patch;patch=1" - -S = "${WORKDIR}/current" - -inherit autotools binconfig - -PACKAGES =+ "${PN}-examples-dbg ${PN}-examples" -FILES_${PN}-examples = "${bindir}/osd_cat" -FILES_${PN}-examples-dbg += "${bindir}/.debug/" -FILES_${PN}-dev += "${bindir}/xosd-config" -FILES_${PN} = "${libdir}/libxosd.so.*" diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/fix_oprofile.patch b/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/fix_oprofile.patch deleted file mode 100644 index c5849998d5..0000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/fix_oprofile.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- - arch/arm/oprofile/op_model_v6.c | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -Index: linux-g/arch/arm/oprofile/op_model_v6.c -=================================================================== ---- linux-g.orig/arch/arm/oprofile/op_model_v6.c 2006-11-08 12:18:41.000000000 +0000 -+++ linux-g/arch/arm/oprofile/op_model_v6.c 2007-05-23 14:11:19.000000000 +0100 -@@ -54,12 +54,6 @@ - #define EVT_DCACHE_MISS 0x0B - #define EVT_DCACE_WRITE_BACK 0x0C - #define EVT_PC_CHANGED 0x0D --#define EVT_BCU_REQUEST 0x10 --#define EVT_BCU_FULL 0x11 --#define EVT_BCU_DRAIN 0x12 --#define EVT_BCU_ECC_NO_ELOG 0x14 --#define EVT_BCU_1_BIT_ERR 0x15 --#define EVT_RMW 0x16 - /* EVT_CCNT is not hardware defined */ - #define EVT_CCNT 0xFE - #define EVT_UNUSED 0xFF -@@ -88,7 +82,7 @@ struct pmu_type { - static struct pmu_type pmu_parms[] = { - { - .id = PMU_ARM11, -- .name = "arm/arm11", -+ .name = "arm/armv6", - .num_counters = 3, - #ifdef CONFIG_ARCH_OMAP2 - .interrupt = 3, diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770/defconfig b/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770/defconfig deleted file mode 100644 index 3cd1430332..0000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770/defconfig +++ /dev/null @@ -1,1451 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.18-omap1 -# Mon Aug 13 17:32:01 2007 -# -CONFIG_ARM=y -CONFIG_MMU=y -CONFIG_GENERIC_HARDIRQS=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_VECTORS_BASE=0xffff0000 -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -CONFIG_BROKEN_ON_SMP=y -CONFIG_INIT_ENV_ARG_LIMIT=32 - -# -# General setup -# -CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_TASKSTATS is not set -# CONFIG_AUDIT is not set -# CONFIG_IKCONFIG is not set -# CONFIG_RELAY is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -# CONFIG_EMBEDDED is not set -CONFIG_UID16=y -CONFIG_SYSCTL=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_ALL is not set -# CONFIG_KALLSYMS_EXTRA_PASS is not set -CONFIG_HOTPLUG=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_EPOLL=y -CONFIG_SHMEM=y -CONFIG_SLAB=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_RT_MUTEXES=y -# CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=0 -# CONFIG_SLOB is not set - -# -# Loadable module support -# -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_KMOD is not set - -# -# Block layer -# -# CONFIG_BLK_DEV_IO_TRACE is not set - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -# CONFIG_IOSCHED_AS is not set -# CONFIG_IOSCHED_DEADLINE is not set -CONFIG_IOSCHED_CFQ=y -# CONFIG_DEFAULT_AS is not set -# CONFIG_DEFAULT_DEADLINE is not set -CONFIG_DEFAULT_CFQ=y -# CONFIG_DEFAULT_NOOP is not set -CONFIG_DEFAULT_IOSCHED="cfq" - -# -# System Type -# -# CONFIG_ARCH_AAEC2000 is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_IOP3XX is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_PNX4008 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_LH7A40X is not set -CONFIG_ARCH_OMAP=y - -# -# TI OMAP Implementations -# -CONFIG_ARCH_OMAP_OTG=y -CONFIG_ARCH_OMAP1=y -# CONFIG_ARCH_OMAP2 is not set - -# -# OMAP Feature Selections -# -CONFIG_OMAP_RESET_CLOCKS=y -CONFIG_OMAP_BOOT_TAG=y -CONFIG_OMAP_BOOT_REASON=y -CONFIG_OMAP_COMPONENT_VERSION=y -CONFIG_OMAP_GPIO_SWITCH=y -# CONFIG_OMAP_MUX is not set -CONFIG_OMAP_STI=y -CONFIG_OMAP_STI_CONSOLE=y -CONFIG_OMAP_MCBSP=y -# CONFIG_OMAP_MPU_TIMER is not set -CONFIG_OMAP_32K_TIMER=y -CONFIG_OMAP_32K_TIMER_HZ=128 -CONFIG_OMAP_DM_TIMER=y -CONFIG_OMAP_LL_DEBUG_UART1=y -# CONFIG_OMAP_LL_DEBUG_UART2 is not set -# CONFIG_OMAP_LL_DEBUG_UART3 is not set -CONFIG_OMAP_DSP=y -# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set -CONFIG_OMAP_DSP_TASK_MULTIOPEN=y -CONFIG_OMAP_DSP_FBEXPORT=y - -# -# OMAP Core Type -# -# CONFIG_ARCH_OMAP730 is not set -# CONFIG_ARCH_OMAP15XX is not set -CONFIG_ARCH_OMAP16XX=y - -# -# OMAP Board Type -# -# CONFIG_MACH_OMAP_INNOVATOR is not set -# CONFIG_MACH_OMAP_H2 is not set -# CONFIG_MACH_OMAP_H3 is not set -# CONFIG_MACH_OMAP_OSK is not set -CONFIG_MACH_NOKIA770=y -# CONFIG_MACH_OMAP_GENERIC is not set - -# -# OMAP CPU Speed -# -CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER=y -CONFIG_OMAP_ARM_216MHZ=y -# CONFIG_OMAP_ARM_192MHZ is not set -# CONFIG_OMAP_ARM_168MHZ is not set -# CONFIG_OMAP_ARM_120MHZ is not set -# CONFIG_OMAP_ARM_60MHZ is not set -# CONFIG_OMAP_ARM_30MHZ is not set - -# -# Processor Type -# -CONFIG_CPU_32=y -CONFIG_CPU_ARM926T=y -CONFIG_CPU_32v5=y -CONFIG_CPU_ABRT_EV5TJ=y -CONFIG_CPU_CACHE_VIVT=y -CONFIG_CPU_COPY_V4WB=y -CONFIG_CPU_TLB_V4WBI=y - -# -# Processor Features -# -CONFIG_ARM_THUMB=y -# CONFIG_CPU_ICACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_WRITETHROUGH is not set -# CONFIG_CPU_CACHE_ROUND_ROBIN is not set - -# -# Bus support -# - -# -# PCCARD (PCMCIA/CardBus) support -# -# CONFIG_PCCARD is not set - -# -# Kernel Features -# -# CONFIG_PREEMPT is not set -CONFIG_NO_IDLE_HZ=y -CONFIG_HZ=128 -CONFIG_AEABI=y -CONFIG_OABI_COMPAT=y -# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -# CONFIG_SPARSEMEM_STATIC is not set -CONFIG_SPLIT_PTLOCK_CPUS=4096 -# CONFIG_RESOURCES_64BIT is not set -# CONFIG_LEDS is not set -CONFIG_ALIGNMENT_TRAP=y - -# -# Boot options -# -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 time" -# CONFIG_XIP_KERNEL is not set - -# -# CPU Frequency scaling -# -# CONFIG_CPU_FREQ is not set - -# -# Floating point emulation -# - -# -# At least one emulation must be selected -# -CONFIG_FPE_NWFPE=y -# CONFIG_FPE_NWFPE_XP is not set -# CONFIG_FPE_FASTFPE is not set -# CONFIG_VFP is not set - -# -# Userspace binary formats -# -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_AOUT is not set -# CONFIG_BINFMT_MISC is not set - -# -# Power management options -# -CONFIG_PM=y -# CONFIG_PM_LEGACY is not set -# CONFIG_PM_DEBUG is not set -# CONFIG_APM is not set - -# -# Networking -# -CONFIG_NET=y - -# -# Networking options -# -# CONFIG_NETDEBUG is not set -CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set -CONFIG_UNIX=y -CONFIG_XFRM=y -# CONFIG_XFRM_USER is not set -# CONFIG_NET_KEY is not set -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_FIB_HASH=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y -# CONFIG_IP_PNP_RARP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set -# CONFIG_IP_MROUTE is not set -# CONFIG_ARPD is not set -# CONFIG_SYN_COOKIES is not set -# CONFIG_INET_AH is not set -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -# CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INET_TUNNEL is not set -CONFIG_INET_XFRM_MODE_TRANSPORT=y -CONFIG_INET_XFRM_MODE_TUNNEL=y -# CONFIG_INET_DIAG is not set -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_BIC=y - -# -# IP: Virtual Server Configuration -# -# CONFIG_IP_VS is not set -CONFIG_IPV6=y -# CONFIG_IPV6_PRIVACY is not set -# CONFIG_IPV6_ROUTER_PREF is not set -# CONFIG_INET6_AH is not set -# CONFIG_INET6_ESP is not set -# CONFIG_INET6_IPCOMP is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set -CONFIG_INET6_XFRM_MODE_TRANSPORT=y -CONFIG_INET6_XFRM_MODE_TUNNEL=y -# CONFIG_IPV6_TUNNEL is not set -# CONFIG_NETWORK_SECMARK is not set -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_NETLINK=y -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -# CONFIG_NETFILTER_NETLINK_LOG is not set -# CONFIG_NF_CONNTRACK is not set -# CONFIG_NETFILTER_XTABLES is not set - -# -# IP: Netfilter Configuration -# -# CONFIG_IP_NF_CONNTRACK is not set -# CONFIG_IP_NF_QUEUE is not set - -# -# IPv6: Netfilter Configuration (EXPERIMENTAL) -# -# CONFIG_IP6_NF_QUEUE is not set - -# -# DCCP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_DCCP is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_SCTP is not set - -# -# TIPC Configuration (EXPERIMENTAL) -# -# CONFIG_TIPC is not set -# CONFIG_ATM is not set -# CONFIG_BRIDGE is not set -# CONFIG_VLAN_8021Q is not set -# CONFIG_DECNET is not set -# CONFIG_LLC2 is not set -# CONFIG_IPX is not set -# CONFIG_ATALK is not set -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_ECONET is not set -# CONFIG_WAN_ROUTER is not set - -# -# QoS and/or fair queueing -# -# CONFIG_NET_SCHED is not set - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -CONFIG_BT=y -CONFIG_BT_L2CAP=y -CONFIG_BT_SCO=y -CONFIG_BT_RFCOMM=y -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=y -# CONFIG_BT_BNEP_MC_FILTER is not set -# CONFIG_BT_BNEP_PROTO_FILTER is not set -CONFIG_BT_HIDP=y - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUSB is not set -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIBCM203X is not set -# CONFIG_BT_HCIBPA10X is not set -# CONFIG_BT_HCIBFUSB is not set -CONFIG_BT_HCIBRF6150=y -# CONFIG_BT_HCIH4P is not set -# CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set -CONFIG_WIRELESS_EXT=y - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_FW_LOADER=y -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_SYS_HYPERVISOR is not set - -# -# Connector - unified userspace <-> kernelspace linker -# -CONFIG_CONNECTOR=y -# CONFIG_PROC_EVENTS is not set - -# -# Memory Technology Devices (MTD) -# -CONFIG_MTD=y -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_CONCAT is not set -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_AFS_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set -# CONFIG_RFD_FTL is not set - -# -# RAM/ROM/Flash chip drivers -# -# CONFIG_MTD_CFI is not set -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_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_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_OBSOLETE_CHIPS is not set - -# -# Mapping drivers for chip access -# -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_PLATRAM is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_M25P80 is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLOCK2MTD is not set - -# -# Disk-On-Chip Device Drivers -# -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set - -# -# NAND Flash Device Drivers -# -CONFIG_MTD_NAND=y -# CONFIG_MTD_NAND_VERIFY_WRITE is not set -# CONFIG_MTD_NAND_ECC_SMC is not set -CONFIG_MTD_NAND_OMAP_HW=y -CONFIG_MTD_NAND_IDS=y -# CONFIG_MTD_NAND_DISKONCHIP is not set -# CONFIG_MTD_NAND_NANDSIM is not set - -# -# OneNAND Flash Device Drivers -# -# CONFIG_MTD_ONENAND is not set - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Plug and Play support -# - -# -# Block devices -# -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=y -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_UB is not set -# CONFIG_BLK_DEV_RAM is not set -# CONFIG_BLK_DEV_INITRD is not set -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set - -# -# SCSI device support -# -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y -# CONFIG_SCSI_PROC_FS is not set - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -# CONFIG_BLK_DEV_SR is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set - -# -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs -# -# CONFIG_SCSI_MULTI_LUN is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set - -# -# SCSI Transport Attributes -# -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_SAS_ATTRS is not set - -# -# SCSI low-level drivers -# -# CONFIG_ISCSI_TCP is not set -# CONFIG_SCSI_SATA is not set -# CONFIG_SCSI_DEBUG is not set - -# -# Multi-device support (RAID and LVM) -# -# CONFIG_MD is not set - -# -# Fusion MPT device support -# -# CONFIG_FUSION is not set - -# -# IEEE 1394 (FireWire) support -# - -# -# I2O device support -# - -# -# Network device support -# -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -CONFIG_TUN=y - -# -# PHY device support -# -# CONFIG_PHYLIB is not set - -# -# Ethernet (10 or 100Mbit) -# -CONFIG_NET_ETHERNET=y -CONFIG_MII=y -# CONFIG_SMC91X is not set -# CONFIG_DM9000 is not set - -# -# Ethernet (1000 Mbit) -# - -# -# Ethernet (10000 Mbit) -# - -# -# Token Ring devices -# - -# -# Wireless LAN (non-hamradio) -# -CONFIG_NET_RADIO=y -# CONFIG_NET_WIRELESS_RTNETLINK is not set - -# -# Obsolete Wireless cards support (pre-802.11) -# -# CONFIG_STRIP is not set -# CONFIG_USB_ZD1201 is not set -# CONFIG_HOSTAP is not set - -# -# Wan interfaces -# -# CONFIG_WAN is not set -CONFIG_PPP=y -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=y -# CONFIG_PPP_SYNC_TTY is not set -CONFIG_PPP_DEFLATE=y -CONFIG_PPP_BSDCOMP=y -# CONFIG_PPP_MPPE is not set -# CONFIG_PPPOE is not set -# CONFIG_SLIP is not set -# CONFIG_SHAPER is not set -# CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Input device support -# -CONFIG_INPUT=y - -# -# Userland interfaces -# -CONFIG_INPUT_MOUSEDEV=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -# CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_TSDEV is not set -CONFIG_INPUT_EVDEV=y -# CONFIG_INPUT_EVBUG is not set - -# -# Input Device Drivers -# -CONFIG_INPUT_KEYBOARD=y -# CONFIG_KEYBOARD_ATKBD is not set -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYBOARD_NEWTON is not set -CONFIG_KEYBOARD_OMAP=y -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_JOYSTICK is not set -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_ADS7846=y -# CONFIG_TOUCHSCREEN_GUNZE is not set -# CONFIG_TOUCHSCREEN_ELO is not set -# CONFIG_TOUCHSCREEN_MTOUCH is not set -# CONFIG_TOUCHSCREEN_MK712 is not set -# CONFIG_INPUT_MISC is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_RAW is not set -# CONFIG_GAMEPORT is not set - -# -# Character devices -# -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_HW_CONSOLE=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set -# CONFIG_SERIAL_NONSTANDARD is not set - -# -# Serial drivers -# -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_NR_UARTS=4 -CONFIG_SERIAL_8250_RUNTIME_UARTS=4 -# CONFIG_SERIAL_8250_EXTENDED is not set - -# -# Non-8250 serial port support -# -# CONFIG_SERIAL_OMAP is not set -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_UNIX98_PTYS=y -# CONFIG_LEGACY_PTYS is not set - -# -# IPMI -# -# CONFIG_IPMI_HANDLER is not set - -# -# Watchdog Cards -# -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_NOWAYOUT=y - -# -# Watchdog Device Drivers -# -# CONFIG_SOFT_WATCHDOG is not set - -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG is not set -CONFIG_OMAP_WATCHDOG=y -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_OMAP=y -CONFIG_OMAP_RNG=y -# CONFIG_NVRAM is not set -# CONFIG_OMAP_RTC is not set -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set - -# -# Ftape, the floppy tape device driver -# -# CONFIG_RAW_DRIVER is not set - -# -# TPM devices -# -# CONFIG_TCG_TPM is not set -# CONFIG_TELCLOCK is not set - -# -# I2C support -# -CONFIG_I2C=y -# CONFIG_I2C_CHARDEV is not set - -# -# I2C Algorithms -# -# CONFIG_I2C_ALGOBIT is not set -# CONFIG_I2C_ALGOPCF is not set -# CONFIG_I2C_ALGOPCA is not set - -# -# I2C Hardware Bus support -# -# CONFIG_I2C_OCORES is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_PCA_ISA is not set -CONFIG_I2C_OMAP=y - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_DS1337 is not set -# CONFIG_SENSORS_DS1374 is not set -# CONFIG_SENSORS_EEPROM is not set -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_ISP1301_OMAP is not set -# CONFIG_TPS65010 is not set -CONFIG_SENSORS_TLV320AIC23=y -# CONFIG_GPIOEXPANDER_OMAP is not set -# CONFIG_SENSORS_MAX6875 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_I2C_DEBUG_CHIP is not set - -# -# SPI support -# -CONFIG_SPI=y -# CONFIG_SPI_DEBUG is not set -CONFIG_SPI_MASTER=y - -# -# SPI Master Controller Drivers -# -CONFIG_SPI_BITBANG=y -CONFIG_SPI_OMAP_UWIRE=y - -# -# SPI Protocol Masters -# -# CONFIG_SPI_TSC2301 is not set - -# -# Dallas's 1-wire bus -# -# CONFIG_W1 is not set - -# -# Hardware Monitoring support -# -CONFIG_HWMON=y -# CONFIG_HWMON_VID is not set -# CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM70 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_TMP105 is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set - -# -# Misc devices -# - -# -# LED devices -# -# CONFIG_NEW_LEDS is not set - -# -# LED drivers -# - -# -# LED Triggers -# - -# -# Multimedia devices -# -# CONFIG_VIDEO_DEV is not set -CONFIG_VIDEO_V4L2=y - -# -# Digital Video Broadcasting Devices -# -# CONFIG_DVB is not set -# CONFIG_USB_DABUSB is not set - -# -# Graphics support -# -CONFIG_FIRMWARE_EDID=y -CONFIG_FB=y -# CONFIG_FB_CFB_FILLRECT is not set -# CONFIG_FB_CFB_COPYAREA is not set -# CONFIG_FB_CFB_IMAGEBLIT is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_BACKLIGHT is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_TILEBLITTING is not set -# CONFIG_FB_S1D13XXX is not set -# CONFIG_FB_VIRTUAL is not set -CONFIG_FB_OMAP=y -CONFIG_FB_OMAP_LCDC_EXTERNAL=y -CONFIG_FB_OMAP_LCDC_HWA742=y -# CONFIG_FB_OMAP_LCDC_BLIZZARD is not set -CONFIG_FB_OMAP_MANUAL_UPDATE=y -CONFIG_FB_OMAP_LCD_MIPID=y -# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set -CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2 -# CONFIG_FB_OMAP_DMA_TUNE is not set - -# -# Console display driver support -# -# CONFIG_VGA_CONSOLE is not set -CONFIG_DUMMY_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE is not set - -# -# Logo configuration -# -# CONFIG_LOGO is not set -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set - -# -# Sound -# -CONFIG_SOUND=y - -# -# Advanced Linux Sound Architecture -# -CONFIG_SND=y -CONFIG_SND_TIMER=y -CONFIG_SND_PCM=y -CONFIG_SND_HWDEP=y -CONFIG_SND_RAWMIDI=y -# CONFIG_SND_SEQUENCER is not set -# CONFIG_SND_MIXER_OSS is not set -# CONFIG_SND_PCM_OSS is not set -# CONFIG_SND_DYNAMIC_MINORS is not set -# CONFIG_SND_SUPPORT_OLD_API is not set -CONFIG_SND_VERBOSE_PROCFS=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -# -# Generic devices -# -CONFIG_SND_DUMMY=y -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set - -# -# ALSA ARM devices -# -CONFIG_SND_OMAP_AIC23=y -# CONFIG_SND_OMAP_TSC2101 is not set -# CONFIG_SND_OMAP24XX_EAC is not set - -# -# USB devices -# -CONFIG_SND_USB_AUDIO=y - -# -# Open Sound System -# -# CONFIG_SOUND_PRIME is not set - -# -# USB support -# -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -# CONFIG_USB_ARCH_HAS_EHCI is not set -CONFIG_USB=y -# CONFIG_USB_DEBUG is not set - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICEFS=y -CONFIG_USB_BANDWIDTH=y -# CONFIG_USB_DYNAMIC_MINORS is not set -CONFIG_USB_SUSPEND=y -# CONFIG_USB_OTG is not set - -# -# USB Host Controller Drivers -# -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_OHCI_HCD is not set -# CONFIG_USB_SL811_HCD is not set -# CONFIG_USB_MUSB_HDRC is not set -# CONFIG_USB_GADGET_MUSB_HDRC is not set - -# -# USB Device Class drivers -# -# CONFIG_USB_ACM is not set -# CONFIG_USB_PRINTER is not set - -# -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' -# - -# -# may also be needed; see USB_STORAGE Help for more information -# -CONFIG_USB_STORAGE=y -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_DPCM is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_LIBUSUAL is not set - -# -# USB Input Devices -# -CONFIG_USB_HID=y -CONFIG_USB_HIDINPUT=y -# CONFIG_USB_HIDINPUT_POWERBOOK is not set -# CONFIG_HID_FF is not set -# CONFIG_USB_HIDDEV is not set -# CONFIG_USB_AIPTEK is not set -# CONFIG_USB_WACOM is not set -# CONFIG_USB_ACECAD is not set -# CONFIG_USB_KBTAB is not set -# CONFIG_USB_POWERMATE is not set -# CONFIG_USB_TOUCHSCREEN is not set -# CONFIG_USB_YEALINK is not set -# CONFIG_USB_XPAD is not set -# CONFIG_USB_ATI_REMOTE is not set -# CONFIG_USB_ATI_REMOTE2 is not set -# CONFIG_USB_KEYSPAN_REMOTE is not set -# CONFIG_USB_APPLETOUCH is not set - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -# -# USB Network Adapters -# -# CONFIG_USB_CATC is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_PEGASUS is not set -# CONFIG_USB_RTL8150 is not set -CONFIG_USB_USBNET=y -# CONFIG_USB_NET_AX8817X is not set -CONFIG_USB_NET_CDCETHER=y -# CONFIG_USB_NET_GL620A is not set -CONFIG_USB_NET_NET1080=y -# CONFIG_USB_NET_PLUSB is not set -# CONFIG_USB_NET_RNDIS_HOST is not set -# CONFIG_USB_NET_CDC_SUBSET is not set -CONFIG_USB_NET_ZAURUS=y -# CONFIG_USB_MON is not set - -# -# USB port drivers -# - -# -# USB Serial Converter support -# -CONFIG_USB_SERIAL=y -CONFIG_USB_SERIAL_CONSOLE=y -# CONFIG_USB_SERIAL_GENERIC is not set -# CONFIG_USB_SERIAL_AIRPRIME is not set -# CONFIG_USB_SERIAL_ARK3116 is not set -# CONFIG_USB_SERIAL_BELKIN is not set -# CONFIG_USB_SERIAL_WHITEHEAT is not set -# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set -# CONFIG_USB_SERIAL_CP2101 is not set -# CONFIG_USB_SERIAL_CYPRESS_M8 is not set -# CONFIG_USB_SERIAL_EMPEG is not set -# CONFIG_USB_SERIAL_FTDI_SIO is not set -# CONFIG_USB_SERIAL_FUNSOFT is not set -# CONFIG_USB_SERIAL_VISOR is not set -# CONFIG_USB_SERIAL_IPAQ is not set -# CONFIG_USB_SERIAL_IR is not set -# CONFIG_USB_SERIAL_EDGEPORT is not set -# CONFIG_USB_SERIAL_EDGEPORT_TI is not set -# CONFIG_USB_SERIAL_GARMIN is not set -# CONFIG_USB_SERIAL_IPW is not set -# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set -# CONFIG_USB_SERIAL_KEYSPAN is not set -# CONFIG_USB_SERIAL_KLSI is not set -# CONFIG_USB_SERIAL_KOBIL_SCT is not set -# CONFIG_USB_SERIAL_MCT_U232 is not set -# CONFIG_USB_SERIAL_NAVMAN is not set -CONFIG_USB_SERIAL_PL2303=y -# CONFIG_USB_SERIAL_HP4X is not set -# CONFIG_USB_SERIAL_SAFE is not set -# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set -# CONFIG_USB_SERIAL_TI is not set -# CONFIG_USB_SERIAL_CYBERJACK is not set -# CONFIG_USB_SERIAL_XIRCOM is not set -# CONFIG_USB_SERIAL_OPTION is not set -# CONFIG_USB_SERIAL_OMNINET is not set - -# -# USB Miscellaneous drivers -# -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_AUERSWALD is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYPRESS_CY7C63 is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_PHIDGETKIT is not set -# CONFIG_USB_PHIDGETSERVO is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_APPLEDISPLAY is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TEST is not set - -# -# USB DSL modem support -# - -# -# USB Gadget Support -# -CONFIG_USB_GADGET=y -# CONFIG_USB_GADGET_DEBUG_FILES is not set -CONFIG_USB_GADGET_SELECTED=y -# CONFIG_USB_GADGET_NET2280 is not set -# CONFIG_USB_GADGET_PXA2XX is not set -# CONFIG_USB_GADGET_GOKU is not set -# CONFIG_USB_GADGET_LH7A40X is not set -CONFIG_USB_GADGET_OMAP=y -CONFIG_USB_OMAP=y -# CONFIG_USB_GADGET_AT91 is not set -# CONFIG_USB_GADGET_DUMMY_HCD is not set -# CONFIG_USB_GADGET_DUALSPEED is not set -# CONFIG_USB_ZERO is not set -CONFIG_USB_ETH=m -CONFIG_USB_ETH_RNDIS=y -# CONFIG_USB_GADGETFS is not set -CONFIG_USB_FILE_STORAGE=m -CONFIG_USB_FILE_STORAGE_TEST=y -# CONFIG_USB_G_SERIAL is not set - -# -# MMC/SD Card support -# -CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set -CONFIG_MMC_BLOCK=y -CONFIG_MMC_OMAP=y - -# -# Real Time Clock -# -CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set - -# -# Synchronous Serial Interfaces (SSI) -# -CONFIG_OMAP_UWIRE=y -# CONFIG_OMAP_TSC2101 is not set - -# -# CBUS support -# -CONFIG_CBUS=y -CONFIG_CBUS_TAHVO=y -CONFIG_CBUS_TAHVO_USER=y -CONFIG_CBUS_TAHVO_USB=y -CONFIG_CBUS_RETU=y -CONFIG_CBUS_RETU_USER=y -CONFIG_CBUS_RETU_POWERBUTTON=y -CONFIG_CBUS_RETU_RTC=y -CONFIG_CBUS_RETU_WDT=y -# CONFIG_CBUS_RETU_HEADSET is not set - -# -# File systems -# -CONFIG_EXT2_FS=y -# CONFIG_EXT2_FS_XATTR is not set -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_XATTR=y -# CONFIG_EXT3_FS_POSIX_ACL is not set -# CONFIG_EXT3_FS_SECURITY is not set -CONFIG_JBD=y -# CONFIG_JBD_DEBUG is not set -CONFIG_FS_MBCACHE=y -# CONFIG_REISERFS_FS is not set -# CONFIG_JFS_FS is not set -# CONFIG_FS_POSIX_ACL is not set -# CONFIG_XFS_FS is not set -# CONFIG_OCFS2_FS is not set -# CONFIG_MINIX_FS is not set -# CONFIG_ROMFS_FS is not set -CONFIG_INOTIFY=y -CONFIG_INOTIFY_USER=y -# CONFIG_QUOTA is not set -CONFIG_DNOTIFY=y -# CONFIG_AUTOFS_FS is not set -# CONFIG_AUTOFS4_FS is not set -# CONFIG_FUSE_FS is not set - -# -# CD-ROM/DVD Filesystems -# -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -# CONFIG_NTFS_FS is not set - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y -# CONFIG_CONFIGFS_FS is not set - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -# CONFIG_JFFS_FS is not set -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -CONFIG_JFFS2_SUMMARY=y -# CONFIG_JFFS2_FS_XATTR is not set -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_LZO=y -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -# CONFIG_JFFS2_CMODE_NONE is not set -CONFIG_JFFS2_CMODE_PRIORITY=y -# CONFIG_JFFS2_CMODE_SIZE is not set -# CONFIG_JFFS2_CMODE_FAVOURLZO is not set -# CONFIG_CRAMFS is not set -# CONFIG_VXFS_FS is not set -# CONFIG_HPFS_FS is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_FS is not set - -# -# Network File Systems -# -CONFIG_NFS_FS=y -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -# CONFIG_NFS_V4 is not set -# CONFIG_NFS_DIRECTIO is not set -# CONFIG_NFSD is not set -# CONFIG_ROOT_NFS is not set -CONFIG_LOCKD=y -CONFIG_LOCKD_V4=y -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=y -# CONFIG_RPCSEC_GSS_KRB5 is not set -# CONFIG_RPCSEC_GSS_SPKM3 is not set -# CONFIG_SMB_FS is not set -# CONFIG_CIFS is not set -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set - -# -# 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 is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_KARMA_PARTITION is not set -# CONFIG_EFI_PARTITION is not set - -# -# Native Language Support -# -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -# CONFIG_NLS_CODEPAGE_850 is not set -CONFIG_NLS_CODEPAGE_852=y -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -# CONFIG_NLS_CODEPAGE_863 is not set -# CONFIG_NLS_CODEPAGE_864 is not set -# CONFIG_NLS_CODEPAGE_865 is not set -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -# CONFIG_NLS_ASCII is not set -CONFIG_NLS_ISO8859_1=y -# CONFIG_NLS_ISO8859_2 is not set -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -CONFIG_NLS_ISO8859_15=y -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -CONFIG_NLS_UTF8=y - -# -# Profiling support -# -# CONFIG_PROFILING is not set - -# -# Kernel hacking -# -# CONFIG_PRINTK_TIME is not set -CONFIG_MAGIC_SYSRQ=y -# CONFIG_UNUSED_SYMBOLS is not set -CONFIG_DEBUG_KERNEL=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_DETECT_SOFTLOCKUP=y -# CONFIG_SCHEDSTATS is not set -# CONFIG_DEBUG_SLAB 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_RWSEMS is not set -# CONFIG_DEBUG_SPINLOCK_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_DEBUG_KOBJECT is not set -CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_DEBUG_INFO is not set -# CONFIG_DEBUG_FS is not set -# CONFIG_DEBUG_VM is not set -CONFIG_FRAME_POINTER=y -# CONFIG_UNWIND_INFO is not set -CONFIG_FORCED_INLINING=y -# CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_DEBUG_USER is not set -# CONFIG_DEBUG_WAITQ is not set -CONFIG_DEBUG_ERRORS=y -# CONFIG_DEBUG_LL is not set - -# -# Security options -# -# CONFIG_KEYS is not set -CONFIG_SECURITY=y -# CONFIG_SECURITY_NETWORK is not set -# CONFIG_SECURITY_CAPABILITIES is not set -# CONFIG_SECURITY_ROOTPLUG is not set -# CONFIG_SECURITY_SECLVL is not set -# CONFIG_SECURITY_LOWMEM is not set - -# -# Cryptographic options -# -# CONFIG_CRYPTO is not set - -# -# Hardware crypto devices -# - -# -# Library routines -# -CONFIG_CRC_CCITT=y -# CONFIG_CRC16 is not set -CONFIG_CRC32=y -# CONFIG_LIBCRC32C is not set -CONFIG_LZO=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_PLIST=y diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770_nand_fix.patch b/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770_nand_fix.patch deleted file mode 100644 index 79d53545e3..0000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia770_nand_fix.patch +++ /dev/null @@ -1,415 +0,0 @@ ---- - arch/arm/mach-omap1/board-nokia770.c | 60 +++++++++++++++++++++++++++++++---- - arch/arm/mach-omap1/mmu.c | 1 - drivers/cbus/tahvo-usb.c | 4 +- - drivers/i2c/chips/isp1301_omap.c | 1 - drivers/mtd/mtdchar.c | 6 +++ - drivers/mtd/mtdpart.c | 5 ++ - drivers/mtd/nand/omap-hw.c | 55 +++++++++++++++----------------- - drivers/serial/8250.c | 2 + - drivers/video/omap/omapfb_main.c | 4 +- - include/asm-arm/arch-omap/keypad.h | 3 + - include/asm-arm/arch-omap/serial.h | 16 +++++++++ - 11 files changed, 118 insertions(+), 39 deletions(-) - -Index: linux-g/arch/arm/mach-omap1/board-nokia770.c -=================================================================== ---- linux-g.orig/arch/arm/mach-omap1/board-nokia770.c 2006-11-08 13:18:39.000000000 +0100 -+++ linux-g/arch/arm/mach-omap1/board-nokia770.c 2007-08-13 16:23:15.000000000 +0200 -@@ -16,6 +16,8 @@ - - #include - #include -+#include -+#include - - #include - #include -@@ -33,9 +35,12 @@ - #include - #include - #include -+#include - - #include "../plat-omap/dsp/dsp_common.h" - -+#define ADS7846_PENDOWN_GPIO 15 -+ - static void __init omap_nokia770_init_irq(void) - { - /* On Nokia 770, the SleepX signal is masked with an -@@ -75,9 +80,11 @@ - }; - - static struct omap_kp_platform_data nokia770_kp_data = { -- .rows = 8, -- .cols = 8, -- .keymap = nokia770_keymap -+ .rows = 8, -+ .cols = 8, -+ .keymap = nokia770_keymap, -+ .keymapsize = ARRAY_SIZE(nokia770_keymap), -+ .delay = 4, - }; - - static struct platform_device nokia770_kp_device = { -@@ -94,6 +101,41 @@ - &nokia770_kp_device, - }; - -+static void mipid_shutdown(struct mipid_platform_data *pdata) -+{ -+ if (pdata->nreset_gpio != -1) { -+ printk(KERN_INFO "shutdown LCD\n"); -+ omap_set_gpio_dataout(pdata->nreset_gpio, 0); -+ msleep(120); -+ } -+} -+ -+static struct mipid_platform_data nokia770_mipid_platform_data = { -+ .shutdown = mipid_shutdown, -+}; -+ -+static void mipid_dev_init(void) -+{ -+ const struct omap_lcd_config *conf; -+ -+ conf = omap_get_config(OMAP_TAG_LCD, struct omap_lcd_config); -+ if (conf != NULL) { -+ nokia770_mipid_platform_data.nreset_gpio = conf->nreset_gpio; -+ nokia770_mipid_platform_data.data_lines = conf->data_lines; -+ } -+} -+ -+static void ads7846_dev_init(void) -+{ -+ if (omap_request_gpio(ADS7846_PENDOWN_GPIO) < 0) -+ printk(KERN_ERR "can't get ads7846 pen down GPIO\n"); -+} -+ -+static int ads7846_get_pendown_state(void) -+{ -+ return !omap_get_gpio_datain(ADS7846_PENDOWN_GPIO); -+} -+ - static struct ads7846_platform_data nokia770_ads7846_platform_data __initdata = { - .x_max = 0x0fff, - .y_max = 0x0fff, -@@ -101,14 +143,17 @@ - .pressure_max = 255, - .debounce_max = 10, - .debounce_tol = 3, -+ .debounce_rep = 1, -+ .get_pendown_state = ads7846_get_pendown_state, - }; - - static struct spi_board_info nokia770_spi_board_info[] __initdata = { - [0] = { -- .modalias = "lcd_lph8923", -+ .modalias = "lcd_mipid", - .bus_num = 2, - .chip_select = 3, - .max_speed_hz = 12000000, -+ .platform_data = &nokia770_mipid_platform_data, - }, - [1] = { - .modalias = "ads7846", -@@ -189,7 +234,7 @@ - }, - }; - --static struct omap_board_config_kernel nokia770_config[] = { -+static struct omap_board_config_kernel nokia770_config[] __initdata = { - { OMAP_TAG_USB, NULL }, - { OMAP_TAG_MMC, &nokia770_mmc_config }, - }; -@@ -235,7 +280,7 @@ - printk("HP connected\n"); - } - --static void codec_delayed_power_down(void *arg) -+static void codec_delayed_power_down(struct work_struct *work) - { - down(&audio_pwr_sem); - if (audio_pwr_state == -1) -@@ -326,9 +371,12 @@ - ARRAY_SIZE(nokia770_spi_board_info)); - omap_board_config = nokia770_config; - omap_board_config_size = ARRAY_SIZE(nokia770_config); -+ omap_gpio_init(); - omap_serial_init(); - omap_dsp_init(); - hwa742_dev_init(); -+ ads7846_dev_init(); -+ mipid_dev_init(); - } - - static void __init omap_nokia770_map_io(void) -Index: linux-g/arch/arm/mach-omap1/mmu.c -=================================================================== ---- linux-g.orig/arch/arm/mach-omap1/mmu.c 2007-08-13 13:54:01.000000000 +0200 -+++ linux-g/arch/arm/mach-omap1/mmu.c 2007-08-13 16:23:15.000000000 +0200 -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include "mmu.h" - #include - -Index: linux-g/drivers/cbus/tahvo-usb.c -=================================================================== ---- linux-g.orig/drivers/cbus/tahvo-usb.c 2006-11-08 13:18:51.000000000 +0100 -+++ linux-g/drivers/cbus/tahvo-usb.c 2007-08-13 16:23:15.000000000 +0200 -@@ -135,8 +135,8 @@ - if ((!(OTG_CTRL_REG & OTG_DRIVER_SEL)) && - tu->otg.host && tu->otg.state == OTG_STATE_A_HOST) { - /* role is host */ -- usb_bus_start_enum(tu->otg.host, -- tu->otg.host->otg_port); -+ //usb_bus_start_enum(tu->otg.host, -+ // tu->otg.host->otg_port); - } - OTG_IRQ_SRC_REG = DRIVER_SWITCH; - } else -Index: linux-g/drivers/i2c/chips/isp1301_omap.c -=================================================================== ---- linux-g.orig/drivers/i2c/chips/isp1301_omap.c 2006-11-08 13:18:51.000000000 +0100 -+++ linux-g/drivers/i2c/chips/isp1301_omap.c 2007-08-13 16:23:15.000000000 +0200 -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - #include - #include - -Index: linux-g/drivers/mtd/mtdchar.c -=================================================================== ---- linux-g.orig/drivers/mtd/mtdchar.c 2006-11-08 13:18:55.000000000 +0100 -+++ linux-g/drivers/mtd/mtdchar.c 2007-08-13 16:23:15.000000000 +0200 -@@ -622,6 +622,12 @@ - break; - } - -+ case MEMSETOOBSEL: -+ { -+ break; -+ } -+ -+ - case MEMGETBADBLOCK: - { - loff_t offs; -Index: linux-g/drivers/mtd/mtdpart.c -=================================================================== ---- linux-g.orig/drivers/mtd/mtdpart.c 2006-11-08 13:18:55.000000000 +0100 -+++ linux-g/drivers/mtd/mtdpart.c 2007-08-13 16:23:15.000000000 +0200 -@@ -200,6 +200,11 @@ - return -EINVAL; - instr->addr += part->offset; - ret = part->master->erase(part->master, instr); -+ if (ret) { -+ if (instr->fail_addr != 0xffffffff) -+ instr->fail_addr -= part->offset; -+ instr->addr -= part->offset; -+ } - return ret; - } - -Index: linux-g/drivers/mtd/nand/omap-hw.c -=================================================================== ---- linux-g.orig/drivers/mtd/nand/omap-hw.c 2006-11-08 13:18:55.000000000 +0100 -+++ linux-g/drivers/mtd/nand/omap-hw.c 2007-08-13 16:23:15.000000000 +0200 -@@ -386,11 +386,6 @@ - return nand_read_reg8(NND_ACCESS); - } - --static void omap_nand_write_byte(struct mtd_info *mtd, u_char byte) --{ -- nand_write_reg8(NND_ACCESS, byte); --} -- - static int omap_nand_dev_ready(struct mtd_info *mtd) - { - u32 l; -@@ -425,9 +420,9 @@ - if (command == NAND_CMD_SEQIN) { - int readcmd; - -- if (column >= mtd->oobblock) { -+ if (column >= mtd->writesize) { - /* OOB area */ -- column -= mtd->oobblock; -+ column -= mtd->writesize; - readcmd = NAND_CMD_READOOB; - } else if (column < 256) { - /* First 256 bytes --> READ0 */ -@@ -458,7 +453,7 @@ - struct nand_chip *this = mtd->priv; - - if (command == NAND_CMD_READOOB) { -- column += mtd->oobblock; -+ column += mtd->writesize; - command = NAND_CMD_READ0; - } - switch (command) { -@@ -495,7 +490,8 @@ - int n; - struct nand_chip *this = mtd->priv; - -- if (this->eccmode == NAND_ECC_HW12_2048) -+ /* Ex NAND_ECC_HW12_2048 */ -+ if ((this->ecc.mode == NAND_ECC_HW) && (this->ecc.size == 2048)) - n = 4; - else - n = 1; -@@ -642,7 +638,8 @@ - int block_count = 0, i, r; - - this = mtd->priv; -- if (this->eccmode == NAND_ECC_HW12_2048) -+ /* Ex NAND_ECC_HW12_2048 */ -+ if ((this->ecc.mode == NAND_ECC_HW) && (this->ecc.size == 2048)) - block_count = 4; - else - block_count = 1; -@@ -672,12 +669,12 @@ - { - static const char *part_parsers[] = { "cmdlinepart", NULL }; - struct mtd_partition *parts; -- const struct omap_flash_part_config *cfg; -+ const struct omap_flash_part_str_config *cfg; - char *part_str = NULL; - size_t part_str_len; - int c; - -- cfg = omap_get_var_config(OMAP_TAG_FLASH_PART, &part_str_len); -+ cfg = omap_get_var_config(OMAP_TAG_FLASH_PART_STR, &part_str_len); - if (cfg != NULL) { - part_str = kmalloc(part_str_len + 1, GFP_KERNEL); - if (part_str == NULL) -@@ -794,19 +791,20 @@ - - /* Used from chip select and nand_command() */ - this->read_byte = omap_nand_read_byte; -- this->write_byte = omap_nand_write_byte; - -- this->select_chip = omap_nand_select_chip; -- this->dev_ready = omap_nand_dev_ready; -- this->chip_delay = 0; -- this->eccmode = NAND_ECC_HW3_512; -- this->cmdfunc = omap_nand_command; -- this->write_buf = omap_nand_write_buf; -- this->read_buf = omap_nand_read_buf; -- this->verify_buf = omap_nand_verify_buf; -- this->calculate_ecc = omap_nand_calculate_ecc; -- this->correct_data = omap_nand_correct_data; -- this->enable_hwecc = omap_nand_enable_hwecc; -+ this->select_chip = omap_nand_select_chip; -+ this->dev_ready = omap_nand_dev_ready; -+ this->chip_delay = 0; -+ this->ecc.mode = NAND_ECC_HW; -+ this->ecc.bytes = 3; -+ this->ecc.size = 512; -+ this->cmdfunc = omap_nand_command; -+ this->write_buf = omap_nand_write_buf; -+ this->read_buf = omap_nand_read_buf; -+ this->verify_buf = omap_nand_verify_buf; -+ this->ecc.calculate = omap_nand_calculate_ecc; -+ this->ecc.correct = omap_nand_correct_data; -+ this->ecc.hwctl = omap_nand_enable_hwecc; - - nand_write_reg(NND_SYSCFG, 0x1); /* Enable auto idle */ - nand_write_reg(NND_PSC_CLK, 10); -@@ -822,11 +820,10 @@ - l = nand_read_reg(NND_CTRL); - l |= 1 << 4; /* Set the A8 bit in CTRL reg */ - nand_write_reg(NND_CTRL, l); -- this->eccmode = NAND_ECC_HW12_2048; -- this->eccsteps = 1; -- this->eccsize = 2048; -- this->eccbytes = 12; -- omap_mtd->eccsize = 2048; -+ this->ecc.mode = NAND_ECC_HW; -+ this->ecc.steps = 1; -+ this->ecc.size = 2048; -+ this->ecc.bytes = 12; - nand_write_reg(NND_ECC_SELECT, 6); - } - -Index: linux-g/drivers/serial/8250.c -=================================================================== ---- linux-g.orig/drivers/serial/8250.c 2006-11-08 13:18:59.000000000 +0100 -+++ linux-g/drivers/serial/8250.c 2007-08-13 16:23:15.000000000 +0200 -@@ -44,6 +44,8 @@ - #include - #include - -+#include -+ - #include "8250.h" - - /* -Index: linux-g/drivers/video/omap/omapfb_main.c -=================================================================== ---- linux-g.orig/drivers/video/omap/omapfb_main.c 2007-08-13 13:54:01.000000000 +0200 -+++ linux-g/drivers/video/omap/omapfb_main.c 2007-08-13 16:23:15.000000000 +0200 -@@ -110,7 +110,7 @@ - - #ifdef CONFIG_FB_OMAP_LCDC_EXTERNAL - #ifdef CONFIG_ARCH_OMAP1 --extern struct lcd_ctrl_extif omap1_ext_if; -+extern struct lcd_ctrl_extif sossi_extif; - #else - extern struct lcd_ctrl_extif omap2_ext_if; - #endif -@@ -1658,7 +1658,7 @@ - #ifdef CONFIG_ARCH_OMAP1 - fbdev->int_ctrl = &omap1_int_ctrl; - #ifdef CONFIG_FB_OMAP_LCDC_EXTERNAL -- fbdev->ext_if = &omap1_ext_if; -+ fbdev->ext_if = &sossi_extif; - #endif - #else /* OMAP2 */ - fbdev->int_ctrl = &omap2_int_ctrl; -Index: linux-g/include/asm-arm/arch-omap/keypad.h -=================================================================== ---- linux-g.orig/include/asm-arm/arch-omap/keypad.h 2006-11-08 13:19:11.000000000 +0100 -+++ linux-g/include/asm-arm/arch-omap/keypad.h 2007-08-13 16:23:15.000000000 +0200 -@@ -14,7 +14,10 @@ - int rows; - int cols; - int *keymap; -+ unsigned int keymapsize; - unsigned int rep:1; -+ unsigned long delay; -+ unsigned int dbounce:1; - /* specific to OMAP242x*/ - unsigned int *row_gpios; - unsigned int *col_gpios; -Index: linux-g/include/asm-arm/arch-omap/serial.h -=================================================================== ---- linux-g.orig/include/asm-arm/arch-omap/serial.h 2007-08-13 13:54:01.000000000 +0200 -+++ linux-g/include/asm-arm/arch-omap/serial.h 2007-08-13 16:23:15.000000000 +0200 -@@ -26,4 +26,20 @@ - #define OMAP1510_BASE_BAUD (12000000/16) - #define OMAP16XX_BASE_BAUD (48000000/16) - -+#define is_omap_port(p) ({int __ret = 0; \ -+ if (p == IO_ADDRESS(OMAP_UART1_BASE) || \ -+ p == IO_ADDRESS(OMAP_UART2_BASE) || \ -+ p == IO_ADDRESS(OMAP_UART3_BASE)) \ -+ __ret = 1; \ -+ __ret; \ -+ }) -+ -+#define is_omap_port(p) ({int __ret = 0; \ -+ if (p == IO_ADDRESS(OMAP_UART1_BASE) || \ -+ p == IO_ADDRESS(OMAP_UART2_BASE) || \ -+ p == IO_ADDRESS(OMAP_UART3_BASE)) \ -+ __ret = 1; \ -+ __ret; \ -+ }) -+ - #endif diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia800/defconfig b/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia800/defconfig deleted file mode 100644 index 55485e25b4..0000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.18-osso40/nokia800/defconfig +++ /dev/null @@ -1,1312 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.18-omap1 -# Wed May 23 16:23:22 2007 -# -CONFIG_ARM=y -CONFIG_MMU=y -CONFIG_GENERIC_HARDIRQS=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_VECTORS_BASE=0xffff0000 -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -CONFIG_BROKEN_ON_SMP=y -CONFIG_INIT_ENV_ARG_LIMIT=32 - -# -# General setup -# -CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_TASKSTATS is not set -# CONFIG_AUDIT is not set -# CONFIG_IKCONFIG is not set -# CONFIG_RELAY is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -# CONFIG_EMBEDDED is not set -CONFIG_UID16=y -CONFIG_SYSCTL=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_ALL is not set -# CONFIG_KALLSYMS_EXTRA_PASS is not set -CONFIG_HOTPLUG=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_EPOLL=y -CONFIG_SHMEM=y -CONFIG_SLAB=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_RT_MUTEXES=y -# CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=0 -# CONFIG_SLOB is not set - -# -# Loadable module support -# -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_KMOD is not set - -# -# Block layer -# -# CONFIG_BLK_DEV_IO_TRACE is not set - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -# CONFIG_IOSCHED_AS is not set -# CONFIG_IOSCHED_DEADLINE is not set -# CONFIG_IOSCHED_CFQ is not set -# CONFIG_DEFAULT_AS is not set -# CONFIG_DEFAULT_DEADLINE is not set -# CONFIG_DEFAULT_CFQ is not set -CONFIG_DEFAULT_NOOP=y -CONFIG_DEFAULT_IOSCHED="noop" - -# -# System Type -# -# CONFIG_ARCH_AAEC2000 is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_IOP3XX is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_PNX4008 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_LH7A40X is not set -CONFIG_ARCH_OMAP=y - -# -# TI OMAP Implementations -# -# CONFIG_ARCH_OMAP1 is not set -CONFIG_ARCH_OMAP2=y - -# -# OMAP Feature Selections -# -CONFIG_OMAP_RESET_CLOCKS=y -CONFIG_OMAP_BOOT_TAG=y -CONFIG_OMAP_BOOT_REASON=y -CONFIG_OMAP_COMPONENT_VERSION=y -CONFIG_OMAP_GPIO_SWITCH=y -# CONFIG_OMAP_MUX is not set -CONFIG_OMAP_STI=y -CONFIG_OMAP_STI_CONSOLE=y -# CONFIG_OMAP_MCBSP is not set -# CONFIG_OMAP_MPU_TIMER is not set -CONFIG_OMAP_32K_TIMER=y -CONFIG_OMAP_32K_TIMER_HZ=128 -CONFIG_OMAP_DM_TIMER=y -# CONFIG_OMAP_LL_DEBUG_UART1 is not set -# CONFIG_OMAP_LL_DEBUG_UART2 is not set -CONFIG_OMAP_LL_DEBUG_UART3=y -CONFIG_OMAP_DSP=y -# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set -CONFIG_OMAP_DSP_TASK_MULTIOPEN=y -CONFIG_OMAP_DSP_FBEXPORT=y -CONFIG_MACH_OMAP_GENERIC=y - -# -# OMAP Core Type -# -CONFIG_ARCH_OMAP24XX=y -CONFIG_ARCH_OMAP2420=y - -# -# OMAP Board Type -# -CONFIG_MACH_NOKIA_N800=y -CONFIG_MACH_OMAP2_TUSB6010=y -# CONFIG_MACH_OMAP_H4 is not set -# CONFIG_MACH_OMAP_APOLLON is not set - -# -# Processor Type -# -CONFIG_CPU_32=y -CONFIG_CPU_V6=y -# CONFIG_CPU_32v6K is not set -CONFIG_CPU_32v6=y -CONFIG_CPU_ABRT_EV6=y -CONFIG_CPU_CACHE_V6=y -CONFIG_CPU_CACHE_VIPT=y -CONFIG_CPU_COPY_V6=y -CONFIG_CPU_TLB_V6=y - -# -# Processor Features -# -CONFIG_ARM_THUMB=y -# CONFIG_CPU_ICACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_WRITETHROUGH is not set -# CONFIG_CPU_BPREDICT_DISABLE is not set - -# -# Bus support -# - -# -# PCCARD (PCMCIA/CardBus) support -# -# CONFIG_PCCARD is not set - -# -# Kernel Features -# -# CONFIG_PREEMPT is not set -CONFIG_NO_IDLE_HZ=y -CONFIG_HZ=128 -CONFIG_AEABI=y -CONFIG_OABI_COMPAT=y -# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -# CONFIG_SPARSEMEM_STATIC is not set -CONFIG_SPLIT_PTLOCK_CPUS=4 -# CONFIG_RESOURCES_64BIT is not set -CONFIG_LEDS=y -# CONFIG_LEDS_TIMER is not set -# CONFIG_LEDS_CPU is not set -CONFIG_ALIGNMENT_TRAP=y - -# -# Boot options -# -CONFIG_ZBOOT_ROM_TEXT=0x10C08000 -CONFIG_ZBOOT_ROM_BSS=0x10200000 -# CONFIG_ZBOOT_ROM is not set -CONFIG_CMDLINE="root=1f03 rootfstype=jffs2" -# CONFIG_XIP_KERNEL is not set - -# -# CPU Frequency scaling -# -# CONFIG_CPU_FREQ is not set - -# -# Floating point emulation -# - -# -# At least one emulation must be selected -# -CONFIG_FPE_NWFPE=y -# CONFIG_FPE_NWFPE_XP is not set -# CONFIG_FPE_FASTFPE is not set -CONFIG_VFP=y - -# -# Userspace binary formats -# -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_AOUT is not set -# CONFIG_BINFMT_MISC is not set - -# -# Power management options -# -CONFIG_PM=y -# CONFIG_PM_LEGACY is not set -# CONFIG_PM_DEBUG is not set -# CONFIG_APM is not set - -# -# Networking -# -CONFIG_NET=y - -# -# Networking options -# -# CONFIG_NETDEBUG is not set -CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set -CONFIG_UNIX=y -# CONFIG_NET_KEY is not set -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_FIB_HASH=y -# CONFIG_IP_PNP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set -# CONFIG_IP_MROUTE is not set -# CONFIG_ARPD is not set -# CONFIG_SYN_COOKIES is not set -# CONFIG_INET_AH is not set -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -# CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INET_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_BIC=y - -# -# IP: Virtual Server Configuration -# -# CONFIG_IP_VS is not set -# CONFIG_IPV6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set -# CONFIG_NETWORK_SECMARK is not set -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_NETLINK=y -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -# CONFIG_NETFILTER_NETLINK_LOG is not set -# CONFIG_NF_CONNTRACK is not set -CONFIG_NETFILTER_XTABLES=y -# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set -# CONFIG_NETFILTER_XT_TARGET_MARK is not set -# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set -# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set -# CONFIG_NETFILTER_XT_MATCH_ESP is not set -# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set -# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_MAC is not set -# CONFIG_NETFILTER_XT_MATCH_MARK is not set -# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set -# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set -# CONFIG_NETFILTER_XT_MATCH_REALM is not set -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set -# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set -# CONFIG_NETFILTER_XT_MATCH_STRING is not set -# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set - -# -# IP: Netfilter Configuration -# -# CONFIG_IP_NF_CONNTRACK is not set -# CONFIG_IP_NF_QUEUE is not set -CONFIG_IP_NF_IPTABLES=y -# CONFIG_IP_NF_MATCH_IPRANGE is not set -# CONFIG_IP_NF_MATCH_TOS is not set -# CONFIG_IP_NF_MATCH_RECENT is not set -# CONFIG_IP_NF_MATCH_ECN is not set -# CONFIG_IP_NF_MATCH_DSCP is not set -# CONFIG_IP_NF_MATCH_AH is not set -# CONFIG_IP_NF_MATCH_TTL is not set -# CONFIG_IP_NF_MATCH_OWNER is not set -# CONFIG_IP_NF_MATCH_ADDRTYPE is not set -# CONFIG_IP_NF_MATCH_HASHLIMIT is not set -CONFIG_IP_NF_FILTER=y -# CONFIG_IP_NF_TARGET_REJECT is not set -# CONFIG_IP_NF_TARGET_LOG is not set -# CONFIG_IP_NF_TARGET_ULOG is not set -# CONFIG_IP_NF_TARGET_TCPMSS is not set -CONFIG_IP_NF_TARGET_IDLETIMER=y -# CONFIG_IP_NF_MANGLE is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_ARPTABLES is not set - -# -# DCCP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_DCCP is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_SCTP is not set - -# -# TIPC Configuration (EXPERIMENTAL) -# -# CONFIG_TIPC is not set -# CONFIG_ATM is not set -# CONFIG_BRIDGE is not set -# CONFIG_VLAN_8021Q is not set -# CONFIG_DECNET is not set -# CONFIG_LLC2 is not set -# CONFIG_IPX is not set -# CONFIG_ATALK is not set -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_ECONET is not set -# CONFIG_WAN_ROUTER is not set - -# -# QoS and/or fair queueing -# -# CONFIG_NET_SCHED is not set - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -CONFIG_BT=y -CONFIG_BT_L2CAP=y -CONFIG_BT_SCO=y -CONFIG_BT_RFCOMM=y -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=y -# CONFIG_BT_BNEP_MC_FILTER is not set -# CONFIG_BT_BNEP_PROTO_FILTER is not set -CONFIG_BT_HIDP=y - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIBRF6150 is not set -CONFIG_BT_HCIH4P=y -# CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set -CONFIG_WIRELESS_EXT=y - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_FW_LOADER=y -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_SYS_HYPERVISOR is not set - -# -# Connector - unified userspace <-> kernelspace linker -# -# CONFIG_CONNECTOR is not set - -# -# Memory Technology Devices (MTD) -# -CONFIG_MTD=y -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_CONCAT is not set -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_AFS_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set -# CONFIG_RFD_FTL is not set - -# -# RAM/ROM/Flash chip drivers -# -# CONFIG_MTD_CFI is not set -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_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_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_OBSOLETE_CHIPS is not set - -# -# Mapping drivers for chip access -# -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_PLATRAM is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_M25P80 is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLOCK2MTD is not set - -# -# Disk-On-Chip Device Drivers -# -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set - -# -# NAND Flash Device Drivers -# -# CONFIG_MTD_NAND is not set - -# -# OneNAND Flash Device Drivers -# -CONFIG_MTD_ONENAND=y -# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set -# CONFIG_MTD_ONENAND_GENERIC is not set -CONFIG_MTD_ONENAND_OMAP2=y -CONFIG_MTD_ONENAND_OTP=y - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Plug and Play support -# - -# -# Block devices -# -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=y -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=4096 -CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 -CONFIG_BLK_DEV_INITRD=y -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set - -# -# SCSI device support -# -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y -# CONFIG_SCSI_PROC_FS is not set - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -# CONFIG_BLK_DEV_SR is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set - -# -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs -# -# CONFIG_SCSI_MULTI_LUN is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set - -# -# SCSI Transport Attributes -# -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_SAS_ATTRS is not set - -# -# SCSI low-level drivers -# -# CONFIG_ISCSI_TCP is not set -# CONFIG_SCSI_SATA is not set -# CONFIG_SCSI_DEBUG is not set - -# -# Multi-device support (RAID and LVM) -# -# CONFIG_MD is not set - -# -# Fusion MPT device support -# -# CONFIG_FUSION is not set - -# -# IEEE 1394 (FireWire) support -# - -# -# I2O device support -# - -# -# Network device support -# -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -CONFIG_TUN=y - -# -# PHY device support -# - -# -# Ethernet (10 or 100Mbit) -# -# CONFIG_NET_ETHERNET is not set - -# -# Ethernet (1000 Mbit) -# - -# -# Ethernet (10000 Mbit) -# - -# -# Token Ring devices -# - -# -# Wireless LAN (non-hamradio) -# -CONFIG_NET_RADIO=y -# CONFIG_NET_WIRELESS_RTNETLINK is not set - -# -# Obsolete Wireless cards support (pre-802.11) -# -# CONFIG_STRIP is not set -# CONFIG_HOSTAP is not set - -# -# Wan interfaces -# -# CONFIG_WAN is not set -CONFIG_PPP=y -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=y -CONFIG_PPP_SYNC_TTY=y -CONFIG_PPP_DEFLATE=y -CONFIG_PPP_BSDCOMP=y -# CONFIG_PPP_MPPE is not set -# CONFIG_PPPOE is not set -# CONFIG_SLIP is not set -# CONFIG_SHAPER is not set -# CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Input device support -# -CONFIG_INPUT=y - -# -# Userland interfaces -# -CONFIG_INPUT_MOUSEDEV=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -# CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_TSDEV is not set -CONFIG_INPUT_EVDEV=y -# CONFIG_INPUT_EVBUG is not set - -# -# Input Device Drivers -# -CONFIG_INPUT_KEYBOARD=y -# CONFIG_KEYBOARD_ATKBD is not set -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_OMAP is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_JOYSTICK is not set -CONFIG_INPUT_TOUCHSCREEN=y -# CONFIG_TOUCHSCREEN_ADS7846 is not set -# CONFIG_TOUCHSCREEN_GUNZE is not set -# CONFIG_TOUCHSCREEN_ELO is not set -# CONFIG_TOUCHSCREEN_MTOUCH is not set -# CONFIG_TOUCHSCREEN_MK712 is not set -# CONFIG_INPUT_MISC is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_RAW is not set -# CONFIG_GAMEPORT is not set - -# -# Character devices -# -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_HW_CONSOLE=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set -# CONFIG_SERIAL_NONSTANDARD is not set - -# -# Serial drivers -# -# CONFIG_SERIAL_8250 is not set - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_OMAP=y -CONFIG_SERIAL_OMAP_CONSOLE=y -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_UNIX98_PTYS=y -# CONFIG_LEGACY_PTYS is not set - -# -# IPMI -# -# CONFIG_IPMI_HANDLER is not set - -# -# Watchdog Cards -# -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_NOWAYOUT=y - -# -# Watchdog Device Drivers -# -# CONFIG_SOFT_WATCHDOG is not set -CONFIG_OMAP_WATCHDOG=y -# CONFIG_HW_RANDOM is not set -CONFIG_OMAP_RNG=y -# CONFIG_NVRAM is not set -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set - -# -# Ftape, the floppy tape device driver -# -# CONFIG_RAW_DRIVER is not set - -# -# TPM devices -# -# CONFIG_TCG_TPM is not set -# CONFIG_TELCLOCK is not set - -# -# I2C support -# -CONFIG_I2C=y -# CONFIG_I2C_CHARDEV is not set - -# -# I2C Algorithms -# -# CONFIG_I2C_ALGOBIT is not set -# CONFIG_I2C_ALGOPCF is not set -# CONFIG_I2C_ALGOPCA is not set - -# -# I2C Hardware Bus support -# -# CONFIG_I2C_OCORES is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_PCA_ISA is not set -CONFIG_I2C_OMAP=y - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_DS1337 is not set -# CONFIG_SENSORS_DS1374 is not set -# CONFIG_SENSORS_EEPROM is not set -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_TPS65010 is not set -# CONFIG_SENSORS_TLV320AIC23 is not set -# CONFIG_GPIOEXPANDER_OMAP is not set -CONFIG_MENELAUS=y -# CONFIG_SENSORS_MAX6875 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_I2C_DEBUG_CHIP is not set - -# -# SPI support -# -CONFIG_SPI=y -# CONFIG_SPI_DEBUG is not set -CONFIG_SPI_MASTER=y - -# -# SPI Master Controller Drivers -# -# CONFIG_SPI_BITBANG is not set -# CONFIG_SPI_OMAP_UWIRE is not set -CONFIG_SPI_OMAP24XX=y - -# -# SPI Protocol Masters -# -CONFIG_SPI_TSC2301=y -CONFIG_SPI_TSC2301_KEYPAD=y -CONFIG_SPI_TSC2301_TOUCHSCREEN=y -CONFIG_SPI_TSC2301_AUDIO=y - -# -# Dallas's 1-wire bus -# - -# -# Hardware Monitoring support -# -CONFIG_HWMON=y -# CONFIG_HWMON_VID is not set -# CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM70 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -CONFIG_SENSORS_TMP105=y -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set - -# -# Misc devices -# - -# -# LED devices -# -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y - -# -# LED drivers -# -# CONFIG_LEDS_OMAP is not set -CONFIG_LEDS_OMAP_PWM=y - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y - -# -# Multimedia devices -# -CONFIG_VIDEO_DEV=y -# CONFIG_VIDEO_V4L1 is not set -# CONFIG_VIDEO_V4L1_COMPAT is not set -CONFIG_VIDEO_V4L2=y - -# -# Video Capture Adapters -# - -# -# Video Capture Adapters -# -# CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_VIVI is not set - -# -# Encoders and Decoders -# -# CONFIG_VIDEO_MSP3400 is not set -# CONFIG_VIDEO_CS53L32A is not set -# CONFIG_VIDEO_TLV320AIC23B is not set -# CONFIG_VIDEO_WM8775 is not set -# CONFIG_VIDEO_WM8739 is not set -# CONFIG_VIDEO_CX2341X is not set -# CONFIG_VIDEO_CX25840 is not set -# CONFIG_VIDEO_SAA711X is not set -# CONFIG_VIDEO_SAA7127 is not set -# CONFIG_VIDEO_UPD64031A is not set -# CONFIG_VIDEO_UPD64083 is not set -CONFIG_VIDEO_OMAP_CAMERA=y -# CONFIG_VIDEO_CAMERA_SENSOR_OV9640 is not set -CONFIG_VIDEO_CAMERA_SENSOR_TCM825X=y - -# -# Radio Adapters -# -CONFIG_RADIO_TEA5761=y - -# -# Digital Video Broadcasting Devices -# -# CONFIG_DVB is not set -CONFIG_VIDEO_BUF=y - -# -# Graphics support -# -# CONFIG_FIRMWARE_EDID is not set -CONFIG_FB=y -# CONFIG_FB_CFB_FILLRECT is not set -# CONFIG_FB_CFB_COPYAREA is not set -# CONFIG_FB_CFB_IMAGEBLIT is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_BACKLIGHT is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_TILEBLITTING is not set -# CONFIG_FB_S1D13XXX is not set -# CONFIG_FB_VIRTUAL is not set -CONFIG_FB_OMAP=y -CONFIG_FB_OMAP_LCDC_EXTERNAL=y -# CONFIG_FB_OMAP_LCDC_HWA742 is not set -CONFIG_FB_OMAP_LCDC_BLIZZARD=y -# CONFIG_FB_OMAP_MANUAL_UPDATE is not set -CONFIG_FB_OMAP_LCD_MIPID=y -CONFIG_FB_OMAP_BOOTLOADER_INIT=y -CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4 - -# -# Console display driver support -# -# CONFIG_VGA_CONSOLE is not set -CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y - -# -# Logo configuration -# -# CONFIG_LOGO is not set -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set - -# -# Sound -# -CONFIG_SOUND=y - -# -# Advanced Linux Sound Architecture -# -CONFIG_SND=y -# CONFIG_SND_SEQUENCER is not set -CONFIG_SND_OSSEMUL=y -CONFIG_SND_MIXER_OSS=y -# CONFIG_SND_PCM_OSS is not set -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PROCFS is not set -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -# -# Generic devices -# -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set - -# -# ALSA ARM devices -# -# CONFIG_SND_OMAP_AIC23 is not set -# CONFIG_SND_OMAP_TSC2101 is not set -CONFIG_SND_OMAP24XX_EAC=y - -# -# Open Sound System -# -# CONFIG_SOUND_PRIME is not set - -# -# USB support -# -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -# CONFIG_USB_ARCH_HAS_EHCI is not set -# CONFIG_USB is not set -CONFIG_USB_MUSB_HDRC=y -CONFIG_USB_TUSB6010=y -CONFIG_USB_TUSB6010_TEST=y -# CONFIG_USB_MUSB_HOST is not set -CONFIG_USB_MUSB_PERIPHERAL=y -# CONFIG_USB_MUSB_OTG is not set -CONFIG_USB_GADGET_MUSB_HDRC=y -# CONFIG_USB_INVENTRA_FIFO is not set -# CONFIG_USB_INVENTRA_DMA is not set -# CONFIG_USB_TI_CPPI_DMA is not set -CONFIG_USB_TUSB_OMAP_DMA=y -CONFIG_USB_INVENTRA_HCD_LOGGING=1 - -# -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' -# - -# -# USB Gadget Support -# -CONFIG_USB_GADGET=y -CONFIG_USB_GADGET_DEBUG_FILES=y -CONFIG_USB_GADGET_SELECTED=y -# CONFIG_USB_GADGET_NET2280 is not set -# CONFIG_USB_GADGET_PXA2XX is not set -# CONFIG_USB_GADGET_GOKU is not set -# CONFIG_USB_GADGET_LH7A40X is not set -# CONFIG_USB_GADGET_OMAP is not set -# CONFIG_USB_GADGET_AT91 is not set -# CONFIG_USB_GADGET_DUMMY_HCD is not set -CONFIG_USB_GADGET_DUALSPEED=y -# CONFIG_USB_ZERO is not set -CONFIG_USB_ETH=m -CONFIG_USB_ETH_RNDIS=y -# CONFIG_USB_GADGETFS is not set -CONFIG_USB_FILE_STORAGE=m -# CONFIG_USB_FILE_STORAGE_TEST is not set -# CONFIG_USB_G_SERIAL is not set - -# -# MMC/SD Card support -# -CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set -CONFIG_MMC_BLOCK=y -CONFIG_MMC_OMAP=y - -# -# Real Time Clock -# -CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set - -# -# Synchronous Serial Interfaces (SSI) -# -# CONFIG_OMAP_TSC2101 is not set - -# -# CBUS support -# -CONFIG_CBUS=y -CONFIG_CBUS_TAHVO=y -CONFIG_CBUS_TAHVO_USER=y -CONFIG_CBUS_RETU=y -CONFIG_CBUS_RETU_USER=y -CONFIG_CBUS_RETU_POWERBUTTON=y -CONFIG_CBUS_RETU_RTC=y -CONFIG_CBUS_RETU_WDT=y -CONFIG_CBUS_RETU_HEADSET=y - -# -# File systems -# -CONFIG_EXT2_FS=m -CONFIG_EXT2_FS_XATTR=y -# CONFIG_EXT2_FS_POSIX_ACL is not set -# CONFIG_EXT2_FS_SECURITY is not set -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=m -CONFIG_EXT3_FS_XATTR=y -# CONFIG_EXT3_FS_POSIX_ACL is not set -# CONFIG_EXT3_FS_SECURITY is not set -CONFIG_JBD=m -# CONFIG_JBD_DEBUG is not set -CONFIG_FS_MBCACHE=m -# CONFIG_REISERFS_FS is not set -# CONFIG_JFS_FS is not set -# CONFIG_FS_POSIX_ACL is not set -# CONFIG_XFS_FS is not set -# CONFIG_OCFS2_FS is not set -# CONFIG_MINIX_FS is not set -# CONFIG_ROMFS_FS is not set -CONFIG_INOTIFY=y -CONFIG_INOTIFY_USER=y -# CONFIG_QUOTA is not set -CONFIG_DNOTIFY=y -# CONFIG_AUTOFS_FS is not set -# CONFIG_AUTOFS4_FS is not set -# CONFIG_FUSE_FS is not set - -# -# CD-ROM/DVD Filesystems -# -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -# CONFIG_NTFS_FS is not set - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y -# CONFIG_CONFIGFS_FS is not set - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -# CONFIG_JFFS_FS is not set -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -CONFIG_JFFS2_SUMMARY=y -# CONFIG_JFFS2_FS_XATTR is not set -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_LZO=y -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -# CONFIG_JFFS2_CMODE_NONE is not set -CONFIG_JFFS2_CMODE_PRIORITY=y -# CONFIG_JFFS2_CMODE_SIZE is not set -# CONFIG_JFFS2_CMODE_FAVOURLZO is not set -# CONFIG_CRAMFS is not set -# CONFIG_VXFS_FS is not set -# CONFIG_HPFS_FS is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_FS is not set - -# -# Network File Systems -# -# CONFIG_NFS_FS is not set -# CONFIG_NFSD is not set -# CONFIG_SMB_FS is not set -# CONFIG_CIFS is not set -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set - -# -# Partition Types -# -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_MSDOS_PARTITION=y - -# -# Native Language Support -# -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -# CONFIG_NLS_CODEPAGE_850 is not set -# CONFIG_NLS_CODEPAGE_852 is not set -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -# CONFIG_NLS_CODEPAGE_863 is not set -# CONFIG_NLS_CODEPAGE_864 is not set -# CONFIG_NLS_CODEPAGE_865 is not set -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -# CONFIG_NLS_ASCII is not set -CONFIG_NLS_ISO8859_1=y -# CONFIG_NLS_ISO8859_2 is not set -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -CONFIG_NLS_ISO8859_15=y -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -CONFIG_NLS_UTF8=y - -# -# Profiling support -# -CONFIG_PROFILING=y -CONFIG_OPROFILE=y - -# -# Kernel hacking -# -CONFIG_PRINTK_TIME=y -CONFIG_MAGIC_SYSRQ=y -# CONFIG_UNUSED_SYMBOLS is not set -CONFIG_DEBUG_KERNEL=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_DETECT_SOFTLOCKUP=y -# CONFIG_SCHEDSTATS is not set -# CONFIG_DEBUG_SLAB 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 is not set -# CONFIG_DEBUG_RWSEMS is not set -# CONFIG_DEBUG_SPINLOCK_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_DEBUG_KOBJECT is not set -CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_DEBUG_INFO is not set -# CONFIG_DEBUG_FS is not set -# CONFIG_DEBUG_VM is not set -CONFIG_FRAME_POINTER=y -# CONFIG_UNWIND_INFO is not set -CONFIG_FORCED_INLINING=y -# CONFIG_RCU_TORTURE_TEST is not set -CONFIG_DEBUG_USER=y -# CONFIG_DEBUG_WAITQ is not set -CONFIG_DEBUG_ERRORS=y -# CONFIG_DEBUG_LL is not set - -# -# Security options -# -# CONFIG_KEYS is not set -CONFIG_SECURITY=y -# CONFIG_SECURITY_NETWORK is not set -# CONFIG_SECURITY_CAPABILITIES is not set -# CONFIG_SECURITY_SECLVL is not set -CONFIG_SECURITY_LOWMEM=y - -# -# Cryptographic options -# -# CONFIG_CRYPTO is not set - -# -# Hardware crypto devices -# - -# -# Library routines -# -CONFIG_CRC_CCITT=y -# CONFIG_CRC16 is not set -CONFIG_CRC32=y -# CONFIG_LIBCRC32C is not set -CONFIG_LZO=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_PLIST=y diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/kernel-source_2.6.21-200823maemo6.diff.gz b/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/kernel-source_2.6.21-200823maemo6.diff.gz deleted file mode 100644 index 2ceb4a784155eec7bdf8a299789f10c4dfeac4b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 932654 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 z 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%0Aw%LBLEpBy(Io3@R*W#lj(a9 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 %kNnr>1&ko`1-^!^#0}c6rP# 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%0A-M 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�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Ð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 z DdW7G%plQxO2PME-ADlcnxH%zc-LLCs@YRBlvJMjrSk_0Z>ttPfhVC&nx?pou= zFG;OJk!-Y*+$cclZ5oG(0Is(%_!`Ej%Y76RoHI&=x+FdCXHseW7vw8dDT7P%cDDGy zW|fU1J}JPW8-$LJYlX+pL-1Ib!&Mv+z`x$XmIz2?RqeLz0ACdTC)%)Tp=D7-bVsKS zqBAgvWe9TiG8j;_4CtsC1F5&`NnODrtt&42H!#Squ==l$Fe~n{uaDgwIDb#^WNAu5b`V;C8lM4Tez$MSRt1TmVaCCpjN7oPljoAeVP~q zD;QujOTf7CqLD9_@TWabon9rXy=JZuuG}bht`Tm{RH2m8?bR_}Wx8O_RGdp7!KVwS zCN>q#55V3i)dskzF5uS4h^E(I9PZEj`x?aJ)yx^dojpL>zY|X zE0r$h9i5|TEgci_mChW*N92kt-0EGW((Bqo!0rr)1}0(+wM1}&xNO==*ozy-8}0he zJCK6o1CIBihkY#;HiP+Z%dcxUZ2&IDsIpKzdK6(WoBZ*mwnI#oD!0N~u+T$fXYlY~N?*utr!UF`@foUJP_q>8z9 z<;7GnzplKLDi$1_Q{_jgVli>(MH+h1HF1gs7f+H)q4Vy+Qz>-)Ogv%~=n>;YD#qef zkWJ@lrA`V7#RV=dCKMOBxa1ft?m#H?uWHTIiHi^*Q<=1aga07gb=AZXD%lkvR~WP8_1vMtFM^kTHfHy)jN?oLMSgfyfZ zuMWs@MC-1<#H?lb5rZD;;JsQG4%Dj)l7zZh8RF250L_BOOE-@0O{G%nB8GUG2*~Oz z!w9Lhs%rR?u36a8$!IOFHD+IS2e}q8ClqtUQvr)KoF2Zsj z-RDEi5hZ+BEsfU)7t+X!#CSOP)F*^-@W&v*;M0juJmhaobH`I54Y^%r-`)NsTutx2 z8rs+`X4BDtt*pJ*&+vINntJX2;)D172l40O9RB=E$hE#;;FkXYJ8>L=0FbzW2D&bb-aR&)kit_C)z- zyu^w4!heLVq`JE6b~-DF?c^yGmdk+9Ug$)ieTusRJoQIQ%kf(j%oZPhUIi=LlblO$ z$Cx)mxDcQ@Ikt`VY7-3cJPGgp<#|-VM%Gj$y!;pbGLw#AJ@^;-sZJeOdak2K?W*tJ zj+Rd&*gp!!A1!{S)|AulmMPeUN40R0X>p?drfAQ<8rO7cP z7&2RtxQCnCTYmgG>+LN*CV|18OzpuxT&(SlR2cm1htpx!!(SGIM*{(yv7p=iqZ=`F zIQY1XsDT~Wb&qzW)WyQrJzO*=Y9-er$NB3`?WRVy?C-PYHxZva62t|!il)GyeMtX| zkJ3M94t``$n;(AgY_yq#=v5jX_9KlEqoAw3p8*AS_-EBhtPz|I#)TA;2FNE^oNw_b z{7r-3)QNBvqCfv9_Cm}SH^i|aBMhMnueWD&w5%7AZ5)A*ktTM;61gDpUPgC$pg9MY zjC-5xMV0S^Wm@+^bKsw^mWim%0ZEUj1aK2La;s0o9vKHJ*=KiSzsUgj)$gP<5^aC! zhgc2mc1GOU6K}s@y~7GmsOt(oF}$+!q!fH=Bf1Hw%Y~I1C56WR=lYX7h2uy8JMssi zd_d>-pKJ*q$>_Dv)fTfz=QBQf9Kzu$0?(kWALF$Q!f+(QcvZxB)qLA&I7X;ft1vO* z>!)2~g2`<0{Cm-zX#9&4o`!cT$~!$qe-`*R&u_%KMQ<$G<y5HI2CeL;;W=Pom;CT<61=^cEl6a zm=ZKA;^leHo`kAia14R)X%>ThW>1tJYR_L5e^H}4|DQnT?ZaV zvz@@9!!|tkZ9IDtQOed;@2@`Y)ZB0|9MIh0FIn%?TgJJCU&iUp>vAu_;ll0H^(5R# z1&xO7ZI{@OO$eA(ZzgM%n_PYCY5uS%cB~{Ws{5xL{seF>;O1 z>w+5DB`h8|i(nyN$SjtL01vZp8H=2&BJPrhqAWIa_|VhqGV-QYubYZR^uZ0}crddd zD9oxC#o)v+H!9o+@^}nk${}yeP^8{;L1#etvY=`Llfk%+Knx2}1$I9mpUh`djIfQN zpPxnxjPye>r^lnoXc<~cMy}Q+vVpajb@;OVJ;Wm(= zEO~es&oW%iG5o3))Y3}|#;N-*dTRo4+HkR#l(?&+O$BtAD;iNV1ZT!Avf|m$>Gv2- z5&x!O&n+Y(HtS{#?4F4Mu<@_Q;m|;ZV#i{(d9kp{3ykc#T*0w|i!;CoWRf&UV6j)o zT%1Ehft)WTLI;Ndh|qlNq;N;Ql@GjKu{v(*w=o-@=HHYXxx(WQo~Z$W4b7&yaC z8dzziFvR^fSVy7H%kGLtiF2*=e?rMeH{I0~W1so>Vr8lT_0rYUDAyiHaK=e}m`TOZ zWlT7wNi;zPZc{(=iAEBW)gME?T7818QU1iTbc?+H(P_wxm}nR6BsQ4F5t^w5;8F>l zIg*!A)_vcNf@bC8g;Ch7e90`VcmApsp2iAg_zx%?n1yf4jn|lPrAuDPC9Ba&v)7>S zR(qG_n?}zsQ}n`;)m*Q4K`~59R!f*O(2fR1->ZJFaUp|&8LgME3Dc3)LPvhLTDZDw z+;m^1IKi>mUo7xz&0dEBG#;1iMJZRgH7K(i!?KPjvl^`FQ$aaE<(p~n5m^xmogB&k z9nuoT*@6pY*8FmLVLZ1ACbo)dD?+Sx+gbhZ`kQjz_yA+5b;?=mC0lgnc1+lea|RB> zkvLk6@AF0YD8A#Lz@R9k;JG-O?}9~uK_KZP3h@(Yflo?%_|m9^RaCdDJI3)iS}a#^ zRp<|giy&0D2q*{KLa~MS4NP5tnHj~lKG5Pa?mc3ncEW~^%i%*G{`^JA6DT^sSL(sJ2wstlZegNZIMFR4bPgj3B*yVA9ZE{o z$}e>MJ8;6~Xp&Udw%iif;80#XJKK^5N-T4^&5$N5Zx8;_Mdt(?Bn?soG;LgHRO7=4qbJ{vmM#Sd0uqoyRaZWracDL(v(}Ciu80=3DbXzB zu%a)l<6`;)=C{K5%rxIp5F?Rl$>*o~G&<%47c$mGgC)N-EPM7g`H4l@WiO`N$M_#|&>NEDxVC zY5bPa={XJM8ST=K6%m0%#z-)#k1*%3wh71kG0|p3a7T}{(RhzW1y6L39uS*}Z0MlN zZUZ_^jM8;2t3-=CL+&!G@QLjNkAku;<4uW^drdpWKqBEFp($Po;x4haG)ZBr+ID>@ zN+wiJmg4YVy1#fvzA9Tl8Y~#z{aM8ulzZD)jd19m^&_KU5v%s(R&8iAo?(+G=bGVk$u+#El zixb5+hP`nxbqs~%n61Vz1o=ZC_H08RDscs87SOKCer$n)kE`i!orzB=w{bUKg%4Y@ zC9Z**)s1s1r&7$M6VLQhF!4l4K^KIy#RS>7MT;ZM(P+&((85|;W1LL-TVr)#fL^UM zahJH>ynnxbsBpwmquFgZ8wX2HGlGUt zPxyd=kDYLByB*;(Am`*07<_dK`@FmRNzL<>4Ce^Ce|HCU;a`|%)fttXBLO#gHhng7 z-OfFx(EbE__tls5o!rT0bM^68FxOn|;$KJFU$_z_(tU?$15{7pW` z@nI^Le!WxsYZkt})xMz|-Q$mW^|4Y#B`)9o=KTe}v5oP#4;FpC1OBi4kpM1V`;AJ2 zGS&XC{Au*DdcvR1v`@$Usib{6!cVV_iY5M}S1j@;t<7qIKk2wg@!T*f=J=C_{!N!Z zX}DgoXTM&t)9w9)AK&Y6t(zW?^ebVUK*?G4X?dmNsJ#>O@;+Y>Un^}4eNGzlxA~&+ z@tQxDqK}xzq|NoMuL!GhRLFHNl(cmx5-DH+!TnOHlr<^Dfb?)E_(f!uMZ0wB2S)^Y z-^I?s$g^nBt6(t_tB0<*-W>BV&8DN}Y#}wxCe+|zG!Hq$Og6bnO{A)6R=TvZjp*+a zq|Qc>|9)Gp_j355c@lld{f^Z`)N3=}DFTj@9_(oDE#K$`=~>qb*>UC6@}6ga?7 zo=B^0d@5k0jdU2)A${TGQr86;(Q({F&Fw|mh z-9WBjAFAj&mFucst#`0fuVg>zd*gK-dq7llxf+i#78#toH{A=tdgOG#mz>|esWl~| ziN3y}ee>FYd~+>%RP?P=c_W!k^s)C&qAY1&yS1ETRnbS-jLZ(28f;#|zJ+}s``DI) zrH_mt)d6M@`}kJteqQyeZGg(JZ?qBQ<*?ou?ejt~loDc>!4E-ddP^zyRhVEz->KsATQPh_cl7|^yOVL~rdigX0 z4tGnLt?yRjtOt;U=WV_B3Qk?G+gz87@k_93k9A>?vJb?A5A7HBhDQ3OP(H$VaL<|3{cQFHk z1kmd;)y@_2`P@Oi2wVN8Th?-UMus|cYiV7e0$NP4ZmZ)i6{Zx!+j|P?6e=?cI8Sr_ ztG7NJwBlIxe(-YHgwmtrl6+!GA+e;GSW-$XIZ7-!PAZ{1f^m})oD8(@bWg^0t6CH0 zBS|wtATZU5W!QLPVY^m)om9A{$I595@3-!*cWPJUy68LCM3p+%MU^^NK$aT)Q@SnG z=tv4fg+$t-IZh_MIu)K7QN??`;?r!Q(!wR+CXfh^Y1k>3RruSx)>~Tj>cI>Yh;S{5 zCfSL|T83%x9^Z?ej9gg~ev{Z+cUwW+O(`wGFM%`!H}<_(c0q(s&$y{Jk_m zQS)C~9b{tOE=BCo8HV=V$Dd{h1P+prj&d^W^1+u*GI!w2W%p|| z^CF5I$}w6oHHOS*myXieWfI_od1^XVS!K0z*V8iFCDkouFa+qYl-%xZe>r#<&hE)^ zc=4+ww9B8JVXTAvSDjCm+G61~=0NTV>W*P85uwNHwL6vTq&lYwbyS)xs8h7+obiTAN`sh?o@~u9^mXU? z$>n01LLEbi)jM`o)3R?N#U!NIGR6#G$?3nMRAvAcWhYa!A*{XOZXHiFTdI9oU}v$lR8qK4$fd@w`EbE}Z`jFB^5 z9A>CmySTXm&=-^q^-fH@O=3GEyZNpPew4s`8cYxo&j#@FAsW&fM-q+uM z6aI)TBsZW%D<=GD)!VP%y?f`CVUeUB_2oBV)*HY4X86CSR-f@N3`GveBYc%Ip`+J7yi}dyHrXbP8UxyF{n2Prh%NsLAte` zf77m(do@x6rc^&mIkF(K?tM^0K)~XJjd!?`CBRmCodyF( zu*cg>r3Qbpb{gY&U=eTHe!Ed_>Z3Weu?S1Eaeo@baquNRhUCmfB4R2FEcUXjBaZc> zV&ZU-XQkC>b^O=0_ffZwad>C;vE#zuwe3 z?_(&6yP!y*m!r}KdU1~iq;Cz!k&OfG;MR@AtbUwa-HY!L*tnQ8sn)4u_=N836l+1y zDbx)NJ5WFpD8L!_Rvolm#=IjEmH@^5*#&)FZr+p|VrE4*^06C>gznYK9p+fK&)z%Fv;HXYMe&4d{a0>)n*a+Nu zQ|mO!?-{(5OPqDws2AnR>qhoW=sW1pqGvEm6#O*%{xY^VUsumKi+ zuhhgrjk?ke;DSqQt8%)bhEzF5RhYbEm1=J=2q}fv&ETV-GU zWB@9Uw;{`~%kQvQH}+H98LwjfC7D-A@*~#Xxw<$yKH_&%%HLYbVj9iUlWd`A*l2CU zRB7Dw{L)3copqKJ5=-(_vLEXg+P&GI-`~7170{xNjT+Z*Z|b1$qlfs%toMAb{(8a} zg{=1w;G079nTLf=i2V0#we&GV0Q`71zX}BSt3)D;r7`;7PXB(sMIZ6(-nO6nRzGdC zPI&|hqt4S)j4-^9rhA3c*g|sHXdg{P^mTkyZsHjLS1zE~t9nn)^Fg9KMDeeoW2bOM z#=lL6dE;272XG$4d=~m2&y7Fj9G`k3GT>0m1booCd(O?_N|5n*^f%$mN?Zr-NtB-h(4&$IWjqj0&q_(l^QX2oYqU9VT>#NQ zF2C5`*0=?dEW=Vt?~-D^(23&3_#q1f?>aRQQ&6*TngH=$hoF0|OIe+d9o$^Ic|*+D zV|55WB%Eb2`)eVe$DdJ9cT93Ohv^&BZlkmt^TCkgf6PZ8(Po}(s)wV;(J)vX0+4V~ zX-Qv?RTwa+&!D4exD5J3zAYc9d?y&r4Sq4#RR)f_yX8P^2P(gcjO>l}^d5y8!#iXgFNJpdFh*+kDMe<+jIqk!45Xa&&YM@ zif|PsRYWv2{=gU3R2q*2jML%IgT-hz{Q2e0zAR|^RU(8}&?gHH7 zOQ#mcHx@-9C7V==P^dZ-xhC5CWvX{)x#&;By8yi=gT7!~LcXEMh$KQ}`Rovx>Fh}C z9R5CQ1znf(%yJzZD+|oQgX<}KgWJrZJ=>XK)Mj#h*OhcmtBcovsS5nbWDO)w=8Nk>kxoT4s{U~X?kq$p2@ z8Zk>!(_6VBn2`!+Q1O(MkadS26|2y5>!tVXw&d#gW_X@>clJawgSeM71&Gv2HylPg z_b1*F$=sd&FoXKv-Hu}UmW14jhLj@g*KpD&J4b(+n&Z#tWJ5<-{@YwtDdnzCQ=IsZ z1Svx}!x!>BGYn0N!b82xpCd5+-d{!*`@;n$Z?tMae-R!ld|PJ`BQv zmNG8I1INvz#k+}3i~#$aEpQ6SJisJo!%P4E7_q^ zSh@Z)+`H^NB6}PmK#iK|c#q;7P?V{tC?Z=B7apEND%V9!j4No&@Z*Fyw+h7cIO%VY zo}=OK8zWGq6y6WHj_U;nj$(v6j}{#dH0_R+Nhe*tgxR&1N&?`17`XIPTQsI#O{~6> z^b=j`v*Ok9D0}Md7jsA1{ITOGB@)+2EF3I?U@EjRW|7bZ$X}oNR~Mu>G`UAgDPRe{ zFbp8q*o3p!x{4_gAw}9ozGO!O*qh6UD~U7$(@a--3SJ!FJZ=&)g!B-&xIN)!_wX6o z*8~UpTS^ZmWTfqqe=?lD&c?%*W1&?>54AJQSC-foHr050@G~0?F{!SaI5>0?nT`vy zXY6%Ha!ngVLHI&`idYkiP1?34x;{EV_uXRQDC?3Cb+X1Fm$%~;5)S-Ea?9KzSTTf$ zCn8B}Z$}Stu}M`$(0@!6c@RzM{cbh2WVXnbNS1Q%SN0sBnBtYLX&8 z*5_;;kc3oP$#SJve^bLqTBz*dEO#y)qZU0>oV6s0*@tYTkWAq}2#}=XPU&hw8;{Ii z$|t4NsJR6&rS*|1W5w0R@gE+XKpKN{>pO@bH{^NALBspwubkDl{I5}|T86Nm5yueZ z6wVe(e~~DwWL`Qx)rpAPT9e>XRI1Ly`0V) zQj`G)d6IF5>(gsq3{!i!-XjrMSXGGDSOlr#%`d!g@ue?ivOOY0pXvD^YE03n%yh3R zJ@ywqAD~p7ymQMSE^esN!EE0vlE9L7$F~N z_Bb7;hf{fOmEYZBZv+JWVQpLuLn=iGwi}or{?s0=ozY2k*<1TA=q}aX1rOFKphczt z`{*FwA7B1?uIr+U`5gK96i;*6Lf%exB*x0Rh`Z4u#Ee=WgE6xHuUwEaD*=h!;rcs+ zmv}+Mvq8%dCF?7%I!3=yqF1T?yckS$h4tjG8npZTmf@hb!X<$dL;=U>wCr_TjxQ7C z9W)RbPltUwPjZ5M!xxrh;YKTu&&+PUaL8cdyxB&;i=dM`8-t2>nJmvoQ&-T)yIT=6 z(m~)PKE?L7XgNxT=%GVa0(#yCA-8ehXhXcfA&ZGp>Y8k!`sT7r$vSEdI{+#~7m|AO zriOL^I&w)ugZ01Wf@xzU(EZ9CFg<@Nk#PYSj?n5DJn{aVWeLr zk8%-6T1u-+ltCFraC%R6fo}SO+4%lw2HO(G1MU;Lv##*b6)`z3rloE?6MzPSR>AV>CIb#b$DJ}0j~ zpTlMnf%DVtazzJvC%AISOXWo&G$SPF~VBQxOZC_abbAAyt zJ(&zy!SCIT#sTWG$qt56V6-agqfpnMdSPE&?7FMl18pS~00kH0Th^uUJK}E&VhWr> zvkH!OK#y#j*ibtaZt`UKNsEqBj#-QcpBXzg^@EpPlj?v0h<|W`<6gu?d za!$~11Ox!jWkog4!Du=^m%qBVM8lHMaiAyd`4@Oh`<0~1VTiPSwqrc^U>Rg`Uj^YoFkP&yI9gIJad#$1;K{?^-Hhd13 zAfj^WQvRE+sK$O>kmAK34ab2Ron}t&}NZQXAbJ;vfZ(NCNdV=XQ z)l_U=Ojc096aJ+tJe1w zRMft!lW}#IKc6tPYo;VXxC${xxSf4o!4z1XV@{_7iaVFQG6;22%=v@)O0}spYas}^ zdZ={z+l3*2l>clL$Gf5+(mBmD>6{)>sG;~=a&%<>ssADHLE62)4;HAwh>UKp+c$M; zyi@D;TAf<@V}@&z_Hvv~Pv)x;0njY^VgE7so2o=f>iur{P0j!FpFjRRll7o}#(};2 zs`VC8?}E+N`f{)cD3yJrz_uEq2*^a_{os9cpwdSC5kPjq=<1jl;cjS%YvQhKz-8@oc{zC%4#=wto6%IYjuH;qPc!BZm#ieAvf(u(1CP3dWN$?-i$A7Kpv!ABkuOfogVwbxB(~%%yqr9 z5g@+_ppd2KFBeGV8lyvXd*l%dq?d%sfU5wVYz26A`EDyXO4zwg2dme~Lup_8?YEmp zqJym)hz_@A96H#VVHllTHwqYUz1o1inBO$b3|80-w-RvU>`K6m^D6;2&aedBG<^!L-DqqBwtfN?*rqAG zgxy$cZk#{{+f1C>VXNC0DqL4Cy6wDQO=d233teb|{du>q z^SObMu90r3wf)bv(xvLibthkF7 zo@e4eR}BySTP@gZRTyReze3yItyR{k+eNVgNZ|*}r_pRRYbh@mFTgaKDK8%{fS=uz zSBMvM%FSx)I^`APMeVYGS?_dv99K@f%y)w23hsXciten3dcs=GR#%Cae#h9_sa)&L-T&Dt=Yt1JW9PdmOq~Fgk45;tG%gLYF_7UpwZJ_hOphuP;0__NYod-f*sjk z+^Jl;VBer)NK;!bsTbtU!WavMz zBG7)vf?v6V_6v@zhsb^C9s6Iy+|$(Cw8twUh$379tGy4%juVZt)QX@l481+zi1nR~ z>~A(5KTBG|xjqyR_lQ^9>o6%8D}A=~mVLOr%XyQ=fL8C}XXx{LhZ;JJ_k8V85@uon z6F-}1b0Kiy$Y0H#JXn}#4j`sX*?#2!37#Auj!NHMxbA zi*QmKhw%Yx`O$@$f^?}&+bm&EnMXE;8^(QrkYCUMHt!_`C}_E z8b$NgAZ4s+hKy9Eqma{Df-t*GqsRWgkm7ux(xs;|Z=>NPtaWYmp@`qnC(dB7ZBAoW;;lphC zhqw-@zV3P_DxU6gC!)};iD|OP>*>Flvi_SX>%W<@w$7B*ZI;{JSFK(wNtRw<&7)mV|8p|jgs`B$mzY3Je{mr}Vckwd$Wic=oco=*;3GP;$z{^_ z!{K583njf(q;-(=-PNAJNqA)xm?~*8n9u?b=i@QE48WaS2!epqU)(MD3xx`Kp7)6e zJmnE!`o##hCGH(X?mpiNQaI3|s9BxSMGYfF!R`%7J7A388aWwOut@)5uoPX#(ZC=2 zu+0SQ4jg{?&t1)$!{z7?Awys{cNHJ<$9a+;G;N)sgzon0mbT7S9FL+c_?i$)0PMxP zUR`PirIrdRcWQ6y-FmCZIx@4Y`@YL=Whn||87mYCNwBbF7S=m|)e2AJg|%Ldn#>Ob zLuX}4FigiB*)p-(l}3ka7py+jIw|^W^`#0sL`7p*oh2NS;jQkgyM z)}h&D@b=m5ovTpLB_ z-DUl<1#{Bwy@zY0_x<;t%w@t7WFVQW&_I$u_H;EN^OpsRZm3iPz8Nlq>EKxkT!h{G zI=TaVP3XdTFc{qlOZCWw=Ea`a0PL!UHY})Tx|t%&?JoPvYfRmh`oZHKdWB4uyu+t# zF9!gt(3>C(J6)oUjWGPKx31ea-Q^-*o8}_~MMeNcaMk3RWZXIfAvzDDA-n12O%yo; zMQII+ToMZCMJ_^dv{f&1v0i8>j<@QCLQ(CuV{>uBC@|FWHgmx!%(*ySgTgTvsu$Wo z&bI1BF4l_(MLxGxF9eF~U_wMyn??xoVlo4`mpn59kOi2cs1l&AOon=uLe!?zp!2hhLF7R&7(MXhv_|L(3 z&4E>rnT+7T)l!Jbc-ztDwD^|DLQC7Ycj5P5b!u=4X`mLqCkvQ;%D-%`DZdMTmyO<9 zurGeEQ?AsywMMPdGdlt^+#5{-U=zm70X1lDAo8{cfFS}3?(lXrb=A#t-M36J%vc;% zZ2~H|sx3tP0tfXJ8Gc*hDKYpa+KG0=5m!i}9aSUR$;aeytO^RM;DiclAD2D0SJk?8 z%B|Ey00%K*Vb|)U(leu9P9oiK(B(FqbH^o(iX)3nU3`4EP71UL&KAqw5iwWGy|OKt z5mpegDxF@#7S6a#iKN9`bo3#a&f#**iRj~EZY0tf-AThAuRQ@4I!oTaJ9`4>VHY!8wA9@NLBc@mhvH zxMtK|_#lHyvZemQj(yc%+$+rqqC!2S6OREUVoPm=6A^GX17f6rB%o-VvWlNOOZSwAou>cKdz_@AP-ifWL&wg-2kyO~(vXtDa}8$I|C zETiFKa6s{JNRi6=AEU=B6dgwc&rTGr2m}$1t$=yJPJjmSs;fI25E^d$3XON*2^$!E)9Afz;AgLW zP2L~<)o?WPDy?d*A|BzBAHR+c=mo47eC&r_eTq-_WP!pD5RqXK?9m}Ur!B{i#X_z> z8Wf6$gO@hWK?Wb3UiU{{_p$#l^}hemA03AH>lc4C`)r#*>zRz_cg<7TxfhI}e4)Lx ziADs*tS6rG()}fNe&NmLSTW_#{M`geVH<0rS|nf?PlyPd&~fT;?+ z_85c-;B70!P%P&3S2vHI-17M3c9Qty=KErI`mcOlE3JPevE!zD;nk~#94=w5Th*IJ z%?AjnbVj4>o9YI5fT*|pH?4Yw^Fk#8qMHh&Z5YDq+WU67N>z>%fv(F{PI-2+uKTD7ZTGsAlqwMpgTx`k*_y`cO+45-S2U^R z?WS$NWyGhJ zAd<N4wgCb5nrcSo&! za;=L>-C3oOT!pucqfRlo4zV9cl~Qt*_S=rL%27sGsfSDQMFoj-h4T7pu>j#?{H#>; zElNK{ihuU=?>H4J68)QMx#CxAZ~Utck!{hj?*vS>j+qZ>w-+6o<_++sf{rThLM4DS zT=@iCMFZDmGLVL=P!O{qW9f(okp9q%6mgWZP|~KHH@088ZhL6z|56AV0h7A8M98xh z#HbaVb5gE=(#UEEBoR33G*=I=zLX}t7!fd7d>3M*mN`Dg2t5+?5DsRtoW`VH>~Jhj zMN0I-BCJ0u48(nXb&A1CpdbEpMy9X)(0?j#mUb<=aod&l>{`$y%>#;uvZ@8@ZH;VayZ$mE#}212jDBz&n9Q>B+bq`#8}W{ql(+mU^w zpQ_EIaqfykzh%{65Hmvn+5L*O3V*LO-PH1zwslcRx4MFzpry-6ws0bXhP>E2_)`CI zJ~3rO)w?3jnBtVMcej*iQx)G-D`qhzX*D7b_^nr!x(U?J*{L`4zPlj{$laWcDWN?R zu3*8HPIE^=3|ql$l7M1~NegD@38*MqObY0$_a>@rPDKQwb;6to%h*jHk~JB;0Wmmm za?^#)O&7Lpx?nfWaT&fmsdDgcjG|LI&hmcvb4oa(d9Uy>4Lzvw9YDPy>JWJL*$_no z0_UVt!!*5B^qNb_*DV;70n=?=_83qh(yh-Cf^2a70ttU9#(PyPq*3mVHHrNZc#3(W z6r`PZl*j&6r=>tZbfa)9xgrG=DipH67H`-Wsdn=0aw~cTokA5`vsC}TQ!hk?5 zCH|3f7WutKgNpN3@r9~baFwWfMYFV*d)om~xK>Yp%)mrqSQwm+g4MBJ-U*ho!3r+0 z{AmmfdUMpSs||8u0p!{@wPv}}YqTPmV+*DWLQ?hOJwK|chyEzgamt~_#p&2u#(3y2 zhNyvgu?z==d@lc=tHq7?bZ3u;Tu#&CvN&G%dff`5^U9jK76s2FL{{FR*OOKm&qf-pvqP?_bDpdR7__J9~c`e zZ4Iq$DyHz;ptn^D$Tf=FB+YF~)7&bpEhF1Pb?fzB)w`aDC(_$;r{;O^SG&`CQ-@0& zOymFgKjm(!-u>=74|WpFYPtD7ReRS)2P3c5!J9~=}MZ&n&N)q3+P z>s{RR@DAsBjrw&Ru7%KOD+>+RWPPow*SchEwlWvn-=xj;a0JzQx6&xruWQvq>;+?M zwo;Tu0Y>_&+-P_nHDA8zy#iF;MJ)w=!+;%(8V2bBo({&!02Jak#suSnxq*H)vR=1c ztJLwA+PfNzq}+L*#aRKy-bM2q7*M(4Rm<1qD;QYXoDtcto}85wPYX;ws(r4pv#m?$ z?+viAdhe!J^R8O0YBvQ9bZZ^-pYEP}jaE0BvYT!#>!Dpi7J&c}%oo74I;o4BZk=XM zsSxX}X2yHfdW(uGuYy73t2D(eF=42Jhbd}x-eWIta%dT{-rH9-_zp|oOnG#em2r}~ zy-vN-)8U{8J-DSZwrK2Lvv$>}U)7qG8iKSC*V{Tevz0lT2_P2we`xuJ<^Y!pI;h4; zBr7QvCLb2ot6zHM>YF+aL(~9*=+*`Cz^Cp_<&{_qjrzCL-LHLuLB%~|+o-*Fs_)~f zd&YKra^zk2!_X@~!sf2@C%22y5dBE6%c!$2o@G&Aug6o@ZOLDiJ5`(?UvTKSIk^jh zwW{bUp7VOM)!@PFQsx)0iYkNzy_Klm>-z5;G1F0i%Q&ImyP@-L=%4aV=t2T?!3kY- zLtm78F6bjSbou6;-4}#DNrblhBE)zXbPpIwJ`R1B3|)vrmoxfG=FOF?#E#{J#Vo`1 z4MnHz7LyIDwq4ANo6Acf`fstAo!X_VCkczmH!uSpp-XOPapAUmlCbnR;r?~`U1X<8 z(8ueb>rD$fnNac$+zEuj&@tQzghD#rIPUT~=osz`H}rL_+=UZM%%qyZiW?e^r7O7o zG|KOd)u|dJTM+UjMx7XJNwNG;NSDdHNhdCfeN`)0kxZ`WB}^`U62+pn-Gp36vDfu? zK-=xBa*V266sz^SVD{TZu_R&p^zNl$Poh{2chSV{qSyx9f#B*1yR+5m_WWi}LAxl{ zhR!Q!7scApg|)2BhAtYcZ4-1!LAxl{hCW(Lu@-bS8fA40=xCI+Euf=*Uv2@d`ki;t zcPD8r^Dg?fq17n!F8a2i)hP2W`nI9fTIOB!Z9}U$$-C&=hK}aMMc7s8NI_kHJzHR8J-!A%YHyX?~4Z#4RUG%M>3pTWizBLX}GNE1c4Hq&u*UY=<`{L%O zpMXtSj1!?<^sV*e$mmJIMc*3qu?g*>Zw>mygm%$4K6=~o217gf_fpETW zTIrYHlbFAI*1_Xz5YDLp`6&TPVOCuqfTpwA{4y8N^K-2j;k%ey;`BIgVy2 z5uZ9HyJL$Q68Oy3X%cvinHJ!urza&hxLQsfyp&TR>~Oy4vv8ym%)}yQJls^urIlP(srt)+%pcEmx>puiBRiDPZN_zx7A}kq;Y2owtozGpgaP zle6joMOeyq)AE^^YrO@1$(7jy}s!ITvZHRUl`-e zVPKT%09f=$@6E|&Y|K>Us?xhks3OK3YXz!QlB#ek`FNFDQyYa8WYWUqxY8@tb)OdajaO+jllsI9}t0l4V~ zF2sNf$-sFFxLP(~P2il}=V~(WnFagiDjD|Ff~~ZYVNWdBMmHJu*wx=lH>|yQ4VsBd zC#=18oi(ub($P96^ub;^yaZh&@VVH+)oRym4ewU;ZfHPE&Q zUg~PjL@K5R%I_|(lYk2raJTX1IuUc;0>)tIZxSZ?G}enoBJ4>Fwvz~ZY{6CnB&2ASx9ham)QO)cRHg14b@VDl zZl>TG^6buajkiV&r^Gt!muv7R?2MANGfF^Su!)m+wRxtO=+H_8E?K~^;gf-j7I3A$ z2Do4WU#tVp+ugXTyn5eVyYL(GUJk=`C>O0dz<{XE7JT9e7e5&|Zvn&I zAQ?Dk0ax1fMBp>`FbivjdEy>r!G-?VJxC|4J>z1GPS}!rh)!60Re*5y*;sS&k+20P zti2|$s=zC?Ytn9e-_RVJlzI#|iAJH(eZ38(9@Bax0+%dcT#!WIq6LgAk_cR|fN@C@ zf%6vdb-hxkv|DcATqZsnNx)|@*iItssoja29$aeNJwA!UCKAT61>3L)Bbn%r;kMQ^ zpp%InX1Lt0H+#vqpPdQs#3H;CU(;o8BD@n2L%O~9?V6@I-ozrIP8FKCOc0X`7Vw1$ zyN;w7^F_0LwT6?O#qsMkTvd*(Dpg9=?R04ZxO5aTcANK+>LxP=6oDDxzD*+ zHe7f;2B;WANZHeETm-Mc-X^I7KBT@J|iC-?c4qQX11&8SC+B|&gPU_QX z3_XbA5%x{Ocv*_#Nmb&)cv*_#T93BU%$P5s#vQloqugNJhSpr`3A(Tbx@1Dboxuc7 z-U|SY=foP^1rr*NwKdRr6B?&%4Rp?gZg*>cHM*U6z7cS*eqBofE+s9FwD9zc+xU+T~6V=&q zOtQ{)V-jvEsZ`{t61Upj)>#Fk-@mvU_rr(Z)EicB_RF}!+8DR;Vku%en0@#+kC{7U zdLP2#V~jL>_M$lZm>W8!M~_NP7ycZ5r_V*QXdpE<9~Vfb{prxcap1|n+4*`HgoDNC z7J~pc(afIO^=|vq51d!*FT>!Ge5IdXrj|jt4AF2LEyXqHQAlp{&tAGyD_7skbocQ2 zVRZkHVLa^e5xz{_j+VF)Xdh4q2M?q9p(tip8q~`ae*;VyPKQk1C(9v?SThe1F}Kv$ zk+6CHi=3R7sVFPfruwRSloZV|hazKEDwW<-v!n86Ip8TQ9_O~wS5FN2JW9D|bkExp zYrCJc=p0vbmt;8e`z40@`%Sl*YV*tNF$3LJ8!Ug4BY#r(abjmx@csGy&<_@i*&>ZW zua_dY;N55(M2@cwzul|(Z#(s#@|``(*u|9eF(sp}+NITcr}tj-_T0BC_i9b_Y)Z+1 zsub$>g2VJq`tv!gJ_dh)zE3fRgoyo$SsrvBR)MYy%s4^@=QUyrVPwHD{fH5!2eXF& zgMp+!h651h$SKy-{WK^g?R(!B>Fe{^d=Ass7qa;?oI`8`&TIejrddf(K0MD>)B7wO z82|o3^x%E#rg?>l7>wS{@8^rz(x1+zgFc30PUD}M6s`jPmKNoY{V|uo!Sny586lic zuWDqk^>5Jxn{wf&OeWR@xwQ;t6X0xtz_qp&s}XI1bcD-?#cG>A$2utFfSO!BptZZv zJ@dfX^njN}=5*^Xg>#>2PaaJkg9G%&k^S4EuZ*i3E178yyEB?jfmd?$!T#WbM+>DQ z`MM^hkC8rh?#Wh@K7&bEKr7L_e^Lv^LO7eSD00VEwj@!FNGBL{1SxYeL}%ka;Rk91 z{?3?i^Fu&N?04XeO>iYi9?Z@Gnl(ged+NOY6C%E zG#@Hr<@qp+|AraN)#jy!Gw)xVw{4q~DGZjY`EPnIi59=isiYy>?o0xC56>hN`-+;_ zx9s2h{lN^5ClvO4e|75hhj$^x2-3wo^l+xU(K7#n9(l`D7WB$j{zVIfb8&abeJtfm zcctM`PRj|3?P3fUBXes`lr<| zu3c9e82Gz{;S@@_f(V0=KQ7S39G_+Ld2?cDN>cVjrRZOr77s5Yn8#D*)RuFDafGb@ zaE9z}_EgCK@DB?9L-;+yUxh19;q)kKf-y4Z&x66iAILj76?0_HnV+x1id8xhhA=-yygsc<#Et3-YA??zTi*d)8 zL2Rxntv5coAvd%bFz6lK>)cd&txh*3aqeRf4E*Fb>fN62dp~%G=TTXs)x1il1q7T2 z0C36L0S-!4ucYV6yWHKh+T*lE2Zp7?`?^ieWuxj?O zxp$fwqr_?|GV>S=nBf7x3dRx@02aUdF5hidIS`al zh+WbOoi*FnRCeU5D9ZB4tfL59P~NQd8ujLD|E62Ry=S&+6&`ayAiP<4*Zq&9$!g-M zss9cxOFtZdL%!G`BS1Xqnq( zgeoROHE%E`5bKMH9x!yl&nwDU#ZeJGyx~&(OQ`C7c=b;&oN=IM8FI#ZdKe8JC`M}KYN6) zaI4ck_|QEP6{myXJic053$;$O)k%GuP?uFtj?6>O&Zh=$zJ5+Id}`Q##8e|Y&Zw-pTR)Nhck3dCY}&bZSV_|{BH!N3QSW}6sFqP< zUxJU`?Gn2(pFg2n3j8=R&h5(!zg(%*8h-PQU&=-2bxHVw0-u_`84X8$uM8I>PY03r zk~pq+S9SkQt5NR2k5uUd&v*Fby_t>si;?%H_^y}r-Wt`oA^GXVi}z$d zhJ^Fa=X0sjSt`1O=8r#qjEgAFUNmb^;i_Koo7aWhNzOaVA)aP1yYAluV-#O^#B&CC z@-aMTyW=T(XN5SPVhqpbEpR`WJ^ts#T+{ouYm~J@si^15a1K|6Uqh|*Fc<)73C$u# zUYqm>i&==d6)3V8Uc$T&z^8&SMkTr%VW#=y)D8blU-94c75|axE8ynr&R-FwuZZGd zIa0dRr<7(-Jat~ILSRrJNnZB{5BM8EFXqrHY{vp-lPM}RGUDK?)orlAe5sVnKJdQ3 zqn{6dS%rtA+lk5wqc~VQKx%72t$BYj2Ev8EzMtdA!4maM3Fm{+TZptyRpDUfSZo_Lv? zt=pdv>$@KefU)1gkAld@CIrmeTTWC()&ChRX8zM`F~lco`|)%NsLmzi-T*ccKV{S3 z)97!7*xQ?eFdLyVQ+w@+xcY&H1e*@+w)bR$Vy%QR;FZhAJjd}WqQ6|iLm2n()eE~2 z%biP7+-6B&1#m%%hXs8bc^7pIJ5}rWs7v#H{K3N{mx(JRB3~Qj4j?U!;;*ors;&PE z*OWIhttswRU03|7d<}=-hLt9n1J6%h@}if1=ualVTj!WJHWMwq&M_%`35lSTIQ`_f zczkzqYyshe3BI&ra7@ZI#6lV(`wb{bUM_KcgM}Xk0}hn?FUv9opFC`96>sW`deO|g z@sX*_ryz~dq@yiKKt8^baU(jlNb0sy^96$s;cAlHy6n0}eeSWTj_Eaw4#Hj`3k{NX zK!W>De5bKtr@tdX?kV^VQ-3T+gAb!fstLRq)WShPKk$Zvny#ln$j6xNos?N1FQMEy zUjzrm!;+d4HZm~gorpmkA8R*s0>6Ly5Y7jVd2{Sz*8+LwhX2gT7dBXlE8xr}OY`y@~?@O-WK8ip2JoX)=O~`ce#fj@L20V54>WP)J$nm#27&tNO=%2yt z&cD4ifcylapg#>p4it_l(xc@uQ}rYt%O%d}csqmZMH=6+VTy5cyuca9Asvinhe@ov z(z?N*#obiuXbn?Or)g>=dHKtXC-{8n*z`fL8NIWnR`5p_jq{LF81LPGaUk4^5VG&paNG5{mJpzG){66sS;KH8P zXgzB;lhL;kmEGxE(}MO!!+>|BU9j%-SuR4f&0yo}<_t40;UN&2xuVgaxM`rV0%lVh zO<_kJ{0Mb@vc4S#187@^dYC;y#e2Rbv&HQwJk;{H>w`i($)lQbzqNVdCmHooPNqk{ z{6`*!_L$Zmhc`&(F_~q6oqfSHX4o11MS_h4l;$u+|&Q5gmIW!{b+X!mES$e=lp7|Tj|u>y;g^+v6SGdR=sIAC<&r})5Y`;+)P1SC>=e! z@lW5TII9olGb6Oh0E0BtB4;7ftrtumM~m4M^IS_6?YzGTgTJ3dwqIR%%@VP^bYrSHogmCI{B-} zP|hLB^;fSLhNE06#V>F=hND~zLqr$`j_Z22k~-rqJoJ|VaCBf(%h4Fl*abdP%vQ@3 zv2k}F;E!tUP3laiR0E*gQK3%Gas}~#+P%J5g&r1F#v`P%#AiMe7woB?#8otLjf2G! z^QF#b^im}8ZpG9_)A?%oTT&;t_eF>^LbaW>8XBs>2mDzmXv~ce`Tg6FBn^$jy{^6Y zFFN(BSM*$T(@qr%M`r1Dty(Xq;QO&|6NV+-xAk7-6(;;?VZ2@dIWYlVUsUUj#?5uF zb#>Li@>6#?`tm~QnY$EIFc*pJIVAfbVUI!gMttu+DdxO32rmFz z(4Wbv)4g&hMO`&Nzba#LTI{0vy>;2kr>JwW?*-8><9iKl?+V4d`MFZVTNxG<%mNW+ z_EoF(8cU02Y0f`N;pdY1xgb6t=~rIoiWHAc0DDD>C+>1yk>aVllvm_Tw>UG$ZhY?4 z+Ku--^v#>~A9r_Q;Wyl@qP;J%Sv6Fi9#0Uq@BTJ#s(savujcDrq}| zrwoY5_?QCHXCJk8AEvXXsW*kAif)={DS$7w4!lha`dzM6ZaN_Sco@DNW@cE-~bV>ZkLPx03)YhD{|n<`;rF*YzZ?qcI!XY zFyzF^oyah+M)Nv&Mh_FbG*9Kd89RZ-7pTUdL5b$G)JFyasbujCBau$dSQ0z}J$dQr zZ0VJI8CgsAOx}jW{ISQY>wlQQg)-jLzw0U(0UGyvUICub;%EPUKAN#p3@RUn!7XgM zLEtY(li(b8Y7c(FZTf_7Uqm?2F^`}|czqpBy@}8iuzDKi^iiu{AHro5|B?dbI0)uO zHBk|D$NtB2{jX>F*CLn)u*NUFyrx!x0qlLC`RD%g1%CcC$@`?7!Pcwnh>3qw-`j7m z^P;l~ys#F$V1pOef)~}8G^M-+tLs&S^D_F5$h8WCrMX_|b!)jdmrm*WW!~PL+eyIV zf6o46*&}vsXWm#M-l*}ipIZJa-#3_;{3Ld?2Op&Q(Q7tpBg39MvOuQ9g=pb1LJop@ zHEA6NwH85td_bg5D}y%X_$-bLcRadX^cT-jT0qTosFLyWXJ^M~6NKsb79Y?8=B;<%1w3)Nq_IvUR}q&j_&&%|on^!(N(E={Y0 zQ63HoF_31fr6Vr^bj5(jAB6bY0asw{Tkvryznd{(QV*d&>BGKSE@JUw zQXzT9DerOhBr){E!2)n$H%`dw`lJ}|26A0Zp>us*p^Ta}A7lNrnsD__=fD5Hl%Yo@ zf)?R`4rWsjvGr?MRQFZ=>Q%R0Ln497M`mR>6EJQN`c`A06O_Q+SS}i^%Ik8q+952* z8WuQaLhlwISPq1dndCv{qnY*}$h7F41yYx~Z8rM!3aI7XFs%$f(ILwSyvT z+bPVCvqco!j$^btnuYPLLO~0}+d2IX)4UACDoDWaVYXPN9*4toO(~f|%6n6-`uU?A z91o7qN2$Ey^KmX!aD6^X6&;^Xa;cKz^Jy-1gTuzAO5i!j=} zW4J{aZr(B8B8<1-7;h2ATX2lG2;(g{##_YoE|PEr1O)UrLwOE`{oBz}du+!qVK4^f z3cE_AVOdjIGz?PHpFKh!V*0G(9_d{)6FPMk9_RNZO}Q%T1J2Z0mOehd-MraHG|I5JN=w`NZs zxs@^*^dI3a6^r1cW~$uuTkTqtf*H}F?nN=oV7*?Tl?R@KGSCc98Y>ZA!~_wPLc-wQ z$4R9_46W*J#~=KkSHUXqMKL}O69}RpCSKsMFS$bYEMbXLmQ<2T?con!?jdT;*i^VW zbbgBcBM=OOasN3O;w9}vY8Wg5STmZzuRi~t8V$z*fobJ{gj2GgFC1kZF64YC!zn?GX>E$I zRbkbEk`8_fSFniFA7PzxUAO#0Vw|AkZYb`oJdYy99h+d*fX!N?B zu-3UZ7}F$P(C%ENQYS84^=>M4>L|GAb$clgcK zehNf0aY%`jdC|>QstXB;_QN$?n}En-U|E&0&+aH7j0E^S#M=mGcbe_o)kj z2D;HC-XjhAD^#B$A?HBf?7fJVl|Zf zn#u>o%8uBoR&2*6qng0fVIt`Dl&)DaPa6_gcXnBP{vZj7;87 zP8z~)nIvrup_+yOO$owo283M_$~A-?2Lv9&Ud9;q$|S#Q2nT5hdpw4{j4|x(lBlmB zRLTwrJcj*@G3Y7qRO=mA z>ngRbDbc2SK>V?KaFDreR3FXnyIun%#pCOa_g(9x`x+D&O6Sym_MJ5tRq=Jl>$c8Y z7q6h=?y`!FdYf}Ng6gwJ6)&x|QS~}akP0t=i&QIBu2vK~;^twlnS*rvlMT{ucC({U znNsf7%Da}tzSf+*om_{r3VI+Pmq!^j(andFnnE+6Gp&4_rFIu?GI!8)M*vC$qJ45>hndV77`E zm14Z0Cn3g`4QH_MpvCzSXRYwDF6O`#-~3PI8&24bP5&a(g$hulXTul}fw~6Ct&ZQt ztLFL1Wk$$whcDr{!=4`nFDi$* zc*wM8CTMoRG7M{wa^hb^`N;L12s4IN{0y)#W63Ot2Zjj14<0OQM4KBgkx%R08lTF% z9TYEz@80Wr=QXAz?|^8$28qx6_`fen;i|{aLf|H_^|Z8Ix@f{5m0gn`&-PuI;9aa~xvtUktFFfXcH;VzP)Dkw)<|^Rxa5-ps zTWog#WQ1-2IzYw0Llbc`0%hkW`~bUx93^H!FPx!QH=Z0K>IDVw6I1IK8nBtsCNo-L*rS`5E_m~V@z4~&=7pXUoGYS3jDR;0Y@0P{x1pJ4+J00>St_E$vhOS(j$6W9&r;ekd3mSR$2bhKT_B~1^9&K(?Q(BBpvpot&>3BAB> zLz$8gj)&P|f=^m-eu72sj$xtIB$yR>x2ljbcKd+EzZYoXxJRXTI7qYGiUAtXb5Z`xGMaUq}g?#!r0ef zJ(FNQ7>+O$eK>u$^K3YslMMr3MQZCC^>C}3ix9dQxf4}D6t6tb@?Rs0TC9(FWlE9(x&q38y) z|IhyuiEn`gpu<+U4I}iUzfQ2R?O65y^6X`{FL3Ls>(SC#e!$jO?Rbhyjka?(v&)ky znGyubfMFUL0M>LciSUJoFL>t5{yxWvZ-81ebvn8K1MB=h2E0@*L+rE zm!H+(%Q8}!zsJ-cAH)K*_0e!{Tad0W&;511-95vno%VO+;~Mn*gZ1zu*2B=R-2N^_ zGqM@M^WHSu7tJ%zdi*TwWdd7kt@cSF*|$C4 z0E8!BL5gjJxz1I~!+fW3Tu*HK6k?@-wDeo1G;Jd zi%AI7@~m_0ownMYF19`3w$or%!qhjE8le35ndA{nOT@rFqmt&+y-?L}?B2 z(E{Xi+d-d$7H}o-?MVP>2^!AQy-Tf%Utx7`IQ|96M_ni2GtHd32m=JzgYf{X-@W(zcehmc^>-lg zMMJ2H$x%TL^KUVgF1ePF8j5<35apuSDT;%lsO*Wz#{{MkrK(4zDRz(K!SL}!9@?Px zQ7>2W4_MVPNu?N;^BzeXWM<`dX}vGVOI8!cu5t~^d>!ijl^!B6LQOk_J-Qa^CiPi+kiQEo2!+*kvD}!RcxDhwD#rpg#x@po~YR)xg@VeCz zSM|o5`m3hEU)z_Mz2!vw-~U_hz=v6vC1BmGZ zF66UHU72b z05EyzNa)ZLCVrr}1#U4}jAy}ZR=0fV_vlI3Lx3LREDMfKjD=Z(=cI&#EzLDr($qM3 z9&_M)&J0Pv(Sh@rOi1#;sqDLR-Z&<&`DaTWI#rWR6bfIQZjL zq|fjw5~K6iyoyxe_lICRi4Fib9S#8a=_tf!ag0}y=vkyPK8sWl_$*Rp>L_Kdfz9X2 zAC)N9=c_**^P7rvd3=~ScdK5HGFqtv7m30f@(WBOGIOHmnfd_89R#xgjVH<;%SH&O zP^)_ASpZu+oE@qRn4AcaO(?Tq6ud(RBc0=D9*n1+Kd zD~^h;<1<<0H*r>MQqd=}JyEfV|MH=%GR&W#f^_ou|apT z{*ONyeQx@r$d}lnv2NQEi;}kMXPvrG$BxcVWT@5NalKoS@jPbYd0AAIMU_NR{rdZy z4&Jnjx}aR?7)tXA2RLulGRHE=3R%NAR;#A4VKs9|5+q0gUzg77+fAL{S zb0T*&T=?B7X{l-TZt{tF3e4&=3T7G2mlel(1zKFi-W5OXq~AbVDFXq2)lBlvE|!^h&y-T)j1H5Htd ze{fc=xGVp?;;dcGs9kl|uDNT|S>md{n_1rtf6rZ?P8~<}eRp*{i7Kx8&$H`SUG@Ef zxwMt6rEMg%jLg-opESHiw|!>!Rav&i7(;s9$!wLe*zM+NW|NFHY&Sd2Zf2t$cO&%{ zc1EjR3x8Fmp{<9n`t?ccvf_YU&BWJ9z2Uv8w=Oapxu~7`sb)5D%^dsTEE-v@T!c>@ z)iRs7X#cG78Xxt69dmiv>3SDsM?2RhNVcmu+8wOXuIgy#+C<5AHAg#tjdnYZb~kIZ z+jX?-t!{VX!b^XRb}qaGYqWFCZ?Hx?$NVa;4bWaqFBKQdNVap}rQ+H<$#xFBR9yTf z+0H>P71zc~wsYXK;@W!2b}oFn_FsE7y;NNLFWJt87uWtvwsXzTwf~asT=R47zpJye zOb%OdZ9Hg@$to+Z9Y;)WC$mXkoe-xKv5XHInKuFIq^MXYM7>e*zB_APHMcnO@( z({FGf)A2@ntGPR{{z<)idcLH=L8^Y^v=i6Y)oX*S5jzhdYuqQV8c=$6ew|Y~v_-74 z`0bf%nEQj&Fu8u)0Jonm&4gx8gCBpfCt@6o3G`RJHx0nQdm6I1-f&`jpO>eaZgATE zuO%%G(hbhs1i*;eNz^|%dsRQx1Fj`Y+h%EUa3}Rnw-HZv9Ri4@0}FMHD=7Nz6}f00Z2Pw3SNJDumr?nDd2j1(6!IppX2}pUTco!cHE3lusBst7 zHKym_A@ubm8}?u==oX3XBuH$B_U+Y4j6XI@CM?fr%phB>7wJ^`?1xK5KEE&zF&#m0>r)g2yN&XN58i|H6CRfLQ@nD(kbD5rB-59A_Jbc* z&`#qNj0^v5(n$F20-4DGCU6sCI+nii=z$ClR+F?mFpQa+PPBix&i~;$pXoZU2#G{_ zO+t#0bJNktoA!Gzb`FzYeaE+n;~QsHg{^=jeaR_S;b6hLvsYJeER+>V>sIKP;n8j0 zi>d_a(pdFsTaAr zLKDz6Wh3y3ve=LA&W`{TW+y;*1%EXB7p}N`1LETP>@2>(%x`iV&vH^ymw$?z!QX{L zt2;`5Aiee?e!fP&GV1C{UL(n_l73EEy|MR{^r)f4&Z#DP7YVp#pOM=an{=8dIPE+j&v3zr%qe9fKsj@gL~)2Sxs3ByW_>78KV; zd~pJlF53|ml!!F&tu1c#QEbLTj}+o2p8YZ9MUPXypB|>Zk;A(SH4XsF9quL1&n3<` zqURi6Lsz}%&WHI>ZRL-j8f0#h2AWHaRJ!LU3uw5x&3M!@4(~C#pFbAUbr9Ve(}j=_Aj9I{O7<4Nz!xr}teFKT2(NqTUDaPT^RwULUGf_Kf98|UICk-2NC3|LXnm?rKX3Y(B`c&Pl$$_4ls+%=Cx^+ob&YB$Gwj^sO z?VWb*YO;FL%o*bupY}`PBda;ARn%9`DK3$(gL2w2HgxwjDMxSKX_VPPgMQ z1Ucu{ijkJJ)T-`fxAVh=VPhoAMyuM9%8P#TA_WBMc%8PlgRhQLlGE%eI~A@{$*fYV zN+{LLD%BlXrIuZ#TIPhoJDF7~dlJfSb`>?2z3eI#+0lMx6@``qiPFkm=>`)lo_CH* zl=*L407nsR^oA+@Z4u3fgCWYeum#0gFfhJlV*m8AeO~V>2@WsPQ@Z_=pBQJHj) zRAaYNl{Km?y(Rn&Ybxde#G-sc=B2uxGzl6D)#bAxOW4<@-JC$~vLTKwo#A4kgF`Ie- z?wHNA(Qa8pY@)AZ_@(MABO*4@+7Wi?29VW#I)*ZCpNY{&M#TO`*!_GFvFk3$@`%_+ zEX{8<@+GSoN5uAH?^2LTk1r`1I4>`Uty(+hep-+Z%*IMJ_JcmqS!82`z&dD#ATF8D z3ivb;BZAhNP%>WEJ*Q-xu49nNI9=N**RcE3O^~AxvLF=P`;W~l^h7Ut!KRH_XbxfC z*7qgf^ZRm3Dx=AyPcPr39cSY%l&6~~1CpYwu3|%S0=l4QbyhE`nr^l$Y&*rEWYImM@H;WuK=m;#NKZUDj>X1yhYGQW?c zx3zve2_whw4_vmaRIc2- z0R8=RR#r2I>tyct<}bwG{Mr3|C@zNgi;*wB{h9vUp3t9(%&c(|mu4`7CJU(QkNnS* zw3Q%mfaNCzS5kX3=Kqu8{Sz~IWN0LYMRLggzcDltam3+~zmw2NM(1xI8cD5<=tvnH z=?IWCwvrthnJ6%w5F#AbGftI}@K4|(PPOT9To_h+(rrO?)Pb{rEx+}~>t-%jG3`WD z*kZp#Dn39poB|_3ZF?7tQnAvJsO*=jJ93)AWHA=RS>W*R-QYtCcyYv&I&U?OTlEgU zPgzWTtiE-9+f9G0zdboA>I4RHe|_kXZe@)gPoNP#xm7r;e#EE?#++ z>cO(&y`5#HwQA8w9MvD*4(C9fFdV^GUke!+iYQX?pYf2j+lXr}IsKcy1%|T`sTm6> z%RHR?h-T$DLC=peqqZ;7b5z;G%6w~?UMubme={>-(bJavB&B?ybj7sprtzfW?)@H! zwTtOUU7E%v)4m6cjx%I(VQO(fnntjkSKL@&43&9(SCEuWOu2X$Ct}8n4 z?j_Awcbcj})(yPfM)vWDJJa=V;8lHm{~VT(BI*W1RC4CCk*gi+PvOMs4O@@GN48G+ zk)(V>W~nbfr@r*{*1KVWK~Pdzet)_TQgn|cCwsfypbv?5Juyq(Cra$CXi<93`b&=^ zlf`VaCq~LG%*}OjxlR4M^!Zq^*VlqCw?9Caza`Vnki@PS&r;PoQ>`{sXcN#%1=>`e zGgapl@Fg0sL;ICjUZVAWg2o$-s=Ir?U+qK<@3ERm%~nkGEWeyy@rUy8hw|_rq&#%a zaEBxmhxlV!0brh!bX}%><`7G)cd#j$d3*$GF1_m5ePp`hMRfCQ4FCLInOi)*$8xv* zvdP_Oi^BiYu?a+kzSV-2=MQM&URRah=#{ye~EogWg?#*4uy$-@@^NB%+VI ztylp0$P7N{cRGKMey-$?9>wp}$V|Q0ontY>c_ZtieW7_Lz?=m5I3puIWCliX=v_tH z^fF5$s35R|p#yS+W?$CNET zaciB!7`^L@ljdpbqIn{YM7gNGzP{{qiT822L^-)x2u9TUW1}?fMyM z9>==+v9tPR_Z5LDZ-aTh zkbHA9w@H$ZNlEJ#pe|APdF^IPCXFkn^6WeeJPIPnq??a@U+ z4}h}&x5R*$<3Y}S+=gM_9NT<)JJ+DP$0xuD@Hq|TRT1e8ueR`QNCXWl4k*L>qawTJ z2iv#Xm?r54)dJuOAD+!V;Jc^vcxzM?!MvAt+#e%@q8duep?6c?OW{Z^3_gm9K-0@8 zj~XjAjGPKyy~_5ig=IsrwNoHE!Q_=72Ibm|(2$>lg}-Nl>ea?3Nyx7{na5KlQ{nF*;pu9+jsREF#XX zrKO2!1ghBpMpqR2+k1aFpAIK>MIZBQdA-P}r@mPAKr}I`^v6DMj!8OIr<#Qx;EcF+ zd_^==12gq8L?_{9y;wVx55oEF7rc+uJ${ZGNekF|carq@5ByuH(WNAwbw~>Ug^hUh z9x1RaN=wu9>K-yHui0)F<>RkgR-0fp3)!fLZJ?TW(tO)$G`-IC6+Yg?cD+Q|#btM8 zdAr%Uy1bxd$3}(M*T<>WwExvx;mDp~TuSz0BP%}BjJp8zOBsa~!atG=MMF5`QH&#b z4*w!RFhLPN0Th7*F~k$8H$(yN{oN1_vbdPu66Gh3=$V0A_-#V?-l^j2#yii8m9p{L z5@HS{!AV4_&WvzwoT9nSk$)46=!TV_ERt;B^KI+vd^(Z_4z|5Q_4JD7<+RF`x>E-nJP~p&XLIjvGR>Smd??Ujz%t-tY~?C@9<19M zR$2N+L1F1-+ynt1;)8m^ww9^2A^KT1tfEMhUO_#qj%)I|al+V6PoAEat3EH*U`9JN z`KWz7rD(Q%O1cXaX&p!0zm@=0hu`eXaP;Lm>Db6NuZx!^BG><-%K0K)A z$}}h`();dptJ^$lb-G$~M_|mCY+EKxjUH7E`uSAdq$x9!kN0A$=?ovj0){mY&;cWF zz2EB~P~8hqW+qR6goWUJIJ^JnB3OLMM-h!aKgTJX0Jq+Qh*f^}8-7?EG58Sl7V`j~ zp1bEK?G0z0r+NBbD7};}Hsp{fav$YmcKI?o`{?CD{~%bJv-%Is6Ysmr_8a))6qXCG z(-=}wkl#>2dOr3;@!y6cWR3t}L!)PI#{NbH>DX!x()0~-jQ1ZD>KG4~PG&xuv8soD zny8tV#OV+=9vUX!-vzYse5wJ*Y(Q4f-eNWjCUa12WE%qVSFH1b>;^{diGcNq==tDf z6gdgz&u&JGU>?F&e>ST2{OK2=N@u^njxsYru1THGiw8)Z3Au#eQ0`%G7EOshJ#TR! zop(?-__6#Go&=z4_;YEb_B??>k-ht%U*Hp15$IX9QNN-nHDDc$Mzh1w0nQ577j>v{ z)lI|$WPmXJ9x{NGGr+W)e`_{mjcNvzHy4-RU2v5eAIVAdgwuHvJ(z)lg`sMNUPG-` z_KOE8>`vv|%7RCYJ65CIL}!5@YPGWUd<0%`R`7~*zle97=Ec4Fwn~d%aNx}$ju#QI zs3;QWJ|@i%BD(vBUSSVbOYqO022)?a`psU5*NdBAhHoX%Nf;mtVh zQ{47{hMm*)-vK9vs^Z%je(23I8(h(=50}u*)Sr!j(&4Xf>EpKb@vr^B0`SarMax^> z>AuOKLe3)8#GD1u$iH#>f`S0t_9=+0Jcf*8M_k=(|SPFnlCp<|X4c_dW=wVm|ZnHew(!7DAq! zH#ZTcsS0~TbZ_K+=PREPTwK$E61yblCD6j3Y#BLMaJ9X=!0*#cOF@dR;9hMQlLaO0qB>ml$Dd3O(GD6kaN4({@P@5m3>G*U zk*PQddLw_vO#0oJk6_?pQExV!LNVW&T1GNGAW#z;-OILzHV)5IU7mrs8!$46VJgor zyfDysw@`}{zquhCDj=BQ=mu8|#p&6YUvrJC`~5xzMUat?QXcsu1}S4sc(o*uLZ0kX z{B4YP%VxjR`K%z0$bC-re&r(v4%M!J<35lhj?K7&`-tFp>;+S7aKwb#X*ay9diV9A zqjq@nGf0(Y?aSl8soD~I5v`Y`v?z%}7&E#V3af$#ue;6f^Rgd&jTkQrm9Y&_*YJ>ov@S2aGtAVQuVD@l@${+qN?PFv zyRYl#AQ0%$r`CgWg27sBOlLvqw%7A&+dCU-0&Vr^n7(nA(?34mRynwC9z+1ApWv0H zbFGU-A|a7I<^R)bcksrI-H-W+571FuQV2nr)>YD5f1;Oi@cyuotvSNbTS))gCME+|=-Ug2kQY>Abo(Ivi>Uf$gNnEFP% zZfol&v(Jlgj*fY1m&UzVn^%0rdz1P~ZEX4zxIq!X(rvN6EWVx)|5vhnM3+T;Ai!Fq zuMXpICdghL8SH}=YJm1ES}3yj%cx)HF=j6;4kNpo1}hD;31V*k*LD32iMd9^{Askz zbX@cDcm5a+cSz9ou|W;wVgH*^J9T2lsHaH%E2K|3j5MV;?t&ht=mQxIc;*n(wZYu9 z-eMDs`g(LkNsMwi`>QbeqT8}jL|HoX#&@JOvsHnU(2eje%S$B)lQ9~tadwO$`AlvdE`}2?e`JcQ$fBk9f z+}dUt9CEh-cFZF{Q$0wfI7wIlJLTvJAe0Qx9@)Z$^I5h-c5h}N$zHO^Un&6g2`~OZINp0CHt~Wb6F+5vg=jk zrCYBqt<9>cjH&o(I&?QM$9ei{xP5t zkx>+L&WteoH`_vQ__@-XAZ4R4trN`5`=Q5LmPftjEqj1LYszMzRbbmjQE-_UWENRW zc$+7)$mYzB5f`%nxtFhb7N$toOwBOA#I{a}6VAb#;8?(?@=ndOAnwP2_OO?i zp=0P85e{6H3t~&wL0iD4uxsMcS5Wb1uTHN#JWQHr%=76eOfp-Z>zZc|#^eQ)aB&NZ z7mUN%106d0)RBiMPXbR}Xu>V$F~9|rQt zLRCl|JYq{!cuZsqLq7a81qh3Z;%U-6p^j17J=V@4NC!_3)I%Odmsrmti9d2@;HH5p zF%>E@R68f`Mb0yqy8*UwuL=62l0xk*m$e^Kl9^mgB&^tK2K*FJMDG`b%z4y;;nWeI z#=MFAXbUKT4MEXAEU-@EaV1IB-eF9ta_S_!83NkyCqxg(OtKtDe-g}5l82tiT*k&) z=8g;ihgy&v3x79cOa7H{nq!rOs+ppuRVPdSlU>D*74=_G|4TmWv;%nS_1EdHT@)} zv#|F&_LJb@J=#yAva`3;Q9{mIUFcrT!gu5>kKg%*#?1;W?NP2C z(R4V$Q_10-v5*&`OC3S*|5z0PVW82x=rr>iuddEE>@3410bI2&8@9^?&XFXObiMZF zWjDvwoaNkSZiAP~S>^3Hz2=tNkbVS4rK|eM0mU5PGl3sK7Z>~ZHp>5)+4-T)j$Nll zb!wDpAD0x}Oz0|~RVp9$gf~GsYE)zq7Jn67pwiz^rCW>$qUdOr^^>|CF^&mZ%k{HO z3s@z;AM{yKXEsZE;d`hN0lVt6IR25^dEAk*)t_L+*cnB6qKy3sD)_D=)40%&HNn9g zxRrw50XqE_T+R(kY(~QyJd5c$qf<&6FTXI$ zRk&CRgT{ZDi$MT48}%On0GJ9)oFQD%@7axMZ}x{XRy|Se4SPTC{KSo$QnSN@X1nhf z#rDk&{c{Wd_AEG3hnBdj$5ddHWA#xu7+{3WU=Rg!RsE9wGW=v{4JCXI$?5wZ{-#=V z;CJ#liaUY`sU!8BsLYDPA*Rw-8Vv$eiEPVt|Eb2UMt?&W#dirgtd^^Zv~xug2^p#8$huX zi&--gJr`QFl6Ch(R$hm$h9dwRo!-|Vh*7x zG1H~UBx9^izeWjQ4G^4QKTs{jSvkqdVhXhL&jpMJRC0Pnl1PJRBS*GY-#zMr|FAo6 zhvA&NMm!B!v>P$)BY<_l({D2XwA7zzi93^AHe&SXn>Qhi1P8=>F!on-+(ZM9l2KYm zVx#YCZ>Kuw1SE40G-#?uI}Y$HpBtRX7fNX}W_BW*{)ktM|1CCdZZ?Ye?=Al5ZD6SR z66cp}-ZF;sp1d3~tDztEEp0xZ0j0o=N-r1Nx2O;gd)`pp+Qx3vIv$xtcInXy zDlsW}cmAY5(#J#AqByX$higK>q^)r3ORI%1s@r=gH2@9e(d2N85_JHAFWOMpIRs?i z-Yksdleg9Fo$cx_C)kn7%vHU8o;QU8psgWkHK__nr@Bwq@MW z>ML*c4(&H40=_}AP}kc!vzHWAFkB7&wsF6tgcQptFQIX&8yVXUTSM-aganEChzdYo z^ae20nuqk{65Gj(_!ymG_pT_rw@ z7eVRC#{JrRz*=<~Re<(9pRyp(Bf7Hy-=GGn;q-8D;=HY&T{n@mfLyx*ZC%J1rd-2mG}Gpl+-1Z+HZR- z#g>NQ_FW-~cKjVL3ABHX;i*HTP!2U9gU*XWDr+|n^B_`Aa+o_}3RL1@0%BMb9{jhW zEdC-Y)dTTD@G{7@@?sX5uC6IB{o<~}QJ)KscocMZroNQoPY6ZV{Yn)T4Br5D0;hF1 zt|tZGPv)fu1h;|@G%*;r{r!cUusBrrS@A_C;)O0R<)S^6mwI^yRT7l~;b9-3RCjj^ z)=c>4Gbq@LM;T)VB*1uP6~p^bYHT>6JkNxCi=6@DVUbe<{i#RvllbK*UNhHKm=Xl= zV-=LeP;gAq+;m%9})(S%*UAfROPoWAKExB~0FA@TwCxcPB`h9R4xfoggjY@auE; z1g0O)*2Sl?^_5Kg*D>b{jY3HyOSp5)?j%8dDelZ2%NrJB@C}+J=Qmwv*gWbVO)dvg z=)q6M(~X}xBk{G(@8enNlK)s<>gJ@M6u}sCSfSXfP8AtPh{)(gywd316&}ZS6<9L@ z(&oJ*eSyNaC7AU*?6cbqIW93Un;qDU7aCe&8L^t4+?|$qh1CwFszU`T9!es3=g>U3 zc7V9}Y~I168Gn5WsCDTo@swmRiHP_CoKKjWgg|M7ZL_5+QLs1VFZPK8qni6Dl+Xm= zFD>@rhuAan*`@-BOh*kEc#9W*P8?OK*(#Fx71Ko!j=3tx9wqhK98B!>h5qDCn)Nz^ z((+}oV#=(5A4%`vfjLQq%qZ4jRb$wLt|fVj?USuR=Pg*ovwRhVLB}*4))(!?!5F^? z114k>J>?|}LZ=}y#>cP3GHFJleK1*ubuM)yolY(N)~bPR*(gSKOb|~=vR6$ciVXyh zeNJnuP#gz8(ic70q^#wOT9uxyGA9vW#uaG*vrtCfBU;n~k$)CMZ22O++Q27=Ch+m6 zK<6z)y)y!W;(Vd8K}#XhLfww(zz+3)tN}Y>(+@DD@`u5IjXUDy%OgJOKDy?-xAR-i zS#Ao`l=ms~JxI=X|55X$^p{CC%v+*@Mlu@*rs%$s(J+SLKM-g2z8xqn=7CdaL8Vmik7f8k&^5aV|Rf0vpT}c z#7%HJoJ>RK!J&vo zIdtwB%ErudiZtBpFR)&sb%a zeSaxUC8d|xT8KkUkre0DR5TH%nM;y0XR?)4MLvLree^M+TfUnIaeQ19r`Hz^%0|^` zHr8i2GTGP?rt?UK!)BAmGaXB~Ty}n-B$W6BxKTE1Bhr1-h;?6K>CWa|8FDxZXVdx2 z#m}7f@J#OJJOd?kAnAnchrj*w8}m8UyW>=aU+7$wh6*EX^XKD-2Z?b?p&s@JlbU3pW$X;;?cOSu9o$z22KIDBB(HUduRyw)=$b=TO^{bV?J0`*Exyh$eNAeg4RVL-IQrN!@hBU;`z%QxCP~Ij zW>-)%J*44o>+-^4FBu2M5@Y?+BO`HUWDH3oa!c%FjV8_iR~-P%=O}KTY|6Aw~)3%1aMaVeGmfU3Lif_N@3EReOb=X zwh+gwo?(Mg`;P9B-F9M0A5WKvF4CfzL&O^rl@D#$s}`<{Px059n%?6@}!CJ3~;Q8 z(z~7bo(}o;kPt95hP(P_z4%CdW zcZ0N2SWB<}r(nS7L2`Faqhn&`(2W|IT&WdvCfcoLzAl80xWk`It`V?UBGMSokNEpf zlEhMn6%}rq8*h!JlKGh?4)LC3dkJI0qsE_0E@-hhK6~LiLUrE8Voiom^MiVhyBg$d z@O$Yc-ju{*heTaDDO+PAIl3Uy;&sNtsRDDQ4-@i=;myLwqD{{{0nUA8uTDHEd(rTu z#ktsAQz!Fsk7(1N^#s37dS?IOsP=DnR7)kJdyFpsIK_OW>hH8#@F_|O+LX^1krM7d zx151n@To#tgk&!fX92Eg~L&t5ee zcKYV@Xv{pY|Dg)Jn!L&#m%$%neNJYsb7*xd)i|fmiCc49<#h5$6)gsb6h16!`90RX zShjK~WwtpXLow5xW+2j`vVHu|SKSjoL7zM#5993v0=45A{LRh=>H}p9lKuw> zQTwl*FU4~DOqCz- z4$S4e2C@dhNqh=E%x6A*E5srKR4k1a>Hbk3TE#MjS)J+m47vy^Ny0jd|E9 z#M<&yykFMCuNEBei6)fBH2^1$V>v_baD@d!B5bvDq_rUj z_==QWhnzxN#^KHU$!#Dy-Fmw#zCBWPzLj6LM5p!lCMOL{+JmmAeY7{Un`a)hLirW# zKfZ#iQcIN~ypuG?(V&v(9Z<;HHzRo4ryj^UR_5(K%s z$A>e2ROd4(I&uWiSf8w1i%Mnv_{7sg5%ITGm!y9vM*nujD2ov%Ux8TDgJpT>PfBHy zF4D+QZKVn~nEE8gFX_?vqNwqSyc1<=Wve3ddv%kkr(k?rD+r0nTnWqMTcLKb+P*uW zkEz`%p343Cl=hKv|8#DuOsO$(Y}AkyGmAxaas0>^PSwGWdqZV9!C zeA2a0&k_H?vhRkN(?ZQt1v#T|vr3XvgIBCY9BIZAN0&HcJBb|K?4?GCLmM>aY_c$G z>RU(2k(yJtIgX3v!0PI5aG`Cg=H7_$yXo6-8757G(&yUN6O$_?349raXOsAnO}XZD zR!%12$l>BjX$4H%5FGr-$&h~g>FXIgMw@0{27Z!waXM|J5(32Ff8*&aRe?*NZPr;H z>8V@;TGGv>earv7l>C@&nK6ss$Ifgdd~H(m;8nIgZGO+JCYFMLcSlQkO@hUzM7w`C zcX1en9=FjNR`C52DG<)QAC-h+hOWC}*B^nE*s<8~JWiF__XnxhUH;d_x4ScT#^zf# zwC;Rrh7j3Y=j=SeERAEdaJ;_@=*0=;`P2R3s!8b@21rkz+3~-BZdq09a*f z6>*)lvPIEhP$R?KpB@DwQ7)i;nUdkcpS(|TLF6}EwU}yMF=C`T+5Lr0Hn5({FE%jW za5C^>jVq01@n+7!JL1j^zLl|MsfMJQbrVx$WTuePvj>bY`Vry&Bok8@C*C@V1Q}s; z?q=P)@lD&BS8b0%pq)n{BMc5Fm*AZ%@<=?B0g?1K<1l&2rkO87NB&EO&=d>CuaXPL zcdsszi9L>KjaTzx8~?x2UEDh1g(gy0_Pk%hMF}OOLMGAGcCxFRU>+VlXIB#7CTi(OLQBOIRMRNpTv^X;bcL#jMwuCC|`|gI*f{Tx1ay zFZtw_UWFbN5BbQ5W8CxcZH!eUAv!3=QA_E2Dd5fmxq&4^(br*g+ewNW3vQ&oDIjja zlUVG!@}>gC5~rhg>6Spf%O^sO`6(SMn5D--S5xsDx<(`59ceaUpMP>R@~LMOWP|ZE zocTaOxVZSxk$k2m-UvqiH8riDwt4(N8r}b-DgKLw?j!a7C&ccnlj-w?@T(04JL*vZ zpP7=z7YWZ#QmElP^10*lQ!F=*th{V10fvN|f^lE)rDF4MXW?Q>D#(s2PCq&Lcz{-n znJL*;SH|f5P9yWpd8~@Uw}nV@k^Ce0{*U1MPYS+w^W?|G;Kz)YEEb=W_kL;5{NIdC zSN1+JB7O<~{&z>l^U$iF)0N&amP*xmk*W0drMQZ@D^*`T(t}kaJ+MdW7+5l>eD&D$ zofp?n9>C6l0#;UxRM+@DB^Y3Qv2b76Gmk502!g}Ty+-J`+Ny|Ml>Q~6K68-xe?mk! zy=h`0@!u31p78O^Hf8$Qs9%EqG^?tkNn2Z z4IdIq<$pDQMc-3NH~c|EGB}pyVjPpJI*+u=wo%!5-6w94ct*-@7q3zp!j|pjtX9l? znHhKv_Z5%Z`P#90gX#0T<$$fs1=B|`zPd~fOX~RL*Us_Z)#-~jr(v|_;$}RNs(*Ez zm;LblB>&WUmpd1?JrejvD-N{u5*Cd<0xCUzp_PtTonr+zp3(A1m?)NXg4QnJy6?$2 z?k8WS{)^nh#Ab~JKwoi01Ddsr?~33g+m&l&R3O^WzE^3YmLno3a4PMEGuXn@ke?2Q z&1iXmOW8pUDc%Iu0OQZ@@x|qAtg;AAkD8pp5yyrkLOqm(wbxuPV#z}&=HrgNlf}y& zeMo+;@n}Lex3LqXaDr5xxH-p`FKFg$o|zIqneuBvXwt*2Ey&16d*SBq(K-ZHYFkn ziXJe*$zn=-$MYwBZ|cwQmg^Y z`XEe~ORl@dLHQYu#x)N_#;89U5sOs!RPNKtID!=Y&;gV>R!H9oMggqM?Ohn5Y-vK* zoRQS6`69yM@oyg0mxqX(Q1lF~Q$cYxTQt+ho*LOlIqeG?&e(t8OnWy0Xaap2aUV{L zg&`crLV@`JHIL9G4m11y)rW_BLLUH8K(4=+aek#Lrd-|7c=LYrAbgq05buVj7+{8v zakMU8x$aGPL*Un0AK$&U-@O0<#e64k(;bkl92-@_wD@rfY>!bfMOQL32Eb_v=Cj`P zL4GO9H$_%BN5%OXaoQ|e;lfCqEtw*WcVz4$Pl4y*aVL$a6s`>^ri+9gif!ldy`eH z^mXxGO$_6shD#B zBMAR;}94#9$Iu zayim5aUHr=@JCU|f*>5W1hNOhMIU-~tfDCgJYoe?ReFor>=6Q5s(d;N-bwZyi#;Tl zg<76E38t8-iE``CXFl4u{Sk%X7;}_D1&+rQPSo`PeCD^SrP)x{Grnv6lD|d6n-L$$ zu}Ef>By168jhL=;@wOwYHqP9%i5S&Q!+`l+4iC3KepYgvtA=BMIn#1an*cGM7^#T? zsRUvz4GBZy)k2#U#F1T38H(-3&S8BtB}WrOC?B(cF#?$o??om7rg%n|%Ov735GO`j zELkUTWfsV>#A0<8eiCxJIcqcy@f2y*C2|Ux*dep3EX9H1S7ksq;H1Z9AxR4Vyln^( zDNY;@BR;tFw~xX!cNv3@*-=9=4`MVvz3xXTj&K=KQP4M(!?}1LE=GNj@&QwWxd_J7 z`NIl6v!-Io496I(B2z&86P>ZlD)`Dgajj}!*#`#ExxKk9D_*>FEe4rBOQlCJ%fmJ| zroj0=%fyRGKbVQDdb@ei#ROF748|$T1nA;H8|O@lZ6Sa;ZBwt8Z%kVm(pa&aJFf3LD}*|NBiyg6PS zm!$I$_oB~uAvO8&Js>7;9@mB#V9Vv|vrN0Jw_8d&FEv}2N;;=$N5O2)(PtF$%huEof)|29?z4X*p@kOG_;^HINv zKFBKcLd3=){20EU1hW^S`?}Tf&M!}{&zjKpp=%qF32FHbsw>fm>#2|?B75_BfQ7Ns z+>Zlf>N0j$`z^MW)s*c$2FWK%Wn}s^(keoNyd7=aH=Po*G3KI&@l80wM{8mI zq+w1Qx$s+TBD@H3qhK(Jdel`px<_!p%9jz)^%y7_MkXk;hdlNTl38LAB5fIl89#Wf zg%h1E1!fY^%~)0i8ab;acy3#1xYAkoc_EGADd{XFs2KJ}*BU$Mlf|G6EsiG<87iFo z66jmmqaS=bhD)!#Jxk3e9%-D+}->;1d#X+Bc)MUN?Epe5?kEe z=MpVGvW3&uSrY{Y>tt6Jcl4fO#xE(>GCFHA&N9Cv+9FQWN-~PF9LmHN_rYuuj0Eq* zSQ+?Bd;%zDkj)6(+h3m-*O8H+mNYRw3$%bIO~{%1n(}2OuTdo6!D2Mh>fJc(FEC&B z;wIK=5`ASIIdoxq)xK;m^gmPAN?YMfm1-4S&rl0nR2#Zd+_w*e_OrpM=MLK;cBrpD)^b(x@! zMspUi5@=7ux?i!nb2ti_cg5;%`1n|+B$akGbhj8iXphn0ov*AtaMUm-cHO5U4?xoz z&|$`~}TdN#-j28#oS_%tl@j+wE zB0g=Pw)=k8xa4-<(5myH%+B3Pd&9+Hx8c}3fvYO#ARLSN^q9_xuTE7}eWL3dsE{Lw z&#~C~$#jHD!pQOyQbX1Z*c!0GmMtNtfLZ#?&VNkw_mey>aG3gpPeM)0{Vty`<>MyU z$t~^NM&z|5!I^yqWxus-lqUSuJYGuk#lgqXvZmC`hx}Z_N;gdU(WTnE2EOi2Sv$CZ zB)}sJmhte;wgpsGPS{GpajibuEfEdrSk!AZ`|SDz7tS zSv70mrm4Xu>SU@K7j0*(nHxXWakkbv$wOfk-McyRW~>8ejc9$}Y?2_I9DY{%k zdXmgLMJ!7W*h*N=iU0I6kS_A4zC(P>VY*q1B1mIzj+T1I%xoh?j$%p}ajB;;Fts;<1{mOkXh z-%8n6PTHW&+dTl1SsddS;Yi z%M6T=Q$2Ld)e`*D%C$T(IB}09r^HBc>D9^vWu0tJ(al_bn^##YZABy+tM8~i4raGO zsy=c8E=&1)FCox#VrIk`7uRlZU^8sC2TMV>XXcFNWfH%eJz3_j>c&zu3! zj&`9+8MXxIT8cl_>^e05cmgX-xT_!<>iiSKO)PtMPF-0~%xOc^7CbY^vZq8^$ z-Sm_Ur-h1>{Os8J1bx}${8fUSW6I)svDBw(>Mw;1N@5}1MrEd$uAJj!kJWXWIB0Q+ zWY4JPm2rYsHPeW;7{F3l*_etvR#s1j8yzkSaI^*>4;Qrz_}97tj`e=uRIe$ZrgM4S zZcw7UlV+#u2+<&!A#sn4d1x(G%Fa#8Q(8QV3))|PK6E6vz(FkMQB?nDtpBsFzrv6y zewJ->+0|9$AAkM{gme~B7y&Emudz=@;pEoN<`Fxz$|*}@hMuP}RP2y62Xj2qnwL#r zpMrjeB8B59tbu+lyE?IL2xyrYw(De(KVvqr30ed6$^)5#A|=ga3DSG3C|Gz7M|}=* zTFl5HL_Uoe%w?P{`EtR&;b>{9I*Z-8Qn5G7M3!0b4)FJQM=mR5CeDtQm{zQCNVlG3 zo-c!A*)Br1ce1U=YL6l9Fmx3Ab1n}mXkK&=lVgrWHbe6w2(~K%p;Ro|L=Z~-lnmIKI#xC#!{sOS$73V>ZJ*k6|2{DM zlF*AaCd*{}v37~XtwDdt-sH1wM2oho<6|8i3B+TAk#&MnM(Hbrp&XlGbNGFn8bxO# zNvQY4uYG6a}i9!#qFK4lVDOA3%C!BD1SsVhrQ1ccbT1KoPu=hdMoRI20m`!AG?Xr_}Pe@K(>;=*!J z1rwQ#wP|oEOq|{%4TrpY_QfZsRM~fI=$*M3RqM= zn9Yv9?iY|Hne}asJ?q6j&P&*ko@p0_p6Cjci$f?$A9~-zv36_9Nz&bM|N1&-XBN1Skmcu8FOsp znh|&+gRWLAV9cp)v?jv>RB#YiRdUjiNQ*k8G-sU>8NH?R%B{)5MIYo-wZ+{soyyfA z1GaE1DUl71oZy2#aumYSr;bbHN@7IarLDDi8H=`T$=1M(ah{=aKMCK9#bgxv{h%*# zCGo>`=#0%LPg|@e%Mmwu2Wp^7Ytj!sybwI6>h|7twepPP{Fs}*>4lTQ@b<~kumA5! zsZo}Vt3yH1m#cu`d3jZ7vZl;ad%hz^{-F1{sjNeZ)O6lfL=HRw8JI_fr3iWU^rQb zjf^@QSc6BPR}f<}QS%DJk=STWdZPufj_me1K*(J%n!*pzFXew%Gf?A5wHwTQmXa1T zWBr}(ny*61+!QOd@qQ)JHmQljzLfH z`)<4LHBQg!uR3TZ{4<~7^moB*fEfq?vOkaanYi=mS(6)_JYtG;MW55v7)XwRSX16k zt~{Vvulg0Oug2;d0)%Vb52nGSPkCn(t2y^5MlmFwBaD= z)S|KVLX8nc&M95|%gLq2i#Q;$aEL54pg|MO(cHC+Axt4-$rMn7A@+6J$)IV_I_H?f z%+COhFWDGU1BZ@Hc~Fr-IlMxWQj|3_-U&1rY30$|q@SQ+j5w3{LAxpDlJnnzBtSdH zM@y>g(9{r77HqxG`tC77|E5;*9J^H9p1~d zr=T%EpJ%>>QroU=e-QaQe>@ImsP^^l3XdSJP6!&p8A-wYA$qCYEcp5^x*JY;=G>?1 zFC_cE>=ri>%ZL31rtc$aAs!Ih7e_Kz4R3IIi&&f8K#B2ZeSn}rQnEiJcf1)V45Bsd zj`IG+!z)siNx<8bi5kh*SV_gpOb#g-Ber=T&h9xyes4Z{AbQB1SO~a>Gj<|PrNp&W zWFm4j5_HLe(7En3Mdz&9d5(Xb!;EHVU}Th5%G)0hG^_-k94n7j#ovC9XR8|9V-MHL zPJFm381dPq4?nd=yw&7!`zHaw_Dbbisk~oAl^2LGoNR+m0b~>Y^>z%qbQ=im1y+US zqaCYvzajzJYZiE5piwXy0I{*%uiicv(~&<%`b6%E;BJEnDl{0{4kzDWUPAE@gig-R z1}sWGtAJt41SGz9j2RaYmOPMN;DN-ydl#2DcRG_m+b{ju%7HI8YJuKp#*w33y&Yy$ zZ4^-9P*s^JAzay$0RTr(I-z!*cEh`>cV8cUv+?JAH0z->TG;qT6<;3zEiQ&$WifzV zLcgD#bj?n-L1MT~_JoAEUn=h)A(nSvln-9iswqOuBI!p{^UhvzPi(=z`#{dZT8oor zx7p}=oy*hi*=6I+^;LmyDF^e>6T9ZC=0&sJ0;#^Vr6_p;r+Za2Mdv(qi`YYq#Lu24M8q!^31k{!33XZ0T#QZVu#Qk`~w z=rp=#RADiXP~Y+3)CLxss(IZ7I`5b@p~@2ak%q(GZ%;p}r(Z=sCXn^$r$+QsBl>wF z{-jQoZ~bWeY{7EO_T9^5NfeCz=^bw1bQwLjG8iqQJ1pFa3u(a2f9zIVFdFuPNyHGb zbRc+$l`3#q7$p2WC{`*+=cYnU$#|p!Ep4@un{JMu2!0NycURIvzf>$qGZ#6jcluC8 zshoNE2KuHTw~Br+5DrR}W;CdY{&?Xm@?c0aGLakK;Cz+$u%w{h+>oVK!k72wz`kgZ z=R9WCo?(KE!N3|J7kG62s0K*bsqI$~D_ii(ez96jq6fB1xR`6_2n$63J>~Ck*PoSM z!uGi%XMwG)A=;{-UamPBcpWGen`B`Ffba*qIWVdwS-289%~$DVbmt95{%s@xQGRqE z{W$)K47Fb!nSWCg6ik2lMP#+A{8TWjaV^XOf|fl1_dn(9GpmBk_yYsy1aA=rKTs>S zZV4kJ*Ty#5CpL;=SKe?)R}QjQJ#sEv>&<0r)m%(C`IWO_TU}}%DkEC%aS%LmHQxY2 zlU@is-h!rLLSCF=1^={X!8vL8ZKC{B-Xv(5!@{CKZ%%A;(mcL?b(P=v$6T6RM-+=hP`d>o)oDPtEMJf2_(`aAvg2$46K1KTkSkXR%$cbM>>!Q{5 z_=Q~Wyxw`E=zRa6Oh@1W9)UH3%o8Uboe_pLS$Njzg61T81qRQfetZPt5UKiRL6J6U zlqeScv<)-ChwoRPh^h&tc$)Na+vNckZDNFJ?&hMfkW2RF)M*;K?k^dY)ecq!h$L>8 zKA~lNgA<^78_hnMFT(fYeelh@fUzcV4f8oF9(o>hqw^JCq0si5QR-G*mS2A1z&9gbLMu=` z{VJ`%1hSS^P$PjG{;iZrEdX(x-^Bw`JiC159bcb%XU&UTz9PQ;R?&ZSzd*AVAA^5u33>w6j~RR6!-$d0wp6k^;rQ{3+eX zMe?o=ND4RW`E|GXef}v1`-ZUfKs&-s^$|dpP>)HxDR|XxU3A}g-PU=t@T6q8qwo~H z`HXT&RvmNr%ZJSOC`DQr~b?z=Z$K}spduH9Kdb@=rAC2MOpja7#iPdk~^Vs zWzKK~!reA*EYQ0UO}1<+k3>W-ZuSsW`2xY{he1T%0%YP`z-c)mC^Ix}$E>tZnZsRP zI_Auol^WNjDa;w+Px6*FTHGk+irg}v1gBGHA;K+`JNk!%9N!C5FNFai{I@j6R7sx( zRqVi^ot03qM^FB}fn^}Iq-sh=tv7||`E#}m2cDPDzYqNTLP2OZa`I}Ye-Hjm#JJ=@hmqr?rK@ zF~4>=! zma(xOEb4upHimjl#S8r2oj1Qj`*;2pb`g_CZXPb+JBmqU0VSik_a5)1`r&OvJ|nav zKu$w(4YtBl1dig9^1z5`-0}P+UTSIIR(G^jDF`fqf7faVx595n0u+iJE zTjd0x_2h{iI#c0Ct(sO|v=mEnt(f|gVUK?YY;RjKu8;<7DD$Wuh_)YTf#p%fF7FX) z8sVf5JC1hahv69LY4ia5_qzZ+d0@}dHQmIYgj|(c4F56wN^TYY^2WCEgbbWcbJWY^h_wuHxK{gckhrA;qS!Ui#Uja%qR>C z;hJ*RbeQ)bZvon&Yk%$JH3M3a@08sIN?yYFui0WcXBy=oN@}ap7h_!oT`(&o)&Fh* z^cK!=!@Xb@d{BHYw)PH+6@&lABLrf#9=njK}rVHGO<0(0v1yKYD8}@0rb2fD+ z(1iZHSqM~+3sx{(EWpHd(-kJ+`#8=v)n}Y?A$wz(UZzr`RDy$Z_=ys0_#pP@NMnJM zAEVg91zrHp0=(sqULcK?ILq=%SUC3NbjXPHY*WHRkCZWn*@TlG1`shfi(|QxGx#=* zAIh!`P~lVsd4~C_{5$uR8lyrK9l6E`mG(?%Lz>#F5U+o(EE>y*DsBnqHyzXHLFnKj zQmg+CeHa!~BJjK6?Oh3G7aF9FNfH3(AYL*W3|x~K?GI3%kUXuJ!t9oK{dcl#^ShGo z#Y;D`XyorU<&FR)L|DB*ql+wUT~H2mO8ianP&eXdi3}!2RB!dIKv#TJ7u@xcfECR0Oc{gY+BnB&T zeB6P)L%)DR%W2^$=Xa;^x_RQAwoWgL;wkC5#BpSK=_Q+%e>oCYr{2ZoX}j6{dy}O< zz`9|sixI(*2}_xRA@;Qw6LB*e1_O}(XuC~0dnRr;I%qH)k6ef}thldjhC%uRuy`PG zxytgv+i^Gx_%H&EOOXKpBUcc%0s}Jl0jIlFzU{|jSciSNWvR`{;D)V#QeoTBn}r<3 zhtjv4?pp4`x#VB5Q})GWw{`l1cU(WA&mW(ZgjjM2N)VRdux0}|IE7g?v5(@4QyR%V zpKC-r`KdX0p(BKrN#E=q@FgT~+0(C+x(y&}N!)vt3hqDrv2W}@00Q_#W`ltF*B^hP z_v6q+_gx@OX+cCThT$YA1*2e$rx=PIw?Oaj$Wu0AOPjH+F`)F&`ho$SAae9)0bVdv z$|xEoiqVo6p%g>qW#TJO(t~|BwuVX*+}*{^u(!LHF~LL|pbBz)_h5(hfve>R zbc9KHmicgJ3%Q(U%tNf7=Ln^$)9 ztM;w|W38>bzk{nx|I#88U#I1odpCX*coD5Fe}RJ9q50R2_1EsqMh$Tjh9F<44{$Oh^uk1W zA!a5g&C}LJ)4OW6J<#d$CeY2IFq+`qe7YNL9Ek1JWUbM4&;(r-HxKykCC{BSt5NtK z_}$GAJ%g$J4L!6wVLi;_*O1{PUw|Y6%#kewH-XGWam|cWoOO=ztmV`d{AR2`L4|#I z`$J0VXKHTRDh_xDMUS0`Nm5bw8r|c1r|AJ!n(cP|_^e661i4(k{Gn2i!APe%Vbx6l z^APA-4ZK~9{R!G|zlmXg!=tfm?iA->%_EH%t|+2V@huFGti)TuK>&COH#5fP8qeF z9ka&d*e3m8?n}`>HRqVT*b|0qdZWOfc~kierMh3MRd?}1YOA(avt2DQqq9iBM|Ce8OI1fCNvObSb+wzp-=pg zr)NvVQWSdFYf-Nn1@LUTHQylv&F+D%pb2x)zuPP`!(Tn_np6nd$D^KU|*aeK^7bTN37eu1&t0RS-t++fP zVwqw{TwmnYL8qd*z1j{LCiZKVVbC_`dmiRekc7qe9kgidTo{eQxnjHed5tCaRF}bu~Y!WZAW&0)=;O;Wf1HJMu>OjgwBN<2cDkO1L_I97! zF0y=v^n-Wge-leBWZceUvNMLBLwo8x<^@mbD+vrV^XUIIPUGS|!%^ znff%+DaIMwWOv)D?3Zm`M@NX13%vN)h#>4E+zFH|1Wsi+f~&*>w<#YB}@ z%=uMxGP4-AqE04mQ_Pf%u*^rMeNe1s5*d3LjaDdE9F zZX>^`0n63hr3}Ii z$fWPI%Sq0j4>AGq5JXzds1m2GRt>Re4LB6EW;j#6?IPVQCO0F0a_>bw*s~M5BUfH$ z#2(3GR94~}^jsKD(NPhv7H?;mNPurg;ycItQFtq_+p~%7b0yuVj1+t<55a$`7BJ@`OiYwLIjn`CT;Nt@x52#X0C})4aM9=uE zcC*tl@=h4Z5U|Ec(_KgW3I3m4NpR7IlyQ?I`-kX|Gzxn2Z_pMtAa|mmj}2BV-gZB@ zS$v@-*8tCqF2MO^4$Ydg3Ev9o{e2b0+lUw}#d8Hg@e|X7N+e37Z?u)C%tUrX4 zYBr@`{)&AEeY~2}m7lRgzI~?2kZxBfHIK|$1k*`;r-1H>6hQ5=4X6$5FxtM`FzmyV zP}=YKk@6>79#c-m>xY_rqz8E7ecj=tC|e2C;)4lY2_`Cqi@C0ae^5O>Y&YM}?m=#q z#!6=wg1-XzfHVqNjxE{Q;i@*%bQ@6;=T*>=zQ?#0_+vK{h=S4|_E6R0k!IE&PN|Jpc$HC5FoJO8a zoEV^`w8ea$dnn|~AF36=&&l_-{BT+nyY&Bi1@brDEr14jBK1dn_Xmdutq}n~%IG<% z1yOtz6@LqpW*zW0MF06AuwBZ2t*Q;lFOMs8P^TOU6qNWo^e)bKXi+#MvXBXpP(=7u zjSu7TV9~cnYJC|L_DS`Ato?)o8BXCB13Vg2#^`|}JBV>6e|swOj1%~+{9%7E0A&3i z{Pw!_>b3XPEw4-gpe z)()W73RZntMfFVRxj2rF4X!WW`j=k2b)$8ae$- zrYox)*y`4n8m#QKRKjk{g?KGzRl%dEcds(uiE zR9GpMf*O#jCeWxnfI&Ch8qBM2~E25Bllm7&#M=MvOs4+c~5c zb0@4tDeJ8Yw?S~oJYw##_Hx;ippcPlw=K5 zQOsla@oEZHP?74SZsKygK2nGEgfoZNUR}AtQh40yp6<-YE8=Qm@E+{DZwO~eM~@;0u1dgExx3s7pL%|c7SA_#(74(+v?f;W97C% zD`wNXe53Y^<=ErBx;o1zcMwO%%M>DKtw!^r)68!`O-kJ&zn?Tajdtq_4R-krG7FU| zhGB@Ru3@*nVgv|3+M>rl21t=6Gx9cHyYJ7y(_4guL**&>i>D~$yY zXeczt-nhK_VJF|G2PtR0Lhc{P!KMpSGk5FhwJJJ-Vw*w{4m$o5;1mk>$sO-6_Go#8 zk#QX><2rUlhmFv2lFQnms*Q--vX0IbRzYohSzAOfID0u38W1FikNbvbz=|iFaQj;B zg2R$uyfjT7Ma5SY#Z~mMKZZ zI^OE8GW%jNo*-9tkrrcorj{6rYrkTdch+5IEMcC3GUsq=ikUkM+WdVGFS&tvTB{w6 zyVw-u0G+d;=j;v$Kc)CDO=z+UV-2iPSe-fuHkU=SZgtiG=7N<0>Z4YxQk&q#UbW>>YpF_%GI&=CDI4j9uM9ftQe!5s$v+H_(P=wpaeqmcTP z(_iD`p<%CPc8CxC$gjLav7I)?=iZKCP%&_*j4B#Gc}5!Eq3kEiH13q4WG++#&^Jn! zg=Q&Amm$>xpmse1cOW+#y|M(KC-q|Tu@x~uORZ`!x2N!T#oA03_gjO>WpcS}o|@vS z7GGVf(eA%|F$yYs=w^uicD9rxVK2SZ&>K*(w5od{V85s7(?Oe0 z#Q|AzD%vo~3%CEjc-{7wE!(eLA>Qn+6*4aSj-*5#4>|}39_d`kB{EH&No(jbDw~^> zlFh6?GjFLrf~RnylS4arw1#8x=v-`XSv`-X(^#8BE}4wpe4y5d9XwELeCvV_r-tS= zttrUF(hHZ$$=dRZyi15bumBVHakxY(vfw5KqZH&v%0|m1BYRCVB^piE@#*s75!9hS zy96q`Mz%~9lNEQ(7p!D;e5#ITgBLP5WvY(Vs26EsTAzq=X%TyUHG_&Aa->?RO6sO} zGof#gp|g-gpmp)2QRC3kOob~}$JVh!HZL(NSyuLW0sc3fiVkHRa7$Nobzi88@ zprtTJr3+gZSJz$Yv2l6Pxjt{6h!85=ZoL zZzs_oeXUg!faz;x&jftp9k;rjT&}WXenWpfI27`g1q#7jhZOCCSqnY*u$J`idr61q zmZ(@Z@RRSWn06|H6FRCEpmshszUQX}^e)3b@=!>Qf$*sUpZ=kh6)LRg!tzh%7{0H? zz~O&2>;QX&np^Ql;efG>wf^4T@k@^D(GTPjUj+#Inz9t${2bwvatSB*kgLT9TB4$H zp%0dAw3^yP7^C0!RMlB^K_Uex;_nJuDu zIOe#2%HB??FUT1PLxV;b6F`ZfIpc7IvURszmy!d&wrPGTl)|w;tx)h7X5WjSm-T@J zdy83w?@Qk-h9l4bqYx8Pt5no|OjVcY_#p)rY{~XS!?z7E!R|6x#E_1oRV4rdTg(oGeITSwGN`67i zmUt)9%P#ajq8bKfeZ*5rra_UK2quVOLRJ=l$jfi?HODlT+!MBL8ma zi)o*p)GTnGh+%}eXM3Q`uc z3|brPD{9EE2~(Pv$Qa?$F})jm+^OnmM~%f%k{Sbr-M<6&eiO{!GI) zfUkI~QAFt4sB&}3=K<*rpDpT)z359d*yR%UY=9y< z-TM8Jf+5!Ikb30&7nnUXoXa*5=f<*^$6l{P`Jk3r=cP!D{TZ4RDY3W-C|!w@rYFHs zv_dJ_nr?{FRoQFXu3F(~ILO_-57eAe4PL4i^e0Uz6KG;m#-2WMK;8uT!5@w=?T0rG z#v$fedB(f3#Ixb3vl#M{7F(a(8#R7hca)Q09^FF&nSxuP4?e1F+)ptX_Zi5*UiWqT zvfG6-?U!G~Y|c-&Kt+}I!x;G1k;w?3;bjD+SK6)eqeN9J<%m1;wTIVtnCzwRGcQtU z9QYL`+!iq}HlCB>)alNgdQacq#A*0)aZ)nZR5|Fa|Cmx5If?G z4zu8Ph=MFVv!P~{f2wPFlbej!>EHm1V4Z&J)0X@ApK1tqzhBw6ME*QkrL#uOs>d)`!)mU-qwNJil|8nV_ z)!VO{cr2^rL(|0^tLVD49>7-s&{enX0Y&5)azUMKt&aIsUf!+j{qo}MhjjnYGP5uF z&WUS$j$tGb;v%R?Fn@M4S_JbjoZmgW>kU0X>Et)1t*kCTjm(xoTQ7rmmC{)950yX& z;rP7~!2(@NrB+nn#bz($bYqi$E{3xQna~eNG(QXq806Br_^<0$`vj`czlYo4JYlT(?AZ>GdfY5@y%6N`B!} z7ky{YhbCYCaDWmf5#VE>IAI7%W!9TM;0~QY!{D9Q8-dbXjNusHYC7v+iDr8b2l~Sl z@nVnh4%(Dn>f)!O-Z=BFx<6bs)dS31iT00c&D&@+o_e$B{Sf^GDA5dv6WEpxqpu_w zWJ$arPsQs-%R4(qAl+u0_Z^I4Mz4z!m>l{Bl_`%NJy}Vdj*_u$Ra8zki|+cv2odL| zJA6fjuu7@|O!63xtyZUTd2w;5P{^+cq!7sMxKLqBS6xz3(1hsq8-ey#`~|<_z@h*j zgcPh@qhYZp{3vV z04Xk%OeRGqQe;<$x(q%3rJnIfLW5!3q+()Oq}y8)==cfyl3) zoOsZM3-dB3YK?QE@(-EOS0UQ-7xOze_6sxyO1(G_qPgeOd*XBN2Bc)%8@LW${kr?w zyJ}vXV4t)aQ|0b2=#h5~cS>CW5B%o>pkb87RPnZT$$EXdUXz3wfjEVB^S`c}u+dMP zc%(dz@msc>D4CJE=R#^Q>CGOd83&9+s=We)a3|If{9#=h-Ki3S`G?7MB|V{r>-SJgp)*h8cpU_vU!FA8;MT-*@B!4hXaWinAF*E! z#R=qIU7ocXKNtsC^Lx+{I~T3fQ<~Q@qTSi87OR*boquLvHJ)WmxEiY{iBN@TaWhNH zBJScP41)T?%6LSkxr6cF3IubzvH!ut3))HV!D@#}nLnA^;$_@wi1O_?lsRYlOkS%M z2%i2(H(K6mD|==u3CB4vcL&bNWLHhiAX)XX^vI;xxjt^!yP4GZ+icQh`}2`Rr0)&f za+vJNsA!SJdaaF$y0t&YH_qoPNOwoq*9*6_e#K3GYZ9I@n>8`9<-)|8c-V5`AvyUi z*W{Bk{xr&6#zfb(SImA}TUb_?pU++~dyIvwTG^vlRpifvkre?-W9UCkNeC80K4|(H z-=Do%;6*&)o$aoU{e1@&J+A0c#dw#aiaMSzQX3B03AzrVV%=%|y%`gjZm^;{iKszzAF8Ubtr(4JDGD1R8he|pmruvJyJ98i~3v|&0cX77jBmz{1bw$We5*Qck= zHq9`TiOWk)qJf<<8Li~c$I-w?^|b93npD-U{+}v6WE%0)DfC{e16$feq$*@sf7Y7$ zckNaePMcR=w{_mUyao-RYCaXqgKV$`4wL@+ym#i7DRM^<4qT!INskB1s~(*=k<#d z@AXMrZKe`}DZLD*JvK5XPDcRBMIQQ)=fm4UQG~q#r_QoluG>yR>C;K^i>bfG~2mJ@en&1U1t(u}Wo!NtJ&lH}i6nWc<`e>*8(wEVgn( z4{PhPR^6q#EY{Q$winx)XnJw+d^Hw#J<*HqX}_@SCHwqb!j}PVz1t$TMC~g}l;iQd z*f152f#ZQ@7`&rrYml4plCd%Ph%O*dI!0yQxK@~kqhaqszbt1-W#o4zR07A3Hs`}Xbqhxp z*pp?32|r^E3*s;AJ@&XOs~2lEa@-8$^czTP_OrT4su!_xY3=JB(*#L?vTk{v?-Nhu zAK6Pv_W-VKM1~B@fFZ5O*~SaDfRLa7oh>5uc}*kwBhBcKGNe0A>Fe5lxo&P^8Xd^y(eZr*}}NqMs?Eq*EW@djDJm3v~a%$71AbrASGp&@~u{ zO*mRv231mDB;T3&dWvxH2l?m1PtvZx?t=&@>l6jLO7%dT!799rL{|=2%Yc}TwGj{x zeV{UbGzxnj{7#W@9KQbQ^vbJuFV9J_uDY|Q zIZ%p&*!92yN?1stgzfZu#VTHYpwn6{iyPs}&w}1NuQ#8KJeqGF`l83(7>oBeN(W3l z+MJ{eg4GYb$k(DeeNv0MsTa^eQ!*W1vSh{yuU(=(e;u+tWmN6?Q*S!V%RWjkp>XC! zVecLo<9z}ChKh$eRoz#KdN2T)PZqByu%{yiU5b+yq?+(>m@isN(N-c)iY!!>KRz+D z*7A_bgg2}_^f+u5v?t2@g5N)c{148_Qw-3CZNF`;hd%(Y8Rk}9|+q6eN_`K{F4 z;-M2I`u%yB?x`r2%?r~(mJ<`YTu|r?@4$^UM(P|^a*sI21sjGdj7E9mo6^owC@@ya zq>J<*INbr#MY3OnyJR+To&=`&j~Opm$NQCF@P7S-%|=YnPWMR4VaZVE4Q7mEg&&9j zn-wz;Qmbm}-}DjL(vRhz4p~t%5Kfl$*pPu}&97#Sl+vOg-;b5k)lZo7khJgOSC57( zeo=40yIVH0M(9%I&=d(VEQ4-hN+}^9EX91X6t}vb$T#bN zG^ew09`?eK0B1m$zrg1=gBjYC%2l>1@q_W%WT4QIK=#%;xK6f}nA-ZBh}v2UPs(zd zq%8{gIv}_7{aV%1AlZ9Z?t9qiADL!uMt<)eA1nP4-*@?MwnNvaQ;c64&Vms>@_3Fx znh)YU#M~HsgMu!8yMC{TKWpV4PZ7O9-+1S(SFgK2oL^pdn!GpU_twSRX1nXX{_b_N zc_uy<@tI8Q>>|7$`f+FX!NX06i8SaXTI^^S{-ch{{l3{z=h{2?4gukKKGGxb!E8L7 z_!NFgUaB2G<`#ZPa!H>X|IJo4>&)C-$Jp`+TgeM$gQ~Dq)&HP@@U6{ z=bzjC-msrGgKKFWC3CDI&kbx5t!@!_e;Ym z-Y-VXUZ=y-OZ*&f&*S*xY3VRe6x3#yM zv?I^uBD|@43LakfKm{g|7k9nT1#3X ztsy4X?AK7;W2gx0PouH0G*zqvA6L?uH4~f4mXjDR$idzLGK7P@=Po0&wJzAXUKD*# zJqwTFAIvo| zxQsDM$>7acf)8C2Ly!g-DU>voiDi^%z$ z$KDed6s+{GtbK^$ce%1;Q!E3Uwd*ucif9@4Q&UCHi0tW_opIa_Iz*830(K-r%IKq_ zO8Q9wE%?=aAFl^()p68N`<(ui;cnq#LTPI41p!o~hpb|N_I8UqRg41K!!$xm*zql2 z*9<&3!}0q5iS}&gn{P5EI0R=&*8VICxV_;kMF;IB3T*5Tz&fcktrnh?PzT4qkcokQ zJ;WUmQg@};R79bw@9;g-;|PhFK}<0jP8|z4J*lftz_aniuc{AcX`$2 zMP`$Ld{oYXl&8=yY)T&N(~z|4r_u?Q%|jFNM3#4e=)^@ViT^&L_i|-b4rUX1ERy~9 z{3tMo1;P;DXxero+h~gdHsIo3r9@E4<8>?JctzGVI^;c6;Kz=OC)|O(L>W!RIgt_$|U^ki7U#-gda%yYEj&@Pt?1{dEunOkG3NU z37m3JTIS@xu$rE%Sxp0%mG}g4sXpa`b<4Zt9C01U(R8&C zzbOafI8Yt~D(1KRJ3Ag{$!Mv=LS!8lrJRPwXHQyJP#$r~#S?!K74brpjXPsCSCppo z$~X?*dyHe4&k80Z)?*-*G?V|56k-v`TIMR7SnMWxI%>=>WNIFpc08s z30L);E&q^oxwBuU$SwG#B15+T{1n(w@B&)i+e2Pnr$b(BLlL_~UY3)>t)m@y|POZ38e&ob5tflf+ zCr&}dlx@mVN#UKi*gusAfVMN0)cT~b zEa!%&TtOVx3btsoZ<%c3s6~U4vgO)@cS?lE5|aDiL1aWzStVySZ2pas=kO9zEtWGa zEGq%&8K$ZYLF!>FNsLI>FZXP4&Q4@l%cE_W8F)L2X_a+i&Mqm9n`{?^!L=s(C{rWs z;Nw3SjQpUP<2GNUJRZTNl?Z0%9|Mh#UJxm27S-GotQ6tLw~vkFoJoE9q}eT>+*8Rq z)tE{Np+Iep>+U>XQtsaXh{+d@?$Ra zi>(Cm%SNh|r)*g0vBgx7xu4QH3h)p4;U(~!k?TYq>ftl_O7 z7i^akS?y&}{Nd}J?H%;NB#TbG8dRDV&1J2nqB+mE)y5a`I@ecM z8mAhj1L6|l+5vBEthX*sFPEd-PBK;5f6ig?2bJuwFWEP6Fr@8CFhVXydr;vvn9af& ztG@87j#7&+YR>&Bme6Y-Xx9R$GIgQ6teFKr$H@#`w(vw1N0OdQ9Bn5~H4e%LvCZHY zKQq7hS@8>*HQ+g3k7H(!a{0NP+9Reqj))tK6EVl~hTk?bwY^TW;T@k{Hs0ut&<>le zKxT39CHiCr6IoNeT&7>jrO4DRvkrqyRWs|fSx58CRy`#_Jkl>|EhUuW(#ks(Nfx{N zS!5xD2a}ZX2U+~DB#YIayt4tO3;EJfoK~-&!>cz1aJ}bUs_a`?bv`}7Fk}Dd`0pq5 z_5^6gPyK#>wmqtPH+}pKmSNVTF97`;VuxTV8$qgDoEt5I@W5eG(8BE(wsO%?>Rolt3vQHZZ`sEn1QW4eTwV|}bYS>%z%&q! zuTkTJ8tMr*BS^GUl-ojQ%8_5m^9rx;Vr$$B z;xT$^SFH9RuUJq8hpk=aVO8rpOg_VD#&z35WXi*FuN z_}nrlMw@~C@e03B5C(Eh z1~qXWC3n6xB-e;a)`-|~jWC1pRj{Vqm6SZ>SjmZt z?R6b|t8Ot9J%2Q!x2xFrG*Lm*q*kI`l#MpTwB(wNs`2;3R2w2mnUln9V}6&Eahy`jNQw9uvB1k?) z)dlq!w7o9ALw?n59iPceeQ{1vOvNENbf@tepHHd3X9i57ULfiyq=b*4O zEQ_|qSup=56459KrrT6aNDDDm>ghaid}&W<58e+)Bk|t9$9EXTV!Evqy!EG`A8*Mk zWh@&5?dyw+*2OEOabgBNW*M*)K>5PY+ZzK!UUWD$juz_h|ryI^?2efrnSj~ zgI)RT;eIN_L~)dUpNvQNa$KGdYHu#G&+r@na~|QJODOtWGLgX_jJy}e08k1?mdzm{ zHZjVdQ>ORI^K#O@u^Q!)74hA#yjN%LLvIao8{7yXJu*qN0=`59pTZ>9mUyU?(`ZUp z&^SoU|BPy`fq}J^lKK4M%j+c6>1R|)G`uyR#X{Ky{!J%rRU%jL4*tg!s|6VAjK}PU znC@lN<71vO0l{AdzS59+!SGbOxywH_z>fHA+scvb)`!)n*tn-Mkypf;EVq{q2pJHN zOk)WVzvkrtIH+#!_wK~WSp)B7hsewE*zSv)2Yzsp@;9nSzM!Ez)=?71jOOw>n$53! zWjj*DPNfo$O)DR?h5SB`$}xC$_I*d@1fvuM4QZR8QQLBRNA3W|If74Ibajv1f1WJ`=!*}>X9<@TR1-d3>LNgwkGJ)z_a7koI`r^2J zJt-v#t4FRZQ0f9(%gb^c#_?9g_nOcscHoHgvi8)-)(6-@%idJHo1}QTawC+G~dcsL@LC7cB=b{t22!I;XB^dsn`#iw zyZ}y-{4|!7Rek#r0`myq5wmFmQ(R!{RJEdrdC{k^ZBRhwAQo^+$b5e&w#0<2w<;li z%%se6=`g6uwfmP*g)I}h3Z0DfO}?aB*)Kj9Tf4Q&a`C~`8f9L(_@uQ$S;^+3Ue3fd zSKQZ3m6*hj#Eo}(@tX7)6G1XJPR0?IEJB{F&jIc%L2VM11uH#I&NL)!Wx^yoI*23R z1>(+s7vL>me-=(jE}_R}?}8a7SVm{>_e0vRsA>w4V6p|)F8i3RgW5@tJCWc7tLCrW%xwkd}6-7?NwYf>p$ihkv1|DWa!}kbv zn5J~~21cvAwigp%#Qp3vD0s>6Y%mJn|K`ex(bK1EBncpEsUfvpG70bxn?K8^mJy)G z@7tQsEa&L^=so7ouZm5scIN|W;$e2ED%??p9ajbNXI1Ys=by&qvq@jS)13L1v%9+L z)%s4a15;$?kvW@5z!jlhR>R=KbT|v}9xr|v`tH6-8=yM%0Hdoj4*jFqgxA8)>oBpV)lNdGr@2>Ey0_#NF}$u)l`_QD00@9 zZ8Ax+EReTC^a@ZfUELs5M#eOl4a5FWmZuvi0>uX5d(7CHO=rXDyPapCG0&$#@Y|DF zqPI_{G6$gbhzwL9yd5Gj8`;lf)5so6U)I>{;?`f8V z=PL+}dRKsy@-0f)!*#S-B z8BP(BeG1BNiqFtKuT={opPwwo-t_Jvn)nSdA6~xP2Z8GUNXap;j+g%v|N8Q! z*eetY>4Q>s83mxi&sVc3cXd5-^SjA^?BZEK4&_TMl_KxJxhp=t=eQboo!hmCg&Uwr0x;{9DP5%_va zFc)Kg4sueoO^xdVY{-?=a{J<*?yOiXx(P5SZN9DhYlPE>879RP`9?v&WOj=9@4n1s z*$8LTa7Ny;+r)RNZiF!&KqEn)`~7YL0fXRl(MAob#x1@R z1;3)bQbgfk{@$MjhvFezh@Ov8vHc+kD8ritDAdUHC;eyPj35A}hl2SFU;H4xtGC6wi?%G^|rXWZeLw?n%hEjf=JEBbt31aDkmWbp-rg<%J;AYfk8gmzfdAhRs=_~DvDf?0^G;i5 zP0uUhZ`T)%ZtL>G^F&en=}**60S3XBN-M^K_2@~#Eh`irX1J#>hwx^1OP@k5Jkckx zarkH$`x6jv#_Ak+rolw0mU+MiSwivWn924oe6KV+zHt(p+DywIs3J4gP5f0^dVr!) z=vf9FqZ}U#osEbx3$$TglJF^S8Q=OzII_n%*~X{=KGybQ>-3_2-f8{)Co@kB8lx%G zFIl9G5{7~0Lh5)0bxG|f=-&Jt&67DxoTaY z0~Gu0sXJU<=WVOe^y=MiJ3s7?0s>SN<-Hv^x0B0OOyjy>j*A55g_1@wv@xH=*e1() z{CI_=$Bh%LOWTpi>6@>kZ~igCa2foQU&52OuJNs+EF-LvB#ifP+zaYuxhp5P>(Sqh#S^X<%jg>xJ578jAT5hQ>WV2AmB4Xb*dI-+Dv>b0~Iw`1RN(P;DHF-#Bw4XsHcwEI-w-(*!Z2FAJ zgW4F^wN@)Emkwe~Ad0-yVwxyP%|-skx377V&(N5c;fDKGXu2QM!#jCt?MgH$SP%Co z2Ta*E^}d1ek_Jr`BxZY86~$9Gd%>ZO&@s$Fd{OYf$_{5NiK0={)Rx?v<_A+DwFxU# zlPqm1E1NJd*SctRz3(pDZ>$w7nwz~~6B#G)?XTuV5{;^}r4-;P91hSgZCwgbM}}G= zbt@`wH?vo%$fu2Qc>}O}<7u83i3;Uh$QfOEZp$g@qsqv!WD`vm2Vl)7H9^HtiPWOeBW*Z-n{}8=uI5MoNu+PR{`+Qv-Vo-q_TidirY-(`(LtR9Aa^jvmZr$5N-9j@axv2@8*=C4PD=51^3b4N~+C@Qtf zMLfoZ0Is`I%5};-=~Kz%jJQys^G}@vTc(l#FB}?uWe5sI+`=E`8M|An6%I+li~K>L z#0iA4RH(oevV~}^gyCY%CnI*gWodizX{gAdeJ>yDKQ};-hxi-)qgD$%bu%4tc*Ks&mT_;@3btP*ccVT!xS&ZEfKFsCN#O8-N|CXr8ybg;n>4i;< z_8d8-t^^mWcj-!?=P7uZq6ia~>$(Zf0`7y4ewcTBBn>B87d9wFo-)IUQd^9}LpDU) zc6LiBbvKne|9c86?6xkhlUyoI37}E-?pc;Mk8q-^#QA3~K>B-n1+DeNiuT$W1t|g< z`_cXCwWWWL5KQ*s3VU_+!VE&aUZ(n?&KFhm&L1rTwAKDAn1xc3GLzaQ&WDQoREUvc z4NxBhfae?>02|tlyMf5rmO)MGKMHPY0l%O^28hjETbruHYn!SS7g0^_zx%q?@y;(# zuFslA7xbJh_iyX`X=E3Q2`iyv{(GMR0ek;B7%&{#634YnsyNqMH`ef|rdBqf$W#n; z6D<2Mk7Fk!Q-5lWN_kJ3$GAnr82J6Ro_HkI4R+4~S8W))(|92q?Fup~OK%>$0J)vu zwHe-g&|L_p(IHQjT*Bn9bU=>4c2}ra+^_7CVmvSSfIfu@DTa7~4NuPN1HS&V3I~VF z1`Pkp0+NK0TpSv{3_m7Xz<;nne#5!su{QI4CRne2-FuOpI+3=*&m-0^}6-;t7g~h)X$sbK`2Bwq-@I=H$9{)LSHTk z8d|~-w54-$DBl*MHNZ1 zT-FSvn)CXVZp42sZ-T5rH^4uj`c`&zz5R5X*lobwk4>hsnK$w0UNjj`Q6C=mmJjjl z@|ErleqUbs+N^!e)t3_R4EFtRpHs^0>Q|Dg0cE`)iOTMCjJJ|M;gcy&PQBUOatcK! zN#lkKO68*(QqT}N`;&Rg1tqh^giDiN>9cv-NjTH((^Z)|PWThseUmgU@7NsOuj_M~ zu1Z~J`I^Q>v7hNDxnnOS(|J!mT>fQ9)#&b5l4}Cedg%rBDN7XoAc9305uEFD|JLJh zWb&9wy=Nf<1aE=?UPE*nS6=7MvDY}x`AlcQ43+9^LKe zO_mAhqEs%^D7m6rC^-sf=JEr+h910=7P0xU*=6ksW+UZE)8{n(@hZUwQELDxb%OCUR8N}ww|DNG8OUv{{I1gUn%S0eaPeK&rfx3aw!uBn_>?8ft?#3D*&JS-Vf~+EF z6!Pe3WNwo$Bn;Vh!VL^0+2deqnhU->IyBP>C~G!y4Oa8j#i$y`U#Ls?O*WL@3*rSG zu6sJbluOtsPgx)^TRV<)1}8)?BSipqefzW_s{54+r4+HkM`?tBRBz^|t?dAP%E6(4 z@^CQVv?F`_`}7FL-oY;Zv|}SRyq_22n=k?LiFyMA20gjkp84;8WWZaMpKyQgV8XvV ze|lOg;HRn#vp#E`w@3)3otb~rY+uMtx?y(->pMfcIQ@a+#t7Hj`Q0;mDH;7Q#nVm-s^eM!x%HCMqV#R*Hr&_ zBL2A;VyZ?i54|3IZ8QM={CynuL6Im3@#nwd@(u@p=Yfz`ne)q&x6O8^b$QWwQnDcY zIp1g?o%K9U%^^xXQ3?Tw`17|G92e`)eW!u!_PU4>_V{uaOB80r282=O~q zpX6PHj8a46F>JA5f>wY&D_r4d6u!p-(AK9wsvvg;AA%kRpvf1O_bY_T{VHp!3O+i} zOhAC$PZecM*>7Rgf#M0cqIVAm=+UH=VSJ?8z z^IkPC-hh_V@jP?pfBu%bT8oRIe-Vyy63xFPFEP6POdKTvaZO7&rwgSY@FC_NXuL31gX>M=N0bIgfIchDGbW^(ie6nJPQo>*JH=>5=EvJLew$<^A8FcL)3D&jb}{ zay}D&>0jF=Q7`@7^Zu`Fn5SAB`1T9l68VdHXl?Xw#+V#fE{=z*1E=0MpfYZVLju6< z|M4fujQ{*+ITR|-txw3K;mwyMVCe2M5w3)^o}G~%1$Zvs1n_#(si)GL3Fd)USCnoK znNsunZoBTm7i7?_0Sk93_L9@kq8-8)QGn_KNM}+K!plQn$~|F^^B(sw^~Il%sh3)? zH8A|v636gc@B!0+(^a`8@I~l`=Fce5j3mWxo_$lm%h}R!5d2f*Z6OncImc&xdGe}p z`PRE?Ut$O*R>p&gk&r_Ks6VK{Hw%2DAdR^AlT3qJt}$znxK`(6LTr=rBZ#4+um>oN z#P*%QWsMNE5<5kKX$Xx2aJ$EK_~fJ)uw`qb&RtwbKC9H0C-hASI3z?y)1WsT411zM ztG-D_6N(3oRJ{3E(pmJRWMe909hjm|8W*(n60^{AVe~Kj*$-|?)BD>Om_(q_1X1MA`SbdlWI;A%@p zHuvI!R6HBbAHIMWPO_^{TucX)bq|d_IyBfgE`2gO&Bk@Rg(){LFS}P~*RROihW>%G z0&{Jk^1v<~;x2qokGV~v_mouw)Q*2Hf{2qW$gh^WjfQ@9`Q3T*-1M{AI0IngU>wdK z#CspJbNI9S3|AWk#&oi2;oGgu;zmm#DHoPcp3K%05rvCc5A&=@%trwyBTytGhjCX93=KyR%}*3AhU>6_UH?y+3_) z!VAnGHO^>vw*Uq+y2%>HAaa(3;aKIYkO?BrfAC1m-ryD4Fw1xgp^e?UZk=?*0Tu$y zjmc;8?YZ1z-bwS~2lNXqT3^qaZ<}Wok7IZoMOA0fMH|31>OX+e@T%Fd%RryF{H}RI zgK?KQ8eMmc@0PEyz>iupj-HSgfBi+Khn?hRTcAS;7Cn74~*_Yr7`CFwGY^ zs|uzS{^Q4=q+2=p@or-!^e=~xHi6KU(l+LEmBo_cJi@%@q8nUKhIv0tEDIOH5c%>* z-U*oFFUTrkAN!!B7Cf#yG%z2<=?`cqn1;7MBG34z^mji581I4}SBd5*65rxOCr?$L zGhO_#D3(k)Mg7jXGX;6@S7P2Vq5WsgxVq+y?}oQ`$thR=c-Db8yPXr6=hu4Ckwk(?<8qdwZV7 z)VuM9Jmr-Da|uV6$RQ_-sAKk|47E0q0RRpGEx;##XtRtzEFk- z8$u#p3$tkJ^WURu%%EQsctoVXTj6dp>46Qv%$~s`L;ulD{#7N(K*~vYE6FqtSb`Z1 zI01xnY+3mo5+nYs194+Rk0h~D*08ZsqTGg-&ghlEC_Ow!LT&J#|1x6g*gI1NVoC2$ zC*IHlDuy5*4RTgA>XBDQ+(*TZoRbCQTxw^&lFywnwzu!2U~VSBA_ikfoz7VNIWri_^Ygn| z5aBB!u)l(L!KfmCR*R(bsGJ$}d^YlxJ}_X!Yf)&8OU)XpsJDIOGl@lkkNk9g=*UNY zINX?Umw+eZ82P~vN`63B5sO(AjNS#2^ckjnxMcVy*QNmej5y2aO%P1b(z7WoTZ>uH z-8UVFbJr!KYpt?R@6h$dU2r64{s>C!G5ua>Syn)FmO!1s)af z*SyT3XD$ddRX{eADzSJbDrJhbv{u%khF)zh{-Fx}&{D>)yJ+38ZsYKla+q##y~}Ugy_EaqLLR#^g&h1r=kwn2d(^!RR4Rweaal z&N~p94CEOnpSTO>beUBYQ;={d*RHZXYFe|Q@%j{Ek9&)PH1La1j28F`lP|iWn~VZD4=HuS0>mwI`KSwMjZaG>`5+IFtgQ4h495hr z|8rKqs5kK~pQ%X+5J=~E8%pzvLOqB{i1D9u$^h=qBpth3^pYU_KfQ86Q0Z+~~8{+F37nUtv0H zn85o0&Td|J$@FMniV9=hMaOE}$PKJ^DjzZ}zE))*Rhjxo&XSTh%`vK%U9V^pV*u?4 zYXqc>VutI;06}puFi3hLi?SlqEeURTe5zgeRu>FFCfU9r#f9!L{0Z}8_PXS_8<}h# zPs7*#JHGfIMhro{VT)Qve09PjqRW@X6i(a4q=(J$$!!`CQ0V-Q0Z?xk$um@&7$EehIBB(z$y^vh!4xD&G;nk3CCtvr>oPJd zD3wB9MR?&fm`PMfP0uKbq&f+MyN=k$js&LR2+D;D&Wp%*A_~Xadk)jWL_F;6Dd@aC zJVcQb@*kY;!=G}pA1Q|EG$8(z-mOLlytq_4yQhCL)o9PT>1`OuH zq-Xs|R!V*@>beY=abi|Bzf0J2Kf3p(80!RuYzW8d$Y3n|{+gS)K!su9j zk-2SXD7hoELbN1FjI8F&6{B~xLX)8z$X5d5D_S^%fu&(`*;p#msYq0%{8PsURmYk< z)hHII*=`HtcsuonqlK|v!}y&7+v+Tt{+s&OYMIBtmjbl!V9F zqO>nD*QBv4Ne*7MD>Vff8A@>vQ0kzycY$*cIJRt@kO+5!P5sHeA+ojuXJd+oYh*cE zi?w{Vfl6Nry-nj}(dLjG+rlDwUV0`{nJ;t&k!DcldX&dqXsSzPdos>|WYQ;t_N?4b zRthI{D~d(gv(C9(zQ-nN(#|no!rd>~*ROO9dwedKy<$yl!M{7HOfbs#3Z2Whj`XJ3 z4n_ZoyC(c{*1EXiQn4Aqj zxv+7^W@|bJFi&VIOH9H;E!|Z5M!B=GMEJve2?|}diDG7y?W#MK6wsy{0BkLO`W6ajed9UeURbs$wu`&*yKTAb$|jo9txCf zVV{Qt0J$3i{qTWn>Eu?Hb0PG6d0xNr>a9k#_Qdop#Lt30qrt@ot$O$lq=kGK-S0lH zR0|3J!g{;$nn0m(1;8Rd3`S_Yq}esj;}5NB!}^1p!7Me5xR?fa-Z<_U-#Wl}F54Zi zd-k?gEvu1huSUik=F(D_BMsIUmz_7D$NF=8I|x*Af7Yk^sE#Y#f}#qFf28KU=nrAr z+zqFWEMDa8D3Ow#&g%txj#CjqQ16tX4>iVwP5Py9>`zPnuve{7H^$PyFlzRybb}B0 zw$lW)2=?66Sg6%Rod(=Mde}(fdli0`LzbvO$jL#{5_LO`YNcFxvL%uvBuh*p+Q4c{ zX-A}pN4uY^f~!{CX-+uEMaU_Or8I%PCW%61P=%gKOc&yWDd5hJxEzGL-zQe6GerO2NI-#T-r{}9uUsbAzFm7E zYL&9UB-wpojO$CFEBcT^l|j|jOscMaE_B7zTwM=elTV@CYLcUU5h|>@P+Q%B!>(Cx zSj>&tmmC1v@3iV>A`3ePn^tW;b=sqiwV6U*=>Cj=`IM0 zG^~d+owl*T*7MPWdQn2&qJl_MVjHhIjxEb0wbcqD>K`xz@%lSJCF-#Fp?=n>3z8%N zZ!;VaU;#!L1^kF6-h%b! zY{JL4GU>|kq;mxgOM31K{%?NfA=*oUPY23!?|&_CeF;S()!DBV5+AQh)JT=66*+qk zplkZU2SKhh?Tt$ydPlk3iz5+#LvcPS(Ay#<=>i5IzxR9}TO~fFfXjMYNs0gBgc2>{ zDn47WWK;)N`S%mE;TYRv!!|1A=hgI^#tFzQ*ue==;`yuBU1PSE$)uPu@K(!ymv}Gz zBC$~!_*HNILi`Ps`1?>?4DS~sUwr#B{kc7%Ka=kd>;L|?xbwviv!DNeqyMjlc!EB3 zL*j8SGTuo}OOgC?>>m#k|M4*K@AzTj_;F(Mm09|bh&STrNgfwswIp6En7Q8+UK0Jq zMdZ5WEbj*+-yO}Rghg-3BzmKJ{RXfq@uTsxVVJ0nAN^VHj@W0i1@l2EhuH17s0YO5 zEI=f_^OMMue3gD=z+;hx2NJI%NL^mzs&U$`o|8s>2ad8GS=LCF zbsOC?E~}*a>vroWZCRM=uzOP1EmJ*W;cHo#?(%KtOt!41`-DQ-vYP1g{HoEF!`Ue( zi_RM`OIes`cO19dD<_MLc6*6-_4AG{J18g1-fEx+sdg2k@E}=OH3}Qa!dhJTJlSQZ z8>+?J&$ zDMH0kHOG?_grd)~1duhVto zs(GQB*Qhz`&!o;TY1Zy^RkJcR3qHuFF zdxJwLh~7gFGsa}~sK;63o>H}ruN-T#?_3hv9XCU{B5YZUN9`B^!L~7#S{oW?#sJC* z#2{Kw_mati7+HlSXj+P#vt?^oOE;={Cnsk=*o=cvLIUUu13i?nNccSv`Z#G)C^|n} zGz11$z}QBCPoIPSt%JU5Ubo$e_bC%ct;7~X-lVcGIaT?V3s>kb$Zj?XCxFUfU#=4E z9tR$39?;S8mCcVBb<=Ri=-E)_K?C$<;6t#2>bm$hDwl?lqi6*B|6rX`_=S4;QmsT0CgQ>5#q&{ z$x9q?Pg-w}moid`ducP}bdDKtGWH*dO;#KF;+i(#|ipNnA9dmwTExryIcqKghP6c`S}jxI5CUz+hdN9G-XJ_pr!_3;lO zUjHj=9$uwVuI>UFxH|o{ta`Ot-UaAYu11sV1>ZiHFM~MQa*Hd|Xv(OQ1MJOooDbg8`$O*kJfv zum2Dey&J-J282p-ivr8W*F9_ye8NOz|8}1;44l>~DLT`%@HofP?5SOL8mc+B=E=pM z)%lG(oj`?A4+Dng@x_!I@5Xf9bt~whu3yCmSUz{P17+5d0p@P z#QUyw(mbwToY7svYm5QaSf3)pKEr z9E2@om9Q3lJR?KC31vhqW06$`y0i1f+c|h+E$b;M8ZjU4F&_rW5}Fu#LQ(X?fRmJ~ z#EXv8PWDFZt(tXiu73((h%lz!e8g#>I(Hqm?uu)k2)h2dXM%39?x~;~EIAi48t@!; zWCNPS(gyS+m*3|G?2>^V4Or#|F{zgRT3WwWrTV*E zpZ;1}Uv8tlRoh6{XMFCj+C{3q+(eaK*Dk6)i{*O90s@W4;#^8n-d6-qTS!V)t`Ch_nr+O_rdTnR+TDE#s2bNRT<*T>EDCnDae%)=FN*3{l#XNY1VfpC0 z0f5+PO^Wp{Ag@{%X(Nh>n_D?bezW;F6G*(p9m}Ar)ie4kJNl|;^;J*wWe`f$fvxK2 zz*hBhV5_l+Ssyd z)_&{rc`#YLXb38}%Djm>aaWDaC6qomt^W$obH>ue*86>Ia@{l%WMNSTh z{^*-`a@smOgFX%Y1i}4n5n=X;KpLwD!_f%M5@{`2!};5Fr)$8GlJg0+{+WUG(g%cU z-MBozs$ZO>Fvy~uGzm4r@l;zJ$m`3*=@PIpK5G(Ox@zM z*9d{dl`dRf{dNyARd8;a~C3ZG8W{-q2S3eRI^BfuXfez0ZRzORPlHi)vWc% z9!A-<9_tO^+%*KfakN*C)f&H&hS~;3e{y-zw6{N$NN19M^5|AA+pnATWa}N>8cUZ# zXj~;5%R{DdwY1%NYRJ+I#KwVTO^>_Drc#H!(Tl&V`DJ>@^0>ZCkC{-fm2S?wLYej0 zOBs#(@@5um%gik3weJOfk1`F&Zzykm$mMeM6B7l6y(g<%!=Y1F|N>M1s86LUSz`bH66Dr2{U-o4}N(E5s9vB3f1;4f5ofGNxt zc)7lqV5$u}p)cifrEEc+i<94l=M*3}$;1YFhI z=agH3>TI-5a1l`INkw-R4wHVnb#%5mzPvokf50TWMe$)eql}gwiAxdtD_z0_c0A@g$zt%kWTBr2}2!yTgn{8DS!&k6oS$^<)cxB{hTW>U) zK!WWidQ`T$O$}fWVr|4T8(}>BBuj6Dd7==rN^u#e1&K2FqRPz4;^eFkROw?9Wu4Z= ztFxxU7sydX5#0?30CMa{_lz;|yF(e!17)soqKpgODC4qhl%XK`i^vlS_<+Vg5f#LC z_6ib-X%xbMU*+G?0Z~v^6KB27>(*(PYhu-xFR>H0=R514*E?^l>NpDBfpM-}p5Pep zIKeZD7Z6r6m=}P(30_4`{xaw1ICFTE{c=PV>8Z^erC8BLPmjd^=(3OE{oQaBJfHLtPSx?G6-f;$|pJFCj7$>&ky?_iegdOLp4U`vGKf_|DGGa=dnZW(o1BJVhbCj z6Y^5O2nD-Esbh7oc8Y246I;H|uk4LE;(LEM_ki;aM;@IT9-bN*ed5rllFAHhWc>|q10`iH%~6FyPQLm-0Nf#(2vVf z4ylRWVwyTsBqHbRqv7SSGvFxk?3RvlS+*xS z;TP-R-s*E8`*aQDqf)~_`!@n=DUgap6F~~&T`)@Jzr)e6jbx1hQG?mcPW?>-QSt)Q zDI*$3%AoBT#H~oM!6f0hgcuGVe=WU~qY6GKRH=$_I@UZ7W@)SBIs+Me6_1feDXmk9 zVd~|DUiiaD*R&Kd81$*Iv9)C-|6(|wxLBHYTF2#eQ>%CA9Md3P0~f0!mb!|tXI4ULeBE1A@Ei?9w|&kR_E=V*t@f@82vhas04OaD1P44!5LAl#?4N zo(S0uso32RT^^P+#A0Vd@~y~jNX71k=)|$4 zAr`BKnYAS9^LYp0?Ii6-PjIgg5CjIR=^S?643<8;(Y>x)Rn0+ zD{3_&m1zHAGt7h!6i?e^8+OPx-pzQVR!Mn}M^}DUA%hx~=#$kEY9#MImj)XZc}7nt zYCcHsgVo&6h%^ih}pvl6n;Gv`#$=P?8nn ztryd$5y7Hp(FnRRx2vKA89TGjxCU7RBbNXnkXsKAN}R^CY~-yow~A|StW#08T}+PtsA(=4PR6`H40z^RqGzwV zXVD1rlQ{SUz3*Yr1ivzO#D@l;s6pQF=k-pv*_IR`0|ADS1imdgAX6)%#T#smfk<+N zXdNVCupSY}I_TCl%|(t!M)O@dFmgkA#JDPJkE>!U#xA9XX;8`!Tz^?jC2>?&)>JY{ zZDq|JCA}<9)vd%ReIMnasK%Ld0|*&)Xz99h-aXK0OT$7e>p48oSR6O>(2 z&Ta7xxpc}fi3XpI>-i%UY1tpXgN-^7uIm?D}UI@ zTvX+ew-R4uDT}eSY&zOi!!=x|D+vxc<-Y>NSXeeD-M}8#(xZk2k>$tC8ag}K-irLA zDu34K=bQ}NQm>znisngW8Tx_TC}*q{&3VfiOK*Y!<%A3A0w1%%q~*8aoFA(aSN?2H zIufwAVHCe7$q*?iUe8}dGEW}gA5(Vo_{k;)gyM}#1ru?bNNnhoEB+1gQs^D;5C_4$ zceepT5Nfe^{uJN*V<_}y9KW;3!Js;23+)9;W=bQIem<14dBB6?D(bzjU5^G9PT;ZbQjvfD;-@i$IQ-WgV%&+!$&x(;+5W3V*&Q&hP$(%G37l zDg!f}_6##-G%7UK4C|DPBVHhx$TwaRrRUE_OKdTiIme}CA}t!}cvc+zT(ihTtlkL4 zNi4@EfuvoqtX@~wTV|??Wf{gSyi=?pb=s{8n91fW9vP#czIuwFbOAO6Vx8{{k4e5~sa@MM9 z$6w9 z1^i}Mrc^L6Gc*pfR#DazVBJse8mr~5(Q@}uEvw81sihU!y`tTo(QYr@E^Cpgb;9aE z$UI0Q(-uzS4WAHCdEZ|(&grO*7u|LbpaGB$YaR4SFnA@N35Ra!vjCa$f~zs!k7u?0 zXd&Wx5)rHP7DE?Hx8|H~?QzqsWllGafVLu^GeJ=-HM#~W={#u}R3x*Jl5L{j=%ukaH;c<`-v7icla9=zf2C`>iqVr+ zbsl+4$cgokGh0H@nIvi~62?cUkUmqyu`d*)kke->V!s%uU9bfs*NwN)W7hI5TRJ7S zCt@-<4x_D8%lkv*oL{4-V-ZouvY73buLUxl82&NOp_#fWQL#Zevb|at9x9_Ht8(7C z7mxr9pLvO3=RAy&M0bd748%(eAtHu6$RpU&OMEkjqxCkvjyQ~fC-`-=!CgyGREauH zb-;rIBJNEeBv?Ws!*y4eZXJXUMfZB&<@J=)u@5?u!FWnLYny)J0p{3U=4oLaq(pON zZDm(8>C^4h1l04q-o)uWh9EO8?~IVoyulvsb+%IVn`TAS_k839BYLHK5Q@zO{!mwW z_i$yUC5HjQWmmm+Vy5J!L0JY0O*COxZA^Q;xb3!;nSFT^_Qfv z7z)%@W%1UhG5rc&zNUTR6B#h#L=V|sL;CB-@=t;zWuMyUT6;k;NbR>3= z$1?VNt*xuW>Oc3^{iH3&9+O1ti5UDPxcDcj@t+` z1khLu;^~tu=~Qhj^RM1qD+uH_;O+l=351RxVbQGe#b#$= zICVFxW;9#UQ_a-`dZ}Ww?4EWqnu&%#rR+zk7Q0zv%WSddYQbrjPJ!n~eOw7Ud7 z5AKgJ*CbvX+`Ug;`Wv}u)T~WQnKi;?houJSR-0TftA~aiE6~XzmNlszO0TnbtY17e zlgQu%Pa%)&RP{IG2!4>YX5i%4SnD{D)>|~ZMfkCmUN>0 z%%llhTg2ep%$F*#X+VKD zoqy&*x%T~ACgw6{z5IMOF6%P1=G1KY%86Epe`Q@`+xjcc!nlD*KyHTVnV4+0Zx)nK z@u>z1A3U@wVev=&XPcxol?{>ppwGMn>O23XML%9KE$|U9!lU2LrSq_ zyyx*eO#=9f2{Q>Sz7BGNlc`13?IZnyh4MQ=SKZ)unQF9t-Fw|n9E<%ZGptkwAcv-j@(Y2?Vl@ZaQ9D1P2#A;B21<2dm+ zXE0!!XE68x&gINAKMv+%v*F^UA+cv?&S!t?BB`Zrb<;SPnLRt~P7K{rNh*~}rBYq0 zjW$Tqrx$g6Uc>N~uhFAub+=v2?dOVx9ojs1dW-1}&ehI&@8b|nnjal~`RCF0_O{po zQrnrWCX-a*)yw>Lz5xFh`TT48e=e^+;yM2N==t;KiMp36=JN;J`TgzUKBe{Bef{F4 z1q|Ll`te7xozKFrLbjL}KmPdW`Tv3c{~w`%a9o;tyF?LN`R$|U^Q*sa|9@$Yb=7S* zDqVcpE!E1!-Hdon+;$uLvfZ0_z3tw(U);^jVa0?WZv!Y#ygm~8d2a51-yTfu-x5^t z$u@1@*hEy{I_+|?kS{oTxAgk>Cfq;yV#6M4aN%c3ds&R^WihIk#Rv7W=z130%l3O0 z3cWiA`rzS)ogy&y@3kl^?!AAH$s4U+DQ;?ZNv%%2-Yv$MF$L{LD!tiwI1v{^j8r|&!tYP8 zzm?}V!&z38VEz{#^z9g0o{W1`+4%f(K(%wXs`dbD!;V9>d$M-!ifjM=<9Ie$=H`oQ zcoIFXeK?AI?1_30PSoZrFB* zynh8I&wyUEWiP}D5->UV94a?lc>)(j)rf?cMaSH9Z;2hJL5le;R?I+;?*-74UpI%Z zci0?q)}O3^W`5wM!YIn!ya~VR&lf}Ii`)Lx`5dK~PrXS5FghCq-qG6K=}$fep7*@z z4y`qkVWVF1dc&8_*FHD4>Td-X?9EnK%%v#v^ty}QsoHrQO)c>$5D6mKifRf&^p*+$ z*X6XX=-PzhC23e-Cam8-H!jbQtF3Okbbf*NJ*7^y-ECi9Tr^vqYULLxNB4QC#>WG6tz;drwVX}N?G8*XhIh-hIDXHln_q*0`yQ8c%{c&^$Wbx zWBy&vC@q~c;JUN``@P%V)p!DIXz1xxBV?&csVpwr$J^xpWyOv0MEabgdjT^)Kl?Q! zInGeNMV4gDJ8KH)*jk$6BgoWO{`P?PKUi6>?U0`2|wyhUlmxn3Ofa@#KwOvtjBo`Mvrjs?UWmM7gy@KolnL8YbG+QTJl+U}h#z~V56I%6Z>20+l zeiMP0$Mt6Ur*5ZJYP3(PEsli~EOQRhShyxW?Y=G5YZV?MyP$e@2TsmA$F)wkUD)r| zt6WZD%_xN&fC7?QtY&!c))4vO`fLkPnA`@nqp*;31XfhgYl72#(uV_kc$EqEI}5l?M|39xD)ri}8G* zN)Wu=qT>zKb<|Xq3j6j$?!=21Jl*5byi56~zL1Lh@{a2-BL0hr{~ScTqXc$1#_UY{ zSKh54%^K$@HXYJEPR>llrCIv$b_jAZnux$}UkGJSVA|1m5wJZ4S!kqJ2W(FvGj1ru zB-pw;^|wF?e0~~ZG#hqZCiirueBF_{I?`Ep4d@8BHyA92p2x6J`zf_|;ZEq1REpJh z)%Pfqb=x1#kDK-G=|w#qY9wQ#tWCln$H^g!4v-Zj3b>2B{)bCLOiYu7rx8yadaX9o zyt2QMx_>{M(aHFZWC&_%jB$9xO^*>Yx6&_K@yK84klXY`J|Mk$FvvEo7_%rna2EBW zoXes~;+m_X2_l)xqDf+x%c4o5m8+r&;*-mw(Gkgm2r$QQ4pzq;r#OUoWT68rO(Y$S zJ%fOhJL+3lx+8R}?=4mICl2DIX5XV&O)_rbaPWwn^wF;$h~j!ar1(a!_J6vOu})+* zm$ZE*A(Hzg#~mQi4lSaHEX7l_(vzoxG}Gn}A{~2*5!<4W$>^Inl}$q43rTWzcR|K@ zLt`z9o5Ch)8Di7a17|IDR|U0>o9&jagu;85;>t7_^>!nJiWw8Rh zWAGCRadqu-ZQcvOjI}5{fZ@9qZnITwS37~$jL;@E-{b)2Su#LB<(r}pE?t6$^K0eg z+anhm>6?Ma7jHNLK0O>{G3fIUYStR*_$}KHyCaYr?sUFsCs?@^1)A0trH3{ zAz0Q9sEen&EJo$cs`xIHqK_R(3Hvg1Zh|hIG+XDT4)^F0+mW8D$h$y~wRd$8h~Nv9 z>sHzq>>tXEViV92fY{NL$1YR-4kQZn;Mbv+giT71Rw}F3@LRK?7lYjJL=)s#ab7-d zU#Q^bmVkgF!v%R`qH^+@{MfW|PMl$|o6i{2?$eM%`BPL#jbQp zW`r!Yl-fm^qymaQG8+yD!$D3Q57Cp^lfnHQ9h4x(x+%IRoX>Xn?`S0HMnXmJ`QGAQ zi8V?^FqfbyDEjC5;-er9l1Cgqy#G^Slmb?_CgZSlPbxbU9ND+<(N+-i6&X~}>&-Cc zdjDqF=S*s{FUTa(HLJJ4m_bV)Uu0YAmZ}4b(-M( zWM~xkE({=R6%Uxo5LT+KmSiT35^1dA$;dp$Jp)0K$u-P`Yvod-T&-6tre%$p4$2wfHG~qPli!3Qli!4*lHX)uMI^roMI*n7 zSQ7DPldObfm^9<47&d9q32c2CHp-ZZ&hWPGi5p979*sKywCh_er3^Ke&O|Z3maz!B z{n52FGgLq0EvU8kI2E0KPfE(Zbv z^q4vdkoE1{TS}^CTQ}X3-q`iYe7Lmj$yJ2=VK5h1gf*Pss%;aet=J-0oMF`_Lglo5 zTPo+RJk+U$ipb{@jJKLPn&anGgu9nAjr7D(YRfN6n!YV%hv#sqAO;c~O3>8KiV{*H zu_0|(w?~`c1rcf6CWehPP5ZoHr-HV6Mn4|KTkg4f5whQN;UH+s=ju{2BfQXM^}mRv z&CRBkHV3<=p^XjQMu25r6E>_N(daMBn$0b1{xXjtCC?1CJY8w(S#Ouv-m`n=CoXrs zOlVr8ty9n{@C&VOG%RA)(hvrbK>3n@Sb-O`TS-tkJPlif$78 zGRBzzgz-X=nUFDNQmB#U3f|M~(vO0xA&~JeK+J#JtY4l(Q~A67e7I1pVVBA0@tB$y zM@MfsXrQTR^{ZR3yXUn=Dpfywi(ewkl-|oSrT0-~TBXJ*^dcRq3EV8yVkWw!HefFV z!|c8}YT5f*p!aqW>U=HGd8>%(d$1nygZ2s4gqnGnKS_ZHzeG#sJN2%!}4; zF5JK8)7-x?U;m(qU3v1feRaMofCYmP%=)Br0 zpTVQjajjnKe4utuYMlnQc>;}=#6_vqsg*D5rIxt3Y+W?lRe{~E)Y|2Gsdiqi0EMft6;&$~vFQE{;gzfmebPA(M+enbzu@M1SE?>5)=h(yMiD+LQw>!1Y zWv41mo6QQLxLs|b*13Hs>dm&s(Pg`e*ZZ9kbpXJeU`7u7etg-k5vu4Ow{>~ZA;0^x z<~u+H^tA+4D}>V~qX>r%cxkpiU>6W4g!Zg>cUFbxFv$%;vPKD!)9$ot<&Iel+U&rY zfMEG!7LDp@y>?n{l&e^xiICpa+SLrqR1KqiAXserUFieLo!B@yN}#=ba82+qInSEgdHVVB$J*wsF2yr73Etvdpy){CFF-2v$e_1 zG0p{7J+D;TWtw6>L`)Lu8@4P9!*amN5;d3l0-sa?T!N4P^7t)f(t&mbgibYE z?XF>6nZfwtvY3b|C!=O$44ckK<4ZESlp>%!#+=vQS6kgi2~WuKj*!Mou(yoUkn$US z*8)z-K^!T*BYwhd>Gy`XDX{_KJKgP^=!1c&`Jgr^!qFYaFSr|{lq%zU@!^MlqrU>i zrH7eWX2kz{^!%UrPbxPidzw&0#2Q)8&}g$7aB1dXONU>Dd=hw>KeW8CG2oIx9{?3{c zc}5^S*MyGZb}M>u1sW`O5mWZ~Y=P z=6!{hIEJ~HiDTf@fqlxlfer5o31b7th6ff=LE1M9$o}PFe%Hra5AAyH@e2n6Vj{VU zKqyy=uR88`)w+)gj*1b_4rDm9T}5WnuQ9F;ZlO;pbm5_FP42d9s^yKgq_K>YM{tXjzM6lxVb$N|0BaUr!>vPRrpOu_148VXwImes5PT|$c7zf zi|ER+VS35Ne&A-@nysI&?vitL5J(d<^@KbfZLh}|gA8^Y^bD$_Xa$5JQyBFcQWv)R`04UwCaRe$e^h~)5(*Rps-Ma=Xl&PuX8 z>SSKaDKZ#!-0UhwYt)yMnuPTRz$Ib5F6OE^Z<`LO$(b)7YLoEaR6^cs#OjZwjDsL$ zsIzk-x}a(y=1lGWM_jHBK`CTY-&f3+Bir6k+>e_Zmkjuj#r^<{ug`&Dog!r;zih_h zzRTE?@FCPIY%T&zoE0{gfge0CHiz_`t~rpr?-*}vRT>A1nLVb>Y`xg5_B8G79OTTY zm_{tgIi}oie894ZXO#q7iyxvry6E{&` z%;mn*oN;2e`DAl$sw6lTk7@0oIUT2K;{$nu&BkAux)Z!H~6vbq$0< zBm}LN4FwF3-4XwcwDO>7e>j!t`+%g%B>&Rj%eT^Xq?+t7BHc&>Ta16TgSNHOi#fOr z`IkO^A(O(RfkqSZ+NPo@Si7Bu(+Wl`$%OlF+^P)-Fu~yOeIZ zKmikx%Q&Q|FQW7>Aa$no-<1Y7G}n2(AQFgt@giMR5;VOb$cKKEO!MA&%boWupB44$ zNvDfuhK*`nISFvAlUD8Y%>C+-3KyYoMI{5u#x|?-SAE51!=4&`Cpc#pX7FX|G6O|15c@1dp{IY|6FStM-&*$V__5}#it|%6I(4=Tf zcbqbYZ6$@M9bNqNaAA7^=^LRLiS(%Mk{w zL*NZamiNq;E!zU0*3_nCO2eVIhjH~6Us#_c4|iocCj{$ioVvOmeCepKIhLz_@MWmy zMuG6agD>N12Zn9EQM-{%4D34Zqy=O|fAfUb!);iSfv4^9B-kr~>~GALSu`Y4KxqG(62V|Yw-JAS9nhP}b<&3rA9M6Hde zwR0F%+esmj%OiSiI2TS7c{pX5*#1Wo$VRZV82YL_fqj^(&ET(L$i9neZINnVYCRCnqG zN1;+NLynzBFPu!*N{%od+$rsrjyZ!>dY(62EYp;6M~0CSPoGi-9+|3BK1G{h86L0J zcw16YOI0>cUH;HCAqnNx^t~E<+HT3yI|iQY`OY2ctjaXUSuF>5g7aF!7b~-6=!Bc0 zLeHOPwE8EU1Cr7|K2n!Oe%j0MaT!4UlBGeSwnpcMv?A^Vb+Vf{@&5T8cQ<#|eQ{7& z6SOA6Hy5Xx6V3e%@N>YuGos>Cuyl&*1MBWq+zcnTIAV1xWhZH)_&4N;JRbGCRMpfp@QDZUAm17B z#+?cuz z&7)d6@50Xc;kZ=(>6hFXk5pU4qnI(RmRpA#)Q7$To9iN&M;t3WvhXHgVWAAWPv!F4RM$ju`M+@-*#M5H< zkJZrA%avd7tcYixVdq3EJ^idNqaI`gaS!n<6N=6oh>6R31gSlu#$=FT+{>^JX>a?D zoU*Kd@8bdd$%?1&b<)4l2@nvD(j)}Z7l^G(&PM_w6Npk*GAcX(75Td-cNhR(_>GwS zEFApTMh_n1B5-4mTPaB+$BvLf1Ap)+>2T?fQe}dBtdcW?ho{o2&@olfixOvHR{JYF z(~-oft|CE*8Y|HbpJPj$V3a{|syR3$EkT-{OlVtE8mYkmIy&jy<1uzlx+#!`hGKO) zP_4+?463&D)IH~H2y!eY?E$1?7#IpVHlGi4r^mDFoK4cJu0LyJ?>VJN-SHC_$fW44 zu5=0g^$5v^zaNIHELJcow3$+0pt!2K{YE|vX%^?Bk;jql^V<@QNn$5BxI58H!@8lW=LeuDb=*? zzO0GGT*EZ?xMg^HSyBSU$*{NZAKfk&0m0G;r-QYb1;s6q2m-ZIC7Jj=JjF<{B@f&*u?(%20Vl13Zky%|HyAqY_=HX}ic*`D`!#fb%oq~jSyu%Wf+ z@vQZM=M7Mg&r1h>&H~(iCeFFXbUc&LkXmF?ZDZ$^82KF2vesbpu7m@I3ZFTQX+N zApYxkD6S(-K+>vFwFi}W3F2a;Rq3xqz2anYQ(AF{){@g;o(WBWRKmFM(Pe%(LeZ>y ze0f4QDOrYv6P`jd?j{Rog%^c9#d{sdWTLRu17pPOVYDA&=vPYAE!Ux}eKmyLj`=xK z1(yIJ6N{ie7C_KWi}{(P_KCM+stv@+5ol3%?2VREg*+NBV4GMjdNU6QX*fVd#yx6@ z)dozJ(L;XT*Qy*P=b2d{^vcMH>2P^7A7o@@Z8O}zg{|1@Dh#Bxsc!r-l;)nCF+&!` zQHR8(M{FJI?~oZiz4Q#IMm(3)CJU>H<8~;uCUS4?R$Lma(DHhX`g_DYtY8pj5Xq9= zq@Rp4!7M}A%As-VrG`m#rKpTER~mfq$x)DCJ-dYGSJCwAudd%+!XC;}Qb54OPe@9& z)_;n5A2xCilb#t{;;`4hVN#inal^bq?qB;?{YADw| zpUo&HfZR{=50E5oVOgg&qYQ3?*2a)ASeM$_-bnG@f3&^LFdQ76H%@;C3PCsLn@-_o z=42ec$0+2Zp~9j=4)VAt^Zbe8J(rvvv5d*~uwAAmzpyZAb-e`eH< zVWgE~VbpNo*z zCc{r4m*8*%Qg)ayJa%kJBkG7F^)W)YuR!RuYNw}|CZSVmbzbv6V@UIIgv2XXw~`H; zLKeG;L{U}h3aXQrLu9kfi|AHwR?ETsv&@T^3W}A17Nl7WL1T?LWv?J4cg?V<)Kc*;nhjDbQ(+>FCu-~VnXeB=E0SA-oVm<>G%E!?jNAzb>ul31?WA3VffUq?;0Jc zVDaJ+cD>%z6Hi%994qI+1aRqOk{-{b?er{(L^k?N=cq%lW_m>k{NDYXd(OZAExP*foR5_v`M=5+xWu%Z5 zDkGm$8F`opm66XG4sYmTIQ%@AH!>NHB{TgC#T%hmX%FZ)NvS#U=t$`>jl-q9xPjLm ztp!q6^0WZTy)5Ou@2lG$LzS5oD!-^;PpI%&RAvNqt(yKcnQ4JyCZv}n6`WHKDxSeV zv0{j0OPmcq`&l^Ij5{mXm<2Y!t*mS?D+=`gr%)$mQ)4;Z6RTT7Hr{zjy%O1o$-A@p z%2OB}t8C;Z=>ah)gfrLbj^?P+o}{6KAr@%K0JWGDzXh%GYK_b0W!o<1u~w(+cYx9< zTV>LxCl_5*pH=G_yLO>?0Q6DF7x%Kpccm;*EExo5Sew+vXmN}IKV8E^Szb*9Sl-A- z!!`H@fdw#rI15CA(oYGT4GN7j22oneIL#i*F`G7_3?GuV@W`^Hz{Pnacy&4?9hdE$GM!+9 zGRb9jn8}E3YTskrYlDfLXwTv04T_(vJn!}TW44>v3AmYZhT2?>$XP#cE@_8_^Pf5yv2Y#04e{HRSb3H|QPe5qrK zkz6b586>Xt<-V`VMu2%OQh7Gd^hCCjO!vh#?)D^ z)$udO7P&}5nuAEgU)$f4IuSfi@LUkGlAj&js12HSJfh2sj=cSsDUbLz4@9D|CkFG` zFvq3Jz1iPDyqVLR>2x?41LVm)NLb@ppWI8Py?fw4WS!IdG~`+=UEtLubb%p}G||5q zQkHQ%+s{|5TOghH7$ag8O%@$vDQdhYtOed%8wnNAnzHCUDzN{osiyWF^R&hZ)LEK+ z%CfAA{>T0qB*(H0J6{cGezh>mMoMMAL}TX~G%~*$%6m}M{+sip&8u{#(3_qou7+^( zfE_#+xwqWTy=9jGui0K=?UOO(CnfuI8mO^6Jkn`aque3aDKSz6wPd&9iFo?d)r9#Ag-qTM;<%kzRADFK zzQ%H+3i!kp1t@dzT$7C!Zz!5^;o)W*PAzDLiM}&3FBkHZUx)LNG0coUA2AG8Owm}b z=gYa6L7`8DV0S619355C1r5|Nsn2AEai};9AvdBO8QML}V=*S3G*$J19EOVWDcr&K zgZ<}SE5+=3)}Me~4GnLdU9cQSc^@Xm=ZOJpIY_g|h&*z4wbO`Q$h(;@ zmVD@P%nH7c*g_kSk*tJX zjafgGZ;P+Zfl?_2keB@HuOcRdZ+czA_H_Q~A;NYtLHfZ`T_l2ntWc`*-F!>EN{xd=U_(;#%fIs^MoIpyaaqjHz zYMnE5KDOQ3`CJk5Pq*CKRZa5dE}>JT<<=hXh)2(4<M`cM`Y48bXFu1^Nxu>(MqpVFOtz}1sYGLD3N?yo$K~U@ zMxy3Ms=M`?g2`0@EhHrA>cY;lq0SeJq0aNhfZhq$z5YF$W2Jkra<*}+%;ZFSI2mn2 zYaeBU*ehH{XzV48%YzLaY!@&Qas!B{H(TC_^WhBW3)dTx>X=P?=|Y}tVmSB^9$m)J z8(dxJx>eXOiWHcdY$p zjHZg)g%{4IYExikh`&Ia5*{H6hq{1cbsvgti)GLII2j@bVe?o$ne6g22)UXUUZtWO z&2a=F&+=f}Xm(^_8|(4RpcPpLv5$qeC5ei;#{>#N4kBq(q?0TU>=M=lxZ$kD`MkWBE8Z0DO1@{ljg`@yZ)QJ2xtLfHOz{ zg#cI^9>7tN{qGY7AAlmbZ3AybJrezv>36HGR=U(WZRc{ij0m|o{_~0V`!;-QwqA>^ ztmt-6E*oXs8@t`ip)8HHGxD}tFNgmm&U2>L+_cwU%z5vJ9cTjU?sMh$kXEickl9P-oRr1^W=yh=t_L zVW5{}iysBLQ>xVyfyVg?fhN}tB3Q$BWVGmAqj11m9je3ZJo4wI_jFZ{&PK2?>`Oa zw4{Iq2Hw7?HM+P)x|a?7L%B`u$Tlt(E;C-l_FWBu_4gcg?4(u}YB!A>jM;U*3sqJc z=>OU!nRd8HQ>vK$O;%v++x`t*?5@15FucGH9bpwbWhBp5o@m08R+(U6a9Lsazf-y8 z!Z$k=(%0Yg>RZ=>H0DXzNGeGK$|ti+2P?PVt?)95=jb6HeQF?cAjw#id$D@?O+Gu0 z@IO9@Agy+RE<)abzB)DR-r`1KM)?WSt>rTuBnv?RUOgSNuJZ)-;_9*pOVEmu+H-i> zyzHb4rpj9?yk($N875Wy;8<<&{P}YUiD+oWwhR=;wKw~D%<1g#)ogetUpol}r#L6@b=wr$(CZQHhO+pb&oE!(zjDsc_P-rg2TjFWyzdJi!MrN-r4IZqD)J;%hQIioldDMHR$=$Mx zsRJ0rk3NH2q>o$>u}?-ej|bf*M}MqarGZ-^*{6Iy!_J@%Qf)q>*Pe)8y60NbZJeD4 zJX#15)`y$)XInKTMsQ$;sDE>4DMsT-g|;-&m`Zp4ZJl)PK8bd)(vcf~8*{2+2ZK~X zFoJC^wEpSZ>t$VJYD=YdnC!^+7{^RVJ}vr{r!W^{I3;Zb#(CR4@4279+z4Qp!YGU0 ztZ)zpR{GsXpHTL1;X{9M5OqDSuBkx*3nIH-aCxhEj>q-G82 zrvZ1cwNc|FQOJggrGRwR-TcG8E{ZN*qjk!BMjASAzjI?@4mP`ra6y#a4{ww)uzi?F zI>gu;7wEvcU_83Hr{^FqI`_t+|7LVcfm-p>u~Ij*4`=$A7=&s3Ic6?EW2nh53gr3H z9s{d83M*JqhL|(R940h#e8l<-gxIO;qy4m$F7x+Am5dGO>bYw~#+nhCn^@5WIco*t zS1!n$C4z5p9ea*b=r#%f4O1bE_tA-9Zvpf|iYbrLBChkmQgC|evjYy(XbGUXb{n_` zQB?}pJO{j^SGZ6Z*09abM!&C=Du~9gOfmezZqupmcsh? zjK>mDW<(j6J`A`8-4pzNEtZC@sIpx3{H%KY_BjI579H7-GYVbA2`H|p%+xD5BM2y6 z@527C_ee~IccqNC?WH*=@g5?ce)Jo8#>e<4Gs0AI|8p{61vv^suE#2nB|dwWeN}a` z*F&z_#FarW4*S|xaxO04+jt@>e5|<%)l3FR#~yp{MZr0Pt+jDaxyjU%mkFAMX90wZrTQoQMR-wE2(49G|#i`B&m`+yd!CxU=2w#g|=g? zn!s921j8Rhy&>3koiG6QAYrRfIDRZ*MQkPjGiG9p1&6v4uNjV|tKMhy?x-e;NNG`Y zR^Y?s4cd6;7Mio3Y#(3_{6UnBiR0pF@NoLl(;S!dnyJ=?h5BD4{yt&F#XI}pw|E8D zhNPG7i2Ynp@kJY_@`1JleDNx0YSBaVXWXIRZAnx=YRV=dtb#Xm1*2DdO1!~wp{liu zpOn4eOZ*?0hAn6%MYCAC18S?2)A4Gk7)+c_N8?lVBdxHWevD`3#AjG|l<0-}uQ#M` z7F+h@0+8tYo}amYmRNEc-q%Xr<1?pp!umGQ;2VcV#>QS3GpvCoG=z(nVjR+)!M93EWW~^aVsv+$au+q_|wr z6z%osL({z>zhz_`jFuc?@R|_|-oIVw^BC%`cO6wId-&!E-feD<-vISTb^25P@<{(0 zMW4gDx;e~4TB;gk#XwGH3Y{q)a3h~u-YF_nD6K_Tu53~XlS^!2$HPoZPYfkO_3yZ+ zl+_PP9ZNh5e4O=N(+*E5O9b|YzT#&2tANW`F)N9CO= zZ@H(%CkM73a6h*88{ZuNsAR+)Ij`V5m#)6z>&ClV{1B+Ssn|fBFpKd44UTJabDLufxl1n3gd>qGdbH9$`PPRA5gm zhabJt;0IiV8k*TocrTRGT6q`0FQC0fI`&(MR4mDVkj0`Jo!h33H%ic z$}H0x_p2)*g0W`PN%Dl6-eJMk(PSH-@WV{HC+G%6O%p$m?0Mb!3BS~eFNVS~&pW~H zOjTv`v~gu(ZPHpoRhe%U%z=>sBkvMYCAmg!Y!@Kr+Oj&;**8>UkJCMd`KH+hG7Rp# z(v2l|sKa{)kN@9Jk5jXOb%5J7Il)%Z_b#0uNb^RDnOVQ-u~-+1-2<_>T?R2oDI;e` zzxC^UD%A~SpeDjg>WH1DV*Z2GUa4^!??w2`}6x`yW0Pc-Ggw7B9w8blLJ?c`Z0w}-HrOuF0Ybfcm626 z9}!YSg|GuceVsd^=3cpI{Z4#2H_jYmP!cK4YpruI-21(P>!AE#xKEjGR(=}cp%XErEQAKO?gvxy{^4=-1rk0Cn;aR{)x%5-qR;~uP@`X)CEN; z{>z#veqe6$EDDMn8!sqtwqugW5L!Px=hB;FP|6>*$8tT-1(sx)b$f% z8dkx6^sUtZC&=}7m-36xY%e=7%i?<{jtyBbIQ7+F`E$tgs;=QDAmV@hd4(O_gP&(s z_$$7|@=A}q$3#W5q3E^4(LUdzt~aWBHqrgB$mWef!1Q1sp(}X&el$fuN{s=ZPK`>m z?vqC&oxt}!yRI@=8Wn$1=q_+w0J_UtHcB3%y--FbycHh)LyPCJLz>)UvyO? zRWVefYbsSJbX;fcn%gcaJN{X@vNNm%S^w>vsYfbeszSq6tx#yQGSGsq8DEEaYu9ha#7s8PL8 z$xXA?oVUwuiE=_zO2%GFj!vh~0=AhNm3zIdXJPWd<;}cJ9MqBT*%r=#KO-n~X)tdw z&XQnZq~mo}9hnnL`~d=HU&P&Dt)K}BT4-z#pcsT~s3SlI;wR)K)f^E%H( z)IID=H?~ae44K6gmq@vWVgUvBQw|?>bYteDjo(NqEf}9w>e8rtt%ltaNYrx*Hv&CV zNf?~~OLT4euzc^<%%a3AA(cP|-Mg7f-sSyk^Yfey!`5W7K4c{HG+D13N$!xtq|Y5h zLk_}7Y+-ERlsGkX2>B-1>w^7S7B)C=vkM%e@(95Q7P@9{kpq>h#6SwFsi0bJZDyj& zeF>%WziFYbEXk{+HLX4?-|8x7>u~Bfx77rki7QC%ZUBPBuP~m&hTxFr5XFKfc4N^B zUY{QmsW#@R10?VGD z{YR{d2F@11ZaOGz&kq+`824EO1mTSjU=Xp6%N1oSFvrz~tblqwe!Kb&XU%@nA5Gbu z4_YN-_CP9LtpA`$F~7?j^wf9zYlA&41_qpd@YyQM2r5cbR%TaCYW%g7b3%J=LJmD7$M{TBXxW(F)5?Kg=+^wMjKNbu*qHx(Y$VYt^ z=_%wW9t;ULQzJqhZ1nIhhH`|}| ziE1-#HwD*OS0OedFV3A(rBGk}Nn|?fN9t6f@x1E_4RlqGHD5s~Rpyh-0tYET7m9nS z(7(pB#3U*xh7?1G6T$6lRoIS4%9MvHdJqBu%&R_(0v}=ClqJd@hnv}NF~LakMSw+O zD?oZAdlYifn|CpL4{vVbc-F^^{UM|GY+9e_?Ck+~JAi@HL#v(Pe8nvVJg(STH-B2P z($RIhXqt@X`ymf)8~r@>uJrU&EchOtwLd-qoy~hoi8Z0!IPjcKQ%N#atXBOb#qrA< z&H4E_?Nc4Z>g=eV2ELS5wp(`#XXU}+L;xO5hfY=DpjBaAZ#7_jF&}29Z~cpNYtyo; zp?au8b}FvRq93Ei@i(B1r>q!!Hkxm3yGA_HU3wZ7P~2(%>w){LsDZ@z+N6Q2!cSkgv*{ZT9*khtlnauIM#gGT zHGx`w?n60lJpWMiJ1VAlFIEkEIKb-9N)zeRT=q;vO}a_O53$*~XdH@mB^MvJtU80T zn7@x2L*y*y+?YVAQO0AE%a+(Kty`wo&BM*RiEw7SahI%EHZNAQ(^DsP;&TboC@?pi z9{z3*FrucY4s+D7Q>{vV9d4^wb-*fH%ly;i4nAbbM6Qez@eP;%B+R#W1jcMU;2?@B zpvT7BH69hrqJmF$)8WVmzmwJgq;)CU0pZZU3};rN8$ON_MtDa_q*NkkHr|Fl<$ESb zx*eqllOz!n%Mt?ANdT{L02WMvs55{uc#(XD;7gM5Cw%0bwwBub45%R+m}-zuoEAhm zj&Q&zAMv{pYnkF?paiHb8`R?8wGdsy!4#C_%iYCGm> zYm;#uR`1kcm}@@Ma)Sd5=AHvQ+=LZ?4u;1Js=;9mApLt}&l3Rd-lJ2!n(V$~#&G9O z59y6ja&)uIDXS9#mrOu?6IAU>g=oiME zOrb1dm#T+_J1IeDOFqJ?w7afM|HiAt-GIEHmnHiUY8Ej$YVSa$0ueWHi4CQ3`Xy#^A>(f*#l6?defdFB_Z=) zyH@QVcW!(-hr)nYg??qu$H^)XRM10Ao3<)LI}Tu|5$kwCIFn(@jT6q!zt2%^6Ls}m z7Y&vWupBL3B8wWjwpC1JCMX!Ysd4rAt6TIJc8a?-X7k=lXvy^B+q2L-?zgyN>Ae~BlirqtunTwQvKM@Qg+U!<%Tb>#qfQk>Qf`-5DO?)fNgf1w?LUD|bM!MUq3e-^P~loH2YTH4Ru?C2R6d(*6^8mugo zTq>98j(pG|)ov2Z|49?jqI1`Bee1a$xX-Pxe?awU2;7-ZVR`%cO@;nlcdim*x0mPd z$F5Q8E2Eik_fU~T&|+&IGBFGxA;8OVuq8?otou!%JAxd@PxdvQqQ`6UZ{7Za>kRK9 zSwtOR`whKp5-*yoCQN4B+u9TA*C&rMCp}Mnwv-aa<(=xD z^Ws$SM;5@(JrLiAXSr(`;;IFfq3fC1A%m*JdNq@*lsC&)pcm9_YA zeUnnhVBxTiNnyz`T|LkG0B(Ta{pd@O2d5d`7M_7-y-nIcvyq z;>4d|FhqCB15{D#C|qLEKKLKI+YfPi7VG4sg(!vS#HQmN8&`F0)pX@!;c5CPGwdgn zw4Nt6Aj9nM6X=ZC9!Qku_h~SUkCEp$Bi@?DCG;yR*Rod5m~Ed#hBUJh6x@16luW*W zMsBzsM+J_nA3t(*mW07O&c9;_Pq0$Q-k5eVdB%gk zVn4ncIoNj2Q*$(j0g9o>awLV3;Iu2?@3mDuD14s1X!9G7ly+WS3l?6jh>L!jQ8z~y z`ZM>Gfagp~i@EQAttuA?8Z=MUrgbxhA?NQwwnfy*X1dUkJ*eCC&?b6;Px*7^?9-u- z4TS7aT@7Qf@8x+huXP?Wh4Zk8XGkErQ9R4oGk&KsvkI6~QBe2!v4w2=vZ0*`!i6~3 zw&u|Lkt7nDbK>#y?5_8==il{`220*rpr z5ga>qJ383D>tb|9XgmUTF0nw+-me0IX?T-CJ5?H!b@kXrXgQ+sM! zxmMA(wQwAsw>E;dB*V-k?vDa{FOy2WbwXDrbm$2Q_Spyc_SN)>{I?YxOvK~ed^1t3 zu;wipzx{?1Rr`GFnDiH_ho~=CN3eWdJ6lI^h*TY+{|IUT@gsXNbDXZi?MuT8>7s~J zvV6en(b?uNNvJh~2-TsyQQkD$_jtKKq{UFVQ-%LMN#706S6Yewk>1!n5ATPcXAZ@u zZMynzIGx_<0#716P|1slC1<~Phlik?UjAnd)htNeMY_4t8f*&v#C?>AizgYHk3lN^ zZ-NaG)hSj|4pcu@Ll;S77u_s~I2dI?xvyY{@`c*$dmdYE*!26X^f9wsr$y!3ry;;n$lF*ibu3pf$gW}rs)m4JvDH^TfnTnP1g zpu-WDLp`^+6&(B9PioE~z0y~(glec~|CCz}L3*lt3Vc?iYS@}`7O8yX+u=IMFn7n8 zg3B}}H>8M{D**%Q>D&W{dR1b4oP_@J{sMZ*qLreQAC8#9q`xM<9Knrt-3`hyiRWs) zy4x&bz`WyTGO4X=b`;r}tC+in9qnBM-M({O);n!QjqbxV0wZKLONfNtt57AXYV(NO}1TX|_GAd7=5u={jOV;VNY#SfjFbhhhe%?X%oe)TJY z4*Ir1rXO9_O+GO86Q_owZLK^0!i6sT8rPWkXo(wkHQHvb9dX|8I%W-ENy+a2X|tC9 zX+``h%$mU7@OB3Dn!xmUTYb?Yuqt>wPfOr$NkOb_>xw&tdRC3aZGpKUe#TFO z;bsd-IV`i1W`h@eAUA*7wRCvEj|JH0MIZRayCHX+S>I%75-rXX0X_(7Oj3m-hkY{es7lg=n zQ+8;sA9Lb!Ah{I5zuVdMl9T}Hc_{mF;EMT2$xKUUmZI!97DI{Ns!F6%&+m>cwMyRa zyu&4(KJ^;{*-R^pyFv9t=bN1wFfGm>Uwe{@_LaND4!j zhjCbz&2NA?YaS#kiSiR_sC>5)@29)T?HYVqUQVN9s>zr7NYt0q1EwELvoh(sK95as zYE#|t0VsANDMsElZQ82J%WZ@dY}<8yKX=*gkMNEqu5NFBcsyH+eTLr}c9k|$Jz31v zUwc9>o1vAOVs8|{T}2uW6-aF@hCpn=65R@Ec@Q88PTV=!yb8Km@WNNOn|{mC1hh`G z_d<1ehY1~GVqG4;W+n5@ir5a-a=z7zb3&)HkFnk{QAQhd6%d3A!7G>1+^J=~9wAg) zDWg<*kF^jfy`62teH_lW&5|)hb;E>B?syzH;vR4Jm_b>v8i!ai(`tFy)2qLFJnI{Y zZ<#h^6go4axbyUw#u<(luBMYWMhJP$)vO#7N!%5+mUv|;4KK`M?WhzxI?m(t!7Fm0 zJgRhU6^|3KYF?^A7<|{%y-?8?ED+xnw$azxnHmg2;NTqf;6jl&iVz?4MMebE3l2>J zW5b844|fd-2l*^F&UJihjhB1A?DO<^}1Z08tto$8NMvu8SESaXYg-aW2ahk7W<>D`CZF^8qz$f_Q z&|(K%IGgZkegG>*c%o}0ZvWH`Iic|4Gzkwi%w$_kcyFgD+KJ}X9FXGkY%SNN?9E4n z5|M-lUUGsOIc+uOBGnLPjmFmIBsTtrR1&}jh6+0_AS{i?D-*D>D?JnN4=4%tN$}07 z0-+xfW08XT#jKIj^v9s-c%^rvgz5?-5Wvrm>6MgP1=TB!wS&S1ZHfHchZK>#(~5`DY=Exp-GV2T zV^G&woaH3X)3!)wul7=w{@oI)u!i-G_C4|FVaDQ8pL@SGm~_3p$Mnc4nS5M4iPV># z4`n#wGZjZZv|p{n<$`@}A^fI!()Y@Vbb{0uYG0eHSQi#Go?DML(OK)SE%OfA@D>Lj zhg#alvzJUctlshUm+y4qylm52=8t4L{e&(;0Nsu%*00mKw(t)6>3#G#MiwlFgiL{; zx7_ENthz@2xW{nA4HK3uVONv2Rr2~dCAE|H>B+hELlnO#u2OHc@^3Tb<{?Z0JTL>% zlzJ#28JE3x!_ZZIX^TVnM)a;o2b%L4Fnc%FMngUi ze)9L;sQA+p&wXg@_6RZa@YR_D5{V(N@D0k-yXqsU&2Gouw(L&BeNC#&?5h?h%vcHT zAMzLU<-Fccu^$k>B0q_6x*cNc7W9}i1V8L_tTZArl{Pjqvveq%d_x=#zg#Ds&e?WR zJ4)v1>_0c9Qk(u*-r!kOm)YqDV=adF4tv0kdQ`1hwwyMs7U|z?m)`b0vWnQ>pg#YN z+t?!dWGdytD_TL%1bqYbC^CGi{49n!w(EyVLG&$^FNwz7fnN3eN<=C@=ajw?HcolyB@Xrjn4*a(3ctM96J|OGtAKATOgN%;sBqP&W0J*GDOsyd z;$C)rj(GZDoAv=emi|G#ineMG)33a#n)_0^5Jsz4uw&a;{^<%4x>Zt<`d63UBDx_K zbQu>5(dYEmpvpUn$0jfGao@IG;Y!D?>bPN}1~GhP1?`O63NMO_9zHZrs@JC`^&c7q zKu|tJ+(m;fu}Wg2<;8uWvNapi!QVGH1VCR}!DXoZrg4ga0${zYYWOwKA;YZHG zeNGuC;e>vJ|B0grXcPIxDMyPvHR*9zvrVYd%!^3eSY26xnN@}{W+KqAebslOaiKI~3TXTSD0-E*eCZ`Bd(BzF%zUpJJ%Kl$;ga_aH%*}xxIn7QF zt#LSI5g}=t#93HK0plc}nn8g|CCpUZp=r=k(npS-r;Qzyv0vO>OMDQhLvtuaiREa{G9}tc(MS(wnGZY zx-Hjp*WD!-hASPPkkphnDvKlacilnnJ}$odfP9@~$If_7m2g~KyVH&;I>hhzlRJIV zG=$;CbnZdh=IeII`$5abv~xRoQVcWQt2LW5<+#ph1pQ7IVLZx&tyi^NQ9QcQ>W!SI zyf3JxYjz-ucRIp_OV&THa$5_1%w#B=J*el6!RqST^bp5GlN4YGlqVRh;!S3R3ph8e zGgax!wp-g*ev6!zun+%K?kz zW9{#GeNE(U(o)l6NE=Llj+0%jyPbkJXx9ogb&FXj^C(@z`x zbb`6ShE2ZNjEz*@7m(veUEp1k2Uq>`z#dYvLCfMwBk&i|h1sC53CEjZ zgz*z(1}d9l_xpKzvB9{WOj_fLPB&RNfQP-~(UE!>hO7e;bH4+nY0iQ2Yr%-aAolP{ z)nWjElNL1XW~4OXx}4^z_f8PTAd)={px=Z^A+CHQPIX*FQBqxCJ|{=6-W~RlVLJM4yA*h4As7rbh29+-_G;v}y04A=ak4RxQ7<$e7c(zwC=eL0%Lt^z1hj ziGi1uR>E(nRn*rJSaeI7lj!Dg#}8jqx!`@a!*pVYkc)ui_^-nZ9L@{MJXyPszcmLP zLl^AW?2-vAwf+N1t5X2_r0)y*wpD*bzCx7>sU5~F#x4l3}36J zkD!IL9~oju6obdeoc6ZwJ|jND%6HxXb0WPf?x6f~^9`g0@xgqOKzK(`<$AXDn;t-! zy{8q)4pZs{^YWBKF1Pa z9KbKE$N7o7tZ=9Rft34xg8R#?JQO|F2TH0zdOspa>uLbAST^bu4)lz#W1UHk+U-Vo z>_s0-j8(3aVowZ4xqJaUp5=vgToWq$LK?r4*HdWB&=Jvsr1F)rv3yO9;A5DO zumghfY3M+=kzP`4IjMysqTN%o4)iN8_5t`oi#sn(OW11j`rdW31?5E9lnlw#q^Q`j zM$1UY=ppH9KD4guy)qPHPWIiDzBoxEu!M_jC@MraU`Mi1u>fu)zA{ymMAsQJiJ9C| zHK@D(gs|U@OqK7IaIt54ux=!VpJ~gZ?0QPt0)Ahm6P+2VMh{pJ5!$`*YF))CYuUav z&Dm2Oa^6zOl= zwOuCCu&nZ@%wj_%&-n-*Y(W-je@V$HSgp{%Wtd^E>BGbo$A#1?JC+_~yo_7#OLP!C|NGQ*tb zn+jjD2Y}SLr=lT7BzAs(Ysk41!-z2_4R`6nb{y_3EvzMonuu3e9XIq;>gF@C5IQN` zd6G}{D3?^F`}?SS`-V=`oL`;0#2D`qO6;_CKN+RJy3}?|O2lt?{4b^Q;y!+~s&eF6 z#?#vP8hut(@t{82{8II2g{rog&NLdQt{Skb9}LWU=ebtXzr)tm+&SSlVl%F-BN(Cj znKJzUL_QD8gEskmR$w%I6Ae}4R&3^Z<&wL0D+TG3TR};uGHq}V@B=D`{LMSm+Kef< zqJ!{lZFTvx7eO!69ok<{(XV-Vf)_ea!2bNod5f|aq;9;&Ioz7%u?ja0V+_Shed9VC zA9?ssRb~};##GdbNJ>^zs&Lqc)IJ@dlRHA^I{do=h2ry-+!FO)yOrI}Dmo8n$$hk4 ziJKFUdB^T2c!?9DV3|87!47m&Z$A0`Kl$U1Pt3o{Fw2x1u2FnS4mcd#8+;;h5<0Vr z(oA3V%Y!=rJEY0**(ZQa+ysY)l|9sV^!S--G*wD{m~ z89lADDf4pMJ>}rM1J@g~@Fr+XV5kA~t$?YsOgepo6M4>aglh_UX9!O}_FM&+Ev@n= zrl@C!7d|C^lWHdfic8?AGj3`X&Y;L~wytc>OTpIYH>Cs7g3!vz1oCfd$kQv!qWika zY`S>gW}fFj^5y8KXL*s450T~X+QZ2oCO^W+MS9&~pPRwmUQ%xM^BmQU<7m0{(Wr4fi(<_T&!z`+xjWM6 z`_BgD@RQ|%j?2@UD_~Pa{ut8;AK@3<;Nenb@9?w@q*uF!l99%2dX)PN+y;Q%y*waJ z#{+0%LLgVXRViDN8k@PgBy@^egc=Io0lrxDNmYBI8gvWEKdkBYa$U#J;Zly?w?Q?y zV#zzrh|G`BY0vHFl{zy5cy&3s)VXLKN%Xh3+5CX>}ZFpSpCqeP=f&!r!6&JG9@VtbCwaDoKc_NB2pk^&83}*#;l@4;?kP zM2A%V6W7p8GwIK0f`el*ulwLmMi5I$BWoRhG@*^1glWaKZOX2$H}%>)-Ug^_QFmSA zkA^7X`um`zs_>giTGI+_HSBFbEmVKT*@;spN$IgUklt25DN+Zjl#k?$hkNzERk1?P%l=`7Zp@0ax=(xgh+sXLFzGX_IK|`ihqd471)r|8C z17j*O#jn@CkmUsZPE@P7{7_Kzh{>FIy&CNvi4v5KbvHFUQ-u_t6mXM0-_uV;E&_b{ zaAMSz1M6kVW18Qm94q_s1BaUeEp%Ay$k!?<{aahrG1lb$56imv3}wdf6UkoI1g|1I z2gnLd8O^{YN{($u1>TBY$nv~j{)}ly2SvyiOp6wZ2K%3gk|;bk7hrv$c^|ebjB0T} z<3<|M(esTDfJ1zf2D-178^vyK)ztJKy+c)@T>i-m7C6Z}rAeh`v0^a5^2~P%tq{n? z7TywEre%85a4m5{7PYOY(;d{I3f*Q%Qh^WJxYXeAUU9R32E&}#uB+71bMDBGGKNgG-ZL%2-)5Dq$1)(LvRr130Q|=1T~6w_^iIz)17f!T`T#gvb!Xgj%U*wwb5t;;*Y{Go7`` z05L_xj*)BUP>OO_Q6;mkjO}tMSMzBHAJ1?gLe%U^ii{yt`$yAmHf(=CymN)&>hlolb z&XC&tRj|rzD9>AAA*DK_Vg6;uR298J4SPQlodQbf_ZRf4_erFRk1$f5YqDkZBW!Gb z?_-Ra-NMcLl7DZX^#_N2I(sv`qxh-O+sk`I+efPWG-pIK_kI4Z1UyP5CkAZ!EfB<@ z2YD;Vf-($?R~x4uVJ03OpW=&)9ST`D=Z@m zMYPJqQP?NIgyM*hd^g1)oi?9%q)52rK9PLG|T&w&;RKisMOzzEjG7=thF z!=#~(_~0D{D3q4VJ3Q-LEjgwRW4r6h#aPC1qe+RtBSdXT8LGXvz9i=M^N?w7>qL>0 z)J*H=P-gyes;`^ii3#0+d|Q%^m+0vIEAPSKbUxz zv~eW|l31E`y}##Ds8(Y&5&s|^?BLW>Q`q4LJ(Si9mnU1`km8FI&Aa5Jg~l6AGo(sC z1!ovg)#I4AX^pzeVpsG2HHK|8u171$c9q^N{MCLfR^fF>4?hk#Wkt9F#pxj_J-$|U z2KE0{_Gogew}x5tkpk;Rt1Z1BMrc)wHs<f0mJ>iTFsdZ7`Nj=ovG#dJU}!OpPhLWcFCpPStf?fo_PvjfHH#H%7`;c*PY z^Km!!x^_R6$XL9U7-|xjMuz~yNCH|)SqHISjmBiKlk-UA@)o#~>#?H9h-2dXN{&J* z))L|$yQ;*EqunB8eh*e8tFMgS_Wpd;w?`KpcM!&z=IZra$ zGb`+d8}NtY<7*Mb6v(=Bgx5)qsSb~1KmxCu7P-KuD z{raMHQXvucO$IQ8=E(gcxLAaGZIBae6-5yU?{1i{=_y4$b}C{i={M}LSND=$;pE7; zaK^3vuB#3GHNAfF@r405ZMCCd*^&%>Ai?h=oh=@7EnmaXTivz~HP(uC)|+fKPeI%* zy6Ns$eYE+gob-s-y@=9?@TU0iTcPZF^1Bv4A>BCt1jO`I7Y|?Ph<-WIzN{NZS-a?Z zA~Zan+7GKESb-7z>m%n~B3nMjuI3qzH-8JP#f^=(34k{9{EcJt18&;uN49eL9E@S% z&UYP*n<3WP8!MsxMrW+l)3mGf{iav20>AhjtX-KB?31aj)IvV%QnSXfrKHks;1`J*yVaplhaW@G{PO1LL{LZ)iq~F)|DJHAX!1ne; zz}gwNVZ+r_u8LJ^oTzv->* z7O_1MQHEFMImwtm3?a!Ds#*}_^IYj69B;&DBx0=%XylA8NWNBXhePmr<7bXP0x3f| zp1~NAe3_t#NWL+Shr;hTKl@`5T-hLuh=fAm^9Y0vNN@r{+((ypMg0yW6VoG-S54lI z*Wnl{aezA$owx(>`SyJ``-Ra3;ns{tqI*tE2|`CdfOCh4L4|W?l?3UG$2&VhJ?FFF zgFPN(q0+<#@2?SZVy~`k8gudDHjN(|s4JdY98sRXdO8s^PmA)%XL8FB!jS`TMXP2h z{En*)f7L}mMmAv3Km6=6E{k(md)ku!y88uG1C?=Iw4`3RaukA z9l&I)WL$AJ2IZ7%VUd;jTorcyuAag+bo{cCo}GsW;=%(l{}bkAl<>VS_AzF=j8VYt z{&0Fa$sga++Bysu@y6Y_Y?4IP<(0V`hDI^6`G4}fItlpwzw5qBquxII-TeGJ+vuU* zR=qoG^}Cw#2S3F5zbRTCG+$N6@Q#M#`K>z3hBOo%&&HHg!Ma7P6fr?Ei0&jGx?BR~ zh^1LLQPrI@gl6Tfbbr&XCSwYZV*+}*5&j*<^D5pLVp;sZfm3tY;ksPoPC6d`wS?AUa>r)KetcTEYFrK7=yv%cWY#PXg`>qa1#(BNg!=R+A}#2gzK^0b)IQHhm^(2TK7 zx~8o^gqBP4lO`-;mi}7VY$0@Km=_1@-B*VBKAzT8?_X`Jrpx@8A6< zlZu7-7;dShNJJs&=OR!I%DWv z6(PqAU8}09TAXE(hfwfnRqX>7FE!fYRr?sY!CUEywRQr@qJ@NBs#dPnQHS!G`x8)uQ9df{r-?y}AaOfjl@rgYw}XPUwAN2*qp z*1i7m0lRa8bs_-#Ocu9zS#6T_OUYM1^d?;kzcB)I?fm~0hL$R0$o>z)&`Vp`mp5TW z@l)~0;z_m+urw~x3xEJX5J5zoRntzfih;>1wf}=S6j)rMttlW#u3GITW4K^iu4(x2 zag+vYdC}{-d4oc|K?IqwySk+sGoupA%i{kY=MPgEY5m{Ep?8&^z%+*cr9FmZZ;|!3 zU&8yGz>C0RUS9NQ3)W1zGL45w08Y$X(|HaNd_~M2OQR+N@|I=~$TnhA>{rGl*=$^V)Yf16K?}?j%CYYa$LlYEb6m{SmGS@5oD z)jqPqshQAC`G@N%?LV#0Ohr0bP|x0NkBUM>1CF!ubDR`r5kr-EA+NRgEP3C&Pf87W zFK-)=Cb0s&_gYSnB9s&3xtg$dBX8MW6ZDWrkF@U5M5ydgSICTzGq~9L{L|kLr&V)QPLGSPVD;!^wNLUCI3DtR` zxE8h`;s|n3vDLA{Y$U+w6%Pc;9qbG4v+glWm5ZEpI1Trufd5mWezzBD{Qv64mP&QZ zDFRf_QDs8!<&yz2em^yWb@5l+Fe5sYlpO4t3M9`AC{6Hy?!Hk&yH$BB8w54Yo#^$p z=$u=2iRgH_$HOyC5PmQ&?*WUJh;c-}Sf@&7=Vjyz+XIuZaV4UBsqf*6e4cPY;tNG* zyD|2I@-uRC<{aoMu8r{dkKjIuHzqTv!pvDuiDP2yBapIJBXET9N8o6`rvCJ1LH=LG1->-; zMT7x^Nc-3D77m{(2^h*yT}B?29xTtv)6c5~E0AWjy8~RrwUkroUckWVj_9~_+!4n? zH3%llEjo@}WmQqxy|~_ZhNN;!~R>V%EPkEBA=cxCX%utV? zbUlzhDoV29r_yJ}OAYxn_n72{Q;}O67jwd^%B_ruIpbC3)WpWFcvd(yvauCa|K}z) zBI<<`ksE6^|2_3k`h>?S7d+Z`+(+bJ!qf2YLKUuligosM3FlIY4D9F`E~OZOX19hw z(|Pc#Ox22ttqSzay~7&8#vD*ldibt>Ol>T>l#%luOiQCil)#6gS#ZkXqrrRo9kHh; zgt!Qt@iQ6rJ3yQlPmB)jR||^SL3m}5JilaTVXW{tM|I%&Ax`cTSJ3v3-4rJ0^7C!i zj8?`|>`ir;yKCTv9N~ftQ#*>iQ*`SJc<1f?6$lS8^T{i^I~x5{F0;}eIel)+5*mS8 zBh1xn4c=@rPAJtqr%&`5UJI7bU(@{spmbc=$w!PQ+Ek*e{QB7C-+j zjw1alj&}B26NYxo-FUvY`_7X-cCzqMbWt3=8v<%dvQlrlrTX4F+W5J`!?BR^!M}6uX3Kxy`Qd>lUhbP_ zgiIQ?t8y5c0+c41IHHBlo<*?yv)5rr=;OdMswa|zIZHu`C_A#{=X)-mz}k zWc3JM#wKP$o#`E65}%!E7v7r?WcmxO;$ozT4G9lu!q7_Kn%eOdpOo5?#dsh0?mpRA4>xH2 z#sjyFT%!2Dcy8%Ag5*h~r@EUFDcULu5Y_Be=vzp@@;o4|J94AXKk-|!MI$twvfIud zx<&JzLkafikJTc?Wu16%_O#NUeHPPWw%R<&y<)2jst^XBuwTiKhOcS7!IM=3N$eN9 zoAz7oY(s>3BiolaV0$9EU26$jr9t&mi9rED5kZP!An5L_+E45k>-0n$Pwa|KqQ90p ztWtd#Ti-_10P--)7_mXBTQQ=Pc)0`7`{y4%4U1j5!iOZnYB%#x^~BtEuou+XRHb_Krqr47+-Y$wZALz2!wo z@?vPIx1<_J^z*oTuPQ0raiYH9#BU9x(F?k*E;L#Gd4l7_joH_E?9}N#!*AYqddmie z`(^izB`E4uD)IF4oE)6cOn@=&sV$lxmI$veQ%qxXfu) zOZ#m$q=Te;7RQp;=m?;2aJ`LvWPGP+e@j)6Gt?@|1kS2S&W9Q>jKaYI03VsgZ>nZG zRJaW{#U5>`RM*%|M+`KDTjfi~d3UD*v3uxin;O+US%Xa6`io%i~D{ybcNPPX07-fo_G08eR zb|4#bpOAnYcA<9XbRA%MX&LdM1T;J~t3F3{v7sgbwB2VrlKrQMvnAv0k%EGjS0D6) zU*61!fT|1Qkt3!QhcYKQ%K?8R7wI78b_edP+A8$Wz|$)Lq@pTi0?*8yp&U<|@dS+) zo;ejMvtv`LsbB-6>MZwEdYv+n$U)l^==lL9tts49 zm?JipQpka;UBW>dJUoNfUQlpy{!Pq-bh6^_Hs=hRWS&?gV0$5lD!l zBRpq1&4`j?Tu@%cqboB6S9EtLm|>-id9FE~td>C{eR4$8QS#J3`=v?|YjY5~c2KLwzhEEcX)PK!tF7!G0r)@mt<$E!{ zmi%EfDHE@Zt@v>?>Dj3pJmG^KO84>>*7|U%s8FBJ_>a9mx2E!61GSZ4_-oBZX3ZA) z%vLZ+v=IZ2oSmJgu7=lBEu3AFW)~usFFyN?_~Pk-u;%mEckDznBs46^tPXceSlT$I!@)3gRSOY&+pRm5 zqJVY7C>Qa28PFn+uuIYKdl^!w3|!5Ln0-u532{c<=wJtuMSd{wKN4k$r3a1(F-KSf zf~M`YZ^ayhR9}k)gajx<1p_o@br zaL(8?Gqh8Xu^*3PT~aZpB+a%6-mc;FY+&E3uAOI*72rk!{L`fR*#ko-1q&huy%wGa z9A6HTZPoD9aCtbiyktp4NDNN(@tWH#z^Blwkh?KYw6@i(Q~{ zso1Ne>>O-RbdRW^KrCvj7<&D+pZLM>klR;k>?p`0m0CQ~=sz;u8wzMmhs#M$6NnI;-ce36K0xz29OKH5C z_Rs0f$sL*DzSCq{*Xu+3Pg{6@f2hMUg0G&O_qKog#LQlt&p(48@P|MDLAC8iB^)hISjaB=V%upRnHa&R4CNfQ9YPm*5p}d{SD$unJrJCI z?-NnyXL9Emp?x03UNYe7q^a;Kyi53zcnWZ;KZC%iqhnvGjaGz^Jj^CyIi4oM5KAhYEZaBfbScp5>lqhd9mm?a9x zvq|d!8`AbwaPDkC3}|6T_{s1S!06E9);Lgkp((ES_1%mIlgi_9eymS(J)>wAqYY`W zoX~dQhGCF{3Hb(QSLOwc-~yWG_Wo3KlGEW4`q)T+?k%wcW(QoRL-#xCx)W z$uQ#>sK!&5NXz4}5Mi(GTBz<(qpp&$^G?br2;m@d-lM2YO%uueT#<2Y{|HZZ=cm#Y zcYgNfVp~_Wx|w_J#->&ECPiU`uGOT4?r_d=Zei(7JMAIAfx-4aK%iNbi@%OluCr9d ziv8o-k*Wp#yER9uJHk&}vNVPx-9|Ffj1j$b2GixsbS|n<*LGRT^-AG_;4RLY-EfQi z`J_{&N&zCRVoA;#x57`U+P#XldHG4YB4p*CkW@=78yiQxA48+tYvDYN>X^=qd8AJw zgJv#bUXz;_x|@B(4esqvTSu;$I$+Q%z3we5355X+QgA8S1t37()$4HIrxBk5|6HI^ z|MSk7Km&#afr`QEvT##h9_z@VR^>LSbBP%)S;N~vkruTVa@P(kf{WYyg;b-OJ^WSM zwcL4gmEO&D3YtXxz10&dIJuZR@{U-ihoDGIb<$n2YpKiN*Bnv%U*{t`Joks-alZWp&rbj4tFtDX@UJ*gF{-^^#5>YWga*`rcv6vIz{ zPZoJUolc7_f;V1bbm|(-vO0B+L9e!76Me=hZj$PCjM$(v-bvG6-SB1Za=np9;_5xGz*Qe2Hy#0nj-^NwA%qw;*@N(GWPf}U_c{qVB6CH^vRy1Kw zz460j-)@Tm6)u%Gil!}JLu^=~G1|@}b@Bm2UF#}-5P8Br~ zGuAa(rEqd9tSDHlDhv?={j0-BTaOXN=S=gvmR zHWx4?TB$Slha?ic(v2M%hdS+a#E9w&l#0MO3Wo!=-a%Uhmml9d!>@rIdq!RF$z>2S zNY3LZJ{)}PQR$N$0F0VKBB!uX?Y2+v5tueDJ00ECAJLku*cS4S+Tl1s zg%W|QaN9x`j~M&J6YdU^*}50Dnz!19z@qxC8IP9PJo^(d6X};*cJeBzH)c z7>xNEj4ts)SP}_7IeN)fp16=({N)8s?!~JG9KU3y5PHIPzmIDuVuwkfHB>|2EoDsb zHx_4uS1cx5a2{-J0Vzoe6PpjPkjE9QJh*}2wXt**IxV{*_jqc*oH3=61Fzdv8k z4HBgkB~|HhalP4i&}essB8B};w3cu4Mnun1lJUpF*?W`z6aPJ3qZ7M&12GIu(^FodwZ;IYmNV{D@hhYdeJ9!DFGQ5f=NNac%SH*2VrXbiwUB=rY?nA2l z7*W(|!yySWng&c$U+{sBtXXozBa<#Dq{MeB0WQm2V=($>CJwi3EG5364)XNa#vvN4 zrILKp6iB!h(mc~=O&(GX6qF78{dDuT%&BsiY!fWjvHKAG0>F7(&DGt8NN9ff(h*UZ zG}f|${3mfvh5pVbW;l_t#3mPa6$MI6B&tw0B@K;{muULy!4-5rlvi_H2i*>S%onrj zO^mmyi95UX?!VVcLIv|4?Po9P(UH}7#EyJTSVJ4h?_n+T78-J%RqSVz0&&5sHb}KQ z1&kU)+2?D1$Fl^;IH&@L>r2evs@}Jj%YwbDy@`50)xj!Jem^l~s_kvAlcf)u&*-Yq zKZ5vIgu{lQNgdaUcg!|ZMOPnDKiBiU>Y9qwM(WnfV&Ke_RP`f^TE)IQH5sv*DCVL(GQ7#~ zq}%JL3F#GcmPxf2&;B-*|n<~&py$7>Y`os)v(d*Her zM$1!($!kD+I6u$#zuC5qDeJ6ip{>w>#BoI<$|pr0N4&u^Oy*fI=7uC#%q!SWc8Qie zgY;cZ=XsOvfmq77T7CXmPiu0RFAx0y!u#t0V9>42Q?X>-*7BRUE+vI!0`45oN5B`4+qk3dSh!P4LVO| zcnSho^GTv85<++6GvwjF0xHp~5DZRClyA=Isr`oZg&lo{7T<*aUJtLugvUlEaE zm1Q8}(0p9|qXRkZyeF|OF=C*#Vu-LYiw);A z-r#A8EQw1U`cby7FY;pSFhe$4$0ze(=>8Je-eSz6*g7CWfc2cw&ZR}}z|Q|s4cdbk zDRZsf@phD9fWeFBH+4FTaZG+iPJ$4QD)56wO4;i>vUqyuhf9*76yjN^Go2O|tjt6w zaMO?f?2csByQn2eu%D-9=jgWh8Evpic&t7#phch>tX6=fG8$;%7S7Pfl;Yf?mLx?4 z;a2P%6}mUXBM&r6#5gi6N4P>yTc~&Pfk%C|)V+<1@|8Vm1VU@Q>y_&e5P1XnsYqH% z?cu38v-;36V^qV!g}w_hpB+~dt8ie@G7OJusc#--iU<2MW zfC6G92~iNr|41Y^7i>K&ec%U7RoBeyBk*c^vRl*SXXZoz7EeM2-#5{XO-y`vM~F2( z8FdX&a6F#R9d475TQQ^Ue)7gAhew%*rtsN92ysTkZ!fyBFH z>GcVVcGsbyBP6M)N*RC!dR~1YP8B)=Ab#=%T0`wGcw@gqgjbc>bWWf^8+`~&rH~%I z#7Gvj>lyP#PeX?H_k}ia=6H?BzvIC{F}mLe%mO3sjwUu-PIGpmAqf5VaX4U`KmmFs zADFlQX#X8$@#RPaxtP=s&v}ZZUwtbFGwAAlKjZ_mumUPdeJo5-P{27F4@G5HSUoL8 zXN(e4Whc@a*O52GY7--q;kqZw&3@kPxn^e%^Kn1gT8_e%LQ)2N>a^25ss2ns9%m{8 zo^wdyF-TaYAj3*Mu_!=M7C>I7MM3u&kw`QGnzHjOu#m%dI4{E zi(C)~1?728HbX+J=O@{n6P(0Zaa^R)_KGE}*6e2mW|eJ8(D6IU%sjQ;)>+Q^fgIIN$>|)iC^It)j z?ma5knX<0TdKc>-Glw^U#tfQ)CaLrnD=p5ZlwuWXm5c0TjMRq#)3=RXs!%oaLMID! z(*){mEO*7e^i`}U0sCSTa0`1lV<-$B91611HNIF$-Y30io;Vph+zPZXWKurD?%*0? z;}ft80H~40WtQrB;N}?k7+w;=J2H`@7h>O1x&=$unqN>@Y@TN8J}`}DNrWVNsJ#Ku zIkaYDMUv%@P=JmD#UTtvg&~ej7*RwF$*6>gd+KipH_e zg|^YI)Z1N42vbEC_2GO&!(<514G6y;Gv>sWwD>+)@kuQ)3>x}oUaB9f#MY;Q#Mnp< zV6%o`zagU%gJNKg(%CilXC2+nx?B6xEaKDThTn-Rph$-*k-3yAEA{+%FwfTjU}opB z6hNV#@P%dbzSxF4!X+@UqsHON8zzbKT-OCVe3x}r!tgf_HqjuBa{_2k5@!Mw@U+-A zN;lAleUhWC?6Qr6h>>gQ#uM1{;=ZRr_yWcv-?#%>x z-0<9vqq*R6XZS>cJj^tQOWucxNy-KI^eRQPSn>|fORUv85g@fZsB#{F)6fc&n(NCq5 zr~wFRgb;GN=FFTSe39w1B2>#MesmSmp4qXCV372fUUiw(PF1x;j(joTtwM;N)tDc!gS9m%= zO8ZQHAYIz|#4|XJdI<_`Q;Zr9;ki8N@S*l+^@4LFlb5dLMrHwEPtPA6+)S}^gphOA z`<;6}UFJ#5d(sx3xEvlK8uE9yFCiMq9z=kMcL)ht%5pxDV!yE?&*2g9mF6e@nv5|r zoWWL*V(vCEtcS`arJ&CNmu>l|vCv(*R=u&Ry#Ka38%f1nm@};#Ux$1+Rq)$~)_6n_ z#w5*VXQzvh{v@0%`E9_vAs<+9a9hB~)M#OGfgU8-q)DGs4}( zi3yWjo?rxI9-#tTo?DQ=!h|22+h~O;vrp-9 zy0OE<=Z^5APGHLJpT`U{q;Qw$@{-ROG=VAdQZG!t^9Uz4?@yal0QJm< zt6cV(eir+t1aJzhhKXkQD7P7^%qRAI$xOSbHvDVBx zET;FzP;t!&*S7m$!~#Taifa(wj)|{{^%MfR84U+lzVo;g$pm=DQjBew!u??}f}(4^ zqM*`xe$Qf7r2pi)HrH&Oh|qT$gSLxXSb_{Ue>=-NL{dwdVOlLGAVM=PYbQi3c}(X3 z43{-qvj2AeS6?(RKCk0wCG9c{f!7eb*)TqsH_tRE?Zx4|FqZB_%uRzLIea;4Q71*sagz9pd5- zCogtKdMMPLk?=kIy3#`^f1)|sM6$@fw9X*Zk-U)Ymk~l&6)A8=e=gF;`l^mqOas~7 zzo)NEGJyE_v-VK9QZp{nU7mJ!3<*czkhF83R^}i$IH1dfM><#vq#43i+f%(p(^r_( zxyp12U*wry5zF+DTt`X=FaQdw!=$e3Vaaimm^sMGOU`IOK-gHE3`%dUkyGN`U$Z@K zV6dy?zmXNd(4ZF_MRFkrXtt^*#su)1(EsA5BKwtH5@E#FEK?qf#^C+lm&o{F*7ivF zw1JD(Xfjl|17)u43R6h?&_y){cz4XLh<(e~o*Ws^+gbUa*iiUk8C?-o+upyYuEGY&lntvWAGhhwzm65xnGa=q=X<~Y(%-anMk3>m`+@q`xnB=Fch zsy&4l(WsnO zXf=sfS^$j_?-8#)dGs9Ns91QgCHUw1F?7Z5MJ`8r2L0hq)mmJa^C|d!?(xlPbh-?t z-|Wewbm)h4 zoUh`|m*KRl*Ie4JpPIhYYX0nQ(kbgJwmV^unJ_irO*b${C=YS)o~_|vS923*j&Glj zv-?IEh61C2@qJ~)sERBuojMpkHdm?i7$eH}{JSnVgm3e4f1JF)yQj-n*X_CClba^p z67@4q&uACpo8#do+;n{7oLCJ%}Fj*fEn>uv&byn?IF@WjO+MTx9RLWup#pDEaCusvit#E2S8!`3{cV%a& z!k3ipFAe(X8!n8W-!Zp@W`BYJH`CdBF>BT)per!RQbLuha6XQ;v1fQC@87ZMj@9X3 z!so$hME1YG@m}psjyg{T$h1emY(rM7gq>qO8Qa0$Z_Q!P0+8f*R5WT*QGYpzIZ+R3 z1O!)GtJCz6@BI4=U@F=co$j=K^WnX&H>ds$;a$C(5x5xVAaH>KrXT3xX-MV zh*{j+;v&OlhT_VJ-Gzou5@>*>LLjf5Z9jr?z7I2g(dImhU0g-EAPrbuwa7<4&MHxR z8Zm@M>QwP(bP19gaCO=7Vt+-|>GB+EVl0p8xAIADXXa%c@rS@O)ACAo^U1UFMyS%`luxB zCDq?b()=-^4|nbpsz+f{i85DbxgL!2t}m)7#uCBOc_nJQXheUUq=hnv3un;4AFW&% zYLi|v;Z-gv=Al-ldov$WqY4=la&Uz zut`II%EMx6o=~F`y8Dg%d}yQ|6; zDc#y`RmUvW#}mn~H|i?+Ps_@l(g<=*M=z)O@5&7!-Ylc*t>tU0VoyC@axu{=9S<83 zBg3u*A~?B>U3)`u-;(tZz#^9s`TBCpULNWZTMP<7SPMmlqCtC4wfcZKZ5y;bg{4O7 z&cM4RHAyHcn<=H=7e3pb(=H$}C3E9V*-yk^?@7|J`ltXO0IYt$E{hw+Cq>Z3t&3MP z|6olrgagR&6Q{j{aROyF%w1vaG~%QSBU?M9)16lE`wmxLH;!AXAP-QF}9P>ojaVO*uZL}{NKS}@^KYGQh6 zcN4OI%>Jqzz5tJ3lgiLIc4p|qE_!u(L{XWrzdUH zYO6#eLDq9jOU+OjOgATC2Ejwosvp+p!xY)=mA+BID z;^?vQS189U29FvIvlH@A@AEj5{$)FIYd5HtG0A+A%ljBeU3duSAzDWLA^LSQP#w73 z_HJyA%A^XGds2X12^J6SQb?PmTYKOrPccAxacX}GxYn&RkjH~FfsQ5=!jXE$7AIx5 z%z2*>Sg_|JX%uOS7v<&p zj~u@<^T+!kOzg1p_xlrUscxbw^|ISv)y_Waxu-P4XW^`;zXXlRXAITL*2h-Gy0Z4U zdP{8?IOUK1P)GWu!wHL_w@27mwfqhq%EG73s~EG6u5G$g*QZgTxbUvV+|IL`oVUI> zaRzR9xW4bF^Di&0%W`%-82a2;(x{K`>6`D}*9Sdgy&k#z9^Kkg$IIe8v;WYK*?fNe zRm%|P`rKV{j?k~m?(J22y|BHnx8gOvv76{qa7}{>{+~CAsk)z@@88nN|6(+oc6w}7 z+h(1)lBIe0kX9t@?r2nPuTh=DFld+FZ>-_vB?J9CfIglic)ad_eDt~|B(~5M9QiMH zZI&Bt;EOwKG%1SsR-f^O*AyJva-BLfN6?tqGYgl8i|tVYw!_;p^}qsT!@4yu5?}a^ z{oEj5pOLY7bMJsHCe%GJ1ApHrR4*~o%zb!;9Xr9V4jE&%L+f5J{{|*#0vk?u3i8^k z$1>+J3FBV-vtn%r;+mPaX2~dps?$Giz5{*fA3fHc|DpjNA3`#2jSi7y&JNTGy&OmL zmPneCOJ5HW14b#%E4v69gAutSv8Z1yeYr#o>zdJaNO}5s&w`nr`-!162**15^9BCx z!JtPMz8{3~`&qk{H9Xeqg4(I>nYHuAse z@GfHR3SO~d-XfpJ1eK^^yFA?*){mI*xL3r1w=bJ(1N52I-G9XgAKY5ry4*c0tKb7I z2>-tIn$ISRE#iTP_G9u0int5~0OP{j9s~{oMGkP6 z5O}R;l;LH>pO0T0DdoT&5Zlgam(R?;9}MwW~liOpkmN>>`fz=AXkrWyAJIb zq%2LoD2&>z;kk{jN{nQL23xjB04p?#4q_$us*=%uqt{1wvO4|F0dOw(Kbz{?u!}a6 zUSh~`Z4n~aDU7r$R<3R}w8J{)qS^glY>G(nI^y$&C#2l=agnR&`#B&*0R+< zGieV37zX4Ku(K2xKwou?^3$Hl@d04jc8K5JOhrHByxT}SpGK|9tDlSV$ ze1|}*EY@VY8CHKi>4Z$E_AP{v>v{wIAM@Gkseh@k4r2?U!1zt<;6KBR-cX1?3CVVDTJNJOLB1B77n+Bgg-t_6j;W@PmxyPVtk)_Ok zYJ`28fPDc0i*?0i>gB^p<>JkUHb38aAi5Xj|K)JzOb|K7bi52F-^pGzqTVE>cV$Ak zHiJ9XritS$S~sA9kl6yHNMz(LiK>re#3R}__$ykJAXGJQ=2_`8GT_+sog5hMRSEn# z#;J-nVh%kCMInum(GIYT6??LYbT>D&=MqcnpOVt1Y@<8VY!uxL>0;K>@GGOzj@k^6 z3}#64^33zm|1LUwx<%B6a{7Jv0_uoQeCp=dHpw<+c$IoN{UA^DMTw%B#@f{>F(6Kg zyxt5Xq&3}o4Sht!PB5170H5cey53E%Q|d7;Nhf4Z9e7L z1FN#KSEF?`Y*5N5?riB-Lydmbw$wgnA8lqEYGBz(2v|8=z3m_=HH1t<@lYW&xYlaV zVTXPkh%vj=N@}Q43jl?MW^`$8f3InBzwqhs?^kg^pqiIuO^zGZihH9#*74jbx){+0qAb9W+PURKUqrO#m;eCW9Zsj|G( zyPvmOx~<;Bj7C}cb#TyzVQ|`(sIadpQ~-k@7d*JrT>bS=0JAbh#WWrZ&i2ZYgbl4G zgjz-i!OeNm8yhraL3K(xZqt$b>T@2<2-)!%`asT!M1I=m)p@Js@TUNYJs(rNVz7nr zqBn21Y)BD+84%arAZ6>uEEs2&4ab<;FQ(S2@_{v+;`xTab-|bT%G$!d4+Yj2MkmQ*Gym(Kn1K(4O|EelY<2h?d5oo?i7GsnwTDzCo2gzPBWYFBt)=* z_%zrqKSs-s-JAS#Ce6h{nV|&64T50ne!EDMY>wEn+T9`v@TR?1mxHA>>J7dsK+E$0 ze016^8m$-7h~b9?4+cHlMHehd3D5Zv@R0}U^o}$-9%`jHm#932H)Ye?oNhxpwO{_j zbb`)Vh(CB+CPk7Mmd znF>Vz8cns<=}y&g7C@t35A`Kh>xH_ovjHE3;w461WwONtb|&`hGX760q;d_ z%WL<=?dRH0mDjCt=eM4FHo%G;Fs;(+dY|h8x zOSl*&R!}Ka5bvD8=M&DafGm4~c~M0`KcYhzxyt9AF$34`dZIkqRasC>g_=z@aq9TJ zlYoY&$b{r4uWRu(*Xc}my8rVn^!q1K^{jWK_6u3Xy%QS_Sgg4Sh-KV@LBokDWi9`X zWb^q_f(Z4!O?{T!t)gF4MZwh(anzxoX@CA}`bMu6&%cr1m>-Kty{={C**ksXo!orX z;fCx1w4MW814rCNChWF^E{}>-6rX7|!|Bo3BLge*INCE9~116!7||4NbhYSxSdZ^k@g>&9M_$Zr{V^rIDP zkxAa&GiG#>5g%5e4?ouV8U0Zo;x;@K0&@;9f#jw|rOTNOMjW<&?RJHkZwq`R19`;a zNv#NDBTU!VVF7a3n9&q~5;S(OGOB`WT723YNwK%d)|0W3j;FmSSn>qW>@9+p z=RVuw^+asghe2~Vt);b}%{2T*u>#sn?wB>cV5$y`D;i#2PI+Zx1)@WXBx3}kI=%m*M`7G+6FE&G*FO(o zs1P7YhS@={D40Nu0iPk2b7px3(b@=Q>BDI%mVbPA{<5C@7(P0uw{-6Z`nb^#KT(8} z_E<=7Wx~!nKz=xLZu%LdMHFZ#mh6WJj6kDAD%bQy$?AG>EHq1)_&&dcR zFi`AgdXSrvvhe&(g+R5OAir;W?CpOTa`fPAiX)^e&=8>7}R}4HsSHn6)c~XCf2k5TpI74(#_S5f;%dExr5Ow#UbOxB-RwrSGn*DbIoy<*ZHm#U&|{q~DH zUS&;qFI=t7f8cvNIikm#jE>;!uxF(%O)_^?`xJ|-@Edj_vP33iVVV!JjY=dd*sn-| zsCt15of93)cj@@*95P85NUJ$NZo|gfv zk%H04s(4NbB+6Sn!JpsKa~LU5zNZ-n)DVSyvcNxtyHNE;y0HyZt&`c{trHyP8ADsLe1*vYLK99+!*cmy`(H7ayDSYc19An}5e@=2_N0xg}!uKs?C-%NXNq|WVKWbwImy}4|E38RKrL7>;Fuc0l3aA~}fIw)W2-1=__ zK#{?|mY{Y;n-83t^kfvtw`CWmp92;8!b2NSO)$|V8dAyMc(HenM=Xf!eg4T}ouNJm zs02@ydysba>}+(r(N~q|sn{9_)ysqfy&vCJ7+-*+U~EQ7quU)abIQns>ttk4 zAgsQuv2k}6+;Gm;8Ru)X1dNpI_WfzN8!zQ7#7(W!j4Yt3HYu}%^fDifsO{V(dGL$ zLkjh=98ZTJm8Xl5lkcJuM=^?f6-i8vJD4hJe{4Y@Z&6363Wsd3G~YFX_3lQau+>1c zHC*TdqeTIJm=MAXH&M4Ocr~9v`2KX{2{VJk9GeB%69|>+XpPXKGlcY)qHI7`212`c zVZEfwEi1I*OdVgM3L$l!t5ygJ#&~W(_`SV>Ri*7LVul4(|7*CIZ}%5-57r_@nG^B? z$u$t;e(^}u|EtWRXygc#`Zx?CG=dV$)?E4paE2$9)|t%zJ@Ow!h6_hTJT}%E?P?vB zO>`tQo!+7es?;deo2Ols)yAYNjC%qAt7UYn`pt(P>Zi*1=>w3l24``DCBA0R+RZF0t*dv~ z)Oku5hP7flD+>FR9e`Xr*&ft=c36iAbj2-oWWUbaN*;j;dROm4Bfnt`iEf2iV8B3o zBiL?u34|edTji99Dipo%g_ms3Y2!F4m8;!SS#<}$H5;LM;KQ+4xDw{f(irE#h%<_`6*sIPnoiHt)*O`9ko5AXgo<1CR6=uD2Xr1=X7)9 zD)t5Av$|V^&JxWg=xzI=TCF6VR2yip%KBN2QYdp{u9Y8g(f9DC0JkH|$*{ax%vaYp z0Z!8mVOjEUUa^8t4a7qOtsOj^Nf>6PMq_Dq@n_6O0 zDgn@LyRhG_S7QbgeJKHrpZD&`qlh!xPlp)2O{u`8^-Iaa0H*>&6jkPZFB8`_)7nS! zbY|nk!NYe5p)ipa5ra(I0Bzu}&+>!7$_wfoV>|+7Fxd#lz#vz;oNc$%y7Ao(WT-KR3zDj8EPj6pnTyQq zeW)-m7jsD^S|&UYrmlz;Ldi}J6I9W(sA{O$x75IlV7b$~S-#~+8ANY&db_;$x2!o) zk%`9`d)Wvt%&*ym3Z!ft&H~|-?PH6T^2c@Gc~eYh(B~xdd^c?cvG>Cxhm)kJEhJ~8 z?9rWYv^n=aM&GXDl^TUeVCQ7>dez_XTq1)NlmnCKUSkOJtk}Xw0X@CnyR%j~ca3gSmtn=wiLJM^E}C4uHF}^ri$WOPXr;|wyaC=D*LJuMqBlWKevkSk zjIA5jy!x1I@m;Caz_5#343B}pke&?0*{?aYY39^ksCR}*qQ|ip_Q6jY58;_e#AhwE z$C#}Az88Hep>Wn%1~ngz z(BqI#Y6L(q1c6Sp9(n?XAw`*nz_dh}g>;&i<+FCVRjoE$^hLFQLl48fh_{B>Nme9+ z{d<(uzKQf3EAAwc=!6tWk*;I_yfS6KsJ9%-j}D=(gOlql8Ic29ZSXZ9SYlwOU3LoLW>8Tm+1O6R@VL_;wL-^ z6Z%p*5gv5L(AdHIg0M{@QXsanI|O9NP>zQHL30-axhj%`PmfGg;SMm5d_+0=@Yr*4 zIV+OJ`2TZ9_uo9Of1$8nOcvNbXU6BBPGJ!-&gotOFW(f_DPk-hyoR1PUwB5XO``0( ztAHSmq5apU19;@e*@u0#hf?Ol;_MS3c({3-eLq}&k8lu*x*r*@I}j!RqE!B=bQ%{V z|6L81(PbwPET15RquyJ=@>NZW5nsafWChEAWXIXZc;_luer5SCi#f8y&!3;DWR3T)6E$ zSKFn*02)@U;u50N)o_rW0oCH*0)UF!g_kZs7mGQXFAi|!p<BO}kRB~Omsy#aBqW=6R8P(1k9Xz)sq@?V^w(pQUDKl?Wb zx&G^)pLoA;9AcTs*@zc!K>)U!o@L^opmy=eAQOTkvSOAb+`QS_P}6tLfb^V&iR?r; zD!nl?MihQo;`pRhI&JIl=Lf+8^t$$6et`6Y!mA?Bt~i5TO_b`@R_F0+Y0W@Zi7Ipv zTGq(Gf-4MQM4{sOKCma2iylx7T2@}|d?x1DR^d^}2K|#KZ6e9Ln)o=U6#Oi0CKec< zhdKTL8yR8Hp6l@^gs{4OWXFU*FTL;n=VkS>3Ug4ecU#p?3pc}piZ8FqahZ3eTBqBo z`LW6ic@x8onG#Ip+iIGRX{ogQvi)W;fFtb)HL3d1XN;XNvLmox)EZ#8G^nDF5WB&gfD$LEJod!*!WHRou^2JbhUq@5`&2Uk1t(Whw_ z=&IM1Kc9V?_AEfF873s7cw7o1ZafZ%X2NuptPx6fmy}pq!AB=Es{uI%20Z}=G5qN2 z?j(F(#Tgf`PB_y;tr zZlU6;X2tEaJB6JbBubcc_!cz@^1kUIgCOHJb01M#v74z3XWEPzo~t+{M~}M^-X`Kx{?-7sgiP%VQm2uX0`zK zeJFtiG&u92snhYpWO_!N%!JV~EgO-4VkCN8NGTnqUPi-AsW6zSBYU;bJ7U&;9r`IN z^#&=UN{^Ow4w<0;7=LkwSKv?nWBkRT^^te@&sE69RF2t`|Av3lD^4<-iVCgC%2tY` zxtR8X*pJ96Kh}`jsEG5#Gu5?7#G*QX)`XVk4tqel5D^sq_Oz9K2D1hl?{YW+jTqxDGZ(iW0>%T3ZfNH z1LEQmH5hHtY}7wIHZ8lAX7rrS6MVifo*A-rxcvI=Z}`zl0=bd~Q@t}}UW>MjHL971 zD*m-UuH-6aUxK>sl+AXZDURzW)2718~1yPj_YbB5(*>i0&I z>`zlEr3Jkh5Bt<%-1`LiX-si7z{ut+l$FE{5QnbOLvv3+2cMWeQzApWfn*ICtD5!YL=Yh{X?<5rPF6`-&>8KeS6lHKt;ja4LQS{-AG{}w|JB+@qeFP zfK^W}lygP`3*pkb@-cjbcr9uaRA6{_OWwkO>E6;btTHoEYi$T|(UpfYGn;?@o|{Yp zB^%F)beTL1?k$gvtw^VAh!UwU2z%<-hm$N?8Vh<^hYXZyvC4>&j@Edik&7Aq%8cb~ zxC?!As*!rfj6cAow8ef9Y@@4Fle7_0tH6X6}2r5Os>*9E*-rnMi+9xBd zVoLeaJH}1~XmCy%elpc|A+8#jOW8#^(IzJ}RXQrN8p~5gG{;oR%{}$3C=yYQxncHA zo>fvMqI6i&ELZXE-zm~ova0PB*)#Zc0}@wI#`;rmcXcXsvUfTI{88L}{Z&yMv8KK* zv2u4JXjS%gV^USvPfDp$YLf@}jVRTw`Y%YSzGpIOFsOO$^{fv8rWbi zhm6PmbiC&J9!NBFt{Bd|6{SGtGsitz)Ohp9aHtSoZ#G`ui~h~9|Iv$>UH%MK3rcRh znqjywrPqMRWCb+8`ZS)e$m5^xxMuxfEHq&Ey~%Ps^m5;jR7_rIAv>Ta^L;5)Okvl# zhEJgC4nlHxvMogwPM%tVc|oB1-T+jj7Re(1_QLGRlp1^T#qY|cqU>vZW~YMox5R~wzj z>)HxJB^4(h+<*H`gx=t6K`kU!*K2)P2)#738M=G^$Tzy#YAMcpG80vFgXSeK&c`0D zdFtTNlUwqSfxlU76#o)@`0|)tGBrf!2(zKb2rjOgz7ZGEgNwuVbU4MFF4ncP2}-9` zvDPB_4%%+V#u_r*j-@ydkZSZgPd^Rao@?^PnvW@BP=q$Z57+cb0~8~c6^_`CQmB1A zrNXXjr9_I7uxN(E*;ph}f}LjR$=zvsm$=jNe!R7LcY`SO9oC|d7&AhqCG*wmM}H3K zC*+3*8?G5*LG8H_JMA~$p+fyzzehcMV+v~LVt1y-T%so7rbJAA*avYzvGv#;5y{%c zoYu2WQCcpC(_1nH@X@C372`4^c+$Js>lijAzF2d2#54j)Bc z<6D6vABQa&lB>db2Z?D+)MeU+$9{s)T zH?Yudhl4;r{7@PE+Ht4wzScA$J@zjg@%~XF8A{)F;c?o_1X^e`#d-C-+4|tRu7Ec_ zW05I9I4;8*y`ysr02}A<3Jv!B9{dbnSKgwF5p;jy*&>dw^Oq=J3bKjn&*6ARo|JqU zjKfhl#N@s(AkpkLnvG+MyCJVrm0(ahE%9MFrSb52)X(8rkM%Gq6@*V-(yEHBDnj1XnZGhWsi4ceBrG|$-~lgjPwp; zTfoTh*S5F<$|tjV-4Va+8%e~}o(X~;Qw6;cI0yEV0S7v*&)FvO@VdXjqxRm3F|^>@_*ro?u+MOV1bW{OfL&u|{L_P|YY4po%OnLyZ8Q z8IRA8{65fYrpfK#W8L>)4K-@Nzz^nBs9{C)&!Qta<(Cwq+1EIswS|Y8VMPK6n~X$Z zPSDDmX~FM+vM$1IJ%4V@k$6L7GP|PQ@%)>wRYeReHej-wt)_UtPZdyMF+j^GwM0HV#O0m4I$|PfQ%}CF6I*KGs@WFF zw)oJdE;swHx5b-%+Gx8sHhf;Y67VKcfU_5HZaN=M=Q?{x$|V!<9;$f67(>|KrFCqW z?<+E_CX;`4k%3g9wB=G9*FR8rK>9=3f%>tD^q}$(D}LmZA;Pl5Mnb^X69K-50HCro z$BF(|1<&sIpNv@06x-p z{#BjHW@}rAM@= zvmDzEvTwb!!9aUK$>?{P&MkV}zTDs}m6DuXbr#PY+xizpi%gd0dE zPq;M)iWrOz>Mr4Ko*om65@Y7SvLo>O`E#eNuo?xVh4C+%F+PT8h$~cF%AIaLTaIU| z;i2Y8N}O8^QLlMBnspZ#C={pKr(8PevhN4={mmP3Q97-1)=2iACm=?9Sv|a4w5S4> zxwOndEYgtIvp#a3ADOU}(5NTgKa>5jR)`c%z~+tk=sO;b%oqpij1&>%U|nQ`ufPK1 zoD(+kO|U{Y01#F}{}5Y?E%91x#TAvj z6v}?)vc}0O2KGOt_|wK!t+N?nEM%xik%ldANkdG3JPsaQ{Kqk@W-NJ)^Gp(b9%12; zhykZR%{1~98~gl^tWd!&48bN2Oa2BhkMHeV_14kZP-o^Fc7|p^^&~y^`GxX3xnB;A zqt|c0DelKewhOC+50&LU6D9t3BrcludaWUTqc5#Wqe<6I>(QjUHn&=v$9FAUcum(Z z$Q<|WUCZyAbKyui6F?Jy`AAr6h#o$bxp<)u)zxgVb?}J;8Qv;|yqkC#kr?%phSUFLnxQ&Y;J1Z%_ag=hr`E)4V ze{RNXtTw_(%rifE7L0!BamLJR;D}_4EAvTsx5NH;q#6iowKZDT>tHY_~C)(%WjQU28U88&bATio~g#WC@uVOeuN& z0%w#rFoD-C?8UYaKVVZ_TQlN$(h&_7MYg;iOhB)aw0_ZScg#wKe3DwQ%H`TM7P_wkjihcR&C1gT z{CaEzny}V6=DMpkO2@##DG_iyaH1q7kQ&hE>!EXoF^iFWB~D_Z$iYZLfC7A^@O2o; zh;vy!4PjK%wfmAUm5MwFCO-=53VKkQBe_qAYMsWN6?K_t-Fz^Bi3|-AuTPKm<>%#X zxbZ{>S=pHFx#ovyGU)^*IOOViP}88NsN*^RGh+^Ms@@50iqz`iq3jwRzDYw&8eHldn?T zIGxhF7!D6(;!()Le3k+hros_8Jl3%CNgf1Q^nwdFjE83s&0hnjKGZw2)(B*Uag7;m zA0Sl=9yY;p+~XKtrBn>uGpaO?tHdiP6Wo~#!L8ZU@=I!vI{N@aiz9S>$!GhwzyUt( zFNWDDce`BhtuMY^_Qn&|-fLa{a|?4RU&lg~{GWkx*1IFIZN0>HuQ0=z=U+Jcm&R0C zKT1yfboHv+{6Tq2+I`NOU4ZA<1O48_xSE`o_I74nN~dKe9Dg@N?cZ#qEtcVXMr#Tq z7ESx2RIWxX8~su)9RK3t>n$E?!(Kjr*itx1wiFUuqG-UcLV%5pLjpEP!sOT1deF#$ z!dlM9aAvylPN29^IBa4Oc)y%4Nhl3&G3tz#|CYq43|ffXY*sH+lH-F$_I#4(GP$G}M2J zfOHg$+g4EXqwi~B`GC;iu?k7c6NWJR&6JTcYid@g#RcL3J`diJlC|g3>lX|80y!oT zhw!f!Z7-}kW-;Y-uSA``%hhsm-<4^%Fkz_?HaXx+K<3|NSW9MxJ9Mw*+F@hHcBfR= zHj-u^*b{19PZTmSpmWl$n2>dcBuqfFHM;1|K2olpC>f=n%8r;`o-i6tae}Tl%f(z8 zC~|^9!;6u2?l`8z#~zZ8$a_&bEk@U4_RN}(P&L*5@n!o%(&ocPH5+y$Y$W6Al4Wm_ z45GceM4*Z%LtV$9-JMLRBz?AxRfOv}790LOCCW|@>10NGAz5hk({kuU9nlc54|cEf z3aIf|E(i>4+N%ENCD3o0xCSaZ9e(m!{e|!5Wxc0j_~5A#@X8z&stI5@EIU8LH(efGwa&3uD>%jE{Lnz^?SwJ;=N zj2+6__10})Mw~PRW=MQSuGsJ3Rm161f{rzIw9jZ%;TTqI?RP2 z)hDz60cixotJso{99ei^QR6a4q?vtSM2WXC6&EEF*s_e^jrO)>%DGW&3Jb)rrfANz z?i^ZukFlYaN(JLlM3qwkx41Wftihq|v5_f)qZ8H!lGT2V6v0N4 z!#{PhV6&f_rVV~|u%9ezu!Rg~{$LdL|H>i!R}SGX%OQ-kn}3;VFUE`BRQv>I$KEWp zEy}PRV?gZL@G}bv^+0bt6Z6@G(T+q*K4ha_ zpYuyfFDgyRFu6#?1|%kT4(XB$b-q{(b)Lf;55#16-Rs|Tb^_pw%lS4%u*r$`a5CD4 z);`Jxu~(D%^%zcX>iisR=wREGY56;)T83sQud+6Oq#>cDoihh>vdqfG?ZOLZQ?)5D z5X4`gO$m<>g+pDy{?{L(L(a12eT3sEa1c66_>;LJzrlgo@(XG?4=o$X>*=GCI@fnv zqAVM$A+2D`z(q#mJMzj{%vs8Ym0bFJ@4hFFdsi!+pZTwJ%HJ%VviA6OCtHRM3y+vc zY6;RQf6b)H_A3wFpKj*igv#``2jql(wJS#FT6Wf-_OHC#n0(Eu<`-m7PM2Dz?OZOG zQE8OTsJA~n@!q@^TUjeh@}Vq;6@zJv9WXFe^6Lj=Tn>StbjvGBw`{_&k}ZGbbj#IN z%g0YBKFdF!c)xGMw`L1*B%+aYXu|yV*_;0asf;ya{ZC@lXNplzd;P_nMJ2Mm=uJNN z?mZRf7WNj?XP;!bAx6byxdMH$V=GWuaW$kZ!Q=e^$%b-ojM1+^kV7{LvCz8D%PoX) zn&?`i)=7IAWhwFxxVyfyVg?fhGrjoitX;h|11^b={~O^+Nf^QUAb1FY z8SPqC380l9eh~ZCs;-pFt?o(N4$900Ut|KsfR8rA#rA{6stp&km%(DCnyc7Buvn{l zQ7v_X#a?9yhnOpj*S%yipXZB@9_H!V%@yd*qDR3($idUbAb@V{7Rt@@ivZ|CJ~W^U zS5FItV7Ydy+%1s`?6`(KE)*jRoR``^0U(&OAATqlgMcdSjtyupvVa9>&s=!)y4-BE z4dmtT^1%{lP>xGQmnZ~FwBhVXHprFgdn!>3mZ&r@kF65BkJjnIMWxg!iFT)TS?*l6 zA`;d|X`lU!xgh(YCat@qM9y&FUXtz>m@jQcXtdM4Y~Y`2<&Z0qDq1=id5bPmOn1B- zPD#l}j#IpcbSM2ARHdy7`#@f#rCxb1-7>pRys(30wDMT8GXH7E@WVZRhP1uVi2A~S8^L=9NSy; zrd}70-uG#aE=Kei1DLo4LnmE(!WR0yTTGgsu#r@f1_(WbXVg15(33e#ygUNwtJ^?p zCvbS6uW|h7>)-kDN9!?;Ss>}7mJGy!oxzZq!#6bWqK_4u+P5=xAlc8CfKrpPtb%!w zcgl3pLTv9DJmkK{O!+t1x*(33B3QKX`Pg`M? zDHuw|3f+b>bl06Upppm9*%oM0ISy`R@v_B91mPictaI%2r?T+~Y zFC=NHdqAJk(uRq`HZ_?EnKEOAxw;!w^yqUoB1r5F91hS4eYQ*^t!5QHXT?)VsESi5 zGbUxItosO%l{voZ;d@W@clLXH+8XC}j!$#!G1t<w%bvZ%7>{K*+9)v zFjiXlAZEr)lZV2t>_bJ(lq|U|LktHOME9IyI$KY=k zppZV6g3t`V5vw9xo3bL{PFcZ>b`$CUTWhz({1aedF&<#f(N+IOAqux7^npO1All<1 z9iWlk)!jMQlEfM7{!CjprdCCti)-9pSz}Y1VNRZ)OJ?3+KeA_1JdbI_KhBtekVwsg zTdq~Yv~qtV^5o>^4(SqM5|3BY<$AT$l1F~*tkgk809u!9Lg{RHIotaC1W6Wj(KpuR zIx7bZIOe^&LU}+M4c?o0oI^oJi8k{nm^TceKw^Y@McSr^oKlYgMrHheD?fq)s$u$X z-&mN?j&A{!let66$Wx#dVvaloDbG@v`7RH?D@_zm{%eE0l>dmqmGN2M2p2;1j+$B2 z$HF_j$kbFW2_*{I+F&T_TLxu}MDDUJi8-yXZp<--(b$Oo=}}UE9_RCrmKj$p$x#hC zHJl`jC0?X)*6l(4+3>oD(PMIg*sQFDXQf5eVID%_3aK^@9)63%kCFxKX=Sz6z0YZkT2>&?7 zOozHTg?Z7t0=|bPsoor|@;x6%0DQs-@@X}wF}Fj9gqJNUS6Kt5qwo9lur0qT<(D~9 z)b#pqjRdg9qIn%)gTB}N_f81QA7ewtH0G^4U`Or$zrAm7N-N9y{@Z+t-M*DHq)`Dc zF|jjK2xzEAWdM`R+fNsTaEv^W%WxoS&tyLPyKeh-E`Uii{Z_^93UJQ8tbJd5U4D!D zpXX0+5PS-(tvC*mqJZbugCV*NkjdE%&NujVL*doCQ?wY*MdO{rc#Z-#?;&(FHF&Ui z7WB8}NsJ93Tg2H;xe;W)%w2A&o0?hE?=aRX!uIMYw8+F#M>k*(8B9WTUMUr}cM8~9 z!+AIpxwTybf&)BK?CPhO9@Im1M|V6hydA;F!Ll4s{0s^{FC{>3`2T8rL)Gf);5r-< zRB(^XMoh4vR;f_P=e2sPHI~8+Aut(GS57g`^{T`8bUDf`G{Tl51rSe$ON67&q9P5o zF+m8M$GZS66#1TxiaB6j=HV6N4R`e}fFVa@tLo0&b)Dn@>AMEHPQPC4nS`8%2N)#4 zzd4@2eBFs?O9qa*#DhRLi`{{e6uK4w_$9FEkG3a-!fBciLwHI*s-E3}Qcbe=z_bXj z8d3Q8U}@eR(1oaoD6-R3Q=X?cfgb+tZ>q4DRnJuZ_QlcB5hfxmL>S@QBYB_!5`R@Y zR62u=?zpd@lwIdtVOMH%JkZI+jv=Bo$(oj5RWU1vkR`8}kkE&7gG!70@T`z8?!@!k zcX1diZzc|G^y=mDTI30VnEGw_RWbP8W6kK+-KdAxN}Sc23AhL@QO^!ru6A0@F-{`6 zzimwCBv>5lJLMI6^FOAw33?4bi0k-r&vAXfp$jUTP+bi!XAW>~dZb0MPJ36Xwb}3( zArEretT5}Jp<42?1SdtgxNq`RXfMCz~@3swia*r6s_YDo`_J(Ci-jvF} zsZzb#Y^$H-QG2Yq#5n=ufR-x=`b1USVg&nvzFCAb?GK8~j6UIsGoaq_4vmnmPTeq^ z4+G#1ZcrE>AlCvc&}?>XvLjnStUd*Pk+65H+d!X1I7fe`{z1^C*;t9xKypLZUE|%t zG6vGCrOP@)xF_J$w?AVXoS5HNttGt#s>0b6ZxM3S`leBmL-60uFz)VE)0ef z=rc@#W|lGAotU5zZzM_13Ot1A5=evb>a5R2G6pvYpw6OS7}3B+!aHR0qR-RO^*oc4 zXtr-3b}%Kf;9_BxQ53O>*o|3%C_j{~#+e2ZRsmQOZ6HlsXa=otVJ~Y}o6Yk^yLKp0 zDbSIG_0k~+ORQEuVMaR|?;njVCnG zwdlv_31n+$hTswJ=|<C@moRFl%^rlQ~oiOI3f*?Sm=GvyWX+f_3*5kjKc?K zaG9NqV^gP&`zjK565Uy5)f{-yd0_?CGKyve)0k;`!fB83vT2&>O4upyk1QXmdJi&3 zTC!-H&+mkN0!pDvp%WoAMde^}dq=s8>F&q%b*%9Cg}cX?0v=~}H3Kb6U{DDew@2Jq z*rIc}v1p>TXJl`R**Jh;q>6Qml0sn(N9IWCT yk(m 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 LO+vA>7^Oh~qY(rM diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/nokia800/defconfig b/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/nokia800/defconfig deleted file mode 100644 index ea78481b99..0000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/nokia800/defconfig +++ /dev/null @@ -1,1650 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-omap1 -# Thu Jun 26 11:32:23 2008 -# -CONFIG_ARM=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -CONFIG_GENERIC_GPIO=y -CONFIG_GENERIC_TIME=y -CONFIG_MMU=y -# CONFIG_NO_IOPORT is not set -CONFIG_GENERIC_HARDIRQS=y -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ZONE_DMA=y -CONFIG_VECTORS_BASE=0xffff0000 -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -CONFIG_BROKEN_ON_SMP=y -CONFIG_INIT_ENV_ARG_LIMIT=32 - -# -# General setup -# -CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -# CONFIG_IPC_NS is not set -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_POSIX_MQUEUE=y -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_TASKSTATS is not set -# CONFIG_UTS_NS is not set -# CONFIG_AUDIT is not set -# CONFIG_IKCONFIG is not set -CONFIG_SYSFS_DEPRECATED=y -# CONFIG_RELAY is not set -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_SYSCTL=y -# CONFIG_EMBEDDED is not set -CONFIG_UID16=y -CONFIG_SYSCTL_SYSCALL=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_ALL is not set -# CONFIG_KALLSYMS_EXTRA_PASS is not set -CONFIG_HOTPLUG=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_EPOLL=y -CONFIG_SHMEM=y -CONFIG_SLAB=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_RT_MUTEXES=y -# CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=0 -# CONFIG_SLOB is not set - -# -# Loadable module support -# -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_KMOD is not set - -# -# Block layer -# -CONFIG_BLOCK=y -# CONFIG_LBD is not set -# CONFIG_BLK_DEV_IO_TRACE is not set -# CONFIG_LSF is not set - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -# CONFIG_IOSCHED_AS is not set -# CONFIG_IOSCHED_DEADLINE is not set -# CONFIG_IOSCHED_CFQ is not set -# CONFIG_DEFAULT_AS is not set -# CONFIG_DEFAULT_DEADLINE is not set -# CONFIG_DEFAULT_CFQ is not set -CONFIG_DEFAULT_NOOP=y -CONFIG_DEFAULT_IOSCHED="noop" - -# -# System Type -# -# CONFIG_ARCH_AAEC2000 is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IOP13XX is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_NS9XXX is not set -# CONFIG_ARCH_PNX4008 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_LH7A40X is not set -CONFIG_ARCH_OMAP=y - -# -# TI OMAP Implementations -# -CONFIG_ARCH_OMAP_OTG=y -# CONFIG_ARCH_OMAP1 is not set -CONFIG_ARCH_OMAP2=y - -# -# OMAP Feature Selections -# -CONFIG_MACH_OMAP2420_DVFS=y -CONFIG_ARCH_OMAP2420_DEBUG=y -CONFIG_ARCH_OMAP2420_OBSERVABILITY=m -CONFIG_ARCH_OMAP2420_PEEK_N_POKE=m -CONFIG_ARCH_OMAP2420_SNAPSHOT=m -CONFIG_ARCH_OMAP2420_DMA_DRAIN=y -CONFIG_OMAP_RESET_CLOCKS=y -CONFIG_OMAP_BOOT_TAG=y -CONFIG_OMAP_BOOT_REASON=y -CONFIG_OMAP_COMPONENT_VERSION=y -CONFIG_OMAP_GPIO_SWITCH=y -# CONFIG_OMAP_MUX is not set -# CONFIG_OMAP_SEC is not set -CONFIG_OMAP_STI=y -CONFIG_OMAP_STI_CONSOLE=y -# CONFIG_OMAP_MCBSP is not set -CONFIG_OMAP_MMU_FWK=y -CONFIG_OMAP_MBOX_FWK=y -# CONFIG_OMAP_MPU_TIMER is not set -CONFIG_OMAP_32K_TIMER=y -CONFIG_OMAP_32K_TIMER_HZ=128 -CONFIG_OMAP_DM_TIMER=y -# CONFIG_OMAP_LL_DEBUG_UART1 is not set -# CONFIG_OMAP_LL_DEBUG_UART2 is not set -CONFIG_OMAP_LL_DEBUG_UART3=y -CONFIG_OMAP_DSP=y -# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set -CONFIG_OMAP_DSP_TASK_MULTIOPEN=y -CONFIG_OMAP_DSP_FBEXPORT=y -CONFIG_OMAP_DSP_PAUSING=y -# CONFIG_MACH_OMAP_GENERIC is not set - -# -# OMAP Core Type -# -CONFIG_ARCH_OMAP24XX=y -CONFIG_ARCH_OMAP2420=y -# CONFIG_ARCH_OMAP2430 is not set - -# -# OMAP Board Type -# -CONFIG_MACH_NOKIA_N800=y -CONFIG_MACH_NOKIA_RX44=y -# CONFIG_MACH_NOKIA_RX48 is not set -CONFIG_MACH_OMAP2_TUSB6010=y -# CONFIG_MACH_OMAP_H4 is not set -# CONFIG_MACH_OMAP_APOLLON is not set -# CONFIG_MACH_OMAP_2430SDP is not set - -# -# Processor Type -# -CONFIG_CPU_32=y -CONFIG_CPU_V6=y -# CONFIG_CPU_32v6K is not set -CONFIG_CPU_32v6=y -CONFIG_CPU_ABRT_EV6=y -CONFIG_CPU_CACHE_V6=y -CONFIG_CPU_CACHE_VIPT=y -CONFIG_CPU_COPY_V6=y -CONFIG_CPU_TLB_V6=y -CONFIG_CPU_CP15=y -CONFIG_CPU_CP15_MMU=y - -# -# Processor Features -# -CONFIG_ARM_THUMB=y -# CONFIG_CPU_ICACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_WRITETHROUGH is not set -# CONFIG_CPU_BPREDICT_DISABLE is not set -# CONFIG_OUTER_CACHE is not set - -# -# Bus support -# - -# -# PCCARD (PCMCIA/CardBus) support -# -# CONFIG_PCCARD is not set - -# -# Kernel Features -# -# CONFIG_PREEMPT is not set -CONFIG_NO_IDLE_HZ=y -CONFIG_HZ=128 -CONFIG_AEABI=y -CONFIG_OABI_COMPAT=y -# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -# CONFIG_SPARSEMEM_STATIC is not set -CONFIG_SPLIT_PTLOCK_CPUS=4 -# CONFIG_RESOURCES_64BIT is not set -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_LEDS=y -CONFIG_ALIGNMENT_TRAP=y - -# -# Boot options -# -CONFIG_ZBOOT_ROM_TEXT=0x10C08000 -CONFIG_ZBOOT_ROM_BSS=0x10200000 -# CONFIG_ZBOOT_ROM is not set -CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 ro console=tty0" -# CONFIG_XIP_KERNEL is not set -# CONFIG_KEXEC is not set - -# -# CPU Frequency scaling -# -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_TABLE=y -# CONFIG_CPU_FREQ_DEBUG is not set -CONFIG_CPU_FREQ_STAT=y -# CONFIG_CPU_FREQ_STAT_DETAILS is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_NULL=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_NULL=y -# CONFIG_CPU_FREQ_GOV_USERSPACE is not set -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y - -# -# Floating point emulation -# - -# -# At least one emulation must be selected -# -CONFIG_FPE_NWFPE=y -# CONFIG_FPE_NWFPE_XP is not set -# CONFIG_FPE_FASTFPE is not set -CONFIG_VFP=y - -# -# Userspace binary formats -# -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_AOUT is not set -# CONFIG_BINFMT_MISC is not set - -# -# Power management options -# -CONFIG_PM=y -# CONFIG_PM_LEGACY is not set -# CONFIG_PM_DEBUG is not set -# CONFIG_PM_SYSFS_DEPRECATED is not set -CONFIG_APM_EMULATION=y - -# -# Networking -# -CONFIG_NET=y - -# -# Networking options -# -# CONFIG_NETDEBUG is not set -CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set -CONFIG_UNIX=y -CONFIG_XFRM=y -# CONFIG_XFRM_USER is not set -# CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_MIGRATE is not set -# CONFIG_NET_KEY is not set -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_FIB_HASH=y -# CONFIG_IP_PNP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set -# CONFIG_IP_MROUTE is not set -# CONFIG_ARPD is not set -# CONFIG_SYN_COOKIES is not set -# CONFIG_INET_AH is not set -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -# CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INET_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -CONFIG_INET_XFRM_MODE_BEET=y -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_CUBIC=y -CONFIG_DEFAULT_TCP_CONG="cubic" -# CONFIG_TCP_MD5SIG is not set - -# -# IP: Virtual Server Configuration -# -# CONFIG_IP_VS is not set -# CONFIG_IPV6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set -# CONFIG_NETLABEL is not set -# CONFIG_NETWORK_SECMARK is not set -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_NETLINK=y -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -# CONFIG_NETFILTER_NETLINK_LOG is not set -# CONFIG_NF_CONNTRACK_ENABLED is not set -CONFIG_NETFILTER_XTABLES=y -# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set -# CONFIG_NETFILTER_XT_TARGET_MARK is not set -# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set -# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set -# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set -# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set -# CONFIG_NETFILTER_XT_MATCH_DSCP is not set -# CONFIG_NETFILTER_XT_MATCH_ESP is not set -# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set -# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_MAC is not set -# CONFIG_NETFILTER_XT_MATCH_MARK is not set -# CONFIG_NETFILTER_XT_MATCH_POLICY is not set -# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set -# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set -# CONFIG_NETFILTER_XT_MATCH_REALM is not set -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set -# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set -# CONFIG_NETFILTER_XT_MATCH_STRING is not set -# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set -# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set - -# -# IP: Netfilter Configuration -# -# CONFIG_IP_NF_QUEUE is not set -CONFIG_IP_NF_IPTABLES=y -# CONFIG_IP_NF_MATCH_IPRANGE is not set -# CONFIG_IP_NF_MATCH_TOS is not set -# CONFIG_IP_NF_MATCH_RECENT is not set -# CONFIG_IP_NF_MATCH_ECN is not set -# CONFIG_IP_NF_MATCH_AH is not set -# CONFIG_IP_NF_MATCH_TTL is not set -# CONFIG_IP_NF_MATCH_OWNER is not set -# CONFIG_IP_NF_MATCH_ADDRTYPE is not set -CONFIG_IP_NF_FILTER=y -# CONFIG_IP_NF_TARGET_REJECT is not set -# CONFIG_IP_NF_TARGET_LOG is not set -# CONFIG_IP_NF_TARGET_ULOG is not set -CONFIG_IP_NF_TARGET_IDLETIMER=y -# CONFIG_IP_NF_MANGLE is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_ARPTABLES is not set - -# -# DCCP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_DCCP is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_SCTP is not set - -# -# TIPC Configuration (EXPERIMENTAL) -# -# CONFIG_TIPC is not set -# CONFIG_ATM is not set -# CONFIG_BRIDGE is not set -# CONFIG_VLAN_8021Q is not set -# CONFIG_DECNET is not set -# CONFIG_LLC2 is not set -# CONFIG_IPX is not set -# CONFIG_ATALK is not set -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_ECONET is not set -# CONFIG_WAN_ROUTER is not set - -# -# QoS and/or fair queueing -# -# CONFIG_NET_SCHED is not set - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -CONFIG_BT=y -CONFIG_BT_L2CAP=y -CONFIG_BT_SCO=y -CONFIG_BT_RFCOMM=y -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=y -# CONFIG_BT_BNEP_MC_FILTER is not set -# CONFIG_BT_BNEP_PROTO_FILTER is not set -CONFIG_BT_HIDP=y - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUSB is not set -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIBCM203X is not set -# CONFIG_BT_HCIBPA10X is not set -# CONFIG_BT_HCIBFUSB is not set -# CONFIG_BT_HCIBRF6150 is not set -CONFIG_BT_HCIH4P=y -# CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set -CONFIG_WIRELESS_EXT=y - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_FW_LOADER=y -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_DEVRES is not set -# CONFIG_SYS_HYPERVISOR is not set - -# -# Connector - unified userspace <-> kernelspace linker -# -# CONFIG_CONNECTOR is not set - -# -# Memory Technology Devices (MTD) -# -CONFIG_MTD=y -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_CONCAT is not set -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_AFS_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set -# CONFIG_RFD_FTL is not set -# CONFIG_SSFDC is not set -# CONFIG_MTD_OOPS is not set - -# -# RAM/ROM/Flash chip drivers -# -# CONFIG_MTD_CFI is not set -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_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_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_OBSOLETE_CHIPS is not set - -# -# Mapping drivers for chip access -# -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_PLATRAM is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_M25P80 is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLOCK2MTD is not set - -# -# Disk-On-Chip Device Drivers -# -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set - -# -# NAND Flash Device Drivers -# -# CONFIG_MTD_NAND is not set - -# -# OneNAND Flash Device Drivers -# -CONFIG_MTD_ONENAND=y -# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set -# CONFIG_MTD_ONENAND_GENERIC is not set -CONFIG_MTD_ONENAND_OMAP2=y -CONFIG_MTD_ONENAND_OTP=y - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Plug and Play support -# -# CONFIG_PNPACPI is not set - -# -# Block devices -# -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=y -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=4096 -CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set - -# -# SCSI device support -# -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y -# CONFIG_SCSI_TGT is not set -# CONFIG_SCSI_NETLINK is not set -# CONFIG_SCSI_PROC_FS is not set - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -# CONFIG_BLK_DEV_SR is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set - -# -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs -# -CONFIG_SCSI_MULTI_LUN=y -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -# CONFIG_SCSI_SCAN_ASYNC is not set - -# -# SCSI Transports -# -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_SAS_ATTRS is not set -# CONFIG_SCSI_SAS_LIBSAS is not set - -# -# SCSI low-level drivers -# -# CONFIG_ISCSI_TCP is not set -# CONFIG_SCSI_DEBUG is not set - -# -# Serial ATA (prod) and Parallel ATA (experimental) drivers -# -# CONFIG_ATA is not set - -# -# Multi-device support (RAID and LVM) -# -# CONFIG_MD is not set - -# -# Fusion MPT device support -# -# CONFIG_FUSION is not set - -# -# IEEE 1394 (FireWire) support -# - -# -# I2O device support -# - -# -# Network device support -# -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -CONFIG_TUN=y - -# -# PHY device support -# - -# -# Ethernet (10 or 100Mbit) -# -# CONFIG_NET_ETHERNET is not set -CONFIG_MII=y - -# -# Ethernet (1000 Mbit) -# - -# -# Ethernet (10000 Mbit) -# - -# -# Token Ring devices -# - -# -# Wireless LAN (non-hamradio) -# -CONFIG_NET_RADIO=y -# CONFIG_NET_WIRELESS_RTNETLINK is not set - -# -# Obsolete Wireless cards support (pre-802.11) -# -# CONFIG_STRIP is not set -# CONFIG_USB_ZD1201 is not set -# CONFIG_HOSTAP is not set - -# -# Wan interfaces -# -# CONFIG_WAN is not set -CONFIG_PPP=y -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=y -CONFIG_PPP_SYNC_TTY=y -CONFIG_PPP_DEFLATE=y -CONFIG_PPP_BSDCOMP=y -# CONFIG_PPP_MPPE is not set -# CONFIG_PPPOE is not set -# CONFIG_SLIP is not set -CONFIG_SLHC=y -# CONFIG_SHAPER is not set -# CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Input device support -# -CONFIG_INPUT=y -# CONFIG_INPUT_FF_MEMLESS is not set - -# -# Userland interfaces -# -CONFIG_INPUT_MOUSEDEV=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -# CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_TSDEV is not set -CONFIG_INPUT_EVDEV=y -# CONFIG_INPUT_EVBUG is not set -CONFIG_INPUT_POWER=y - -# -# Input Device Drivers -# -CONFIG_INPUT_KEYBOARD=y -# CONFIG_KEYBOARD_ATKBD is not set -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_STOWAWAY is not set -# CONFIG_KEYBOARD_OMAP is not set -# CONFIG_KEYBOARD_GPIO is not set -CONFIG_KEYBOARD_TSC2301=y -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_JOYSTICK is not set -CONFIG_INPUT_TOUCHSCREEN=y -# CONFIG_TOUCHSCREEN_ADS7846 is not set -# CONFIG_TOUCHSCREEN_GUNZE is not set -# CONFIG_TOUCHSCREEN_ELO is not set -# CONFIG_TOUCHSCREEN_MTOUCH is not set -# CONFIG_TOUCHSCREEN_MK712 is not set -# CONFIG_TOUCHSCREEN_PENMOUNT is not set -# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set -# CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_UCB1400 is not set -CONFIG_TOUCHSCREEN_TSC2005=y -CONFIG_TOUCHSCREEN_TSC2301=y -# CONFIG_TOUCHSCREEN_TSC2046 is not set -# CONFIG_INPUT_MISC is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_RAW is not set -# CONFIG_GAMEPORT is not set - -# -# Character devices -# -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_HW_CONSOLE=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set -# CONFIG_SERIAL_NONSTANDARD is not set - -# -# Serial drivers -# -# CONFIG_SERIAL_8250 is not set - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_OMAP=y -CONFIG_SERIAL_OMAP_CONSOLE=y -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_UNIX98_PTYS=y -# CONFIG_LEGACY_PTYS is not set - -# -# IPMI -# -# CONFIG_IPMI_HANDLER is not set - -# -# Watchdog Cards -# -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_NOWAYOUT=y - -# -# Watchdog Device Drivers -# -# CONFIG_SOFT_WATCHDOG is not set -CONFIG_OMAP_WATCHDOG=y - -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG is not set -# CONFIG_HW_RANDOM is not set -# CONFIG_NVRAM is not set -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set -# CONFIG_RAW_DRIVER is not set - -# -# TPM devices -# -# CONFIG_TCG_TPM is not set - -# -# I2C support -# -CONFIG_I2C=y -# CONFIG_I2C_CHARDEV is not set - -# -# I2C Algorithms -# -# CONFIG_I2C_ALGOBIT is not set -# CONFIG_I2C_ALGOPCF is not set -# CONFIG_I2C_ALGOPCA is not set - -# -# I2C Hardware Bus support -# -# CONFIG_I2C_OCORES is not set -CONFIG_I2C_OMAP=y -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_PCA_ISA is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_DS1337 is not set -# CONFIG_SENSORS_DS1374 is not set -# CONFIG_SENSORS_EEPROM is not set -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_ISP1301_OMAP is not set -# CONFIG_TPS65010 is not set -# CONFIG_SENSORS_TLV320AIC23 is not set -CONFIG_SENSORS_TSL2563=y -# CONFIG_GPIOEXPANDER_OMAP is not set -CONFIG_LM8323=y -CONFIG_LP5521=y -CONFIG_MENELAUS=y -# CONFIG_TWL4030_CORE is not set -# CONFIG_SENSORS_MAX6875 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_I2C_DEBUG_CHIP is not set - -# -# SPI support -# -CONFIG_SPI=y -# CONFIG_SPI_DEBUG is not set -CONFIG_SPI_MASTER=y - -# -# SPI Master Controller Drivers -# -# CONFIG_SPI_BITBANG is not set -CONFIG_SPI_OMAP24XX=y -CONFIG_SPI_OMAP_PAUSING=y - -# -# SPI Protocol Masters -# -# CONFIG_SPI_AT25 is not set -# CONFIG_SPI_TSC2005 is not set -# CONFIG_SPI_TSC2101 is not set -# CONFIG_SPI_TSC2102 is not set -CONFIG_SPI_TSC2301=y -CONFIG_SPI_TSC2301_AUDIO=y - -# -# Dallas's 1-wire bus -# -# CONFIG_W1 is not set - -# -# Hardware Monitoring support -# -CONFIG_HWMON=y -# CONFIG_HWMON_VID is not set -# CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1029 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM70 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PC87427 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -CONFIG_SENSORS_TMP105=y -# CONFIG_SENSORS_VT1211 is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83793 is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set - -# -# Misc devices -# - -# -# Multifunction device drivers -# -# CONFIG_MFD_SM501 is not set - -# -# LED devices -# -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y - -# -# LED drivers -# -# CONFIG_LEDS_OMAP_DEBUG is not set -# CONFIG_LEDS_OMAP is not set -CONFIG_LEDS_OMAP_PWM=y - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y - -# -# Multimedia devices -# -CONFIG_VIDEO_DEV=y -# CONFIG_VIDEO_V4L1 is not set -# CONFIG_VIDEO_V4L1_COMPAT is not set -CONFIG_VIDEO_V4L2=y - -# -# Video Capture Adapters -# - -# -# Video Capture Adapters -# -# CONFIG_VIDEO_ADV_DEBUG is not set -CONFIG_VIDEO_HELPER_CHIPS_AUTO=y -# CONFIG_VIDEO_SAA5246A is not set -# CONFIG_VIDEO_SAA5249 is not set - -# -# V4L USB devices -# -# CONFIG_VIDEO_PVRUSB2 is not set -# CONFIG_VIDEO_USBVISION is not set -CONFIG_VIDEO_OMAP_CAMERA=y -# CONFIG_VIDEO_CAMERA_SENSOR_OV9640 is not set -CONFIG_VIDEO_CAMERA_SENSOR_TCM825X=y - -# -# Radio Adapters -# -CONFIG_RADIO_TEA5761=y -# CONFIG_USB_DSBR is not set - -# -# Digital Video Broadcasting Devices -# -# CONFIG_DVB is not set -CONFIG_VIDEO_BUF=y -# CONFIG_USB_DABUSB is not set - -# -# Graphics support -# -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set -CONFIG_FB=y -# CONFIG_FIRMWARE_EDID is not set -# CONFIG_FB_DDC is not set -# CONFIG_FB_CFB_FILLRECT is not set -# CONFIG_FB_CFB_COPYAREA is not set -# CONFIG_FB_CFB_IMAGEBLIT is not set -# CONFIG_FB_SVGALIB is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_BACKLIGHT is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_TILEBLITTING is not set - -# -# Frame buffer hardware drivers -# -# CONFIG_FB_S1D13XXX is not set -CONFIG_FB_OMAP=y -CONFIG_FB_OMAP_LCDC_EXTERNAL=y -# CONFIG_FB_OMAP_LCDC_HWA742 is not set -CONFIG_FB_OMAP_LCDC_BLIZZARD=y -# CONFIG_FB_OMAP_MANUAL_UPDATE is not set -CONFIG_FB_OMAP_LCD_MIPID=y -CONFIG_FB_OMAP_BOOTLOADER_INIT=y -CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4 -CONFIG_FB_OMAP_PAUSING=y -# CONFIG_FB_VIRTUAL is not set - -# -# Console display driver support -# -# CONFIG_VGA_CONSOLE is not set -CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y - -# -# Logo configuration -# -# CONFIG_LOGO is not set - -# -# Sound -# -CONFIG_SOUND=y - -# -# Advanced Linux Sound Architecture -# -CONFIG_SND=y -# CONFIG_SND_SEQUENCER is not set -CONFIG_SND_OSSEMUL=y -CONFIG_SND_MIXER_OSS=y -# CONFIG_SND_PCM_OSS is not set -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PROCFS is not set -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -# -# Generic devices -# -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set - -# -# ALSA ARM devices -# -# CONFIG_SND_OMAP_AIC23 is not set -CONFIG_SND_AIC33=y -# CONFIG_SND_OMAP_TSC2101 is not set -# CONFIG_SND_SX1 is not set -# CONFIG_SND_OMAP_TSC2102 is not set -CONFIG_SND_OMAP24XX_EAC=y - -# -# USB devices -# -# CONFIG_SND_USB_AUDIO is not set - -# -# SoC audio support -# -# CONFIG_SND_SOC is not set - -# -# Open Sound System -# -# CONFIG_SOUND_PRIME is not set - -# -# HID Devices -# -CONFIG_HID=y -# CONFIG_HID_DEBUG is not set - -# -# USB support -# -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -# CONFIG_USB_ARCH_HAS_EHCI is not set -CONFIG_USB=y -CONFIG_USB_DEBUG=y - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICEFS=y -CONFIG_USB_DYNAMIC_MINORS=y -CONFIG_USB_SUSPEND=y -CONFIG_USB_OTG=y -CONFIG_USB_OTG_WHITELIST=y -# CONFIG_USB_OTG_BLACKLIST_HUB is not set - -# -# USB Host Controller Drivers -# -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_OHCI_HCD is not set -# CONFIG_USB_SL811_HCD is not set -CONFIG_USB_MUSB_HDRC=y -CONFIG_USB_TUSB6010=y -CONFIG_USB_TUSB6010_TEST=y -# CONFIG_USB_MUSB_HOST is not set -# CONFIG_USB_MUSB_PERIPHERAL is not set -CONFIG_USB_MUSB_OTG=y -CONFIG_USB_GADGET_MUSB_HDRC=y -CONFIG_USB_MUSB_HDRC_HCD=y -CONFIG_USB_MUSB_HSET=y -# CONFIG_MUSB_PIO_ONLY is not set -# CONFIG_USB_INVENTRA_DMA is not set -# CONFIG_USB_TI_CPPI_DMA is not set -CONFIG_USB_TUSB_OMAP_DMA=y -CONFIG_USB_MUSB_LOGLEVEL=1 - -# -# USB Device Class drivers -# -# CONFIG_USB_ACM is not set -# CONFIG_USB_PRINTER is not set - -# -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' -# - -# -# may also be needed; see USB_STORAGE Help for more information -# -CONFIG_USB_STORAGE=y -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_DPCM is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_KARMA is not set -CONFIG_USB_LIBUSUAL=y - -# -# USB Input Devices -# -CONFIG_USB_HID=y -# CONFIG_USB_HIDINPUT_POWERBOOK is not set -# CONFIG_HID_FF is not set -# CONFIG_USB_HIDDEV is not set -# CONFIG_USB_AIPTEK is not set -# CONFIG_USB_WACOM is not set -# CONFIG_USB_ACECAD is not set -# CONFIG_USB_KBTAB is not set -# CONFIG_USB_POWERMATE is not set -# CONFIG_USB_TOUCHSCREEN is not set -# CONFIG_USB_YEALINK is not set -# CONFIG_USB_XPAD is not set -# CONFIG_USB_ATI_REMOTE is not set -# CONFIG_USB_ATI_REMOTE2 is not set -# CONFIG_USB_KEYSPAN_REMOTE is not set -# CONFIG_USB_APPLETOUCH is not set -# CONFIG_USB_GTCO is not set - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -# -# USB Network Adapters -# -# CONFIG_USB_CATC is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_PEGASUS is not set -CONFIG_USB_RTL8150=y -# CONFIG_USB_USBNET_MII is not set -CONFIG_USB_USBNET=y -CONFIG_USB_NET_CDCETHER=y -# CONFIG_USB_NET_DM9601 is not set -# CONFIG_USB_NET_GL620A is not set -CONFIG_USB_NET_NET1080=y -CONFIG_USB_NET_PLUSB=y -# CONFIG_USB_NET_MCS7830 is not set -CONFIG_USB_NET_RNDIS_HOST=y -CONFIG_USB_NET_CDC_SUBSET=y -# CONFIG_USB_ALI_M5632 is not set -# CONFIG_USB_AN2720 is not set -CONFIG_USB_BELKIN=y -CONFIG_USB_ARMLINUX=y -# CONFIG_USB_EPSON2888 is not set -# CONFIG_USB_KC2190 is not set -CONFIG_USB_NET_ZAURUS=y -CONFIG_USB_MON=y - -# -# USB port drivers -# - -# -# USB Serial Converter support -# -# CONFIG_USB_SERIAL is not set - -# -# USB Miscellaneous drivers -# -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_ADUTUX is not set -# CONFIG_USB_AUERSWALD is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYPRESS_CY7C63 is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_PHIDGET is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_FTDI_ELAN is not set -# CONFIG_USB_APPLEDISPLAY is not set -# CONFIG_USB_SISUSBVGA is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TRANCEVIBRATOR is not set -# CONFIG_USB_IOWARRIOR is not set -CONFIG_USB_TEST=y - -# -# USB DSL modem support -# - -# -# USB Gadget Support -# -CONFIG_USB_GADGET=m -CONFIG_USB_GADGET_DEBUG_FILES=y -CONFIG_USB_GADGET_SELECTED=y -# CONFIG_USB_GADGET_NET2280 is not set -# CONFIG_USB_GADGET_PXA2XX is not set -# CONFIG_USB_GADGET_GOKU is not set -# CONFIG_USB_GADGET_LH7A40X is not set -# CONFIG_USB_GADGET_OMAP is not set -# CONFIG_USB_GADGET_AT91 is not set -# CONFIG_USB_GADGET_DUMMY_HCD is not set -CONFIG_USB_GADGET_DUALSPEED=y -# CONFIG_USB_ZERO is not set -CONFIG_USB_ETH=m -CONFIG_USB_ETH_RNDIS=y -CONFIG_USB_GADGETFS=m -CONFIG_USB_FILE_STORAGE=m -CONFIG_USB_FILE_STORAGE_TEST=y -# CONFIG_USB_G_SERIAL is not set -# CONFIG_USB_MIDI_GADGET is not set - -# -# MMC/SD Card support -# -CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set -CONFIG_MMC_BLOCK=y -CONFIG_MMC_OMAP=y -CONFIG_MMC_PAUSING=y - -# -# Real Time Clock -# -CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set - -# -# CBUS support -# -CONFIG_CBUS=y -CONFIG_CBUS_TAHVO=y -CONFIG_CBUS_TAHVO_USER=y -# CONFIG_CBUS_TAHVO_USB is not set -CONFIG_CBUS_RETU=y -CONFIG_CBUS_RETU_USER=y -CONFIG_CBUS_RETU_POWERBUTTON=y -CONFIG_CBUS_RETU_RTC=y -CONFIG_CBUS_RETU_WDT=y -CONFIG_CBUS_RETU_HEADSET=y - -# -# File systems -# -CONFIG_EXT2_FS=y -CONFIG_EXT2_FS_XATTR=y -# CONFIG_EXT2_FS_POSIX_ACL is not set -# CONFIG_EXT2_FS_SECURITY is not set -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_XATTR=y -# CONFIG_EXT3_FS_POSIX_ACL is not set -# CONFIG_EXT3_FS_SECURITY is not set -# CONFIG_EXT4DEV_FS is not set -CONFIG_JBD=y -# CONFIG_JBD_DEBUG is not set -CONFIG_FS_MBCACHE=y -# CONFIG_REISERFS_FS is not set -# CONFIG_JFS_FS is not set -# CONFIG_FS_POSIX_ACL is not set -# CONFIG_XFS_FS is not set -# CONFIG_GFS2_FS is not set -# CONFIG_OCFS2_FS is not set -# CONFIG_MINIX_FS is not set -# CONFIG_ROMFS_FS is not set -CONFIG_INOTIFY=y -CONFIG_INOTIFY_USER=y -# CONFIG_QUOTA is not set -CONFIG_DNOTIFY=y -# CONFIG_AUTOFS_FS is not set -# CONFIG_AUTOFS4_FS is not set -CONFIG_FUSE_FS=y - -# -# CD-ROM/DVD Filesystems -# -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=y -# CONFIG_MSDOS_FS is not set -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -# CONFIG_NTFS_FS is not set - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_PROC_SYSCTL=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_TMPFS_POSIX_ACL is not set -# CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y -# CONFIG_CONFIGFS_FS is not set - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -CONFIG_JFFS2_SUMMARY=y -# CONFIG_JFFS2_FS_XATTR is not set -# CONFIG_JFFS2_SYSFS is not set -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_LZO=y -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -# CONFIG_JFFS2_CMODE_NONE is not set -CONFIG_JFFS2_CMODE_PRIORITY=y -# CONFIG_JFFS2_CMODE_SIZE is not set -# CONFIG_JFFS2_CMODE_FAVOURLZO is not set -# CONFIG_CRAMFS is not set -# CONFIG_VXFS_FS is not set -# CONFIG_HPFS_FS is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_FS is not set - -# -# Network File Systems -# -CONFIG_NFS_FS=y -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -CONFIG_NFS_V4=y -# CONFIG_NFS_DIRECTIO is not set -# CONFIG_NFSD is not set -CONFIG_LOCKD=y -CONFIG_LOCKD_V4=y -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=y -CONFIG_SUNRPC_GSS=y -CONFIG_RPCSEC_GSS_KRB5=y -# CONFIG_RPCSEC_GSS_SPKM3 is not set -# CONFIG_SMB_FS is not set -CONFIG_CIFS=y -# CONFIG_CIFS_STATS is not set -# CONFIG_CIFS_WEAK_PW_HASH is not set -# CONFIG_CIFS_XATTR is not set -# CONFIG_CIFS_DEBUG2 is not set -# CONFIG_CIFS_EXPERIMENTAL is not set -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set - -# -# Partition Types -# -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_MSDOS_PARTITION=y - -# -# Native Language Support -# -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -# CONFIG_NLS_CODEPAGE_850 is not set -# CONFIG_NLS_CODEPAGE_852 is not set -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -# CONFIG_NLS_CODEPAGE_863 is not set -# CONFIG_NLS_CODEPAGE_864 is not set -# CONFIG_NLS_CODEPAGE_865 is not set -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -# CONFIG_NLS_ASCII is not set -CONFIG_NLS_ISO8859_1=y -CONFIG_NLS_ISO8859_2=y -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -CONFIG_NLS_ISO8859_15=y -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -CONFIG_NLS_UTF8=y - -# -# Distributed Lock Manager -# -# CONFIG_DLM is not set - -# -# Profiling support -# -# CONFIG_PROFILING is not set - -# -# Kernel hacking -# -CONFIG_PRINTK_TIME=y -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_MAGIC_SYSRQ=y -# CONFIG_UNUSED_SYMBOLS is not set -CONFIG_DEBUG_FS=y -# CONFIG_HEADERS_CHECK is not set -CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_SHIRQ is not set -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_DETECT_SOFTLOCKUP=y -# CONFIG_SCHEDSTATS is not set -# CONFIG_TIMER_STATS is not set -# CONFIG_DEBUG_SLAB 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 is not set -# CONFIG_DEBUG_SPINLOCK_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS 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_LIST is not set -CONFIG_FRAME_POINTER=y -CONFIG_FORCED_INLINING=y -# CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_FAULT_INJECTION is not set - -# -# GCOV coverage profiling -# -# CONFIG_GCOV_PROFILE is not set -CONFIG_DEBUG_USER=y -CONFIG_DEBUG_ERRORS=y -# CONFIG_DEBUG_LL is not set - -# -# Security options -# -# CONFIG_KEYS is not set -CONFIG_SECURITY=y -# CONFIG_SECURITY_NETWORK is not set -# CONFIG_SECURITY_CAPABILITIES is not set -# CONFIG_SECURITY_ROOTPLUG is not set -CONFIG_SECURITY_LOWMEM=y - -# -# Cryptographic options -# -CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_MANAGER=y -# CONFIG_CRYPTO_HMAC is not set -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -# CONFIG_CRYPTO_SHA1 is not set -# CONFIG_CRYPTO_SHA256 is not set -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_WP512 is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_GF128MUL is not set -CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_PCBC=m -# CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_TWOFISH is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_AES is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_ARC4 is not set -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_ANUBIS is not set -# CONFIG_CRYPTO_DEFLATE is not set -# CONFIG_CRYPTO_LZO is not set -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_CRC32C is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_TEST is not set - -# -# Hardware crypto devices -# - -# -# Library routines -# -CONFIG_BITREVERSE=y -CONFIG_CRC_CCITT=y -# CONFIG_CRC16 is not set -CONFIG_CRC32=y -# CONFIG_LIBCRC32C is not set -CONFIG_LZO_COMPRESS=y -CONFIG_LZO_DECOMPRESS=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_PLIST=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/suspend-button.patch b/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/suspend-button.patch deleted file mode 100644 index 791a66e02a..0000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.21-200823maemo6/suspend-button.patch +++ /dev/null @@ -1,60 +0,0 @@ -Index: linux-2.6.21/drivers/cbus/retu-pwrbutton.c -=================================================================== ---- linux-2.6.21.orig/drivers/cbus/retu-pwrbutton.c 2008-02-20 22:44:18.000000000 +0000 -+++ linux-2.6.21/drivers/cbus/retu-pwrbutton.c 2008-02-20 22:46:22.000000000 +0000 -@@ -53,7 +53,9 @@ - state = PWRBTN_PRESSED; - - if (pwrbtn_state != state) { -- input_report_key(pwrbtn_dev, KEY_POWER, state); -+ input_report_key(pwrbtn_dev, KEY_SUSPEND, state); -+ if (state == PWRBTN_PRESSED) -+ input_event(pwrbtn_dev, EV_PWR, KEY_SUSPEND, 1); - pwrbtn_state = state; - } - } -@@ -92,8 +94,8 @@ - if (!pwrbtn_dev) - return -ENOMEM; - -- pwrbtn_dev->evbit[0] = BIT(EV_KEY); -- pwrbtn_dev->keybit[LONG(KEY_POWER)] = BIT(KEY_POWER); -+ pwrbtn_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_PWR); -+ pwrbtn_dev->keybit[LONG(KEY_SUSPEND)] = BIT(KEY_SUSPEND); - pwrbtn_dev->name = "retu-pwrbutton"; - - input_register_device(pwrbtn_dev); -Index: linux-2.6.21/drivers/char/apm-emulation.c -=================================================================== ---- linux-2.6.21.orig/drivers/char/apm-emulation.c 2008-02-21 00:32:41.000000000 +0000 -+++ linux-2.6.21/drivers/char/apm-emulation.c 2008-02-21 00:33:43.000000000 +0000 -@@ -206,10 +206,18 @@ - return ret; - } - -+static in_suspend; -+ - static void apm_suspend(void) - { - struct apm_user *as; -- int err = pm_suspend(PM_SUSPEND_MEM); -+ int err; -+ -+ in_suspend = 1; -+ -+ err = pm_suspend(PM_SUSPEND_MEM); -+ -+ in_suspend = 0; - - /* - * Anyone on the APM queues will think we're still suspended. -@@ -663,6 +671,9 @@ - { - unsigned long flags; - -+ if (in_suspend) -+ return; -+ - spin_lock_irqsave(&kapmd_queue_lock, flags); - queue_add_event(&kapmd_queue, event); - spin_unlock_irqrestore(&kapmd_queue_lock, flags); diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig b/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig deleted file mode 100644 index 52ee1b10ce..0000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/nokia800/defconfig +++ /dev/null @@ -1,1642 +0,0 @@ -# -# Automatically generated make config: don't edit -# Linux kernel version: 2.6.21-omap1 -# Tue Mar 4 12:08:53 2008 -# -CONFIG_ARM=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -CONFIG_GENERIC_GPIO=y -CONFIG_GENERIC_TIME=y -CONFIG_MMU=y -# CONFIG_NO_IOPORT is not set -CONFIG_GENERIC_HARDIRQS=y -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ZONE_DMA=y -CONFIG_VECTORS_BASE=0xffff0000 -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" - -# -# Code maturity level options -# -CONFIG_EXPERIMENTAL=y -CONFIG_BROKEN_ON_SMP=y -CONFIG_INIT_ENV_ARG_LIMIT=32 - -# -# General setup -# -CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -# CONFIG_IPC_NS is not set -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_POSIX_MQUEUE=y -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_TASKSTATS is not set -# CONFIG_UTS_NS is not set -# CONFIG_AUDIT is not set -# CONFIG_IKCONFIG is not set -CONFIG_SYSFS_DEPRECATED=y -# CONFIG_RELAY is not set -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_SYSCTL=y -# CONFIG_EMBEDDED is not set -CONFIG_UID16=y -CONFIG_SYSCTL_SYSCALL=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_ALL is not set -# CONFIG_KALLSYMS_EXTRA_PASS is not set -CONFIG_HOTPLUG=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_EPOLL=y -CONFIG_SHMEM=y -CONFIG_SLAB=y -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_RT_MUTEXES=y -# CONFIG_TINY_SHMEM is not set -CONFIG_BASE_SMALL=0 -# CONFIG_SLOB is not set - -# -# Loadable module support -# -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_KMOD is not set - -# -# Block layer -# -CONFIG_BLOCK=y -# CONFIG_LBD is not set -# CONFIG_BLK_DEV_IO_TRACE is not set -# CONFIG_LSF is not set - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -# CONFIG_IOSCHED_AS is not set -# CONFIG_IOSCHED_DEADLINE is not set -# CONFIG_IOSCHED_CFQ is not set -# CONFIG_DEFAULT_AS is not set -# CONFIG_DEFAULT_DEADLINE is not set -# CONFIG_DEFAULT_CFQ is not set -CONFIG_DEFAULT_NOOP=y -CONFIG_DEFAULT_IOSCHED="noop" - -# -# System Type -# -# CONFIG_ARCH_AAEC2000 is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IOP13XX is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_NS9XXX is not set -# CONFIG_ARCH_PNX4008 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_LH7A40X is not set -CONFIG_ARCH_OMAP=y - -# -# TI OMAP Implementations -# -CONFIG_ARCH_OMAP_OTG=y -# CONFIG_ARCH_OMAP1 is not set -CONFIG_ARCH_OMAP2=y - -# -# OMAP Feature Selections -# -CONFIG_MACH_OMAP2420_DVFS=y -CONFIG_ARCH_OMAP2420_DEBUG=y -CONFIG_ARCH_OMAP2420_OBSERVABILITY=m -CONFIG_ARCH_OMAP2420_PEEK_N_POKE=m -CONFIG_ARCH_OMAP2420_SNAPSHOT=m -CONFIG_ARCH_OMAP2420_DMA_DRAIN=y -CONFIG_OMAP_RESET_CLOCKS=y -CONFIG_OMAP_BOOT_TAG=y -CONFIG_OMAP_BOOT_REASON=y -CONFIG_OMAP_COMPONENT_VERSION=y -CONFIG_OMAP_GPIO_SWITCH=y -# CONFIG_OMAP_MUX is not set -CONFIG_OMAP_STI=y -CONFIG_OMAP_STI_CONSOLE=y -# CONFIG_OMAP_MCBSP is not set -CONFIG_OMAP_MMU_FWK=y -CONFIG_OMAP_MBOX_FWK=y -# CONFIG_OMAP_MPU_TIMER is not set -CONFIG_OMAP_32K_TIMER=y -CONFIG_OMAP_32K_TIMER_HZ=128 -CONFIG_OMAP_DM_TIMER=y -# CONFIG_OMAP_LL_DEBUG_UART1 is not set -# CONFIG_OMAP_LL_DEBUG_UART2 is not set -CONFIG_OMAP_LL_DEBUG_UART3=y -CONFIG_OMAP_DSP=y -# CONFIG_OMAP_DSP_MBCMD_VERBOSE is not set -CONFIG_OMAP_DSP_TASK_MULTIOPEN=y -CONFIG_OMAP_DSP_FBEXPORT=y -CONFIG_OMAP_DSP_PAUSING=y -# CONFIG_MACH_OMAP_GENERIC is not set - -# -# OMAP Core Type -# -CONFIG_ARCH_OMAP24XX=y -CONFIG_ARCH_OMAP2420=y -# CONFIG_ARCH_OMAP2430 is not set - -# -# OMAP Board Type -# -CONFIG_MACH_NOKIA_N800=y -CONFIG_MACH_NOKIA_RX44=y -CONFIG_MACH_OMAP2_TUSB6010=y -# CONFIG_MACH_OMAP_H4 is not set -# CONFIG_MACH_OMAP_APOLLON is not set -# CONFIG_MACH_OMAP_2430SDP is not set - -# -# Processor Type -# -CONFIG_CPU_32=y -CONFIG_CPU_V6=y -# CONFIG_CPU_32v6K is not set -CONFIG_CPU_32v6=y -CONFIG_CPU_ABRT_EV6=y -CONFIG_CPU_CACHE_V6=y -CONFIG_CPU_CACHE_VIPT=y -CONFIG_CPU_COPY_V6=y -CONFIG_CPU_TLB_V6=y -CONFIG_CPU_CP15=y -CONFIG_CPU_CP15_MMU=y - -# -# Processor Features -# -CONFIG_ARM_THUMB=y -# CONFIG_CPU_ICACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_WRITETHROUGH is not set -# CONFIG_CPU_BPREDICT_DISABLE is not set -# CONFIG_OUTER_CACHE is not set - -# -# Bus support -# - -# -# PCCARD (PCMCIA/CardBus) support -# -# CONFIG_PCCARD is not set - -# -# Kernel Features -# -# CONFIG_PREEMPT is not set -CONFIG_NO_IDLE_HZ=y -CONFIG_HZ=128 -CONFIG_AEABI=y -CONFIG_OABI_COMPAT=y -# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y -# CONFIG_DISCONTIGMEM_MANUAL is not set -# CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -# CONFIG_SPARSEMEM_STATIC is not set -CONFIG_SPLIT_PTLOCK_CPUS=4 -# CONFIG_RESOURCES_64BIT is not set -CONFIG_ZONE_DMA_FLAG=1 -CONFIG_LEDS=y -CONFIG_ALIGNMENT_TRAP=y - -# -# Boot options -# -CONFIG_ZBOOT_ROM_TEXT=0x10C08000 -CONFIG_ZBOOT_ROM_BSS=0x10200000 -# CONFIG_ZBOOT_ROM is not set -CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 ro console=tty0" -# CONFIG_XIP_KERNEL is not set -# CONFIG_KEXEC is not set - -# -# CPU Frequency scaling -# -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_TABLE=y -# CONFIG_CPU_FREQ_DEBUG is not set -CONFIG_CPU_FREQ_STAT=y -# CONFIG_CPU_FREQ_STAT_DETAILS is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_NULL=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_NULL=y -# CONFIG_CPU_FREQ_GOV_USERSPACE is not set -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y - -# -# Floating point emulation -# - -# -# At least one emulation must be selected -# -CONFIG_FPE_NWFPE=y -# CONFIG_FPE_NWFPE_XP is not set -# CONFIG_FPE_FASTFPE is not set -CONFIG_VFP=y - -# -# Userspace binary formats -# -CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_AOUT is not set -# CONFIG_BINFMT_MISC is not set - -# -# Power management options -# -CONFIG_PM=y -# CONFIG_PM_LEGACY is not set -# CONFIG_PM_DEBUG is not set -# CONFIG_PM_SYSFS_DEPRECATED is not set -CONFIG_APM_EMULATION=y - -# -# Networking -# -CONFIG_NET=y - -# -# Networking options -# -# CONFIG_NETDEBUG is not set -CONFIG_PACKET=y -# CONFIG_PACKET_MMAP is not set -CONFIG_UNIX=y -CONFIG_XFRM=y -# CONFIG_XFRM_USER is not set -# CONFIG_XFRM_SUB_POLICY is not set -# CONFIG_XFRM_MIGRATE is not set -# CONFIG_NET_KEY is not set -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -# CONFIG_IP_ADVANCED_ROUTER is not set -CONFIG_IP_FIB_HASH=y -# CONFIG_IP_PNP is not set -# CONFIG_NET_IPIP is not set -# CONFIG_NET_IPGRE is not set -# CONFIG_IP_MROUTE is not set -# CONFIG_ARPD is not set -# CONFIG_SYN_COOKIES is not set -# CONFIG_INET_AH is not set -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -# CONFIG_INET_XFRM_TUNNEL is not set -# CONFIG_INET_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -CONFIG_INET_XFRM_MODE_BEET=y -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_CUBIC=y -CONFIG_DEFAULT_TCP_CONG="cubic" -# CONFIG_TCP_MD5SIG is not set - -# -# IP: Virtual Server Configuration -# -# CONFIG_IP_VS is not set -# CONFIG_IPV6 is not set -# CONFIG_INET6_XFRM_TUNNEL is not set -# CONFIG_INET6_TUNNEL is not set -# CONFIG_NETLABEL is not set -# CONFIG_NETWORK_SECMARK is not set -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_NETLINK=y -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -# CONFIG_NETFILTER_NETLINK_LOG is not set -# CONFIG_NF_CONNTRACK_ENABLED is not set -CONFIG_NETFILTER_XTABLES=y -# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set -# CONFIG_NETFILTER_XT_TARGET_MARK is not set -# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set -# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set -# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set -# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set -# CONFIG_NETFILTER_XT_MATCH_DSCP is not set -# CONFIG_NETFILTER_XT_MATCH_ESP is not set -# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set -# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_MAC is not set -# CONFIG_NETFILTER_XT_MATCH_MARK is not set -# CONFIG_NETFILTER_XT_MATCH_POLICY is not set -# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set -# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set -# CONFIG_NETFILTER_XT_MATCH_REALM is not set -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set -# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set -# CONFIG_NETFILTER_XT_MATCH_STRING is not set -# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set -# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set - -# -# IP: Netfilter Configuration -# -# CONFIG_IP_NF_QUEUE is not set -CONFIG_IP_NF_IPTABLES=y -# CONFIG_IP_NF_MATCH_IPRANGE is not set -# CONFIG_IP_NF_MATCH_TOS is not set -# CONFIG_IP_NF_MATCH_RECENT is not set -# CONFIG_IP_NF_MATCH_ECN is not set -# CONFIG_IP_NF_MATCH_AH is not set -# CONFIG_IP_NF_MATCH_TTL is not set -# CONFIG_IP_NF_MATCH_OWNER is not set -# CONFIG_IP_NF_MATCH_ADDRTYPE is not set -CONFIG_IP_NF_FILTER=y -# CONFIG_IP_NF_TARGET_REJECT is not set -# CONFIG_IP_NF_TARGET_LOG is not set -# CONFIG_IP_NF_TARGET_ULOG is not set -CONFIG_IP_NF_TARGET_IDLETIMER=y -# CONFIG_IP_NF_MANGLE is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_ARPTABLES is not set - -# -# DCCP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_DCCP is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# -# CONFIG_IP_SCTP is not set - -# -# TIPC Configuration (EXPERIMENTAL) -# -# CONFIG_TIPC is not set -# CONFIG_ATM is not set -# CONFIG_BRIDGE is not set -# CONFIG_VLAN_8021Q is not set -# CONFIG_DECNET is not set -# CONFIG_LLC2 is not set -# CONFIG_IPX is not set -# CONFIG_ATALK is not set -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_ECONET is not set -# CONFIG_WAN_ROUTER is not set - -# -# QoS and/or fair queueing -# -# CONFIG_NET_SCHED is not set - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_IRDA is not set -CONFIG_BT=y -CONFIG_BT_L2CAP=y -CONFIG_BT_SCO=y -CONFIG_BT_RFCOMM=y -CONFIG_BT_RFCOMM_TTY=y -CONFIG_BT_BNEP=y -# CONFIG_BT_BNEP_MC_FILTER is not set -# CONFIG_BT_BNEP_PROTO_FILTER is not set -CONFIG_BT_HIDP=y - -# -# Bluetooth device drivers -# -# CONFIG_BT_HCIUSB is not set -# CONFIG_BT_HCIUART is not set -# CONFIG_BT_HCIBCM203X is not set -# CONFIG_BT_HCIBPA10X is not set -# CONFIG_BT_HCIBFUSB is not set -# CONFIG_BT_HCIBRF6150 is not set -CONFIG_BT_HCIH4P=y -# CONFIG_BT_HCIVHCI is not set -# CONFIG_IEEE80211 is not set -CONFIG_WIRELESS_EXT=y - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y -CONFIG_FW_LOADER=y -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_DEVRES is not set -# CONFIG_SYS_HYPERVISOR is not set - -# -# Connector - unified userspace <-> kernelspace linker -# -# CONFIG_CONNECTOR is not set - -# -# Memory Technology Devices (MTD) -# -CONFIG_MTD=y -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_CONCAT is not set -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_REDBOOT_PARTS is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_AFS_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set -# CONFIG_RFD_FTL is not set -# CONFIG_SSFDC is not set -# CONFIG_MTD_OOPS is not set - -# -# RAM/ROM/Flash chip drivers -# -# CONFIG_MTD_CFI is not set -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_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_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_OBSOLETE_CHIPS is not set - -# -# Mapping drivers for chip access -# -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_PLATRAM is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_DATAFLASH is not set -# CONFIG_MTD_M25P80 is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLOCK2MTD is not set - -# -# Disk-On-Chip Device Drivers -# -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set - -# -# NAND Flash Device Drivers -# -# CONFIG_MTD_NAND is not set - -# -# OneNAND Flash Device Drivers -# -CONFIG_MTD_ONENAND=y -# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set -# CONFIG_MTD_ONENAND_GENERIC is not set -CONFIG_MTD_ONENAND_OMAP2=y -CONFIG_MTD_ONENAND_OTP=y - -# -# Parallel port support -# -# CONFIG_PARPORT is not set - -# -# Plug and Play support -# -# CONFIG_PNPACPI is not set - -# -# Block devices -# -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=y -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_UB is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=4096 -CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set - -# -# SCSI device support -# -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y -# CONFIG_SCSI_TGT is not set -# CONFIG_SCSI_NETLINK is not set -# CONFIG_SCSI_PROC_FS is not set - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -# CONFIG_BLK_DEV_SR is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set - -# -# Some SCSI devices (e.g. CD jukebox) support multiple LUNs -# -CONFIG_SCSI_MULTI_LUN=y -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -# CONFIG_SCSI_SCAN_ASYNC is not set - -# -# SCSI Transports -# -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_SAS_ATTRS is not set -# CONFIG_SCSI_SAS_LIBSAS is not set - -# -# SCSI low-level drivers -# -# CONFIG_ISCSI_TCP is not set -# CONFIG_SCSI_DEBUG is not set - -# -# Serial ATA (prod) and Parallel ATA (experimental) drivers -# -# CONFIG_ATA is not set - -# -# Multi-device support (RAID and LVM) -# -# CONFIG_MD is not set - -# -# Fusion MPT device support -# -# CONFIG_FUSION is not set - -# -# IEEE 1394 (FireWire) support -# - -# -# I2O device support -# - -# -# Network device support -# -CONFIG_NETDEVICES=y -# CONFIG_DUMMY is not set -# CONFIG_BONDING is not set -# CONFIG_EQUALIZER is not set -CONFIG_TUN=y - -# -# PHY device support -# - -# -# Ethernet (10 or 100Mbit) -# -# CONFIG_NET_ETHERNET is not set -CONFIG_MII=y - -# -# Ethernet (1000 Mbit) -# - -# -# Ethernet (10000 Mbit) -# - -# -# Token Ring devices -# - -# -# Wireless LAN (non-hamradio) -# -CONFIG_NET_RADIO=y -# CONFIG_NET_WIRELESS_RTNETLINK is not set - -# -# Obsolete Wireless cards support (pre-802.11) -# -# CONFIG_STRIP is not set -# CONFIG_USB_ZD1201 is not set -# CONFIG_HOSTAP is not set - -# -# Wan interfaces -# -# CONFIG_WAN is not set -CONFIG_PPP=y -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPP_FILTER=y -CONFIG_PPP_ASYNC=y -CONFIG_PPP_SYNC_TTY=y -CONFIG_PPP_DEFLATE=y -CONFIG_PPP_BSDCOMP=y -# CONFIG_PPP_MPPE is not set -# CONFIG_PPPOE is not set -# CONFIG_SLIP is not set -CONFIG_SLHC=y -# CONFIG_SHAPER is not set -# CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set - -# -# ISDN subsystem -# -# CONFIG_ISDN is not set - -# -# Input device support -# -CONFIG_INPUT=y -# CONFIG_INPUT_FF_MEMLESS is not set - -# -# Userland interfaces -# -CONFIG_INPUT_MOUSEDEV=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -# CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_TSDEV is not set -CONFIG_INPUT_EVDEV=y -# CONFIG_INPUT_EVBUG is not set -CONFIG_INPUT_POWER=y - -# -# Input Device Drivers -# -CONFIG_INPUT_KEYBOARD=y -# CONFIG_KEYBOARD_ATKBD is not set -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_STOWAWAY is not set -# CONFIG_KEYBOARD_OMAP is not set -# CONFIG_KEYBOARD_GPIO is not set -CONFIG_KEYBOARD_TSC2301=y -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_JOYSTICK is not set -CONFIG_INPUT_TOUCHSCREEN=y -# CONFIG_TOUCHSCREEN_ADS7846 is not set -# CONFIG_TOUCHSCREEN_GUNZE is not set -# CONFIG_TOUCHSCREEN_ELO is not set -# CONFIG_TOUCHSCREEN_MTOUCH is not set -# CONFIG_TOUCHSCREEN_MK712 is not set -# CONFIG_TOUCHSCREEN_PENMOUNT is not set -# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set -# CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_UCB1400 is not set -CONFIG_TOUCHSCREEN_TSC2005=y -CONFIG_TOUCHSCREEN_TSC2301=y -# CONFIG_TOUCHSCREEN_TSC2046 is not set -# CONFIG_INPUT_MISC is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_RAW is not set -# CONFIG_GAMEPORT is not set - -# -# Character devices -# -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -CONFIG_HW_CONSOLE=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set -# CONFIG_SERIAL_NONSTANDARD is not set - -# -# Serial drivers -# -# CONFIG_SERIAL_8250 is not set - -# -# Non-8250 serial port support -# -CONFIG_SERIAL_OMAP=y -CONFIG_SERIAL_OMAP_CONSOLE=y -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_UNIX98_PTYS=y -# CONFIG_LEGACY_PTYS is not set - -# -# IPMI -# -# CONFIG_IPMI_HANDLER is not set - -# -# Watchdog Cards -# -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_NOWAYOUT=y - -# -# Watchdog Device Drivers -# -# CONFIG_SOFT_WATCHDOG is not set -CONFIG_OMAP_WATCHDOG=y - -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG is not set -# CONFIG_HW_RANDOM is not set -# CONFIG_NVRAM is not set -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set -# CONFIG_RAW_DRIVER is not set - -# -# TPM devices -# -# CONFIG_TCG_TPM is not set - -# -# I2C support -# -CONFIG_I2C=y -# CONFIG_I2C_CHARDEV is not set - -# -# I2C Algorithms -# -# CONFIG_I2C_ALGOBIT is not set -# CONFIG_I2C_ALGOPCF is not set -# CONFIG_I2C_ALGOPCA is not set - -# -# I2C Hardware Bus support -# -# CONFIG_I2C_OCORES is not set -CONFIG_I2C_OMAP=y -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_PCA_ISA is not set - -# -# Miscellaneous I2C Chip support -# -# CONFIG_SENSORS_DS1337 is not set -# CONFIG_SENSORS_DS1374 is not set -# CONFIG_SENSORS_EEPROM is not set -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_ISP1301_OMAP is not set -# CONFIG_TPS65010 is not set -# CONFIG_SENSORS_TLV320AIC23 is not set -CONFIG_SENSORS_TSL2563=y -# CONFIG_GPIOEXPANDER_OMAP is not set -CONFIG_LM8323=y -CONFIG_LP5521=y -CONFIG_MENELAUS=y -# CONFIG_TWL4030_CORE is not set -# CONFIG_SENSORS_MAX6875 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_I2C_DEBUG_CHIP is not set - -# -# SPI support -# -CONFIG_SPI=y -# CONFIG_SPI_DEBUG is not set -CONFIG_SPI_MASTER=y - -# -# SPI Master Controller Drivers -# -# CONFIG_SPI_BITBANG is not set -CONFIG_SPI_OMAP24XX=y -CONFIG_SPI_OMAP_PAUSING=y - -# -# SPI Protocol Masters -# -# CONFIG_SPI_AT25 is not set -# CONFIG_SPI_TSC2005 is not set -# CONFIG_SPI_TSC2101 is not set -# CONFIG_SPI_TSC2102 is not set -CONFIG_SPI_TSC2301=y -CONFIG_SPI_TSC2301_AUDIO=y - -# -# Dallas's 1-wire bus -# -# CONFIG_W1 is not set - -# -# Hardware Monitoring support -# -CONFIG_HWMON=y -# CONFIG_HWMON_VID is not set -# CONFIG_SENSORS_ABITUGURU is not set -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1029 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ASB100 is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_FSCHER is not set -# CONFIG_SENSORS_FSCPOS is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM70 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set -# CONFIG_SENSORS_LM90 is not set -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PC87427 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -CONFIG_SENSORS_TMP105=y -# CONFIG_SENSORS_VT1211 is not set -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83793 is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set - -# -# Misc devices -# - -# -# Multifunction device drivers -# -# CONFIG_MFD_SM501 is not set - -# -# LED devices -# -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y - -# -# LED drivers -# -# CONFIG_LEDS_OMAP_DEBUG is not set -# CONFIG_LEDS_OMAP is not set -CONFIG_LEDS_OMAP_PWM=y - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y - -# -# Multimedia devices -# -CONFIG_VIDEO_DEV=y -# CONFIG_VIDEO_V4L1 is not set -# CONFIG_VIDEO_V4L1_COMPAT is not set -CONFIG_VIDEO_V4L2=y - -# -# Video Capture Adapters -# - -# -# Video Capture Adapters -# -# CONFIG_VIDEO_ADV_DEBUG is not set -CONFIG_VIDEO_HELPER_CHIPS_AUTO=y -# CONFIG_VIDEO_SAA5246A is not set -# CONFIG_VIDEO_SAA5249 is not set - -# -# V4L USB devices -# -# CONFIG_VIDEO_PVRUSB2 is not set -# CONFIG_VIDEO_USBVISION is not set -CONFIG_VIDEO_OMAP_CAMERA=y -# CONFIG_VIDEO_CAMERA_SENSOR_OV9640 is not set -CONFIG_VIDEO_CAMERA_SENSOR_TCM825X=y - -# -# Radio Adapters -# -CONFIG_RADIO_TEA5761=y -# CONFIG_USB_DSBR is not set - -# -# Digital Video Broadcasting Devices -# -# CONFIG_DVB is not set -CONFIG_VIDEO_BUF=y -# CONFIG_USB_DABUSB is not set - -# -# Graphics support -# -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set -CONFIG_FB=y -# CONFIG_FIRMWARE_EDID is not set -# CONFIG_FB_DDC is not set -# CONFIG_FB_CFB_FILLRECT is not set -# CONFIG_FB_CFB_COPYAREA is not set -# CONFIG_FB_CFB_IMAGEBLIT is not set -# CONFIG_FB_SVGALIB is not set -# CONFIG_FB_MACMODES is not set -# CONFIG_FB_BACKLIGHT is not set -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_TILEBLITTING is not set - -# -# Frame buffer hardware drivers -# -# CONFIG_FB_S1D13XXX is not set -CONFIG_FB_OMAP=y -CONFIG_FB_OMAP_LCDC_EXTERNAL=y -# CONFIG_FB_OMAP_LCDC_HWA742 is not set -CONFIG_FB_OMAP_LCDC_BLIZZARD=y -# CONFIG_FB_OMAP_MANUAL_UPDATE is not set -CONFIG_FB_OMAP_LCD_MIPID=y -CONFIG_FB_OMAP_BOOTLOADER_INIT=y -CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4 -CONFIG_FB_OMAP_PAUSING=y -# CONFIG_FB_VIRTUAL is not set - -# -# Console display driver support -# -# CONFIG_VGA_CONSOLE is not set -CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y - -# -# Logo configuration -# -# CONFIG_LOGO is not set - -# -# Sound -# -CONFIG_SOUND=y - -# -# Advanced Linux Sound Architecture -# -CONFIG_SND=y -# CONFIG_SND_SEQUENCER is not set -CONFIG_SND_OSSEMUL=y -CONFIG_SND_MIXER_OSS=y -# CONFIG_SND_PCM_OSS is not set -# CONFIG_SND_DYNAMIC_MINORS is not set -CONFIG_SND_SUPPORT_OLD_API=y -# CONFIG_SND_VERBOSE_PROCFS is not set -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG is not set - -# -# Generic devices -# -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set - -# -# ALSA ARM devices -# -# CONFIG_SND_OMAP_AIC23 is not set -CONFIG_SND_AIC33=y -# CONFIG_SND_OMAP_TSC2101 is not set -# CONFIG_SND_SX1 is not set -# CONFIG_SND_OMAP_TSC2102 is not set -CONFIG_SND_OMAP24XX_EAC=y - -# -# USB devices -# -# CONFIG_SND_USB_AUDIO is not set - -# -# SoC audio support -# -# CONFIG_SND_SOC is not set - -# -# Open Sound System -# -# CONFIG_SOUND_PRIME is not set - -# -# HID Devices -# -CONFIG_HID=y -# CONFIG_HID_DEBUG is not set - -# -# USB support -# -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -# CONFIG_USB_ARCH_HAS_EHCI is not set -CONFIG_USB=y -CONFIG_USB_DEBUG=y - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICEFS=y -CONFIG_USB_DYNAMIC_MINORS=y -CONFIG_USB_SUSPEND=y -CONFIG_USB_OTG=y -CONFIG_USB_OTG_WHITELIST=y -# CONFIG_USB_OTG_BLACKLIST_HUB is not set - -# -# USB Host Controller Drivers -# -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_OHCI_HCD is not set -# CONFIG_USB_SL811_HCD is not set -CONFIG_USB_MUSB_HDRC=y -CONFIG_USB_TUSB6010=y -CONFIG_USB_TUSB6010_TEST=y -# CONFIG_USB_MUSB_HOST is not set -# CONFIG_USB_MUSB_PERIPHERAL is not set -CONFIG_USB_MUSB_OTG=y -CONFIG_USB_GADGET_MUSB_HDRC=y -CONFIG_USB_MUSB_HDRC_HCD=y -CONFIG_USB_MUSB_HSET=y -# CONFIG_MUSB_PIO_ONLY is not set -# CONFIG_USB_INVENTRA_DMA is not set -# CONFIG_USB_TI_CPPI_DMA is not set -CONFIG_USB_TUSB_OMAP_DMA=y -CONFIG_USB_MUSB_LOGLEVEL=1 - -# -# USB Device Class drivers -# -# CONFIG_USB_ACM is not set -# CONFIG_USB_PRINTER is not set - -# -# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' -# - -# -# may also be needed; see USB_STORAGE Help for more information -# -CONFIG_USB_STORAGE=y -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_DPCM is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_KARMA is not set -CONFIG_USB_LIBUSUAL=y - -# -# USB Input Devices -# -CONFIG_USB_HID=y -# CONFIG_USB_HIDINPUT_POWERBOOK is not set -# CONFIG_HID_FF is not set -# CONFIG_USB_HIDDEV is not set -# CONFIG_USB_AIPTEK is not set -# CONFIG_USB_WACOM is not set -# CONFIG_USB_ACECAD is not set -# CONFIG_USB_KBTAB is not set -# CONFIG_USB_POWERMATE is not set -# CONFIG_USB_TOUCHSCREEN is not set -# CONFIG_USB_YEALINK is not set -# CONFIG_USB_XPAD is not set -# CONFIG_USB_ATI_REMOTE is not set -# CONFIG_USB_ATI_REMOTE2 is not set -# CONFIG_USB_KEYSPAN_REMOTE is not set -# CONFIG_USB_APPLETOUCH is not set -# CONFIG_USB_GTCO is not set - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set - -# -# USB Network Adapters -# -# CONFIG_USB_CATC is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_PEGASUS is not set -CONFIG_USB_RTL8150=y -# CONFIG_USB_USBNET_MII is not set -CONFIG_USB_USBNET=y -CONFIG_USB_NET_CDCETHER=y -# CONFIG_USB_NET_DM9601 is not set -# CONFIG_USB_NET_GL620A is not set -CONFIG_USB_NET_NET1080=y -CONFIG_USB_NET_PLUSB=y -# CONFIG_USB_NET_MCS7830 is not set -CONFIG_USB_NET_RNDIS_HOST=y -CONFIG_USB_NET_CDC_SUBSET=y -# CONFIG_USB_ALI_M5632 is not set -# CONFIG_USB_AN2720 is not set -CONFIG_USB_BELKIN=y -CONFIG_USB_ARMLINUX=y -# CONFIG_USB_EPSON2888 is not set -# CONFIG_USB_KC2190 is not set -CONFIG_USB_NET_ZAURUS=y -CONFIG_USB_MON=y - -# -# USB port drivers -# - -# -# USB Serial Converter support -# -# CONFIG_USB_SERIAL is not set - -# -# USB Miscellaneous drivers -# -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_ADUTUX is not set -# CONFIG_USB_AUERSWALD is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_BERRY_CHARGE is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYPRESS_CY7C63 is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_PHIDGET is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_FTDI_ELAN is not set -# CONFIG_USB_APPLEDISPLAY is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TRANCEVIBRATOR is not set -# CONFIG_USB_IOWARRIOR is not set -CONFIG_USB_TEST=y - -# -# USB DSL modem support -# - -# -# USB Gadget Support -# -CONFIG_USB_GADGET=m -CONFIG_USB_GADGET_DEBUG_FILES=y -CONFIG_USB_GADGET_SELECTED=y -# CONFIG_USB_GADGET_NET2280 is not set -# CONFIG_USB_GADGET_PXA2XX is not set -# CONFIG_USB_GADGET_GOKU is not set -# CONFIG_USB_GADGET_LH7A40X is not set -# CONFIG_USB_GADGET_OMAP is not set -# CONFIG_USB_GADGET_AT91 is not set -# CONFIG_USB_GADGET_DUMMY_HCD is not set -CONFIG_USB_GADGET_DUALSPEED=y -# CONFIG_USB_ZERO is not set -CONFIG_USB_ETH=m -CONFIG_USB_ETH_RNDIS=y -CONFIG_USB_GADGETFS=m -CONFIG_USB_FILE_STORAGE=m -CONFIG_USB_FILE_STORAGE_TEST=y -# CONFIG_USB_G_SERIAL is not set -# CONFIG_USB_MIDI_GADGET is not set - -# -# MMC/SD Card support -# -CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set -CONFIG_MMC_BLOCK=y -CONFIG_MMC_OMAP=y -CONFIG_MMC_PAUSING=y - -# -# Real Time Clock -# -CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set - -# -# CBUS support -# -CONFIG_CBUS=y -CONFIG_CBUS_TAHVO=y -CONFIG_CBUS_TAHVO_USER=y -# CONFIG_CBUS_TAHVO_USB is not set -CONFIG_CBUS_RETU=y -CONFIG_CBUS_RETU_USER=y -CONFIG_CBUS_RETU_POWERBUTTON=y -CONFIG_CBUS_RETU_RTC=y -CONFIG_CBUS_RETU_WDT=y -CONFIG_CBUS_RETU_HEADSET=y - -# -# File systems -# -CONFIG_EXT2_FS=y -CONFIG_EXT2_FS_XATTR=y -# CONFIG_EXT2_FS_POSIX_ACL is not set -# CONFIG_EXT2_FS_SECURITY is not set -# CONFIG_EXT2_FS_XIP is not set -CONFIG_EXT3_FS=y -CONFIG_EXT3_FS_XATTR=y -# CONFIG_EXT3_FS_POSIX_ACL is not set -# CONFIG_EXT3_FS_SECURITY is not set -# CONFIG_EXT4DEV_FS is not set -CONFIG_JBD=y -# CONFIG_JBD_DEBUG is not set -CONFIG_FS_MBCACHE=y -# CONFIG_REISERFS_FS is not set -# CONFIG_JFS_FS is not set -# CONFIG_FS_POSIX_ACL is not set -# CONFIG_XFS_FS is not set -# CONFIG_GFS2_FS is not set -# CONFIG_OCFS2_FS is not set -# CONFIG_MINIX_FS is not set -# CONFIG_ROMFS_FS is not set -CONFIG_INOTIFY=y -CONFIG_INOTIFY_USER=y -# CONFIG_QUOTA is not set -CONFIG_DNOTIFY=y -# CONFIG_AUTOFS_FS is not set -# CONFIG_AUTOFS4_FS is not set -CONFIG_FUSE_FS=y - -# -# CD-ROM/DVD Filesystems -# -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=y -# CONFIG_MSDOS_FS is not set -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -# CONFIG_NTFS_FS is not set - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_PROC_SYSCTL=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -# CONFIG_TMPFS_POSIX_ACL is not set -# CONFIG_HUGETLB_PAGE is not set -CONFIG_RAMFS=y -# CONFIG_CONFIGFS_FS is not set - -# -# Miscellaneous filesystems -# -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -CONFIG_JFFS2_SUMMARY=y -# CONFIG_JFFS2_FS_XATTR is not set -# CONFIG_JFFS2_SYSFS is not set -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_LZO=y -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -# CONFIG_JFFS2_CMODE_NONE is not set -CONFIG_JFFS2_CMODE_PRIORITY=y -# CONFIG_JFFS2_CMODE_SIZE is not set -# CONFIG_JFFS2_CMODE_FAVOURLZO is not set -# CONFIG_CRAMFS is not set -# CONFIG_VXFS_FS is not set -# CONFIG_HPFS_FS is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_FS is not set - -# -# Network File Systems -# -CONFIG_NFS_FS=y -CONFIG_NFS_V3=y -# CONFIG_NFS_V3_ACL is not set -CONFIG_NFS_V4=y -# CONFIG_NFS_DIRECTIO is not set -# CONFIG_NFSD is not set -CONFIG_LOCKD=y -CONFIG_LOCKD_V4=y -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=y -CONFIG_SUNRPC_GSS=y -CONFIG_RPCSEC_GSS_KRB5=y -# CONFIG_RPCSEC_GSS_SPKM3 is not set -# CONFIG_SMB_FS is not set -CONFIG_CIFS=y -# CONFIG_CIFS_STATS is not set -# CONFIG_CIFS_WEAK_PW_HASH is not set -# CONFIG_CIFS_XATTR is not set -# CONFIG_CIFS_DEBUG2 is not set -# CONFIG_CIFS_EXPERIMENTAL is not set -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set - -# -# Partition Types -# -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_MSDOS_PARTITION=y - -# -# Native Language Support -# -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -# CONFIG_NLS_CODEPAGE_850 is not set -# CONFIG_NLS_CODEPAGE_852 is not set -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -# CONFIG_NLS_CODEPAGE_863 is not set -# CONFIG_NLS_CODEPAGE_864 is not set -# CONFIG_NLS_CODEPAGE_865 is not set -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -# CONFIG_NLS_ASCII is not set -CONFIG_NLS_ISO8859_1=y -CONFIG_NLS_ISO8859_2=y -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -CONFIG_NLS_ISO8859_15=y -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -CONFIG_NLS_UTF8=y - -# -# Distributed Lock Manager -# -# CONFIG_DLM is not set - -# -# Profiling support -# -# CONFIG_PROFILING is not set - -# -# Kernel hacking -# -CONFIG_PRINTK_TIME=y -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_MAGIC_SYSRQ=y -# CONFIG_UNUSED_SYMBOLS is not set -CONFIG_DEBUG_FS=y -# CONFIG_HEADERS_CHECK is not set -CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_SHIRQ is not set -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_DETECT_SOFTLOCKUP=y -# CONFIG_SCHEDSTATS is not set -# CONFIG_TIMER_STATS is not set -# CONFIG_DEBUG_SLAB 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 is not set -# CONFIG_DEBUG_SPINLOCK_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS 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_LIST is not set -CONFIG_FRAME_POINTER=y -CONFIG_FORCED_INLINING=y -# CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_FAULT_INJECTION is not set -CONFIG_DEBUG_USER=y -CONFIG_DEBUG_ERRORS=y -# CONFIG_DEBUG_LL is not set - -# -# Security options -# -# CONFIG_KEYS is not set -CONFIG_SECURITY=y -# CONFIG_SECURITY_NETWORK is not set -# CONFIG_SECURITY_CAPABILITIES is not set -# CONFIG_SECURITY_ROOTPLUG is not set -CONFIG_SECURITY_LOWMEM=y - -# -# Cryptographic options -# -CONFIG_CRYPTO=y -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_MANAGER=y -# CONFIG_CRYPTO_HMAC is not set -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -# CONFIG_CRYPTO_SHA1 is not set -# CONFIG_CRYPTO_SHA256 is not set -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_WP512 is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_GF128MUL is not set -CONFIG_CRYPTO_ECB=m -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_PCBC=m -# CONFIG_CRYPTO_LRW is not set -CONFIG_CRYPTO_DES=y -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_TWOFISH is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_AES is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_ARC4 is not set -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_ANUBIS is not set -# CONFIG_CRYPTO_DEFLATE is not set -# CONFIG_CRYPTO_LZO is not set -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_CRC32C is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_TEST is not set - -# -# Hardware crypto devices -# - -# -# Library routines -# -CONFIG_BITREVERSE=y -CONFIG_CRC_CCITT=y -# CONFIG_CRC16 is not set -CONFIG_CRC32=y -# CONFIG_LIBCRC32C is not set -CONFIG_LZO_COMPRESS=y -CONFIG_LZO_DECOMPRESS=y -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_PLIST=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y diff --git a/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/suspend-button.patch b/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/suspend-button.patch deleted file mode 100644 index 791a66e02a..0000000000 --- a/meta-extras/packages/linux/linux-nokia800-2.6.21-osso71/suspend-button.patch +++ /dev/null @@ -1,60 +0,0 @@ -Index: linux-2.6.21/drivers/cbus/retu-pwrbutton.c -=================================================================== ---- linux-2.6.21.orig/drivers/cbus/retu-pwrbutton.c 2008-02-20 22:44:18.000000000 +0000 -+++ linux-2.6.21/drivers/cbus/retu-pwrbutton.c 2008-02-20 22:46:22.000000000 +0000 -@@ -53,7 +53,9 @@ - state = PWRBTN_PRESSED; - - if (pwrbtn_state != state) { -- input_report_key(pwrbtn_dev, KEY_POWER, state); -+ input_report_key(pwrbtn_dev, KEY_SUSPEND, state); -+ if (state == PWRBTN_PRESSED) -+ input_event(pwrbtn_dev, EV_PWR, KEY_SUSPEND, 1); - pwrbtn_state = state; - } - } -@@ -92,8 +94,8 @@ - if (!pwrbtn_dev) - return -ENOMEM; - -- pwrbtn_dev->evbit[0] = BIT(EV_KEY); -- pwrbtn_dev->keybit[LONG(KEY_POWER)] = BIT(KEY_POWER); -+ pwrbtn_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_PWR); -+ pwrbtn_dev->keybit[LONG(KEY_SUSPEND)] = BIT(KEY_SUSPEND); - pwrbtn_dev->name = "retu-pwrbutton"; - - input_register_device(pwrbtn_dev); -Index: linux-2.6.21/drivers/char/apm-emulation.c -=================================================================== ---- linux-2.6.21.orig/drivers/char/apm-emulation.c 2008-02-21 00:32:41.000000000 +0000 -+++ linux-2.6.21/drivers/char/apm-emulation.c 2008-02-21 00:33:43.000000000 +0000 -@@ -206,10 +206,18 @@ - return ret; - } - -+static in_suspend; -+ - static void apm_suspend(void) - { - struct apm_user *as; -- int err = pm_suspend(PM_SUSPEND_MEM); -+ int err; -+ -+ in_suspend = 1; -+ -+ err = pm_suspend(PM_SUSPEND_MEM); -+ -+ in_suspend = 0; - - /* - * Anyone on the APM queues will think we're still suspended. -@@ -663,6 +671,9 @@ - { - unsigned long flags; - -+ if (in_suspend) -+ return; -+ - spin_lock_irqsave(&kapmd_queue_lock, flags); - queue_add_event(&kapmd_queue, event); - spin_unlock_irqrestore(&kapmd_queue_lock, flags); diff --git a/meta-extras/packages/linux/linux-nokia800.inc b/meta-extras/packages/linux/linux-nokia800.inc deleted file mode 100644 index 540dfbb4c2..0000000000 --- a/meta-extras/packages/linux/linux-nokia800.inc +++ /dev/null @@ -1,43 +0,0 @@ -SECTION = "kernel" -DESCRIPTION = "Linux kernel for Nokia 770/800" -LICENSE = "GPL" - -KERNEL_OUTPUT = "arch/${ARCH}/boot/${KERNEL_IMAGETYPE}" -KERNEL_CCSUFFIX = "-3.4.4+csl-arm-2005q3-2" - -inherit kernel deploy - -RPROVIDES_kernel-image = "hostap-modules" - -COMPATIBLE_MACHINE = "nokia770|nokia800" - -RPSRC = "http://www.rpsys.net/openzaurus/patches/archive" - -do_configure_prepend() { - - rm -f ${S}/.config || true - - if [ "${TARGET_OS}" = "linux-gnueabi" -o "${TARGET_OS}" = "linux-uclibcgnueabi" ]; then - echo "CONFIG_AEABI=y" >> ${S}/.config - echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config - else - echo "# CONFIG_AEABI is not set" >> ${S}/.config - echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config - fi - - sed -e '/CONFIG_AEABI/d' \ - -e '/CONFIG_OABI_COMPAT=/d' \ - '${WORKDIR}/defconfig' >>'${S}/.config' - - yes '' | oe_runmake oldconfig - -} - -do_deploy() { - install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOYDIR}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin - cd ${DEPLOYDIR} - ln -sf ${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}.bin ${KERNEL_IMAGETYPE}-${MACHINE}.bin - tar -cvzf ${DEPLOYDIR}/modules-${KERNEL_RELEASE}-${MACHINE}.tgz -C ${D} lib -} - -addtask deploy before do_populate_sysroot after do_install diff --git a/meta-extras/packages/linux/linux-nokia800_2.6.18-osso40.bb b/meta-extras/packages/linux/linux-nokia800_2.6.18-osso40.bb deleted file mode 100644 index f987ab321a..0000000000 --- a/meta-extras/packages/linux/linux-nokia800_2.6.18-osso40.bb +++ /dev/null @@ -1,18 +0,0 @@ -require linux-nokia800.inc - -PR = "r7" -SRC_URI = "http://repository.maemo.org/pool/maemo3.1/free/source/kernel-source-rx-34_2.6.18.orig.tar.gz \ - http://repository.maemo.org/pool/maemo3.1/free/source/kernel-source-rx-34_2.6.18-osso40.diff.gz;patch=1 \ - ${RPSRC}/lzo_kernel-r0.patch;patch=1 \ - ${RPSRC}/lzo_jffs2-r0.patch;patch=1 \ - ${RPSRC}/lzo_crypto-r0b.patch;patch=1 \ - ${RPSRC}/lzo_jffs2_lzomode-r0.patch;patch=1 \ - ${RPSRC}/lzo_jffs2_sysfs-r0.patch;patch=1 \ - file://fix_oprofile.patch;patch=1 \ - file://sumversion-fix.patch;patch=1 \ - file://defconfig" - -SRC_URI_append_nokia770 = " file://nokia770_nand_fix.patch;patch=1" - -S = "${WORKDIR}/linux-g" - diff --git a/meta-extras/packages/linux/linux-nokia800_2.6.21-200823maemo6.bb b/meta-extras/packages/linux/linux-nokia800_2.6.21-200823maemo6.bb deleted file mode 100644 index 9ea91c3a26..0000000000 --- a/meta-extras/packages/linux/linux-nokia800_2.6.21-200823maemo6.bb +++ /dev/null @@ -1,18 +0,0 @@ -require linux-nokia800.inc -PR = "r0" - -DEFAULT_PREFERENCE_nokia770 = "-1" - -SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2 \ - file://kernel-source_2.6.21-200823maemo6.diff.gz;patch=1 \ - http://www.rpsys.net/openzaurus/patches/archive/input_power-r7.patch;patch=1 \ - file://suspend-button.patch;patch=1 \ - file://defconfig" - -S = "${WORKDIR}/linux-2.6.21" - -do_install_append () { - mkdir -p ${D}/kernel/include/drivers/media/video/omap/ - cp -f drivers/media/video/omap/tcm825x.h ${D}/kernel/include/drivers/media/video/omap/ -} - diff --git a/meta-extras/packages/linux/linux-nokia800_2.6.21-osso71.bb b/meta-extras/packages/linux/linux-nokia800_2.6.21-osso71.bb deleted file mode 100644 index b64c697c9b..0000000000 --- a/meta-extras/packages/linux/linux-nokia800_2.6.21-osso71.bb +++ /dev/null @@ -1,18 +0,0 @@ -require linux-nokia800.inc -PR = "r5" - -DEFAULT_PREFERENCE_nokia770 = "-1" - -SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2 \ - http://repository.maemo.org/pool/os2008/free/source/k/kernel-source-rx-34/kernel-source-rx-34_2.6.21.0-osso71.diff.gz;patch=1 \ - http://www.rpsys.net/openzaurus/patches/archive/input_power-r7.patch;patch=1 \ - file://suspend-button.patch;patch=1 \ - file://sumversion-fix.patch;patch=1 \ - file://defconfig" - -S = "${WORKDIR}/linux-2.6.21" - -do_install_append () { - mkdir -p ${D}/kernel/include/drivers/media/video/omap/ - cp -f drivers/media/video/omap/tcm825x.h ${D}/kernel/include/drivers/media/video/omap/ -} diff --git a/meta-extras/packages/linux/linux-openmoko.inc b/meta-extras/packages/linux/linux-openmoko.inc deleted file mode 100644 index a0bf48e609..0000000000 --- a/meta-extras/packages/linux/linux-openmoko.inc +++ /dev/null @@ -1,25 +0,0 @@ -RDEPENDS_kernel-image += "mtd-utils" - -pkg_postinst_kernel-image () { -if test "x$D" != "x"; then - exit 1 -else - if [ -f ${sysconfdir}/default/flashkernel ] ; then - echo "Upgrading Kernel in Flash" - echo "DO NOT stop this process" - - MTD_KERNEL_PARTITION=`cat /proc/mtd | grep kernel | cut -d':' -f1` - MTD_KERNEL_PARTITION=/dev/$MTD_KERNEL_PARTITION - - if [ "x$MTD_KERNEL_PARTITION" = "x" ] ; then - exit 1 - fi - - ${bindir}/flash_eraseall $MTD_KERNEL_PARTITION - ${bindir}/nandwrite -p $MTD_KERNEL_PARTITION /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION} - else - touch ${sysconfdir}/default/flashkernel - fi -fi -} - diff --git a/meta-extras/packages/linux/linux-openmoko/timespec_add_ns_avoid_udivdi3.patch b/meta-extras/packages/linux/linux-openmoko/timespec_add_ns_avoid_udivdi3.patch deleted file mode 100644 index 4aba897b06..0000000000 --- a/meta-extras/packages/linux/linux-openmoko/timespec_add_ns_avoid_udivdi3.patch +++ /dev/null @@ -1,20 +0,0 @@ -Backport of this patch here - -http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg270684.html - -Needed for 2.6.24 to compile with gcc 4.3 -Index: linux-2.6.24/include/linux/time.h -=================================================================== ---- linux-2.6.24.orig/include/linux/time.h 2008-05-28 15:39:46.000000000 -0700 -+++ linux-2.6.24/include/linux/time.h 2008-05-28 15:40:48.000000000 -0700 -@@ -173,6 +173,10 @@ - { - ns += a->tv_nsec; - while(unlikely(ns >= NSEC_PER_SEC)) { -+ /* The following asm() prevents the compiler from -+ * optimising this loop into a modulo operation. */ -+ asm("" : "+r"(ns)); -+ - ns -= NSEC_PER_SEC; - a->tv_sec++; - } diff --git a/meta-extras/packages/linux/linux-openmoko_2.6.24+git.bb b/meta-extras/packages/linux/linux-openmoko_2.6.24+git.bb deleted file mode 100644 index a1d573be17..0000000000 --- a/meta-extras/packages/linux/linux-openmoko_2.6.24+git.bb +++ /dev/null @@ -1,53 +0,0 @@ -require linux.inc -require linux-openmoko.inc - -DESCRIPTION = "Linux 2.6.x (development) kernel for FIC SmartPhones shipping w/ Openmoko" - -PE = "1" -PV = "${KERNEL_RELEASE}+git${SRCREV}" -PR = "r2" - -SRC_URI = "git://git.openmoko.org/git/kernel.git;protocol=git;branch=stable \ - file://timespec_add_ns_avoid_udivdi3.patch;patch=1" - -S = "${WORKDIR}/git" - -do_configure_prepend() { - cp -f ${S}/defconfig-${CONFIG_NAME} ${WORKDIR}/defconfig -} - -############################################################## -# kernel image resides on a seperate flash partition (for now) -# -ALLOW_EMPTY = "1" - -CMDLINE = "unused -- bootloader passes ATAG list" - -COMPATIBLE_HOST = "arm.*-linux" -COMPATIBLE_MACHINE = "om-gta01|om-gta02" -DEFAULT_PREFERENCE = "1" - -KERNEL_IMAGETYPE = "uImage" -KERNEL_RELEASE = "2.6.24" -KERNEL_VERSION = "${KERNEL_RELEASE}" - -CONFIG_NAME_om-gta01 = "gta01" -CONFIG_NAME_om-gta02 = "gta02" - -UBOOT_ENTRYPOINT = "30008000" - -############################################################### -# module configs specific to this kernel -# - -# usb -module_autoload_ohci-hcd = "ohci-hcd" -module_autoload_hci_usb = "hci_usb" -module_autoload_g_ether = "g_ether" -# audio -module_autoload_snd-soc-neo1973-wm8753 = "snd-soc-neo1973-wm8753" -module_autoload_snd-soc-neo1973-gta02-wm8753 = "snd-soc-neo1973-gta02-wm8753" -module_autoload_snd-pcm-oss = "snd-pcm-oss" -module_autoload_snd-mixer-oss = "snd-mixer-oss" -# sd/mmc -module_autoload_s3cmci = "s3cmci" diff --git a/meta-extras/packages/lirc/files/lirc_sir-sa1100.patch b/meta-extras/packages/lirc/files/lirc_sir-sa1100.patch deleted file mode 100644 index 245b28ac51..0000000000 --- a/meta-extras/packages/lirc/files/lirc_sir-sa1100.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- lirc/drivers/lirc_sir/lirc_sir.c.orig 2004-11-18 17:30:17 +0100 -+++ lirc/drivers/lirc_sir/lirc_sir.c 2004-11-18 17:30:21 +0100 -@@ -628,6 +628,7 @@ - struct timeval curr_tv; - static unsigned long deltv; - #ifdef LIRC_ON_SA1100 -+ unsigned long deltintrtv; - int status; - static int n=0; - diff --git a/meta-extras/packages/lirc/files/lircd.conf_nslu2 b/meta-extras/packages/lirc/files/lircd.conf_nslu2 deleted file mode 100644 index 5fbaba469c..0000000000 --- a/meta-extras/packages/lirc/files/lircd.conf_nslu2 +++ /dev/null @@ -1,1886 +0,0 @@ -# This file is modified for the NSLU2. -# It's based on http://lirc.sourceforge.net/remotes/philips/RC-5 -# and should support all RC5 compatible remotes. -# The timings are for a de-underclocked NSLU2. - -# To see which key generates which code, run "irw". -# To check whether lirc works at all, run "mode2 -d /dev/lirc" -# after stopping lircd with "/etc/init.d/lircd stop". -# To learn a new remote, run "irrecord -d /dev/lirc /etc/lircd.conf.new" and after -# success "mv /etc/lircd.conf.new /etc/lircd.conf". -# You could also take the timing values from /etc/lircd.conf.new -# and paste it in here. -# See also /etc/lircrc. - -begin remote - - name RC5 - bits 13 - flags RC5|CONST_LENGTH - eps 30 - aeps 100 -# if it doesn't work, you could change the following values: - one 863 921 - zero 863 921 - plead 947 - gap 113626 - min_repeat 1 - repeat_bit 2 - - begin codes - amp1-0 0x0000000000001400 - amp1-1 0x0000000000001401 - amp1-2 0x0000000000001402 - amp1-3 0x0000000000001403 - amp1-4 0x0000000000001404 - amp1-5 0x0000000000001405 - amp1-6 0x0000000000001406 - amp1-7 0x0000000000001407 - amp1-8 0x0000000000001408 - amp1-9 0x0000000000001409 - amp1-graphic_equalizer_left 0x000000000000140A - amp1-graphic_equalizer_right 0x000000000000140B - amp1-standby 0x000000000000140C - amp1-mute/demute 0x000000000000140D - amp1-P.P. 0x000000000000140E - amp1-display 0x000000000000140F - amp1-volume+ 0x0000000000001410 - amp1-volume- 0x0000000000001411 - amp1-brightness+ 0x0000000000001412 - amp1-brightness- 0x0000000000001413 - amp1-colour_saturation+ 0x0000000000001414 - amp1-colour_saturation- 0x0000000000001415 - amp1-bass+ 0x0000000000001416 - amp1-bass- 0x0000000000001417 - amp1-treble+ 0x0000000000001418 - amp1-treble- 0x0000000000001419 - amp1-balance_right 0x000000000000141A - amp1-balance_left 0x000000000000141B - amp1-graph_equal_left&right 0x000000000000141C - amp1-loudness 0x000000000000141D - amp1-high_tone_filter 0x000000000000141E - amp1-low_tone_filter 0x000000000000141F - amp1-step+ 0x0000000000001420 - amp1-step- 0x0000000000001421 - amp1-signal_path_scroll 0x0000000000001422 - amp1-INVALID 0x0000000000001423 - amp1-INVALID 0x0000000000001424 - amp1-surround_mode 0x0000000000001425 - amp1-sleeptimer 0x0000000000001426 - amp1-balance_rear 0x0000000000001427 - amp1-balance_front 0x0000000000001428 - amp1-TPS 0x0000000000001429 - amp1-timer_set 0x000000000000142A - amp1-timer_up 0x000000000000142B - amp1-timer_down 0x000000000000142C - amp1-timer_memo 0x000000000000142D - amp1-acoustic_memory 0x000000000000142E - amp1-acoustic_memory_select 0x000000000000142F - amp1-pause 0x0000000000001430 - amp1-erase 0x0000000000001431 - amp1-rewind 0x0000000000001432 - amp1-go_to 0x0000000000001433 - amp1-wind 0x0000000000001434 - amp1-play 0x0000000000001435 - amp1-stop 0x0000000000001436 - amp1-recording 0x0000000000001437 - amp1-external1 0x0000000000001438 - amp1-external2 0x0000000000001439 - amp1-clear_all_memory 0x000000000000143A - amp1-INVALID 0x000000000000143B - amp1-dyn_range_expand/compr 0x000000000000143C - amp1-system_standby 0x000000000000143D - amp1-INVALID 0x000000000000143E - amp1-system_select 0x000000000000143F - amp1-surround_sound 0x0000000000000400 - amp1-balance_front 0x0000000000000401 - amp1-balance_rear 0x0000000000000402 - amp1-sound_effects1 0x0000000000000403 - amp1-sound_effects2 0x0000000000000404 - amp1-sound_effects3 0x0000000000000405 - amp1-sound_effects4 0x0000000000000406 - amp1-sound_effects5 0x0000000000000407 - amp1-sound_or_menu_func.1 0x0000000000000408 - amp1-sound_or_menu_func.2 0x0000000000000409 - amp1-sound_or_menu_func.3 0x000000000000040A - amp1-linear_function_up 0x000000000000040D - amp1-linear_function_down 0x000000000000040E - amp1-catalogue 0x000000000000040F - amp1-cursor_step_up 0x0000000000000410 - amp1-cursor_step_down 0x0000000000000411 - amp1-menu_on 0x0000000000000412 - amp1-menu_off 0x0000000000000413 - amp1-display_A/V_status 0x0000000000000414 - amp1-cursor_step_left 0x0000000000000415 - amp1-cursor_step_right 0x0000000000000416 - amp1-menu_function 0x0000000000000417 - amp1-PIP_on/off 0x0000000000000418 - amp1-PIP_shift 0x0000000000000419 - amp1-PIP_main_swap 0x000000000000041A - amp1-strobe_on/off 0x000000000000041B - amp1-multi_strobe 0x000000000000041C - amp1-main_freezed 0x000000000000041D - amp1-3/9_multi_scan 0x000000000000041E - amp1-PIP_mode_select 0x000000000000041F - amp1-mosaic 0x0000000000000420 - amp1-solarization 0x0000000000000421 - amp1-main_stored 0x0000000000000422 - amp1-PIP_strobe 0x0000000000000423 - amp1-recall_main 0x0000000000000424 - amp1-PIP_freeze 0x0000000000000425 - amp1-PIP_step_up 0x0000000000000426 - amp1-PIP_step_down 0x0000000000000427 - amp1-INVALID 0x000000000000042C - amp1-INVALID 0x0000000000000430 - amp1-INVALID 0x0000000000000431 - amp1-INVALID 0x0000000000000436 - amp1-INVALID 0x0000000000000437 - amp1-connect 0x000000000000043B - amp1-disconnect 0x000000000000043C - amp2-0 0x00000000000014C0 - amp2-1 0x00000000000014C1 - amp2-2 0x00000000000014C2 - amp2-3 0x00000000000014C3 - amp2-4 0x00000000000014C4 - amp2-5 0x00000000000014C5 - amp2-6 0x00000000000014C6 - amp2-7 0x00000000000014C7 - amp2-8 0x00000000000014C8 - amp2-9 0x00000000000014C9 - amp2-graphic_equalizer_left 0x00000000000014CA - amp2-graphic_equalizer_right 0x00000000000014CB - amp2-standby 0x00000000000014CC - amp2-mute/demute 0x00000000000014CD - amp2-P.P. 0x00000000000014CE - amp2-display 0x00000000000014CF - amp2-volume+ 0x00000000000014D0 - amp2-volume- 0x00000000000014D1 - amp2-brightness+ 0x00000000000014D2 - amp2-brightness- 0x00000000000014D3 - amp2-colour_saturation+ 0x00000000000014D4 - amp2-colour_saturation- 0x00000000000014D5 - amp2-bass+ 0x00000000000014D6 - amp2-bass- 0x00000000000014D7 - amp2-treble+ 0x00000000000014D8 - amp2-treble- 0x00000000000014D9 - amp2-balance_right 0x00000000000014DA - amp2-balance_left 0x00000000000014DB - amp2-graph_equal_left&right 0x00000000000014DC - amp2-loudness 0x00000000000014DD - amp2-high_tone_filter 0x00000000000014DE - amp2-low_tone_filter 0x00000000000014DF - amp2-step+ 0x00000000000014E0 - amp2-step- 0x00000000000014E1 - amp2-signal_path_scroll 0x00000000000014E2 - amp2-INVALID 0x00000000000014E3 - amp2-INVALID 0x00000000000014E4 - amp2-surround_mode 0x00000000000014E5 - amp2-sleeptimer 0x00000000000014E6 - amp2-balance_rear 0x00000000000014E7 - amp2-balance_front 0x00000000000014E8 - amp2-TPS 0x00000000000014E9 - amp2-timer_set 0x00000000000014EA - amp2-timer_up 0x00000000000014EB - amp2-timer_down 0x00000000000014EC - amp2-timer_memo 0x00000000000014ED - amp2-acoustic_memory 0x00000000000014EE - amp2-acoustic_memory_select 0x00000000000014EF - amp2-pause 0x00000000000014F0 - amp2-erase 0x00000000000014F1 - amp2-rewind 0x00000000000014F2 - amp2-go_to 0x00000000000014F3 - amp2-wind 0x00000000000014F4 - amp2-play 0x00000000000014F5 - amp2-stop 0x00000000000014F6 - amp2-recording 0x00000000000014F7 - amp2-external1 0x00000000000014F8 - amp2-external2 0x00000000000014F9 - amp2-clear_all_memory 0x00000000000014FA - amp2-INVALID 0x00000000000014FB - amp2-dyn_range_expand/compr 0x00000000000014FC - amp2-system_standby 0x00000000000014FD - amp2-INVALID 0x00000000000014FE - amp2-system_select 0x00000000000014FF - amp2-surround_sound 0x00000000000004C0 - amp2-balance_front 0x00000000000004C1 - amp2-balance_rear 0x00000000000004C2 - amp2-sound_effects1 0x00000000000004C3 - amp2-sound_effects2 0x00000000000004C4 - amp2-sound_effects3 0x00000000000004C5 - amp2-sound_effects4 0x00000000000004C6 - amp2-sound_effects5 0x00000000000004C7 - amp2-sound_or_menu_func.1 0x00000000000004C8 - amp2-sound_or_menu_func.2 0x00000000000004C9 - amp2-sound_or_menu_func.3 0x00000000000004CA - amp2-linear_function_up 0x00000000000004CD - amp2-linear_function_down 0x00000000000004CE - amp2-catalogue 0x00000000000004CF - amp2-cursor_step_up 0x00000000000004D0 - amp2-cursor_step_down 0x00000000000004D1 - amp2-menu_on 0x00000000000004D2 - amp2-menu_off 0x00000000000004D3 - amp2-display_A/V_status 0x00000000000004D4 - amp2-cursor_step_left 0x00000000000004D5 - amp2-cursor_step_right 0x00000000000004D6 - amp2-menu_function 0x00000000000004D7 - amp2-PIP_on/off 0x00000000000004D8 - amp2-PIP_shift 0x00000000000004D9 - amp2-PIP_main_swap 0x00000000000004DA - amp2-strobe_on/off 0x00000000000004DB - amp2-multi_strobe 0x00000000000004DC - amp2-main_freezed 0x00000000000004DD - amp2-3/9_multi_scan 0x00000000000004DE - amp2-PIP_mode_select 0x00000000000004DF - amp2-mosaic 0x00000000000004E0 - amp2-solarization 0x00000000000004E1 - amp2-main_stored 0x00000000000004E2 - amp2-PIP_strobe 0x00000000000004E3 - amp2-recall_main 0x00000000000004E4 - amp2-PIP_freeze 0x00000000000004E5 - amp2-PIP_step_up 0x00000000000004E6 - amp2-PIP_step_down 0x00000000000004E7 - amp2-INVALID 0x00000000000004EC - amp2-INVALID 0x00000000000004F0 - amp2-INVALID 0x00000000000004F1 - amp2-INVALID 0x00000000000004F6 - amp2-INVALID 0x00000000000004F7 - amp2-connect 0x00000000000004FB - amp2-disconnect 0x00000000000004FC - cd-0 0x0000000000001500 - cd-1 0x0000000000001501 - cd-2 0x0000000000001502 - cd-3 0x0000000000001503 - cd-4 0x0000000000001504 - cd-5 0x0000000000001505 - cd-6 0x0000000000001506 - cd-7 0x0000000000001507 - cd-8 0x0000000000001508 - cd-9 0x0000000000001509 - cd-cursor_scroll 0x000000000000150A - cd-display_scroll 0x000000000000150B - cd-standby 0x000000000000150C - cd-mute/demute 0x000000000000150D - cd-P.P._(personal_pref.) 0x000000000000150E - cd-display 0x000000000000150F - cd-volume+ 0x0000000000001510 - cd-volume- 0x0000000000001511 - cd-brightness+ 0x0000000000001512 - cd-brightness- 0x0000000000001513 - cd-colour_saturation+ 0x0000000000001514 - cd-colour_saturation- 0x0000000000001515 - cd-bass+ 0x0000000000001516 - cd-bass- 0x0000000000001517 - cd-treble+ 0x0000000000001518 - cd-treble- 0x0000000000001519 - cd-balance_right 0x000000000000151A - cd-balance_left 0x000000000000151B - cd-rept_once/TSPo/shuffle 0x000000000000151C - cd-repeat_cont/TSPc 0x000000000000151D - cd-select+ 0x000000000000151E - cd-select- 0x000000000000151F - cd-next 0x0000000000001520 - cd-previous 0x0000000000001521 - cd-index_next 0x0000000000001522 - cd-index_previous 0x0000000000001523 - cd-play/program 0x0000000000001524 - cd-speed_nominal 0x0000000000001525 - cd-speed+ 0x0000000000001526 - cd-speed- 0x0000000000001527 - cd-INVALID 0x0000000000001528 - cd-store_execute 0x0000000000001529 - cd-INVALID 0x000000000000152A - cd-scan_forward 0x000000000000152B - cd-INVALID 0x000000000000152C - cd-open/close 0x000000000000152D - cd-INVALID 0x000000000000152E - cd-INVALID 0x000000000000152F - cd-pause 0x0000000000001530 - cd-erase 0x0000000000001531 - cd-rewind 0x0000000000001532 - cd-go_to 0x0000000000001533 - cd-wind 0x0000000000001534 - cd-play 0x0000000000001535 - cd-stop 0x0000000000001536 - cd-recording 0x0000000000001537 - cd-external1 0x0000000000001538 - cd-external2 0x0000000000001539 - cd-clear_all_memory 0x000000000000153A - cd-repeat_A/B_program 0x000000000000153B - cd-dynamic_range_expand 0x000000000000153C - cd-system_standby 0x000000000000153D - cd-dynamic_range_compress 0x000000000000153E - cd-system_select 0x000000000000153F - cd-surround_sound 0x0000000000000500 - cd-balance_front 0x0000000000000501 - cd-balance_rear 0x0000000000000502 - cd-sound_effects1 0x0000000000000503 - cd-sound_effects2 0x0000000000000504 - cd-sound_effects3 0x0000000000000505 - cd-sound_effects4 0x0000000000000506 - cd-sound_effects5 0x0000000000000507 - cd-sound_or_menu_func.1 0x0000000000000508 - cd-sound_or_menu_func.2 0x0000000000000509 - cd-sound_or_menu_func.3 0x000000000000050A - cd-linear_function_up 0x000000000000050D - cd-linear_function_down 0x000000000000050E - cd-sound_or_menu_func. 0x000000000000050F - cd-cursor_step_up 0x0000000000000510 - cd-cursor_step_down 0x0000000000000511 - cd-menu_on 0x0000000000000512 - cd-menu_off 0x0000000000000513 - cd-display_A/V_status 0x0000000000000514 - cd-cursor_step_left 0x0000000000000515 - cd-cursor_step_right 0x0000000000000516 - cd-menu_function 0x0000000000000517 - cd-PIP_on/off 0x0000000000000518 - cd-PIP_shift 0x0000000000000519 - cd-PIP_main_swap 0x000000000000051A - cd-strobe_on/off 0x000000000000051B - cd-multi_strobe 0x000000000000051C - cd-main_freezed 0x000000000000051D - cd-3/9_multi_scan 0x000000000000051E - cd-PIP_mode_select 0x000000000000051F - cd-mosaic 0x0000000000000520 - cd-solarization 0x0000000000000521 - cd-main_stored 0x0000000000000522 - cd-PIP_strobe 0x0000000000000523 - cd-recall_main 0x0000000000000524 - cd-PIP_freeze 0x0000000000000525 - cd-PIP_step_up 0x0000000000000526 - cd-PIP_step_down 0x0000000000000527 - cd-INVALID 0x0000000000000528 - cd-INVALID 0x0000000000000529 - cd-INVALID 0x000000000000052A - cd-INVALID 0x000000000000052B - cd-FTS 0x000000000000052C - cd-INVALID 0x000000000000052D - cd-INVALID 0x0000000000000532 - cd-INVALID 0x0000000000000533 - cd-INVALID 0x0000000000000534 - cd-INVALID 0x0000000000000535 - cd-sub_mode1 0x0000000000000536 - cd-sub_mode2 0x0000000000000537 - cd-connect 0x000000000000053B - cd-disconnect 0x000000000000053C - lv1-0 0x0000000000001100 - lv1-1 0x0000000000001101 - lv1-2 0x0000000000001102 - lv1-3 0x0000000000001103 - lv1-4 0x0000000000001104 - lv1-5 0x0000000000001105 - lv1-6 0x0000000000001106 - lv1-7 0x0000000000001107 - lv1-8 0x0000000000001108 - lv1-9 0x0000000000001109 - lv1-picture_number/time 0x000000000000110A - lv1-channel_number 0x000000000000110B - lv1-standby 0x000000000000110C - lv1-mute/demute 0x000000000000110D - lv1-P.P._(personal_pref.) 0x000000000000110E - lv1-display 0x000000000000110F - lv1-volume+ 0x0000000000001110 - lv1-volume- 0x0000000000001111 - lv1-brightness+ 0x0000000000001112 - lv1-brightness- 0x0000000000001113 - lv1-colour_saturation+ 0x0000000000001114 - lv1-colour_saturation- 0x0000000000001115 - lv1-bass+ 0x0000000000001116 - lv1-bass- 0x0000000000001117 - lv1-treble+ 0x0000000000001118 - lv1-treble- 0x0000000000001119 - lv1-balance_right 0x000000000000111A - lv1-balance_left 0x000000000000111B - lv1-repeat_once/TSPo 0x000000000000111C - lv1-repeat_cont/TSPc 0x000000000000111D - lv1-next 0x000000000000111E - lv1-fast_run_reverse 0x000000000000111F - lv1-entry 0x0000000000001120 - lv1-auto_stop/memory 0x0000000000001121 - lv1-slow_run_reverse 0x0000000000001122 - lv1-audio1 0x0000000000001123 - lv1-audio2 0x0000000000001124 - lv1-still_picture 0x0000000000001125 - lv1-speed+ 0x0000000000001126 - lv1-speed- 0x0000000000001127 - lv1-slow_run_forward 0x0000000000001128 - lv1-still_forward 0x0000000000001129 - lv1-fast_run_forward 0x000000000000112A - lv1-search_automatic 0x000000000000112B - lv1-scan_reverse 0x000000000000112C - lv1-open/close_(eject) 0x000000000000112D - lv1-scan_forward 0x000000000000112E - lv1-play_reverse 0x000000000000112F - lv1-pause 0x0000000000001130 - lv1-erase 0x0000000000001131 - lv1-rewind 0x0000000000001132 - lv1-go_to 0x0000000000001133 - lv1-wind 0x0000000000001134 - lv1-play 0x0000000000001135 - lv1-stop 0x0000000000001136 - lv1-recording 0x0000000000001137 - lv1-external1 0x0000000000001138 - lv1-external2 0x0000000000001139 - lv1-clear_all_memory 0x000000000000113A - lv1-freeze_segment 0x000000000000113B - lv1-TXT_(pal)/ant.sw_(ntsc) 0x000000000000113C - lv1-system_standby 0x000000000000113D - lv1-CX_on/off 0x000000000000113E - lv1-system_select 0x000000000000113F - lv1-surround_sound 0x0000000000000100 - lv1-balance_front 0x0000000000000101 - lv1-balance_rear 0x0000000000000102 - lv1-sound_effects1 0x0000000000000103 - lv1-sound_effects2 0x0000000000000104 - lv1-sound_effects3 0x0000000000000105 - lv1-sound_effects4 0x0000000000000106 - lv1-sound_effects5 0x0000000000000107 - lv1-sound_or_menu_func.1 0x0000000000000108 - lv1-sound_or_menu_func.2 0x0000000000000109 - lv1-sound_or_menu_func.3 0x000000000000010A - lv1-INVALID 0x000000000000010B - lv1-INVALID 0x000000000000010C - lv1-linear_function_up 0x000000000000010D - lv1-linear_function_down 0x000000000000010E - lv1-sound_or_menu_func. 0x000000000000010F - lv1-cursor_step_up 0x0000000000000110 - lv1-cursor_step_down 0x0000000000000111 - lv1-menu_on 0x0000000000000112 - lv1-menu_off 0x0000000000000113 - lv1-display_A/V_status 0x0000000000000114 - lv1-cursor_step_left 0x0000000000000115 - lv1-cursor_step_right 0x0000000000000116 - lv1-menu_function 0x0000000000000117 - lv1-PIP_on/off 0x0000000000000118 - lv1-PIP_shift 0x0000000000000119 - lv1-PIP_main_swap 0x000000000000011A - lv1-strobe_on/off 0x000000000000011B - lv1-multi_strobe 0x000000000000011C - lv1-main_freezed 0x000000000000011D - lv1-3/9_multi_scan 0x000000000000011E - lv1-PIP_mode_select 0x000000000000011F - lv1-mosaic 0x0000000000000120 - lv1-solarization 0x0000000000000121 - lv1-main_stored 0x0000000000000122 - lv1-PIP_strobe 0x0000000000000123 - lv1-recall_main 0x0000000000000124 - lv1-PIP_freeze 0x0000000000000125 - lv1-PIP_step_up 0x0000000000000126 - lv1-PIP_step_down 0x0000000000000127 - lv1-INVALID 0x0000000000000128 - lv1-INVALID 0x0000000000000129 - lv1-INVALID 0x000000000000012A - lv1-INVALID 0x000000000000012B - lv1-INVALID 0x000000000000012C - lv1-INVALID 0x000000000000012D - lv1-INVALID 0x0000000000000130 - lv1-INVALID 0x0000000000000131 - lv1-INVALID 0x0000000000000132 - lv1-INVALID 0x0000000000000133 - lv1-INVALID 0x0000000000000134 - lv1-INVALID 0x0000000000000135 - lv1-sub_mode1 0x0000000000000136 - lv1-sub_mode2 0x0000000000000137 - lv1-INVALID 0x0000000000000138 - lv1-INVALID 0x0000000000000139 - lv1-INVALID 0x000000000000013A - lv1-connect 0x000000000000013B - lv1-disconnect 0x000000000000013C - lv2-0 0x0000000000001300 - lv2-1 0x0000000000001301 - lv2-2 0x0000000000001302 - lv2-3 0x0000000000001303 - lv2-4 0x0000000000001304 - lv2-5 0x0000000000001305 - lv2-6 0x0000000000001306 - lv2-7 0x0000000000001307 - lv2-8 0x0000000000001308 - lv2-9 0x0000000000001309 - lv2-picture_number/time 0x000000000000130A - lv2-chapter_number 0x000000000000130B - lv2-standby 0x000000000000130C - lv2-mute/demute 0x000000000000130D - lv2-P.P._(personal_pref.) 0x000000000000130E - lv2-display 0x000000000000130F - lv2-volume+ 0x0000000000001310 - lv2-volume- 0x0000000000001311 - lv2-brightness+ 0x0000000000001312 - lv2-brightness- 0x0000000000001313 - lv2-colour_saturation+ 0x0000000000001314 - lv2-colour_saturation- 0x0000000000001315 - lv2-bass+ 0x0000000000001316 - lv2-bass- 0x0000000000001317 - lv2-treble+ 0x0000000000001318 - lv2-treble- 0x0000000000001319 - lv2-balance_right 0x000000000000131A - lv2-balance_left 0x000000000000131B - lv2-repeat_once/TSPo 0x000000000000131C - lv2-repeat_cont/TSPc 0x000000000000131D - lv2-next 0x000000000000131E - lv2-programming 0x000000000000131F - lv2-INVALID 0x0000000000001320 - lv2-auto_stop/memory 0x0000000000001321 - lv2-slow_run_reverse 0x0000000000001322 - lv2-stereo_left/right 0x0000000000001323 - lv2-previous 0x0000000000001324 - lv2-still_reverse 0x0000000000001325 - lv2-speed+ 0x0000000000001326 - lv2-speed- 0x0000000000001327 - lv2-slow_run_forward 0x0000000000001328 - lv2-still_forward 0x0000000000001329 - lv2-digital_multi_screen 0x000000000000132A - lv2-strobe 0x000000000000132B - lv2-scan_reverse 0x000000000000132C - lv2-open/close_(eject) 0x000000000000132D - lv2-scan_forward 0x000000000000132E - lv2-INVALID 0x000000000000132F - lv2-pause 0x0000000000001330 - lv2-erase 0x0000000000001331 - lv2-rewind 0x0000000000001332 - lv2-go_to 0x0000000000001333 - lv2-wind 0x0000000000001334 - lv2-play 0x0000000000001335 - lv2-stop 0x0000000000001336 - lv2-recording 0x0000000000001337 - lv2-external1 0x0000000000001338 - lv2-external2 0x0000000000001339 - lv2-clear_all_memory 0x000000000000133A - lv2-repeat_A/B_program 0x000000000000133B - lv2-TXT_(pal)/ant.sw_(ntsc) 0x000000000000133C - lv2-system_standby 0x000000000000133D - lv2-CX_on/off 0x000000000000133E - lv2-system_select 0x000000000000133F - lv2-surround_sound 0x0000000000000300 - lv2-balance_front 0x0000000000000301 - lv2-balance_rear 0x0000000000000302 - lv2-sound_effects1 0x0000000000000303 - lv2-sound_effects2 0x0000000000000304 - lv2-sound_effects3 0x0000000000000305 - lv2-sound_effects4 0x0000000000000306 - lv2-sound_effects5 0x0000000000000307 - lv2-sound_or_menu_func.1 0x0000000000000308 - lv2-sound_or_menu_func.2 0x0000000000000309 - lv2-sound_or_menu_func.3 0x000000000000030A - lv2-linear_function_up 0x000000000000030D - lv2-linear_function_down 0x000000000000030E - lv2-sound_or_menu_func. 0x000000000000030F - lv2-cursor_step_up 0x0000000000000310 - lv2-cursor_step_down 0x0000000000000311 - lv2-menu_on 0x0000000000000312 - lv2-menu_off 0x0000000000000313 - lv2-display_A/V_status 0x0000000000000314 - lv2-cursor_step_left 0x0000000000000315 - lv2-cursor_step_right 0x0000000000000316 - lv2-menu_function 0x0000000000000317 - lv2-PIP_on/off 0x0000000000000318 - lv2-PIP_shift 0x0000000000000319 - lv2-PIP_main_swap 0x000000000000031A - lv2-strobe_on/off 0x000000000000031B - lv2-multi_strobe 0x000000000000031C - lv2-main_freezed 0x000000000000031D - lv2-3/9_multi_scan 0x000000000000031E - lv2-PIP_mode_select 0x000000000000031F - lv2-mosaic 0x0000000000000320 - lv2-solarization 0x0000000000000321 - lv2-main_stored 0x0000000000000322 - lv2-PIP_strobe 0x0000000000000323 - lv2-recall_main 0x0000000000000324 - lv2-PIP_freeze 0x0000000000000325 - lv2-PIP_step_up 0x0000000000000326 - lv2-PIP_step_down 0x0000000000000327 - lv2-FTS 0x000000000000032C - lv2-index_next 0x0000000000000330 - lv2-index_previous 0x0000000000000331 - lv2-sub_mode1 0x0000000000000336 - lv2-sub_mode2 0x0000000000000337 - lv2-connect 0x000000000000033B - lv2-disconnect 0x000000000000033C - phono-0 0x0000000000001540 - phono-1 0x0000000000001541 - phono-2 0x0000000000001542 - phono-3 0x0000000000001543 - phono-4 0x0000000000001544 - phono-5 0x0000000000001545 - phono-6 0x0000000000001546 - phono-7 0x0000000000001547 - phono-8 0x0000000000001548 - phono-9 0x0000000000001549 - phono-INVALID 0x000000000000154A - phono-INVALID 0x000000000000154B - phono-standby 0x000000000000154C - phono-mute/demute 0x000000000000154D - phono-P.P. 0x000000000000154E - phono-display 0x000000000000154F - phono-volume+ 0x0000000000001550 - phono-volume- 0x0000000000001551 - phono-brightness+ 0x0000000000001552 - phono-brightness- 0x0000000000001553 - phono-colour_saturation+ 0x0000000000001554 - phono-colour_saturation- 0x0000000000001555 - phono-bass+ 0x0000000000001556 - phono-bass- 0x0000000000001557 - phono-treble+ 0x0000000000001558 - phono-treble- 0x0000000000001559 - phono-balance_right 0x000000000000155A - phono-balance_left 0x000000000000155B - phono-repeat_once 0x000000000000155C - phono-repeat_continuously 0x000000000000155D - phono-select+ 0x000000000000155E - phono-select- 0x000000000000155F - phono-next 0x0000000000001560 - phono-previous 0x0000000000001561 - phono-index_next 0x0000000000001562 - phono-index_previous 0x0000000000001563 - phono-stereo/mono 0x0000000000001564 - phono-INVALID 0x0000000000001565 - phono-INVALID 0x0000000000001566 - phono-INVALID 0x0000000000001567 - phono-INVALID 0x0000000000001568 - phono-store_execute 0x0000000000001569 - phono-INVALID 0x000000000000156A - phono-scan_forward 0x000000000000156B - phono-INVALID 0x000000000000156C - phono-open/close 0x000000000000156D - phono-wave_scroll 0x000000000000156E - phono-INVALID 0x000000000000156F - phono-pause 0x0000000000001570 - phono-erase 0x0000000000001571 - phono-rewind 0x0000000000001572 - phono-go_to 0x0000000000001573 - phono-wind 0x0000000000001574 - phono-play 0x0000000000001575 - phono-stop 0x0000000000001576 - phono-recording 0x0000000000001577 - phono-external1 0x0000000000001578 - phono-external2 0x0000000000001579 - phono-clear_all_memory 0x000000000000157A - phono-INVALID 0x000000000000157B - phono-INVALID 0x000000000000157C - phono-system_standby 0x000000000000157D - phono-counter_memory 0x000000000000157E - phono-system_select 0x000000000000157F - phono-surround_sound 0x0000000000000540 - phono-balance_front 0x0000000000000541 - phono-balance_rear 0x0000000000000542 - phono-sound_effects1 0x0000000000000543 - phono-sound_effects2 0x0000000000000544 - phono-sound_effects3 0x0000000000000545 - phono-sound_effects4 0x0000000000000546 - phono-sound_effects5 0x0000000000000547 - phono-sound_or_menu_func.1 0x0000000000000548 - phono-sound_or_menu_func.2 0x0000000000000549 - phono-sound_or_menu_func.3 0x000000000000054A - phono-linear_function_up 0x000000000000054D - phono-linear_function_down 0x000000000000054E - phono-sound_or_menu_func. 0x000000000000054F - phono-cursor_step_up 0x0000000000000550 - phono-cursor_step_down 0x0000000000000551 - phono-menu_on 0x0000000000000552 - phono-menu_off 0x0000000000000553 - phono-display_A/V_status 0x0000000000000554 - phono-cursor_step_left 0x0000000000000555 - phono-cursor_step_right 0x0000000000000556 - phono-menu_function 0x0000000000000557 - phono-PIP_on/off 0x0000000000000558 - phono-PIP_shift 0x0000000000000559 - phono-PIP_main_swap 0x000000000000055A - phono-strobe_on/off 0x000000000000055B - phono-multi_strobe 0x000000000000055C - phono-main_freezed 0x000000000000055D - phono-3/9_multi_scan 0x000000000000055E - phono-PIP_mode_select 0x000000000000055F - phono-mosaic 0x0000000000000560 - phono-solarization 0x0000000000000561 - phono-main_stored 0x0000000000000562 - phono-PIP_strobe 0x0000000000000563 - phono-recall_main 0x0000000000000564 - phono-PIP_freeze 0x0000000000000565 - phono-PIP_step_up 0x0000000000000566 - phono-PIP_step_down 0x0000000000000567 - phono-INVALID 0x0000000000000568 - phono-INVALID 0x0000000000000569 - phono-INVALID 0x000000000000056A - phono-INVALID 0x000000000000056B - phono-INVALID 0x000000000000056C - phono-INVALID 0x000000000000056D - phono-INVALID 0x0000000000000572 - phono-INVALID 0x0000000000000573 - phono-INVALID 0x0000000000000574 - phono-INVALID 0x0000000000000575 - phono-sub_mode 0x0000000000000576 - phono-sub_mode 0x0000000000000577 - phono-connect 0x000000000000057B - phono-disconnect 0x000000000000057C - rec1-0 0x0000000000001480 - rec1-1 0x0000000000001481 - rec1-2 0x0000000000001482 - rec1-3 0x0000000000001483 - rec1-4 0x0000000000001484 - rec1-5 0x0000000000001485 - rec1-6 0x0000000000001486 - rec1-7 0x0000000000001487 - rec1-8 0x0000000000001488 - rec1-9 0x0000000000001489 - rec1-INVALID 0x000000000000148A - rec1-INVALID 0x000000000000148B - rec1-standby 0x000000000000148C - rec1-mute/demute 0x000000000000148D - rec1-P.P. 0x000000000000148E - rec1-display 0x000000000000148F - rec1-volume+ 0x0000000000001490 - rec1-volume- 0x0000000000001491 - rec1-brightness+ 0x0000000000001492 - rec1-brightness- 0x0000000000001493 - rec1-colour_saturation+ 0x0000000000001494 - rec1-colour_saturation- 0x0000000000001495 - rec1-bass+ 0x0000000000001496 - rec1-bass- 0x0000000000001497 - rec1-treble+ 0x0000000000001498 - rec1-treble- 0x0000000000001499 - rec1-balance_right 0x000000000000149A - rec1-balance_left 0x000000000000149B - rec1-repeat_once 0x000000000000149C - rec1-repeat_continuously 0x000000000000149D - rec1-select+ 0x000000000000149E - rec1-select- 0x000000000000149F - rec1-next 0x00000000000014A0 - rec1-previous 0x00000000000014A1 - rec1-INVALID 0x00000000000014A2 - rec1-last_record_cancel 0x00000000000014A3 - rec1-sequential 0x00000000000014A4 - rec1-blank_search 0x00000000000014A5 - rec1-INVALID 0x00000000000014A6 - rec1-INVALID 0x00000000000014A7 - rec1-recording_pause 0x00000000000014A8 - rec1-store_execute 0x00000000000014A9 - rec1-recording_blank 0x00000000000014AA - rec1-scan_forward 0x00000000000014AB - rec1-mechanism_A 0x00000000000014AC - rec1-eject 0x00000000000014AD - rec1-mechanism_B 0x00000000000014AE - rec1-play_reverse 0x00000000000014AF - rec1-pause 0x00000000000014B0 - rec1-erase 0x00000000000014B1 - rec1-rewind 0x00000000000014B2 - rec1-go_to 0x00000000000014B3 - rec1-wind 0x00000000000014B4 - rec1-play 0x00000000000014B5 - rec1-stop 0x00000000000014B6 - rec1-recording 0x00000000000014B7 - rec1-external1 0x00000000000014B8 - rec1-external2 0x00000000000014B9 - rec1-clear_all_memory 0x00000000000014BA - rec1-INVALID 0x00000000000014BB - rec1-INVALID 0x00000000000014BC - rec1-system_standby 0x00000000000014BD - rec1-INVALID 0x00000000000014BE - rec1-system_select 0x00000000000014BF - rec1-surround_sound 0x0000000000000480 - rec1-balance_front 0x0000000000000481 - rec1-balance_rear 0x0000000000000482 - rec1-sound_effects1 0x0000000000000483 - rec1-sound_effects2 0x0000000000000484 - rec1-sound_effects3 0x0000000000000485 - rec1-sound_effects4 0x0000000000000486 - rec1-sound_effects5 0x0000000000000487 - rec1-sound_or_menu_func.1 0x0000000000000488 - rec1-sound_or_menu_func.2 0x0000000000000489 - rec1-sound_or_menu_func.3 0x000000000000048A - rec1-linear_function_up 0x000000000000048D - rec1-linear_function_down 0x000000000000048E - rec1-sound_or_menu_func. 0x000000000000048F - rec1-cursor_step_up 0x0000000000000490 - rec1-cursor_step_down 0x0000000000000491 - rec1-menu_on 0x0000000000000492 - rec1-menu_off 0x0000000000000493 - rec1-display_A/V_status 0x0000000000000494 - rec1-cursor_step_left 0x0000000000000495 - rec1-cursor_step_right 0x0000000000000496 - rec1-menu_function 0x0000000000000497 - rec1-PIP_on/off 0x0000000000000498 - rec1-PIP_shift 0x0000000000000499 - rec1-PIP_main_swap 0x000000000000049A - rec1-strobe_on/off 0x000000000000049B - rec1-multi_strobe 0x000000000000049C - rec1-main_freezed 0x000000000000049D - rec1-3/9_multi_scan 0x000000000000049E - rec1-PIP_mode_select 0x000000000000049F - rec1-mosaic 0x00000000000004A0 - rec1-solarization 0x00000000000004A1 - rec1-main_stored 0x00000000000004A2 - rec1-PIP_strobe 0x00000000000004A3 - rec1-recall_main 0x00000000000004A4 - rec1-PIP_freeze 0x00000000000004A5 - rec1-PIP_step_up 0x00000000000004A6 - rec1-PIP_step_down 0x00000000000004A7 - rec1-automatic_start_ID 0x00000000000004A8 - rec1-write_skip_ID 0x00000000000004A9 - rec1-skip_on/off 0x00000000000004AA - rec1-write_end_ID 0x00000000000004AB - rec1-write_FTS 0x00000000000004AC - rec1-write_TOC 0x00000000000004AD - rec1-write_start_ID 0x00000000000004B2 - rec1-Ca/Er/SK_ID 0x00000000000004B3 - rec1-reformat 0x00000000000004B4 - rec1-blank_search 0x00000000000004B5 - rec1-sub_mode 0x00000000000004B6 - rec1-sub_mode 0x00000000000004B7 - rec1-connect 0x00000000000004BB - rec1-disconnect 0x00000000000004BC - rec2-0 0x00000000000015C0 - rec2-1 0x00000000000015C1 - rec2-2 0x00000000000015C2 - rec2-3 0x00000000000015C3 - rec2-4 0x00000000000015C4 - rec2-5 0x00000000000015C5 - rec2-6 0x00000000000015C6 - rec2-7 0x00000000000015C7 - rec2-8 0x00000000000015C8 - rec2-9 0x00000000000015C9 - rec2-INVALID 0x00000000000015CA - rec2-INVALID 0x00000000000015CB - rec2-standby 0x00000000000015CC - rec2-mute/demute 0x00000000000015CD - rec2-P.P. 0x00000000000015CE - rec2-display 0x00000000000015CF - rec2-volume+ 0x00000000000015D0 - rec2-volume- 0x00000000000015D1 - rec2-brightness+ 0x00000000000015D2 - rec2-brightness- 0x00000000000015D3 - rec2-colour_saturation+ 0x00000000000015D4 - rec2-colour_saturation- 0x00000000000015D5 - rec2-bass+ 0x00000000000015D6 - rec2-bass- 0x00000000000015D7 - rec2-treble+ 0x00000000000015D8 - rec2-treble- 0x00000000000015D9 - rec2-balance_right 0x00000000000015DA - rec2-balance_left 0x00000000000015DB - rec2-repeat_once 0x00000000000015DC - rec2-repeat_continuously 0x00000000000015DD - rec2-select+ 0x00000000000015DE - rec2-select- 0x00000000000015DF - rec2-next 0x00000000000015E0 - rec2-previous 0x00000000000015E1 - rec2-INVALID 0x00000000000015E2 - rec2-last_record_cancel 0x00000000000015E3 - rec2-sequential 0x00000000000015E4 - rec2-blank_search 0x00000000000015E5 - rec2-INVALID 0x00000000000015E6 - rec2-INVALID 0x00000000000015E7 - rec2-recording_pause 0x00000000000015E8 - rec2-store_execute 0x00000000000015E9 - rec2-recording_blank 0x00000000000015EA - rec2-scan_forward 0x00000000000015EB - rec2-mechanism_A 0x00000000000015EC - rec2-eject 0x00000000000015ED - rec2-mechanism_B 0x00000000000015EE - rec2-play_reverse 0x00000000000015EF - rec2-pause 0x00000000000015F0 - rec2-erase 0x00000000000015F1 - rec2-rewind 0x00000000000015F2 - rec2-go_to 0x00000000000015F3 - rec2-wind 0x00000000000015F4 - rec2-play 0x00000000000015F5 - rec2-stop 0x00000000000015F6 - rec2-recording 0x00000000000015F7 - rec2-external1 0x00000000000015F8 - rec2-external2 0x00000000000015F9 - rec2-clear_all_memory 0x00000000000015FA - rec2-INVALID 0x00000000000015FB - rec2-INVALID 0x00000000000015FC - rec2-system_standby 0x00000000000015FD - rec2-INVALID 0x00000000000015FE - rec2-system_select 0x00000000000015FF - rec2-surround_sound 0x00000000000005C0 - rec2-balance_front 0x00000000000005C1 - rec2-balance_rear 0x00000000000005C2 - rec2-sound_effects1 0x00000000000005C3 - rec2-sound_effects2 0x00000000000005C4 - rec2-sound_effects3 0x00000000000005C5 - rec2-sound_effects4 0x00000000000005C6 - rec2-sound_effects5 0x00000000000005C7 - rec2-sound_or_menu_func.1 0x00000000000005C8 - rec2-sound_or_menu_func.2 0x00000000000005C9 - rec2-sound_or_menu_func.3 0x00000000000005CA - rec2-linear_function_up 0x00000000000005CD - rec2-linear_function_down 0x00000000000005CE - rec2-sound_or_menu_func. 0x00000000000005CF - rec2-cursor_step_up 0x00000000000005D0 - rec2-cursor_step_down 0x00000000000005D1 - rec2-menu_on 0x00000000000005D2 - rec2-menu_off 0x00000000000005D3 - rec2-display_A/V_status 0x00000000000005D4 - rec2-cursor_step_left 0x00000000000005D5 - rec2-cursor_step_right 0x00000000000005D6 - rec2-menu_function 0x00000000000005D7 - rec2-PIP_on/off 0x00000000000005D8 - rec2-PIP_shift 0x00000000000005D9 - rec2-PIP_main_swap 0x00000000000005DA - rec2-strobe_on/off 0x00000000000005DB - rec2-multi_strobe 0x00000000000005DC - rec2-main_freezed 0x00000000000005DD - rec2-3/9_multi_scan 0x00000000000005DE - rec2-PIP_mode_select 0x00000000000005DF - rec2-mosaic 0x00000000000005E0 - rec2-solarization 0x00000000000005E1 - rec2-main_stored 0x00000000000005E2 - rec2-PIP_strobe 0x00000000000005E3 - rec2-recall_main 0x00000000000005E4 - rec2-PIP_freeze 0x00000000000005E5 - rec2-PIP_step_up 0x00000000000005E6 - rec2-PIP_step_down 0x00000000000005E7 - rec2-automatic_start_ID 0x00000000000005E8 - rec2-write_skip_ID 0x00000000000005E9 - rec2-skip_on/off 0x00000000000005EA - rec2-write_end_ID 0x00000000000005EB - rec2-write_FTS 0x00000000000005EC - rec2-write_TOC 0x00000000000005ED - rec2-write_start_ID 0x00000000000005F2 - rec2-Ca/Er/SK_ID 0x00000000000005F3 - rec2-reformat 0x00000000000005F4 - rec2-blank_search 0x00000000000005F5 - rec2-sub_mode 0x00000000000005F6 - rec2-sub_mode 0x00000000000005F7 - rec2-connect 0x00000000000005FB - rec2-disconnect 0x00000000000005FC - sat-0 0x0000000000001200 - sat-1 0x0000000000001201 - sat-2 0x0000000000001202 - sat-3 0x0000000000001203 - sat-4 0x0000000000001204 - sat-5 0x0000000000001205 - sat-6 0x0000000000001206 - sat-7 0x0000000000001207 - sat-8 0x0000000000001208 - sat-9 0x0000000000001209 - sat-1/2_digits 0x000000000000120A - sat-channel/program_mode 0x000000000000120B - sat-standby 0x000000000000120C - sat-mute/demute 0x000000000000120D - sat-P.P. 0x000000000000120E - sat-display 0x000000000000120F - sat-volume+ 0x0000000000001210 - sat-volume- 0x0000000000001211 - sat-brightness+ 0x0000000000001212 - sat-brightness- 0x0000000000001213 - sat-colour_saturation+ 0x0000000000001214 - sat-colour_saturation- 0x0000000000001215 - sat-bass+ 0x0000000000001216 - sat-bass- 0x0000000000001217 - sat-treble+ 0x0000000000001218 - sat-treble- 0x0000000000001219 - sat-balance_right 0x000000000000121A - sat-balance_left 0x000000000000121B - sat-INVALID 0x000000000000121C - sat-INVALID 0x000000000000121D - sat-INVALID 0x000000000000121E - sat-INVALID 0x000000000000121F - sat-channel/program+ 0x0000000000001220 - sat-channel/program- 0x0000000000001221 - sat-INVALID 0x0000000000001222 - sat-language_select/mode1 0x0000000000001223 - sat-special_stereo_on/off 0x0000000000001224 - sat-audio_mixed_/_mode2 0x0000000000001225 - sat-INVALID 0x0000000000001226 - sat-INVALID 0x0000000000001227 - sat-INVALID 0x0000000000001228 - sat-INVALID 0x0000000000001229 - sat-INVALID 0x000000000000122A - sat-INVALID 0x000000000000122B - sat-INVALID 0x000000000000122C - sat-INVALID 0x000000000000122D - sat-subtitle 0x000000000000122E - sat-INVALID 0x000000000000122F - sat-pause 0x0000000000001230 - sat-erase 0x0000000000001231 - sat-rewind 0x0000000000001232 - sat-go_to 0x0000000000001233 - sat-wind 0x0000000000001234 - sat-play 0x0000000000001235 - sat-stop 0x0000000000001236 - sat-recording 0x0000000000001237 - sat-external1 0x0000000000001238 - sat-external2 0x0000000000001239 - sat-INVALID 0x000000000000123A - sat-INVALID 0x000000000000123B - sat-TXT_submode 0x000000000000123C - sat-system_standby 0x000000000000123D - sat-INVALID 0x000000000000123E - sat-system_select 0x000000000000123F - sat-surround_sound 0x0000000000000200 - sat-balance_front 0x0000000000000201 - sat-balance_rear 0x0000000000000202 - sat-sound_effects1 0x0000000000000203 - sat-sound_effects2 0x0000000000000204 - sat-sound_effects3 0x0000000000000205 - sat-sound_effects4 0x0000000000000206 - sat-sound_effects5 0x0000000000000207 - sat-sound_or_menu_func.1 0x0000000000000208 - sat-sound_or_menu_func.2 0x0000000000000209 - sat-sound_or_menu_func.3 0x000000000000020A - sat-INVALID 0x000000000000020B - sat-INVALID 0x000000000000020C - sat-linear_function_up 0x000000000000020D - sat-linear_function_down 0x000000000000020E - sat-sound_or_menu_func. 0x000000000000020F - sat-cursor_step_up 0x0000000000000210 - sat-cursor_step_down 0x0000000000000211 - sat-menu_on 0x0000000000000212 - sat-menu_off 0x0000000000000213 - sat-display_A/V_status 0x0000000000000214 - sat-cursor_step_left 0x0000000000000215 - sat-cursor_step_right 0x0000000000000216 - sat-menu_function 0x0000000000000217 - sat-PIP_on/off 0x0000000000000218 - sat-PIP_shift 0x0000000000000219 - sat-PIP_main_swap 0x000000000000021A - sat-strobe_on/off 0x000000000000021B - sat-multi_strobe 0x000000000000021C - sat-main_freezed 0x000000000000021D - sat-3/9_multi_scan 0x000000000000021E - sat-PIP_mode_select 0x000000000000021F - sat-mosaic 0x0000000000000220 - sat-solarization 0x0000000000000221 - sat-main_stored 0x0000000000000222 - sat-PIP_strobe 0x0000000000000223 - sat-recall_main 0x0000000000000224 - sat-PIP_freeze 0x0000000000000225 - sat-PIP_step_up 0x0000000000000226 - sat-PIP_step_down 0x0000000000000227 - sat-INVALID 0x0000000000000228 - sat-INVALID 0x0000000000000229 - sat-INVALID 0x000000000000022A - sat-INVALID 0x000000000000022B - sat-INVALID 0x000000000000022C - sat-INVALID 0x000000000000022D - sat-INVALID 0x0000000000000230 - sat-INVALID 0x0000000000000231 - sat-INVALID 0x0000000000000232 - sat-INVALID 0x0000000000000233 - sat-INVALID 0x0000000000000234 - sat-INVALID 0x0000000000000235 - sat-sub_mode 0x0000000000000236 - sat-sub_mode 0x0000000000000237 - sat-INVALID 0x0000000000000238 - sat-INVALID 0x0000000000000239 - sat-INVALID 0x000000000000023A - sat-connect 0x000000000000023B - sat-INVALID 0x000000000000023C - text-0 0x0000000000001080 - text-1 0x0000000000001081 - text-2 0x0000000000001082 - text-3 0x0000000000001083 - text-4 0x0000000000001084 - text-5 0x0000000000001085 - text-6 0x0000000000001086 - text-7 0x0000000000001087 - text-8 0x0000000000001088 - text-9 0x0000000000001089 - text-step_page+ 0x000000000000108A - text-step_page- 0x000000000000108B - text-standby 0x000000000000108C - text-mute/demute 0x000000000000108D - text-P.P. 0x000000000000108E - text-display 0x000000000000108F - text-volume+ 0x0000000000001090 - text-volume- 0x0000000000001091 - text-brightness+ 0x0000000000001092 - text-brightness- 0x0000000000001093 - text-colour_saturation+ 0x0000000000001094 - text-colour_saturation- 0x0000000000001095 - text-bass+ 0x0000000000001096 - text-bass- 0x0000000000001097 - text-treble+ 0x0000000000001098 - text-treble- 0x0000000000001099 - text-balance_right 0x000000000000109A - text-balance_left 0x000000000000109B - text-enter/validation_(Frnc) 0x000000000000109C - text-memory_out 0x000000000000109D - text-sequence_out 0x000000000000109E - text-INVALID 0x000000000000109F - text-exchange 0x00000000000010A0 - text-index/summary_(France) 0x00000000000010A1 - text-row_zero_(France) 0x00000000000010A2 - text-1st/2nd_language 0x00000000000010A3 - text-spacial_stereo_on/off 0x00000000000010A4 - text-INVALID 0x00000000000010A5 - text-hardcopy_printer 0x00000000000010A6 - text-antiope_TV_mixed_(Frnc) 0x00000000000010A7 - text-PIP_select 0x00000000000010A8 - text-page_hold_on/off 0x00000000000010A9 - text-clck_timed_page_(F:magazine) 0x00000000000010AA - text-large_top/lrge_bot/norm 0x00000000000010AB - text-reveal/conceal/canc_pic 0x00000000000010AC - text-cancel_teletext_picture 0x00000000000010AD - text-TV/Text_mixed/Subtitle 0x00000000000010AE - text-PIP_shift 0x00000000000010AF - text-pause 0x00000000000010B0 - text-erase 0x00000000000010B1 - text-rewind 0x00000000000010B2 - text-go_to 0x00000000000010B3 - text-wind 0x00000000000010B4 - text-play 0x00000000000010B5 - text-stop 0x00000000000010B6 - text-recording 0x00000000000010B7 - text-external1 0x00000000000010B8 - text-external2 0x00000000000010B9 - text-PIP_display_mode 0x00000000000010BA - text-INVALID 0x00000000000010BB - text-INVALID 0x00000000000010BC - text-system_standby 0x00000000000010BD - text-news_flash_(France) 0x00000000000010BE - text-system_select 0x00000000000010BF - text-surround_sound 0x0000000000000080 - text-balance_front 0x0000000000000081 - text-balance_rear 0x0000000000000082 - text-sound_effects1 0x0000000000000083 - text-sound_effects2 0x0000000000000084 - text-sound_effects3 0x0000000000000085 - text-sound_effects4 0x0000000000000086 - text-sound_effects5 0x0000000000000087 - text-sound_or_menu_func.1 0x0000000000000088 - text-sound_or_menu_func.2 0x0000000000000089 - text-sound_or_menu_func.3 0x000000000000008A - text-linear_function_up 0x000000000000008D - text-linear_function_down 0x000000000000008E - text-sound_or_menu_func. 0x000000000000008F - text-cursor_step_up 0x0000000000000090 - text-cursor_step_down 0x0000000000000091 - text-menu_on 0x0000000000000092 - text-menu_off 0x0000000000000093 - text-display_A/V_status 0x0000000000000094 - text-cursor_step_left 0x0000000000000095 - text-cursor_step_right 0x0000000000000096 - text-menu_function 0x0000000000000097 - text-PIP_on/off 0x0000000000000098 - text-PIP_shift 0x0000000000000099 - text-PIP_main_swap 0x000000000000009A - text-strobe_on/off 0x000000000000009B - text-multi_strobe 0x000000000000009C - text-main_freezed 0x000000000000009D - text-3/9_multi_scan 0x000000000000009E - text-PIP_mode_select 0x000000000000009F - text-mosaic 0x00000000000000A0 - text-solarization 0x00000000000000A1 - text-main_stored 0x00000000000000A2 - text-PIP_strobe 0x00000000000000A3 - text-recall_main 0x00000000000000A4 - text-PIP_freeze 0x00000000000000A5 - text-PIP_step_up 0x00000000000000A6 - text-PIP_step_down 0x00000000000000A7 - text-red 0x00000000000000AB - text-green 0x00000000000000AC - text-yellow 0x00000000000000AD - text-cyan 0x00000000000000AE - text-INVALID 0x00000000000000AF - text-sub_mode 0x00000000000000B6 - text-sub_mode 0x00000000000000B7 - text-cleaning_up 0x00000000000000BA - text-connect 0x00000000000000BB - text-disconnect 0x00000000000000BC - text-cleaning_up1 0x00000000000000BD - text-cleaning_up2 0x00000000000000BE - text-cleaning_up3 0x00000000000000BF - tuner-0 0x0000000000001440 - tuner-1 0x0000000000001441 - tuner-2 0x0000000000001442 - tuner-3 0x0000000000001443 - tuner-4 0x0000000000001444 - tuner-5 0x0000000000001445 - tuner-6 0x0000000000001446 - tuner-7 0x0000000000001447 - tuner-8 0x0000000000001448 - tuner-9 0x0000000000001449 - tuner-1/2_digits 0x000000000000144A - tuner-INVALID 0x000000000000144B - tuner-standby 0x000000000000144C - tuner-mute/demute 0x000000000000144D - tuner-P.P. 0x000000000000144E - tuner-display 0x000000000000144F - tuner-volume+ 0x0000000000001450 - tuner-volume- 0x0000000000001451 - tuner-brightness+ 0x0000000000001452 - tuner-brightness- 0x0000000000001453 - tuner-colour_saturation+ 0x0000000000001454 - tuner-colour_saturation- 0x0000000000001455 - tuner-bass+ 0x0000000000001456 - tuner-bass- 0x0000000000001457 - tuner-treble+ 0x0000000000001458 - tuner-treble- 0x0000000000001459 - tuner-balance_right 0x000000000000145A - tuner-balance_left 0x000000000000145B - tuner-INVALID 0x000000000000145C - tuner-INVALID 0x000000000000145D - tuner-search+ 0x000000000000145E - tuner-search- 0x000000000000145F - tuner-preset+ 0x0000000000001460 - tuner-preset- 0x0000000000001461 - tuner-INVALID 0x0000000000001462 - tuner-INVALID 0x0000000000001463 - tuner-INVALID 0x0000000000001464 - tuner-mono/stereo 0x0000000000001465 - tuner-INVALID 0x0000000000001466 - tuner-INVALID 0x0000000000001467 - tuner-RF_switch 0x0000000000001468 - tuner-store_execute 0x0000000000001469 - tuner-INVALID 0x000000000000146A - tuner-scan_forward 0x000000000000146B - tuner-INVALID 0x000000000000146C - tuner-FM 0x000000000000146D - tuner-MW_(USA:_MW/FM) 0x000000000000146E - tuner-LW 0x000000000000146F - tuner-pause 0x0000000000001470 - tuner-erase 0x0000000000001471 - tuner-rewind 0x0000000000001472 - tuner-go_to 0x0000000000001473 - tuner-wind 0x0000000000001474 - tuner-play 0x0000000000001475 - tuner-stop 0x0000000000001476 - tuner-recording 0x0000000000001477 - tuner-external1 0x0000000000001478 - tuner-external2 0x0000000000001479 - tuner-clear_all_memory 0x000000000000147A - tuner-INVALID 0x000000000000147B - tuner-INVALID 0x000000000000147C - tuner-system_standby 0x000000000000147D - tuner-INVALID 0x000000000000147E - tuner-system_select 0x000000000000147F - tuner-surround_sound 0x0000000000000440 - tuner-balance_front 0x0000000000000441 - tuner-balance_rear 0x0000000000000442 - tuner-sound_effects1 0x0000000000000443 - tuner-sound_effects2 0x0000000000000444 - tuner-sound_effects3 0x0000000000000445 - tuner-sound_effects4 0x0000000000000446 - tuner-sound_effects5 0x0000000000000447 - tuner-sound_or_menu_func.1 0x0000000000000448 - tuner-sound_or_menu_func.2 0x0000000000000449 - tuner-sound_or_menu_func.3 0x000000000000044A - tuner-linear_function_up 0x000000000000044D - tuner-linear_function_down 0x000000000000044E - tuner-sound_or_menu_func. 0x000000000000044F - tuner-cursor_step_up 0x0000000000000450 - tuner-cursor_step_down 0x0000000000000451 - tuner-menu_on 0x0000000000000452 - tuner-menu_off 0x0000000000000453 - tuner-display_A/V_status 0x0000000000000454 - tuner-cursor_step_left 0x0000000000000455 - tuner-cursor_step_right 0x0000000000000456 - tuner-menu_function 0x0000000000000457 - tuner-PIP_on/off 0x0000000000000458 - tuner-PIP_shift 0x0000000000000459 - tuner-PIP_main_swap 0x000000000000045A - tuner-strobe_on/off 0x000000000000045B - tuner-multi_strobe 0x000000000000045C - tuner-main_freezed 0x000000000000045D - tuner-3/9_multi_scan 0x000000000000045E - tuner-PIP_mode_select 0x000000000000045F - tuner-mosaic 0x0000000000000460 - tuner-solarization 0x0000000000000461 - tuner-main_stored 0x0000000000000462 - tuner-PIP_strobe 0x0000000000000463 - tuner-recall_main 0x0000000000000464 - tuner-PIP_freeze 0x0000000000000465 - tuner-PIP_step_up 0x0000000000000466 - tuner-PIP_step_down 0x0000000000000467 - tuner-INVALID 0x000000000000046C - tuner-INVALID 0x0000000000000470 - tuner-INVALID 0x0000000000000471 - tuner-INVALID 0x0000000000000476 - tuner-INVALID 0x0000000000000477 - tuner-connect 0x000000000000047B - tuner-disconnect 0x000000000000047C - tv1-0 0x0000000000001000 - tv1-1 0x0000000000001001 - tv1-2 0x0000000000001002 - tv1-3 0x0000000000001003 - tv1-4 0x0000000000001004 - tv1-5 0x0000000000001005 - tv1-6 0x0000000000001006 - tv1-7 0x0000000000001007 - tv1-8 0x0000000000001008 - tv1-9 0x0000000000001009 - tv1-1/2/3_digs_(japan:10) 0x000000000000100A - tv1-channel/program(jap:11) 0x000000000000100B - tv1-standby 0x000000000000100C - tv1-mute/demute 0x000000000000100D - tv1-P.P._(personal_pref.) 0x000000000000100E - tv1-display 0x000000000000100F - tv1-volume+ 0x0000000000001010 - tv1-volume- 0x0000000000001011 - tv1-brightness+ 0x0000000000001012 - tv1-brightness- 0x0000000000001013 - tv1-colour_saturation+ 0x0000000000001014 - tv1-colour_saturation- 0x0000000000001015 - tv1-bass+ 0x0000000000001016 - tv1-bass- 0x0000000000001017 - tv1-treble+ 0x0000000000001018 - tv1-treble- 0x0000000000001019 - tv1-balance_right 0x000000000000101A - tv1-balance_left 0x000000000000101B - tv1-contrast+ 0x000000000000101C - tv1-contrast- 0x000000000000101D - tv1-search+ 0x000000000000101E - tv1-tint/hue+ 0x000000000000101F - tv1-channel/program+ 0x0000000000001020 - tv1-channel/program- 0x0000000000001021 - tv1-alt/channel 0x0000000000001022 - tv1-1st/2nd_language 0x0000000000001023 - tv1-spacial_stereo_on/off 0x0000000000001024 - tv1-mono/stereo_(USA) 0x0000000000001025 - tv1-sleeptimer 0x0000000000001026 - tv1-tint/hue- 0x0000000000001027 - tv1-RF_switch/PIP_select 0x0000000000001028 - tv1-vote 0x0000000000001029 - tv1-timed_page/channel 0x000000000000102A - tv1-increment_(USA) 0x000000000000102B - tv1-decrement_(USA) 0x000000000000102C - tv1-INVALID 0x000000000000102D - tv1-2nd_controls_(USA:menu) 0x000000000000102E - tv1-PIP_shift 0x000000000000102F - tv1-pause 0x0000000000001030 - tv1-erase 0x0000000000001031 - tv1-rewind 0x0000000000001032 - tv1-go_to 0x0000000000001033 - tv1-wind 0x0000000000001034 - tv1-play 0x0000000000001035 - tv1-stop 0x0000000000001036 - tv1-recording 0x0000000000001037 - tv1-external1 0x0000000000001038 - tv1-external2 0x0000000000001039 - tv1-PIP_display_mode 0x000000000000103A - tv1-view_data_mode/advance 0x000000000000103B - tv1-teletext_submode_(J:12) 0x000000000000103C - tv1-system_standby 0x000000000000103D - tv1-crispener_on/off 0x000000000000103E - tv1-system_select 0x000000000000103F - tv1-surround_sound 0x0000000000000000 - tv1-balance_front 0x0000000000000001 - tv1-balance_rear 0x0000000000000002 - tv1-sound_effects1 0x0000000000000003 - tv1-sound_effects2 0x0000000000000004 - tv1-sound_effects3 0x0000000000000005 - tv1-sound_effects4 0x0000000000000006 - tv1-sound_effects5 0x0000000000000007 - tv1-sound_or_menu_func.1 0x0000000000000008 - tv1-sound_or_menu_func.2 0x0000000000000009 - tv1-sound_or_menu_func.3 0x000000000000000A - tv1-linear_function_up 0x000000000000000D - tv1-linear_function_down 0x000000000000000E - tv1-sound_or_menu_func. 0x000000000000000F - tv1-cursor_step_up 0x0000000000000010 - tv1-cursor_step_down 0x0000000000000011 - tv1-menu_on 0x0000000000000012 - tv1-menu_off 0x0000000000000013 - tv1-display_A/V_status 0x0000000000000014 - tv1-cursor_step_left 0x0000000000000015 - tv1-cursor_step_right 0x0000000000000016 - tv1-menu_function 0x0000000000000017 - tv1-PIP_on/off 0x0000000000000018 - tv1-PIP_shift 0x0000000000000019 - tv1-PIP_main_swap 0x000000000000001A - tv1-strobe_on/off 0x000000000000001B - tv1-multi_strobe 0x000000000000001C - tv1-main_freezed 0x000000000000001D - tv1-3/9_multi_scan 0x000000000000001E - tv1-PIP_mode_select 0x000000000000001F - tv1-mosaic 0x0000000000000020 - tv1-solarization 0x0000000000000021 - tv1-main_stored 0x0000000000000022 - tv1-PIP_strobe 0x0000000000000023 - tv1-recall_main 0x0000000000000024 - tv1-PIP_freeze 0x0000000000000025 - tv1-PIP_step_up 0x0000000000000026 - tv1-PIP_step_down 0x0000000000000027 - tv1-INVALID 0x000000000000002B - tv1-INVALID 0x000000000000002C - tv1-INVALID 0x000000000000002D - tv1-INVALID 0x000000000000002E - tv1-index 0x000000000000002F - tv1-sub_mode 0x0000000000000036 - tv1-sub_mode 0x0000000000000037 - tv1-cleaning_up 0x000000000000003A - tv1-connect 0x000000000000003B - tv1-disconnect 0x000000000000003C - tv1-cleaning_up1 0x000000000000003D - tv1-cleaning_up2 0x000000000000003E - tv1-cleaning_up3 0x000000000000003F - tv2-0 0x0000000000001040 - tv2-1 0x0000000000001041 - tv2-2 0x0000000000001042 - tv2-3 0x0000000000001043 - tv2-4 0x0000000000001044 - tv2-5 0x0000000000001045 - tv2-6 0x0000000000001046 - tv2-7 0x0000000000001047 - tv2-8 0x0000000000001048 - tv2-9 0x0000000000001049 - tv2-1/2/3_digs_(japan:10) 0x000000000000104A - tv2-channel/program(jap:11) 0x000000000000104B - tv2-standby 0x000000000000104C - tv2-mute/demute 0x000000000000104D - tv2-P.P._(personal_pref.) 0x000000000000104E - tv2-display 0x000000000000104F - tv2-volume+ 0x0000000000001050 - tv2-volume- 0x0000000000001051 - tv2-brightness+ 0x0000000000001052 - tv2-brightness- 0x0000000000001053 - tv2-colour_saturation+ 0x0000000000001054 - tv2-colour_saturation- 0x0000000000001055 - tv2-bass+ 0x0000000000001056 - tv2-bass- 0x0000000000001057 - tv2-treble+ 0x0000000000001058 - tv2-treble- 0x0000000000001059 - tv2-balance_right 0x000000000000105A - tv2-balance_left 0x000000000000105B - tv2-contrast+ 0x000000000000105C - tv2-contrast- 0x000000000000105D - tv2-search+ 0x000000000000105E - tv2-tint/hue+ 0x000000000000105F - tv2-channel/program+ 0x0000000000001060 - tv2-channel/program- 0x0000000000001061 - tv2-alt/channel 0x0000000000001062 - tv2-1st/2nd_language 0x0000000000001063 - tv2-spacial_stereo_on/off 0x0000000000001064 - tv2-mono/stereo_(USA) 0x0000000000001065 - tv2-sleeptimer 0x0000000000001066 - tv2-tint/hue- 0x0000000000001067 - tv2-RF_switch/PIP_select 0x0000000000001068 - tv2-vote 0x0000000000001069 - tv2-timed_page/channel 0x000000000000106A - tv2-increment_(USA) 0x000000000000106B - tv2-decrement_(USA) 0x000000000000106C - tv2-INVALID 0x000000000000106D - tv2-2nd_controls_(USA:menu) 0x000000000000106E - tv2-PIP_shift 0x000000000000106F - tv2-pause 0x0000000000001070 - tv2-erase 0x0000000000001071 - tv2-rewind 0x0000000000001072 - tv2-go_to 0x0000000000001073 - tv2-wind 0x0000000000001074 - tv2-play 0x0000000000001075 - tv2-stop 0x0000000000001076 - tv2-recording 0x0000000000001077 - tv2-external1 0x0000000000001078 - tv2-external2 0x0000000000001079 - tv2-PIP_display_mode 0x000000000000107A - tv2-view_data_mode/advance 0x000000000000107B - tv2-teletext_submode_(J:12) 0x000000000000107C - tv2-system_standby 0x000000000000107D - tv2-crispener_on/off 0x000000000000107E - tv2-system_select 0x000000000000107F - tv2-surround_sound 0x0000000000000040 - tv2-balance_front 0x0000000000000041 - tv2-balance_rear 0x0000000000000042 - tv2-sound_effects1 0x0000000000000043 - tv2-sound_effects2 0x0000000000000044 - tv2-sound_effects3 0x0000000000000045 - tv2-sound_effects4 0x0000000000000046 - tv2-sound_effects5 0x0000000000000047 - tv2-sound_or_menu_func.1 0x0000000000000048 - tv2-sound_or_menu_func.2 0x0000000000000049 - tv2-sound_or_menu_func.3 0x000000000000004A - tv2-linear_function_up 0x000000000000004D - tv2-linear_function_down 0x000000000000004E - tv2-sound_or_menu_func. 0x000000000000004F - tv2-cursor_step_up 0x0000000000000050 - tv2-cursor_step_down 0x0000000000000051 - tv2-menu_on 0x0000000000000052 - tv2-menu_off 0x0000000000000053 - tv2-display_A/V_status 0x0000000000000054 - tv2-cursor_step_left 0x0000000000000055 - tv2-cursor_step_right 0x0000000000000056 - tv2-menu_function 0x0000000000000057 - tv2-PIP_on/off 0x0000000000000058 - tv2-PIP_shift 0x0000000000000059 - tv2-PIP_main_swap 0x000000000000005A - tv2-strobe_on/off 0x000000000000005B - tv2-multi_strobe 0x000000000000005C - tv2-main_freezed 0x000000000000005D - tv2-3/9_multi_scan 0x000000000000005E - tv2-PIP_mode_select 0x000000000000005F - tv2-mosaic 0x0000000000000060 - tv2-solarization 0x0000000000000061 - tv2-main_stored 0x0000000000000062 - tv2-PIP_strobe 0x0000000000000063 - tv2-recall_main 0x0000000000000064 - tv2-PIP_freeze 0x0000000000000065 - tv2-PIP_step_up 0x0000000000000066 - tv2-PIP_step_down 0x0000000000000067 - tv2-INVALID 0x000000000000006B - tv2-INVALID 0x000000000000006C - tv2-INVALID 0x000000000000006D - tv2-INVALID 0x000000000000006E - tv2-index 0x000000000000006F - tv2-sub_mode 0x0000000000000076 - tv2-sub_mode 0x0000000000000077 - tv2-cleaning_up 0x000000000000007A - tv2-connect 0x000000000000007B - tv2-disconnect 0x000000000000007C - tv2-cleaning_up1 0x000000000000007D - tv2-cleaning_up2 0x000000000000007E - tv2-cleaning_up3 0x000000000000007F - vcr1-0 0x0000000000001140 - vcr1-1 0x0000000000001141 - vcr1-2 0x0000000000001142 - vcr1-3 0x0000000000001143 - vcr1-4 0x0000000000001144 - vcr1-5 0x0000000000001145 - vcr1-6 0x0000000000001146 - vcr1-7 0x0000000000001147 - vcr1-8 0x0000000000001148 - vcr1-9 0x0000000000001149 - vcr1-1/2_digits/AM/PM 0x000000000000114A - vcr1-channel/program_mode 0x000000000000114B - vcr1-standby 0x000000000000114C - vcr1-mute/demute 0x000000000000114D - vcr1-P.P. 0x000000000000114E - vcr1-display 0x000000000000114F - vcr1-volume+ 0x0000000000001150 - vcr1-volume- 0x0000000000001151 - vcr1-brightness+ 0x0000000000001152 - vcr1-brightness- 0x0000000000001153 - vcr1-colour_saturation+ 0x0000000000001154 - vcr1-colour_saturation- 0x0000000000001155 - vcr1-bass+ 0x0000000000001156 - vcr1-bass- 0x0000000000001157 - vcr1-treble+ 0x0000000000001158 - vcr1-treble- 0x0000000000001159 - vcr1-balance_right 0x000000000000115A - vcr1-balance_left 0x000000000000115B - vcr1-ITR_(OTR)_delay 0x000000000000115C - vcr1-timer_programming 0x000000000000115D - vcr1-record_select 0x000000000000115E - vcr1-fast_run_reverse 0x000000000000115F - vcr1-step+ 0x0000000000001160 - vcr1-step- 0x0000000000001161 - vcr1-slow_run_reverse 0x0000000000001162 - vcr1-audio_output_select 0x0000000000001163 - vcr1-clock/channel 0x0000000000001164 - vcr1-speed- 0x0000000000001165 - vcr1-speed+ 0x0000000000001166 - vcr1-Instant_Time_Recording 0x0000000000001167 - vcr1-slow_run_forward 0x0000000000001168 - vcr1-still_forward 0x0000000000001169 - vcr1-fast_run_forward 0x000000000000116A - vcr1-index_scan 0x000000000000116B - vcr1-scan_reverse 0x000000000000116C - vcr1-eject 0x000000000000116D - vcr1-scan_forward 0x000000000000116E - vcr1-play_reverse 0x000000000000116F - vcr1-pause 0x0000000000001170 - vcr1-erase 0x0000000000001171 - vcr1-rewind 0x0000000000001172 - vcr1-go_to 0x0000000000001173 - vcr1-wind 0x0000000000001174 - vcr1-play 0x0000000000001175 - vcr1-stop 0x0000000000001176 - vcr1-recording 0x0000000000001177 - vcr1-external1 0x0000000000001178 - vcr1-external2 0x0000000000001179 - vcr1-short/long_play 0x000000000000117A - vcr1-counter_memory 0x000000000000117B - vcr1-scroll_local_display 0x000000000000117C - vcr1-system_standby 0x000000000000117D - vcr1-RF_switch 0x000000000000117E - vcr1-system_select 0x000000000000117F - vcr1-surround_sound 0x0000000000000140 - vcr1-balance_front 0x0000000000000141 - vcr1-balance_rear 0x0000000000000142 - vcr1-sound_effects1 0x0000000000000143 - vcr1-sound_effects2 0x0000000000000144 - vcr1-sound_effects3 0x0000000000000145 - vcr1-sound_effects4 0x0000000000000146 - vcr1-sound_effects5 0x0000000000000147 - vcr1-sound_or_menu_func.1 0x0000000000000148 - vcr1-sound_or_menu_func.2 0x0000000000000149 - vcr1-sound_or_menu_func.3 0x000000000000014A - vcr1-data_stream_start 0x000000000000014B - vcr1-data_stream_end 0x000000000000014C - vcr1-linear_function_up 0x000000000000014D - vcr1-linear_function_down 0x000000000000014E - vcr1-catalogue 0x000000000000014F - vcr1-cursor_step_up 0x0000000000000150 - vcr1-cursor_step_down 0x0000000000000151 - vcr1-menu_on 0x0000000000000152 - vcr1-menu_off 0x0000000000000153 - vcr1-display_A/V_status 0x0000000000000154 - vcr1-cursor_step_left 0x0000000000000155 - vcr1-cursor_step_right 0x0000000000000156 - vcr1-acknowledge 0x0000000000000157 - vcr1-PIP_on/off 0x0000000000000158 - vcr1-PIP_shift 0x0000000000000159 - vcr1-PIP_main_swap 0x000000000000015A - vcr1-strobe_on/off 0x000000000000015B - vcr1-multi_strobe 0x000000000000015C - vcr1-main_freezed 0x000000000000015D - vcr1-3/9_multi_scan 0x000000000000015E - vcr1-PIP_mode_select 0x000000000000015F - vcr1-mosaic 0x0000000000000160 - vcr1-solarization 0x0000000000000161 - vcr1-main_stored 0x0000000000000162 - vcr1-PIP_strobe 0x0000000000000163 - vcr1-recall_main 0x0000000000000164 - vcr1-PIP_freeze 0x0000000000000165 - vcr1-PIP_step_up 0x0000000000000166 - vcr1-PIP_step_down 0x0000000000000167 - vcr1-automatic_start_ID 0x0000000000000168 - vcr1-write_skip_ID 0x0000000000000169 - vcr1-skip_on/off 0x000000000000016A - vcr1-write_end_ID 0x000000000000016B - vcr1-write_FTS 0x000000000000016C - vcr1-write_TOC 0x000000000000016D - vcr1-viss_index_next 0x0000000000000170 - vcr1-viss_index_previous 0x0000000000000171 - vcr1-mark 0x0000000000000172 - vcr1-erase 0x0000000000000173 - vcr1-renumber 0x0000000000000174 - vcr1-blank_search 0x0000000000000175 - vcr1-sub_mode 0x0000000000000176 - vcr1-sub_mode 0x0000000000000177 - vcr1-auto_repeat 0x0000000000000178 - vcr1-insert_temp 0x0000000000000179 - vcr1-scr_loc_disp 0x000000000000017A - vcr1-connect 0x000000000000017B - vcr1-INVALID 0x000000000000017C - vcr2-0 0x0000000000001180 - vcr2-1 0x0000000000001181 - vcr2-2 0x0000000000001182 - vcr2-3 0x0000000000001183 - vcr2-4 0x0000000000001184 - vcr2-5 0x0000000000001185 - vcr2-6 0x0000000000001186 - vcr2-7 0x0000000000001187 - vcr2-8 0x0000000000001188 - vcr2-9 0x0000000000001189 - vcr2-1/2_digits/AM/PM 0x000000000000118A - vcr2-channel/program_mode 0x000000000000118B - vcr2-standby 0x000000000000118C - vcr2-mute/demute 0x000000000000118D - vcr2-P.P. 0x000000000000118E - vcr2-display 0x000000000000118F - vcr2-volume+ 0x0000000000001190 - vcr2-volume- 0x0000000000001191 - vcr2-brightness+ 0x0000000000001192 - vcr2-brightness- 0x0000000000001193 - vcr2-colour_saturation+ 0x0000000000001194 - vcr2-colour_saturation- 0x0000000000001195 - vcr2-bass+ 0x0000000000001196 - vcr2-bass- 0x0000000000001197 - vcr2-treble+ 0x0000000000001198 - vcr2-treble- 0x0000000000001199 - vcr2-balance_right 0x000000000000119A - vcr2-balance_left 0x000000000000119B - vcr2-ITR_(OTR)_delay 0x000000000000119C - vcr2-timer_programming 0x000000000000119D - vcr2-record_select 0x000000000000119E - vcr2-fast_run_reverse 0x000000000000119F - vcr2-step+ 0x00000000000011A0 - vcr2-step- 0x00000000000011A1 - vcr2-slow_run_reverse 0x00000000000011A2 - vcr2-audio_output_select 0x00000000000011A3 - vcr2-clock/channel 0x00000000000011A4 - vcr2-speed- 0x00000000000011A5 - vcr2-speed+ 0x00000000000011A6 - vcr2-Instant_Time_Recording 0x00000000000011A7 - vcr2-slow_run_forward 0x00000000000011A8 - vcr2-still_forward 0x00000000000011A9 - vcr2-fast_run_forward 0x00000000000011AA - vcr2-index_scan 0x00000000000011AB - vcr2-scan_reverse 0x00000000000011AC - vcr2-eject 0x00000000000011AD - vcr2-scan_forward 0x00000000000011AE - vcr2-play_reverse 0x00000000000011AF - vcr2-pause 0x00000000000011B0 - vcr2-erase 0x00000000000011B1 - vcr2-rewind 0x00000000000011B2 - vcr2-go_to 0x00000000000011B3 - vcr2-wind 0x00000000000011B4 - vcr2-play 0x00000000000011B5 - vcr2-stop 0x00000000000011B6 - vcr2-recording 0x00000000000011B7 - vcr2-external1 0x00000000000011B8 - vcr2-external2 0x00000000000011B9 - vcr2-short/long_play 0x00000000000011BA - vcr2-counter_memory 0x00000000000011BB - vcr2-scroll_local_display 0x00000000000011BC - vcr2-system_standby 0x00000000000011BD - vcr2-RF_switch 0x00000000000011BE - vcr2-system_select 0x00000000000011BF - vcr2-surround_sound 0x0000000000000180 - vcr2-balance_front 0x0000000000000181 - vcr2-balance_rear 0x0000000000000182 - vcr2-sound_effects1 0x0000000000000183 - vcr2-sound_effects2 0x0000000000000184 - vcr2-sound_effects3 0x0000000000000185 - vcr2-sound_effects4 0x0000000000000186 - vcr2-sound_effects5 0x0000000000000187 - vcr2-sound_or_menu_func.1 0x0000000000000188 - vcr2-sound_or_menu_func.2 0x0000000000000189 - vcr2-sound_or_menu_func.3 0x000000000000018A - vcr2-data_stream_start 0x000000000000018B - vcr2-data_stream_end 0x000000000000018C - vcr2-linear_function_up 0x000000000000018D - vcr2-linear_function_down 0x000000000000018E - vcr2-catalogue 0x000000000000018F - vcr2-cursor_step_up 0x0000000000000190 - vcr2-cursor_step_down 0x0000000000000191 - vcr2-menu_on 0x0000000000000192 - vcr2-menu_off 0x0000000000000193 - vcr2-display_A/V_status 0x0000000000000194 - vcr2-cursor_step_left 0x0000000000000195 - vcr2-cursor_step_right 0x0000000000000196 - vcr2-acknowledge 0x0000000000000197 - vcr2-PIP_on/off 0x0000000000000198 - vcr2-PIP_shift 0x0000000000000199 - vcr2-PIP_main_swap 0x000000000000019A - vcr2-strobe_on/off 0x000000000000019B - vcr2-multi_strobe 0x000000000000019C - vcr2-main_freezed 0x000000000000019D - vcr2-3/9_multi_scan 0x000000000000019E - vcr2-PIP_mode_select 0x000000000000019F - vcr2-mosaic 0x00000000000001A0 - vcr2-solarization 0x00000000000001A1 - vcr2-main_stored 0x00000000000001A2 - vcr2-PIP_strobe 0x00000000000001A3 - vcr2-recall_main 0x00000000000001A4 - vcr2-PIP_freeze 0x00000000000001A5 - vcr2-PIP_step_up 0x00000000000001A6 - vcr2-PIP_step_down 0x00000000000001A7 - vcr2-automatic_start_ID 0x00000000000001A8 - vcr2-write_skip_ID 0x00000000000001A9 - vcr2-skip_on/off 0x00000000000001AA - vcr2-write_end_ID 0x00000000000001AB - vcr2-write_FTS 0x00000000000001AC - vcr2-write_TOC 0x00000000000001AD - vcr2-viss_index_next 0x00000000000001B0 - vcr2-viss_index_previous 0x00000000000001B1 - vcr2-mark 0x00000000000001B2 - vcr2-erase 0x00000000000001B3 - vcr2-renumber 0x00000000000001B4 - vcr2-blank_search 0x00000000000001B5 - vcr2-sub_mode 0x00000000000001B6 - vcr2-sub_mode 0x00000000000001B7 - vcr2-auto_repeat 0x00000000000001B8 - vcr2-insert_temp 0x00000000000001B9 - vcr2-scr_loc_disp 0x00000000000001BA - vcr2-connect 0x00000000000001BB - vcr2-INVALID 0x00000000000001BC - vd-0 0x00000000000010C0 - vd-1 0x00000000000010C1 - vd-2 0x00000000000010C2 - vd-3 0x00000000000010C3 - vd-4 0x00000000000010C4 - vd-5 0x00000000000010C5 - vd-6 0x00000000000010C6 - vd-7 0x00000000000010C7 - vd-8 0x00000000000010C8 - vd-9 0x00000000000010C9 - vd-=/=_=/= 0x00000000000010CA - vd-* 0x00000000000010CB - vd-standby 0x00000000000010CC - vd-mute/demute 0x00000000000010CD - vd-P.P. 0x00000000000010CE - vd-display 0x00000000000010CF - vd-volume+ 0x00000000000010D0 - vd-volume- 0x00000000000010D1 - vd-brightness+ 0x00000000000010D2 - vd-brightness- 0x00000000000010D3 - vd-colour_saturation+ 0x00000000000010D4 - vd-colour_saturation- 0x00000000000010D5 - vd-bass+ 0x00000000000010D6 - vd-bass- 0x00000000000010D7 - vd-treble+ 0x00000000000010D8 - vd-treble- 0x00000000000010D9 - vd-balance_right 0x00000000000010DA - vd-balance_left 0x00000000000010DB - vd-INVALID 0x00000000000010DC - vd-INVALID 0x00000000000010DD - vd-attribute_on/off 0x00000000000010DE - vd-INVALID 0x00000000000010DF - vd-INVALID 0x00000000000010E0 - vd-index 0x00000000000010E1 - vd-INVALID 0x00000000000010E2 - vd-1st/2nd_language 0x00000000000010E3 - vd-spacial_stereo_on/off 0x00000000000010E4 - vd-INVALID 0x00000000000010E5 - vd-hardcopy_printer 0x00000000000010E6 - vd-INVALID 0x00000000000010E7 - vd-terminal_initiation 0x00000000000010E8 - vd-INVALID 0x00000000000010E9 - vd-INVALID 0x00000000000010EA - vd-large_top/lrge_bot/norm 0x00000000000010EB - vd-INVALID 0x00000000000010EC - vd-INVALID 0x00000000000010ED - vd-TV/Text_mixed 0x00000000000010EE - vd-view_data_line_off 0x00000000000010EF - vd-pause 0x00000000000010F0 - vd-erase 0x00000000000010F1 - vd-rewind 0x00000000000010F2 - vd-go_to 0x00000000000010F3 - vd-wind 0x00000000000010F4 - vd-play 0x00000000000010F5 - vd-stop 0x00000000000010F6 - vd-recording 0x00000000000010F7 - vd-external1 0x00000000000010F8 - vd-external2 0x00000000000010F9 - vd-INVALID 0x00000000000010FA - vd-view_data_line_on 0x00000000000010FB - vd-INVALID 0x00000000000010FC - vd-system_standby 0x00000000000010FD - vd-INVALID 0x00000000000010FE - vd-system_select 0x00000000000010FF - vd-surround_sound 0x00000000000000C0 - vd-balance_front 0x00000000000000C1 - vd-balance_rear 0x00000000000000C2 - vd-sound_effects1 0x00000000000000C3 - vd-sound_effects2 0x00000000000000C4 - vd-sound_effects3 0x00000000000000C5 - vd-sound_effects4 0x00000000000000C6 - vd-sound_effects5 0x00000000000000C7 - vd-sound_or_menu_func.1 0x00000000000000C8 - vd-sound_or_menu_func.2 0x00000000000000C9 - vd-sound_or_menu_func.3 0x00000000000000CA - vd-linear_function_up 0x00000000000000CD - vd-linear_function_down 0x00000000000000CE - vd-sound_or_menu_func. 0x00000000000000CF - vd-cursor_step_up 0x00000000000000D0 - vd-cursor_step_down 0x00000000000000D1 - vd-menu_on 0x00000000000000D2 - vd-menu_off 0x00000000000000D3 - vd-display_A/V_status 0x00000000000000D4 - vd-cursor_step_left 0x00000000000000D5 - vd-cursor_step_right 0x00000000000000D6 - vd-menu_function 0x00000000000000D7 - vd-PIP_on/off 0x00000000000000D8 - vd-PIP_shift 0x00000000000000D9 - vd-PIP_main_swap 0x00000000000000DA - vd-strobe_on/off 0x00000000000000DB - vd-multi_strobe 0x00000000000000DC - vd-main_freezed 0x00000000000000DD - vd-3/9_multi_scan 0x00000000000000DE - vd-PIP_mode_select 0x00000000000000DF - vd-mosaic 0x00000000000000E0 - vd-solarization 0x00000000000000E1 - vd-main_stored 0x00000000000000E2 - vd-PIP_strobe 0x00000000000000E3 - vd-recall_main 0x00000000000000E4 - vd-PIP_freeze 0x00000000000000E5 - vd-PIP_step_up 0x00000000000000E6 - vd-PIP_step_down 0x00000000000000E7 - vd-INVALID 0x00000000000000EB - vd-INVALID 0x00000000000000EC - vd-INVALID 0x00000000000000ED - vd-INVALID 0x00000000000000EE - vd-INVALID 0x00000000000000EF - vd-sub_mode 0x00000000000000F6 - vd-sub_mode 0x00000000000000F7 - vd-cleaning_up 0x00000000000000FA - vd-connect 0x00000000000000FB - vd-disconnect 0x00000000000000FC - vd-cleaning_up1 0x00000000000000FD - vd-cleaning_up2 0x00000000000000FE - vd-cleaning_up3 0x00000000000000FF - end codes - -end remote - diff --git a/meta-extras/packages/lirc/files/lircd.init b/meta-extras/packages/lirc/files/lircd.init deleted file mode 100755 index 11ce62447f..0000000000 --- a/meta-extras/packages/lirc/files/lircd.init +++ /dev/null @@ -1,39 +0,0 @@ -#! /bin/sh -# -# This is an init script for Familiar -# Copy it to /etc/init.d/lircd and type -# > update-rc.d lircd defaults 20 -# - - -test -f /usr/sbin/lircd || exit 0 -test -f /etc/lircd.conf || exit 0 - -case "$1" in - start) - echo -n "Starting lirc daemon: lircd" - start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- --device=/dev/lirc - echo "." - ;; - stop) - echo -n "Stopping lirc daemon: lircd" - start-stop-daemon --stop --quiet --exec /usr/sbin/lircd - echo "." - ;; - reload|force-reload) - start-stop-daemon --stop --quiet --signal 1 --exec /usr/sbin/lircd - ;; - restart) - echo -n "Stopping lirc daemon: lircd" - start-stop-daemon --stop --quiet --exec /usr/sbin/lircd - sleep 1 - echo -n "Starting lirc daemon: lircd" - start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- --device=/dev/lirc - echo "." - ;; - *) - echo "Usage: /etc/init.d/lircd {start|stop|reload|restart|force-reload}" - exit 1 -esac - -exit 0 diff --git a/meta-extras/packages/lirc/files/lircexec.init b/meta-extras/packages/lirc/files/lircexec.init deleted file mode 100755 index 3a8c1a306e..0000000000 --- a/meta-extras/packages/lirc/files/lircexec.init +++ /dev/null @@ -1,37 +0,0 @@ -#! /bin/sh -# -# This is an init script for Familiar -# Copy it to /etc/init.d/lircexecd and type -# > update-rc.d lircexecd defaults 20 -# It must be started after lircd (and it does alphabetically :-) -# irexec reads /etc/lircrc by default - - -test -f /usr/bin/irexec || exit 0 -test -f /etc/lircrc || exit 0 - -case "$1" in - start) - echo -n "Starting lircexec daemon: irexec" - start-stop-daemon --start --quiet --exec /usr/bin/irexec -- --daemon - echo "." - ;; - stop) - echo -n "Stopping lircexec daemon: irexec" - start-stop-daemon --stop --quiet --exec /usr/bin/irexec - echo "." - ;; - restart|force-restart) - echo -n "Stopping lircexec daemon: irexec" - start-stop-daemon --stop --quiet --exec /usr/bin/irexec - sleep 1 - echo -n "Starting lircexec daemon: irexec" - start-stop-daemon --start --quiet --exec /usr/bin/irexec -- --daemon - echo "." - ;; - *) - echo "Usage: /etc/init.d/lircexec {start|stop|reload|restart|force-restart}" - exit 1 -esac - -exit 0 diff --git a/meta-extras/packages/lirc/files/lircmd.init b/meta-extras/packages/lirc/files/lircmd.init deleted file mode 100755 index 1a96207dbb..0000000000 --- a/meta-extras/packages/lirc/files/lircmd.init +++ /dev/null @@ -1,38 +0,0 @@ -#! /bin/sh -# -# This is an init script for Familiar -# Copy it to /etc/init.d/lirc and type -# > update-rc.d lirc defaults 20 -# - - -test -f /usr/sbin/lircmd || exit 0 - -case "$1" in - start) - echo -n "Starting lirc daemon: lircmd" - start-stop-daemon --start --quiet --exec /usr/sbin/lircmd - echo "." - ;; - stop) - echo -n "Stopping lirc daemon: lircmd" - start-stop-daemon --stop --quiet --exec /usr/sbin/lircmd - echo "." - ;; - reload|force-reload) - start-stop-daemon --stop --quiet --signal 1 --exec /usr/sbin/lircmd - ;; - restart) - echo -n "Stopping lirc daemon: lircmd" - start-stop-daemon --stop --quiet --exec /usr/sbin/lircmd - sleep 1 - echo -n "Starting lirc daemon: lircmd" - start-stop-daemon --start --quiet --exec /usr/sbin/lircmd - echo "." - ;; - *) - echo "Usage: /etc/init.d/lircmd {start|stop|reload|restart|force-reload}" - exit 1 -esac - -exit 0 diff --git a/meta-extras/packages/lirc/files/lircrc_nslu2 b/meta-extras/packages/lirc/files/lircrc_nslu2 deleted file mode 100644 index 0669d90b09..0000000000 --- a/meta-extras/packages/lirc/files/lircrc_nslu2 +++ /dev/null @@ -1,113 +0,0 @@ -# This is the default files read by all lirc clients -# (see also /etc/lircd.conf) - -# I run /sbin/buzzer before every command to get an audible feedback - -## Here LIRC could shutdown your system -#begin -# prog = irexec -# remote = RC5 -# repeat = 0 -# button = vcr2-standby -# config = /sbin/buzzer; /sbin/halt -#end - - -## Here LIRC controls your mpd music deamon -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-pause - config = /sbin/buzzer; mpc toggle -end -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-step+ - config = /sbin/buzzer; mpc next -end -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-step- - config = /sbin/buzzer; mpc prev -end -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-scan_forward - config = /sbin/buzzer; mpc seek +00:00:30 -end -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-scan_reverse - config = /sbin/buzzer; mpc seek -00:00:30 -end -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-brightness+ - config = /sbin/buzzer; mpc volume +20 -end -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-brightness- - config = /sbin/buzzer; mpc volume -20 -end - - -## Here LIRC acts as an repeater -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-volume+ - config = /sbin/buzzer; irsend SEND_ONCE RC5 amp1-volume+ -end -begin - prog = irexec - remote = RC5 - repeat = 0 - button = vcr2-volume- - config = /sbin/buzzer; irsend SEND_ONCE RC5 amp1-volume- -end - - -## Here LIRC is the input device for your LC display software -begin - prog = lcdd - remote = RC5 - repeat = 0 - button = vcr2-1 - config = A -end -begin - prog = lcdd - remote = RC5 - repeat = 0 - button = vcr2-2 - config = B -end -begin - prog = lcdd - remote = RC5 - repeat = 0 - button = vcr2-3 - config = C -end -begin - prog = lcdd - remote = RC5 - repeat = 0 - button = vcr2-4 - config = D -end diff --git a/meta-extras/packages/lirc/files/split-hauppauge.patch b/meta-extras/packages/lirc/files/split-hauppauge.patch deleted file mode 100644 index 170a233ffb..0000000000 --- a/meta-extras/packages/lirc/files/split-hauppauge.patch +++ /dev/null @@ -1,141 +0,0 @@ ---- lirc/remotes/hauppauge/lircd.conf.hauppauge~ 2003-05-03 15:42:30.000000000 +0100 -+++ lirc/remotes/hauppauge/lircd.conf.hauppauge 2004-10-10 20:14:14.000000000 +0100 -@@ -51,71 +51,3 @@ - end codes - - end remote -- -- --# --# this config file was automatically generated --# using lirc-0.6.6(animax) on Tue Apr 15 19:50:27 2003 --# --# contributed by --# --# brand: Hauppauge --# model no. of remote control: --# devices being controlled by this remote: PVR 2/350 --# -- --begin remote -- -- name hauppauge_pvr -- bits 13 -- flags RC5|CONST_LENGTH -- eps 30 -- aeps 100 -- -- one 969 811 -- zero 969 811 -- plead 1097 -- gap 114605 -- toggle_bit 2 -- -- -- begin codes -- Power 0x00000000000017FD -- Go 0x00000000000017FB -- 1 0x00000000000017C1 -- 2 0x00000000000017C2 -- 3 0x00000000000017C3 -- 4 0x00000000000017C4 -- 5 0x00000000000017C5 -- 6 0x00000000000017C6 -- 7 0x00000000000017C7 -- 8 0x00000000000017C8 -- 9 0x00000000000017C9 -- Back/Exit 0x00000000000017DF -- 0 0x00000000000017C0 -- Menu 0x00000000000017CD -- Red 0x00000000000017CB -- Green 0x00000000000017EE -- Yellow 0x00000000000017F8 -- Blue 0x00000000000017E9 -- Ch+ 0x00000000000017E0 -- Ch- 0x00000000000017E1 -- Vol- 0x00000000000017D1 -- Vol+ 0x00000000000017D0 -- Ok 0x00000000000017E5 -- Mute 0x00000000000017CF -- Blank 0x00000000000017CC -- Full 0x00000000000017FC -- Rewind 0x00000000000017F2 -- Play 0x00000000000017F5 -- Forward 0x00000000000017F4 -- Record 0x00000000000017F7 -- Stop 0x00000000000017F6 -- Pause 0x00000000000017F0 -- Replay 0x00000000000017E4 -- Skip 0x00000000000017DE -- end codes -- --end remote -- -- ---- /dev/null 2004-06-13 02:32:19.000000000 +0100 -+++ lirc/remotes/hauppauge/lircd.conf.hauppauge-pvr 2004-10-10 20:14:05.000000000 +0100 -@@ -0,0 +1,64 @@ -+# -+# this config file was automatically generated -+# using lirc-0.6.6(animax) on Tue Apr 15 19:50:27 2003 -+# -+# contributed by -+# -+# brand: Hauppauge -+# model no. of remote control: -+# devices being controlled by this remote: PVR 2/350 -+# -+ -+begin remote -+ -+ name hauppauge_pvr -+ bits 13 -+ flags RC5|CONST_LENGTH -+ eps 30 -+ aeps 100 -+ -+ one 969 811 -+ zero 969 811 -+ plead 1097 -+ gap 114605 -+ toggle_bit 2 -+ -+ -+ begin codes -+ Power 0x00000000000017FD -+ Go 0x00000000000017FB -+ 1 0x00000000000017C1 -+ 2 0x00000000000017C2 -+ 3 0x00000000000017C3 -+ 4 0x00000000000017C4 -+ 5 0x00000000000017C5 -+ 6 0x00000000000017C6 -+ 7 0x00000000000017C7 -+ 8 0x00000000000017C8 -+ 9 0x00000000000017C9 -+ Back/Exit 0x00000000000017DF -+ 0 0x00000000000017C0 -+ Menu 0x00000000000017CD -+ Red 0x00000000000017CB -+ Green 0x00000000000017EE -+ Yellow 0x00000000000017F8 -+ Blue 0x00000000000017E9 -+ Ch+ 0x00000000000017E0 -+ Ch- 0x00000000000017E1 -+ Vol- 0x00000000000017D1 -+ Vol+ 0x00000000000017D0 -+ Ok 0x00000000000017E5 -+ Mute 0x00000000000017CF -+ Blank 0x00000000000017CC -+ Full 0x00000000000017FC -+ Rewind 0x00000000000017F2 -+ Play 0x00000000000017F5 -+ Forward 0x00000000000017F4 -+ Record 0x00000000000017F7 -+ Stop 0x00000000000017F6 -+ Pause 0x00000000000017F0 -+ Replay 0x00000000000017E4 -+ Skip 0x00000000000017DE -+ end codes -+ -+end remote diff --git a/meta-extras/packages/lirc/lirc-config.inc b/meta-extras/packages/lirc/lirc-config.inc deleted file mode 100644 index 03bfc61e39..0000000000 --- a/meta-extras/packages/lirc/lirc-config.inc +++ /dev/null @@ -1,13 +0,0 @@ -EXTRA_OECONF = "--with-kerneldir=${STAGING_KERNEL_DIR} --with-driver=${DRIVER}" - -DRIVER ?= "serial" -# fails to build at the moment, re-enable later -#DRIVER_collie = "sa1100" -DRIVER_h3600 = "sa1100" -DRIVER_simpad = "sa1100" -DRIVER_nslu2 = "nslu2" -# XXX Why is X disabled on all these platforms anyway? -EXTRA_OECONF_append_collie = " --without-x" -EXTRA_OECONF_append_h3600 = " --without-x" -EXTRA_OECONF_append_simpad = " --without-x" -EXTRA_OECONF_append_nslu2 = " --without-x --with-transmitter --with-soft-carrier" diff --git a/meta-extras/packages/lirc/lirc-modules_0.8.3.bb b/meta-extras/packages/lirc/lirc-modules_0.8.3.bb deleted file mode 100644 index ee1de7194e..0000000000 --- a/meta-extras/packages/lirc/lirc-modules_0.8.3.bb +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls." -SECTION = "base" -PRIORITY = "optional" -LICENSE = "GPL" -DEPENDS = "virtual/kernel virtual/fakeroot-native" -PR = "r2" - -SRC_URI = "${SOURCEFORGE_MIRROR}/lirc/lirc-${PV}.tar.gz \ - file://lirc_sir-sa1100.patch;patch=1" -S = "${WORKDIR}/lirc-${PV}" - -inherit autotools module-base - -include lirc-config.inc - -do_compile() { - # ${KERNEL_LD} doesn't understand the LDFLAGS, so suppress them - cd drivers && oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" LDFLAGS="" -} - -fakeroot do_install() { - oe_runmake -C drivers DESTDIR="${D}" moduledir="/lib/modules/${KERNEL_VERSION}/lirc" install - rm -rf ${D}/dev -} - -pkg_postinst() { -#!/bin/sh -set -e -if [ ! -c $D/dev/lirc ]; then mknod $D/dev/lirc c 61 0; fi -exit 0 -} - -FILES_${PN} = "/lib/modules" diff --git a/meta-extras/packages/lirc/lirc_0.8.3.bb b/meta-extras/packages/lirc/lirc_0.8.3.bb deleted file mode 100644 index 9e4cacc3e4..0000000000 --- a/meta-extras/packages/lirc/lirc_0.8.3.bb +++ /dev/null @@ -1,31 +0,0 @@ -DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls." -SECTION = "console/network" -PRIORITY = "optional" -LICENSE = "GPL" -DEPENDS = "virtual/kernel virtual/libx11 libxau libsm libice" -PR = "r5" - -SRC_URI = "${SOURCEFORGE_MIRROR}/lirc/lirc-${PV}.tar.gz \ - file://lircd.init file://lircmd.init" -S = "${WORKDIR}/lirc-${PV}" - -inherit autotools module-base update-rc.d - -INITSCRIPT_NAME = "lircd" -INITSCRIPT_PARAMS = "defaults 20" - -include lirc-config.inc - -EXTRA_OEMAKE = 'SUBDIRS="daemons tools"' - -do_install_append() { - install -d ${D}${sysconfdir}/init.d - install ${WORKDIR}/lircd.init ${D}${sysconfdir}/init.d/lircd - - install -d ${D}${datadir}/lirc/ - cp -pPR ${S}/remotes ${D}${datadir}/lirc/ -} - -PACKAGES =+ "lirc-x" - -FILES_lirc-x = "${bindir}/irxevent ${bindir}/xmode2" diff --git a/meta-extras/packages/llvm/llvm-native/fix_ldflags_export.patch b/meta-extras/packages/llvm/llvm-native/fix_ldflags_export.patch deleted file mode 100644 index 77511d68f6..0000000000 --- a/meta-extras/packages/llvm/llvm-native/fix_ldflags_export.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: trunk/tools/llvm-config/Makefile -=================================================================== ---- trunk.orig/tools/llvm-config/Makefile 2008-02-11 15:14:22.000000000 +0000 -+++ trunk/tools/llvm-config/Makefile 2008-04-11 16:58:06.000000000 +0100 -@@ -27,7 +27,7 @@ - # This is blank for now. We need to be careful about adding stuff here: - # LDFLAGS tend not to be portable, and we don't currently require the - # user to use libtool when linking against LLVM. --SUB_LDFLAGS = -+SUB_LDFLAGS = ${LD.Flags} - - FinalLibDeps = $(PROJ_OBJ_DIR)/FinalLibDeps.txt - LibDeps = $(PROJ_OBJ_DIR)/LibDeps.txt -@@ -57,10 +57,11 @@ - # Build our final script. - $(ToolDir)/llvm-config: llvm-config.in $(FinalLibDeps) - $(Echo) "Building llvm-config script." -+ $(Echo) 's,@LLVM_LDFLAGS@,$(SUB_LDFLAGS),' - $(Verb) $(ECHO) 's,@LLVM_CPPFLAGS@,$(SUB_CPPFLAGS),' > temp.sed - $(Verb) $(ECHO) 's,@LLVM_CFLAGS@,$(SUB_CFLAGS),' >> temp.sed - $(Verb) $(ECHO) 's,@LLVM_CXXFLAGS@,$(SUB_CXXFLAGS),' >> temp.sed -- $(Verb) $(ECHO) 's,@LLVM_LDFLAGS@,$(SUB_LDFLAGS),' >> temp.sed -+ $(Verb) $(ECHO) 's#@LLVM_LDFLAGS@#$(SUB_LDFLAGS)#' >> temp.sed - $(Verb) $(ECHO) 's,@LLVM_BUILDMODE@,$(BuildMode),' >> temp.sed - $(Verb) $(SED) -f temp.sed < $< > $@ - $(Verb) $(RM) temp.sed diff --git a/meta-extras/packages/llvm/llvm-native_svn.bb b/meta-extras/packages/llvm/llvm-native_svn.bb deleted file mode 100644 index 56cc0d97b7..0000000000 --- a/meta-extras/packages/llvm/llvm-native_svn.bb +++ /dev/null @@ -1,13 +0,0 @@ -DEPENDS = "flex-native" -SRC_URI = "svn://llvm.org/svn/llvm-project/llvm;proto=http;module=trunk \ - file://fix_ldflags_export.patch;patch=1" - -PV = "0.0+${SRCREV}" -PR = "r1" - -S = "${WORKDIR}/trunk" - -inherit autotools native - -EXTRA_OECONF = "--enable-optimized" -EXTRA_OEMAKE = "ENABLE_OPTIMIZED=1" \ No newline at end of file diff --git a/meta-extras/packages/madplay/madplay_0.15.2b.bb b/meta-extras/packages/madplay/madplay_0.15.2b.bb deleted file mode 100644 index d942b965e2..0000000000 --- a/meta-extras/packages/madplay/madplay_0.15.2b.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Madplay is a command-line MPEG audio decoder and player" -SECTION = "console/multimedia" -DEPENDS = "libmad" -LICENSE = "GPL" -AUTHOR = "Robert Leslie " -HOMEPAGE = "http://www.mars.org/home/rob/proj/mpeg/" - -SRC_URI = "ftp://ftp.mars.org/pub/mpeg/${PN}-${PV}.tar.gz" - -inherit autotools - -FILES_${PN} = "${bindir}/madplay" diff --git a/meta-extras/packages/maemo-mapper/files/fix_segfault.patch b/meta-extras/packages/maemo-mapper/files/fix_segfault.patch deleted file mode 100644 index 23730e8c01..0000000000 --- a/meta-extras/packages/maemo-mapper/files/fix_segfault.patch +++ /dev/null @@ -1,31 +0,0 @@ - src/maemo-mapper.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -Index: trunk/src/maemo-mapper.c -=================================================================== ---- trunk.orig/src/maemo-mapper.c 2006-11-28 15:11:49.000000000 +0000 -+++ trunk/src/maemo-mapper.c 2006-11-28 22:40:19.000000000 +0000 -@@ -140,8 +140,8 @@ - #define HILDON_HARDKEY_RIGHT GDK_Right - #define HILDON_HARDKEY_SELECT GDK_Return - #define HILDON_HARDKEY_FULLSCREEN GDK_F10 --#define HILDON_HARDKEY_INCREASE GDK_F6 --#define HILDON_HARDKEY_DECREASE GDK_F5 -+#define HILDON_HARDKEY_INCREASE GDK_plus -+#define HILDON_HARDKEY_DECREASE GDK_minus - #define HILDON_HARDKEY_ESC GDK_Escape - #define HILDON_COLOR_BUTTON GTK_COLOR_BUTTON - -@@ -3117,9 +3117,9 @@ set_conn_state(ConnState new_conn_state) - gtk_widget_destroy(_fix_banner); - _fix_banner = NULL; - } -- if(!_connect_banner) -- _connect_banner = hildon_banner_show_animation( -- _window, NULL, _("Searching for GPS receiver")); -+// if(!_connect_banner) -+// _connect_banner = hildon_banner_show_animation( -+// _window, NULL, _("Searching for GPS receiver")); - break; - case RCVR_UP: - if(_connect_banner) diff --git a/meta-extras/packages/maemo-mapper/maemo-mapper-nohildon_svn.bb b/meta-extras/packages/maemo-mapper/maemo-mapper-nohildon_svn.bb deleted file mode 100644 index ceda4ff811..0000000000 --- a/meta-extras/packages/maemo-mapper/maemo-mapper-nohildon_svn.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "GPS navigation/map display software" -LICENSE = "GPL" -DEPENDS = "sqlite3 gtk+ gnome-vfs dbus bluez-libs" -RDEPENDS = "bluez-utils" -PV = "1.2.4+svn${SRCDATE}" -PR = "r1" - -# Only works with SRCDATE_maemo-mapper-nohildon = "20061114" -SRC_URI = "svn://garage.maemo.org/svn/maemo-mapper;proto=https;module=trunk \ - http://home.tal.org/%7Emilang/n770/maemo-mapper-desktop-20061114-001.patch;patch=1;pnum=0 \ - file://fix_segfault.patch;patch=1" - -S = "${WORKDIR}/trunk" - -inherit autotools pkgconfig - -do_install_append () { - install -d ${D}${datadir}/applications/ - mv ${D}/maemo-mapper.desktop ${D}${datadir}/applications/ -} - -#FILES_${PN} += "${datadir}/icons" diff --git a/meta-extras/packages/maemo/nokia770-init/fixup-770.sh b/meta-extras/packages/maemo/nokia770-init/fixup-770.sh deleted file mode 100644 index 0f1734d2ab..0000000000 --- a/meta-extras/packages/maemo/nokia770-init/fixup-770.sh +++ /dev/null @@ -1,26 +0,0 @@ -#! /bin/sh -case "$1" in - start) - echo -n "Unmounting virtual fs from initrd" - umount /mnt/initfs/sys - umount /mnt/initfs/proc - ln -s /dev/vc/0 /dev/tty0 - ln -s /dev/vc/1 /dev/tty1 - ln -s /dev/vc/2 /dev/tty2 - ln -s /dev/vc/3 /dev/tty3 - ln -s /dev/vc/4 /dev/tty4 - ln -s /dev/vc/5 /dev/tty5 - ln -s /dev/vc/6 /dev/tty6 - ln -s /dev/vc/7 /dev/tty7 - /sbin/ifconfig wlan0 up - ;; - stop) - ;; - *) - echo "Usage: $SCRIPTNAME {start|stop}" >&2 - exit 1 - ;; -esac - -exit 0 - \ No newline at end of file diff --git a/meta-extras/packages/maemo/nokia770-init_1.0.bb b/meta-extras/packages/maemo/nokia770-init_1.0.bb deleted file mode 100644 index 9075c016a6..0000000000 --- a/meta-extras/packages/maemo/nokia770-init_1.0.bb +++ /dev/null @@ -1,38 +0,0 @@ -LICENSE = "GPL" -PR = "r7" - -DEPENDS = "base-passwd" - -SRC_URI = "file://fixup-770.sh" - -COMPATIBLE_MACHINE = "(nokia770|nokia800)" - -inherit update-rc.d - -INITSCRIPT_NAME = "fixup-770.sh" -INITSCRIPT_PARAMS = "defaults 01" - -FILES_${PN} = "${sysconfdir} ${libdir}" - -do_install () { - install -d ${D}${sysconfdir}/init.d - install -m 755 ${WORKDIR}/fixup-770.sh ${D}/${sysconfdir}/init.d/fixup-770.sh - - install -d ${D}/lib/firmware -} - -pkg_postinst () { -#!/bin/sh - -# set up some links to firmware and modules in initrd - mkdir -p $D/lib/firmware - ln -sf /mnt/initfs/usr/lib/hotplug/firmware/3825.arm $D/lib/firmware/3825.arm - ln -sf /mnt/initfs/usr/lib/hotplug/firmware/3826.arm $D/lib/firmware/3826.arm - ln -sf /mnt/initfs/usr/lib/hotplug/firmware/bc4fw.bin $D/lib/firmware/bc4fw.bin - ln -sf /mnt/initfs/usr/lib/hotplug/firmware/brf6150fw.bin $D/lib/firmware/brf6150fw.bin - ln -sf /mnt/initfs/usr/lib/hotplug/firmware/mtlm3825.arm $D/lib/firmware/mtlm3825.arm - ln -sf /mnt/initfs/usr/lib/hotplug/firmware/mtlm3826.arm $D/lib/firmware/mtlm3826.arm - -# rm -rf $D/lib/modules -# ln -s /mnt/initfs/lib/modules $D/lib/modules -} diff --git a/meta-extras/packages/maemo/xpext/auxdir.patch b/meta-extras/packages/maemo/xpext/auxdir.patch deleted file mode 100644 index da5841a132..0000000000 --- a/meta-extras/packages/maemo/xpext/auxdir.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- configure.ac.old 2005-06-03 12:53:28.000000000 +0200 -+++ configure.ac 2005-06-03 12:54:29.000000000 +0200 -@@ -25,9 +25,9 @@ - - AC_PREREQ([2.57]) - AC_INIT([spext], [1.0], [lauri.leukkunen@nokia.com], spext) -+AC_CONFIG_AUX_DIR(.) - AM_INIT_AUTOMAKE([dist-bzip2]) - AM_MAINTAINER_MODE --AC_CONFIG_AUX_DIR(.) - - dnl PKG_CHECK_MODULES(FIXESEXT, fixesext) - diff --git a/meta-extras/packages/maemo/xpext_1.0-5.bb b/meta-extras/packages/maemo/xpext_1.0-5.bb deleted file mode 100644 index 5be3d1c041..0000000000 --- a/meta-extras/packages/maemo/xpext_1.0-5.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "X Server Nokia 770 extensions library" -LICENSE= "MIT" -SECTION = "x11/libs" -PRIORITY = "optional" -DEPENDS = "virtual/libx11 libxext" -PR = "r1" - -SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/${PN}/${PN}_${PV}.tar.gz \ - file://auxdir.patch;patch=1;pnum=0" -S = "${WORKDIR}/xpext-1.0" - -# ${PN} is empty so we need to tweak -dev and -dbg package dependencies -RDEPENDS_${PN}-dev = "" -RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPV})" - -inherit autotools pkgconfig - -do_configure_prepend () { - cd ${S} - chmod +x ./autogen.sh - ./autogen.sh -} diff --git a/meta-extras/packages/maemo/xsp_1.0.0-8.bb b/meta-extras/packages/maemo/xsp_1.0.0-8.bb deleted file mode 100644 index c722213c86..0000000000 --- a/meta-extras/packages/maemo/xsp_1.0.0-8.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "X Server Nokia 770 extensions library" -SECTION = "x11/libs" -PRIORITY = "optional" -LICENSE= "MIT" -DEPENDS = "virtual/libx11 libxext xpext" - -PR = "r1" - -SRC_URI = "http://repository.maemo.org/pool/maemo/ossw/source/x/xsp/${PN}_${PV}.tar.gz" -S = "${WORKDIR}/Xsp" - -inherit autotools pkgconfig diff --git a/meta-extras/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb b/meta-extras/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb deleted file mode 100644 index d868f148c3..0000000000 --- a/meta-extras/packages/matchbox-applet-inputmanager/matchbox-applet-inputmanager_0.6.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Matchbox input manager" -LICENSE = "GPL" -DEPENDS = "matchbox-wm libmatchbox" -SECTION = "x11/wm" - -SRC_URI = "http://projects.o-hand.com/matchbox/sources/mb-applet-input-manager/${PV}/mb-applet-input-manager-${PV}.tar.gz" -S = "${WORKDIR}/mb-applet-input-manager-${PV}" - -inherit autotools pkgconfig - -FILES_${PN} = "${bindir}/* ${datadir}/applications ${datadir}/pixmaps" - diff --git a/meta-extras/packages/matchbox-applet-light/matchbox-applet-light_svn.bb b/meta-extras/packages/matchbox-applet-light/matchbox-applet-light_svn.bb deleted file mode 100644 index 3f1c2d02c7..0000000000 --- a/meta-extras/packages/matchbox-applet-light/matchbox-applet-light_svn.bb +++ /dev/null @@ -1,10 +0,0 @@ -LICENSE = "GPLv2" -PRIORITY = "optional" -DEPENDS = "libmatchbox gtk+" -PV = "0.0+svnr${SRCREV}" - -SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=mb-applet-light;proto=http" - -S = "${WORKDIR}/mb-applet-light" - -inherit autotools pkgconfig diff --git a/meta-extras/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb b/meta-extras/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb deleted file mode 100644 index 68b224714a..0000000000 --- a/meta-extras/packages/matchbox-applet-startup-monitor/matchbox-applet-startup-monitor_0.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Matchbox Startup monitor applet" -LICENSE = "GPL" -DEPENDS = "libmatchbox startup-notification" -SECTION = "x11/wm" - -SRC_URI = "http://matchbox-project.org/sources/mb-applet-startup-monitor/${PV}/mb-applet-startup-monitor-${PV}.tar.gz" -S = "${WORKDIR}/mb-applet-startup-monitor-${PV}" - -inherit autotools pkgconfig - -FILES_${PN} = "${bindir}/* ${datadir}/applications ${datadir}/pixmaps" diff --git a/meta-extras/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb b/meta-extras/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb deleted file mode 100644 index e4b843f6b1..0000000000 --- a/meta-extras/packages/matchbox-applet-volume/matchbox-applet-volume_0.1.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Matchbox Volume Applet" -LICENSE = "GPL" -DEPENDS = "matchbox-wm libmatchbox gtk+" -SECTION = "x11/wm" - -SRC_URI = "http://projects.o-hand.com/matchbox/sources/mb-applet-volume/${PV}/mb-applet-volume-${PV}.tar.gz" -S = "${WORKDIR}/mb-applet-volume-${PV}" - -inherit autotools pkgconfig - -FILES_${PN} = "${bindir} ${datadir}/applications ${datadir}/pixmaps" - diff --git a/meta-extras/packages/matchbox-common/matchbox-common_0.9.1.bb b/meta-extras/packages/matchbox-common/matchbox-common_0.9.1.bb deleted file mode 100644 index 2927ccd08f..0000000000 --- a/meta-extras/packages/matchbox-common/matchbox-common_0.9.1.bb +++ /dev/null @@ -1,14 +0,0 @@ -SECTION = "x11/wm" -DESCRIPTION = "Matchbox window manager common files" -LICENSE = "GPL" -DEPENDS = "libmatchbox" - -SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/0.9/${PN}-${PV}.tar.gz" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--enable-pda-folders" - -FILES_${PN} = "${bindir} \ - ${datadir}/matchbox/vfolders \ - ${datadir}/pixmaps" diff --git a/meta-extras/packages/matchbox-common/matchbox-common_svn.bb b/meta-extras/packages/matchbox-common/matchbox-common_svn.bb deleted file mode 100644 index ec62ac05a8..0000000000 --- a/meta-extras/packages/matchbox-common/matchbox-common_svn.bb +++ /dev/null @@ -1,17 +0,0 @@ -SECTION = "x11/wm" -DESCRIPTION = "Matchbox window manager common files" -LICENSE = "GPL" -DEPENDS = "libmatchbox" -PV = "0.9.1+svnr${SRCREV}" -S = "${WORKDIR}/matchbox-common" -DEFAULT_PREFERENCE = "-1" - -SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-common;proto=http" - -inherit autotools pkgconfig - -EXTRA_OECONF = " --enable-pda-folders " - -FILES_${PN} = "${bindir} \ - ${datadir}/matchbox/vfolders \ - ${datadir}/pixmaps" diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop deleted file mode 100644 index 4e08dfd379..0000000000 --- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/home-panelapp.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Name=Home -Comment=Home -Exec=mb-applet-home -Type=PanelApp -Icon=xrandr.png -Categories=Panel;Utility;MB diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home deleted file mode 100755 index 132e72bdd4..0000000000 --- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/mb-applet-home +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exec mb-applet-launcher -na -o -1 -l --title "Home" mbdesktop.png matchbox-remote -d diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop deleted file mode 100644 index 512e3771e4..0000000000 --- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Name=Screen Rotator -Comment=Panel based Rotation tool. -Exec=mb-applet-launcher -na -l --title "Screen Rotator" /usr/share/pixmaps/xrandr.png xrandr-panelapp.sh -Type=PanelApp -Icon=xrandr.png -Categories=Panel;Utility;MB diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh deleted file mode 100755 index d17c805ffc..0000000000 --- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr-panelapp.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -if [ -n "$(xrandr | grep rotation | grep left)" ] -then -xrandr -o normal -xmodmap /etc/X11/xmodmap-portrait -else -xrandr -o left -xmodmap /etc/X11/xmodmap-left -fi diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr.png b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks-0.3-1/xrandr.png deleted file mode 100644 index 08cd476e8a3f605482890f134197527989dc506d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1651 zcmV-(28{WMP)q1^`J! zK~zY`y_Z{T99J2~e`j`fXLqt!Z(=*PV>eh1btqPvlpxx=AU}X&mq_6usst*EDQQ%w zprArY8!U)SL))NOZAkNgh?)vjkkF=a1T@Ids!9_HM}qXB&=MQhn`VRE)_ZeicIF%& z_HJ*SI;uF*r`bJc&iVf5|6NB=7#iR&KK~yh4_E*Kh)1K*1MThY>!p;Q<(#6Fx}mjn zI&CMD$zj{JPw2p>`}+F6G%_->N(jMn0aVMPITR=s{Xg@@8MXJPdw2YCbaYe)yzzM4 z)7I8@V~Q6lDb6WXn3qbHf0x!;T3ST+%{Olb?$8$=p3CLPWHQ%Pz7R+~MykQ-UY&3# zTzF3^JRXl%DHT`*;K-3996fq;NgH0v#&zdV2m~89ZsJF~A0ZNs6o659cM*WU|KkGP zpW8yu=DR*Vm(N?gFtUeiCQCRJMoCrDzZd{OFcKvki(m7=tMgd|0wZ94Gyt}R&@`ly z1)re8)UxAV2*Ks430`{cAWq(1e$>d4e=Na3z2Wr;f&uV(6-mFtpI`nBhH28jeGs1! zxV~~K%Bu*dW#C$lCxl={0OFB6O$`>&6%InVyf*qge;NHPuIqd>22f=)ECNso9ngfp zqg6!L1b#1=eo5GL@%t1Z69#%=?D!$hj-5g&i4bCeKy_|YatRZZ00%v&Y$}$U2QI{tp;n`y@Z05T4mh6il#;%v8b2F9%?0(p5oajAEmkR zFg>^4R>Qre3k0Gj3Q(#(1KDhrW5-7L)Y=Ts48{3EZxqAO(Di~pRF4wdv6z>khuau> zVw!z>9%6X^FWIp1GbjO;qqy?^96~Ip6ZM?Xwr!@Tr)XQ5;=tZ^w)V$~Msxyx4V1!l zB(CG)I4(}!#kMNa7}t5^TTL_v6FfD%hfCA{VK$ZH%=v$EcKofy4Ak?1@$qq{r~btc z?u*m8Hh>WD-x-_COoq&C3SBuMB`AebvK-H)qLaM}UQIHYoZ-}~<9GrM1@pQNLR1y9 zs%WqAfkYyK%%|9JOLIYaa-P|@6U6=VG?(Y z3q=46^FR#)x%nK9o5x#(b$RlA+RPkpPQZl;xbgw4io)s!=xl+GX3zvUE*v}oFP;n1 z)3*&H)IcVkM$krnNy--sXkZ;U~}QX#P05VdCa3tn3_{ zJG1=iVesh%<_O8!C@GmqyhF}9k7dKL*Wl1ejiz-y_)U|{Y@(vLC@6)Lh4`1UjtNR> zG8_)mKk#J^J-v^!=jK?`8b)XzUXcims(;nne8uT3ju+?qU4^3H%6VE3cD@ddki?1>~D9VQ#Qud?s) zVJ0RgkV;~%FmaWS`@Xr0d%u2f#j&cqTuNC(dwIQN0#!*wZZ?~hc{@)@VzC$pMxMrq zY~qK*@3EyXf}DSgp&t*CPNy+VlWkww#^B%}x<@CUFYe9Pij#N9+r?+q{QUfUsZ10; zOnhGN&$_z0?hb}Rk?Po%Qi^0U>9MX}Ha2t{y!u9(aJ13w=;*M75K1gr`3EaCr3wDo;-Epmb^ok;qy&D_`n0NG&D3g xH`=5chM`(kubvS?Tv*P&FwhTd`Zzxl{|DLv%?hKZePRFr002ovPDHLkV1lt(6%7CY diff --git a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb b/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb deleted file mode 100644 index 8975853448..0000000000 --- a/meta-extras/packages/matchbox-panel-hacks/matchbox-panel-hacks_0.3-1.bb +++ /dev/null @@ -1,23 +0,0 @@ -DESCRIPTION = "Simple dockapps created with monolaunch and shell script" -DEPENDS = "matchbox-common xmodmap" -SRC_URI = "file://xrandr-panelapp.sh \ - file://xrandr-panelapp.desktop \ - file://mb-applet-home \ - file://home-panelapp.desktop \ - file://xrandr.png" -SECTION = "x11/wm" -PRIORITY = "optional" -PR = "r8" -LICENSE = "MIT" - -do_install() { - install -d ${D}${bindir} - install -d ${D}${datadir}/applications - install -d ${D}${datadir}/pixmaps - install -m 0755 ${WORKDIR}/xrandr-panelapp.sh ${D}${bindir}/ - install -m 0644 ${WORKDIR}/xrandr-panelapp.desktop ${D}${datadir}/applications/ - install -m 0644 ${WORKDIR}/xrandr.png ${D}${datadir}/pixmaps/ - install -m 0755 ${WORKDIR}/mb-applet-home ${D}${bindir}/ - install -m 0644 ${WORKDIR}/home-panelapp.desktop ${D}${datadir}/applications/ - -} diff --git a/meta-extras/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb b/meta-extras/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb deleted file mode 100644 index fea6953ece..0000000000 --- a/meta-extras/packages/matchbox-panel-manager/matchbox-panel-manager_0.1.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Matchbox Panel Manager" -LICENSE = "GPL" -DEPENDS = "gtk+" -SECTION = "x11/wm" - -SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/${PV}/${PN}-${PV}.tar.bz2" -S = "${WORKDIR}/${PN}-${PV}" - -inherit autotools pkgconfig - -FILES_${PN} = "${bindir}/* ${datadir}/applications ${datadir}/pixmaps" - diff --git a/meta-extras/packages/matchbox-panel/matchbox-panel.inc b/meta-extras/packages/matchbox-panel/matchbox-panel.inc deleted file mode 100644 index f7d6b93389..0000000000 --- a/meta-extras/packages/matchbox-panel/matchbox-panel.inc +++ /dev/null @@ -1,27 +0,0 @@ -DESCRIPTION = "Matchbox Window Manager Panel" -LICENSE = "GPL" -DEPENDS = "libmatchbox virtual/libx11 libxext libxpm apmd startup-notification virtual/kernel wireless-tools" -RDEPENDS = "matchbox-common" -SECTION = "x11/wm" - -PR = "r2" - -inherit autotools pkgconfig gettext - -CFLAGS += "-D_GNU_SOURCE" - -EXTRA_OECONF = " --enable-startup-notification --enable-dnotify " -EXTRA_OECONF_append_h3600 = " --enable-small-icons " -EXTRA_OECONF_append_h3900 = " --enable-small-icons " -EXTRA_OECONF_append_h2200 = " --enable-small-icons " -EXTRA_OECONF_append_h4000 = " --enable-small-icons " -EXTRA_OECONF_append_collie = " --enable-small-icons " -EXTRA_OECONF_append_poodle = " --enable-small-icons " -EXTRA_OECONF_append_mnci = " --enable-small-icons " -EXTRA_OECONF_append_integral13 = " --enable-small-icons " -PACKAGE_ARCH = "${MACHINE}" - -FILES_${PN} = "${bindir}/* \ - ${datadir}/applications \ - ${datadir}/pixmaps" - diff --git a/meta-extras/packages/matchbox-panel/matchbox-panel_0.9.2.bb b/meta-extras/packages/matchbox-panel/matchbox-panel_0.9.2.bb deleted file mode 100644 index 2b5f4693a7..0000000000 --- a/meta-extras/packages/matchbox-panel/matchbox-panel_0.9.2.bb +++ /dev/null @@ -1,6 +0,0 @@ -require matchbox-panel.inc - -PR="r3" -SRC_URI = "http://projects.o-hand.com/matchbox/sources/${PN}/0.9/${PN}-${PV}.tar.gz" - - diff --git a/meta-extras/packages/matchbox-panel/matchbox-panel_svn.bb b/meta-extras/packages/matchbox-panel/matchbox-panel_svn.bb deleted file mode 100644 index 50182dacce..0000000000 --- a/meta-extras/packages/matchbox-panel/matchbox-panel_svn.bb +++ /dev/null @@ -1,9 +0,0 @@ -require matchbox-panel.inc -PV = "0.9.2+svnr${SRCREV}" -DEFAULT_PREFERENCE = "-1" - -SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=${PN};proto=http" - -EXTRA_OECONF = "--enable-startup-notification --enable-dnotify" - -S = "${WORKDIR}/${PN}" diff --git a/meta-extras/packages/mozilla/files/eabi-fix.patch b/meta-extras/packages/mozilla/files/eabi-fix.patch deleted file mode 100644 index fd3bb88683..0000000000 --- a/meta-extras/packages/mozilla/files/eabi-fix.patch +++ /dev/null @@ -1,66 +0,0 @@ -http://lists.debian.org/debian-arm/2007/05/msg00039.html - -From: Lennert Buytenhek - -Hi, - -The reason that building nss (i.e., firefox) would segfault on ARM EABI -systems is an assumption about the layout of the jmp_buf structure in -the nspr library (which nss depends on) that does hold on old-ABI but -no longer holds on EABI. The attached patch fixes this assumption, -and fixes the shlibsign segfault during the building of nss (it also -fixes a floating point byte order assumption.) - -Looks sane? - -It's of course a stupid idea to depend on a particular layout of the -jmp_buf structure in application programs, but oh well. People write -ugly buggy code, film at 11. - - ---- mozilla/nsprpub/pr/src/misc/prdtoa.c.orig 2007-05-06 02:39:00.000000000 +0200 -+++ mozilla/nsprpub/pr/src/misc/prdtoa.c 2007-05-06 02:39:22.000000000 +0200 -@@ -59,8 +59,8 @@ - /* FIXME: deal with freelist and p5s. */ - } - --#if defined(__arm) || defined(__arm__) || defined(__arm26__) \ -- || defined(__arm32__) -+#if (defined(__arm) || defined(__arm__) || defined(__arm26__) \ -+ || defined(__arm32__)) && !defined(__ARM_EABI__) && !defined(__ARMEB__) - #define IEEE_ARM - #elif defined(IS_LITTLE_ENDIAN) - #define IEEE_8087 ---- mozilla/nsprpub/pr/include/md/_linux.h.orig 2007-05-06 02:39:45.000000000 +0200 -+++ mozilla/nsprpub/pr/include/md/_linux.h 2007-05-06 02:40:57.000000000 +0200 -@@ -346,7 +346,7 @@ - #error "Linux/MIPS pre-glibc2 not supported yet" - #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */ - --#elif defined(__arm__) -+#elif defined(__arm__) && !defined(__ARM_EABI__) - /* ARM/Linux */ - #if defined(__GLIBC__) && __GLIBC__ >= 2 - #define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[20] -@@ -358,6 +358,18 @@ - #error "ARM/Linux pre-glibc2 not supported yet" - #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */ - -+#elif defined(__arm__) && defined(__ARM_EABI__) -+/* ARM/Linux */ -+#if defined(__GLIBC__) && __GLIBC__ >= 2 -+#define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[8] -+#define _MD_SET_FP(_t, val) ((_t)->md.context[0].__jmpbuf[7] = (val)) -+#define _MD_GET_SP_PTR(_t) &(_MD_GET_SP(_t)) -+#define _MD_GET_FP_PTR(_t) (&(_t)->md.context[0].__jmpbuf[7]) -+#define _MD_SP_TYPE __ptr_t -+#else -+#error "ARM/Linux pre-glibc2 not supported yet" -+#endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */ -+ - #else - - #error "Unknown CPU architecture" - - - diff --git a/meta-extras/packages/mozilla/files/eabi-fix2.patch b/meta-extras/packages/mozilla/files/eabi-fix2.patch deleted file mode 100644 index 5f64e7f796..0000000000 --- a/meta-extras/packages/mozilla/files/eabi-fix2.patch +++ /dev/null @@ -1,56 +0,0 @@ -https://bugzilla.mozilla.org/show_bug.cgi?id=369722 - -Index: js/src/jsnum.h -=================================================================== -RCS file: /cvsroot/mozilla/js/src/jsnum.h,v -retrieving revision 3.27 -diff -p -u -8 -r3.27 jsnum.h ---- mozilla/js/src/jsnum.h 21 Dec 2006 01:00:32 -0000 3.27 -+++ mozilla/js/src/jsnum.h 8 Feb 2007 12:13:01 -0000 -@@ -52,23 +52,24 @@ JS_BEGIN_EXTERN_C - - /* - * Stefan Hanske reports: - * ARM is a little endian architecture but 64 bit double words are stored - * differently: the 32 bit words are in little endian byte order, the two words - * are stored in big endian`s way. - */ - --#if defined(__arm) || defined(__arm32__) || defined(__arm26__) || defined(__arm__) --#define CPU_IS_ARM -+#if !defined(__ARM_EABI__) && \ -+ (defined(__arm) || defined(__arm32__) || defined(__arm26__) || defined(__arm__)) -+#define IEEE_ARM - #endif - - typedef union jsdpun { - struct { --#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM) -+#if defined(IS_LITTLE_ENDIAN) && !defined(IEEE_ARM) - uint32 lo, hi; - #else - uint32 hi, lo; - #endif - } s; - jsdouble d; - } jsdpun; - -@@ -87,17 +88,17 @@ typedef union jsdpun { - - #else /* not or old GNUC */ - - /* - * We don't know of any non-gcc compilers that perform alias optimization, - * so this code should work. - */ - --#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM) -+#if defined(IS_LITTLE_ENDIAN) && !defined(IEEE_ARM) - #define JSDOUBLE_HI32(x) (((uint32 *)&(x))[1]) - #define JSDOUBLE_LO32(x) (((uint32 *)&(x))[0]) - #else - #define JSDOUBLE_HI32(x) (((uint32 *)&(x))[0]) - #define JSDOUBLE_LO32(x) (((uint32 *)&(x))[1]) - #endif - - #define JSDOUBLE_SET_HI32(x, y) (JSDOUBLE_HI32(x)=(y)) diff --git a/meta-extras/packages/mozilla/files/eabi-fix3.patch b/meta-extras/packages/mozilla/files/eabi-fix3.patch deleted file mode 100644 index 8bf8c2f4da..0000000000 --- a/meta-extras/packages/mozilla/files/eabi-fix3.patch +++ /dev/null @@ -1,15 +0,0 @@ -From: Marcin Juszkiewicz - -Index: mozilla/extensions/transformiix/source/base/Double.cpp -=================================================================== ---- mozilla.orig/extensions/transformiix/source/base/Double.cpp 2007-05-09 11:21:34.000000000 +0200 -+++ mozilla/extensions/transformiix/source/base/Double.cpp 2007-05-09 11:23:59.000000000 +0200 -@@ -71,7 +71,7 @@ - * are stored in big endian`s way. - */ - --#if defined(__arm) || defined(__arm32__) || defined(_arm26__) || defined(__arm__) -+#if !defined(__ARM_EABI__) && defined(__arm) || defined(__arm32__) || defined(_arm26__) || defined(__arm__) - #define CPU_IS_ARM - #endif - diff --git a/meta-extras/packages/mozilla/files/minimo.desktop b/meta-extras/packages/mozilla/files/minimo.desktop deleted file mode 100644 index 5ef0f2075a..0000000000 --- a/meta-extras/packages/mozilla/files/minimo.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=Minimo -Comment=Minimo web browser -Exec=minimo http://www.mozilla.org/projects/minimo/home.html -Terminal=0 -Type=Application -Icon=minimo.png -Categories=Application;Network; -StartupNotify=True diff --git a/meta-extras/packages/mozilla/files/minimo.png b/meta-extras/packages/mozilla/files/minimo.png deleted file mode 100644 index f8b2e2192bee0bb7720df05c459fa94e493b7691..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4323 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 RwWa_7002ovPDHLkV1h2GB=rCQ diff --git a/meta-extras/packages/mozilla/minimo/bug-322806.diff b/meta-extras/packages/mozilla/minimo/bug-322806.diff deleted file mode 100644 index e001e3fc67..0000000000 --- a/meta-extras/packages/mozilla/minimo/bug-322806.diff +++ /dev/null @@ -1,13 +0,0 @@ -See https://bugzilla.mozilla.org/show_bug.cgi?id=322806 and http://bugs.openembedded.org/show_bug.cgi?id=1600 - ---- /tmp/xptcinvoke_arm.cpp 2006-12-10 20:02:57.000000000 +0100 -+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp 2006-12-10 20:03:54.592227000 +0100 -@@ -212,7 +212,7 @@ - "add sp, sp, r4 \n\t" /* restore stack pointer */ - "mov %0, r0 \n\t" /* the result... */ - : "=r" (result) -- : "r" (&my_params) -+ : "r" (&my_params), "m" (my_params) - : "r0", "r1", "r2", "r3", "r4", "ip", "lr", "sp" - ); - diff --git a/meta-extras/packages/mozilla/minimo/minimo b/meta-extras/packages/mozilla/minimo/minimo deleted file mode 100644 index d130173adf..0000000000 --- a/meta-extras/packages/mozilla/minimo/minimo +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -export MOZILLA_FIVE_HOME=/usr/lib/mozilla-minimo -export LD_LIBRARY_PATH=${MOZILLA_FIVE_HOME} -exec ${MOZILLA_FIVE_HOME}/minimo "$@" diff --git a/meta-extras/packages/mozilla/minimo/minimo.patch b/meta-extras/packages/mozilla/minimo/minimo.patch deleted file mode 100644 index 8894ee7f45..0000000000 --- a/meta-extras/packages/mozilla/minimo/minimo.patch +++ /dev/null @@ -1,356 +0,0 @@ -Index: mozilla/content/html/content/src/nsFormSubmission.cpp -=================================================================== ---- mozilla.orig/content/html/content/src/nsFormSubmission.cpp 2005-07-13 18:55:59.000000000 +0200 -+++ mozilla/content/html/content/src/nsFormSubmission.cpp 2007-05-10 12:11:20.000000000 +0200 -@@ -1315,11 +1315,6 @@ - nsresult rv = NS_OK; - - nsCAutoString charset(aCharset); -- // canonical name is passed so that we just have to check against -- // *our* canonical names listed in charsetaliases.properties -- if (charset.EqualsLiteral("ISO-8859-1")) { -- charset.AssignLiteral("windows-1252"); -- } - - // use UTF-8 for UTF-16* and UTF-32* (per WHATWG and existing practice of - // MS IE/Opera). -Index: mozilla/embedding/base/Makefile.in -=================================================================== ---- mozilla.orig/embedding/base/Makefile.in 2006-02-14 06:28:31.000000000 +0100 -+++ mozilla/embedding/base/Makefile.in 2007-05-10 12:11:20.000000000 +0200 -@@ -43,6 +43,7 @@ - - MODULE = embed_base - LIBRARY_NAME = embed_base_s -+EXPORT_LIBRARY = 1 - XPIDL_MODULE = embed_base - - include $(DEPTH)/config/autoconf.mk -Index: mozilla/js/src/Makefile.in -=================================================================== ---- mozilla.orig/js/src/Makefile.in 2006-07-28 00:56:20.000000000 +0200 -+++ mozilla/js/src/Makefile.in 2007-05-10 12:11:21.000000000 +0200 -@@ -46,6 +46,7 @@ - - MODULE = js - LIBRARY_NAME = mozjs -+EXPORT_LIBRARY = 1 - LIB_IS_C_ONLY = 1 - GRE_MODULE = 1 - -Index: mozilla/minimo/Makefile.in -=================================================================== ---- mozilla.orig/minimo/Makefile.in 2006-07-24 21:40:53.000000000 +0200 -+++ mozilla/minimo/Makefile.in 2007-05-10 12:13:46.000000000 +0200 -@@ -41,6 +41,6 @@ - - include $(DEPTH)/config/autoconf.mk - --DIRS = config components chrome locales customization base extensions -+DIRS = config chrome locales customization base extensions - - include $(topsrcdir)/config/rules.mk -Index: mozilla/minimo/base/Makefile.in -=================================================================== ---- mozilla.orig/minimo/base/Makefile.in 2006-08-09 17:42:26.000000000 +0200 -+++ mozilla/minimo/base/Makefile.in 2007-05-10 12:11:21.000000000 +0200 -@@ -96,7 +96,6 @@ - - # this should move into the toolkit! - LOCAL_INCLUDES = -I$(srcdir) -I$(topsrcdir)/xpfe/browser/src/ --CPPSRCS += nsBrowserStatusFilter.cpp nsBrowserInstance.cpp - - ifdef WINCE - RCINCLUDE = wince/SplashScreen.rc -@@ -143,10 +142,6 @@ - endif - - --FINAL_LINK_COMPS=$(topsrcdir)/minimo/base/$(FINAL_PLATFORM)/minimo-link-comps --FINAL_LINK_COMP_NAMES=$(topsrcdir)/minimo/base/$(FINAL_PLATFORM)/minimo-link-names --FINAL_LINK_LIBS=$(topsrcdir)/minimo/base/$(FINAL_PLATFORM)/minimo-link-libs -- - include $(topsrcdir)/config/static-config.mk - - EXTRA_DEPS += $(STATIC_EXTRA_DEPS) -@@ -180,14 +175,11 @@ - # (same as in mozilla/js/src/Makefile.in) - ifdef WINCE - LDFLAGS += -OPT:NOICF -+else -+# Hack to work around libxpcom_core.a / libunicharutil_s.a link order problem. -+LDFLAGS += -u NS_StringGetData_P -u NS_StringGetMutableData_P - endif - --export:: -- $(NSINSTALL) $(topsrcdir)/xpfe/browser/src/nsBrowserStatusFilter.cpp . -- $(NSINSTALL) $(topsrcdir)/xpfe/browser/src/nsBrowserInstance.cpp . -- -- --GARBAGE += nsBrowserStatusFilter.cpp nsBrowserInstance.cpp - - ifdef WINCE - package:: -Index: mozilla/minimo/base/Minimo.cpp -=================================================================== ---- mozilla.orig/minimo/base/Minimo.cpp 2006-10-27 22:30:36.000000000 +0200 -+++ mozilla/minimo/base/Minimo.cpp 2007-05-10 12:13:21.000000000 +0200 -@@ -813,6 +813,8 @@ - #ifdef MOZ_WIDGET_GTK2 - gtk_set_locale(); - gtk_init(&argc, &argv); -+ gtk_widget_set_default_visual(gdk_rgb_get_visual()); -+ gtk_widget_set_default_colormap(gdk_rgb_get_cmap()); - #endif - - #ifdef HACKY_PRE_LOAD_LIBRARY -Index: mozilla/minimo/base/SplashScreen.cpp -=================================================================== ---- mozilla.orig/minimo/base/SplashScreen.cpp 2006-08-21 21:00:24.000000000 +0200 -+++ mozilla/minimo/base/SplashScreen.cpp 2007-05-10 12:11:22.000000000 +0200 -@@ -202,9 +202,24 @@ - void KillSplashScreen() {} - void GetScreenSize(unsigned long* x, unsigned long* y) - { -+#ifdef MOZ_WIDGET_GTK2 -+ GdkDisplay* display = gdk_display_get_default(); -+ if (display != NULL) -+ { -+ GdkScreen *screen; -+ screen = gdk_display_get_default_screen(display); -+ *x = gdk_screen_get_width(screen); -+ *y = gdk_screen_get_height(screen); -+ } -+ else -+ { -+#endif - // we need to figure this out. - *x = 240; - *y = 320; -+#ifdef MOZ_WIDGET_GTK2 -+ } -+#endif - } - - -Index: mozilla/minimo/config/linux_package.sh -=================================================================== ---- mozilla.orig/minimo/config/linux_package.sh 2006-06-30 18:35:19.000000000 +0200 -+++ mozilla/minimo/config/linux_package.sh 2007-05-10 12:11:22.000000000 +0200 -@@ -29,9 +29,7 @@ - cp -pRL bin/libnssckbi.so minimo - cp -pRL bin/libsmime3.so minimo - cp -pRL bin/libsoftokn3.so minimo --cp -pRL bin/libsoftokn3.chk minimo - cp -pRL bin/libfreebl3.so minimo --cp -pRL bin/libfreebl3.chk minimo - cp -pRL bin/libssl3.so minimo - - mkdir -p minimo/chrome -@@ -62,8 +60,6 @@ - cp -pRL bin/components/nsHelperAppDlg.js minimo/components - cp -pRL bin/components/nsProgressDialog.js minimo/components - --cp -pRL bin/extensions/spatial-navigation@extensions.mozilla.org/components/* minimo/components -- - mkdir -p minimo/greprefs - cp -pRL bin/greprefs/* minimo/greprefs - -@@ -80,7 +76,7 @@ - - echo Linking XPT files. - --bin/xpt_link minimo/components/all.xpt bin/components/*.xpt -+host/bin/host_xpt_link minimo/components/all.xpt bin/components/*.xpt - - echo Chewing on chrome - -Index: mozilla/profile/dirserviceprovider/src/Makefile.in -=================================================================== ---- mozilla.orig/profile/dirserviceprovider/src/Makefile.in 2005-04-06 05:35:21.000000000 +0200 -+++ mozilla/profile/dirserviceprovider/src/Makefile.in 2007-05-10 12:11:23.000000000 +0200 -@@ -44,6 +44,7 @@ - - MODULE = profdirserviceprovider - LIBRARY_NAME = profdirserviceprovider_s -+EXPORT_LIBRARY = 1 - MOZILLA_INTERNAL_API = 1 - - REQUIRES = xpcom \ -Index: mozilla/security/coreconf/Linux.mk -=================================================================== ---- mozilla.orig/security/coreconf/Linux.mk 2006-02-03 23:26:36.000000000 +0100 -+++ mozilla/security/coreconf/Linux.mk 2007-05-10 12:11:23.000000000 +0200 -@@ -117,6 +117,10 @@ - OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE - CPU_ARCH = mips - else -+ifeq ($(OS_TEST),arm) -+ OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE -+ CPU_ARCH = arm -+else - OS_REL_CFLAGS = -DLINUX1_2 -Di386 -D_XOPEN_SOURCE - CPU_ARCH = x86 - endif -@@ -133,6 +137,7 @@ - endif - endif - endif -+endif - - - LIBC_TAG = _glibc -Index: mozilla/security/coreconf/arch.mk -=================================================================== ---- mozilla.orig/security/coreconf/arch.mk 2006-02-03 23:26:36.000000000 +0100 -+++ mozilla/security/coreconf/arch.mk 2007-05-10 12:11:24.000000000 +0200 -@@ -60,18 +60,14 @@ - 64BIT_TAG= - endif - --OS_ARCH := $(subst /,_,$(shell uname -s)) -+OS_ARCH := Linux - - # - # Attempt to differentiate between sparc and x86 Solaris - # - --OS_TEST := $(shell uname -m) --ifeq ($(OS_TEST),i86pc) -- OS_RELEASE := $(shell uname -r)_$(OS_TEST) --else -- OS_RELEASE := $(shell uname -r) --endif -+OS_TEST := arm -+OS_RELEASE := 2.6 - - # - # Force the IRIX64 machines to use IRIX. -Index: mozilla/toolkit/components/build/Makefile.in -=================================================================== ---- mozilla.orig/toolkit/components/build/Makefile.in 2006-07-13 22:08:29.000000000 +0200 -+++ mozilla/toolkit/components/build/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -112,7 +112,6 @@ - $(NULL) - - SHARED_LIBRARY_LIBS = \ -- ../startup/src/$(LIB_PREFIX)appstartup_s.$(LIB_SUFFIX) \ - $(NULL) - - ifdef MOZ_XPINSTALL -Index: mozilla/toolkit/components/startup/src/Makefile.in -=================================================================== ---- mozilla.orig/toolkit/components/startup/src/Makefile.in 2005-07-27 22:42:44.000000000 +0200 -+++ mozilla/toolkit/components/startup/src/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -43,6 +43,7 @@ - - MODULE = toolkitcomps - LIBRARY_NAME = appstartup_s -+EXPORT_LIBRARY = 1 - FORCE_STATIC_LIB = 1 - LIBXUL_LIBRARY = 1 - -Index: mozilla/toolkit/xre/Makefile.in -=================================================================== ---- mozilla.orig/toolkit/xre/Makefile.in 2007-02-06 08:13:20.000000000 +0100 -+++ mozilla/toolkit/xre/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -45,7 +45,6 @@ - - MODULE = xulapp - LIBRARY_NAME = xulapp_s --EXPORT_LIBRARY = 1 - LIBXUL_LIBRARY = 1 - - REQUIRES = \ -@@ -180,14 +179,6 @@ - - include $(topsrcdir)/config/rules.mk - --ifdef BUILD_STATIC_LIBS --export:: -- @$(PERL) -I$(MOZILLA_DIR)/config $(MOZILLA_DIR)/config/build-list.pl $(FINAL_LINK_COMP_NAMES) Apprunner --# embedding/browser/gtk/src/Makefile.in sucks! we need to add an empty line to --# FINAL_LINK_COMPS to keep the two lists in sync :-( -- @$(PERL) -I$(MOZILLA_DIR)/config $(MOZILLA_DIR)/config/build-list.pl $(FINAL_LINK_COMPS) "" --endif -- - LOCAL_INCLUDES += \ - -I$(srcdir) \ - -I$(topsrcdir)/xpfe/bootstrap \ -Index: mozilla/xpcom/build/Makefile.in -=================================================================== ---- mozilla.orig/xpcom/build/Makefile.in 2006-01-29 17:51:02.000000000 +0100 -+++ mozilla/xpcom/build/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -61,7 +61,7 @@ - endif - - # Do not set EXPORT_LIBRARY as we do not want xpcom in the static libs list --#EXPORT_LIBRARY = 1 -+EXPORT_LIBRARY = 1 - GRE_MODULE = 1 - MOZILLA_INTERNAL_API = 1 - -Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp -=================================================================== ---- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2004-04-18 16:18:18.000000000 +0200 -+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2007-05-10 12:11:27.000000000 +0200 -@@ -45,9 +45,9 @@ - #endif - - /* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol. */ --static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch"); -+nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch"); - --static nsresult -+nsresult - PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) - { - #define PARAM_BUFFER_COUNT 16 -Index: mozilla/xpfe/browser/src/Makefile.in -=================================================================== ---- mozilla.orig/xpfe/browser/src/Makefile.in 2005-03-18 22:23:45.000000000 +0100 -+++ mozilla/xpfe/browser/src/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -44,6 +44,7 @@ - - MODULE = browser - LIBRARY_NAME = mozbrwsr_s -+EXPORT_LIBRARY = 1 - FORCE_STATIC_LIB = 1 - LIBXUL_LIBRARY = 1 - MODULE_NAME = nsBrowserModule -Index: mozilla/xpfe/components/build/Makefile.in -=================================================================== ---- mozilla.orig/xpfe/components/build/Makefile.in 2005-09-27 02:15:25.000000000 +0200 -+++ mozilla/xpfe/components/build/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -44,7 +44,6 @@ - - MODULE = appcomps - LIBRARY_NAME = appcomps --EXPORT_LIBRARY = 1 - IS_COMPONENT = 1 - MODULE_NAME = application - LIBXUL_LIBRARY = 1 -Index: mozilla/xpfe/components/filepicker/src/Makefile.in -=================================================================== ---- mozilla.orig/xpfe/components/filepicker/src/Makefile.in 2006-05-22 18:29:32.000000000 +0200 -+++ mozilla/xpfe/components/filepicker/src/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -47,7 +47,6 @@ - MODULE = filepicker - LIBRARY_NAME = fileview - SHORT_LIBNAME = fileview --EXPORT_LIBRARY = 1 - IS_COMPONENT = 1 - MODULE_NAME = nsFileViewModule - MOZILLA_INTERNAL_API = 1 -Index: mozilla/xpfe/components/find/src/Makefile.in -=================================================================== ---- mozilla.orig/xpfe/components/find/src/Makefile.in 2005-03-18 22:23:46.000000000 +0100 -+++ mozilla/xpfe/components/find/src/Makefile.in 2007-05-10 12:11:27.000000000 +0200 -@@ -45,7 +45,6 @@ - MODULE = appcomps - XPIDL_MODULE = mozfind - LIBRARY_NAME = mozfind --EXPORT_LIBRARY = 1 - IS_COMPONENT = 1 - MODULE_NAME = nsFindComponent - LIBXUL_LIBRARY = 1 diff --git a/meta-extras/packages/mozilla/minimo/minimo.png b/meta-extras/packages/mozilla/minimo/minimo.png deleted file mode 100644 index f8b2e2192bee0bb7720df05c459fa94e493b7691..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4323 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 RwWa_7002ovPDHLkV1h2GB=rCQ diff --git a/meta-extras/packages/mozilla/minimo/mozconfig b/meta-extras/packages/mozilla/minimo/mozconfig deleted file mode 100644 index 393981e9fa..0000000000 --- a/meta-extras/packages/mozilla/minimo/mozconfig +++ /dev/null @@ -1,36 +0,0 @@ -# mozilla/configure: Features and packages: - -ac_add_options --enable-application=minimo -ac_add_options --enable-default-toolkit=gtk2 -ac_add_options --disable-freetype2 -ac_add_options --enable-xft -ac_add_options --disable-postscript -ac_add_options --disable-xprint -ac_add_options --disable-gnomevfs -ac_add_options --disable-gnomeui -ac_add_options --disable-jsd -ac_add_options --disable-plugins -ac_add_options --disable-view-source -ac_add_options --disable-accessibility -ac_add_options --disable-xpinstall -ac_add_options --enable-single-profile -ac_add_options --disable-jsloader -ac_add_options --disable-printing -ac_add_options --enable-native-uconv -ac_add_options --enable-plaintext-editor-only -ac_add_options --disable-xpcom-obsolete -ac_add_options --disable-pref-extensions -ac_add_options --disable-extensions -ac_add_options --enable-image-decoders=png,gif,jpeg -ac_add_options --disable-mathml -ac_add_options --disable-installer -ac_add_options --disable-updater -ac_add_options --disable-tests -ac_add_options --enable-optimize=-Os -ac_add_options --disable-logging -ac_add_options --enable-strip -ac_add_options --enable-elf-dynstr-gc -ac_add_options --disable-shared -ac_add_options --enable-static -ac_add_options --disable-profilesharing -ac_add_options --disable-profilelocking diff --git a/meta-extras/packages/mozilla/minimo_cvs.bb b/meta-extras/packages/mozilla/minimo_cvs.bb deleted file mode 100644 index 5eec96d143..0000000000 --- a/meta-extras/packages/mozilla/minimo_cvs.bb +++ /dev/null @@ -1,153 +0,0 @@ -DESCRIPTION = "A minimal version of the Mozilla web browser for mobile devices" -SECTION = "x11/network" -LICENSE = "MPL/GPL/LGPL" -HOMEPAGE = "http://www.mozilla.org/projects/minimo/" -PRIORITY = "optional" - -DEPENDS = "libxrender xt xft fontconfig freetype libidl dbus-glib pango atk gtk+ libidl-native" - -CVSSVR = "cvs-mirror.mozilla.org" -BRTAG = "MOZILLA_1_8_BRANCH" -MOZDATE = "20070510" - -PV = "0.02+cvs${MOZDATE}" -PR = "r3" - -SRC_URI = "cvs://anonymous@${CVSSVR}/cvsroot;module=mozilla;tag=${BRTAG};date=${MOZDATE} \ - file://minimo.patch;patch=1 \ - file://bug-322806.diff;patch=1 \ - file://mozconfig \ - file://minimo \ - file://eabi-fix.patch;patch=1 \ - file://eabi-fix2.patch;patch=1 \ - file://eabi-fix3.patch;patch=1 \ - file://minimo.desktop \ - file://minimo.png" - -inherit autotools - -S = "${WORKDIR}/mozilla" - -export MOZCONFIG = "${WORKDIR}/mozconfig" - -export CROSS_COMPILE="1" -export ac_cv_prog_HOST_CC="${BUILD_CC}" -export ac_cv_prog_HOST_CFLAGS="${BUILD_CFLAGS}" -export ac_cv_prog_HOST_CXX="${BUILD_CXX}" -export ac_cv_prog_HOST_CXXFLAGS="${BUILD_CXXFLAGS}" -export HOST_LIBIDL_CONFIG = "${STAGING_BINDIR_NATIVE}/libIDL-config-2" - -mozdir="${libdir}/mozilla-minimo" - -EXTRA_OECONF += "--build=${BUILD_SYS} --host=${BUILD_SYS} --target=${TARGET_SYS} " - -do_configure() { - cd ${S} - oe_runmake -f client.mk CONFIGURE_ARGS="${EXTRA_OECONF}" configure - sed -i s:${TARGET_PREFIX}strip:echo:g config/autoconf.mk -} - -do_compile() { - cd ${S} - oe_runmake -f client.mk build -} - -do_install() { - cd ${WORKDIR} - - install -d ${D}${bindir} - install -m 0755 minimo ${D}${bindir} - - install -d ${D}${datadir}/applications - install -m 0644 minimo.desktop ${D}${datadir}/applications - - install -d ${D}/${datadir}/pixmaps - install -m 0644 minimo.png ${D}${datadir}/pixmaps - - cd ${S} - - ./minimo/config/linux_package.sh ${S} ${S}/minimo/config - - cd dist/minimo - - install -d ${D}${mozdir} - install -m 0755 minimo ${D}${mozdir} - install -m 0755 libfreebl3.so ${D}${mozdir} - install -m 0755 libnspr4.so ${D}${mozdir} - install -m 0755 libnss3.so ${D}${mozdir} - install -m 0755 libnssckbi.so ${D}${mozdir} - install -m 0755 libplc4.so ${D}${mozdir} - install -m 0755 libplds4.so ${D}${mozdir} - install -m 0755 libsmime3.so ${D}${mozdir} - install -m 0755 libsoftokn3.so ${D}${mozdir} - install -m 0755 libssl3.so ${D}${mozdir} - - install -d ${D}${mozdir}/chrome - install -m 0644 chrome/classic.jar ${D}${mozdir}/chrome - install -m 0644 chrome/classic.manifest ${D}${mozdir}/chrome - install -m 0644 chrome/en-US.jar ${D}${mozdir}/chrome - install -m 0644 chrome/en-US.manifest ${D}${mozdir}/chrome - install -m 0644 chrome/minimo-skin-vga.jar ${D}${mozdir}/chrome - install -m 0644 chrome/minimo-skin-vga.manifest ${D}${mozdir}/chrome - install -m 0644 chrome/minimo-skin.jar ${D}${mozdir}/chrome - install -m 0644 chrome/minimo-skin.manifest ${D}${mozdir}/chrome - install -m 0644 chrome/minimo.jar ${D}${mozdir}/chrome - install -m 0644 chrome/minimo.manifest ${D}${mozdir}/chrome - install -m 0644 chrome/pippki.jar ${D}${mozdir}/chrome - install -m 0644 chrome/pippki.manifest ${D}${mozdir}/chrome - install -m 0644 chrome/toolkit.jar ${D}${mozdir}/chrome - install -m 0644 chrome/toolkit.manifest ${D}${mozdir}/chrome - - install -d ${D}${mozdir}/components - install -m 0644 components/all.xpt ${D}${mozdir}/components - install -m 0644 components/nsHelperAppDlg.js ${D}${mozdir}/components - install -m 0644 components/nsProgressDialog.js ${D}${mozdir}/components - - install -d ${D}${mozdir}/greprefs - install -m 0644 greprefs/all.js ${D}${mozdir}/greprefs - install -m 0644 greprefs/security-prefs.js ${D}${mozdir}/greprefs - - install -d ${D}${mozdir}/res - install -m 0644 res/forms.css ${D}${mozdir}/res - install -m 0644 res/html.css ${D}${mozdir}/res - install -m 0644 res/quirk.css ${D}${mozdir}/res - install -m 0644 res/ua.css ${D}${mozdir}/res - install -m 0644 res/arrow.gif ${D}${mozdir}/res - install -m 0644 res/arrowd.gif ${D}${mozdir}/res - install -m 0644 res/broken-image.gif ${D}${mozdir}/res - install -m 0644 res/loading-image.gif ${D}${mozdir}/res - install -m 0644 res/charsetData.properties ${D}${mozdir}/res - install -m 0644 res/charsetalias.properties ${D}${mozdir}/res - install -m 0644 res/langGroups.properties ${D}${mozdir}/res - install -m 0644 res/language.properties ${D}${mozdir}/res - install -m 0644 res/unixcharset.properties ${D}${mozdir}/res - - install -d ${D}${mozdir}/res/dtd - install -m 0644 res/dtd/xhtml11.dtd ${D}${mozdir}/res/dtd - - install -d ${D}${mozdir}/res/entityTables - install -m 0644 res/entityTables/html40Latin1.properties ${D}${mozdir}/res/entityTables - install -m 0644 res/entityTables/html40Special.properties ${D}${mozdir}/res/entityTables - install -m 0644 res/entityTables/html40Symbols.properties ${D}${mozdir}/res/entityTables - install -m 0644 res/entityTables/htmlEntityVersions.properties ${D}${mozdir}/res/entityTables - install -m 0644 res/entityTables/transliterate.properties ${D}${mozdir}/res/entityTables - - install -d ${D}${mozdir}/res/fonts - install -m 0644 res/fonts/fontEncoding.properties ${D}${mozdir}/res/fonts - install -m 0644 res/fonts/pangoFontEncoding.properties ${D}${mozdir}/res/fonts - - install -d ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-audio.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-binary.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-find.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-image.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-menu.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-movie.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-sound.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-telnet.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-text.gif ${D}${mozdir}/res/html - install -m 0644 res/html/gopher-unknown.gif ${D}${mozdir}/res/html -} - -FILES_${PN}-dbg += "${libdir}/mozilla-minimo/.debug*" -FILES_${PN} += "${mozdir}" diff --git a/meta-extras/packages/networkmanager/files/70NetworkManagerApplet.shbg b/meta-extras/packages/networkmanager/files/70NetworkManagerApplet.shbg deleted file mode 100644 index 8858b3e7c2..0000000000 --- a/meta-extras/packages/networkmanager/files/70NetworkManagerApplet.shbg +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# Wait for the desktop to say its finished loading -dbus-wait org.matchbox_project.desktop Loaded -exec /usr/bin/nm-applet diff --git a/meta-extras/packages/networkmanager/files/99_networkmanager b/meta-extras/packages/networkmanager/files/99_networkmanager deleted file mode 100644 index 20cbcc1bca..0000000000 --- a/meta-extras/packages/networkmanager/files/99_networkmanager +++ /dev/null @@ -1 +0,0 @@ -d root root 0700 /var/run/NetworkManager none diff --git a/meta-extras/packages/networkmanager/files/NetworkManager b/meta-extras/packages/networkmanager/files/NetworkManager deleted file mode 100644 index 4522e0107b..0000000000 --- a/meta-extras/packages/networkmanager/files/NetworkManager +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# -### BEGIN INIT INFO -# Provides: NetworkManager -# Required-Start: $remote_fs dbus hal -# Required-Stop: $remote_fs dbus hal -# Should-Start: $syslog -# Should-Stop: $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: network connection manager -# Description: Daemon for automatically switching network -# connections to the best available connection. -### END INIT INFO - -. /etc/profile - -case $1 in - 'start') - echo -n "Starting NetworkManager daemon: NetworkManager" - /usr/sbin/NetworkManager - /usr/sbin/NetworkManagerDispatcher - /usr/sbin/wpa_supplicant -u & - echo "." - ;; - - 'stop') - echo -n "Stopping NetworkManager daemon: NetworkManager" - kill `ps |grep /usr/sbin/NetworkManagerDispatcher | grep -v grep | cut "-d " -f2` - kill `ps |grep /usr/sbin/NetworkManager | grep -v grep | cut "-d " -f2` - kill `ps |grep /usr/sbin/wpa_supplicant | grep -v grep | cut "-d " -f2` - echo "." - ;; - - 'restart') - $0 stop - $0 start - ;; - - *) - echo "Usage: $0 { start | stop | restart }" - ;; -esac diff --git a/meta-extras/packages/networkmanager/files/allow-disabling.patch b/meta-extras/packages/networkmanager/files/allow-disabling.patch deleted file mode 100644 index 10730e9fe5..0000000000 --- a/meta-extras/packages/networkmanager/files/allow-disabling.patch +++ /dev/null @@ -1,45 +0,0 @@ -Allow interfaces to be ignored by networkmanager by creation of a -/etc/network/nm-disabled-INTERFACENAME file. - -RP - 16/7/2008 - -Index: trunk/src/backends/NetworkManagerDebian.c -=================================================================== ---- trunk.orig/src/backends/NetworkManagerDebian.c 2008-07-15 19:23:11.000000000 +0100 -+++ trunk/src/backends/NetworkManagerDebian.c 2008-07-15 19:37:05.000000000 +0100 -@@ -29,6 +29,7 @@ - - #include - #include -+#include - #include - #include - #include "NetworkManagerGeneric.h" -@@ -374,12 +375,25 @@ - /* - * nm_system_device_get_disabled - * -- * Return whether the distro-specific system config tells us to use -- * dhcp for this device. -+ * Return whether the distro-specific system config tells us to interact -+ * with this device. - * - */ - gboolean nm_system_device_get_disabled (NMDevice *dev) - { -+ struct stat statbuf; -+ gchar *filepath; -+ -+ g_return_val_if_fail (dev != NULL, FALSE); -+ -+ filepath = g_strdup_printf (SYSCONFDIR"/network/nm-disabled-%s", nm_device_get_iface (dev)); -+ -+ if (stat(filepath, &statbuf) == 0) { -+ g_free(filepath); -+ return TRUE; -+ } -+ -+ g_free(filepath); - return FALSE; - } - diff --git a/meta-extras/packages/networkmanager/files/applet-no-animation.patch b/meta-extras/packages/networkmanager/files/applet-no-animation.patch deleted file mode 100644 index d437fd0fc9..0000000000 --- a/meta-extras/packages/networkmanager/files/applet-no-animation.patch +++ /dev/null @@ -1,234 +0,0 @@ -Index: trunk/src/applet.c -=================================================================== ---- trunk.orig/src/applet.c 2008-02-06 20:30:04.000000000 +0000 -+++ trunk/src/applet.c 2008-02-06 20:46:59.000000000 +0000 -@@ -111,8 +111,6 @@ - - static void nma_init (NMApplet *applet) - { -- applet->animation_id = 0; -- applet->animation_step = 0; - applet->passphrase_dialog = NULL; - applet->icon_theme = NULL; - #ifdef ENABLE_NOTIFY -@@ -1006,20 +1004,6 @@ - } - } - --static gboolean --vpn_animation_timeout (gpointer data) --{ -- NMApplet *applet = NM_APPLET (data); -- -- foo_set_icon (applet, applet->vpn_connecting_icons[applet->animation_step], ICON_LAYER_VPN); -- -- applet->animation_step++; -- if (applet->animation_step >= NUM_VPN_CONNECTING_FRAMES) -- applet->animation_step = 0; -- -- return TRUE; --} -- - static void - vpn_connection_state_changed (NMVPNConnection *connection, - NMVPNConnectionState state, -@@ -1030,10 +1014,6 @@ - - switch (state) { - case NM_VPN_CONNECTION_STATE_ACTIVATED: -- if (applet->animation_id) { -- g_source_remove (applet->animation_id); -- applet->animation_id = 0; -- } - foo_set_icon (applet, applet->vpn_lock_icon, ICON_LAYER_VPN); - // vpn_connection_info_set_last_attempt_success (info, TRUE); - break; -@@ -1041,10 +1021,7 @@ - case NM_VPN_CONNECTION_STATE_NEED_AUTH: - case NM_VPN_CONNECTION_STATE_CONNECT: - case NM_VPN_CONNECTION_STATE_IP_CONFIG_GET: -- if (applet->animation_id == 0) { -- applet->animation_step = 0; -- applet->animation_id = g_timeout_add (100, vpn_animation_timeout, applet); -- } -+ foo_set_icon (applet, applet->network_connecting_icon, ICON_LAYER_VPN); - break; - case NM_VPN_CONNECTION_STATE_FAILED: - // vpn_connection_info_set_last_attempt_success (info, FALSE); -@@ -1053,10 +1030,6 @@ - g_hash_table_remove (applet->vpn_connections, nm_vpn_connection_get_name (connection)); - /* Fall through */ - default: -- if (applet->animation_id) { -- g_source_remove (applet->animation_id); -- applet->animation_id = 0; -- } - foo_set_icon (applet, NULL, ICON_LAYER_VPN); - break; - } -@@ -2295,45 +2268,6 @@ - } FooAnimationTimeoutInfo; - - static void --foo_animation_timeout_info_destroy (gpointer data) --{ -- g_slice_free (FooAnimationTimeoutInfo, data); --} -- --static gboolean --foo_animation_timeout (gpointer data) --{ -- FooAnimationTimeoutInfo *info = (FooAnimationTimeoutInfo *) data; -- NMApplet *applet = info->applet; -- int stage = -1; -- -- switch (info->state) { -- case NM_DEVICE_STATE_PREPARE: -- stage = 0; -- break; -- case NM_DEVICE_STATE_CONFIG: -- stage = 1; -- break; -- case NM_DEVICE_STATE_IP_CONFIG: -- stage = 2; -- break; -- default: -- break; -- } -- -- if (stage >= 0) -- foo_set_icon (applet, -- applet->network_connecting_icons[stage][applet->animation_step], -- ICON_LAYER_LINK); -- -- applet->animation_step++; -- if (applet->animation_step >= NUM_CONNECTING_FRAMES) -- applet->animation_step = 0; -- -- return TRUE; --} -- --static void - foo_common_state_change (NMDevice *device, NMDeviceState state, NMApplet *applet) - { - FooAnimationTimeoutInfo *info; -@@ -2345,11 +2279,7 @@ - info = g_slice_new (FooAnimationTimeoutInfo); - info->applet = applet; - info->state = state; -- applet->animation_step = 0; -- applet->animation_id = g_timeout_add_full (G_PRIORITY_DEFAULT_IDLE, -- 100, foo_animation_timeout, -- info, -- foo_animation_timeout_info_destroy); -+ foo_set_icon (applet, applet->network_connecting_icon, ICON_LAYER_LINK); - break; - case NM_DEVICE_STATE_ACTIVATED: - break; -@@ -2602,12 +2532,6 @@ - NMApplet *applet = NM_APPLET (user_data); - gboolean handled = FALSE; - -- applet->animation_step = 0; -- if (applet->animation_id) { -- g_source_remove (applet->animation_id); -- applet->animation_id = 0; -- } -- - clear_active_connections (applet); - applet->active_connections = nm_client_get_active_connections (applet->nm_client); - -@@ -3166,17 +3090,8 @@ - if (applet->wireless_100_icon) - g_object_unref (applet->wireless_100_icon); - -- for (i = 0; i < NUM_CONNECTING_STAGES; i++) { -- int j; -- -- for (j = 0; j < NUM_CONNECTING_FRAMES; j++) -- if (applet->network_connecting_icons[i][j]) -- g_object_unref (applet->network_connecting_icons[i][j]); -- } -- -- for (i = 0; i < NUM_VPN_CONNECTING_FRAMES; i++) -- if (applet->vpn_connecting_icons[i]) -- g_object_unref (applet->vpn_connecting_icons[i]); -+ if (applet->network_connecting_icon) -+ g_object_unref (applet->network_connecting_icon); - - nma_icons_zero (applet); - } -@@ -3196,16 +3111,7 @@ - applet->wireless_75_icon = NULL; - applet->wireless_100_icon = NULL; - -- for (i = 0; i < NUM_CONNECTING_STAGES; i++) -- { -- int j; -- -- for (j = 0; j < NUM_CONNECTING_FRAMES; j++) -- applet->network_connecting_icons[i][j] = NULL; -- } -- -- for (i = 0; i < NUM_VPN_CONNECTING_FRAMES; i++) -- applet->vpn_connecting_icons[i] = NULL; -+ applet->network_connecting_icon = NULL; - - applet->icons_loaded = FALSE; - } -@@ -3257,28 +3163,7 @@ - ICON_LOAD(applet->wireless_75_icon, "nm-signal-75"); - ICON_LOAD(applet->wireless_100_icon, "nm-signal-100"); - -- for (i = 0; i < NUM_CONNECTING_STAGES; i++) -- { -- int j; -- -- for (j = 0; j < NUM_CONNECTING_FRAMES; j++) -- { -- char *name; -- -- name = g_strdup_printf ("nm-stage%02d-connecting%02d", i+1, j+1); -- ICON_LOAD(applet->network_connecting_icons[i][j], name); -- g_free (name); -- } -- } -- -- for (i = 0; i < NUM_VPN_CONNECTING_FRAMES; i++) -- { -- char *name; -- -- name = g_strdup_printf ("nm-vpn-connecting%02d", i+1); -- ICON_LOAD(applet->vpn_connecting_icons[i], name); -- g_free (name); -- } -+ ICON_LOAD(applet->network_connecting_icon, "nm-connecting"); - - success = TRUE; - -Index: trunk/src/applet.h -=================================================================== ---- trunk.orig/src/applet.h 2008-02-06 20:30:06.000000000 +0000 -+++ trunk/src/applet.h 2008-02-06 20:46:05.000000000 +0000 -@@ -111,20 +111,12 @@ - GdkPixbuf * wireless_50_icon; - GdkPixbuf * wireless_75_icon; - GdkPixbuf * wireless_100_icon; --#define NUM_CONNECTING_STAGES 3 --#define NUM_CONNECTING_FRAMES 11 -- GdkPixbuf * network_connecting_icons[NUM_CONNECTING_STAGES][NUM_CONNECTING_FRAMES]; --#define NUM_VPN_CONNECTING_FRAMES 14 -- GdkPixbuf * vpn_connecting_icons[NUM_VPN_CONNECTING_FRAMES]; -+ GdkPixbuf * network_connecting_icon; - GdkPixbuf * vpn_lock_icon; - - /* Active status icon pixbufs */ - GdkPixbuf * icon_layers[ICON_LAYER_MAX + 1]; - -- /* Animation stuff */ -- int animation_step; -- guint animation_id; -- - /* Direct UI elements */ - #ifdef HAVE_STATUS_ICON - GtkStatusIcon * status_icon; diff --git a/meta-extras/packages/networkmanager/files/applet-no-gnome.diff b/meta-extras/packages/networkmanager/files/applet-no-gnome.diff deleted file mode 100644 index e098e8c9ed..0000000000 --- a/meta-extras/packages/networkmanager/files/applet-no-gnome.diff +++ /dev/null @@ -1,59 +0,0 @@ ---- - configure.ac | 3 +-- - src/main.c | 8 ++++++++ - 2 files changed, 9 insertions(+), 2 deletions(-) - -Index: src/main.c -=================================================================== ---- src/main.c.orig 2007-09-26 10:39:16.000000000 +0100 -+++ src/main.c 2007-09-26 10:39:37.000000000 +0100 -@@ -27,7 +27,9 @@ - - #include - #include -+#if 0 - #include -+#endif - #include - - #include "applet.h" -@@ -36,11 +38,15 @@ - int main (int argc, char *argv[]) - { - NMApplet * applet; -+#if 0 - GnomeProgram * program; - - program = gnome_program_init ("nm-applet", VERSION, LIBGNOMEUI_MODULE, - argc, argv, - GNOME_PARAM_NONE, GNOME_PARAM_NONE); -+#else -+ gtk_init (&argc, &argv); -+#endif - - bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); -@@ -53,7 +59,9 @@ int main (int argc, char *argv[]) - gtk_main (); - - g_object_unref (applet); -+#if 0 - g_object_unref (program); -+#endif - - exit (0); - } -Index: configure.ac -=================================================================== ---- configure.ac.orig 2007-09-26 10:39:30.000000000 +0100 -+++ configure.ac 2007-09-26 10:39:37.000000000 +0100 -@@ -65,8 +65,7 @@ PKG_CHECK_MODULES(NMA, - gtk+-2.0 >= 2.6 - libglade-2.0 - gconf-2.0 -- gnome-keyring-1 -- libgnomeui-2.0]) -+ gnome-keyring-1]) - - ##### Find out the version of DBUS we're using - dbus_version=`pkg-config --modversion dbus-1` diff --git a/meta-extras/packages/networkmanager/files/libnlfix.patch b/meta-extras/packages/networkmanager/files/libnlfix.patch deleted file mode 100644 index 69f4922ea0..0000000000 --- a/meta-extras/packages/networkmanager/files/libnlfix.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: trunk/src/nm-netlink.c -=================================================================== ---- trunk.orig/src/nm-netlink.c 2007-09-25 22:37:50.000000000 +0100 -+++ trunk/src/nm-netlink.c 2009-05-16 12:44:26.000000000 +0100 -@@ -52,16 +52,20 @@ - struct nl_handle * - nm_netlink_get_default_handle (void) - { -+ struct nl_cb *cb; -+ - if (def_nl_handle) - return def_nl_handle; - -- def_nl_handle = nl_handle_alloc_nondefault (NL_CB_VERBOSE); -- g_assert (def_nl_handle); -+ cb = nl_cb_alloc(NL_CB_VERBOSE); -+ def_nl_handle = nl_handle_alloc_cb (cb); -+ if (!def_nl_handle) { -+ nm_warning ("couldn't allocate netlink handle."); -+ return NULL; -+ } - -- nl_handle_set_pid (def_nl_handle, (pthread_self () << 16 | getpid ())); - if (nl_connect (def_nl_handle, NETLINK_ROUTE) < 0) { - nm_error ("couldn't connect to netlink: %s", nl_geterror ()); -- nl_handle_destroy (def_nl_handle); - return NULL; - } - diff --git a/meta-extras/packages/networkmanager/files/makefile-fix.patch b/meta-extras/packages/networkmanager/files/makefile-fix.patch deleted file mode 100644 index 5fbbf3a74a..0000000000 --- a/meta-extras/packages/networkmanager/files/makefile-fix.patch +++ /dev/null @@ -1,17 +0,0 @@ -This line causes libtool to try and create a program which fails since there is no -main(). This is hidden with libtool 1.5.10 but appears with 2.2.2. - -RP - 14/4/08 - -Index: trunk/src/ppp-manager/Makefile.am -=================================================================== ---- trunk.orig/src/ppp-manager/Makefile.am 2008-04-14 23:00:54.000000000 +0100 -+++ trunk/src/ppp-manager/Makefile.am 2008-04-14 23:01:24.000000000 +0100 -@@ -25,7 +25,6 @@ - $(top_builddir)/src/marshallers/libmarshallers.la - - nm_pppd_plugindir = $(libdir) --nm_pppd_plugin_PROGRAMS = nm-pppd-plugin.so - - nm_pppd_plugin_so_SOURCES = \ - nm-pppd-plugin.c \ diff --git a/meta-extras/packages/networkmanager/files/nmutil-fix.patch b/meta-extras/packages/networkmanager/files/nmutil-fix.patch deleted file mode 100644 index d8495bac40..0000000000 --- a/meta-extras/packages/networkmanager/files/nmutil-fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: trunk/configure.ac -=================================================================== ---- trunk.orig/configure.ac 2009-01-08 10:49:26.000000000 -0600 -+++ trunk/configure.ac 2009-01-08 12:00:34.000000000 -0600 -@@ -62,6 +62,7 @@ - glib-2.0 >= 2.10 - NetworkManager >= 0.7.0 - libnm_glib -+ libnm-util - gtk+-2.0 >= 2.6 - libglade-2.0 - gconf-2.0 diff --git a/meta-extras/packages/networkmanager/files/no-restarts.diff b/meta-extras/packages/networkmanager/files/no-restarts.diff deleted file mode 100644 index 20bdf82aab..0000000000 --- a/meta-extras/packages/networkmanager/files/no-restarts.diff +++ /dev/null @@ -1,21 +0,0 @@ -Index: src/backends/NetworkManagerDebian.c -=================================================================== ---- src/backends/NetworkManagerDebian.c (revision 2881) -+++ src/backends/NetworkManagerDebian.c (working copy) -@@ -204,8 +204,6 @@ - */ - void nm_system_update_dns (void) - { -- nm_spawn_process ("/usr/sbin/invoke-rc.d nscd restart"); -- - } - - -@@ -218,7 +216,6 @@ - */ - void nm_system_restart_mdns_responder (void) - { -- nm_spawn_process ("/usr/bin/killall -q -USR1 mDNSResponder"); - } - - diff --git a/meta-extras/packages/networkmanager/files/no_vpn.patch b/meta-extras/packages/networkmanager/files/no_vpn.patch deleted file mode 100644 index 49423e879f..0000000000 --- a/meta-extras/packages/networkmanager/files/no_vpn.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: trunk/src/applet.c -=================================================================== ---- trunk.orig/src/applet.c 2008-02-29 17:47:39.000000000 +0000 -+++ trunk/src/applet.c 2008-02-29 17:48:38.000000000 +0000 -@@ -1783,7 +1783,7 @@ - } - - nma_menu_add_devices (menu, applet); -- nma_menu_add_vpn_submenu (menu, applet); -+ //nma_menu_add_vpn_submenu (menu, applet); - - gtk_widget_show_all (applet->menu); - diff --git a/meta-extras/packages/networkmanager/networkmanager-applet_svn.bb b/meta-extras/packages/networkmanager/networkmanager-applet_svn.bb deleted file mode 100644 index 1f0987011f..0000000000 --- a/meta-extras/packages/networkmanager/networkmanager-applet_svn.bb +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION = "GTK+ applet for NetworkManager" -HOMEPAGE = "http://projects.gnome.org/NetworkManager/" -BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=NetworkManager&content=" -LICENSE = "GPLv2+ & LGPLv2.1+" -DEPENDS = "networkmanager dbus-glib libglade gconf gnome-keyring" -#TODO DEPENDS libnotify -RDEPENDS = "networkmanager dbus-wait" -PR = "r7" - -inherit gnome gtk-icon-cache - -SRC_URI = "svn://svn.gnome.org/svn/network-manager-applet/;module=trunk;proto=http \ - file://applet-no-gnome.diff;patch=1;pnum=0 \ - file://applet-no-animation.patch;patch=1 \ - file://no_vpn.patch;patch=1 \ - file://nmutil-fix.patch;patch=1 \ - file://70NetworkManagerApplet.shbg" - -PV = "0.0+svnr${SRCREV}" - -S = "${WORKDIR}/trunk" - -FILES_${PN} += "${datadir}/nm-applet/ \ - ${datadir}/gnome-vpn-properties/ \ - ${datadir}/gnome/autostart/" - -do_install_append () { - install -d ${D}${sysconfdir}/X11/Xsession.d/ - install -m 755 ${WORKDIR}/70NetworkManagerApplet.shbg ${D}${sysconfdir}/X11/Xsession.d/ -} - -#TODO: remove if libnotify in DEPENDS -EXTRA_OECONF += "--without-libnotify" diff --git a/meta-extras/packages/networkmanager/networkmanager_svn.bb b/meta-extras/packages/networkmanager/networkmanager_svn.bb deleted file mode 100644 index 40f04e497c..0000000000 --- a/meta-extras/packages/networkmanager/networkmanager_svn.bb +++ /dev/null @@ -1,51 +0,0 @@ -DESCRIPTION = "NetworkManager" -HOMEPAGE = "http://projects.gnome.org/NetworkManager/" -BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=NetworkManager&content=" -SECTION = "net/misc" -LICENSE = "GPLv2+ & LGPLv2+" -PRIORITY = "optional" -DEPENDS = "libnl dbus dbus-glib hal gconf-dbus wireless-tools ppp gnome-common polkit" -RDEPENDS = "hal wpa-supplicant iproute2 dhcp-client" - -PV = "0.7+svnr${SRCREV}" -PR = "r10" - -SRC_URI="svn://svn.gnome.org/svn/NetworkManager/;module=trunk;proto=http \ - file://no-restarts.diff;patch=1;pnum=0 \ - file://libnlfix.patch;patch=1 \ - file://makefile-fix.patch;patch=1 \ - file://allow-disabling.patch;patch=1 \ - file://NetworkManager \ - file://99_networkmanager" - -EXTRA_OECONF = "--with-distro=debian \ - --with-ip=/sbin/ip" -# TODO: will /bin/ip from busybox do? - -S = "${WORKDIR}/trunk" - -inherit autotools pkgconfig update-rc.d - -INITSCRIPT_NAME = "NetworkManager" -INITSCRIPT_PARAMS = "defaults 22" - -do_install_append () { - install -d ${D}/etc/default/volatiles - install -m 0644 ${WORKDIR}/99_networkmanager ${D}/etc/default/volatiles - # This overwrites the provided init script - install -m 0755 ${WORKDIR}/NetworkManager ${D}/etc/init.d/ - rmdir ${D}/var/run/NetworkManager - rmdir ${D}/var/run -} - -PACKAGES =+ "libnmutil libnmglib" - -FILES_libnmutil += "${libdir}/libnm-util.so.*" - -FILES_libnmglib += "${libdir}/libnm_glib.so.*" - -FILES_${PN}-dev = "${includedir}/* \ - ${libdir}/*.so \ - ${libdir}/*.a \ - ${libdir}/pkgconfig/*.pc \ - ${datadir}/NetworkManager/gdb-cmd" diff --git a/meta-extras/packages/notification-daemon/files/no-wnck-sexy.patch b/meta-extras/packages/notification-daemon/files/no-wnck-sexy.patch deleted file mode 100644 index 3367292e1f..0000000000 --- a/meta-extras/packages/notification-daemon/files/no-wnck-sexy.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff -ur notification-daemon-0.3.7.orig/configure.ac notification-daemon-0.3.7/configure.ac ---- notification-daemon-0.3.7.orig/configure.ac 2007-02-28 05:16:16.000000000 +0000 -+++ notification-daemon-0.3.7/configure.ac 2008-01-18 11:29:28.000000000 +0000 -@@ -82,9 +82,7 @@ - glib-2.0 >= $REQ_GLIB_VERSION, \ - dbus-1 >= $REQ_DBUS_VERSION, \ - dbus-glib-1 >= $REQ_DBUS_VERSION, \ -- libsexy >= $REQ_SEXY_VERSION, \ -- gconf-2.0, \ -- libwnck-1.0 \ -+ gconf-2.0 \ - " - PKG_CHECK_MODULES(NOTIFICATION_DAEMON, $pkg_modules) - AC_SUBST(NOTIFICATION_DAEMON_CFLAGS) -Only in notification-daemon-0.3.7/: configure.ac~ -Only in notification-daemon-0.3.7.orig/: debian -diff -ur notification-daemon-0.3.7.orig/src/daemon/daemon.c notification-daemon-0.3.7/src/daemon/daemon.c ---- notification-daemon-0.3.7.orig/src/daemon/daemon.c 2007-02-15 10:47:09.000000000 +0000 -+++ notification-daemon-0.3.7/src/daemon/daemon.c 2008-01-18 11:24:40.000000000 +0000 -@@ -39,9 +39,6 @@ - #include - #include - --#define WNCK_I_KNOW_THIS_IS_UNSTABLE --#include -- - #include "daemon.h" - #include "engines.h" - #include "stack.h" -@@ -771,37 +768,6 @@ - static gboolean - fullscreen_window_exists(GtkWidget *nw) - { -- WnckScreen *wnck_screen; -- GList *l; -- -- wnck_screen = wnck_screen_get(GDK_SCREEN_XNUMBER( -- gdk_drawable_get_screen(GDK_DRAWABLE(GTK_WIDGET(nw)->window)))); -- wnck_screen_force_update(wnck_screen); -- -- for (l = wnck_screen_get_windows_stacked(wnck_screen); -- l != NULL; -- l = l->next) -- { -- WnckWindow *wnck_win = (WnckWindow *)l->data; -- -- if (wnck_window_is_fullscreen(wnck_win)) -- { -- /* -- * Sanity check if the window is _really_ fullscreen to -- * work around a bug in libwnck that doesn't get all -- * unfullscreen events. -- */ -- int sw = wnck_screen_get_width(wnck_screen); -- int sh = wnck_screen_get_height(wnck_screen); -- int x, y, w, h; -- -- wnck_window_get_geometry(wnck_win, &x, &y, &w, &h); -- -- if (sw == w && sh == h) -- return TRUE; -- } -- } -- - return FALSE; - } - -Only in notification-daemon-0.3.7/src/daemon: daemon.c~ -diff -ur notification-daemon-0.3.7.orig/src/themes/standard/theme.c notification-daemon-0.3.7/src/themes/standard/theme.c ---- notification-daemon-0.3.7.orig/src/themes/standard/theme.c 2007-01-26 04:20:15.000000000 +0000 -+++ notification-daemon-0.3.7/src/themes/standard/theme.c 2008-01-18 11:34:58.000000000 +0000 -@@ -1,7 +1,6 @@ - #include "config.h" - - #include --#include - - typedef void (*ActionInvokedCb)(GtkWindow *nw, const char *key); - typedef void (*UrlClickedCb)(GtkWindow *nw, const char *url); -@@ -799,7 +798,7 @@ - gtk_widget_show(vbox); - gtk_box_pack_start(GTK_BOX(windata->content_hbox), vbox, TRUE, TRUE, 0); - -- windata->body_label = sexy_url_label_new(); -+ windata->body_label = gtk_label_new(NULL); - gtk_box_pack_start(GTK_BOX(vbox), windata->body_label, TRUE, TRUE, 0); - gtk_misc_set_alignment(GTK_MISC(windata->body_label), 0, 0); - gtk_label_set_line_wrap(GTK_LABEL(windata->body_label), TRUE); -@@ -874,7 +873,7 @@ - gtk_label_set_markup(GTK_LABEL(windata->summary_label), str); - g_free(str); - -- sexy_url_label_set_markup(SEXY_URL_LABEL(windata->body_label), body); -+ gtk_label_set_markup(GTK_LABEL(windata->body_label), body); - - if (body == NULL || *body == '\0') - gtk_widget_hide(windata->body_label); -Only in notification-daemon-0.3.7/src/themes/standard: theme.c~ diff --git a/meta-extras/packages/notification-daemon/notification-daemon_0.3.7.bb b/meta-extras/packages/notification-daemon/notification-daemon_0.3.7.bb deleted file mode 100644 index f443e307c9..0000000000 --- a/meta-extras/packages/notification-daemon/notification-daemon_0.3.7.bb +++ /dev/null @@ -1,21 +0,0 @@ -DESCRIPTION = "A dbus service that listens to desktop notification requests and displays them" -HOMEPAGE = "http://www.galago-project.org/" -SECTION = "x11" -LICENSE = "GPL" -DEPENDS = "dbus gtk+ gconf" - -SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${P}.tar.gz \ - file://no-wnck-sexy.patch;patch=1" - -EXTRA_OECONF = "--disable-binreloc" - -inherit autotools pkgconfig - -FILES_${PN} = "\ - ${libexecdir}/notification-daemon \ - ${datadir}/dbus-1/services/ \ - ${libdir}/notification-daemon-1.0/engines/*.so \ - ${sysconfdir}/gconf/schemas/notification-daemon.schemas \ -" - -FILES_${PN}-dbg += "${libexecdir}/.debug ${libdir}/notification-daemon-1.0/engines/.debug" diff --git a/meta-extras/packages/osc/osc-native_svn.bb b/meta-extras/packages/osc/osc-native_svn.bb deleted file mode 100755 index ab0ee0ba3a..0000000000 --- a/meta-extras/packages/osc/osc-native_svn.bb +++ /dev/null @@ -1,28 +0,0 @@ -DESCRIPTION = "osc - OpenSUSE build service command-line tool." -HOMEPAGE = "http://en.opensuse.org/Build_Service/CLI" -SECTION = "console/utils" -LICENSE = "GPL" -PV = "0.0+svnr${SRCREV}" -PR = "r1" -DEPENDS = "python-native rpm-native" -RDEPENDS = "" - -SRC_URI = "svn://forgesvn1.novell.com/svn/opensuse/trunk/buildservice/src/clientlib/python;module=osc;proto=https" -S = "${WORKDIR}/osc" - -inherit native - -do_install() { - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \ - ${STAGING_BINDIR_NATIVE}/python setup.py build || - oefatal "python setup.py build execution failed." - - BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ - STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \ - ${STAGING_BINDIR_NATIVE}/python setup.py install --prefix=${D}${prefix} --install-data=${D}${datadir} || \ - oefatal "python setup.py install execution failed." - - ln -sf osc-wrapper.py ${D}${bindir}/osc -} - diff --git a/meta-extras/packages/prism-firmware/prism-firmware.bb b/meta-extras/packages/prism-firmware/prism-firmware.bb deleted file mode 100644 index 903c55e15e..0000000000 --- a/meta-extras/packages/prism-firmware/prism-firmware.bb +++ /dev/null @@ -1,32 +0,0 @@ -DESCRIPTION = "Firmware for the Prism 2.x/3 cards" -SECTION = "base" -LICENSE = "closed" -RDEPENDS = "hostap-utils" -RREPLACES = "prism3-firmware prism3-support" -RCONFLICTS = "prism3-firmware prism3-support" -PACKAGE_ARCH = "all" -PR = "r3" - -SRC_URI = "http://www.red-bean.com/~proski/firmware/primary.tar.bz2 \ - http://www.red-bean.com/~proski/firmware/1.7.4.tar.bz2 \ - file://prism-fw.sh \ - file://hostap.rules" - -do_install() { - install -d ${D}${base_libdir}/firmware/ - install -d ${D}${base_libdir}/udev/ - install -d ${D}${sysconfdir}/pcmcia/ - install -d ${D}${sysconfdir}/udev/rules.d/ - - install -m 0644 ${WORKDIR}/primary/af010104.hex ${D}${base_libdir}/firmware/ - install -m 0644 ${WORKDIR}/primary/ak010104.hex ${D}${base_libdir}/firmware/ - install -m 0644 ${WORKDIR}/primary/pm010102.hex ${D}${base_libdir}/firmware/ - - install -m 0644 ${WORKDIR}/1.7.4/rf010704.hex ${D}${base_libdir}/firmware/ - - install -m 0755 ${WORKDIR}/prism-fw.sh ${D}${base_libdir}/udev/ - install -m 0644 ${WORKDIR}/hostap.rules ${D}${sysconfdir}/udev/rules.d/ -} - -PACKAGES = "${PN}" -FILES_${PN} += "${base_libdir}" diff --git a/meta-extras/packages/prism-firmware/prism-firmware/hostap.rules b/meta-extras/packages/prism-firmware/prism-firmware/hostap.rules deleted file mode 100644 index dece98ae93..0000000000 --- a/meta-extras/packages/prism-firmware/prism-firmware/hostap.rules +++ /dev/null @@ -1,4 +0,0 @@ -# -# update firmware on Prism cards (load it to RAM, not to Flash) -# -SUBSYSTEM=="net", KERNEL=="wlan*" RUN="/lib/udev/prism-fw.sh" diff --git a/meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh b/meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh deleted file mode 100644 index 619f612be1..0000000000 --- a/meta-extras/packages/prism-firmware/prism-firmware/prism-fw.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -CARD_ID=`/usr/sbin/hostap_diag $INTERFACE|grep NICID|awk '{print $2}'|sed -e 's/id=0x//'` - -# 801d cards lack even Primary firmware so we cannot use hostap_diag -PRI=/lib/firmware/pm010102.hex -STA=/lib/firmware/rf010704.hex - -if [ $CARD_ID = '800c' ] || [ $CARD_ID = '8013' ] || [ $CARD_ID = '8017' ] || \ - [ $CARD_ID = '801b' ] || [ $CARD_ID = '8022' ] || [ $CARD_ID = '8023' ] ; then - PRI=/lib/firmware/ak010104.hex -elif [ $CARD_ID = '800b' ] || [ $CARD_ID = '8012' ] || [ $CARD_ID = '8016' ] || \ - [ $CARD_ID = '801a' ] ; then - PRI=/lib/firmware/af010104.hex -elif [ $CARD_ID = '800e' ] || [ $CARD_ID = '8015' ] || [ $CARD_ID = '8019' ] || \ - [ $CARD_ID = '801d' ] ; then - PRI=/lib/firmware/pm010102.hex -fi - -DIR=/proc/net/hostap/wlan0 - -if [ ! -d $DIR ]; then - exit 1 -fi - -if grep -q no_pri=1 $DIR/debug; then - /usr/sbin/prism2_srec -gs wlan0 $PRI - /usr/sbin/prism2_srec -gp wlan0 $PRI -fi - -/usr/sbin/prism2_srec -rp wlan0 $STA - diff --git a/meta-extras/packages/python/python-iniparse-native_0.3.2.bb b/meta-extras/packages/python/python-iniparse-native_0.3.2.bb deleted file mode 100644 index 41aa13d97a..0000000000 --- a/meta-extras/packages/python/python-iniparse-native_0.3.2.bb +++ /dev/null @@ -1,6 +0,0 @@ -require python-iniparse_${PV}.bb -inherit native -DEPENDS = "python-native" -RDEPENDS = "" -PR = "r0" - diff --git a/meta-extras/packages/python/python-iniparse_0.3.2.bb b/meta-extras/packages/python/python-iniparse_0.3.2.bb deleted file mode 100644 index 27a38f4249..0000000000 --- a/meta-extras/packages/python/python-iniparse_0.3.2.bb +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "iniparse is a INI parser for Python" -HOMEPAGE = "http://code.google.com/p/iniparse/" -SECTION = "devel/python" -PRIORITY = "optional" -LICENSE = "GPL" -PR = "r0" - -SRC_URI = "http://iniparse.googlecode.com/files/iniparse-${PV}.tar.gz" -S = "${WORKDIR}/iniparse-${PV}" - -inherit distutils diff --git a/meta-extras/packages/python/python-urlgrabber-native_3.9.1.bb b/meta-extras/packages/python/python-urlgrabber-native_3.9.1.bb deleted file mode 100644 index ff8f02ecd7..0000000000 --- a/meta-extras/packages/python/python-urlgrabber-native_3.9.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require python-urlgrabber_${PV}.bb -inherit native -DEPENDS = "python-native python-pycurl-native" -RDEPENDS = "" diff --git a/meta-extras/packages/python/python-urlgrabber/urlgrabber-3.0.0-cleanup.patch b/meta-extras/packages/python/python-urlgrabber/urlgrabber-3.0.0-cleanup.patch deleted file mode 100644 index 7a1ee059d1..0000000000 --- a/meta-extras/packages/python/python-urlgrabber/urlgrabber-3.0.0-cleanup.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -up urlgrabber-3.0.0/urlgrabber/grabber.py.cleanup urlgrabber-3.0.0/urlgrabber/grabber.py ---- urlgrabber-3.0.0/urlgrabber/grabber.py.cleanup 2007-11-29 10:25:13.000000000 +0000 -+++ urlgrabber-3.0.0/urlgrabber/grabber.py 2007-11-29 10:26:15.000000000 +0000 -@@ -1204,16 +1204,18 @@ class URLGrabberFileObject: - bs = 1024*8 - size = 0 - -- if amount is not None: bs = min(bs, amount - size) -- block = self.read(bs) -- size = size + len(block) -- while block: -- new_fo.write(block) -+ try: - if amount is not None: bs = min(bs, amount - size) - block = self.read(bs) - size = size + len(block) -+ while block: -+ new_fo.write(block) -+ if amount is not None: bs = min(bs, amount - size) -+ block = self.read(bs) -+ size = size + len(block) -+ finally: -+ new_fo.close() - -- new_fo.close() - try: - modified_tuple = self.hdr.getdate_tz('last-modified') - modified_stamp = rfc822.mktime_tz(modified_tuple) diff --git a/meta-extras/packages/python/python-urlgrabber/urlgrabber-HEAD.patch b/meta-extras/packages/python/python-urlgrabber/urlgrabber-HEAD.patch deleted file mode 100644 index 90180d29a0..0000000000 --- a/meta-extras/packages/python/python-urlgrabber/urlgrabber-HEAD.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff --git a/urlgrabber/grabber.py b/urlgrabber/grabber.py -index e090e90..a26880c 100644 ---- a/urlgrabber/grabber.py -+++ b/urlgrabber/grabber.py -@@ -439,6 +439,12 @@ try: - except: - __version__ = '???' - -+try: -+ # this part isn't going to do much - need to talk to gettext -+ from i18n import _ -+except ImportError, msg: -+ def _(st): return st -+ - ######################################################################## - # functions for debugging output. These functions are here because they - # are also part of the module initialization. -@@ -1052,7 +1058,8 @@ class PyCurlFileObject(): - self._reget_length = 0 - self._prog_running = False - self._error = (None, None) -- self.size = None -+ self.size = 0 -+ self._hdr_ended = False - self._do_open() - - -@@ -1085,9 +1092,14 @@ class PyCurlFileObject(): - return -1 - - def _hdr_retrieve(self, buf): -+ if self._hdr_ended: -+ self._hdr_dump = '' -+ self.size = 0 -+ self._hdr_ended = False -+ - if self._over_max_size(cur=len(self._hdr_dump), - max_size=self.opts.max_header_size): -- return -1 -+ return -1 - try: - self._hdr_dump += buf - # we have to get the size before we do the progress obj start -@@ -1104,7 +1116,17 @@ class PyCurlFileObject(): - s = parse150(buf) - if s: - self.size = int(s) -- -+ -+ if buf.lower().find('location') != -1: -+ location = ':'.join(buf.split(':')[1:]) -+ location = location.strip() -+ self.scheme = urlparse.urlsplit(location)[0] -+ self.url = location -+ -+ if len(self._hdr_dump) != 0 and buf == '\r\n': -+ self._hdr_ended = True -+ if DEBUG: DEBUG.info('header ended:') -+ - return len(buf) - except KeyboardInterrupt: - return pycurl.READFUNC_ABORT -@@ -1136,6 +1158,7 @@ class PyCurlFileObject(): - self.curl_obj.setopt(pycurl.PROGRESSFUNCTION, self._progress_update) - self.curl_obj.setopt(pycurl.FAILONERROR, True) - self.curl_obj.setopt(pycurl.OPT_FILETIME, True) -+ self.curl_obj.setopt(pycurl.FOLLOWLOCATION, True) - - if DEBUG: - self.curl_obj.setopt(pycurl.VERBOSE, True) -@@ -1291,7 +1314,12 @@ class PyCurlFileObject(): - raise err - - elif str(e.args[1]) == '' and self.http_code != 0: # fake it until you make it -- msg = 'HTTP Error %s : %s ' % (self.http_code, self.url) -+ if self.scheme in ['http', 'https']: -+ msg = 'HTTP Error %s : %s ' % (self.http_code, self.url) -+ elif self.scheme in ['ftp']: -+ msg = 'FTP Error %s : %s ' % (self.http_code, self.url) -+ else: -+ msg = "Unknown Error: URL=%s , scheme=%s" % (self.url, self.scheme) - else: - msg = 'PYCURL ERROR %s - "%s"' % (errcode, str(e.args[1])) - code = errcode -@@ -1299,6 +1327,12 @@ class PyCurlFileObject(): - err.code = code - err.exception = e - raise err -+ else: -+ if self._error[1]: -+ msg = self._error[1] -+ err = URLGRabError(14, msg) -+ err.url = self.url -+ raise err - - def _do_open(self): - self.curl_obj = _curl_cache -@@ -1532,11 +1566,14 @@ class PyCurlFileObject(): - def _over_max_size(self, cur, max_size=None): - - if not max_size: -- max_size = self.size -- if self.opts.size: # if we set an opts size use that, no matter what -- max_size = self.opts.size -+ if not self.opts.size: -+ max_size = self.size -+ else: -+ max_size = self.opts.size -+ - if not max_size: return False # if we have None for all of the Max then this is dumb -- if cur > max_size + max_size*.10: -+ -+ if cur > int(float(max_size) * 1.10): - - msg = _("Downloaded more than max size for %s: %s > %s") \ - % (self.url, cur, max_size) -@@ -1582,7 +1619,11 @@ class PyCurlFileObject(): - self.opts.progress_obj.end(self._amount_read) - self.fo.close() - -- -+ def geturl(self): -+ """ Provide the geturl() method, used to be got from -+ urllib.addinfourl, via. urllib.URLopener.* """ -+ return self.url -+ - _curl_cache = pycurl.Curl() # make one and reuse it over and over and over - - -diff --git a/urlgrabber/progress.py b/urlgrabber/progress.py -index dd07c6a..45eb248 100644 ---- a/urlgrabber/progress.py -+++ b/urlgrabber/progress.py -@@ -658,6 +658,8 @@ def format_time(seconds, use_hours=0): - if seconds is None or seconds < 0: - if use_hours: return '--:--:--' - else: return '--:--' -+ elif seconds == float('inf'): -+ return 'Infinite' - else: - seconds = int(seconds) - minutes = seconds / 60 diff --git a/meta-extras/packages/python/python-urlgrabber/urlgrabber-reset.patch b/meta-extras/packages/python/python-urlgrabber/urlgrabber-reset.patch deleted file mode 100644 index b63e7c33ac..0000000000 --- a/meta-extras/packages/python/python-urlgrabber/urlgrabber-reset.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/urlgrabber/grabber.py 2010-02-19 14:50:45.000000000 -0500 -+++ b/urlgrabber/grabber.py 2010-02-19 14:51:28.000000000 -0500 -@@ -1626,6 +1626,12 @@ - - _curl_cache = pycurl.Curl() # make one and reuse it over and over and over - -+def reset_curl_obj(): -+ """To make sure curl has reread the network/dns info we force a reload""" -+ global _curl_cache -+ _curl_cache.close() -+ _curl_cache = pycurl.Curl() -+ - - ##################################################################### - # DEPRECATED FUNCTIONS diff --git a/meta-extras/packages/python/python-urlgrabber_3.9.1.bb b/meta-extras/packages/python/python-urlgrabber_3.9.1.bb deleted file mode 100644 index 9f3a4cc6a7..0000000000 --- a/meta-extras/packages/python/python-urlgrabber_3.9.1.bb +++ /dev/null @@ -1,16 +0,0 @@ -DESCRIPTION = "urlgrabber is a pure python package that drastically simplifies the fetching of files." - -HOMEPAGE = "http://urlgrabber.baseurl.org/" -SECTION = "devel/python" -PRIORITY = "optional" -LICENSE = "GPL" -PR = "r1" - -SRC_URI = "http://urlgrabber.baseurl.org/download/urlgrabber-${PV}.tar.gz \ - file://urlgrabber-HEAD.patch;patch=1 \ - file://urlgrabber-reset.patch;patch=1" -S = "${WORKDIR}/urlgrabber-${PV}" - -DEPENDS = "python-pycurl" - -inherit distutils \ No newline at end of file diff --git a/meta-extras/packages/python/yum-metadata-parser-native_1.1.4.bb b/meta-extras/packages/python/yum-metadata-parser-native_1.1.4.bb deleted file mode 100644 index 0a44b99e2c..0000000000 --- a/meta-extras/packages/python/yum-metadata-parser-native_1.1.4.bb +++ /dev/null @@ -1,7 +0,0 @@ -require yum-metadata-parser_${PV}.bb -inherit native -DEPENDS = "python-native sqlite3-native glib-2.0-native libxml2-native" -RDEPENDS = "" -PR = "r0" - -#BUILD_CFLAGS += "-I${STAGING_LIBDIR}/glib-2.0" diff --git a/meta-extras/packages/python/yum-metadata-parser_1.1.4.bb b/meta-extras/packages/python/yum-metadata-parser_1.1.4.bb deleted file mode 100644 index 2e404a2bb1..0000000000 --- a/meta-extras/packages/python/yum-metadata-parser_1.1.4.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "C-based metadata parser to quickly parse xml metadata into sqlite databases." -HOMEPAGE = "http://linux.duke.edu/projects/yum/download.ptml" -SECTION = "devel/python" -PRIORITY = "optional" -DEPENDS = "python sqlite3 glib-2.0 libxml2" -LICENSE = "GPL" - -PR = "r1" - -SRC_URI = "http://linux.duke.edu/projects/yum/download/yum-metadata-parser/yum-metadata-parser-${PV}.tar.gz" -S = "${WORKDIR}/yum-metadata-parser-${PV}" - -TARGET_CFLAGS += "-I${STAGING_LIBDIR}/glib-2.0" - -inherit distutils diff --git a/meta-extras/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch b/meta-extras/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch deleted file mode 100644 index 4ebc3dea8d..0000000000 --- a/meta-extras/packages/qmake/qmake2-cross/0001-fix-mkspecs.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 594157753a24d0575aaf948dc0e9500f6bdb2178 Mon Sep 17 00:00:00 2001 -From: Michael Krelin -Date: Sat, 2 Jun 2007 16:39:58 +0200 -Subject: [PATCH] fix mkspecs - ---- - mkspecs/common/g++.conf | 18 +++++++++--------- - mkspecs/common/linux.conf | 26 +++++++++++++------------- - 2 files changed, 22 insertions(+), 22 deletions(-) - -Index: qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/g++.conf -=================================================================== ---- qt-embedded-linux-opensource-src-4.5.3.orig/mkspecs/common/g++.conf -+++ qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/g++.conf -@@ -2,12 +2,12 @@ - # qmake configuration for common gcc - # - --QMAKE_CC = gcc --QMAKE_CFLAGS += -pipe -+QMAKE_CC = $(OE_QMAKE_CC) -+QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS) - QMAKE_CFLAGS_DEPS += -M - QMAKE_CFLAGS_WARN_ON += -Wall -W - QMAKE_CFLAGS_WARN_OFF += -w --QMAKE_CFLAGS_RELEASE += -O2 -+QMAKE_CFLAGS_RELEASE += -O2 - QMAKE_CFLAGS_DEBUG += -g - QMAKE_CFLAGS_SHLIB += -fPIC - QMAKE_CFLAGS_STATIC_LIB += -fPIC -@@ -16,8 +16,8 @@ QMAKE_CFLAGS_HIDESYMS += -fvisibility= - QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} - QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE} - --QMAKE_CXX = g++ --QMAKE_CXXFLAGS += $$QMAKE_CFLAGS -+QMAKE_CXX = $(OE_QMAKE_CXX) -+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) - QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS - QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON - QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF -@@ -30,11 +30,11 @@ QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAG - QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} - QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE - --QMAKE_LINK = g++ --QMAKE_LINK_SHLIB = g++ --QMAKE_LINK_C = gcc --QMAKE_LINK_C_SHLIB = gcc --QMAKE_LFLAGS += -+QMAKE_LINK = $(OE_QMAKE_LINK) -+QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) -+QMAKE_LINK_C = $(OE_QMAKE_CC) -+QMAKE_LINK_C_SHLIB = $(OE_QMAKE_CC) -+QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS) - QMAKE_LFLAGS_RELEASE += -Wl,-O1 - QMAKE_LFLAGS_DEBUG += - QMAKE_LFLAGS_APP += -@@ -43,7 +43,7 @@ QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SH - QMAKE_LFLAGS_SONAME += -Wl,-soname, - QMAKE_LFLAGS_THREAD += - QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined --QMAKE_RPATH = -Wl,-rpath, -+QMAKE_RPATH = -Wl,-rpath-link, - - QMAKE_PCH_OUTPUT_EXT = .gch - -Index: qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/linux.conf -=================================================================== ---- qt-embedded-linux-opensource-src-4.5.3.orig/mkspecs/common/linux.conf -+++ qt-embedded-linux-opensource-src-4.5.3/mkspecs/common/linux.conf -@@ -7,27 +7,27 @@ QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_ - - QMAKE_INCDIR = - QMAKE_LIBDIR = --QMAKE_INCDIR_X11 = /usr/X11R6/include --QMAKE_LIBDIR_X11 = /usr/X11R6/lib --QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] --QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS] --QMAKE_INCDIR_OPENGL = /usr/X11R6/include --QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib -+QMAKE_INCDIR_X11 = -+QMAKE_LIBDIR_X11 = -+QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT) -+QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT) -+QMAKE_INCDIR_OPENGL = -+QMAKE_LIBDIR_OPENGL = - - QMAKE_LIBS = - QMAKE_LIBS_DYNLOAD = -ldl --QMAKE_LIBS_X11 = -lXext -lX11 -lm --QMAKE_LIBS_X11SM = -lSM -lICE -+QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11) -+QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM) - QMAKE_LIBS_NIS = -lnsl - QMAKE_LIBS_OPENGL = -lGLU -lGL - QMAKE_LIBS_OPENGL_QT = -lGL - QMAKE_LIBS_THREAD = -lpthread - --QMAKE_MOC = $$[QT_INSTALL_BINS]/moc --QMAKE_UIC = $$[QT_INSTALL_BINS]/uic -+QMAKE_MOC = $(OE_QMAKE_MOC) -+QMAKE_UIC = $(OE_QMAKE_UIC) - --QMAKE_AR = ar cqs --QMAKE_OBJCOPY = objcopy -+QMAKE_AR = $(OE_QMAKE_AR) cqs -+QMAKE_OBJCOPY = $(OE_QMAKE_OBJCOPY) - QMAKE_RANLIB = - - QMAKE_TAR = tar -cf -@@ -39,7 +39,7 @@ QMAKE_COPY_DIR = $(COPY) -r - QMAKE_MOVE = mv -f - QMAKE_DEL_FILE = rm -f - QMAKE_DEL_DIR = rmdir --QMAKE_STRIP = strip -+QMAKE_STRIP = $(OE_QMAKE_STRIP) - QMAKE_STRIPFLAGS_LIB += --strip-unneeded - QMAKE_CHK_DIR_EXISTS = test -d - QMAKE_MKDIR = mkdir -p diff --git a/meta-extras/packages/qmake/qmake2-cross/linux-oe-qmake.conf b/meta-extras/packages/qmake/qmake2-cross/linux-oe-qmake.conf deleted file mode 100644 index f58481a693..0000000000 --- a/meta-extras/packages/qmake/qmake2-cross/linux-oe-qmake.conf +++ /dev/null @@ -1 +0,0 @@ -include(../linux-g++/qmake.conf) diff --git a/meta-extras/packages/qmake/qmake2-cross/use-lflags-last.patch b/meta-extras/packages/qmake/qmake2-cross/use-lflags-last.patch deleted file mode 100644 index 4197dbbf64..0000000000 --- a/meta-extras/packages/qmake/qmake2-cross/use-lflags-last.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: qtopia-core-opensource-src-4.3.1/qmake/generators/unix/unixmake2.cpp -=================================================================== ---- qtopia-core-opensource-src-4.3.1.orig/qmake/generators/unix/unixmake2.cpp 2007-10-07 13:45:26.000000000 +0200 -+++ qtopia-core-opensource-src-4.3.1/qmake/generators/unix/unixmake2.cpp 2007-10-07 13:57:09.000000000 +0200 -@@ -416,7 +416,7 @@ - t << "\n\t" << mkdir_p_asstring(destdir) << "\n\t"; - if(!project->isEmpty("QMAKE_PRE_LINK")) - t << var("QMAKE_PRE_LINK") << "\n\t"; -- t << "$(LINK) $(LFLAGS) -o $(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS)"; -+ t << "$(LINK) -o $(TARGET) " << incr_deps << " " << incr_objs << " $(OBJCOMP) $(LIBS) $(LFLAGS)"; - if(!project->isEmpty("QMAKE_POST_LINK")) - t << "\n\t" << var("QMAKE_POST_LINK"); - t << endl << endl; -@@ -430,7 +430,7 @@ - t << mkdir_p_asstring(destdir) << "\n\t"; - if(!project->isEmpty("QMAKE_PRE_LINK")) - t << var("QMAKE_PRE_LINK") << "\n\t"; -- t << "$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)"; -+ t << "$(LINK) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) $(LFLAGS)"; - if(!project->isEmpty("QMAKE_POST_LINK")) - t << "\n\t" << var("QMAKE_POST_LINK"); - t << endl << endl; diff --git a/meta-extras/packages/qmake/qmake2-cross_2.10a.bb b/meta-extras/packages/qmake/qmake2-cross_2.10a.bb deleted file mode 100644 index 60f738b9ce..0000000000 --- a/meta-extras/packages/qmake/qmake2-cross_2.10a.bb +++ /dev/null @@ -1,74 +0,0 @@ -DESCRIPTION = "TrollTech Makefile Generator" -PRIORITY = "optional" -HOMEPAGE = "http://www.trolltech.com" -SECTION = "devel" -LICENSE = "GPL" -PR = "r2" - -QTVER = "qt-embedded-linux-opensource-src-4.5.3" - -SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/${QTVER}.tar.gz \ - file://0001-fix-mkspecs.patch;patch=1 \ - file://use-lflags-last.patch;patch=1 \ - file://linux-oe-qmake.conf" -S = "${WORKDIR}/${QTVER}" - -# we need the real target system here -CROSS_SYS := "${TARGET_SYS}" -CROSS_BINDIR := "${STAGING_BINDIR_CROSS}" -inherit autotools cross - -export QTDIR = "${S}" -EXTRA_OEMAKE = "-e" -EXTRA_OECONF = "-opensource" - -do_configure() { - # Install the OE build templates - for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++ - do - install -d ${S}/mkspecs/$template - install -m 0644 ${WORKDIR}/linux-oe-qmake.conf ${S}/mkspecs/$template/qmake.conf - ln -sf ../linux-g++/qplatformdefs.h ${S}/mkspecs/$template/qplatformdefs.h - done - - QMAKESPEC= - PLATFORM=${HOST_OS}-oe-g++ - export PLATFORM - # yes, TARGET_SYS is correct, because this is a 'cross'-qmake-native :) :M: - export OE_QMAKE_CC="${CC}" - export OE_QMAKE_CFLAGS="${CFLAGS}" - export OE_QMAKE_CXX="${CXX}" - export OE_QMAKE_CXXFLAGS="-fno-exceptions -fno-rtti ${CXXFLAGS}" - export OE_QMAKE_LDFLAGS="${LDFLAGS}" - export OE_QMAKE_LINK="${CCLD}" - export OE_QMAKE_AR="${AR}" - export OE_QMAKE_OBJCOPY="${OBJCOPY}" - export OE_QMAKE_STRIP="${STRIP}" - export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic" - export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc" - export OE_QMAKE_RCC="non-existant" - export OE_QMAKE_QMAKE="${STAGING_BINDIR_NATIVE}/qmake" - export OE_QMAKE_RPATH="-Wl,-rpath-link," - echo yes | ./configure -prefix ${STAGING_DIR}/${CROSS_SYS}/qt4 ${EXTRA_OECONF} || die "Configuring qt failed" -} - -do_compile() { - : -} - -do_install() { - install -d ${D}${CROSS_BINDIR}/ - install -m 0755 bin/qmake ${D}${CROSS_BINDIR}/qmake2 - install -m 0755 bin/qmake ${D}${CROSS_BINDIR}/qmake-qt4 - install -d ${D}${STAGING_DIR}/${CROSS_SYS}/qt4/ - cp -PfR mkspecs ${D}${STAGING_DIR}/${CROSS_SYS}/qt4/ - install -d ${D}${STAGING_DIR}/${HOST_SYS}/qt4/ - cp -PfR mkspecs ${D}${STAGING_DIR}/${HOST_SYS}/qt4/ -} - -sysroot_stage_all_append() { - sysroot_stage_dir ${D}/${STAGING_DIR_NATIVE}/qt4 ${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}/qt4 - sysroot_stage_dir ${D}/${STAGING_DIR_TARGET}/qt4 ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/qt4 -} - - diff --git a/meta-extras/packages/redland/files/crosscompile.patch b/meta-extras/packages/redland/files/crosscompile.patch deleted file mode 100644 index 281007a791..0000000000 --- a/meta-extras/packages/redland/files/crosscompile.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: redland-1.0.8/raptor/configure.ac -=================================================================== ---- redland-1.0.8.orig/raptor/configure.ac 2008-12-16 17:26:58.000000000 +0000 -+++ redland-1.0.8/raptor/configure.ac 2008-12-16 17:27:41.000000000 +0000 -@@ -279,23 +279,7 @@ - - if test $ac_cv_func_vsnprintf = yes; then - AC_MSG_CHECKING(vsnprintf has C99 compatible return value) -- AC_TRY_RUN([#include --int is_c99(char *s, ...) { -- char buffer[32]; -- va_list args; -- int r; -- va_start(args, s); -- r = vsnprintf(buffer, 5, s, args); -- va_end(args); -- -- return (r == 7); --} -- --int main(int argc, char* argv) { -- return is_c99("1234567"); --}], AC_MSG_RESULT(no), -- AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [vsnprint has C99 compatible return value]) -- AC_MSG_RESULT(yes)) -+ AC_DEFINE(HAVE_C99_VSNPRINTF, 1, [vsnprint has C99 compatible return value]) - fi - - need_libm=no diff --git a/meta-extras/packages/redland/files/sane_pkgconfig.patch b/meta-extras/packages/redland/files/sane_pkgconfig.patch deleted file mode 100644 index 32742e2b29..0000000000 --- a/meta-extras/packages/redland/files/sane_pkgconfig.patch +++ /dev/null @@ -1,126 +0,0 @@ -Index: redland-1.0.8/configure.ac -=================================================================== ---- redland-1.0.8.orig/configure.ac 2008-07-04 07:56:25.000000000 +0100 -+++ redland-1.0.8/configure.ac 2008-12-17 23:04:25.000000000 +0000 -@@ -404,7 +404,7 @@ - - if test "$have_libdb" = yes; then - bdb_available="Version $bdb_version (library $bdb_dbname in $bdb_lib_dir)" -- LIBRDF_LIBS="$LIBRDF_LIBS $nLDFLAGS -l$bdb_dbname" -+ LIBRDF_LIBS="$LIBRDF_LIBS -l$bdb_dbname" - LIBRDF_CPPFLAGS="$LIBRDF_CPPFLAGS $nCPPFLAGS" - fi - -Index: redland-1.0.8/raptor/configure.ac -=================================================================== ---- redland-1.0.8.orig/raptor/configure.ac 2008-12-17 23:04:25.000000000 +0000 -+++ redland-1.0.8/raptor/configure.ac 2008-12-18 11:18:36.000000000 +0000 -@@ -304,9 +304,12 @@ - AC_DEFINE(HAVE_ROUND, 1, [have round() in libm]), - AC_MSG_RESULT(no)) - LIBS="$oLIBS" -+PRIV_PC_LIBS="" -+PRIV_PC_REQS="" - - if test "X$need_libm" = Xyes; then - LIBS="$LIBS -lm" -+ PRIV_PC_LIBS="$PRIV_PC_LIBS -lm" - fi - - -@@ -369,6 +372,7 @@ - AC_MSG_CHECKING(for working expat in libxmlparse and libxmltok) - if test $xmlp = 1 -a $xmlt = 1 -a $ac_cv_header_xmlparse_h = yes; then - LIBS="$LIBS -lxmlparse -lxmltok" -+ PRIV_PC_LIBS="$PRIV_PC_LIBS -lxmlparse -lxmltok" - AC_TRY_RUN([#include - main() {XML_ParserCreate(NULL); return(0);}], - worked=yes, worked=no, worked=no) -@@ -391,6 +395,7 @@ - AC_MSG_CHECKING(for working expat in libexpat) - if test $libexpat = 1 -a $ac_cv_header_expat_h = yes ; then - LIBS="$LIBS -lexpat" -+ PRIV_PC_LIBS="$PRIV_PC_LIBS -lexpat" - AC_TRY_RUN([#include - main() {XML_ParserCreate(NULL); return(0);}], - worked=yes, worked=no, worked=no) -@@ -531,6 +536,7 @@ - oLIBS="$LIBS" - if test "X$XML_CONFIG" != X; then - LIBS="$LIBS `$XML_CONFIG --libs`" -+ PRIV_PC_REQS="$PRIV_PC_REQS libxml-2.0" - AC_CHECK_FUNC(xmlCreatePushParserCtxt, have_xmlCreatePushParserCtxt=yes, have_xmlCreatePushParserCtxt=no) - AC_MSG_CHECKING(for system (GNOME) libxml library) - if test $have_xmlCreatePushParserCtxt = yes; then -@@ -637,6 +643,7 @@ - oLIBS="$LIBS" - if test "X$XSLT_CONFIG" != X; then - LIBS="$LIBS `$XSLT_CONFIG --libs`" -+ PRIV_PC_REQS="$PRIV_PC_REQS libxslt" - AC_CHECK_FUNC(xsltSaveResultToString, have_xsltSaveResultToString=yes, have_xsltSaveResultToString=no) - AC_MSG_CHECKING(for system libxslt library) - if test $have_xsltSaveResultToString = yes; then -@@ -1034,6 +1041,7 @@ - if test $need_libcurl = 1; then - CPPFLAGS="$CPPFLAGS `$CURL_CONFIG --cflags`" - LIBS="$LIBS `$CURL_CONFIG --libs`" -+ PRIV_PC_REQS="$PRIV_PC_REQS libcurl" - AC_LIBOBJ(raptor_www_curl) - - fi -@@ -1054,6 +1062,7 @@ - if test $ac_cv_header_libinn_h = yes; then - CPPFLAGS="$CPPFLAGS -I/usr/include/inn" - LIBS="$LIBS -L/usr/lib/news -linn" -+ PRIV_PC_LIBS="$PRIV_PC_LIBS -linn" - AC_CHECK_LIB(inn, HashMessageID, have_libinn=yes) - - AC_MSG_CHECKING(parsedate in libinn) -@@ -1102,6 +1111,7 @@ - - if test $need_libfetch = 1; then - LIBS="$LIBS -lfetch" -+ PRIV_PC_LIBS="$PRIV_PC_REQS -lfetch" - AC_LIBOBJ(raptor_www_libfetch) - fi - -@@ -1120,6 +1130,7 @@ - else - LIBS="$LIBS `$XML_CONFIG --libs`" - CPPFLAGS="`$XML_CONFIG --cflags` $CPPFLAGS" -+ PRIV_PC_REQS="$PRIV_PC_REQS libxml-2.0" - fi - RAPTOR_XML_PARSER=libxml - fi -@@ -1147,6 +1158,7 @@ - if test $need_libxslt = 1; then - LIBS="$LIBS `$XSLT_CONFIG --libs`" - CPPFLAGS="`$XSLT_CONFIG --cflags` $CPPFLAGS" -+ PRIV_PC_REQS="$PRIV_PC_REQS libxslt" - fi - - RAPTOR_LIBTOOLLIBS=libraptor.la -@@ -1214,6 +1226,9 @@ - AC_SUBST(MEM_LIBS) - AC_SUBST(STANDARD_CFLAGS) - -+AC_SUBST(PRIV_PC_LIBS) -+AC_SUBST(PRIV_PC_REQS) -+ - ECHO_N="$ECHO_N" - ECHO_C="$ECHO_C" - AC_SUBST(ECHO_N) -Index: redland-1.0.8/raptor/raptor.pc.in -=================================================================== ---- redland-1.0.8.orig/raptor/raptor.pc.in 2008-12-17 23:06:47.000000000 +0000 -+++ redland-1.0.8/raptor/raptor.pc.in 2008-12-17 23:07:20.000000000 +0000 -@@ -6,7 +6,8 @@ - Name: Raptor - Description: RDF Parser Toolkit Library - Version: @VERSION@ -+Requires.private: @PRIV_PC_REQS@ - Libs: -L${libdir} -lraptor --Libs.private: @LIBS@ -+Libs.private: @PRIV_PC_LIBS@@ - Cflags: -I${includedir} - diff --git a/meta-extras/packages/redland/redland_1.0.8.bb b/meta-extras/packages/redland/redland_1.0.8.bb deleted file mode 100644 index f1ff8f8e89..0000000000 --- a/meta-extras/packages/redland/redland_1.0.8.bb +++ /dev/null @@ -1,9 +0,0 @@ -SRC_URI = "http://download.librdf.org/source/redland-1.0.8.tar.gz \ - file://crosscompile.patch;patch=1 \ - file://sane_pkgconfig.patch;patch=1" - -PR = "r3" - -EXTRA_OECONF = "--with-bdb-lib=${STAGING_LIBDIR} --with-bdb-include=${STAGING_INCDIR} --with-sqlite=no" - -inherit autotools diff --git a/meta-extras/packages/smart/smart_1.1.bb b/meta-extras/packages/smart/smart_1.1.bb deleted file mode 100644 index 8f89eb3e00..0000000000 --- a/meta-extras/packages/smart/smart_1.1.bb +++ /dev/null @@ -1,29 +0,0 @@ -DESCRIPTION = "Next generation package handling tool." -HOMEPAGE = "http://labix.org/smart/" -LICENSE = "GPL v2+" -DEPENDS = "zlib python desktop-file-utils-native python-pygtk rpm" - -SRC_URI = "http://labix.org/download/smart/smart-1.1.tar.bz2" - -S = "${WORKDIR}/smart-${PV}" - -inherit distutils - -FILES_${PN} += "/usr/share/lib/${PYTHON_DIR}/site-packages/smart/interfaces/images/*.png \ - /usr/share/lib/${PYTHON_DIR/site-packages/smart/backends/" - -FILES_${PN}-doc += "/usr/share/share/man/man8/smart.8" - -FILES_${PN}-locale += "/usr/share/share/locale/es_ES/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/it/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/de/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/ru/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/sv/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/fr/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/hu/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/zh_TW/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/pt_BR/LC_MESSAGES/smart.mo \ - /usr/share/share/locale/zh_CN/LC_MESSAGES/smart.mo" - -FILES_${PN}-dbg += "/usr/lib/${PYTHON_DIR}/site-packages/smart/backends/rpm/.debug \ - /usr/lib/${PYTHON_DIR}/site-packages/smart/backends/deb/.debug \" \ No newline at end of file diff --git a/meta-extras/packages/spectrum-fw/spectrum-fw.bb b/meta-extras/packages/spectrum-fw/spectrum-fw.bb deleted file mode 100644 index 45011d336c..0000000000 --- a/meta-extras/packages/spectrum-fw/spectrum-fw.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "Firmware for Spectrum Wireless LAN cards" -DEPENDS += " unzip-native " -LICENSE = "closed" -PR = "r2" - -SRC_URI = "http://ftp.osuosl.org/pub/nslu2/sources/MC&DriverOnlyInstallers.zip \ - file://get_symbol_fw \ - file://parse_symbol_fw" -S = "${WORKDIR}" - -do_configure() { - ./get_symbol_fw -} - -do_install() { - install -d ${D}${base_libdir}/firmware/ - install -m 0755 ${WORKDIR}/symbol_sp24t_prim_fw ${D}${base_libdir}/firmware/symbol_sp24t_prim_fw - install -m 0755 ${WORKDIR}/symbol_sp24t_sec_fw ${D}${base_libdir}/firmware/symbol_sp24t_sec_fw -} - -PACKAGE_ARCH = "all" -FILES_${PN} += "${base_libdir}/firmware/symbol*" diff --git a/meta-extras/packages/spectrum-fw/spectrum-fw/get_symbol_fw b/meta-extras/packages/spectrum-fw/spectrum-fw/get_symbol_fw deleted file mode 100755 index 80420b01a8..0000000000 --- a/meta-extras/packages/spectrum-fw/spectrum-fw/get_symbol_fw +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -# Get firmware for Symbol Spectrum24 Trilogy. -# Both the header file and the binary firmware files are produced. - -# Copyright (C) 2004 Pavel Roskin - -# This script is Free Software, and it can be copied, distributed and -# modified as defined in the GNU General Public License. A copy of -# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html - -# Usage: get_symbol_fw -# Output: spectrum_fw.h symbol_sp24t_prim_fw symbol_sp24t_sec_fw -# Needed tools: curl (or wget), unzip, perl. - -set -e - -DL_INT1='S24DRVR392B67-01.exe' -DL_INT2='Driver Only Installer/NetWLan5.sys' -DRIVER1=symbol1.drv -DRIVER2=symbol2.drv - -unzip -p $DL_INT1 "$DL_INT2" >$DRIVER2 - -perl parse_symbol_fw $DRIVER2 spectrum_fw.h symbol_sp24t_prim_fw \ - symbol_sp24t_sec_fw - -rm -f $DRIVER1 $DRIVER2 - diff --git a/meta-extras/packages/spectrum-fw/spectrum-fw/parse_symbol_fw b/meta-extras/packages/spectrum-fw/spectrum-fw/parse_symbol_fw deleted file mode 100755 index 7fe0ea57c4..0000000000 --- a/meta-extras/packages/spectrum-fw/spectrum-fw/parse_symbol_fw +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/bin/perl -w - -# Extract Symbol firmware and convert is to a header file and two binary -# files. - -# Copyright (C) 2004 Pavel Roskin - -# This script is Free Software, and it can be copied, distributed and -# modified as defined in the GNU General Public License. A copy of -# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html - -# Usage: -# parse_symbol_fw infile header binfile1 binfile2 - -use strict; - -# Print message and exit (like "die", but without raising an exception). -# Newline is added at the end. -sub error -{ - printf STDERR "ERROR: "; - printf STDERR @_; - printf STDERR "\n"; - exit 1; -} - -sub readnum_ba () -{ - my $byte_a; - read INFILE,$byte_a,1; - my $byte_b; - read INFILE,$byte_b,1; - return (ord($byte_b) << 8) + ord($byte_a); -} - - -if ($#ARGV != 3) { - error ("Usage: parse_symbol_fw infile header binfile1 binfile2"); -} - -unless (open (INFILE, "< $ARGV[0]")) { - error ("couldn't open $ARGV[0] for reading: $!"); -} - -unless (open (OUTFILE, "> $ARGV[1]")) { - error ("couldn't open $ARGV[1] for writing: $!"); -} - -# Process one array, either for primary or for secondary firmware -sub process_one_array($$) { - my $arrname = shift(@_); - my $binfile = shift(@_); - my $offset = -1; - my $str_offset = 0; - - # Skip to the beginning of firmware - $/ = "\x00"; - while () { - if (m{FILE: }g) { - $offset = $str_offset + pos() - 6; - last; - } - $str_offset = tell(INFILE); - } - - if ($offset == -1) { - error("Cannot find FILE: marker"); - } - - my @fwdata = split; - print $fwdata[1] . "\n"; - seek(INFILE, $offset, 0); - - my $blknum = $fwdata[3]; - my $pdrlen = $fwdata[4]; - my $crclen = $fwdata[5]; - my $compatlen = $fwdata[6]; - - while (!eof(INFILE)) { - my $byte; - read INFILE, $byte, 1; - last if (ord($byte) == 0x1a); - } - - # Walk all blocks - my $block = $blknum; - while ($block-- > 0) { - seek(INFILE, 4, 1); - my $len = readnum_ba(); - seek(INFILE, $len, 1); - } - - my $img_len = tell(INFILE) - $offset + $pdrlen + $crclen + $compatlen + 2; - seek(INFILE, $offset, 0); - - # Write binary file for the section - unless (open (BINFILE, "> $binfile")) { - error ("couldn't open $binfile for writing: $!"); - } - - # Output the array - printf OUTFILE "/* %s %s */\n", $fwdata[1], $fwdata[2]; - printf OUTFILE "static u8 %s[] = {\n", $arrname; - - my $count = 0; - while ($count++ < $img_len) { - my $byte; - read INFILE, $byte, 1; - $byte = ord($byte); - printf OUTFILE "0x%02x,", $byte; - printf BINFILE "%c", $byte; - if ($count % 16 == 0) { - printf OUTFILE "\n"; - } - } - - if ($img_len % 16) { - printf OUTFILE "\n"; - } - - print OUTFILE "};\n"; - close(BINFILE); -} - -process_one_array("primsym", $ARGV[2]); -process_one_array("secsym", $ARGV[3]); - -close(INFILE); -close(OUTFILE); diff --git a/meta-extras/packages/syslog-ng/files/initscript b/meta-extras/packages/syslog-ng/files/initscript deleted file mode 100644 index b95e8adc20..0000000000 --- a/meta-extras/packages/syslog-ng/files/initscript +++ /dev/null @@ -1,45 +0,0 @@ -#! /bin/sh -# -# This is an init script for openembedded -# Copy it to /etc/init.d/syslog-ng and type -# > update-rc.d syslog-ng defaults 5 -# - - -syslog_ng=/usr/sbin/syslog-ng -test -x "$syslog_ng" || exit 0 - -case "$1" in - start) - echo -n "Starting syslog-ng:" - start-stop-daemon --start --quiet --exec $syslog_ng - echo "." - ;; - stop) - echo -n "Stopping syslog-ng:" - start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid - echo "." - ;; - reload|force-reload) - start-stop-daemon --stop --quiet --signal 1 --exec $syslog_ng - ;; - restart) - echo "Stopping syslog-ng:" - start-stop-daemon --stop --quiet --pidfile /var/run/syslog-ng.pid - echo -n "Waiting for syslog-ng to die off" - for i in 1 2 3 ; - do - sleep 1 - echo -n "." - done - echo "" - echo -n "Starting syslog-ng:" - start-stop-daemon --start --quiet --exec $syslog_ng - echo "." - ;; - *) - echo "Usage: /etc/init.d/syslog-ng {start|stop|reload|restart|force-reload}" - exit 1 -esac - -exit 0 diff --git a/meta-extras/packages/syslog-ng/files/syslog-ng.conf b/meta-extras/packages/syslog-ng/files/syslog-ng.conf deleted file mode 100644 index 4d1e9f8b22..0000000000 --- a/meta-extras/packages/syslog-ng/files/syslog-ng.conf +++ /dev/null @@ -1,89 +0,0 @@ -# -# Syslog-ng example configuration for for Debian GNU/Linux -# -# Copyright (c) 1999 anonymous -# Copyright (c) 1999 Balazs Scheidler -# $Id: syslog-ng.conf.sample,v 1.3 2003/05/20 08:57:27 asd Exp $ -# -# Syslog-ng configuration file, compatible with default Debian syslogd -# installation. -# - -options { long_hostnames(off); sync(0); }; - -source src { file("/proc/kmsg"); unix-stream("/dev/log"); internal(); }; -source net { udp(); }; - -destination authlog { file("/var/log/auth.log"); }; -destination syslog { file("/var/log/syslog"); }; -destination cron { file("/var/log/cron.log"); }; -destination daemon { file("/var/log/daemon.log"); }; -destination kern { file("/var/log/kern.log"); }; -destination lpr { file("/var/log/lpr.log"); }; -destination user { file("/var/log/user.log"); }; -destination uucp { file("/var/log/uucp.log"); }; -destination ppp { file("/var/log/ppp.log"); }; -destination mail { file("/var/log/mail.log"); }; - -destination mailinfo { file("/var/log/mail.info"); }; -destination mailwarn { file("/var/log/mail.warn"); }; -destination mailerr { file("/var/log/mail.err"); }; - -destination newscrit { file("/var/log/news/news.crit"); }; -destination newserr { file("/var/log/news/news.err"); }; -destination newsnotice { file("/var/log/news/news.notice"); }; - -destination debug { file("/var/log/debug"); }; -destination messages { file("/var/log/messages"); }; -destination console { usertty("root"); }; -destination console_all { file("/dev/tty12"); }; -#destination loghost { udp("loghost" port(999)); }; - - -destination xconsole { pipe("/dev/xconsole"); }; - -filter f_auth { facility(auth); }; -filter f_authpriv { facility(auth, authpriv); }; -filter f_syslog { not facility(authpriv, mail); }; -filter f_cron { facility(cron); }; -filter f_daemon { facility(daemon); }; -filter f_kern { facility(kern); }; -filter f_lpr { facility(lpr); }; -filter f_mail { facility(mail); }; -filter f_user { facility(user); }; -filter f_uucp { facility(cron); }; -filter f_ppp { facility(local2); }; -filter f_news { facility(news); }; -filter f_debug { not facility(auth, authpriv, news, mail); }; -filter f_messages { level(info..warn) - and not facility(auth, authpriv, mail, news); }; -filter f_emergency { level(emerg); }; - -filter f_info { level(info); }; -filter f_notice { level(notice); }; -filter f_warn { level(warn); }; -filter f_crit { level(crit); }; -filter f_err { level(err); }; - -log { source(src); filter(f_authpriv); destination(authlog); }; -log { source(src); filter(f_syslog); destination(syslog); }; -log { source(src); filter(f_cron); destination(cron); }; -log { source(src); filter(f_daemon); destination(daemon); }; -log { source(src); filter(f_kern); destination(kern); }; -log { source(src); filter(f_lpr); destination(lpr); }; -log { source(src); filter(f_mail); destination(mail); }; -log { source(src); filter(f_user); destination(user); }; -log { source(src); filter(f_uucp); destination(uucp); }; -log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); }; -log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); }; -log { source(src); filter(f_mail); filter(f_err); destination(mailerr); }; -log { source(src); filter(f_news); filter(f_crit); destination(newscrit); }; -log { source(src); filter(f_news); filter(f_err); destination(newserr); }; -log { source(src); filter(f_news); filter(f_notice); destination(newsnotice); }; -log { source(src); filter(f_debug); destination(debug); }; -log { source(src); filter(f_messages); destination(messages); }; -log { source(src); filter(f_emergency); destination(console); }; -log { source(src); filter(f_ppp); destination(ppp); }; -log { source(src); destination(console_all); }; - - diff --git a/meta-extras/packages/syslog-ng/syslog-ng_2.0.5.bb b/meta-extras/packages/syslog-ng/syslog-ng_2.0.5.bb deleted file mode 100644 index 0d13b922f2..0000000000 --- a/meta-extras/packages/syslog-ng/syslog-ng_2.0.5.bb +++ /dev/null @@ -1,34 +0,0 @@ -DESCRIPTION = "Alternative system logger daemon" -DEPENDS = "libol flex eventlog glib-2.0" -PR = "r1" - -SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/sources/stable/src/${P}.tar.gz \ - file://syslog-ng.conf \ - file://initscript" - -S = "${WORKDIR}/${PN}-${PV}" - -inherit autotools update-rc.d - -EXTRA_OECONF = "--with-libol=${STAGING_BINDIR_CROSS}/ --enable-dynamic-linking" - -do_install_append() { - install -d ${D}/${sysconfdir}/${PN} - install ${WORKDIR}/syslog-ng.conf ${D}${sysconfdir}/syslog-ng.conf - install -d ${D}/${sysconfdir}/init.d - install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/syslog-ng -} - -pkg_postinst() { - update-rc.d -f syslog remove -} - -pkg_postrm() { - update-rc.d syslog add 5 -} - -CONFFILES_${PN} = "${sysconfdir}/syslog-ng.conf" - -INITSCRIPT_NAME = "syslog-ng" -#INITSCRIPT_PARAMS = "defaults 05" -INITSCRIPT_PARAMS = "remove" diff --git a/meta-extras/packages/tasks/task-poky-extras.bb b/meta-extras/packages/tasks/task-poky-extras.bb deleted file mode 100644 index c983beda97..0000000000 --- a/meta-extras/packages/tasks/task-poky-extras.bb +++ /dev/null @@ -1,9 +0,0 @@ -PACKAGES = "task-poky-extraapps" -DESCRIPTION = "Extras Tasks for OpenedHand Poky" - -ALLOW_EMPTY = "1" - -RDEPENDS_task-poky-extraapps = "\ - madplay \ - maemo-mapper-nohildon \ - mc" diff --git a/meta-extras/packages/tasks/task-poky-x11-netbook.bb b/meta-extras/packages/tasks/task-poky-x11-netbook.bb deleted file mode 100644 index 9c5d9ce300..0000000000 --- a/meta-extras/packages/tasks/task-poky-x11-netbook.bb +++ /dev/null @@ -1,28 +0,0 @@ -# -# Copyright (C) 2008 Intel. -# - -DESCRIPTION = "Netbook Tasks for Poky" -PR = "r1" - -PACKAGES = "\ - task-poky-x11-netbook \ - task-poky-x11-netbook-dbg \ - task-poky-x11-netbook-dev \ - " - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -ALLOW_EMPTY = "1" - -NETWORK_MANAGER ?= "connman-gnome" -RDEPENDS_task-poky-x11-netbook = "\ - mutter \ - matchbox-desktop \ - matchbox-session-netbook \ - matchbox-config-gtk \ - xcursor-transparent-theme \ - sato-icon-theme \ - settings-daemon \ - gtk-sato-engine \ - ${NETWORK_MANAGER}" diff --git a/meta-extras/packages/twisted/twisted-2.5.0/remove-zope-check.patch b/meta-extras/packages/twisted/twisted-2.5.0/remove-zope-check.patch deleted file mode 100644 index 2bd1b191da..0000000000 --- a/meta-extras/packages/twisted/twisted-2.5.0/remove-zope-check.patch +++ /dev/null @@ -1,18 +0,0 @@ -Index: Twisted-2.5.0/TwistedCore-2.5.0/twisted/__init__.py -=================================================================== ---- Twisted-2.5.0.orig/TwistedCore-2.5.0/twisted/__init__.py 2007-03-05 16:30:08.117422472 +0100 -+++ Twisted-2.5.0/TwistedCore-2.5.0/twisted/__init__.py 2007-03-05 16:30:13.810553949 +0100 -@@ -14,13 +14,6 @@ - raise RuntimeError("Twisted requires Python 2.3 or later.") - del sys - --# Ensure zope.interface is installed --try: -- from zope.interface import Interface -- del Interface --except ImportError: -- raise ImportError("you need zope.interface installed " -- "(http://zope.org/Products/ZopeInterface/)") - - # Ensure compat gets imported - from twisted.python import compat diff --git a/meta-extras/packages/twisted/twisted_2.5.0.bb b/meta-extras/packages/twisted/twisted_2.5.0.bb deleted file mode 100644 index e00b351b2a..0000000000 --- a/meta-extras/packages/twisted/twisted_2.5.0.bb +++ /dev/null @@ -1,175 +0,0 @@ -DESCRIPTION = "Twisted is an event-driven networking framework written in Python and licensed under the LGPL. \ -Twisted supports TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols \ -(including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more." -HOMEPAGE = "http://www.twistedmatrix.com" -SECTION = "console/network" -PRIORITY = "optional" -LICENSE = "LGPL" -RDEPENDS = "python-core python-zopeinterface" -RDEPENDS_python-twisted += "python-twisted-bin python-twisted-conch python-twisted-core \ - python-twisted-lore python-twisted-mail python-twisted-names \ - python-twisted-news python-twisted-runner python-twisted-web \ - python-twisted-words" -PR = "r5" - -SRC_URI = "http://tmrc.mit.edu/mirror/twisted/Twisted/2.5/Twisted-${PV}.tar.bz2 \ - file://remove-zope-check.patch;patch=1" - -S = "${WORKDIR}/Twisted-${PV}" - -inherit distutils - -PACKAGES += "python-twisted-zsh python-twisted-test python-twisted-protocols \ - python-twisted-bin python-twisted-conch python-twisted-lore \ - python-twisted-mail python-twisted-names python-twisted-news python-twisted-runner \ - python-twisted-web python-twisted-words python-twisted python-twisted-core \ - " - -ALLOW_EMPTY = "1" -FILES_${PN} = "" -FILES_python-twisted = "" - -FILES_python-twisted-test = " \ -${libdir}/python2.4/site-packages/twisted/python/web/test \ -" - -FILES_python-twisted-protocols = " \ -${libdir}/python2.4/site-packages/twisted/python/protocols/ \ -" - -FILES_python-twisted-zsh = " \ -${libdir}/python2.4/site-packages/twisted/python/zsh \ -${libdir}/python2.4/site-packages/twisted/python/zshcomp.* \ -" - -FILES_python-twisted-bin = " \ -${libdir}/python2.4/site-packages/twisted/protocols/_c_urlarg.so \ -${libdir}/python2.4/site-packages/twisted/spread/cBanana.so" - -FILES_python-twisted-conch = " \ -${bindir}/ckeygen \ -${bindir}/tkconch \ -${bindir}/conch \ -${bindir}/conchftp \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_conch.py \ -${libdir}/python2.4/site-packages/twisted/conch \ -" - -FILES_python-twisted-core = " \ -${bindir}/manhole \ -${bindir}/mktap \ -${bindir}/twistd \ -${bindir}/tap2deb \ -${bindir}/tap2rpm \ -${bindir}/tapconvert \ -${bindir}/tkmktap \ -${bindir}/trial \ -${libdir}/python2.4/site-packages/twisted/*.py \ -${libdir}/python2.4/site-packages/twisted/plugins/__init__.py \ -${libdir}/python2.4/site-packages/twisted/plugins/notestplugin.py \ -${libdir}/python2.4/site-packages/twisted/plugins/testplugin.py \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_ftp.py \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_inet.py \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_manhole.py \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_portforward.py \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_socks.py \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_telnet.py \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_trial.py \ -${libdir}/python2.4/site-packages/twisted/plugins/dropin.cache \ -${libdir}/python2.4/site-packages/twisted/application \ -${libdir}/python2.4/site-packages/twisted/cred \ -${libdir}/python2.4/site-packages/twisted/enterprise \ -${libdir}/python2.4/site-packages/twisted/internet \ -${libdir}/python2.4/site-packages/twisted/manhole \ -${libdir}/python2.4/site-packages/twisted/manhole \ -${libdir}/python2.4/site-packages/twisted/persisted \ -${libdir}/python2.4/site-packages/twisted/protocols\ -${libdir}/python2.4/site-packages/twisted/python\ -${libdir}/python2.4/site-packages/twisted/python/timeoutqueue.py \ -${libdir}/python2.4/site-packages/twisted/python/filepath.py \ -${libdir}/python2.4/site-packages/twisted/python/dxprofile.py \ -${libdir}/python2.4/site-packages/twisted/python/plugin.py \ -${libdir}/python2.4/site-packages/twisted/python/htmlizer.py \ -${libdir}/python2.4/site-packages/twisted/python/__init__.py \ -${libdir}/python2.4/site-packages/twisted/python/dispatch.py \ -${libdir}/python2.4/site-packages/twisted/python/hook.py \ -${libdir}/python2.4/site-packages/twisted/python/threadpool.py \ -${libdir}/python2.4/site-packages/twisted/python/otp.py \ -${libdir}/python2.4/site-packages/twisted/python/usage.py \ -${libdir}/python2.4/site-packages/twisted/python/roots.py \ -${libdir}/python2.4/site-packages/twisted/python/versions.py \ -${libdir}/python2.4/site-packages/twisted/python/urlpath.py \ -${libdir}/python2.4/site-packages/twisted/python/util.py \ -${libdir}/python2.4/site-packages/twisted/python/components.py \ -${libdir}/python2.4/site-packages/twisted/python/logfile.py \ -${libdir}/python2.4/site-packages/twisted/python/runtime.py \ -${libdir}/python2.4/site-packages/twisted/python/reflect.py \ -${libdir}/python2.4/site-packages/twisted/python/context.py \ -${libdir}/python2.4/site-packages/twisted/python/threadable.py \ -${libdir}/python2.4/site-packages/twisted/python/rebuild.py \ -${libdir}/python2.4/site-packages/twisted/python/failure.py \ -${libdir}/python2.4/site-packages/twisted/python/lockfile.py \ -${libdir}/python2.4/site-packages/twisted/python/formmethod.py \ -${libdir}/python2.4/site-packages/twisted/python/finalize.py \ -${libdir}/python2.4/site-packages/twisted/python/win32.py \ -${libdir}/python2.4/site-packages/twisted/python/dist.py \ -${libdir}/python2.4/site-packages/twisted/python/shortcut.py \ -${libdir}/python2.4/site-packages/twisted/python/zipstream.py \ -${libdir}/python2.4/site-packages/twisted/python/release.py \ -${libdir}/python2.4/site-packages/twisted/python/syslog.py \ -${libdir}/python2.4/site-packages/twisted/python/log.py \ -${libdir}/python2.4/site-packages/twisted/python/compat.py \ -${libdir}/python2.4/site-packages/twisted/python/zshcomp.py \ -${libdir}/python2.4/site-packages/twisted/python/procutils.py \ -${libdir}/python2.4/site-packages/twisted/python/text.py \ -${libdir}/python2.4/site-packages/twisted/python/_twisted_zsh_stub \ -${libdir}/python2.4/site-packages/twisted/scripts/ \ -${libdir}/python2.4/site-packages/twisted/spread/ \ -${libdir}/python2.4/site-packages/twisted/tap/ \ -${libdir}/python2.4/site-packages/twisted/trial/ \ -${libdir}/python2.4/site-packages/twisted/__init__.py \ -${libdir}/python2.4/site-packages/twisted/_version.py \ -${libdir}/python2.4/site-packages/twisted/copyright.py \ -${libdir}/python2.4/site-packages/twisted/im.py \ -${libdir}/python2.4/site-packages/twisted/plugin.py \ -" - -FILES_python-twisted-lore = " \ -${bindir}/bookify \ -${bindir}/lore \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_lore.py \ -${libdir}/python2.4/site-packages/twisted/lore \ -" - -FILES_python-twisted-mail = " \ -${bindir}/mailmail \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_mail.py \ -${libdir}/python2.4/site-packages/twisted/mail \ -" - -FILES_python-twisted-names = " \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_names.py \ -${libdir}/python2.4/site-packages/twisted/names \ -" - -FILES_python-twisted-news = " \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_news.py \ -${libdir}/python2.4/site-packages/twisted/news \ -" - -FILES_python-twisted-runner = " \ -${libdir}python2.4/site-packages/twisted/runner/portmap.so \ -${libdir}/python2.4/site-packages/twisted/runner\ -" - -FILES_python-twisted-web = " \ -${bindir}/websetroot \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_web.py \ -${libdir}/python2.4/site-packages/twisted/web\ -" - -FILES_python-twisted-words = " \ -${bindir}/im \ -${libdir}/python2.4/site-packages/twisted/plugins/twisted_words.py \ -${libdir}/python2.4/site-packages/twisted/words\ -" diff --git a/meta-extras/packages/uicmoc/uicmoc4-native.inc b/meta-extras/packages/uicmoc/uicmoc4-native.inc deleted file mode 100644 index b6933628d9..0000000000 --- a/meta-extras/packages/uicmoc/uicmoc4-native.inc +++ /dev/null @@ -1,67 +0,0 @@ -DESCRIPTION = "User-Interface-, Meta-Object-, and Resource Compiler for Qt/[X11|Mac|Embedded] version 4.x" -DEPENDS = "zlib-native" -SECTION = "libs" -HOMEPAGE = "http://www.trolltech.com" -PRIORITY = "optional" -LICENSE = "GPL" -PR = "r1" - -SRC_URI = "ftp://ftp.trolltech.com/qt/source/qtopia-core-opensource-src-${PV}.tar.gz" -S = "${WORKDIR}/qtopia-core-opensource-src-${PV}" - -inherit native - -EXTRA_OECONF = "-prefix ${STAGING_DIR_NATIVE}/qt4 \ - -qt-libjpeg -qt-gif -system-zlib \ - -no-nis -no-cups -no-exceptions \ - -no-accessibility -no-libjpeg \ - -no-nas-sound -no-sm \ - -no-xshape -no-xinerama \ - -no-xcursor -no-xrandr \ - -no-xrender -no-fontconfig \ - -no-tablet -no-xkb \ - -no-libpng \ - -verbose -release -fast -static \ - -L ${STAGING_LIBDIR_NATIVE} \ - -qt3support " -# yank default -e -EXTRA_OEMAKE = " " - -do_configure() { - sed -i 's:^QT += xml qt3support$:QT += xml qt3support network:' "${S}"/src/tools/uic3/uic3.pro - echo yes | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}" -} - -TOBUILD = "\ - src/tools/moc \ - src/corelib \ - src/sql \ - src/qt3support \ - src/xml \ - src/tools/uic \ - src/tools/rcc \ - src/network \ - src/gui \ - src/tools/uic3 \ -" - -do_compile() { - unset CC CXX CFLAGS LFLAGS CXXFLAGS CPPFLAGS - for i in ${TOBUILD}; do - cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}" - done -} - -do_install() { - install -d ${D}${bindir}/ - install -m 0755 bin/moc ${D}${bindir}//moc4 - install -m 0755 bin/uic ${D}${bindir}/uic4 - install -m 0755 bin/uic3 ${D}${bindir}/uic34 - install -m 0755 bin/rcc $${D}${bindir}/rcc4 - install -d ${D}/qt4/ - install -m 0644 tools/porting/src/q3porting.xml ${D}/qt4/ -} - -sysroot_stage_all_append() { - sysroot_stage_dir ${D}/qt4 ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/qt4 -} diff --git a/meta-extras/packages/uicmoc/uicmoc4-native_4.3.2.bb b/meta-extras/packages/uicmoc/uicmoc4-native_4.3.2.bb deleted file mode 100644 index 1950f63068..0000000000 --- a/meta-extras/packages/uicmoc/uicmoc4-native_4.3.2.bb +++ /dev/null @@ -1 +0,0 @@ -require uicmoc4-native.inc diff --git a/meta-extras/packages/xorg-app/iceauth_1.0.2.bb b/meta-extras/packages/xorg-app/iceauth_1.0.2.bb deleted file mode 100644 index 3dec6f4660..0000000000 --- a/meta-extras/packages/xorg-app/iceauth_1.0.2.bb +++ /dev/null @@ -1,6 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DESCRIPTION = "a tool for manipulating ICE protocol authorization records" - -DEPENDS += " libice" diff --git a/meta-extras/packages/xorg-app/luit_1.0.2.bb b/meta-extras/packages/xorg-app/luit_1.0.2.bb deleted file mode 100644 index 00ae395c61..0000000000 --- a/meta-extras/packages/xorg-app/luit_1.0.2.bb +++ /dev/null @@ -1,8 +0,0 @@ -require xorg-app-common.inc -PE = "1" -PR = "r1" - -DESCRIPTION = "a filter for locale and ISO 2022 support on Unicode terminals" - -DEPENDS += " zlib virtual/libx11 libfontenc libxdmcp" - diff --git a/meta-extras/packages/xorg-app/oclock_1.0.1.bb b/meta-extras/packages/xorg-app/oclock_1.0.1.bb deleted file mode 100644 index b2abeadfb0..0000000000 --- a/meta-extras/packages/xorg-app/oclock_1.0.1.bb +++ /dev/null @@ -1,5 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11 libxmu libxext libxt" - diff --git a/meta-extras/packages/xorg-app/rgb_1.0.1.bb b/meta-extras/packages/xorg-app/rgb_1.0.1.bb deleted file mode 100644 index f3622410ee..0000000000 --- a/meta-extras/packages/xorg-app/rgb_1.0.1.bb +++ /dev/null @@ -1,6 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " xproto util-macros" - -FILES_${PN} += "${datadir}/X11" diff --git a/meta-extras/packages/xorg-app/sessreg_1.0.4.bb b/meta-extras/packages/xorg-app/sessreg_1.0.4.bb deleted file mode 100644 index 6dc94a3699..0000000000 --- a/meta-extras/packages/xorg-app/sessreg_1.0.4.bb +++ /dev/null @@ -1,6 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DESCRIPTION = "a simple program for managing utmp/wtmp entries" - -DEPENDS += " virtual/libx11" diff --git a/meta-extras/packages/xorg-app/twm_1.0.4.bb b/meta-extras/packages/xorg-app/twm_1.0.4.bb deleted file mode 100644 index b8e75b2bbd..0000000000 --- a/meta-extras/packages/xorg-app/twm_1.0.4.bb +++ /dev/null @@ -1,11 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DESCRIPTION = "tiny window manager" - -DEPENDS += " virtual/libx11 libxext libxt libxmu" - -ALTERNATIVE_PATH = "${bindir}/twm" -ALTERNATIVE_NAME = "x-window-manager" -ALTERNATIVE_LINK = "${bindir}/x-window-manager" -ALTERNATIVE_PRIORITY = "1" diff --git a/meta-extras/packages/xorg-app/xbiff_1.0.1.bb b/meta-extras/packages/xorg-app/xbiff_1.0.1.bb deleted file mode 100644 index 5ccac5cf17..0000000000 --- a/meta-extras/packages/xorg-app/xbiff_1.0.1.bb +++ /dev/null @@ -1,9 +0,0 @@ -require xorg-app-common.inc -PE = "1" -PR = "r1" - -DEPENDS += " libxaw xbitmaps libxext" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xclipboard_1.1.0.bb b/meta-extras/packages/xorg-app/xclipboard_1.1.0.bb deleted file mode 100644 index 852b803757..0000000000 --- a/meta-extras/packages/xorg-app/xclipboard_1.1.0.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " libxaw libxt" diff --git a/meta-extras/packages/xorg-app/xclock_1.0.4.bb b/meta-extras/packages/xorg-app/xclock_1.0.4.bb deleted file mode 100644 index bbd839a132..0000000000 --- a/meta-extras/packages/xorg-app/xclock_1.0.4.bb +++ /dev/null @@ -1,5 +0,0 @@ -require xorg-app-common.inc -DESCRIPTION = "analog / digital clock for X" -DEPENDS += " virtual/libx11 libxaw libxrender libxft libxkbfile libxt" -PE = "1" - diff --git a/meta-extras/packages/xorg-app/xcmsdb_1.0.1.bb b/meta-extras/packages/xorg-app/xcmsdb_1.0.1.bb deleted file mode 100644 index 056d04bf12..0000000000 --- a/meta-extras/packages/xorg-app/xcmsdb_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11 libxdmcp" diff --git a/meta-extras/packages/xorg-app/xconsole_1.0.3.bb b/meta-extras/packages/xorg-app/xconsole_1.0.3.bb deleted file mode 100644 index 0e28d9897e..0000000000 --- a/meta-extras/packages/xorg-app/xconsole_1.0.3.bb +++ /dev/null @@ -1,9 +0,0 @@ -require xorg-app-common.inc -DESCRIPTION = "monitor system console messages with X" -DEPENDS += " libxt" -PE = "1" -PR = "r1" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xcursorgen_1.0.2.bb b/meta-extras/packages/xorg-app/xcursorgen_1.0.2.bb deleted file mode 100644 index 98e619e99a..0000000000 --- a/meta-extras/packages/xorg-app/xcursorgen_1.0.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -DESCRIPTION = "create an X cursor file from a collection of PNG images" -DEPENDS += " virtual/libx11 libxcursor libpng" -PE = "1" diff --git a/meta-extras/packages/xorg-app/xdriinfo_1.0.2.bb b/meta-extras/packages/xorg-app/xdriinfo_1.0.2.bb deleted file mode 100644 index b995e91753..0000000000 --- a/meta-extras/packages/xorg-app/xdriinfo_1.0.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -DESCRIPTION = "query configuration information of DRI drivers" -DEPENDS += " virtual/libx11 glproto virtual/libgl" -PE = "1" diff --git a/meta-extras/packages/xorg-app/xfd_1.0.1.bb b/meta-extras/packages/xorg-app/xfd_1.0.1.bb deleted file mode 100644 index f2b0c12835..0000000000 --- a/meta-extras/packages/xorg-app/xfd_1.0.1.bb +++ /dev/null @@ -1,9 +0,0 @@ -require xorg-app-common.inc -PE = "1" -PR = "r1" - -DEPENDS += " libxaw freetype fontconfig libxft libxt" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xfontsel_1.0.2.bb b/meta-extras/packages/xorg-app/xfontsel_1.0.2.bb deleted file mode 100644 index 294b029b72..0000000000 --- a/meta-extras/packages/xorg-app/xfontsel_1.0.2.bb +++ /dev/null @@ -1,9 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "point and click selection of X11 font names" -DEPENDS += " libxaw" -PR = "r1" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xgamma_1.0.2.bb b/meta-extras/packages/xorg-app/xgamma_1.0.2.bb deleted file mode 100644 index e5d479aa81..0000000000 --- a/meta-extras/packages/xorg-app/xgamma_1.0.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "Alter a monitor's gamma correction through the X server" -DEPENDS += " virtual/libx11 libxxf86vm" -PE = "1" diff --git a/meta-extras/packages/xorg-app/xkbevd_1.0.2.bb b/meta-extras/packages/xorg-app/xkbevd_1.0.2.bb deleted file mode 100644 index 4223f93438..0000000000 --- a/meta-extras/packages/xorg-app/xkbevd_1.0.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " libxkbfile virtual/libx11" diff --git a/meta-extras/packages/xorg-app/xkbprint_1.0.2.bb b/meta-extras/packages/xorg-app/xkbprint_1.0.2.bb deleted file mode 100644 index 4223f93438..0000000000 --- a/meta-extras/packages/xorg-app/xkbprint_1.0.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " libxkbfile virtual/libx11" diff --git a/meta-extras/packages/xorg-app/xkbutils_1.0.2.bb b/meta-extras/packages/xorg-app/xkbutils_1.0.2.bb deleted file mode 100644 index 102a9ba2d8..0000000000 --- a/meta-extras/packages/xorg-app/xkbutils_1.0.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -require xorg-app-common.inc - -#DESCRIPTION = "" - -DEPENDS += " libxaw libxkbfile virtual/libx11" diff --git a/meta-extras/packages/xorg-app/xkill_1.0.1.bb b/meta-extras/packages/xorg-app/xkill_1.0.1.bb deleted file mode 100644 index b6ede179c1..0000000000 --- a/meta-extras/packages/xorg-app/xkill_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11 libxmu" diff --git a/meta-extras/packages/xorg-app/xload_1.0.2.bb b/meta-extras/packages/xorg-app/xload_1.0.2.bb deleted file mode 100644 index adc79bc7ed..0000000000 --- a/meta-extras/packages/xorg-app/xload_1.0.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "system load average display for X" -DEPENDS += " libxaw libxt" -PE = "1" -PR = "r1" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xlogo_1.0.1.bb b/meta-extras/packages/xorg-app/xlogo_1.0.1.bb deleted file mode 100644 index 393d99b333..0000000000 --- a/meta-extras/packages/xorg-app/xlogo_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " libxaw libxprintutil libxp libxrender libxft libxext libxt" diff --git a/meta-extras/packages/xorg-app/xlsatoms_1.0.1.bb b/meta-extras/packages/xorg-app/xlsatoms_1.0.1.bb deleted file mode 100644 index b6ede179c1..0000000000 --- a/meta-extras/packages/xorg-app/xlsatoms_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11 libxmu" diff --git a/meta-extras/packages/xorg-app/xlsclients_1.0.1.bb b/meta-extras/packages/xorg-app/xlsclients_1.0.1.bb deleted file mode 100644 index b6ede179c1..0000000000 --- a/meta-extras/packages/xorg-app/xlsclients_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11 libxmu" diff --git a/meta-extras/packages/xorg-app/xlsfonts_1.0.2.bb b/meta-extras/packages/xorg-app/xlsfonts_1.0.2.bb deleted file mode 100644 index 31cd482b61..0000000000 --- a/meta-extras/packages/xorg-app/xlsfonts_1.0.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "server font list displayer for X" -DEPENDS += " virtual/libx11" diff --git a/meta-extras/packages/xorg-app/xmag_1.0.2.bb b/meta-extras/packages/xorg-app/xmag_1.0.2.bb deleted file mode 100644 index 1f01603462..0000000000 --- a/meta-extras/packages/xorg-app/xmag_1.0.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "magnify parts of the screen" -DEPENDS += " libxaw libxt" -PE = "1" -PR = "r1" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xmessage_1.0.2.bb b/meta-extras/packages/xorg-app/xmessage_1.0.2.bb deleted file mode 100644 index 82b6a9a577..0000000000 --- a/meta-extras/packages/xorg-app/xmessage_1.0.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "xmessage displays a message or query in a window." -DEPENDS += " libxaw libxt" -PE = "1" -PR = "r1" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xorg-app-common.inc b/meta-extras/packages/xorg-app/xorg-app-common.inc deleted file mode 100644 index 11f7fe3e00..0000000000 --- a/meta-extras/packages/xorg-app/xorg-app-common.inc +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "X application" -HOMEPAGE = "http://www.x.org/" -SECTION = "x11/apps" -LICENSE = "MIT-X" -DEPENDS = "util-macros-native virtual/libx11" - -XORG_PN = "${PN}" - -SRC_URI = "${XORG_MIRROR}/individual/app/${XORG_PN}-${PV}.tar.bz2" - -S = "${WORKDIR}/${XORG_PN}-${PV}" - -inherit autotools pkgconfig - -FILES_${PN} += " /usr/lib/X11/${XORG_PN}" diff --git a/meta-extras/packages/xorg-app/xpr_1.0.2.bb b/meta-extras/packages/xorg-app/xpr_1.0.2.bb deleted file mode 100644 index 96b340c8c7..0000000000 --- a/meta-extras/packages/xorg-app/xpr_1.0.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "print an X window dump" -DEPENDS += " libxmu virtual/libx11" -PE = "1" diff --git a/meta-extras/packages/xorg-app/xrefresh_1.0.2.bb b/meta-extras/packages/xorg-app/xrefresh_1.0.2.bb deleted file mode 100644 index 8a569b0659..0000000000 --- a/meta-extras/packages/xorg-app/xrefresh_1.0.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11" diff --git a/meta-extras/packages/xorg-app/xsetroot_1.0.2.bb b/meta-extras/packages/xorg-app/xsetroot_1.0.2.bb deleted file mode 100644 index 0f63feb79f..0000000000 --- a/meta-extras/packages/xorg-app/xsetroot_1.0.2.bb +++ /dev/null @@ -1,6 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "Sets the visual appearance of the X root window" -LICENSE = "MIT" -DEPENDS += "libxmu xbitmaps" -PE = "1" diff --git a/meta-extras/packages/xorg-app/xstdcmap_1.0.1.bb b/meta-extras/packages/xorg-app/xstdcmap_1.0.1.bb deleted file mode 100644 index 6a2e501624..0000000000 --- a/meta-extras/packages/xorg-app/xstdcmap_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " libxmu virtual/libx11" diff --git a/meta-extras/packages/xorg-app/xterm_207.bb b/meta-extras/packages/xorg-app/xterm_207.bb deleted file mode 100644 index aae600b545..0000000000 --- a/meta-extras/packages/xorg-app/xterm_207.bb +++ /dev/null @@ -1,24 +0,0 @@ -DESCRIPTION = "xterm app" -SECTION = "x11/applications" -LICENSE = "MIT-X" - -DEPENDS = "libxaw xproto virtual/libx11 xextproto xext xau libxpm ncurses" - -SRC_URI = "${XORG_MIRROR}/development/X11R7.0-RC4/extras/${PN}-${PV}.tar.gz" - -inherit autotools pkgconfig - -FILES_${PN} += " /usr/lib/X11" - -#EXTRA_OERECONF = " -I${S}/xterm.m4" -EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR} FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config --disable-imake" - -#do_configure_prepend () { -# mv ${S}/aclocal.m4 ${S}/xterm.m4 -#} -do_configure() { - - sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure - - oe_runconf -} diff --git a/meta-extras/packages/xorg-app/xtrap_1.0.2.bb b/meta-extras/packages/xorg-app/xtrap_1.0.2.bb deleted file mode 100644 index cf87d235c7..0000000000 --- a/meta-extras/packages/xorg-app/xtrap_1.0.2.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11 libxtrap" diff --git a/meta-extras/packages/xorg-app/xvidtune_1.0.1.bb b/meta-extras/packages/xorg-app/xvidtune_1.0.1.bb deleted file mode 100644 index 8a20fff4e8..0000000000 --- a/meta-extras/packages/xorg-app/xvidtune_1.0.1.bb +++ /dev/null @@ -1,9 +0,0 @@ -require xorg-app-common.inc -PE = "1" -PR = "r1" - -DEPENDS += " libxaw libxxf86vm libxt" - -do_configure_prepend () { - sed -i -e 's/XAW_CHECK_XPRINT_SUPPORT(\(.*\))/PKG_CHECK_MODULES(\1, xaw7)/' ${S}/configure.ac -} diff --git a/meta-extras/packages/xorg-app/xvinfo_1.0.2.bb b/meta-extras/packages/xorg-app/xvinfo_1.0.2.bb deleted file mode 100644 index ac27f13f34..0000000000 --- a/meta-extras/packages/xorg-app/xvinfo_1.0.2.bb +++ /dev/null @@ -1,5 +0,0 @@ -require xorg-app-common.inc - -DESCRIPTION = "Print out X-Video extension adaptor information" -DEPENDS += " libxv" -PE = "1" diff --git a/meta-extras/packages/xorg-app/xwd_1.0.1.bb b/meta-extras/packages/xorg-app/xwd_1.0.1.bb deleted file mode 100644 index 6a2e501624..0000000000 --- a/meta-extras/packages/xorg-app/xwd_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " libxmu virtual/libx11" diff --git a/meta-extras/packages/xorg-app/xwud_1.0.1.bb b/meta-extras/packages/xorg-app/xwud_1.0.1.bb deleted file mode 100644 index 8a569b0659..0000000000 --- a/meta-extras/packages/xorg-app/xwud_1.0.1.bb +++ /dev/null @@ -1,4 +0,0 @@ -require xorg-app-common.inc -PE = "1" - -DEPENDS += " virtual/libx11" diff --git a/meta-extras/packages/xorg-data/xbitmaps_1.0.1.bb b/meta-extras/packages/xorg-data/xbitmaps_1.0.1.bb deleted file mode 100644 index f622d769d5..0000000000 --- a/meta-extras/packages/xorg-data/xbitmaps_1.0.1.bb +++ /dev/null @@ -1,5 +0,0 @@ -require xorg-data-common.inc - -DESCRIPTION = "Common X11 Bitmaps" -LICENSE = "MIT" -DEPENDS += "libxmu" diff --git a/meta-extras/packages/xorg-data/xorg-data-common.inc b/meta-extras/packages/xorg-data/xorg-data-common.inc deleted file mode 100644 index e128763398..0000000000 --- a/meta-extras/packages/xorg-data/xorg-data-common.inc +++ /dev/null @@ -1,10 +0,0 @@ -HOMEPAGE = "http://www.x.org" -SECTION = "x11/data" -LICENSE = "MIT-X" - -XORG_PN = "${PN}" - -SRC_URI = "${XORG_MIRROR}/individual/data/${XORG_PN}-${PV}.tar.bz2" -S = "${WORKDIR}/${XORG_PN}-${PV}" - -inherit autotools pkgconfig diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fbdev-not-fix.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fbdev-not-fix.patch deleted file mode 100644 index f87e7cc2cd..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fbdev-not-fix.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- xserver/hw/kdrive/fbdev/fbdev.c~ 2004-09-15 00:08:10.000000000 +0100 -+++ xserver/hw/kdrive/fbdev/fbdev.c 2004-11-13 17:47:02.000000000 +0000 -@@ -198,6 +198,11 @@ - return FALSE; - } - -+ /* Re-get the "fixed" parameters since they might have changed */ -+ k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix); -+ if (k < 0) -+ perror ("FBIOGET_FSCREENINFO"); -+ - /* Now get the new screeninfo */ - ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var); - depth = priv->var.bits_per_pixel; diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix-picturestr-include-order.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix-picturestr-include-order.patch deleted file mode 100644 index 3da235e1e1..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix-picturestr-include-order.patch +++ /dev/null @@ -1,15 +0,0 @@ -# Reverse include order in render/picturestr.h to be able to compile against renderproto >= 0.9.3 -Index: xorg-server-1.2.0/render/picturestr.h -=================================================================== ---- xorg-server-1.2.0.orig/render/picturestr.h 2008-02-09 22:54:46.000000000 +0100 -+++ xorg-server-1.2.0/render/picturestr.h 2008-02-09 22:54:50.000000000 +0100 -@@ -26,8 +26,8 @@ - #ifndef _PICTURESTR_H_ - #define _PICTURESTR_H_ - --#include "glyphstr.h" - #include "scrnintstr.h" -+#include "glyphstr.h" - #include "resource.h" - - typedef struct _DirectFormat { diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix_default_mode.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix_default_mode.patch deleted file mode 100644 index edc5146302..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/fix_default_mode.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- - hw/kdrive/src/kmode.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: xorg-server-1.3.0.0/hw/kdrive/src/kmode.c -=================================================================== ---- xorg-server-1.3.0.0.orig/hw/kdrive/src/kmode.c 2007-05-16 10:30:29.000000000 +0100 -+++ xorg-server-1.3.0.0/hw/kdrive/src/kmode.c 2007-05-16 10:31:08.000000000 +0100 -@@ -106,6 +106,8 @@ const KdMonitorTiming kdMonitorTimings[ - 16, 120, 176, KdSyncNegative, /* 37.861 */ - 1, 20, 24, KdSyncNegative, /* 72.809 */ - }, -+ /* DEFAULT */ -+#define MONITOR_TIMING_DEFAULT 13 - { 640, 480, 60, 25175, /* VESA */ - 16, 48, 160, KdSyncNegative, /* 31.469 */ - 10, 33, 45, KdSyncNegative, /* 59.940 */ -@@ -127,8 +129,6 @@ const KdMonitorTiming kdMonitorTimings[ - 16, 160, 256, KdSyncPositive, /* 46.875 */ - 1, 21, 25, KdSyncPositive, /* 75.000 */ - }, -- /* DEFAULT */ --#define MONITOR_TIMING_DEFAULT 9 - { 800, 600, 72, 50000, /* VESA */ - 56, 64, 240, KdSyncPositive, /* 48.077 */ - 37, 23, 66, KdSyncPositive, /* 72.188 */ diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/gumstix-kmode.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/gumstix-kmode.patch deleted file mode 100644 index 56817a7001..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/gumstix-kmode.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- /tmp/kmode.c 2007-10-07 11:49:52.000000000 +0200 -+++ xorg-server-1.3.0.0/hw/kdrive/src/kmode.c 2007-10-07 11:51:57.962045000 +0200 -@@ -119,7 +119,19 @@ - 0, 0, 0, KdSyncNegative, /* 59.940 */ - }, - -- -+ -+/* gumstix console-vx */ -+ { 480, 272, 60, 0, /* VESA */ -+ 0, 0, 0, KdSyncNegative, /* 31.469 */ -+ 0, 0, 0, KdSyncNegative, /* 59.940 */ -+ }, -+ -+ { 272, 480, 60, 0, /* VESA */ -+ 0, 0, 0, KdSyncNegative, /* 31.469 */ -+ 0, 0, 0, KdSyncNegative, /* 59.940 */ -+ }, -+ -+ - /* 800x600 modes */ - { 800, 600, 85, 56250, /* VESA */ - 32, 152, 248, KdSyncPositive, /* 53.674 */ diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kdrive-1.3-18bpp.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kdrive-1.3-18bpp.patch deleted file mode 100644 index 714536934c..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kdrive-1.3-18bpp.patch +++ /dev/null @@ -1,419 +0,0 @@ -diff -Nurd xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.c ---- xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.c 2006-11-16 19:01:23.000000000 +0100 -+++ xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.c 2007-09-15 16:53:20.152045000 +0200 -@@ -213,6 +213,24 @@ - - /* Now get the new screeninfo */ - ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var); -+ /* Special treatment of 18bpp */ -+ if ((priv->var.red.length == 6) && (priv->var.green.length == 6) && -+ (priv->var.blue.length == 6)) -+ { -+ priv->var.red.length = 8; -+ if (priv->var.red.offset != 0) -+ priv->var.red.offset = 16; -+ priv->var.green.length = 8; -+ priv->var.green.offset = 8; -+ priv->var.blue.length = 8; -+ if (priv->var.blue.offset != 0) -+ priv->var.blue.offset = 16; -+ priv->var.bits_per_pixel = 32; -+ priv->Have18Bpp = TRUE; -+ } -+ else -+ priv->Have18Bpp = FALSE; -+ - depth = priv->var.bits_per_pixel; - gray = priv->var.grayscale; - -@@ -334,7 +352,7 @@ - KdMouseMatrix m; - FbdevPriv *priv = screen->card->driver; - -- if (scrpriv->randr != RR_Rotate_0) -+ if (scrpriv->randr != RR_Rotate_0 || priv->Have18Bpp) - scrpriv->shadow = TRUE; - else - scrpriv->shadow = FALSE; -@@ -398,6 +416,354 @@ - return TRUE; - } - -+void -+shadowUpdatePacked18 (ScreenPtr pScreen, -+ shadowBufPtr pBuf) -+{ -+ RegionPtr damage = shadowDamage (pBuf); -+ PixmapPtr pShadow = pBuf->pPixmap; -+ int nbox = REGION_NUM_RECTS (damage); -+ BoxPtr pbox = REGION_RECTS (damage); -+ FbBits *shaBase, *shaLine, *sha; -+ FbStride shaStride; -+ int scrBase, scrLine, scr; -+ int shaBpp; -+ int shaXoff, shaYoff; /* XXX assumed to be zero */ -+ int x, y, w, h, width; -+ int i; -+ char *winBase = NULL, *win; -+ CARD32 winSize; -+ -+ fbGetDrawable (&pShadow->drawable, shaBase, shaStride, shaBpp, shaXoff, shaYoff); -+ while (nbox--) -+ { -+ x = pbox->x1 * shaBpp; -+ y = pbox->y1; -+ w = (pbox->x2 - pbox->x1) * shaBpp; -+ h = pbox->y2 - pbox->y1; -+ -+ scrLine = (x >> FB_SHIFT); -+ shaLine = shaBase + y * shaStride + (x >> FB_SHIFT); -+ -+ x &= FB_MASK; -+ w = (w + x + FB_MASK) >> FB_SHIFT; -+ -+ while (h--) -+ { -+ winSize = 0; -+ scrBase = 0; -+ width = w; -+ scr = scrLine; -+ sha = shaLine; -+ while (width) { -+ /* how much remains in this window */ -+ i = scrBase + winSize - scr; -+ if (i <= 0 || scr < scrBase) -+ { -+ winBase = (char *) (*pBuf->window) (pScreen, -+ y, -+ scr * 3, -+ SHADOW_WINDOW_WRITE, -+ &winSize, -+ pBuf->closure); -+ if(!winBase) -+ return; -+ scrBase = scr; -+ winSize /= 3; -+ i = winSize; -+ } -+ win = winBase + (scr - scrBase); -+ if (i > width) -+ i = width; -+ width -= i; -+ scr += i; -+#define PickBit(a,i) (((a) >> (i)) & 1) -+ while (i--) -+ { -+ FbBits bits = *sha++; -+ *win++ = ((bits & 0xFC) >> 2) | -+ ((bits & 0xC00) >> 4); -+ *win++ = ((bits & 0xF000) >> 12) | -+ ((bits & 0x3C0000) >> 14); -+ *win++ = (bits & 0xC00000) >> 22; -+ } -+ } -+ shaLine += shaStride; -+ y++; -+ } -+ pbox++; -+ } -+} -+ -+#define LEFT_TO_RIGHT 1 -+#define RIGHT_TO_LEFT -1 -+#define TOP_TO_BOTTOM 2 -+#define BOTTOM_TO_TOP -2 -+ -+void -+shadowUpdateRotatePacked18 (ScreenPtr pScreen, -+ shadowBufPtr pBuf) -+{ -+ RegionPtr damage = shadowDamage (pBuf); -+ PixmapPtr pShadow = pBuf->pPixmap; -+ int nbox = REGION_NUM_RECTS (damage); -+ BoxPtr pbox = REGION_RECTS (damage); -+ FbBits *shaBits; -+ FbStride shaStride; -+ int shaBpp; -+ int shaXoff, shaYoff; -+ int box_x1, box_x2, box_y1, box_y2; -+ int sha_x1 = 0, sha_y1 = 0; -+ int scr_x1 = 0, scr_x2 = 0, scr_y1 = 0, scr_y2 = 0, scr_w, scr_h; -+ int scr_x, scr_y; -+ int w; -+ int pixelsPerBits; -+ int pixelsMask; -+ FbStride shaStepOverY = 0, shaStepDownY = 0; -+ FbStride shaStepOverX = 0, shaStepDownX = 0; -+ FbBits *shaLine, *sha; -+ int shaHeight = pShadow->drawable.height; -+ int shaWidth = pShadow->drawable.width; -+ FbBits shaMask; -+ int shaFirstShift, shaShift; -+ int o_x_dir; -+ int o_y_dir; -+ int x_dir; -+ int y_dir; -+ -+ fbGetDrawable (&pShadow->drawable, shaBits, shaStride, shaBpp, shaXoff, shaYoff); -+ pixelsPerBits = (sizeof (FbBits) * 8) / shaBpp; -+ pixelsMask = ~(pixelsPerBits - 1); -+ shaMask = FbBitsMask (FB_UNIT-shaBpp, shaBpp); -+ /* -+ * Compute rotation related constants to walk the shadow -+ */ -+ o_x_dir = LEFT_TO_RIGHT; -+ o_y_dir = TOP_TO_BOTTOM; -+ if (pBuf->randr & SHADOW_REFLECT_X) -+ o_x_dir = -o_x_dir; -+ if (pBuf->randr & SHADOW_REFLECT_Y) -+ o_y_dir = -o_y_dir; -+ switch (pBuf->randr & (SHADOW_ROTATE_ALL)) { -+ case SHADOW_ROTATE_0: /* upper left shadow -> upper left screen */ -+ default: -+ x_dir = o_x_dir; -+ y_dir = o_y_dir; -+ break; -+ case SHADOW_ROTATE_90: /* upper right shadow -> upper left screen */ -+ x_dir = o_y_dir; -+ y_dir = -o_x_dir; -+ break; -+ case SHADOW_ROTATE_180: /* lower right shadow -> upper left screen */ -+ x_dir = -o_x_dir; -+ y_dir = -o_y_dir; -+ break; -+ case SHADOW_ROTATE_270: /* lower left shadow -> upper left screen */ -+ x_dir = -o_y_dir; -+ y_dir = o_x_dir; -+ break; -+ } -+ switch (x_dir) { -+ case LEFT_TO_RIGHT: -+ shaStepOverX = shaBpp; -+ shaStepOverY = 0; -+ break; -+ case TOP_TO_BOTTOM: -+ shaStepOverX = 0; -+ shaStepOverY = shaStride; -+ break; -+ case RIGHT_TO_LEFT: -+ shaStepOverX = -shaBpp; -+ shaStepOverY = 0; -+ break; -+ case BOTTOM_TO_TOP: -+ shaStepOverX = 0; -+ shaStepOverY = -shaStride; -+ break; -+ } -+ switch (y_dir) { -+ case TOP_TO_BOTTOM: -+ shaStepDownX = 0; -+ shaStepDownY = shaStride; -+ break; -+ case RIGHT_TO_LEFT: -+ shaStepDownX = -shaBpp; -+ shaStepDownY = 0; -+ break; -+ case BOTTOM_TO_TOP: -+ shaStepDownX = 0; -+ shaStepDownY = -shaStride; -+ break; -+ case LEFT_TO_RIGHT: -+ shaStepDownX = shaBpp; -+ shaStepDownY = 0; -+ break; -+ } -+ -+ while (nbox--) -+ { -+ box_x1 = pbox->x1; -+ box_y1 = pbox->y1; -+ box_x2 = pbox->x2; -+ box_y2 = pbox->y2; -+ pbox++; -+ -+ /* -+ * Compute screen and shadow locations for this box -+ */ -+ switch (x_dir) { -+ case LEFT_TO_RIGHT: -+ scr_x1 = box_x1 & pixelsMask; -+ scr_x2 = (box_x2 + pixelsPerBits - 1) & pixelsMask; -+ -+ sha_x1 = scr_x1; -+ break; -+ case TOP_TO_BOTTOM: -+ scr_x1 = box_y1 & pixelsMask; -+ scr_x2 = (box_y2 + pixelsPerBits - 1) & pixelsMask; -+ -+ sha_y1 = scr_x1; -+ break; -+ case RIGHT_TO_LEFT: -+ scr_x1 = (shaWidth - box_x2) & pixelsMask; -+ scr_x2 = (shaWidth - box_x1 + pixelsPerBits - 1) & pixelsMask; -+ -+ sha_x1 = (shaWidth - scr_x1 - 1); -+ break; -+ case BOTTOM_TO_TOP: -+ scr_x1 = (shaHeight - box_y2) & pixelsMask; -+ scr_x2 = (shaHeight - box_y1 + pixelsPerBits - 1) & pixelsMask; -+ -+ sha_y1 = (shaHeight - scr_x1 - 1); -+ break; -+ } -+ switch (y_dir) { -+ case TOP_TO_BOTTOM: -+ scr_y1 = box_y1; -+ scr_y2 = box_y2; -+ -+ sha_y1 = scr_y1; -+ break; -+ case RIGHT_TO_LEFT: -+ scr_y1 = (shaWidth - box_x2); -+ scr_y2 = (shaWidth - box_x1); -+ -+ sha_x1 = box_x2 - 1; -+ break; -+ case BOTTOM_TO_TOP: -+ scr_y1 = shaHeight - box_y2; -+ scr_y2 = shaHeight - box_y1; -+ -+ sha_y1 = box_y2 - 1; -+ break; -+ case LEFT_TO_RIGHT: -+ scr_y1 = box_x1; -+ scr_y2 = box_x2; -+ -+ sha_x1 = box_x1; -+ break; -+ } -+ scr_w = ((scr_x2 - scr_x1) * shaBpp) >> FB_SHIFT; -+ scr_h = scr_y2 - scr_y1; -+ scr_y = scr_y1; -+ -+ /* shift amount for first pixel on screen */ -+ shaFirstShift = FB_UNIT - ((sha_x1 * shaBpp) & FB_MASK) - shaBpp; -+ -+ /* pointer to shadow data first placed on screen */ -+ shaLine = (shaBits + -+ sha_y1 * shaStride + -+ ((sha_x1 * shaBpp) >> FB_SHIFT)); -+ -+ /* -+ * Copy the bits, always write across the physical frame buffer -+ * to take advantage of write combining. -+ */ -+ while (scr_h--) -+ { -+ int p; -+ FbBits bits; -+ char *win; -+ int i; -+ CARD32 winSize; -+ -+ sha = shaLine; -+ shaShift = shaFirstShift; -+ w = scr_w; -+ scr_x = scr_x1 * shaBpp >> FB_SHIFT; -+ -+ while (w) -+ { -+ /* -+ * Map some of this line -+ */ -+ win = (char *) (*pBuf->window) (pScreen, -+ scr_y, -+ scr_x * 3, -+ SHADOW_WINDOW_WRITE, -+ &winSize, -+ pBuf->closure); -+ i = winSize / 3; -+ if (i > w) -+ i = w; -+ w -= i; -+ scr_x += i; -+ /* -+ * Copy the portion of the line mapped -+ */ -+ while (i--) -+ { -+ bits = 0; -+ p = pixelsPerBits; -+ /* -+ * Build one word of output from multiple inputs -+ * -+ * Note that for 90/270 rotations, this will walk -+ * down the shadow hitting each scanline once. -+ * This is probably not very efficient. -+ */ -+ while (p--) -+ { -+ bits = FbScrLeft(bits, shaBpp); -+ bits |= FbScrRight (*sha, shaShift) & shaMask; -+ -+ shaShift -= shaStepOverX; -+ if (shaShift >= FB_UNIT) -+ { -+ shaShift -= FB_UNIT; -+ sha--; -+ } -+ else if (shaShift < 0) -+ { -+ shaShift += FB_UNIT; -+ sha++; -+ } -+ sha += shaStepOverY; -+ } -+ *win++ = ((bits & 0xFC) >> 2) | -+ ((bits & 0xC00) >> 4); -+ *win++ = ((bits & 0xF000) >> 12) | -+ ((bits & 0x3C0000) >> 14); -+ *win++ = (bits & 0xC00000) >> 22; -+ } -+ } -+ scr_y++; -+ shaFirstShift -= shaStepDownX; -+ if (shaFirstShift >= FB_UNIT) -+ { -+ shaFirstShift -= FB_UNIT; -+ shaLine--; -+ } -+ else if (shaFirstShift < 0) -+ { -+ shaFirstShift += FB_UNIT; -+ shaLine++; -+ } -+ shaLine += shaStepDownY; -+ } -+ } -+} -+ - Bool - fbdevSetShadow (ScreenPtr pScreen) - { -@@ -418,7 +784,14 @@ - - window = fbdevWindowLinear; - update = 0; -- if (scrpriv->randr) -+ if (priv->Have18Bpp) -+ { -+ if (scrpriv->randr != RR_Rotate_0) -+ update = shadowUpdateRotatePacked18; -+ else -+ update = shadowUpdatePacked18; -+ } -+ else if (scrpriv->randr) - if (priv->var.bits_per_pixel == 16) { - switch (scrpriv->randr) { - case RR_Rotate_90: -diff -Nurd xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.h xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.h ---- xorg-server-1.3.0.0/hw/kdrive/fbdev/fbdev.h 2006-09-18 08:04:17.000000000 +0200 -+++ xorg-server-1.3.0.0.patched/hw/kdrive/fbdev/fbdev.h 2007-09-15 16:45:07.362045000 +0200 -@@ -44,6 +44,7 @@ - int fd; - char *fb; - char *fb_base; -+ Bool Have18Bpp; - } FbdevPriv; - - typedef struct _fbdevScrPriv { diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode-palm.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode-palm.patch deleted file mode 100644 index 255e707b55..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode-palm.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- kmode.c 2006-05-03 19:48:42.000000000 +0200 -+++ xserver/hw/kdrive/src/kmode.c 2006-05-03 19:50:43.000000000 +0200 -@@ -32,6 +32,31 @@ - /* H V Hz KHz */ - /* FP BP BLANK POLARITY */ - -+ /* Treo 650 */ -+ -+ { 320, 320, 64, 16256, -+ 17, 12, 32, KdSyncNegative, -+ 1, 11, 14, KdSyncNegative, -+ }, -+ -+ { 320, 320, 64, 0, -+ 0, 0, 0, KdSyncNegative, -+ 0, 0, 0, KdSyncNegative, -+ }, -+ -+ /* LifeDrive/T3/TX modes */ -+ -+ { 320, 480, 64, 16256, -+ 17, 12, 32, KdSyncNegative, -+ 1, 11, 14, KdSyncNegative, -+ }, -+ -+ { 480, 320, 64, 0, -+ 0, 0, 0, KdSyncNegative, -+ 0, 0, 0, KdSyncNegative, -+ }, -+ -+ - /* IPAQ modeline: - * - * Modeline "320x240" 5.7222 320 337 340 352 240 241 244 254" diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode.patch deleted file mode 100644 index 5ad3e4e277..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/kmode.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- /tmp/kmode.c 2005-06-27 14:46:19.716843288 +0200 -+++ xserver/hw/kdrive/src/kmode.c 2005-06-27 14:46:30.070269328 +0200 -@@ -41,6 +41,11 @@ - 1, 11, 14, KdSyncNegative, - }, - -+ { 240, 320, 64, 0, -+ 0, 0, 0, KdSyncNegative, -+ 0, 0, 0, KdSyncNegative, -+ }, -+ - /* Other VESA modes */ - { 640, 350, 85, 31500, /* VESA */ - 32, 96, 192, KdSyncPositive, /* 26.413 */ -@@ -80,6 +85,13 @@ - 16, 48, 160, KdSyncNegative, /* 31.469 */ - 10, 33, 45, KdSyncNegative, /* 59.940 */ - }, -+ -+ -+ { 480, 640, 60, 0, /* VESA */ -+ 0, 0, 0, KdSyncNegative, /* 31.469 */ -+ 0, 0, 0, KdSyncNegative, /* 59.940 */ -+ }, -+ - - /* 800x600 modes */ - { 800, 600, 85, 56250, /* VESA */ diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-autofoo.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-autofoo.patch deleted file mode 100644 index b53e327dae..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-autofoo.patch +++ /dev/null @@ -1,54 +0,0 @@ -Index: git/hw/kdrive/Makefile.am -=================================================================== ---- git.orig/hw/kdrive/Makefile.am 2006-09-02 12:12:13.000000000 +0200 -+++ git/hw/kdrive/Makefile.am 2006-09-02 12:12:14.000000000 +0200 -@@ -7,6 +7,10 @@ - FBDEV_SUBDIRS = fbdev epson - endif - -+if KDRIVEW100 -+W100_SUBDIRS = w100 -+endif -+ - if XSDLSERVER - XSDL_SUBDIRS = sdl - endif -@@ -20,6 +24,7 @@ - linux \ - $(XSDL_SUBDIRS) \ - $(FBDEV_SUBDIRS) \ -+ $(W100_SUBDIRS) \ - $(VESA_SUBDIRS) \ - $(XEPHYR_SUBDIRS) \ - fake -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac 2006-09-02 12:12:14.000000000 +0200 -+++ git/configure.ac 2006-09-02 12:12:14.000000000 +0200 -@@ -442,6 +442,7 @@ - AC_ARG_ENABLE(kdrive, AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no]) - AC_ARG_ENABLE(xephyr, AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto]) - AC_ARG_ENABLE(xsdl, AS_HELP_STRING([--enable-xsdl], [Build the kdrive Xsdl server (default: auto)]), [XSDL=$enableval], [XSDL=auto]) -+AC_ARG_ENABLE(w100, AS_HELP_STRING([--enable-w100], [Build the kdrive Xw100 server (default: no)]), [KDRIVEW100=$enableval], [KDRIVEW100=no]) - dnl xprint - AC_ARG_ENABLE(freetype, AS_HELP_STRING([ --enable-freetype], [Build Xprint FreeType backend (default: yes)]), [XP_USE_FREETYPE=$enableval],[XP_USE_FREETYPE=no]) - AC_ARG_WITH(freetype-config, AS_HELP_STRING([ --with-freetype-config=PROG], [Use FreeType configuration program PROG (default: auto)]), freetype_config=$withval, freetype_config=auto) -@@ -1519,6 +1520,10 @@ - AC_SUBST([XSDL_LIBS]) - AC_SUBST([XSDL_INCS]) - -+AM_CONDITIONAL(KDRIVEW100, [test "x$KDRIVEW100" = xyes]) -+if test "x$KDRIVEW100" = xyes; then -+ AC_DEFINE(KDRIVEW100, 1, [Build Xw100 server]) -+fi - - dnl these only go in xkb-config.h (which is shared by the Xorg and Xnest servers) - AC_DEFINE(__XKBDEFRULES__, "xorg", [Default XKB rules]) -@@ -1753,6 +1758,7 @@ - hw/kdrive/epson/Makefile - hw/kdrive/fake/Makefile - hw/kdrive/fbdev/Makefile -+hw/kdrive/w100/Makefile - hw/kdrive/i810/Makefile - hw/kdrive/linux/Makefile - hw/kdrive/mach64/Makefile diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-fix-offscreen-bmp.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-fix-offscreen-bmp.patch deleted file mode 100644 index 39bc22c6b3..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-fix-offscreen-bmp.patch +++ /dev/null @@ -1,15 +0,0 @@ -Patch suggested by Manuel Teira to actually enable offscreen pixmap -acceleration in Xw100. Value 16 is empirical, works well on hx4700, -but in case of issues, consider double it (other accelerated drivers -use bigger values than 16). - ---- xorg-server-1.2.0/hw/kdrive/w100/ati_draw.c.org 2007-04-04 10:28:57.000000000 +0000 -+++ xorg-server-1.2.0/hw/kdrive/w100/ati_draw.c 2007-04-06 14:43:40.000000000 +0000 -@@ -433,6 +433,7 @@ - * or kaaPixmapUseScreen. But this is probably caused by some bug in this - * driver... */ - atis->kaa.flags |= KAA_OFFSCREEN_PIXMAPS; -+ atis->kaa.pitchAlign = 16; - if (!kaaDrawInit(pScreen, &atis->kaa)) - return FALSE; - diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-new-input-world-order.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-new-input-world-order.patch deleted file mode 100644 index 239ae0bb67..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100-new-input-world-order.patch +++ /dev/null @@ -1,28 +0,0 @@ -Index: xorg-server-1.4/hw/kdrive/w100/ati_stub.c -=================================================================== ---- xorg-server-1.4.orig/hw/kdrive/w100/ati_stub.c 2007-09-08 21:40:26.000000000 +0200 -+++ xorg-server-1.4/hw/kdrive/w100/ati_stub.c 2007-09-08 22:04:27.000000000 +0200 -@@ -74,10 +74,20 @@ - void - InitInput(int argc, char **argv) - { -- KdInitInput(&LinuxMouseFuncs, &LinuxKeyboardFuncs); --#ifdef TOUCHSCREEN -- KdAddMouseDriver(&TsFuncs); -+ KdKeyboardInfo *ki; -+ -+ KdAddKeyboardDriver (&LinuxKeyboardDriver); -+ KdAddPointerDriver (&LinuxMouseDriver); -+ KdAddKeyboardDriver (&LinuxEvdevKeyboardDriver); -+ KdAddPointerDriver (&LinuxEvdevMouseDriver); -+#ifdef TSLIB -+ KdAddPointerDriver (&TsDriver); - #endif -+ -+ ki = KdParseKeyboard ("keyboard"); -+ KdAddKeyboard(ki); -+ -+ KdInitInput (); - } - - void diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100.patch deleted file mode 100644 index 1bb6f357c6..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo/w100.patch +++ /dev/null @@ -1,6335 +0,0 @@ -Index: git/hw/kdrive/w100/ati.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati.c 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,434 @@ -+/* -+ * Copyright © 2006 Alberto Mardegan -+ * -+ * 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, and that the name of Alberto Mardegan not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Alberto Mardegan makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ALBERTO MARDEGAN 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. -+ */ -+ -+#ifdef HAVE_CONFIG_H -+#include -+#endif -+#include "ati.h" -+#include "w100_regs.h" -+ -+ -+struct pci_id_entry ati_pci_ids[] = { -+ {0x1002, 0x5644, 0, "ATI Imageon 3200"}, -+ {0x1002, 0x5741, 0, "ATI Imageon 100"}, -+ {0x1002, 0x5744, 0, "ATI Imageon 3220"}, -+ {0, 0, 0, NULL} -+}; -+ -+ -+static Bool -+ATICardInit(KdCardInfo * card) -+{ -+ ATICardInfo *atic; -+ int i; -+ Bool initialized = FALSE; -+ -+ atic = xcalloc(sizeof(ATICardInfo), 1); -+ if (atic == NULL) -+ return FALSE; -+ -+#ifdef KDRIVEFBDEV -+ if (!initialized && fbdevInitialize(card, &atic->backend_priv.fbdev)) { -+ atic->use_fbdev = TRUE; -+ initialized = TRUE; -+ atic->backend_funcs.cardfini = fbdevCardFini; -+ atic->backend_funcs.scrfini = fbdevScreenFini; -+ atic->backend_funcs.initScreen = fbdevInitScreen; -+ atic->backend_funcs.finishInitScreen = fbdevFinishInitScreen; -+ atic->backend_funcs.createRes = fbdevCreateResources; -+ atic->backend_funcs.preserve = fbdevPreserve; -+ atic->backend_funcs.restore = fbdevRestore; -+ atic->backend_funcs.dpms = fbdevDPMS; -+ atic->backend_funcs.enable = fbdevEnable; -+ atic->backend_funcs.disable = fbdevDisable; -+ atic->backend_funcs.getColors = fbdevGetColors; -+ atic->backend_funcs.putColors = fbdevPutColors; -+#ifdef RANDR -+ atic->backend_funcs.randrSetConfig = fbdevRandRSetConfig; -+#endif -+ } -+#endif -+#ifdef KDRIVEVESA -+ if (!initialized && vesaInitialize(card, &atic->backend_priv.vesa)) { -+ atic->use_vesa = TRUE; -+ initialized = TRUE; -+ atic->backend_funcs.cardfini = vesaCardFini; -+ atic->backend_funcs.scrfini = vesaScreenFini; -+ atic->backend_funcs.initScreen = vesaInitScreen; -+ atic->backend_funcs.finishInitScreen = vesaFinishInitScreen; -+ atic->backend_funcs.createRes = vesaCreateResources; -+ atic->backend_funcs.preserve = vesaPreserve; -+ atic->backend_funcs.restore = vesaRestore; -+ atic->backend_funcs.dpms = vesaDPMS; -+ atic->backend_funcs.enable = vesaEnable; -+ atic->backend_funcs.disable = vesaDisable; -+ atic->backend_funcs.getColors = vesaGetColors; -+ atic->backend_funcs.putColors = vesaPutColors; -+#ifdef RANDR -+ atic->backend_funcs.randrSetConfig = vesaRandRSetConfig; -+#endif -+ } -+#endif -+ -+ if (!initialized || !ATIMap(card, atic)) { -+ xfree(atic); -+ return FALSE; -+ } -+ -+ card->driver = atic; -+ -+ for (i = 0; ati_pci_ids[i].name != NULL; i++) { -+ if (ati_pci_ids[i].device == card->attr.deviceID) { -+ atic->pci_id = &ati_pci_ids[i]; -+ break; -+ } -+ } -+ -+ ErrorF("Using ATI card: %s\n", atic->pci_id->name); -+ -+ return TRUE; -+} -+ -+static void -+ATICardFini(KdCardInfo * card) -+{ -+ ATICardInfo *atic = (ATICardInfo *) card->driver; -+ -+ ATIUnmap(card, atic); -+ atic->backend_funcs.cardfini(card); -+} -+ -+/* -+ * Once screen->off_screen_base is set, this function -+ * allocates the remaining memory appropriately -+ */ -+ -+static void -+ATISetOffscreen(KdScreenInfo * screen) -+{ -+ ATICardInfo(screen); -+ int screen_size; -+ char *mmio = atic->reg_base; -+ -+ /* check (and adjust) pitch */ -+ if (mmio) { -+ int byteStride = screen->fb[0].byteStride; -+ int bitStride; -+ int pixelStride; -+ int bpp = screen->fb[0].bitsPerPixel; -+ -+ /* -+ * Ensure frame buffer is correctly aligned -+ */ -+ if (byteStride & 0x3f) { -+ byteStride = (byteStride + 0x3f) & ~0x3f; -+ bitStride = byteStride * 8; -+ pixelStride = bitStride / bpp; -+ -+ screen->fb[0].byteStride = byteStride; -+ screen->fb[0].pixelStride = pixelStride; -+ } -+ } -+ -+ screen_size = screen->fb[0].byteStride * screen->height; -+ -+ screen->off_screen_base = screen_size; -+ -+} -+ -+static Bool -+ATIScreenInit(KdScreenInfo * screen) -+{ -+ ATIScreenInfo *atis; -+ ATICardInfo(screen); -+ Bool success = FALSE; -+ -+ atis = xcalloc(sizeof(ATIScreenInfo), 1); -+ if (atis == NULL) -+ return FALSE; -+ -+ atis->atic = atic; -+ atis->screen = screen; -+ screen->driver = atis; -+ -+ if (screen->fb[0].depth == 0) -+ screen->fb[0].depth = 16; -+#ifdef KDRIVEFBDEV -+ if (atic->use_fbdev) { -+ success = fbdevScreenInitialize(screen, &atis->backend_priv.fbdev); -+ } -+#endif -+#ifdef KDRIVEVESA -+ if (atic->use_vesa) { -+ success = vesaScreenInitialize(screen, &atis->backend_priv.vesa); -+ } -+#endif -+ -+ if (!success) { -+ screen->driver = NULL; -+ xfree(atis); -+ return FALSE; -+ } -+ -+ ErrorF -+ ("Offscreen memory at offset %08x, memory base %08x, size %08x\n", -+ screen->off_screen_base, screen->memory_base, -+ screen->memory_size); -+ ATISetOffscreen(screen); -+ -+ return TRUE; -+} -+ -+#ifdef RANDR -+static Bool -+ATIRandRSetConfig(ScreenPtr pScreen, -+ Rotation randr, int rate, RRScreenSizePtr pSize) -+{ -+ KdScreenPriv(pScreen); -+ KdScreenInfo *screen = pScreenPriv->screen; -+ ATICardInfo *atic = screen->card->driver; -+ Bool ret; -+ -+ ATIDrawDisable(pScreen); -+ ret = atic->backend_funcs.randrSetConfig(pScreen, randr, rate, pSize); -+ ATISetOffscreen(screen); -+ /* -+ * Set frame buffer mapping -+ */ -+ (*pScreen->ModifyPixmapHeader) (fbGetScreenPixmap(pScreen), -+ pScreen->width, -+ pScreen->height, -+ screen->fb[0].depth, -+ screen->fb[0].bitsPerPixel, -+ screen->fb[0].byteStride, -+ screen->fb[0].frameBuffer); -+ -+ ATIDrawEnable(pScreen); -+ return ret; -+} -+ -+static Bool -+ATIRandRInit(ScreenPtr pScreen) -+{ -+ rrScrPrivPtr pScrPriv; -+ -+ pScrPriv = rrGetScrPriv(pScreen); -+ pScrPriv->rrSetConfig = ATIRandRSetConfig; -+ return TRUE; -+} -+#endif -+ -+static void -+ATIScreenFini(KdScreenInfo * screen) -+{ -+ ATIScreenInfo *atis = (ATIScreenInfo *) screen->driver; -+ ATICardInfo *atic = screen->card->driver; -+ -+ atic->backend_funcs.scrfini(screen); -+ xfree(atis); -+ screen->driver = 0; -+} -+ -+Bool -+ATIMap(KdCardInfo * card, ATICardInfo * atic) -+{ -+ atic->mem_base = (CARD8 *) KdMapDevice(ATI_MEM_BASE(card), -+ ATI_MEM_SIZE(card)); -+ -+ if (atic->mem_base == NULL) -+ return FALSE; -+ atic->reg_base = atic->mem_base + 0x10000; /* XXX */ -+ -+ KdSetMappedMode(ATI_MEM_BASE(card), ATI_MEM_SIZE(card), -+ KD_MAPPED_MODE_REGISTERS); -+ -+ return TRUE; -+} -+ -+void -+ATIUnmap(KdCardInfo * card, ATICardInfo * atic) -+{ -+ if (atic->reg_base) { -+ KdResetMappedMode(ATI_REG_BASE(card), ATI_REG_SIZE(card), -+ KD_MAPPED_MODE_REGISTERS); -+ KdUnmapDevice((void *) atic->reg_base, ATI_REG_SIZE(card)); -+ atic->reg_base = 0; -+ } -+} -+ -+static Bool -+ATIInitScreen(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ return atic->backend_funcs.initScreen(pScreen); -+} -+ -+static Bool -+ATIFinishInitScreen(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ if (!atic->backend_funcs.finishInitScreen(pScreen)) -+ return FALSE; -+#ifdef RANDR -+ if (!ATIRandRInit(pScreen)) -+ return FALSE; -+#endif -+ return TRUE; -+} -+ -+static Bool -+ATICreateResources(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ return atic->backend_funcs.createRes(pScreen); -+} -+ -+static void -+ATIPreserve(KdCardInfo * card) -+{ -+ ATICardInfo *atic = card->driver; -+ -+ atic->backend_funcs.preserve(card); -+} -+ -+static void -+ATIRestore(KdCardInfo * card) -+{ -+ ATICardInfo *atic = card->driver; -+ -+ ATIUnmap(card, atic); -+ -+ atic->backend_funcs.restore(card); -+} -+ -+static Bool -+ATIDPMS(ScreenPtr pScreen, int mode) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ return atic->backend_funcs.dpms(pScreen, mode); -+} -+ -+static Bool -+ATIEnable(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ mc_ext_mem_location_u eml; -+ char *mmio; -+ -+ if (!atic->backend_funcs.enable(pScreen)) -+ return FALSE; -+ -+ if ((atic->reg_base == NULL) -+ && !ATIMap(pScreenPriv->screen->card, atic)) -+ return FALSE; -+ -+ mmio = atic->reg_base; -+ eml.val = MMIO_IN32(mmio, mmMC_EXT_MEM_LOCATION); -+ atic->ext_mem_location = eml.f.mc_ext_mem_start << 8; -+ ATISetOffscreen(pScreenPriv->screen); -+ -+ return TRUE; -+} -+ -+static void -+ATIDisable(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ ATIUnmap(pScreenPriv->card, atic); -+ -+ atic->backend_funcs.disable(pScreen); -+} -+ -+static void -+ATIGetColors(ScreenPtr pScreen, int fb, int n, xColorItem * pdefs) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ atic->backend_funcs.getColors(pScreen, fb, n, pdefs); -+} -+ -+static void -+ATIPutColors(ScreenPtr pScreen, int fb, int n, xColorItem * pdefs) -+{ -+ KdScreenPriv(pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ atic->backend_funcs.putColors(pScreen, fb, n, pdefs); -+} -+ -+/* Compute log base 2 of val. */ -+int -+ATILog2(int val) -+{ -+ int bits; -+ -+ for (bits = 0; val != 0; val >>= 1, ++bits); -+ return bits - 1; -+} -+ -+ -+ -+KdCardFuncs ATIFuncs = { -+ ATICardInit, /* cardinit */ -+ ATIScreenInit, /* scrinit */ -+ ATIInitScreen, /* initScreen */ -+ ATIFinishInitScreen, /* finishInitScreen */ -+ ATICreateResources, /* createRes */ -+ ATIPreserve, /* preserve */ -+ ATIEnable, /* enable */ -+ ATIDPMS, /* dpms */ -+ ATIDisable, /* disable */ -+ ATIRestore, /* restore */ -+ ATIScreenFini, /* scrfini */ -+ ATICardFini, /* cardfini */ -+ -+#define ATICursorInit 0 -+#define ATICursorEnable 0 -+#define ATICursorDisable 0 -+#define ATICursorFini 0 -+#define ATIRecolorCursor 0 -+ ATICursorInit, /* initCursor */ -+ ATICursorEnable, /* enableCursor */ -+ ATICursorDisable, /* disableCursor */ -+ ATICursorFini, /* finiCursor */ -+ ATIRecolorCursor, /* recolorCursor */ -+ -+ ATIDrawInit, /* initAccel */ -+ ATIDrawEnable, /* enableAccel */ -+ ATIDrawDisable, /* disableAccel */ -+ ATIDrawFini, /* finiAccel */ -+ -+ ATIGetColors, /* getColors */ -+ ATIPutColors, /* putColors */ -+}; -Index: git/hw/kdrive/w100/ati_cursor.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati_cursor.c 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,93 @@ -+/* -+ * Copyright © 2006 Alberto Mardegan -+ * -+ * 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, and that the name of Alberto Mardegan not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Alberto Mardegan makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ALBERTO MARDEGAN 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. -+ */ -+ -+#ifdef HAVE_CONFIG_H -+#include -+#endif -+#include "ati.h" -+#include "cursorstr.h" -+#include "ati_draw.h" -+ -+static void -+ATIMoveCursor(ScreenPtr pScreen, int x, int y) -+{ -+} -+ -+ -+static Bool -+ATIRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) -+{ -+ return FALSE; -+} -+ -+ -+static Bool -+ATIUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor) -+{ -+ return TRUE; -+} -+ -+ -+static void -+ATISetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y) -+{ -+} -+ -+ -+miPointerSpriteFuncRec ATIPointerSpriteFuncs = { -+ ATIRealizeCursor, -+ ATIUnrealizeCursor, -+ ATISetCursor, -+ ATIMoveCursor, -+}; -+ -+ -+void -+ATICursorEnable(ScreenPtr pScreen) -+{ -+} -+ -+ -+void -+ATICursorDisable(ScreenPtr pScreen) -+{ -+} -+ -+ -+Bool -+ATICursorInit(ScreenPtr pScreen) -+{ -+ return FALSE; -+} -+ -+ -+void -+ATIRecolorCursor(ScreenPtr pScreen, int ndef, xColorItem * pdef) -+{ -+ return; -+} -+ -+ -+void -+ATICursorFini(ScreenPtr pScreen) -+{ -+} -Index: git/hw/kdrive/w100/ati_dma.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati_dma.c 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,333 @@ -+/* -+ * Copyright © 2006 Alberto Mardegan -+ * -+ * 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, and that the name of Alberto Mardegan not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Alberto Mardegan makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ALBERTO MARDEGAN 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. -+ */ -+ -+#include -+ -+#include "ati.h" -+#include "w100_regs.h" -+#include "w100_const.h" -+#include "ati_dma.h" -+#include "ati_draw.h" -+ -+ -+#define DEBUG_FIFO 0 -+ -+extern CARD32 w100_microcode[][2]; -+ -+#if DEBUG_FIFO -+static void -+ATIDebugFifo(ATIScreenInfo * atis) -+{ -+ ATICardInfo *atic = atis->atic; -+ char *mmio = atic->reg_base; -+ -+ ErrorF("mmCP_CSQ_CNTL: 0x%08x\n", MMIO_IN32(mmio, mmCP_CSQ_CNTL)); -+ ErrorF("mmCP_CSQ_STAT: 0x%08x\n", MMIO_IN32(mmio, mmCP_CSQ_STAT)); -+ ErrorF("mmRBBM_STATUS: 0x%08x\n", MMIO_IN32(mmio, mmRBBM_STATUS)); -+} -+#endif -+ -+static void -+ATIUploadMicrocode(ATIScreenInfo * atis) -+{ -+ ATICardInfo *atic = atis->atic; -+ char *mmio = atic->reg_base; -+ int i; -+ -+ MMIO_OUT32(mmio, mmCP_ME_RAM_ADDR, 0); -+ for (i = 0; i < 256; i++) { -+ MMIO_OUT32(mmio, mmCP_ME_RAM_DATAH, w100_microcode[i][1]); -+ MMIO_OUT32(mmio, mmCP_ME_RAM_DATAL, w100_microcode[i][0]); -+ } -+} -+ -+/* Required when reading from video memory after acceleration to make sure all -+ * data has been flushed to video memory from the pixel cache. -+ */ -+static void -+ATIFlushPixelCache(ATIScreenInfo * atis) -+{ -+ ATICardInfo *atic = atis->atic; -+ char *mmio = atic->reg_base; -+ rbbm_status_u rs; -+ TIMEOUT_LOCALS; -+ -+ WHILE_NOT_TIMEOUT(.2) { -+ rs.val = MMIO_IN32(mmio, mmRBBM_STATUS); -+ if (!rs.f.gui_active) -+ break; -+ } -+ if (TIMEDOUT()) -+ ErrorF("Timeout flushing pixel cache.\n"); -+} -+ -+static void -+ATIEngineReset(ATIScreenInfo * atis) -+{ -+ ATICardInfo *atic = atis->atic; -+ char *mmio = atic->reg_base; -+ CARD32 sclk_cntl; -+ sclk_cntl_u sc; -+ rbbm_soft_reset_u rsr; -+ -+#if DEBUG_FIFO -+ ErrorF("Engine Reset!\n"); -+ ATIDebugFifo(atis); -+#endif -+ -+ ATIFlushPixelCache(atis); -+ -+ sc.val = sclk_cntl = MMIO_IN32(mmio, mmSCLK_CNTL); -+ sc.f.sclk_force_e2 = sc.f.sclk_force_e3 = sc.f.sclk_force_idct = 1; -+ MMIO_OUT32(mmio, mmSCLK_CNTL, sc.val); -+ -+ rsr.val = 0; -+ rsr.f.soft_reset_e2 = 1; -+ MMIO_OUT32(mmio, mmRBBM_SOFT_RESET, rsr.val); -+ MMIO_OUT32(mmio, mmRBBM_SOFT_RESET, 0); -+ -+ MMIO_OUT32(mmio, mmSCLK_CNTL, sclk_cntl); -+} -+ -+inline void -+ATIWaitAvailMMIO(ATIScreenInfo * atis, int n) -+{ -+ ATICardInfo *atic = atis->atic; -+ char *mmio = atic->reg_base; -+ rbbm_status_u rs; -+ TIMEOUT_LOCALS; -+ -+ if (atis->mmio_avail >= n) { -+ atis->mmio_avail -= n; -+ return; -+ } -+ WHILE_NOT_TIMEOUT(.2) { -+ rs.val = MMIO_IN32(mmio, mmRBBM_STATUS); -+ atis->mmio_avail = rs.f.cmdfifo_avail; -+ if (atis->mmio_avail >= n) -+ break; -+ ErrorF("Available %d slots.\n", atis->mmio_avail); -+ } -+ if (TIMEDOUT()) { -+ ErrorF("Timeout waiting for %d MMIO slots.\n", n); -+ ATIEngineReset(atis); -+ ATIDrawSetup(atis->screen->pScreen); -+ } -+ atis->mmio_avail -= n; -+} -+ -+ -+void -+ATIWaitIdle(ATIScreenInfo * atis) -+{ -+ ATICardInfo *atic = atis->atic; -+ char *mmio = atic->reg_base; -+ rbbm_status_u rs; -+ TIMEOUT_LOCALS; -+ -+ /* Empty the fifo */ -+ ATIWaitAvailMMIO(atis, 16); -+ -+ WHILE_NOT_TIMEOUT(.2) { -+ rs.val = MMIO_IN32(mmio, mmRBBM_STATUS); -+ if (!rs.f.gui_active) -+ break; -+#if DEBUG_FIFO -+ ATIDebugFifo(atis); -+#endif -+ /* don't know if this is needed, but it's in aticore */ -+ MMIO_IN32(mmio, mmCP_RB_RPTR); -+ } -+ if (TIMEDOUT()) { -+ ErrorF("Timeout idling accelerator, resetting...\n"); -+ ATIEngineReset(atis); -+ ATIDrawSetup(atis->screen->pScreen); -+ } -+ -+ ATIFlushPixelCache(atis); -+ -+#if DEBUG_FIFO -+ ErrorF("Idle?\n"); -+ ATIDebugFifo(atis); -+#endif -+} -+ -+ -+static Bool -+ATIDMAInit(ScreenPtr pScreen, Bool use_agp) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ ATICardInfo(pScreenPriv); -+ char *mmio = atic->reg_base; -+ int dma_offset, rbsize = 10; -+ wrap_start_dir_u wsd; -+ wrap_buf_a_u wba; -+ cp_rb_cntl_u rc; -+ cp_csq_cntl_u cc; -+ CARD32 mem_offset; -+ -+ /* with rbsize = 10, DMA buffer will be of 0x2000 (8192) bytes */ -+ atis->ring_count = 1 << (rbsize + 1); -+ atis->ring_mask = atis->ring_count - 1; -+ atis->ring_len = atis->ring_count * 4; -+ atis->dma_space = KdOffscreenAlloc(pScreen, atis->ring_len, -+ 16, TRUE, NULL, NULL); -+ if (atis->dma_space == NULL) -+ return FALSE; -+ -+ wsd.val = MMIO_IN32(mmio, mmWRAP_START_DIR); -+ atis->ring_addr = -+ (CARD32 *) (atic->mem_base + (wsd.f.start_addr << 1)); -+ dma_offset = atis->dma_space->offset; -+ -+ ATIUploadMicrocode(atis); -+ ATIEngineReset(atis); -+ -+ atis->ring_read = 0; -+ atis->ring_write = 0; -+ atis->ring_free = atis->ring_count; -+ -+ mem_offset = atic->ext_mem_location + atis->dma_space->offset; -+ MMIO_OUT32(mmio, mmCP_RB_BASE, mem_offset); -+ MMIO_OUT32(mmio, mmCP_RB_WPTR, atis->ring_write); -+ MMIO_OUT32(mmio, mmCP_RB_RPTR, atis->ring_read); -+ MMIO_OUT32(mmio, mmCP_RB_RPTR_ADDR, 0); -+ -+ wba.val = 0; -+ wba.f.offset_addr_a = mem_offset; -+ switch (rbsize) { -+ case 9: -+ wba.f.block_size_a = WB_BLOCK_SIZE_A_0; -+ break; -+ case 10: -+ wba.f.block_size_a = WB_BLOCK_SIZE_A_1; -+ break; -+ case 11: -+ wba.f.block_size_a = WB_BLOCK_SIZE_A_2; -+ break; -+ case 12: -+ wba.f.block_size_a = WB_BLOCK_SIZE_A_3; -+ break; -+ case 13: -+ wba.f.block_size_a = WB_BLOCK_SIZE_A_4; -+ break; -+ } -+ MMIO_OUT32(mmio, mmWRAP_BUF_A, wba.val); -+ -+ rc.val = 0; -+ rc.f.rb_no_update = 1; -+ rc.f.rb_bufsz = rbsize; -+ MMIO_OUT32(mmio, mmCP_RB_CNTL, rc.val); -+ -+ cc.val = 0; -+ cc.f.csq_mode = CSQ_CNTL_MODE_FREERUN; -+ MMIO_OUT32(mmio, mmCP_CSQ_CNTL, cc.val); -+ -+ return TRUE; -+} -+ -+static Bool -+ATIDMAFini(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ ATICardInfo(pScreenPriv); -+ char *mmio = atic->reg_base; -+ -+ MMIO_OUT32(mmio, mmCP_CSQ_CNTL, 0); -+ -+ ATIEngineReset(atis); -+ -+ //KdOffscreenFree(pScreen, atis->dma_space); -+ -+ return TRUE; -+} -+ -+void -+ATIDMASetup(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ -+ atis->using_dma = FALSE; -+ atis->using_pio = FALSE; -+ if (ATIDMAInit(pScreen, FALSE)) -+ atis->using_dma = TRUE; -+ -+ if (atis->using_dma) -+ ErrorF("Initialized DMA\n"); -+} -+ -+void -+ATIDMATeardown(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ -+ ATIWaitIdle(atis); -+ -+ if (atis->using_dma) -+ ATIDMAFini(pScreen); -+ -+ atis->using_pio = FALSE; -+ atis->using_dma = FALSE; -+} -+ -+ -+CARD32 * -+ATIRequestEntries(ATIScreenInfo * atis, int n) -+{ -+ char *mmio = atis->atic->reg_base; -+ CARD32 *ptr; -+ TIMEOUT_LOCALS; -+ -+ WHILE_NOT_TIMEOUT(1) { -+ if (atis->ring_free > n) { -+ ptr = atis->ring_addr + atis->ring_write; -+ return ptr; -+ } -+ atis->ring_read = MMIO_IN32(mmio, mmCP_RB_RPTR); -+ atis->ring_write = MMIO_IN32(mmio, mmCP_RB_WPTR); -+ -+ if (atis->ring_read == atis->ring_write) { -+ atis->ring_free = atis->ring_count; -+ } else { -+ atis->ring_free = -+ (atis->ring_count + -+ atis->ring_read - atis->ring_write) & atis->ring_mask; -+ } -+ } -+ if (TIMEDOUT()) -+ ErrorF("Timeout waiting for %d entries.\n", n); -+ return NULL; -+} -+ -+void -+ATISubmitEntries(ATIScreenInfo * atis, int n) -+{ -+ char *mmio = atis->atic->reg_base; -+ atis->ring_free -= n; -+ atis->ring_write += n; -+ atis->ring_write &= atis->ring_mask; -+ MMIO_OUT32(mmio, mmCP_RB_WPTR, atis->ring_write); -+} -Index: git/hw/kdrive/w100/ati_dma.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati_dma.h 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,176 @@ -+/* -+ * Copyright © 2004 Eric Anholt -+ * -+ * 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, and that the name of Eric Anholt not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Eric Anholt makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ERIC ANHOLT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ERIC ANHOLT 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. -+ */ -+/* $Header: /cvs/xserver/xserver/hw/kdrive/ati/ati_dma.h,v 1.5 2005-01-27 05:25:57 anholt Exp $ */ -+ -+#ifndef _ATI_DMA_H_ -+#define _ATI_DMA_H_ -+ -+#define CCE_DEBUG 1 -+ -+/* CCE packet defines */ -+ -+#define ATI_CCE_PACKETTYPE_MASK 0xc0000000 -+#define ATI_CCE_PACKET0 0x00000000 -+#define ATI_CCE_PACKET0_COUNT_MASK 0x3fff0000 -+#define ATI_CCE_PACKET0_ONE_REG_WR 0x00008000 -+#define ATI_CCE_PACKET0_REG_MASK 0x000007ff -+#define ATI_CCE_PACKET1 0x40000000 -+#define ATI_CCE_PACKET1_REG_1 0x000007ff -+#define ATI_CCE_PACKET1_REG_2 0x003ff800 -+#define ATI_CCE_PACKET1_REG_2_SHIFT 10 -+#define ATI_CCE_PACKET2 0x80000000 -+#define ATI_CCE_PACKET3 0xc0000000 -+#define ATI_CCE_PACKET3_COUNT_MASK 0x3fff0000 -+#define ATI_CCE_PACKET3_IT_OPCODE_MASK 0x0000ff00 -+ -+ -+#if !CCE_DEBUG -+#define DMA_PACKET0(reg, count) \ -+ (ATI_CCE_PACKET0 | (((count) - 1) << 16) | ((reg) >> 2)) -+#else -+#define DMA_PACKET0(reg, count) \ -+ (__packet0count = (count), __reg = (reg), \ -+ ATI_CCE_PACKET0 | (((count) - 1) << 16) | ((reg) >> 2)) -+#endif -+#define DMA_PACKET1(reg1, reg2) \ -+ (ATI_CCE_PACKET1 | \ -+ (((reg2) >> 2) << ATI_CCE_PACKET1_REG_2_SHIFT) | ((reg1) >> 2)) -+#define DMA_PACKET3(type, count) \ -+ ((type) | (((count) - 1) << 16)) -+ -+ -+ -+#ifdef USE_DMA -+ -+#if !CCE_DEBUG -+ -+#define RING_LOCALS \ -+ CARD32 *__head; int __count -+#define BEGIN_DMA(n) \ -+do { \ -+ __head = ATIRequestEntries(atis, n); \ -+ __count = 0; \ -+} while (0) -+#define END_DMA() do { \ -+ ATISubmitEntries(atis, __count); \ -+} while (0) -+ -+#else /* CCE_DEBUG */ -+#define RING_LOCALS \ -+ CARD32 *__head; int __count, __total, __reg, __packet0count -+#define BEGIN_DMA(n) \ -+do { \ -+ __head = ATIRequestEntries(atis, n); \ -+ __count = 0; \ -+ __total = n; \ -+ __reg = 0; \ -+ __packet0count = 0; \ -+} while (0) -+#define END_DMA() do { \ -+ if (__count != __total) \ -+ FatalError("count != total (%d vs %d) at %s:%d\n", \ -+ __count, __total, __FILE__, __LINE__); \ -+ ATISubmitEntries(atis, __count); \ -+} while (0) -+ -+#endif /* CCE_DEBUG */ -+ -+#define BEGIN_DMA_REG(n) BEGIN_DMA(n * 2) -+#define END_DMA_REG() END_DMA() -+ -+#define OUT_REG(reg, val) \ -+do { \ -+ OUT_RING(DMA_PACKET0(reg, 1)); \ -+ OUT_RING(val); \ -+} while (0) -+ -+ -+#else /* USE_DMA */ -+ -+ -+#define RING_LOCALS char *__mmio = atis->atic->reg_base -+#define BEGIN_DMA_REG(n) \ -+do { \ -+ ATIWaitAvailMMIO(atis, n); \ -+} while (0) -+#define END_DMA_REG() do {} while (0) -+#define OUT_REG(reg, val) MMIO_OUT32(__mmio, reg, val) -+#endif /* USE_DMA */ -+ -+ -+#define OUT_RING(val) do { \ -+ __head[__count++] = (val); \ -+} while (0) -+ -+#define OUT_RING_REG(reg, val) do { \ -+ if (__reg != reg) \ -+ FatalError("unexpected reg (0x%x vs 0x%x) at %s:%d\n", \ -+ reg, __reg, __FILE__, __LINE__); \ -+ if (__packet0count-- <= 0) \ -+ FatalError("overrun of packet0 at %s:%d\n", \ -+ __FILE__, __LINE__); \ -+ __head[__count++] = (val); \ -+ __reg += 4; \ -+} while (0) -+ -+#define OUT_RING_F(x) OUT_RING(GET_FLOAT_BITS(x)) -+ -+#define TIMEOUT_LOCALS struct timeval _target, _curtime -+ -+static inline Bool -+tv_le(struct timeval *tv1, struct timeval *tv2) -+{ -+ if (tv1->tv_sec < tv2->tv_sec || -+ (tv1->tv_sec == tv2->tv_sec && tv1->tv_usec < tv2->tv_usec)) -+ return TRUE; -+ else -+ return FALSE; -+} -+ -+#define WHILE_NOT_TIMEOUT(_timeout) \ -+ gettimeofday(&_target, NULL); \ -+ _target.tv_usec += ((_timeout) * 1000000); \ -+ _target.tv_sec += _target.tv_usec / 1000000; \ -+ _target.tv_usec = _target.tv_usec % 1000000; \ -+ while (gettimeofday(&_curtime, NULL), tv_le(&_curtime, &_target)) -+ -+#define TIMEDOUT() (!tv_le(&_curtime, &_target)) -+ -+ -+void -+ATIFlushIndirect(ATIScreenInfo *atis, Bool discard); -+ -+void -+ATIDMASetup(ScreenPtr pScreen); -+ -+void -+ATIDMATeardown(ScreenPtr pScreen); -+ -+CARD32 * -+ATIRequestEntries(ATIScreenInfo *atis, int n); -+ -+void -+ATISubmitEntries(ATIScreenInfo *atis, int n); -+ -+inline void -+ATIWaitAvailMMIO(ATIScreenInfo *atis, int n); -+#endif /* _ATI_DMA_H_ */ -Index: git/hw/kdrive/w100/ati_draw.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati_draw.c 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,477 @@ -+/* -+ * Copyright © 2006 Alberto Mardegan -+ * -+ * 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, and that the name of Alberto Mardegan not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Alberto Mardegan makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ALBERTO MARDEGAN 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. -+ */ -+ -+#define USE_DMA -+#define DRAW_USING_PACKET3 -+ -+#ifdef HAVE_CONFIG_H -+#include -+#endif -+#include "ati.h" -+#include "w100_regs.h" -+#include "w100_const.h" -+#include "ati_dma.h" -+#include "ati_draw.h" -+#include "kaa.h" -+ -+ -+CARD8 ATISolidRop[16] = { -+ /* GXclear */ 0x00, -+ /* 0 */ -+ /* GXand */ 0xa0, -+ /* src AND dst */ -+ /* GXandReverse */ 0x50, -+ /* src AND NOT dst */ -+ /* GXcopy */ 0xf0, -+ /* src */ -+ /* GXandInverted */ 0x0a, -+ /* NOT src AND dst */ -+ /* GXnoop */ 0xaa, -+ /* dst */ -+ /* GXxor */ 0x5a, -+ /* src XOR dst */ -+ /* GXor */ 0xfa, -+ /* src OR dst */ -+ /* GXnor */ 0x05, -+ /* NOT src AND NOT dst */ -+ /* GXequiv */ 0xa5, -+ /* NOT src XOR dst */ -+ /* GXinvert */ 0x55, -+ /* NOT dst */ -+ /* GXorReverse */ 0xf5, -+ /* src OR NOT dst */ -+ /* GXcopyInverted */ 0x0f, -+ /* NOT src */ -+ /* GXorInverted */ 0xaf, -+ /* NOT src OR dst */ -+ /* GXnand */ 0x5f, -+ /* NOT src OR NOT dst */ -+ /* GXset */ 0xff, -+ /* 1 */ -+}; -+ -+CARD8 ATIBltRop[16] = { -+ /* GXclear */ 0x00, -+ /* 0 */ -+ /* GXand */ 0x88, -+ /* src AND dst */ -+ /* GXandReverse */ 0x44, -+ /* src AND NOT dst */ -+ /* GXcopy */ 0xcc, -+ /* src */ -+ /* GXandInverted */ 0x22, -+ /* NOT src AND dst */ -+ /* GXnoop */ 0xaa, -+ /* dst */ -+ /* GXxor */ 0x66, -+ /* src XOR dst */ -+ /* GXor */ 0xee, -+ /* src OR dst */ -+ /* GXnor */ 0x11, -+ /* NOT src AND NOT dst */ -+ /* GXequiv */ 0x99, -+ /* NOT src XOR dst */ -+ /* GXinvert */ 0x55, -+ /* NOT dst */ -+ /* GXorReverse */ 0xdd, -+ /* src OR NOT dst */ -+ /* GXcopyInverted */ 0x33, -+ /* NOT src */ -+ /* GXorInverted */ 0xbb, -+ /* NOT src OR dst */ -+ /* GXnand */ 0x77, -+ /* NOT src OR NOT dst */ -+ /* GXset */ 0xff, -+ /* 1 */ -+}; -+ -+static int copydx, copydy; -+static ATIScreenInfo *accel_atis; -+static char *accel_mmio; -+ -+ -+void -+ATIDrawSetup(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ default_sc_bottom_right_u dsbr; -+ RING_LOCALS; -+ -+ dsbr.val = 0; -+ dsbr.f.default_sc_right = dsbr.f.default_sc_bottom = W100_MAXINT; -+ -+ BEGIN_DMA_REG(2); -+ OUT_REG(mmDEFAULT_SC_BOTTOM_RIGHT, dsbr.val); -+ OUT_REG(mmSRC_SC_BOTTOM_RIGHT, dsbr.val); -+ END_DMA_REG(); -+} -+ -+static void -+ATIWaitMarker(ScreenPtr pScreen, int marker) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ -+ ENTER_DRAW(0); -+ ATIWaitIdle(atis); -+ LEAVE_DRAW(0); -+} -+ -+ -+#if ATI_TRACE_DRAW -+void -+ATIEnterDraw(PixmapPtr pPix, const char *function) -+{ -+ if (pPix != NULL) { -+ KdScreenPriv(pPix->drawable.pScreen); -+ CARD32 offset; -+ -+ offset = ((CARD8 *) pPix->devPrivate.ptr - -+ pScreenPriv->screen->memory_base); -+ -+ ErrorF("Enter %s 0x%x (%dx%dx%d/%d)\n", function, offset, -+ pPix->drawable.width, pPix->drawable.height, -+ pPix->drawable.depth, pPix->drawable.bitsPerPixel); -+ } else -+ ErrorF("Enter %s\n", function); -+} -+ -+void -+ATILeaveDraw(PixmapPtr pPix, const char *function) -+{ -+ if (pPix != NULL) { -+ KdScreenPriv(pPix->drawable.pScreen); -+ CARD32 offset; -+ -+ offset = ((CARD8 *) pPix->devPrivate.ptr - -+ pScreenPriv->screen->memory_base); -+ -+ ErrorF("Leave %s 0x%x\n", function, offset); -+ } else -+ ErrorF("Leave %s\n", function); -+} -+#endif -+ -+/* Assumes that depth 15 and 16 can be used as depth 16, which is okay since we -+ * require src and dest datatypes to be equal. -+ */ -+static Bool -+ATIGetDatatypeBpp(int bpp, CARD32 * type) -+{ -+ switch (bpp) { -+ case 8: -+ *type = DATATYPE_8BPP; -+ return TRUE; -+ case 16: -+ *type = DATATYPE_ARGB1555; -+ return TRUE; -+ default: -+ ATI_FALLBACK(("Unsupported bpp: %d\n", bpp)); -+ return FALSE; -+ } -+} -+ -+ -+Bool -+ATIGetPixmapOffsetPitch(PixmapPtr pPix, CARD32 * pitch, CARD32 * offset) -+{ -+ KdScreenPriv(pPix->drawable.pScreen); -+ ATICardInfo(pScreenPriv); -+ -+ /* XXX this only works for surfaces allocated in external memory */ -+ *offset = ((CARD8 *) pPix->devPrivate.ptr - -+ pScreenPriv->screen->memory_base) + atic->ext_mem_location; -+ *pitch = pPix->devKind >> 1; -+ -+ return TRUE; -+} -+ -+ -+static Bool -+ATIPrepareSolid(PixmapPtr pPix, int alu, Pixel pm, Pixel fg) -+{ -+ KdScreenPriv(pPix->drawable.pScreen); -+ ATIScreenInfo(pScreenPriv); -+ ATICardInfo(pScreenPriv); -+ CARD32 datatype, dst_pitch, dst_offset; -+ dp_gui_master_cntl_u gmc; -+ dp_cntl_u dp_cntl; -+ RING_LOCALS; -+ -+ accel_atis = atis; -+ accel_mmio = atic->reg_base; -+ -+ if (!ATIGetDatatypeBpp(pPix->drawable.bitsPerPixel, &datatype)) -+ return FALSE; -+ if (!ATIGetPixmapOffsetPitch(pPix, &dst_pitch, &dst_offset)) -+ return FALSE; -+ -+ ENTER_DRAW(pPix); -+ -+ gmc.val = 0; -+ gmc.f.gmc_dst_pitch_offset_cntl = 1; -+ gmc.f.gmc_dst_clipping = 1; -+ gmc.f.gmc_brush_datatype = BRUSH_SOLIDCOLOR; -+ gmc.f.gmc_dst_datatype = datatype; -+ gmc.f.gmc_src_datatype = datatype; -+ gmc.f.gmc_byte_pix_order = 1; -+ gmc.f.gmc_rop3 = ATISolidRop[alu]; -+ gmc.f.gmc_dp_src_source = SOURCE_MEM_RECTANGULAR; -+ gmc.f.gmc_clr_cmp_fcn_dis = 1; -+ gmc.f.gmc_dp_op = OP_ROP; -+ -+ dp_cntl.val = 0; -+ dp_cntl.f.dst_x_dir = 1; -+ dp_cntl.f.dst_y_dir = 1; -+ -+ BEGIN_DMA_REG(6); -+ OUT_REG(mmDST_PITCH, dst_pitch); -+ OUT_REG(mmDST_OFFSET, dst_offset); -+ OUT_REG(mmDP_GUI_MASTER_CNTL, gmc.val); -+ OUT_REG(mmDP_BRUSH_FRGD_CLR, fg); -+ OUT_REG(mmDP_WRITE_MSK, pm); -+ OUT_REG(mmDP_CNTL, dp_cntl.val); -+ END_DMA_REG(); -+ -+ LEAVE_DRAW(pPix); -+ return TRUE; -+} -+ -+static void -+ATISolid(int x1, int y1, int x2, int y2) -+{ -+ ENTER_DRAW(0); -+ ATIScreenInfo *atis = accel_atis; -+ RING_LOCALS; -+ -+#ifdef DRAW_USING_PACKET3 -+ BEGIN_DMA(3); -+ OUT_RING(DMA_PACKET3(W100_CCE_PACKET3_PAINT_MULTI, 2)); -+ OUT_RING((x1 << 16) | y1); -+ OUT_RING(((x2 - x1) << 16) | (y2 - y1)); -+ END_DMA(); -+#elif defined DRAW_USING_PACKET0 -+ BEGIN_DMA(3); -+ OUT_RING(DMA_PACKET0(mmDST_Y_X, 2)); -+ OUT_RING_REG(mmDST_Y_X, (y1 << 16) | x1); -+ OUT_RING_REG(mmDST_HEIGHT_WIDTH, ((y2 - y1) << 16) | (x2 - x1)); -+ END_DMA(); -+#else -+ BEGIN_DMA_REG(2); -+ OUT_REG(mmDST_Y_X, (y1 << 16) | x1); -+ OUT_REG(mmDST_HEIGHT_WIDTH, ((y2 - y1) << 16) | (x2 - x1)); -+ END_DMA_REG(); -+#endif -+ LEAVE_DRAW(0); -+} -+ -+ -+static void -+ATIDoneSolid(void) -+{ -+ ENTER_DRAW(0); -+ LEAVE_DRAW(0); -+} -+ -+ -+static Bool -+ATIPrepareCopy(PixmapPtr pSrc, PixmapPtr pDst, int dx, int dy, int alu, -+ Pixel pm) -+{ -+ KdScreenPriv(pDst->drawable.pScreen); -+ ATIScreenInfo(pScreenPriv); -+ ATICardInfo(pScreenPriv); -+ CARD32 datatype, src_pitch, src_offset, dst_pitch, dst_offset; -+ dp_gui_master_cntl_u gmc; -+ dp_cntl_u dp_cntl; -+ dp_datatype_u dpdt; -+ RING_LOCALS; -+ -+ accel_mmio = atic->reg_base; -+ copydx = dx; -+ copydy = dy; -+ accel_atis = atis; -+ -+ if (!ATIGetDatatypeBpp(pDst->drawable.bitsPerPixel, &datatype)) -+ return FALSE; -+ if (!ATIGetPixmapOffsetPitch(pSrc, &src_pitch, &src_offset)) -+ return FALSE; -+ if (!ATIGetPixmapOffsetPitch(pDst, &dst_pitch, &dst_offset)) -+ return FALSE; -+ -+ ENTER_DRAW(pDst); -+ -+ gmc.val = 0; -+ gmc.f.gmc_src_pitch_offset_cntl = 1; -+ gmc.f.gmc_dst_pitch_offset_cntl = 1; -+ gmc.f.gmc_src_clipping = 1; -+ gmc.f.gmc_dst_clipping = 1; -+ gmc.f.gmc_brush_datatype = BRUSH_NONE; -+ gmc.f.gmc_dst_datatype = datatype; -+ gmc.f.gmc_src_datatype = datatype; -+ gmc.f.gmc_byte_pix_order = 1; -+ gmc.f.gmc_rop3 = ATIBltRop[alu]; -+ gmc.f.gmc_dp_src_source = SOURCE_MEM_RECTANGULAR; -+ gmc.f.gmc_clr_cmp_fcn_dis = 1; -+ gmc.f.gmc_dp_op = OP_ROP; -+ -+ dp_cntl.val = 0; -+ if (dx >= 0) -+ dp_cntl.f.dst_x_dir = 1; -+ if (dy >= 0) -+ dp_cntl.f.dst_y_dir = 1; -+ -+ dpdt.val = 0; -+ dpdt.f.dp_dst_datatype = datatype; -+ dpdt.f.dp_src_datatype = datatype; -+ dpdt.f.dp_byte_pix_order = 1; -+ -+ BEGIN_DMA_REG(8); -+ OUT_REG(mmSRC_PITCH, src_pitch); -+ OUT_REG(mmSRC_OFFSET, src_offset); -+ OUT_REG(mmDST_PITCH, dst_pitch); -+ OUT_REG(mmDST_OFFSET, dst_offset); -+ OUT_REG(mmDP_GUI_MASTER_CNTL, gmc.val); -+ OUT_REG(mmDP_WRITE_MSK, pm); -+ OUT_REG(mmDP_CNTL, dp_cntl.val); -+ OUT_REG(mmDP_DATATYPE, dpdt.val); -+ END_DMA_REG(); -+ -+ LEAVE_DRAW(pDst); -+ return TRUE; -+} -+ -+static void -+ATICopy(int srcX, int srcY, int dstX, int dstY, int w, int h) -+{ -+ ATIScreenInfo *atis = accel_atis; -+ RING_LOCALS; -+ -+ ENTER_DRAW(0); -+#ifndef DRAW_USING_PACKET3 -+ if (copydx < 0) { -+ srcX += w - 1; -+ dstX += w - 1; -+ } -+ if (copydy < 0) { -+ srcY += h - 1; -+ dstY += h - 1; -+ } -+#endif -+ -+#ifdef DRAW_USING_PACKET3 -+ BEGIN_DMA(4); -+ OUT_RING(DMA_PACKET3(W100_CCE_PACKET3_BITBLT_MULTI, 3)); -+ OUT_RING((srcX << 16) | srcY); -+ OUT_RING((dstX << 16) | dstY); -+ OUT_RING((w << 16) | h); -+ END_DMA(); -+#elif defined DRAW_USING_PACKET0 -+ BEGIN_DMA(4); -+ OUT_RING(DMA_PACKET0(mmSRC_Y_X, 3)); -+ OUT_RING_REG(mmSRC_Y_X, (srcY << 16) | srcX); -+ OUT_RING_REG(mmDST_Y_X, (dstY << 16) | dstX); -+ OUT_RING_REG(mmDST_HEIGHT_WIDTH, (h << 16) | w); -+ END_DMA(); -+#else -+ BEGIN_DMA_REG(3); -+ OUT_REG(mmSRC_Y_X, (srcY << 16) | srcX); -+ OUT_REG(mmDST_Y_X, (dstY << 16) | dstX); -+ OUT_REG(mmDST_HEIGHT_WIDTH, (h << 16) | w); -+ END_DMA_REG(); -+#endif -+ LEAVE_DRAW(0); -+} -+ -+ -+static void -+ATIDoneCopy(void) -+{ -+ ENTER_DRAW(0); -+ LEAVE_DRAW(0); -+} -+ -+ -+Bool -+ATIDrawInit(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ -+ ErrorF("Screen: %d/%d depth/bpp\n", pScreenPriv->screen->fb[0].depth, -+ pScreenPriv->screen->fb[0].bitsPerPixel); -+ -+ memset(&atis->kaa, 0, sizeof(KaaScreenInfoRec)); -+ atis->kaa.waitMarker = ATIWaitMarker; -+ atis->kaa.PrepareSolid = ATIPrepareSolid; -+ atis->kaa.Solid = ATISolid; -+ atis->kaa.DoneSolid = ATIDoneSolid; -+ atis->kaa.PrepareCopy = ATIPrepareCopy; -+ atis->kaa.Copy = ATICopy; -+ atis->kaa.DoneCopy = ATIDoneCopy; -+ /* XXX if this flag isn't specified, Kdrive crashes in kaaPixmapUseMemory -+ * or kaaPixmapUseScreen. But this is probably caused by some bug in this -+ * driver... */ -+ atis->kaa.flags |= KAA_OFFSCREEN_PIXMAPS; -+ if (!kaaDrawInit(pScreen, &atis->kaa)) -+ return FALSE; -+ -+ return TRUE; -+} -+ -+ -+void -+ATIDrawEnable(ScreenPtr pScreen) -+{ -+ KdScreenPriv(pScreen); -+ ATIScreenInfo(pScreenPriv); -+ -+ ATIDMASetup(pScreen); -+ ATIDrawSetup(pScreen); -+ -+ atis->scratch_area = NULL; -+ atis->kaa.PrepareBlend = NULL; -+ atis->kaa.Blend = NULL; -+ atis->kaa.DoneBlend = NULL; -+ atis->kaa.CheckComposite = NULL; -+ atis->kaa.PrepareComposite = NULL; -+ atis->kaa.Composite = NULL; -+ atis->kaa.DoneComposite = NULL; -+ atis->kaa.UploadToScreen = NULL; -+ atis->kaa.UploadToScratch = NULL; -+ -+ -+ kaaMarkSync(pScreen); -+} -+ -+void -+ATIDrawDisable(ScreenPtr pScreen) -+{ -+ ATIDMATeardown(pScreen); -+} -+ -+void -+ATIDrawFini(ScreenPtr pScreen) -+{ -+ kaaDrawFini(pScreen); -+} -Index: git/hw/kdrive/w100/ati_draw.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati_draw.h 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,107 @@ -+/* -+ * Copyright © 2004 Eric Anholt -+ * -+ * 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, and that the name of Eric Anholt not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Eric Anholt makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ERIC ANHOLT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ERIC ANHOLT 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. -+ */ -+/* $Header: /cvs/xserver/xserver/hw/kdrive/ati/ati_draw.h,v 1.9 2005-02-21 03:44:10 anholt Exp $ */ -+ -+#ifndef _ATI_DRAW_H_ -+#define _ATI_DRAW_H_ -+ -+Bool ATIGetOffsetPitch(ATIScreenInfo *atis, int bpp, CARD32 *pitch_offset, -+ int offset, int pitch); -+Bool ATIGetPixmapOffsetPitch(PixmapPtr pPix, CARD32 *pitch, CARD32 *offset); -+ -+Bool R128CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, -+ PicturePtr pDstPicture); -+Bool R128PrepareComposite(int op, PicturePtr pSrcPicture, -+ PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc, -+ PixmapPtr pMask, PixmapPtr pDst); -+void R128Composite(int srcX, int srcY, int maskX, int maskY, int dstX, int dstY, -+ int w, int h); -+void R128DoneComposite(void); -+ -+Bool R128PrepareTrapezoids(PicturePtr pDstPicture, PixmapPtr pDst); -+void R128Trapezoids(KaaTrapezoid *traps, int ntraps); -+void R128DoneTrapezoids(void); -+ -+Bool R100CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, -+ PicturePtr pDstPicture); -+Bool R100PrepareComposite(int op, PicturePtr pSrcPicture, -+ PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc, -+ PixmapPtr pMask, PixmapPtr pDst); -+Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, -+ PicturePtr pDstPicture); -+Bool R200PrepareComposite(int op, PicturePtr pSrcPicture, -+ PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc, -+ PixmapPtr pMask, PixmapPtr pDst); -+void RadeonComposite(int srcX, int srcY, int maskX, int maskY, int dstX, -+ int dstY, int w, int h); -+void RadeonDoneComposite(void); -+ -+Bool RadeonPrepareTrapezoids(PicturePtr pDstPicture, PixmapPtr pDst); -+void RadeonTrapezoids(KaaTrapezoid *traps, int ntraps); -+void RadeonDoneTrapezoids(void); -+ -+void RadeonSwitchTo2D(ATIScreenInfo *atis); -+void RadeonSwitchTo3D(ATIScreenInfo *atis); -+void ATIWaitIdle(ATIScreenInfo *atis); -+ -+#define ATI_TRACE_FALL 0 -+#define ATI_TRACE_DRAW 1 -+ -+#if ATI_TRACE_FALL -+#define ATI_FALLBACK(x) \ -+do { \ -+ ErrorF("%s: ", __FUNCTION__); \ -+ ErrorF x; \ -+ return FALSE; \ -+} while (0) -+#else -+#define ATI_FALLBACK(x) return FALSE -+#endif -+ -+#if ATI_TRACE_DRAW -+#define ENTER_DRAW(pix) ATIEnterDraw(pix, __FUNCTION__) -+#define LEAVE_DRAW(pix) ATILeaveDraw(pix, __FUNCTION__) -+ -+void -+ATIEnterDraw (PixmapPtr pPixmap, const char *function); -+ -+void -+ATILeaveDraw (PixmapPtr pPixmap, const char *function); -+#else /* ATI_TRACE */ -+#define ENTER_DRAW(pix) -+#define LEAVE_DRAW(pix) -+#endif /* !ATI_TRACE */ -+ -+#ifndef USE_DMA -+/* if DMA is not going to be used, drawing using PACKET3 or PACKET0 won't -+ * be possible */ -+#ifdef DRAW_USING_PACKET3 -+#undef DRAW_USING_PACKET3 -+#endif -+ -+#ifdef DRAW_USING_PACKET0 -+#undef DRAW_USING_PACKET0 -+#endif -+ -+#endif /* USE_DMA */ -+ -+#endif /* _ATI_DRAW_H_ */ -Index: git/hw/kdrive/w100/ati.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati.h 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,256 @@ -+/* -+ * $Id: ati.h,v 1.18 2005-06-10 02:14:44 anholt Exp $ -+ * -+ * Copyright © 2003 Eric Anholt -+ * -+ * 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, and that the name of Eric Anholt not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Eric Anholt makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ERIC ANHOLT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ERIC ANHOLT 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. -+ */ -+/* $Header: /cvs/xserver/xserver/hw/kdrive/ati/ati.h,v 1.18 2005-06-10 02:14:44 anholt Exp $ */ -+ -+#ifndef _ATI_H_ -+#define _ATI_H_ -+ -+#ifdef HAVE_CONFIG_H -+#include -+#endif -+ -+#ifdef KDRIVEFBDEV -+#include -+#endif -+#ifdef KDRIVEVESA -+#include -+#endif -+ -+#include "kxv.h" -+ -+ -+#define ATI_MEM_BASE(c) (0x08000000) -+#define ATI_MEM_SIZE(c) (0x01000000) -+#define ATI_REG_BASE(c) (ATI_MEM_BASE(c) + 0x10000) /* the 0x08000000 must be obtained from /proc/iomem, the 0x10000 from ReadCfgReg(cfgREG_BASE) << 16) & 0xff0000 */ -+#define ATI_REG_SIZE(c) (0x2000) -+ -+#ifdef __powerpc__ -+ -+static __inline__ void -+MMIO_OUT32(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ __asm__ __volatile__( -+ "stwbrx %1,%2,%3\n\t" -+ "eieio" -+ : "=m" (*((volatile unsigned char *)base+offset)) -+ : "r" (val), "b" (base), "r" (offset)); -+} -+ -+static __inline__ CARD32 -+MMIO_IN32(__volatile__ void *base, const unsigned long offset) -+{ -+ register unsigned int val; -+ __asm__ __volatile__( -+ "lwbrx %0,%1,%2\n\t" -+ "eieio" -+ : "=r" (val) -+ : "b" (base), "r" (offset), -+ "m" (*((volatile unsigned char *)base+offset))); -+ return val; -+} -+ -+#else -+ -+#define MMIO_OUT32(mmio, a, v) (*(VOL32 *)((mmio) + (a)) = (v)) -+#define MMIO_IN32(mmio, a) (*(VOL32 *)((mmio) + (a))) -+ -+#endif -+ -+#define MMIO_OUT8(mmio, a, v) (*(VOL8 *)((mmio) + (a)) = (v)) -+#define MMIO_IN8(mmio, a, v) (*(VOL8 *)((mmio) + (a))) -+ -+ -+typedef volatile CARD8 VOL8; -+typedef volatile CARD16 VOL16; -+typedef volatile CARD32 VOL32; -+ -+struct pci_id_entry { -+ CARD16 vendor; -+ CARD16 device; -+ CARD8 caps; -+ char *name; -+}; -+ -+struct backend_funcs { -+ void (*cardfini)(KdCardInfo *); -+ void (*scrfini)(KdScreenInfo *); -+ Bool (*initScreen)(ScreenPtr); -+ Bool (*finishInitScreen)(ScreenPtr pScreen); -+ Bool (*createRes)(ScreenPtr); -+ void (*preserve)(KdCardInfo *); -+ void (*restore)(KdCardInfo *); -+ Bool (*dpms)(ScreenPtr, int); -+ Bool (*enable)(ScreenPtr); -+ void (*disable)(ScreenPtr); -+ void (*getColors)(ScreenPtr, int, int, xColorItem *); -+ void (*putColors)(ScreenPtr, int, int, xColorItem *); -+#ifdef RANDR -+ Bool (*randrSetConfig) (ScreenPtr, Rotation, int, RRScreenSizePtr); -+#endif -+}; -+ -+typedef struct _ATICardInfo { -+ union { -+#ifdef KDRIVEFBDEV -+ FbdevPriv fbdev; -+#endif -+#ifdef KDRIVEVESA -+ VesaCardPrivRec vesa; -+#endif -+ } backend_priv; -+ struct backend_funcs backend_funcs; -+ -+ struct pci_id_entry *pci_id; -+ CARD8 *mem_base; -+ CARD8 *reg_base; -+ CARD32 fb_location; -+ CARD32 ext_mem_location; -+ Bool use_fbdev, use_vesa; -+} ATICardInfo; -+ -+#define getATICardInfo(kd) ((ATICardInfo *) ((kd)->card->driver)) -+#define ATICardInfo(kd) ATICardInfo *atic = getATICardInfo(kd) -+ -+typedef struct _ATICursor { -+ int width, height; -+ int xhot, yhot; -+ -+ Bool has_cursor; -+ CursorPtr pCursor; -+ Pixel source, mask; -+ KdOffscreenArea *area; -+} ATICursor; -+ -+typedef struct _ATIPortPriv { -+ int brightness; -+ int saturation; -+ RegionRec clip; -+ CARD32 size; -+ KdOffscreenArea *off_screen; -+ DrawablePtr pDraw; -+ PixmapPtr pPixmap; -+ -+ CARD32 src_offset; -+ CARD32 src_pitch; -+ CARD8 *src_addr; -+ -+ int id; -+ int src_x1, src_y1, src_x2, src_y2; -+ int dst_x1, dst_y1, dst_x2, dst_y2; -+ int src_w, src_h, dst_w, dst_h; -+} ATIPortPrivRec, *ATIPortPrivPtr; -+ -+typedef struct _ATIScreenInfo { -+ union { -+#ifdef KDRIVEFBDEV -+ FbdevScrPriv fbdev; -+#endif -+#ifdef KDRIVEVESA -+ VesaScreenPrivRec vesa; -+#endif -+ } backend_priv; -+ KaaScreenInfoRec kaa; -+ -+ ATICardInfo *atic; -+ KdScreenInfo *screen; -+ -+ int scratch_offset; -+ int scratch_next; -+ KdOffscreenArea *scratch_area; -+ -+ ATICursor cursor; -+ -+ KdVideoAdaptorPtr pAdaptor; -+ int num_texture_ports; -+ -+ Bool using_pio; /* If we use decode DMA packets to MMIO. */ -+ Bool using_dma; /* If we use non-DRI DMA to submit packets. */ -+ -+ KdOffscreenArea *dma_space; /* For "DMA" from framebuffer. */ -+ CARD32 *ring_addr; /* Beginning of ring buffer. */ -+ int ring_write; /* Index of write ptr in ring. */ -+ int ring_read; /* Index of read ptr in ring. */ -+ int ring_len; -+ int ring_mask; -+ int ring_count; -+ int ring_free; -+ -+ -+ int mmio_avail; -+} ATIScreenInfo; -+ -+#define getATIScreenInfo(kd) ((ATIScreenInfo *) ((kd)->screen->driver)) -+#define ATIScreenInfo(kd) ATIScreenInfo *atis = getATIScreenInfo(kd) -+ -+typedef union { float f; CARD32 i; } fi_type; -+ -+ -+/* ati.c */ -+Bool -+ATIMap(KdCardInfo *card, ATICardInfo *atic); -+ -+void -+ATIUnmap(KdCardInfo *card, ATICardInfo *atic); -+ -+/* ati_draw.c */ -+void -+ATIDrawSetup(ScreenPtr pScreen); -+ -+Bool -+ATIDrawInit(ScreenPtr pScreen); -+ -+void -+ATIDrawEnable(ScreenPtr pScreen); -+ -+void -+ATIDrawDisable(ScreenPtr pScreen); -+ -+void -+ATIDrawFini(ScreenPtr pScreen); -+ -+ -+/* ati_cursor.c */ -+Bool -+ATICursorInit(ScreenPtr pScreen); -+ -+void -+ATICursorEnable(ScreenPtr pScreen); -+ -+void -+ATICursorDisable(ScreenPtr pScreen); -+ -+void -+ATICursorFini(ScreenPtr pScreen); -+ -+void -+ATIRecolorCursor(ScreenPtr pScreen, int ndef, xColorItem *pdef); -+ -+int -+ATILog2(int val); -+ -+ -+extern KdCardFuncs ATIFuncs; -+ -+#endif /* _ATI_H_ */ -Index: git/hw/kdrive/w100/ati_microcode.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati_microcode.c 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,412 @@ -+/* -+ * Copyright © 2006 Alberto Mardegan -+ * -+ * 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, and that the name of Alberto Mardegan not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Alberto Mardegan makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ALBERTO MARDEGAN 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. -+ */ -+ -+/* CCE microcode (from ATI) */ -+ -+#include "ati.h" -+ -+ -+CARD32 w100_microcode[][2] = { -+ {0x21007000, 0x00000000} -+ , -+ {0x20007000, 0x00000000} -+ , -+ {0x00000098, 0x00000004} -+ , -+ {0x0000009c, 0x00000004} -+ , -+ {0x66544a49, 0x00000000} -+ , -+ {0x49494174, 0x00000000} -+ , -+ {0x54517d83, 0x00000000} -+ , -+ {0x498d8b64, 0x00000000} -+ , -+ {0x49494949, 0x00000000} -+ , -+ {0x49b6493c, 0x00000000} -+ , -+ {0x49494949, 0x00000000} -+ , -+ {0x49494949, 0x00000000} -+ , -+ {0x49490d10, 0x00000000} -+ , -+ {0x000f0000, 0x00000016} -+ , -+ {0x30292027, 0x00000000} -+ , -+ {0x00000012, 0x00000004} -+ , -+ {0x000f0000, 0x00000016} -+ , -+ {0x30292427, 0x00000000} -+ , -+ {0x0000730f, 0x00000002} -+ , /* mmIDCT_CONTROL */ -+ {0x00061000, 0x00000002} -+ , -+ {0x0000001d, 0x0000001a} -+ , -+ {0x00004000, 0x0000001e} -+ , -+ {0x00061000, 0x00000002} -+ , -+ {0x0000001d, 0x0000001a} -+ , -+ {0x00004000, 0x0000001e} -+ , -+ {0x00061000, 0x00000002} -+ , -+ {0x0000001d, 0x0000001a} -+ , -+ {0x00004000, 0x0000001e} -+ , -+ {0x00000013, 0x00000004} -+ , -+ {0x0003803a, 0x00000002} -+ , -+ {0x04006300, 0x00000002} -+ , /* mmIDCT_RUNS */ -+ {0x00000013, 0x00000004} -+ , -+ {0x00007300, 0x00000002} -+ , /* mmIDCT_RUNS */ -+ {0x00065000, 0x00000002} -+ , -+ {0x00003301, 0x00000002} -+ , /* mmIDCT_LEVELS */ -+ {0x04006301, 0x00000006} -+ , /* mmIDCT_LEVELS */ -+ {0x00007300, 0x00000002} -+ , /* mmIDCT_RUNS */ -+ {0x00007301, 0x00000002} -+ , /* mmIDCT_LEVELS */ -+ {0x00007301, 0x00000006} -+ , /* mmIDCT_LEVELS */ -+ {0x0003803a, 0x00000002} -+ , -+ {0x04006300, 0x00000006} -+ , /* mmIDCT_RUNS */ -+ {0x00a05000, 0x00000002} -+ , -+ {0x00000039, 0x0000000c} -+ , -+ {0x00000000, 0x00000002} -+ , -+ {0x00007300, 0x00000002} -+ , /* mmIDCT_RUNS */ -+ {0x00007301, 0x00000002} -+ , /* mmIDCT_LEVELS */ -+ {0x00007301, 0x00000002} -+ , /* mmIDCT_LEVELS */ -+ {0x0060002a, 0x00000004} -+ , -+ {0x00007488, 0x00000002} -+ , /* mmE2_ARITHMETIC_CNTL */ -+ {0x0003803b, 0x00000002} -+ , -+ {0x00098000, 0x00000002} -+ , -+ {0x00200000, 0x00000002} -+ , -+ {0x00000039, 0x0000000c} -+ , -+ {0x00007465, 0x00000002} -+ , /* mmDST_X_Y */ -+ {0x00007464, 0x00000002} -+ , /* mmSRC_X_Y */ -+ {0x00007478, 0x00000002} -+ , /* mmMVC_CNTL_START */ -+ {0x00600034, 0x00000004} -+ , -+ {0x00000000, 0x00000006} -+ , -+ {0xffffffff, 0x00000000} -+ , -+ {0x00000006, 0x00000000} -+ , -+ {0x01605000, 0x00000002} -+ , -+ {0x00065000, 0x00000002} -+ , -+ {0x00098000, 0x00000002} -+ , -+ {0x00061000, 0x00000002} -+ , -+ {0x64c0603d, 0x00000004} -+ , -+ {0x00080000, 0x00000016} -+ , -+ {0x00000000, 0x00000000} -+ , -+ {0x0400241d, 0x00000002} -+ , /* mmBRUSH_Y_X */ -+ {0x00007424, 0x00000002} -+ , /* mmDST_LINE_START */ -+ {0x00067425, 0x00000002} -+ , /* mmDST_LINE_END */ -+ {0x04002424, 0x00000002} -+ , /* mmDST_LINE_START */ -+ {0x00067425, 0x00000002} -+ , /* mmDST_LINE_END */ -+ {0x00000046, 0x00000004} -+ , -+ {0x00005000, 0x00000000} -+ , -+ {0x00061000, 0x00000002} -+ , -+ {0x0000740e, 0x00000002} -+ , /* mmDST_Y_X */ -+ {0x00019000, 0x00000002} -+ , -+ {0x00011050, 0x00000014} -+ , -+ {0x00000050, 0x00000012} -+ , -+ {0x0400240f, 0x00000002} -+ , /* mmDST_HEIGHT_WIDTH */ -+ {0x0000504a, 0x00000004} -+ , -+ {0x00007465, 0x00000002} -+ , /* mmDST_X_Y */ -+ {0x00007466, 0x00000002} -+ , /* mmDST_WIDTH_HEIGHT */ -+ {0x00000051, 0x00000004} -+ , -+ {0x01e65473, 0x00000002} -+ , /* mmDP_CNTL_DST_DIR */ -+ {0x4401b0b9, 0x00000002} -+ , -+ {0x01c110b9, 0x00000002} -+ , -+ {0x2666705d, 0x00000018} -+ , -+ {0x040c2465, 0x00000002} -+ , /* mmDST_X_Y */ -+ {0x0000005d, 0x00000018} -+ , -+ {0x04002464, 0x00000002} -+ , /* mmSRC_X_Y */ -+ {0x00007466, 0x00000002} -+ , /* mmDST_WIDTH_HEIGHT */ -+ {0x00000054, 0x00000004} -+ , -+ {0x00401060, 0x00000008} -+ , -+ {0x00101000, 0x00000002} -+ , -+ {0x000d80ff, 0x00000002} -+ , -+ {0x00800063, 0x00000008} -+ , -+ {0x000f9000, 0x00000002} -+ , -+ {0x000e00ff, 0x00000002} -+ , -+ {0x00000000, 0x00000006} -+ , -+ {0x00000080, 0x00000018} -+ , -+ {0x00000054, 0x00000004} -+ , -+ {0x00007490, 0x00000002} -+ , /* mmDP_SRC_FRGD_CLR */ -+ {0x00065000, 0x00000002} -+ , -+ {0x00009000, 0x00000002} -+ , -+ {0x00041000, 0x00000002} -+ , -+ {0x0c00340e, 0x00000002} -+ , /* mmDST_Y_X */ -+ {0x00049000, 0x00000002} -+ , -+ {0x00051000, 0x00000002} -+ , -+ {0x01e784f8, 0x00000002} -+ , -+ {0x00200000, 0x00000002} -+ , -+ {0x00600073, 0x0000000c} -+ , -+ {0x00007463, 0x00000002} -+ , /* mmDST_HEIGHT_WIDTH_8 */ -+ {0x006074f0, 0x00000021} -+ , /* mmHOST_DATA0 */ -+ {0x20007068, 0x00000004} -+ , -+ {0x00005068, 0x00000004} -+ , -+ {0x00007490, 0x00000002} -+ , /* mmDP_SRC_FRGD_CLR */ -+ {0x00007491, 0x00000002} -+ , /* mmDP_SRC_BKGD_CLR */ -+ {0x0000740e, 0x00000002} -+ , /* mmDST_Y_X */ -+ {0x0000740f, 0x00000002} -+ , /* mmDST_HEIGHT_WIDTH */ -+ {0x00a05000, 0x00000002} -+ , -+ {0x00600076, 0x0000000c} -+ , -+ {0x006074f0, 0x00000021} -+ , /* mmHOST_DATA0 */ -+ {0x000074f8, 0x00000002} -+ , /* mmHOST_DATA_LAST */ -+ {0x00000076, 0x00000004} -+ , -+ {0x000a740e, 0x00000002} -+ , /* mmDST_Y_X */ -+ {0x0020740f, 0x00000002} -+ , /* mmDST_HEIGHT_WIDTH */ -+ {0x00600079, 0x00000004} -+ , -+ {0x0000748c, 0x00000002} -+ , /* mmCLR_CMP_CNTL */ -+ {0x0000748d, 0x00000002} -+ , /* mmCLR_CMP_CLR_SRC */ -+ {0x0000748e, 0x00000006} -+ , /* mmCLR_CMP_CLR_DST */ -+ {0x00005000, 0x00000002} -+ , -+ {0x00a05000, 0x00000002} -+ , -+ {0x00007468, 0x00000002} -+ , /* mmDST_HEIGHT_Y */ -+ {0x00061000, 0x00000002} -+ , -+ {0x00000084, 0x0000000c} -+ , -+ {0x00058000, 0x00000002} -+ , -+ {0x0c607462, 0x00000002} -+ , /* mmDST_WIDTH_X */ -+ {0x00000086, 0x00000004} -+ , -+ {0x00600085, 0x00000004} -+ , -+ {0x400070ba, 0x00000000} -+ , -+ {0x000380ba, 0x00000002} -+ , -+ {0x00000093, 0x0000001c} -+ , -+ {0x00065095, 0x00000018} -+ , -+ {0x0400246f, 0x00000002} -+ , /* mmSC_TOP_LEFT */ -+ {0x00061096, 0x00000018} -+ , -+ {0x04007470, 0x00000000} -+ , /* mmSC_BOTTOM_RIGHT */ -+ {0x0000746f, 0x00000002} -+ , /* mmSC_TOP_LEFT */ -+ {0x00007470, 0x00000000} -+ , /* mmSC_BOTTOM_RIGHT */ -+ {0x00090000, 0x00000006} -+ , -+ {0x00090000, 0x00000002} -+ , -+ {0x000d8002, 0x00000006} -+ , -+ {0x01200000, 0x00000002} -+ , -+ {0x20077000, 0x00000002} -+ , -+ {0x01200000, 0x00000002} -+ , -+ {0x20007000, 0x00000002} -+ , -+ {0x00061000, 0x00000002} -+ , -+ {0x0120741b, 0x00000002} -+ , /* mmDP_GUI_MASTER_CNTL */ -+ {0x8040740a, 0x00000002} -+ , /* mmSRC_PITCH_OFFSET */ -+ {0x8040740b, 0x00000002} -+ , /* mmDST_PITCH_OFFSET */ -+ {0x00110000, 0x00000002} -+ , -+ {0x000380ba, 0x00000002} -+ , -+ {0x000000aa, 0x0000001c} -+ , -+ {0x00061096, 0x00000018} -+ , -+ {0x84407471, 0x00000002} -+ , /* mmSRC_SC_BOTTOM_RIGHT */ -+ {0x00061095, 0x00000018} -+ , -+ {0x8400746f, 0x00000002} -+ , /* mmSC_TOP_LEFT */ -+ {0x00061096, 0x00000018} -+ , -+ {0x84407470, 0x00000002} -+ , /* mmSC_BOTTOM_RIGHT */ -+ {0x000000ad, 0x00000004} -+ , -+ {0x80407471, 0x00000002} -+ , /* mmSRC_SC_BOTTOM_RIGHT */ -+ {0x8000746f, 0x00000002} -+ , /* mmSC_TOP_LEFT */ -+ {0x80407470, 0x00000002} -+ , /* mmSC_BOTTOM_RIGHT */ -+ {0x00108000, 0x00000002} -+ , -+ {0x01400000, 0x00000002} -+ , -+ {0x006000b1, 0x0000000c} -+ , -+ {0x20c07000, 0x00000020} -+ , -+ {0x000000b3, 0x00000012} -+ , -+ {0x00800000, 0x00000006} -+ , -+ {0x0080741d, 0x00000006} -+ , /* mmBRUSH_Y_X */ -+ {0x00000000, 0x00000000} -+ , -+ {0x00000001, 0x00000000} -+ , -+ {0x000380b5, 0x00000002} -+ , -+ {0x04002054, 0x00000002} -+ , /* mmNQWAIT_UNTIL */ -+ {0x00005000, 0x00000000} -+ , -+ {0x00000000, 0x00000000} -+ , -+ {0x00000000, 0x00000000} -+ , -+ {0x00000000, 0x00000000} -+ , -+ {0x00000000, 0x00000000} -+ , -+ {0x00000000, 0x00000000} -+ , -+ {0x00000000, 0x00000000} -+ , -+ {0x00000000, 0x00000000} -+}; -Index: git/hw/kdrive/w100/ati_stub.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/ati_stub.c 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,103 @@ -+/* -+ * Copyright © 2006 Alberto Mardegan -+ * -+ * 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, and that the name of Alberto Mardegan not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Alberto Mardegan makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * ALBERTO MARDEGAN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL ALBERTO MARDEGAN 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. -+ */ -+ -+#ifdef HAVE_CONFIG_H -+#include -+#endif -+#include "ati.h" -+#include "w100_regs.h" -+#include "klinux.h" -+ -+extern struct pci_id_entry ati_pci_ids[]; -+ -+static Bool -+FindW100(CARD16 vendor, CARD16 device, CARD32 count, KdCardAttr * attr) -+{ -+ char *mmio; -+ CARD32 chip_id; -+ Bool found = FALSE; -+ -+ mmio = KdMapDevice(ATI_REG_BASE(0), ATI_REG_SIZE(0)); -+ KdSetMappedMode((CARD32) mmio, ATI_REG_SIZE(0), -+ KD_MAPPED_MODE_REGISTERS); -+ -+ chip_id = MMIO_IN32(mmio, mmCHIP_ID); -+ if ((vendor | (device << 16)) == chip_id) { -+ ErrorF("Found Chip ID: %08x\n\n", chip_id); -+ attr->deviceID = device; -+ attr->vendorID = vendor; -+ found = TRUE; -+ } -+ KdUnmapDevice(mmio, ATI_REG_SIZE(0)); -+ return found; -+} -+ -+ -+void -+InitCard(char *name) -+{ -+ struct pci_id_entry *id; -+ KdCardAttr attr; -+ -+ for (id = ati_pci_ids; id->name != NULL; id++) { -+ int j = 0; -+ if (FindW100(id->vendor, id->device, j++, &attr)) -+ KdCardInfoAdd(&ATIFuncs, &attr, 0); -+ } -+} -+ -+void -+InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) -+{ -+ KdInitOutput(pScreenInfo, argc, argv); -+} -+ -+void -+InitInput(int argc, char **argv) -+{ -+ KdInitInput(&LinuxMouseFuncs, &LinuxKeyboardFuncs); -+#ifdef TOUCHSCREEN -+ KdAddMouseDriver(&TsFuncs); -+#endif -+} -+ -+void -+ddxUseMsg(void) -+{ -+ KdUseMsg(); -+#ifdef KDRIVEVESA -+ vesaUseMsg(); -+#endif -+} -+ -+int -+ddxProcessArgument(int argc, char **argv, int i) -+{ -+ int ret; -+ -+#ifdef KDRIVEVESA -+ if (!(ret = vesaProcessArgument(argc, argv, i))) -+#endif -+ ret = KdProcessArgument(argc, argv, i); -+ -+ return ret; -+} -Index: git/hw/kdrive/w100/Makefile.am -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/Makefile.am 2006-09-02 12:42:38.000000000 +0200 -@@ -0,0 +1,56 @@ -+if KDRIVEFBDEV -+FBDEV_INCLUDES =-I$(top_srcdir)/hw/kdrive/fbdev -+FBDEV_LIBS = $(top_builddir)/hw/kdrive/fbdev/libfbdev.a -+endif -+ -+if KDRIVEVESA -+VESA_INCLUDES = -I$(top_srcdir)/hw/kdrive/vesa -+VESA_LIBS = $(top_builddir)/hw/kdrive/vesa/libvesa.a -+endif -+ -+INCLUDES = \ -+ @KDRIVE_INCS@ \ -+ $(FBDEV_INCLUDES) \ -+ $(VESA_INCLUDES) \ -+ @KDRIVE_CFLAGS@ -+ -+bin_PROGRAMS = Xw100 -+ -+if TSLIB -+TSLIB_FLAG = -lts -+endif -+ -+noinst_LIBRARIES = libw100.a -+ -+libw100_a_SOURCES = \ -+ ati_cursor.c \ -+ ati_dma.c \ -+ ati_dma.h \ -+ ati_draw.c \ -+ ati_draw.h \ -+ ati_microcode.c \ -+ ati.c \ -+ ati.h \ -+ w100_regs.h \ -+ w100_const.h -+ -+Xw100_SOURCES = \ -+ ati_stub.c -+ -+W100_LIBS = \ -+ libw100.a \ -+ $(FBDEV_LIBS) \ -+ $(VESA_LIBS) \ -+ $(DRI_LIBS) \ -+ @KDRIVE_LIBS@ -+ -+Xw100_LDADD = \ -+ $(W100_LIBS) \ -+ @XSERVER_LIBS@ \ -+ $(TSLIB_FLAG) -+ -+ -+Xw100_DEPENDENCIES = \ -+ libw100.a \ -+ $(FBDEV_LIBS) \ -+ $(VESA_LIBS) -Index: git/hw/kdrive/w100/w100_const.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/w100_const.h 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,25 @@ -+#define CSQ_CNTL_MODE_FREERUN 0x8 -+ -+#define WB_BLOCK_SIZE_A_0 0 -+#define WB_BLOCK_SIZE_A_1 1 -+#define WB_BLOCK_SIZE_A_2 2 -+#define WB_BLOCK_SIZE_A_3 3 -+#define WB_BLOCK_SIZE_A_4 4 -+ -+#define DATATYPE_8BPP 2 -+#define DATATYPE_ARGB1555 3 -+#define DATATYPE_ARGB4444 5 -+ -+#define BRUSH_SOLIDCOLOR 13 -+#define BRUSH_NONE 15 -+ -+#define OP_ROP 0 -+#define OP_ARITHMETIC 1 -+ -+#define SOURCE_MEM_RECTANGULAR 2 -+ -+#define W100_MAXINT 0x1fff -+ -+#define W100_CCE_PACKET3_PAINT_MULTI 0xc0001a00 -+#define W100_CCE_PACKET3_BITBLT_MULTI 0xc0001b00 -+ -Index: git/hw/kdrive/w100/w100_regs.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ git/hw/kdrive/w100/w100_regs.h 2006-09-02 12:12:14.000000000 +0200 -@@ -0,0 +1,3802 @@ -+#ifndef _W100_REGS_H_ -+#define _W100_REGS_H_ -+ -+/* Block CIF Start: */ -+#define mmCHIP_ID 0x0000 -+#define mmREVISION_ID 0x0004 -+#define mmWRAP_BUF_A 0x0008 -+#define mmWRAP_BUF_B 0x000C -+#define mmWRAP_TOP_DIR 0x0010 -+#define mmWRAP_START_DIR 0x0014 -+#define mmCIF_CNTL 0x0018 -+#define mmCFGREG_BASE 0x001C -+#define mmCIF_IO 0x0020 -+#define mmCIF_READ_DBG 0x0024 -+#define mmCIF_WRITE_DBG 0x0028 -+#define cfgIND_ADDR_A_0 0x0000 -+#define cfgIND_ADDR_A_1 0x0001 -+#define cfgIND_ADDR_A_2 0x0002 -+#define cfgIND_DATA_A 0x0003 -+#define cfgREG_BASE 0x0004 -+#define cfgINTF_CNTL 0x0005 -+#define cfgSTATUS 0x0006 -+#define cfgCPU_DEFAULTS 0x0007 -+#define cfgIND_ADDR_B_0 0x0008 -+#define cfgIND_ADDR_B_1 0x0009 -+#define cfgIND_ADDR_B_2 0x000A -+#define cfgIND_DATA_B 0x000B -+#define cfgPM4_RPTR 0x000C -+#define cfgSCRATCH 0x000D -+#define cfgPM4_WRPTR_0 0x000E -+#define cfgPM4_WRPTR_1 0x000F -+/* Block CIF End: */ -+ -+/* Block CP Start: */ -+#define mmCP_RB_CNTL 0x0210 -+#define mmCP_RB_BASE 0x0214 -+#define mmCP_RB_RPTR_ADDR 0x0218 -+#define mmCP_RB_RPTR 0x021C -+#define mmCP_RB_RPTR_WR 0x02F8 -+#define mmCP_RB_WPTR 0x0220 -+#define mmCP_IB_BASE 0x0228 -+#define mmCP_IB_BUFSZ 0x022C -+#define mmCP_CSQ_CNTL 0x0230 -+#define mmCP_CSQ_APER_PRIMARY 0x0300 -+#define mmCP_CSQ_APER_INDIRECT 0x0340 -+#define mmCP_ME_CNTL 0x0240 -+#define mmCP_ME_RAM_ADDR 0x0244 -+#define mmCP_ME_RAM_RADDR 0x0248 -+#define mmCP_ME_RAM_DATAH 0x024C -+#define mmCP_ME_RAM_DATAL 0x0250 -+#define mmCP_DEBUG 0x025C -+#define mmSCRATCH_REG0 0x0260 -+#define mmSCRATCH_REG1 0x0264 -+#define mmSCRATCH_REG2 0x0268 -+#define mmSCRATCH_REG3 0x026C -+#define mmSCRATCH_REG4 0x0270 -+#define mmSCRATCH_REG5 0x0274 -+#define mmSCRATCH_UMSK 0x0280 -+#define mmSCRATCH_ADDR 0x0284 -+#define mmCP_CSQ_ADDR 0x02E4 -+#define mmCP_CSQ_DATA 0x02E8 -+#define mmCP_CSQ_STAT 0x02EC -+#define mmCP_STAT 0x02F0 -+#define mmGEN_INT_CNTL 0x0200 -+#define mmGEN_INT_STATUS 0x0204 -+/* Block CP End: */ -+ -+/* Block DISPLAY Start: */ -+#define mmLCD_FORMAT 0x0410 -+#define mmGRAPHIC_CTRL 0x0414 -+#define mmGRAPHIC_OFFSET 0x0418 -+#define mmGRAPHIC_PITCH 0x041C -+#define mmCRTC_TOTAL 0x0420 -+#define mmACTIVE_H_DISP 0x0424 -+#define mmACTIVE_V_DISP 0x0428 -+#define mmGRAPHIC_H_DISP 0x042C -+#define mmGRAPHIC_V_DISP 0x0430 -+#define mmVIDEO_CTRL 0x0434 -+#define mmGRAPHIC_KEY 0x0438 -+#define mmVIDEO_Y_OFFSET 0x043C -+#define mmVIDEO_Y_PITCH 0x0440 -+#define mmVIDEO_U_OFFSET 0x0444 -+#define mmVIDEO_U_PITCH 0x0448 -+#define mmVIDEO_V_OFFSET 0x044C -+#define mmVIDEO_V_PITCH 0x0450 -+#define mmVIDEO_H_POS 0x0454 -+#define mmVIDEO_V_POS 0x0458 -+#define mmBRIGHTNESS_CNTL 0x045C -+#define mmCURSOR1_OFFSET 0x0460 -+#define mmCURSOR1_H_POS 0x0464 -+#define mmCURSOR1_V_POS 0x0468 -+#define mmCURSOR1_COLOR0 0x046C -+#define mmCURSOR1_COLOR1 0x0470 -+#define mmCURSOR2_OFFSET 0x0474 -+#define mmCURSOR2_H_POS 0x0478 -+#define mmCURSOR2_V_POS 0x047C -+#define mmCURSOR2_COLOR0 0x0480 -+#define mmCURSOR2_COLOR1 0x0484 -+#define mmDISP_INT_CNTL 0x0488 -+#define mmCRTC_SS 0x048C -+#define mmCRTC_LS 0x0490 -+#define mmCRTC_REV 0x0494 -+#define mmCRTC_DCLK 0x049C -+#define mmCRTC_GS 0x04A0 -+#define mmCRTC_VPOS_GS 0x04A4 -+#define mmCRTC_GCLK 0x04A8 -+#define mmCRTC_GOE 0x04AC -+#define mmCRTC_FRAME 0x04B0 -+#define mmCRTC_FRAME_VPOS 0x04B4 -+#define mmGPIO_DATA 0x04B8 -+#define mmGPIO_CNTL1 0x04BC -+#define mmGPIO_CNTL2 0x04C0 -+#define mmLCDD_CNTL1 0x04C4 -+#define mmLCDD_CNTL2 0x04C8 -+#define mmGENLCD_CNTL1 0x04CC -+#define mmGENLCD_CNTL2 0x04D0 -+#define mmDISP_DEBUG 0x04D4 -+#define mmDISP_DB_BUF_CNTL 0x04D8 -+#define mmDISP_CRC_SIG 0x04DC -+#define mmCRTC_DEFAULT_COUNT 0x04E0 -+#define mmLCD_BACKGROUND_COLOR 0x04E4 -+#define mmCRTC_PS2 0x04E8 -+#define mmCRTC_PS2_VPOS 0x04EC -+#define mmCRTC_PS1_ACTIVE 0x04F0 -+#define mmCRTC_PS1_NACTIVE 0x04F4 -+#define mmCRTC_GCLK_EXT 0x04F8 -+#define mmCRTC_ALW 0x04FC -+#define mmCRTC_ALW_VPOS 0x0500 -+#define mmCRTC_PSK 0x0504 -+#define mmCRTC_PSK_HPOS 0x0508 -+#define mmCRTC_CV4_START 0x050C -+#define mmCRTC_CV4_END 0x0510 -+#define mmCRTC_CV4_HPOS 0x0514 -+#define mmCRTC_ECK 0x051C -+#define mmREFRESH_CNTL 0x0520 -+#define mmGENLCD_CNTL3 0x0524 -+#define mmGPIO_DATA2 0x0528 -+#define mmGPIO_CNTL3 0x052C -+#define mmGPIO_CNTL4 0x0530 -+#define mmCHIP_STRAP 0x0534 -+#define mmDISP_DEBUG2 0x0538 -+#define mmDEBUG_BUS_CNTL 0x053C -+#define mmGAMMA_VALUE1 0x0540 -+#define mmGAMMA_VALUE2 0x0544 -+#define mmGAMMA_SLOPE 0x0548 -+#define mmGEN_STATUS 0x054C -+#define mmHW_INT 0x0550 -+/* Block DISPLAY End: */ -+ -+/* Block GFX Start: */ -+#define mmDST_OFFSET 0x1004 -+#define mmDST_PITCH 0x1008 -+#define mmDST_PITCH_OFFSET 0x102C -+#define mmDST_X 0x101C -+#define mmDST_Y 0x1020 -+#define mmDST_X_Y 0x1194 -+#define mmDST_Y_X 0x1038 -+#define mmDST_WIDTH 0x100C -+#define mmDST_HEIGHT 0x1010 -+#define mmDST_WIDTH_HEIGHT 0x1198 -+#define mmDST_HEIGHT_WIDTH 0x103C -+#define mmDST_HEIGHT_WIDTH_8 0x118C -+#define mmDST_HEIGHT_Y 0x11A0 -+#define mmDST_WIDTH_X 0x1188 -+#define mmDST_WIDTH_X_INCY 0x119C -+#define mmDST_LINE_START 0x1090 -+#define mmDST_LINE_END 0x1094 -+#define mmBRUSH_OFFSET 0x108C -+#define mmBRUSH_Y_X 0x1074 -+#define mmDP_BRUSH_FRGD_CLR 0x107C -+#define mmDP_BRUSH_BKGD_CLR 0x1078 -+#define mmSRC2_OFFSET 0x1060 -+#define mmSRC2_PITCH 0x1064 -+#define mmSRC2_PITCH_OFFSET 0x1068 -+#define mmSRC2_X 0x1050 -+#define mmSRC2_Y 0x1054 -+#define mmSRC2_X_Y 0x1058 -+#define mmSRC2_WIDTH 0x1080 -+#define mmSRC2_HEIGHT 0x1084 -+#define mmSRC2_INC 0x1088 -+#define mmSRC_OFFSET 0x11AC -+#define mmSRC_PITCH 0x11B0 -+#define mmSRC_PITCH_OFFSET 0x1028 -+#define mmSRC_X 0x1014 -+#define mmSRC_Y 0x1018 -+#define mmSRC_X_Y 0x1190 -+#define mmSRC_Y_X 0x1034 -+#define mmSRC_WIDTH 0x1040 -+#define mmSRC_HEIGHT 0x1044 -+#define mmSRC_INC 0x1048 -+#define mmHOST_DATA0 0x13C0 -+#define mmHOST_DATA1 0x13C4 -+#define mmHOST_DATA2 0x13C8 -+#define mmHOST_DATA3 0x13CC -+#define mmHOST_DATA4 0x13D0 -+#define mmHOST_DATA5 0x13D4 -+#define mmHOST_DATA6 0x13D8 -+#define mmHOST_DATA7 0x13DC -+#define mmHOST_DATA_LAST 0x13E0 -+#define mmDP_SRC_FRGD_CLR 0x1240 -+#define mmDP_SRC_BKGD_CLR 0x1244 -+#define mmSC_LEFT 0x1140 -+#define mmSC_RIGHT 0x1144 -+#define mmSC_TOP 0x1148 -+#define mmSC_BOTTOM 0x114C -+#define mmSRC_SC_RIGHT 0x1154 -+#define mmSRC_SC_BOTTOM 0x115C -+#define mmDP_CNTL 0x11C8 -+#define mmDP_CNTL_DST_DIR 0x11CC -+#define mmDP_DATATYPE 0x12C4 -+#define mmDP_MIX 0x12C8 -+#define mmDP_WRITE_MSK 0x12CC -+#define mmCLR_CMP_CLR_SRC 0x1234 -+#define mmCLR_CMP_CLR_DST 0x1238 -+#define mmCLR_CMP_CNTL 0x1230 -+#define mmCLR_CMP_MSK 0x123C -+#define mmDEFAULT_PITCH_OFFSET 0x10A0 -+#define mmDEFAULT_SC_BOTTOM_RIGHT 0x10A8 -+#define mmDEFAULT2_SC_BOTTOM_RIGHT 0x10AC -+#define mmREF1_PITCH_OFFSET 0x10B8 -+#define mmREF2_PITCH_OFFSET 0x10BC -+#define mmREF3_PITCH_OFFSET 0x10C0 -+#define mmREF4_PITCH_OFFSET 0x10C4 -+#define mmREF5_PITCH_OFFSET 0x10C8 -+#define mmREF6_PITCH_OFFSET 0x10CC -+#define mmDP_GUI_MASTER_CNTL 0x106C -+#define mmSC_TOP_LEFT 0x11BC -+#define mmSC_BOTTOM_RIGHT 0x11C0 -+#define mmSRC_SC_BOTTOM_RIGHT 0x11C4 -+#define mmGLOBAL_ALPHA 0x1210 -+#define mmFILTER_COEF 0x1214 -+#define mmMVC_CNTL_START 0x11E0 -+#define mmE2_ARITHMETIC_CNTL 0x1220 -+#define mmDEBUG0 0x1280 -+#define mmDEBUG1 0x1284 -+#define mmDEBUG2 0x1288 -+#define mmDEBUG3 0x128C -+#define mmDEBUG4 0x1290 -+#define mmDEBUG5 0x1294 -+#define mmDEBUG6 0x1298 -+#define mmDEBUG7 0x129C -+#define mmDEBUG8 0x12A0 -+#define mmDEBUG9 0x12A4 -+#define mmDEBUG10 0x12A8 -+#define mmDEBUG11 0x12AC -+#define mmDEBUG12 0x12B0 -+#define mmDEBUG13 0x12B4 -+#define mmDEBUG14 0x12B8 -+#define mmDEBUG15 0x12BC -+#define mmENG_CNTL 0x13E8 -+#define mmENG_PERF_CNT 0x13F0 -+/* Block GFX End: */ -+ -+/* Block IDCT Start: */ -+#define mmIDCT_RUNS 0x0C00 -+#define mmIDCT_LEVELS 0x0C04 -+#define mmIDCT_CONTROL 0x0C3C -+#define mmIDCT_AUTH_CONTROL 0x0C08 -+#define mmIDCT_AUTH 0x0C0C -+/* Block IDCT End: */ -+ -+/* Block MC Start: */ -+#define mmMEM_CNTL 0x0180 -+#define mmMEM_ARB 0x0184 -+#define mmMC_FB_LOCATION 0x0188 -+#define mmMEM_EXT_CNTL 0x018C -+#define mmMC_EXT_MEM_LOCATION 0x0190 -+#define mmMEM_EXT_TIMING_CNTL 0x0194 -+#define mmMEM_SDRAM_MODE_REG 0x0198 -+#define mmMEM_IO_CNTL 0x019C -+#define mmMC_DEBUG 0x01A0 -+#define mmMC_BIST_CTRL 0x01A4 -+#define mmMC_BIST_COLLAR_READ 0x01A8 -+#define mmTC_MISMATCH 0x01AC -+#define mmMC_PERF_MON_CNTL 0x01B0 -+#define mmMC_PERF_COUNTERS 0x01B4 -+/* Block MC End: */ -+ -+/* Block RBBM Start: */ -+#define mmWAIT_UNTIL 0x1400 -+#define mmISYNC_CNTL 0x1404 -+#define mmRBBM_GUICNTL 0x1408 -+#define mmRBBM_STATUS 0x0140 -+#define mmRBBM_STATUS_alt_1 0x140C -+#define mmRBBM_CNTL 0x0144 -+#define mmRBBM_SOFT_RESET 0x0148 -+#define mmNQWAIT_UNTIL 0x0150 -+#define mmRBBM_DEBUG 0x016C -+#define mmRBBM_CMDFIFO_ADDR 0x0170 -+#define mmRBBM_CMDFIFO_DATAL 0x0174 -+#define mmRBBM_CMDFIFO_DATAH 0x0178 -+#define mmRBBM_CMDFIFO_STAT 0x017C -+/* Block RBBM End: */ -+ -+/* Block CG Start: */ -+#define mmCLK_PIN_CNTL 0x0080 -+#define mmPLL_REF_FB_DIV 0x0084 -+#define mmPLL_CNTL 0x0088 -+#define mmSCLK_CNTL 0x008C -+#define mmPCLK_CNTL 0x0090 -+#define mmCLK_TEST_CNTL 0x0094 -+#define mmPWRMGT_CNTL 0x0098 -+#define mmPWRMGT_STATUS 0x009C -+/* Block CG End: */ -+ -+ -+/* data structure definitions */ -+ -+typedef struct _chip_id_t { -+ unsigned long vendor_id : 16; -+ unsigned long device_id : 16; -+ } chip_id_t; -+ -+typedef union { -+ unsigned long val : 32; -+ chip_id_t f; -+} chip_id_u; -+ -+typedef struct _revision_id_t { -+ unsigned long minor_rev_id : 4; -+ unsigned long major_rev_id : 4; -+ unsigned long : 24; -+ } revision_id_t; -+ -+typedef union { -+ unsigned long val : 32; -+ revision_id_t f; -+} revision_id_u; -+ -+typedef struct _wrap_buf_a_t { -+ unsigned long offset_addr_a : 24; -+ unsigned long block_size_a : 3; -+ unsigned long : 5; -+ } wrap_buf_a_t; -+ -+typedef union { -+ unsigned long val : 32; -+ wrap_buf_a_t f; -+} wrap_buf_a_u; -+ -+typedef struct _wrap_buf_b_t { -+ unsigned long offset_addr_b : 24; -+ unsigned long block_size_b : 3; -+ unsigned long : 5; -+ } wrap_buf_b_t; -+ -+typedef union { -+ unsigned long val : 32; -+ wrap_buf_b_t f; -+} wrap_buf_b_u; -+ -+typedef struct _wrap_top_dir_t { -+ unsigned long top_addr : 23; -+ unsigned long : 9; -+ } wrap_top_dir_t; -+ -+typedef union { -+ unsigned long val : 32; -+ wrap_top_dir_t f; -+} wrap_top_dir_u; -+ -+typedef struct _wrap_start_dir_t { -+ unsigned long start_addr : 23; -+ unsigned long : 9; -+ } wrap_start_dir_t; -+ -+typedef union { -+ unsigned long val : 32; -+ wrap_start_dir_t f; -+} wrap_start_dir_u; -+ -+typedef struct _cif_cntl_t { -+ unsigned long swap_reg : 2; -+ unsigned long swap_fbuf_1 : 2; -+ unsigned long swap_fbuf_2 : 2; -+ unsigned long swap_fbuf_3 : 2; -+ unsigned long pmi_int_disable : 1; -+ unsigned long pmi_schmen_disable : 1; -+ unsigned long intb_oe : 1; -+ unsigned long en_wait_to_compensate_dq_prop_dly : 1; -+ unsigned long compensate_wait_rd_size : 2; -+ unsigned long wait_asserted_timeout_val : 2; -+ unsigned long wait_masked_val : 2; -+ unsigned long en_wait_timeout : 1; -+ unsigned long en_one_clk_setup_before_wait : 1; -+ unsigned long interrupt_active_high : 1; -+ unsigned long en_overwrite_straps : 1; -+ unsigned long strap_wait_active_hi : 1; -+ unsigned long lat_busy_count : 2; -+ unsigned long lat_rd_pm4_sclk_busy : 1; -+ unsigned long dis_system_bits : 1; -+ unsigned long dis_mr : 1; -+ unsigned long cif_spare_1 : 4; -+ } cif_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cif_cntl_t f; -+} cif_cntl_u; -+ -+typedef struct _cfgreg_base_t { -+ unsigned long cfgreg_base : 24; -+ unsigned long : 8; -+ } cfgreg_base_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cfgreg_base_t f; -+} cfgreg_base_u; -+ -+typedef struct _cif_io_t { -+ unsigned long dq_srp : 1; -+ unsigned long dq_srn : 1; -+ unsigned long dq_sp : 4; -+ unsigned long dq_sn : 4; -+ unsigned long waitb_srp : 1; -+ unsigned long waitb_srn : 1; -+ unsigned long waitb_sp : 4; -+ unsigned long waitb_sn : 4; -+ unsigned long intb_srp : 1; -+ unsigned long intb_srn : 1; -+ unsigned long intb_sp : 4; -+ unsigned long intb_sn : 4; -+ unsigned long : 2; -+ } cif_io_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cif_io_t f; -+} cif_io_u; -+ -+typedef struct _cif_read_dbg_t { -+ unsigned long unpacker_pre_fetch_trig_gen : 2; -+ unsigned long dly_second_rd_fetch_trig : 1; -+ unsigned long rst_rd_burst_id : 1; -+ unsigned long dis_rd_burst_id : 1; -+ unsigned long en_block_rd_when_packer_is_not_emp : 1; -+ unsigned long dis_pre_fetch_cntl_sm : 1; -+ unsigned long rbbm_chrncy_dis : 1; -+ unsigned long rbbm_rd_after_wr_lat : 2; -+ unsigned long dis_be_during_rd : 1; -+ unsigned long one_clk_invalidate_pulse : 1; -+ unsigned long dis_chnl_priority : 1; -+ unsigned long rst_read_path_a_pls : 1; -+ unsigned long rst_read_path_b_pls : 1; -+ unsigned long dis_reg_rd_fetch_trig : 1; -+ unsigned long dis_rd_fetch_trig_from_ind_addr : 1; -+ unsigned long dis_rd_same_byte_to_trig_fetch : 1; -+ unsigned long dis_dir_wrap : 1; -+ unsigned long dis_ring_buf_to_force_dec : 1; -+ unsigned long dis_addr_comp_in_16bit : 1; -+ unsigned long clr_w : 1; -+ unsigned long err_rd_tag_is_3 : 1; -+ unsigned long err_load_when_ful_a : 1; -+ unsigned long err_load_when_ful_b : 1; -+ unsigned long : 7; -+ } cif_read_dbg_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cif_read_dbg_t f; -+} cif_read_dbg_u; -+ -+typedef struct _cif_write_dbg_t { -+ unsigned long packer_timeout_count : 2; -+ unsigned long en_upper_load_cond : 1; -+ unsigned long en_chnl_change_cond : 1; -+ unsigned long dis_addr_comp_cond : 1; -+ unsigned long dis_load_same_byte_addr_cond : 1; -+ unsigned long dis_timeout_cond : 1; -+ unsigned long dis_timeout_during_rbbm : 1; -+ unsigned long dis_packer_ful_during_rbbm_timeout : 1; -+ unsigned long en_dword_split_to_rbbm : 1; -+ unsigned long en_dummy_val : 1; -+ unsigned long dummy_val_sel : 1; -+ unsigned long mask_pm4_wrptr_dec : 1; -+ unsigned long dis_mc_clean_cond : 1; -+ unsigned long err_two_reqi_during_ful : 1; -+ unsigned long err_reqi_during_idle_clk : 1; -+ unsigned long err_global : 1; -+ unsigned long en_wr_buf_dbg_load : 1; -+ unsigned long en_wr_buf_dbg_path : 1; -+ unsigned long sel_wr_buf_byte : 3; -+ unsigned long dis_rd_flush_wr : 1; -+ unsigned long dis_packer_ful_cond : 1; -+ unsigned long dis_invalidate_by_ops_chnl : 1; -+ unsigned long en_halt_when_reqi_err : 1; -+ unsigned long cif_spare_2 : 5; -+ unsigned long : 1; -+ } cif_write_dbg_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cif_write_dbg_t f; -+} cif_write_dbg_u; -+ -+typedef struct _ind_addr_a_0_t { -+ unsigned char ind_addr_a_0 : 8; -+ } ind_addr_a_0_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_addr_a_0_t f; -+} ind_addr_a_0_u; -+ -+typedef struct _ind_addr_a_1_t { -+ unsigned char ind_addr_a_1 : 8; -+ } ind_addr_a_1_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_addr_a_1_t f; -+} ind_addr_a_1_u; -+ -+typedef struct _ind_addr_a_2_t { -+ unsigned char ind_addr_a_2 : 8; -+ } ind_addr_a_2_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_addr_a_2_t f; -+} ind_addr_a_2_u; -+ -+typedef struct _ind_data_a_t { -+ unsigned char ind_data_a : 8; -+ } ind_data_a_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_data_a_t f; -+} ind_data_a_u; -+ -+typedef struct _reg_base_t { -+ unsigned char reg_base : 8; -+ } reg_base_t; -+ -+typedef union { -+ unsigned char val : 8; -+ reg_base_t f; -+} reg_base_u; -+ -+typedef struct _intf_cntl_t { -+ unsigned char ad_inc_a : 1; -+ unsigned char ring_buf_a : 1; -+ unsigned char rd_fetch_trigger_a : 1; -+ unsigned char rd_data_rdy_a : 1; -+ unsigned char ad_inc_b : 1; -+ unsigned char ring_buf_b : 1; -+ unsigned char rd_fetch_trigger_b : 1; -+ unsigned char rd_data_rdy_b : 1; -+ } intf_cntl_t; -+ -+typedef union { -+ unsigned char val : 8; -+ intf_cntl_t f; -+} intf_cntl_u; -+ -+typedef struct _status_t { -+ unsigned char wr_fifo_available_space : 2; -+ unsigned char fbuf_wr_pipe_emp : 1; -+ unsigned char soft_reset : 1; -+ unsigned char system_pwm_mode : 2; -+ unsigned char mem_access_dis : 1; -+ unsigned char en_pre_fetch : 1; -+ } status_t; -+ -+typedef union { -+ unsigned char val : 8; -+ status_t f; -+} status_u; -+ -+typedef struct _cpu_defaults_t { -+ unsigned char unpack_rd_data : 1; -+ unsigned char access_ind_addr_a : 1; -+ unsigned char access_ind_addr_b : 1; -+ unsigned char access_scratch_reg : 1; -+ unsigned char pack_wr_data : 1; -+ unsigned char transition_size : 1; -+ unsigned char en_read_buf_mode : 1; -+ unsigned char rd_fetch_scratch : 1; -+ } cpu_defaults_t; -+ -+typedef union { -+ unsigned char val : 8; -+ cpu_defaults_t f; -+} cpu_defaults_u; -+ -+typedef struct _ind_addr_b_0_t { -+ unsigned char ind_addr_b_0 : 8; -+ } ind_addr_b_0_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_addr_b_0_t f; -+} ind_addr_b_0_u; -+ -+typedef struct _ind_addr_b_1_t { -+ unsigned char ind_addr_b_1 : 8; -+ } ind_addr_b_1_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_addr_b_1_t f; -+} ind_addr_b_1_u; -+ -+typedef struct _ind_addr_b_2_t { -+ unsigned char ind_addr_b_2 : 8; -+ } ind_addr_b_2_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_addr_b_2_t f; -+} ind_addr_b_2_u; -+ -+typedef struct _ind_data_b_t { -+ unsigned char ind_data_b : 8; -+ } ind_data_b_t; -+ -+typedef union { -+ unsigned char val : 8; -+ ind_data_b_t f; -+} ind_data_b_u; -+ -+typedef struct _pm4_rptr_t { -+ unsigned char pm4_rptr : 8; -+ } pm4_rptr_t; -+ -+typedef union { -+ unsigned char val : 8; -+ pm4_rptr_t f; -+} pm4_rptr_u; -+ -+typedef struct _scratch_t { -+ unsigned char scratch : 8; -+ } scratch_t; -+ -+typedef union { -+ unsigned char val : 8; -+ scratch_t f; -+} scratch_u; -+ -+typedef struct _pm4_wrptr_0_t { -+ unsigned char pm4_wrptr_0 : 8; -+ } pm4_wrptr_0_t; -+ -+typedef union { -+ unsigned char val : 8; -+ pm4_wrptr_0_t f; -+} pm4_wrptr_0_u; -+ -+typedef struct _pm4_wrptr_1_t { -+ unsigned char pm4_wrptr_1 : 6; -+ unsigned char rd_fetch_pm4_rptr : 1; -+ unsigned char wrptr_atomic_update_w : 1; -+ } pm4_wrptr_1_t; -+ -+typedef union { -+ unsigned char val : 8; -+ pm4_wrptr_1_t f; -+} pm4_wrptr_1_u; -+ -+typedef struct _cp_rb_cntl_t { -+ unsigned long rb_bufsz : 6; -+ unsigned long : 2; -+ unsigned long rb_blksz : 6; -+ unsigned long : 2; -+ unsigned long buf_swap : 2; -+ unsigned long max_fetch : 2; -+ unsigned long : 7; -+ unsigned long rb_no_update : 1; -+ unsigned long : 3; -+ unsigned long rb_rptr_wr_ena : 1; -+ } cp_rb_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_rb_cntl_t f; -+} cp_rb_cntl_u; -+ -+typedef struct _cp_rb_base_t { -+ unsigned long : 2; -+ unsigned long rb_base : 22; -+ unsigned long : 8; -+ } cp_rb_base_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_rb_base_t f; -+} cp_rb_base_u; -+ -+typedef struct _cp_rb_rptr_addr_t { -+ unsigned long rb_rptr_swap : 2; -+ unsigned long rb_rptr_addr : 22; -+ unsigned long : 8; -+ } cp_rb_rptr_addr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_rb_rptr_addr_t f; -+} cp_rb_rptr_addr_u; -+ -+typedef struct _cp_rb_rptr_t { -+ unsigned long rb_rptr : 23; -+ unsigned long : 9; -+ } cp_rb_rptr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_rb_rptr_t f; -+} cp_rb_rptr_u; -+ -+typedef struct _cp_rb_rptr_wr_t { -+ unsigned long rb_rptr_wr : 23; -+ unsigned long : 9; -+ } cp_rb_rptr_wr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_rb_rptr_wr_t f; -+} cp_rb_rptr_wr_u; -+ -+typedef struct _cp_rb_wptr_t { -+ unsigned long rb_wptr : 23; -+ unsigned long : 9; -+ } cp_rb_wptr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_rb_wptr_t f; -+} cp_rb_wptr_u; -+ -+typedef struct _cp_ib_base_t { -+ unsigned long : 2; -+ unsigned long ib_base : 22; -+ unsigned long : 8; -+ } cp_ib_base_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_ib_base_t f; -+} cp_ib_base_u; -+ -+typedef struct _cp_ib_bufsz_t { -+ unsigned long ib_bufsz : 23; -+ unsigned long : 9; -+ } cp_ib_bufsz_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_ib_bufsz_t f; -+} cp_ib_bufsz_u; -+ -+typedef struct _cp_csq_cntl_t { -+ unsigned long csq_cnt_primary : 8; -+ unsigned long csq_cnt_indirect : 8; -+ unsigned long : 12; -+ unsigned long csq_mode : 4; -+ } cp_csq_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_csq_cntl_t f; -+} cp_csq_cntl_u; -+ -+typedef struct _cp_csq_aper_primary_t { -+ unsigned long cp_csq_aper_primary : 32; -+ } cp_csq_aper_primary_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_csq_aper_primary_t f; -+} cp_csq_aper_primary_u; -+ -+typedef struct _cp_csq_aper_indirect_t { -+ unsigned long cp_csq_aper_indirect : 32; -+ } cp_csq_aper_indirect_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_csq_aper_indirect_t f; -+} cp_csq_aper_indirect_u; -+ -+typedef struct _cp_me_cntl_t { -+ unsigned long me_stat : 16; -+ unsigned long me_statmux : 5; -+ unsigned long : 8; -+ unsigned long me_busy : 1; -+ unsigned long me_mode : 1; -+ unsigned long me_step : 1; -+ } cp_me_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_me_cntl_t f; -+} cp_me_cntl_u; -+ -+typedef struct _cp_me_ram_addr_t { -+ unsigned long me_ram_addr : 8; -+ unsigned long : 24; -+ } cp_me_ram_addr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_me_ram_addr_t f; -+} cp_me_ram_addr_u; -+ -+typedef struct _cp_me_ram_raddr_t { -+ unsigned long me_ram_raddr : 8; -+ unsigned long : 24; -+ } cp_me_ram_raddr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_me_ram_raddr_t f; -+} cp_me_ram_raddr_u; -+ -+typedef struct _cp_me_ram_datah_t { -+ unsigned long me_ram_datah : 6; -+ unsigned long : 26; -+ } cp_me_ram_datah_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_me_ram_datah_t f; -+} cp_me_ram_datah_u; -+ -+typedef struct _cp_me_ram_datal_t { -+ unsigned long me_ram_datal : 32; -+ } cp_me_ram_datal_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_me_ram_datal_t f; -+} cp_me_ram_datal_u; -+ -+typedef struct _cp_debug_t { -+ unsigned long cp_debug : 32; -+ } cp_debug_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_debug_t f; -+} cp_debug_u; -+ -+typedef struct _scratch_reg0_t { -+ unsigned long scratch_reg0 : 32; -+ } scratch_reg0_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_reg0_t f; -+} scratch_reg0_u; -+ -+typedef struct _scratch_reg1_t { -+ unsigned long scratch_reg1 : 32; -+ } scratch_reg1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_reg1_t f; -+} scratch_reg1_u; -+ -+typedef struct _scratch_reg2_t { -+ unsigned long scratch_reg2 : 32; -+ } scratch_reg2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_reg2_t f; -+} scratch_reg2_u; -+ -+typedef struct _scratch_reg3_t { -+ unsigned long scratch_reg3 : 32; -+ } scratch_reg3_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_reg3_t f; -+} scratch_reg3_u; -+ -+typedef struct _scratch_reg4_t { -+ unsigned long scratch_reg4 : 32; -+ } scratch_reg4_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_reg4_t f; -+} scratch_reg4_u; -+ -+typedef struct _scratch_reg5_t { -+ unsigned long scratch_reg5 : 32; -+ } scratch_reg5_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_reg5_t f; -+} scratch_reg5_u; -+ -+typedef struct _scratch_umsk_t { -+ unsigned long scratch_umsk : 6; -+ unsigned long : 10; -+ unsigned long scratch_swap : 2; -+ unsigned long : 14; -+ } scratch_umsk_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_umsk_t f; -+} scratch_umsk_u; -+ -+typedef struct _scratch_addr_t { -+ unsigned long : 5; -+ unsigned long scratch_addr : 27; -+ } scratch_addr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ scratch_addr_t f; -+} scratch_addr_u; -+ -+typedef struct _cp_csq_addr_t { -+ unsigned long : 2; -+ unsigned long csq_addr : 8; -+ unsigned long : 22; -+ } cp_csq_addr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_csq_addr_t f; -+} cp_csq_addr_u; -+ -+typedef struct _cp_csq_data_t { -+ unsigned long csq_data : 32; -+ } cp_csq_data_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_csq_data_t f; -+} cp_csq_data_u; -+ -+typedef struct _cp_csq_stat_t { -+ unsigned long csq_rptr_primary : 8; -+ unsigned long csq_wptr_primary : 8; -+ unsigned long csq_rptr_indirect : 8; -+ unsigned long csq_wptr_indirect : 8; -+ } cp_csq_stat_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_csq_stat_t f; -+} cp_csq_stat_u; -+ -+typedef struct _cp_stat_t { -+ unsigned long mru_busy : 1; -+ unsigned long mwu_busy : 1; -+ unsigned long rsiu_busy : 1; -+ unsigned long rciu_busy : 1; -+ unsigned long : 5; -+ unsigned long csf_primary_busy : 1; -+ unsigned long csf_indirect_busy : 1; -+ unsigned long csq_primary_busy : 1; -+ unsigned long csq_indirect_busy : 1; -+ unsigned long csi_busy : 1; -+ unsigned long : 14; -+ unsigned long guidma_busy : 1; -+ unsigned long viddma_busy : 1; -+ unsigned long cmdstrm_busy : 1; -+ unsigned long cp_busy : 1; -+ } cp_stat_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cp_stat_t f; -+} cp_stat_u; -+ -+typedef struct _gen_int_cntl_t { -+ unsigned long crtc_vblank_mask : 1; -+ unsigned long crtc_vline_mask : 1; -+ unsigned long crtc_hwint1_mask : 1; -+ unsigned long crtc_hwint2_mask : 1; -+ unsigned long : 15; -+ unsigned long gui_idle_mask : 1; -+ unsigned long : 8; -+ unsigned long pm4_idle_int_mask : 1; -+ unsigned long dvi_i2c_int_mask : 1; -+ unsigned long : 2; -+ } gen_int_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gen_int_cntl_t f; -+} gen_int_cntl_u; -+ -+typedef struct _gen_int_status_rd_t { -+ unsigned long crtc_vblank_stat : 1; -+ unsigned long crtc_vline_stat : 1; -+ unsigned long crtc_hwint1_stat : 1; -+ unsigned long crtc_hwint2_stat : 1; -+ unsigned long : 15; -+ unsigned long gui_idle_stat : 1; -+ unsigned long : 8; -+ unsigned long pm4_idle_int_stat : 1; -+ unsigned long dvi_i2c_int_stat : 1; -+ unsigned long : 2; -+ } gen_int_status_rd_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gen_int_status_rd_t f; -+} gen_int_status_rd_u; -+ -+typedef struct _gen_int_status_wr_t { -+ unsigned long crtc_vblank_stat_ak : 1; -+ unsigned long crtc_vline_stat_ak : 1; -+ unsigned long crtc_hwint1_stat_ak : 1; -+ unsigned long crtc_hwint2_stat_ak : 1; -+ unsigned long : 15; -+ unsigned long gui_idle_stat_ak : 1; -+ unsigned long : 8; -+ unsigned long pm4_idle_int_ak : 1; -+ unsigned long dvi_i2c_int_ak : 1; -+ unsigned long : 2; -+ } gen_int_status_wr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gen_int_status_wr_t f; -+} gen_int_status_wr_u; -+ -+typedef struct _lcd_format_t { -+ unsigned long lcd_type : 4; -+ unsigned long color_to_mono : 1; -+ unsigned long data_inv : 1; -+ unsigned long stn_fm : 2; -+ unsigned long tft_fm : 2; -+ unsigned long scan_lr_en : 1; -+ unsigned long scan_ud_en : 1; -+ unsigned long pol_inv : 1; -+ unsigned long rst_fm : 1; -+ unsigned long yuv_to_rgb : 1; -+ unsigned long hr_tft : 1; -+ unsigned long ulc_panel : 1; -+ unsigned long : 15; -+ } lcd_format_t; -+ -+typedef union { -+ unsigned long val : 32; -+ lcd_format_t f; -+} lcd_format_u; -+ -+typedef struct _graphic_ctrl_t { -+ unsigned long color_depth : 3; -+ unsigned long portrait_mode : 2; -+ unsigned long low_power_on : 1; -+ unsigned long req_freq : 4; -+ unsigned long en_crtc : 1; -+ unsigned long en_graphic_req : 1; -+ unsigned long en_graphic_crtc : 1; -+ unsigned long total_req_graphic : 9; -+ unsigned long lcd_pclk_on : 1; -+ unsigned long lcd_sclk_on : 1; -+ unsigned long pclk_running : 1; -+ unsigned long sclk_running : 1; -+ unsigned long : 6; -+ } graphic_ctrl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ graphic_ctrl_t f; -+} graphic_ctrl_u; -+ -+typedef struct _graphic_offset_t { -+ unsigned long graphic_offset : 24; -+ unsigned long : 8; -+ } graphic_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ graphic_offset_t f; -+} graphic_offset_u; -+ -+typedef struct _graphic_pitch_t { -+ unsigned long graphic_pitch : 11; -+ unsigned long : 21; -+ } graphic_pitch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ graphic_pitch_t f; -+} graphic_pitch_u; -+ -+typedef struct _crtc_total_t { -+ unsigned long crtc_h_total : 10; -+ unsigned long : 6; -+ unsigned long crtc_v_total : 10; -+ unsigned long : 6; -+ } crtc_total_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_total_t f; -+} crtc_total_u; -+ -+typedef struct _active_h_disp_t { -+ unsigned long active_h_start : 10; -+ unsigned long : 6; -+ unsigned long active_h_end : 10; -+ unsigned long : 6; -+ } active_h_disp_t; -+ -+typedef union { -+ unsigned long val : 32; -+ active_h_disp_t f; -+} active_h_disp_u; -+ -+typedef struct _active_v_disp_t { -+ unsigned long active_v_start : 10; -+ unsigned long : 6; -+ unsigned long active_v_end : 10; -+ unsigned long : 6; -+ } active_v_disp_t; -+ -+typedef union { -+ unsigned long val : 32; -+ active_v_disp_t f; -+} active_v_disp_u; -+ -+typedef struct _graphic_h_disp_t { -+ unsigned long graphic_h_start : 10; -+ unsigned long : 6; -+ unsigned long graphic_h_end : 10; -+ unsigned long : 6; -+ } graphic_h_disp_t; -+ -+typedef union { -+ unsigned long val : 32; -+ graphic_h_disp_t f; -+} graphic_h_disp_u; -+ -+typedef struct _graphic_v_disp_t { -+ unsigned long graphic_v_start : 10; -+ unsigned long : 6; -+ unsigned long graphic_v_end : 10; -+ unsigned long : 6; -+ } graphic_v_disp_t; -+ -+typedef union { -+ unsigned long val : 32; -+ graphic_v_disp_t f; -+} graphic_v_disp_u; -+ -+typedef struct _video_ctrl_t { -+ unsigned long video_mode : 1; -+ unsigned long keyer_en : 1; -+ unsigned long en_video_req : 1; -+ unsigned long en_graphic_req_video : 1; -+ unsigned long en_video_crtc : 1; -+ unsigned long video_hor_exp : 2; -+ unsigned long video_ver_exp : 2; -+ unsigned long uv_combine : 1; -+ unsigned long total_req_video : 9; -+ unsigned long video_ch_sel : 1; -+ unsigned long video_portrait : 2; -+ unsigned long yuv2rgb_en : 1; -+ unsigned long yuv2rgb_option : 1; -+ unsigned long video_inv_hor : 1; -+ unsigned long video_inv_ver : 1; -+ unsigned long gamma_sel : 2; -+ unsigned long dis_limit : 1; -+ unsigned long en_uv_hblend : 1; -+ unsigned long rgb_gamma_sel : 2; -+ } video_ctrl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_ctrl_t f; -+} video_ctrl_u; -+ -+typedef struct _graphic_key_t { -+ unsigned long keyer_color : 16; -+ unsigned long keyer_mask : 16; -+ } graphic_key_t; -+ -+typedef union { -+ unsigned long val : 32; -+ graphic_key_t f; -+} graphic_key_u; -+ -+typedef struct _video_y_offset_t { -+ unsigned long y_offset : 24; -+ unsigned long : 8; -+ } video_y_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_y_offset_t f; -+} video_y_offset_u; -+ -+typedef struct _video_y_pitch_t { -+ unsigned long y_pitch : 11; -+ unsigned long : 21; -+ } video_y_pitch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_y_pitch_t f; -+} video_y_pitch_u; -+ -+typedef struct _video_u_offset_t { -+ unsigned long u_offset : 24; -+ unsigned long : 8; -+ } video_u_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_u_offset_t f; -+} video_u_offset_u; -+ -+typedef struct _video_u_pitch_t { -+ unsigned long u_pitch : 11; -+ unsigned long : 21; -+ } video_u_pitch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_u_pitch_t f; -+} video_u_pitch_u; -+ -+typedef struct _video_v_offset_t { -+ unsigned long v_offset : 24; -+ unsigned long : 8; -+ } video_v_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_v_offset_t f; -+} video_v_offset_u; -+ -+typedef struct _video_v_pitch_t { -+ unsigned long v_pitch : 11; -+ unsigned long : 21; -+ } video_v_pitch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_v_pitch_t f; -+} video_v_pitch_u; -+ -+typedef struct _video_h_pos_t { -+ unsigned long video_h_start : 10; -+ unsigned long : 6; -+ unsigned long video_h_end : 10; -+ unsigned long : 6; -+ } video_h_pos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_h_pos_t f; -+} video_h_pos_u; -+ -+typedef struct _video_v_pos_t { -+ unsigned long video_v_start : 10; -+ unsigned long : 6; -+ unsigned long video_v_end : 10; -+ unsigned long : 6; -+ } video_v_pos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ video_v_pos_t f; -+} video_v_pos_u; -+ -+typedef struct _brightness_cntl_t { -+ unsigned long brightness : 7; -+ unsigned long : 25; -+ } brightness_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ brightness_cntl_t f; -+} brightness_cntl_u; -+ -+typedef struct _cursor1_offset_t { -+ unsigned long cur1_offset : 24; -+ unsigned long cur1_x_offset : 4; -+ unsigned long cur1_y_offset : 4; -+ } cursor1_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor1_offset_t f; -+} cursor1_offset_u; -+ -+typedef struct _cursor1_h_pos_t { -+ unsigned long cur1_h_start : 10; -+ unsigned long : 6; -+ unsigned long cur1_h_end : 10; -+ unsigned long : 5; -+ unsigned long cur1_en : 1; -+ } cursor1_h_pos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor1_h_pos_t f; -+} cursor1_h_pos_u; -+ -+typedef struct _cursor1_v_pos_t { -+ unsigned long cur1_v_start : 10; -+ unsigned long : 6; -+ unsigned long cur1_v_end : 10; -+ unsigned long : 6; -+ } cursor1_v_pos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor1_v_pos_t f; -+} cursor1_v_pos_u; -+ -+typedef struct _cursor1_color0_t { -+ unsigned long cur1_color0_r : 8; -+ unsigned long cur1_color0_g : 8; -+ unsigned long cur1_color0_b : 8; -+ unsigned long : 8; -+ } cursor1_color0_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor1_color0_t f; -+} cursor1_color0_u; -+ -+typedef struct _cursor1_color1_t { -+ unsigned long cur1_color1_r : 8; -+ unsigned long cur1_color1_g : 8; -+ unsigned long cur1_color1_b : 8; -+ unsigned long : 8; -+ } cursor1_color1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor1_color1_t f; -+} cursor1_color1_u; -+ -+typedef struct _cursor2_offset_t { -+ unsigned long cur2_offset : 24; -+ unsigned long cur2_x_offset : 4; -+ unsigned long cur2_y_offset : 4; -+ } cursor2_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor2_offset_t f; -+} cursor2_offset_u; -+ -+typedef struct _cursor2_h_pos_t { -+ unsigned long cur2_h_start : 10; -+ unsigned long : 6; -+ unsigned long cur2_h_end : 10; -+ unsigned long : 5; -+ unsigned long cur2_en : 1; -+ } cursor2_h_pos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor2_h_pos_t f; -+} cursor2_h_pos_u; -+ -+typedef struct _cursor2_v_pos_t { -+ unsigned long cur2_v_start : 10; -+ unsigned long : 6; -+ unsigned long cur2_v_end : 10; -+ unsigned long : 6; -+ } cursor2_v_pos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor2_v_pos_t f; -+} cursor2_v_pos_u; -+ -+typedef struct _cursor2_color0_t { -+ unsigned long cur2_color0_r : 8; -+ unsigned long cur2_color0_g : 8; -+ unsigned long cur2_color0_b : 8; -+ unsigned long : 8; -+ } cursor2_color0_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor2_color0_t f; -+} cursor2_color0_u; -+ -+typedef struct _cursor2_color1_t { -+ unsigned long cur2_color1_r : 8; -+ unsigned long cur2_color1_g : 8; -+ unsigned long cur2_color1_b : 8; -+ unsigned long : 8; -+ } cursor2_color1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ cursor2_color1_t f; -+} cursor2_color1_u; -+ -+typedef struct _disp_int_cntl_t { -+ unsigned long vline_int_pos : 10; -+ unsigned long : 6; -+ unsigned long hpos_int_pos : 10; -+ unsigned long : 4; -+ unsigned long vblank_int_pol : 1; -+ unsigned long frame_int_pol : 1; -+ } disp_int_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ disp_int_cntl_t f; -+} disp_int_cntl_u; -+ -+typedef struct _crtc_ss_t { -+ unsigned long ss_start : 10; -+ unsigned long : 6; -+ unsigned long ss_end : 10; -+ unsigned long : 2; -+ unsigned long ss_align : 1; -+ unsigned long ss_pol : 1; -+ unsigned long ss_run_mode : 1; -+ unsigned long ss_en : 1; -+ } crtc_ss_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_ss_t f; -+} crtc_ss_u; -+ -+typedef struct _crtc_ls_t { -+ unsigned long ls_start : 10; -+ unsigned long : 6; -+ unsigned long ls_end : 10; -+ unsigned long : 2; -+ unsigned long ls_align : 1; -+ unsigned long ls_pol : 1; -+ unsigned long ls_run_mode : 1; -+ unsigned long ls_en : 1; -+ } crtc_ls_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_ls_t f; -+} crtc_ls_u; -+ -+typedef struct _crtc_rev_t { -+ unsigned long rev_pos : 10; -+ unsigned long : 6; -+ unsigned long rev_align : 1; -+ unsigned long rev_freq_nref : 5; -+ unsigned long rev_en : 1; -+ unsigned long : 9; -+ } crtc_rev_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_rev_t f; -+} crtc_rev_u; -+ -+typedef struct _crtc_dclk_t { -+ unsigned long dclk_start : 10; -+ unsigned long : 6; -+ unsigned long dclk_end : 10; -+ unsigned long : 1; -+ unsigned long dclk_run_mode : 2; -+ unsigned long dclk_pol : 1; -+ unsigned long dclk_align : 1; -+ unsigned long dclk_en : 1; -+ } crtc_dclk_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_dclk_t f; -+} crtc_dclk_u; -+ -+typedef struct _crtc_gs_t { -+ unsigned long gs_start : 10; -+ unsigned long : 6; -+ unsigned long gs_end : 10; -+ unsigned long : 3; -+ unsigned long gs_align : 1; -+ unsigned long gs_pol : 1; -+ unsigned long gs_en : 1; -+ } crtc_gs_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_gs_t f; -+} crtc_gs_u; -+ -+typedef struct _crtc_vpos_gs_t { -+ unsigned long gs_vpos_start : 10; -+ unsigned long : 6; -+ unsigned long gs_vpos_end : 10; -+ unsigned long : 6; -+ } crtc_vpos_gs_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_vpos_gs_t f; -+} crtc_vpos_gs_u; -+ -+typedef struct _crtc_gclk_t { -+ unsigned long gclk_start : 10; -+ unsigned long : 6; -+ unsigned long gclk_end : 10; -+ unsigned long : 3; -+ unsigned long gclk_align : 1; -+ unsigned long gclk_pol : 1; -+ unsigned long gclk_en : 1; -+ } crtc_gclk_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_gclk_t f; -+} crtc_gclk_u; -+ -+typedef struct _crtc_goe_t { -+ unsigned long goe_start : 10; -+ unsigned long : 6; -+ unsigned long goe_end : 10; -+ unsigned long : 3; -+ unsigned long goe_align : 1; -+ unsigned long goe_pol : 1; -+ unsigned long goe_en : 1; -+ } crtc_goe_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_goe_t f; -+} crtc_goe_u; -+ -+typedef struct _crtc_frame_t { -+ unsigned long crtc_fr_start : 10; -+ unsigned long : 6; -+ unsigned long crtc_fr_end : 10; -+ unsigned long : 4; -+ unsigned long crtc_frame_en : 1; -+ unsigned long crtc_frame_align : 1; -+ } crtc_frame_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_frame_t f; -+} crtc_frame_u; -+ -+typedef struct _crtc_frame_vpos_t { -+ unsigned long crtc_fr_vpos : 10; -+ unsigned long : 22; -+ } crtc_frame_vpos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_frame_vpos_t f; -+} crtc_frame_vpos_u; -+ -+typedef struct _gpio_data_t { -+ unsigned long gio_out : 16; -+ unsigned long gio_in : 16; -+ } gpio_data_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gpio_data_t f; -+} gpio_data_u; -+ -+typedef struct _gpio_cntl1_t { -+ unsigned long gio_pd : 16; -+ unsigned long gio_schmen : 16; -+ } gpio_cntl1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gpio_cntl1_t f; -+} gpio_cntl1_u; -+ -+typedef struct _gpio_cntl2_t { -+ unsigned long gio_oe : 16; -+ unsigned long gio_srp : 1; -+ unsigned long gio_srn : 1; -+ unsigned long gio_sp : 4; -+ unsigned long gio_sn : 4; -+ unsigned long : 6; -+ } gpio_cntl2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gpio_cntl2_t f; -+} gpio_cntl2_u; -+ -+typedef struct _lcdd_cntl1_t { -+ unsigned long lcdd_pd : 18; -+ unsigned long lcdd_srp : 1; -+ unsigned long lcdd_srn : 1; -+ unsigned long lcdd_sp : 4; -+ unsigned long lcdd_sn : 4; -+ unsigned long lcdd_align : 1; -+ unsigned long : 3; -+ } lcdd_cntl1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ lcdd_cntl1_t f; -+} lcdd_cntl1_u; -+ -+typedef struct _lcdd_cntl2_t { -+ unsigned long lcdd_oe : 18; -+ unsigned long : 14; -+ } lcdd_cntl2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ lcdd_cntl2_t f; -+} lcdd_cntl2_u; -+ -+typedef struct _genlcd_cntl1_t { -+ unsigned long dclk_oe : 1; -+ unsigned long dclk_pd : 1; -+ unsigned long dclk_srp : 1; -+ unsigned long dclk_srn : 1; -+ unsigned long dclk_sp : 4; -+ unsigned long dclk_sn : 4; -+ unsigned long ss_oe : 1; -+ unsigned long ss_pd : 1; -+ unsigned long ls_oe : 1; -+ unsigned long ls_pd : 1; -+ unsigned long gs_oe : 1; -+ unsigned long gs_pd : 1; -+ unsigned long goe_oe : 1; -+ unsigned long goe_pd : 1; -+ unsigned long rev_oe : 1; -+ unsigned long rev_pd : 1; -+ unsigned long frame_oe : 1; -+ unsigned long frame_pd : 1; -+ unsigned long : 8; -+ } genlcd_cntl1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ genlcd_cntl1_t f; -+} genlcd_cntl1_u; -+ -+typedef struct _genlcd_cntl2_t { -+ unsigned long gclk_oe : 1; -+ unsigned long gclk_pd : 1; -+ unsigned long gclk_srp : 1; -+ unsigned long gclk_srn : 1; -+ unsigned long gclk_sp : 4; -+ unsigned long gclk_sn : 4; -+ unsigned long genlcd_srp : 1; -+ unsigned long genlcd_srn : 1; -+ unsigned long genlcd_sp : 4; -+ unsigned long genlcd_sn : 4; -+ unsigned long : 10; -+ } genlcd_cntl2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ genlcd_cntl2_t f; -+} genlcd_cntl2_u; -+ -+typedef struct _disp_debug_t { -+ unsigned long disp_debug : 32; -+ } disp_debug_t; -+ -+typedef union { -+ unsigned long val : 32; -+ disp_debug_t f; -+} disp_debug_u; -+ -+typedef struct _disp_db_buf_cntl_rd_t { -+ unsigned long en_db_buf : 1; -+ unsigned long update_db_buf_done : 1; -+ unsigned long db_buf_cntl : 6; -+ unsigned long : 24; -+ } disp_db_buf_cntl_rd_t; -+ -+typedef union { -+ unsigned long val : 32; -+ disp_db_buf_cntl_rd_t f; -+} disp_db_buf_cntl_rd_u; -+ -+typedef struct _disp_db_buf_cntl_wr_t { -+ unsigned long en_db_buf : 1; -+ unsigned long update_db_buf : 1; -+ unsigned long db_buf_cntl : 6; -+ unsigned long : 24; -+ } disp_db_buf_cntl_wr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ disp_db_buf_cntl_wr_t f; -+} disp_db_buf_cntl_wr_u; -+ -+typedef struct _disp_crc_sig_t { -+ unsigned long crc_sig_r : 6; -+ unsigned long crc_sig_g : 6; -+ unsigned long crc_sig_b : 6; -+ unsigned long crc_cont_en : 1; -+ unsigned long crc_en : 1; -+ unsigned long crc_mask_en : 1; -+ unsigned long crc_sig_cntl : 6; -+ unsigned long : 5; -+ } disp_crc_sig_t; -+ -+typedef union { -+ unsigned long val : 32; -+ disp_crc_sig_t f; -+} disp_crc_sig_u; -+ -+typedef struct _crtc_default_count_t { -+ unsigned long crtc_hcount_def : 10; -+ unsigned long : 6; -+ unsigned long crtc_vcount_def : 10; -+ unsigned long : 6; -+ } crtc_default_count_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_default_count_t f; -+} crtc_default_count_u; -+ -+typedef struct _lcd_background_color_t { -+ unsigned long lcd_bg_red : 8; -+ unsigned long lcd_bg_green : 8; -+ unsigned long lcd_bg_blue : 8; -+ unsigned long : 8; -+ } lcd_background_color_t; -+ -+typedef union { -+ unsigned long val : 32; -+ lcd_background_color_t f; -+} lcd_background_color_u; -+ -+typedef struct _crtc_ps2_t { -+ unsigned long ps2_start : 10; -+ unsigned long : 6; -+ unsigned long ps2_end : 10; -+ unsigned long : 4; -+ unsigned long ps2_pol : 1; -+ unsigned long ps2_en : 1; -+ } crtc_ps2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_ps2_t f; -+} crtc_ps2_u; -+ -+typedef struct _crtc_ps2_vpos_t { -+ unsigned long ps2_vpos_start : 10; -+ unsigned long : 6; -+ unsigned long ps2_vpos_end : 10; -+ unsigned long : 6; -+ } crtc_ps2_vpos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_ps2_vpos_t f; -+} crtc_ps2_vpos_u; -+ -+typedef struct _crtc_ps1_active_t { -+ unsigned long ps1_h_start : 10; -+ unsigned long : 6; -+ unsigned long ps1_h_end : 10; -+ unsigned long : 3; -+ unsigned long ps1_pol : 1; -+ unsigned long ps1_en : 1; -+ unsigned long ps1_use_nactive : 1; -+ } crtc_ps1_active_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_ps1_active_t f; -+} crtc_ps1_active_u; -+ -+typedef struct _crtc_ps1_nactive_t { -+ unsigned long ps1_h_start_na : 10; -+ unsigned long : 6; -+ unsigned long ps1_h_end_na : 10; -+ unsigned long : 5; -+ unsigned long ps1_en_na : 1; -+ } crtc_ps1_nactive_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_ps1_nactive_t f; -+} crtc_ps1_nactive_u; -+ -+typedef struct _crtc_gclk_ext_t { -+ unsigned long gclk_alter_start : 10; -+ unsigned long : 6; -+ unsigned long gclk_alter_width : 2; -+ unsigned long gclk_en_alter : 1; -+ unsigned long gclk_db_width : 2; -+ unsigned long : 11; -+ } crtc_gclk_ext_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_gclk_ext_t f; -+} crtc_gclk_ext_u; -+ -+typedef struct _crtc_alw_t { -+ unsigned long alw_hstart : 10; -+ unsigned long : 6; -+ unsigned long alw_hend : 10; -+ unsigned long : 4; -+ unsigned long alw_delay : 1; -+ unsigned long alw_en : 1; -+ } crtc_alw_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_alw_t f; -+} crtc_alw_u; -+ -+typedef struct _crtc_alw_vpos_t { -+ unsigned long alw_vstart : 10; -+ unsigned long : 6; -+ unsigned long alw_vend : 10; -+ unsigned long : 6; -+ } crtc_alw_vpos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_alw_vpos_t f; -+} crtc_alw_vpos_u; -+ -+typedef struct _crtc_psk_t { -+ unsigned long psk_vstart : 10; -+ unsigned long : 6; -+ unsigned long psk_vend : 10; -+ unsigned long : 4; -+ unsigned long psk_pol : 1; -+ unsigned long psk_en : 1; -+ } crtc_psk_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_psk_t f; -+} crtc_psk_u; -+ -+typedef struct _crtc_psk_hpos_t { -+ unsigned long psk_hstart : 10; -+ unsigned long : 6; -+ unsigned long psk_hend : 10; -+ unsigned long : 6; -+ } crtc_psk_hpos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_psk_hpos_t f; -+} crtc_psk_hpos_u; -+ -+typedef struct _crtc_cv4_start_t { -+ unsigned long cv4_vstart : 10; -+ unsigned long : 20; -+ unsigned long cv4_pol : 1; -+ unsigned long cv4_en : 1; -+ } crtc_cv4_start_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_cv4_start_t f; -+} crtc_cv4_start_u; -+ -+typedef struct _crtc_cv4_end_t { -+ unsigned long cv4_vend1 : 10; -+ unsigned long : 6; -+ unsigned long cv4_vend2 : 10; -+ unsigned long : 6; -+ } crtc_cv4_end_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_cv4_end_t f; -+} crtc_cv4_end_u; -+ -+typedef struct _crtc_cv4_hpos_t { -+ unsigned long cv4_hstart : 10; -+ unsigned long : 6; -+ unsigned long cv4_hend : 10; -+ unsigned long : 6; -+ } crtc_cv4_hpos_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_cv4_hpos_t f; -+} crtc_cv4_hpos_u; -+ -+typedef struct _crtc_eck_t { -+ unsigned long eck_freq1 : 3; -+ unsigned long eck_en : 1; -+ unsigned long : 28; -+ } crtc_eck_t; -+ -+typedef union { -+ unsigned long val : 32; -+ crtc_eck_t f; -+} crtc_eck_u; -+ -+typedef struct _refresh_cntl_t { -+ unsigned long ref_frame : 3; -+ unsigned long nref_frame : 5; -+ unsigned long ref_cntl : 1; -+ unsigned long stop_sm_nref : 1; -+ unsigned long stop_req_nref : 1; -+ unsigned long : 21; -+ } refresh_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ refresh_cntl_t f; -+} refresh_cntl_u; -+ -+typedef struct _genlcd_cntl3_t { -+ unsigned long ps1_oe : 1; -+ unsigned long ps1_pd : 1; -+ unsigned long ps2_oe : 1; -+ unsigned long ps2_pd : 1; -+ unsigned long rev2_oe : 1; -+ unsigned long rev2_pd : 1; -+ unsigned long awl_oe : 1; -+ unsigned long awl_pd : 1; -+ unsigned long dinv_oe : 1; -+ unsigned long dinv_pd : 1; -+ unsigned long psk_out : 1; -+ unsigned long psd_out : 1; -+ unsigned long eck_out : 1; -+ unsigned long cv4_out : 1; -+ unsigned long ps1_out : 1; -+ unsigned long ps2_out : 1; -+ unsigned long rev_out : 1; -+ unsigned long rev2_out : 1; -+ unsigned long : 14; -+ } genlcd_cntl3_t; -+ -+typedef union { -+ unsigned long val : 32; -+ genlcd_cntl3_t f; -+} genlcd_cntl3_u; -+ -+typedef struct _gpio_data2_t { -+ unsigned long gio2_out : 16; -+ unsigned long gio2_in : 16; -+ } gpio_data2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gpio_data2_t f; -+} gpio_data2_u; -+ -+typedef struct _gpio_cntl3_t { -+ unsigned long gio2_pd : 16; -+ unsigned long gio2_schmen : 16; -+ } gpio_cntl3_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gpio_cntl3_t f; -+} gpio_cntl3_u; -+ -+typedef struct _gpio_cntl4_t { -+ unsigned long gio2_oe : 16; -+ unsigned long : 16; -+ } gpio_cntl4_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gpio_cntl4_t f; -+} gpio_cntl4_u; -+ -+typedef struct _chip_strap_t { -+ unsigned long config_strap : 8; -+ unsigned long pkg_strap : 1; -+ unsigned long : 23; -+ } chip_strap_t; -+ -+typedef union { -+ unsigned long val : 32; -+ chip_strap_t f; -+} chip_strap_u; -+ -+typedef struct _disp_debug2_t { -+ unsigned long disp_debug2 : 32; -+ } disp_debug2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ disp_debug2_t f; -+} disp_debug2_u; -+ -+typedef struct _debug_bus_cntl_t { -+ unsigned long debug_testmux : 4; -+ unsigned long debug_testsel : 4; -+ unsigned long debug_gioa_sel : 2; -+ unsigned long debug_giob_sel : 2; -+ unsigned long debug_clk_sel : 1; -+ unsigned long debug_clk_inv : 1; -+ unsigned long : 2; -+ unsigned long debug_bus : 16; -+ } debug_bus_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug_bus_cntl_t f; -+} debug_bus_cntl_u; -+ -+typedef struct _gamma_value1_t { -+ unsigned long gamma1 : 8; -+ unsigned long gamma2 : 8; -+ unsigned long gamma3 : 8; -+ unsigned long gamma4 : 8; -+ } gamma_value1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gamma_value1_t f; -+} gamma_value1_u; -+ -+typedef struct _gamma_value2_t { -+ unsigned long gamma5 : 8; -+ unsigned long gamma6 : 8; -+ unsigned long gamma7 : 8; -+ unsigned long gamma8 : 8; -+ } gamma_value2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gamma_value2_t f; -+} gamma_value2_u; -+ -+typedef struct _gamma_slope_t { -+ unsigned long slope1 : 3; -+ unsigned long slope2 : 3; -+ unsigned long slope3 : 3; -+ unsigned long slope4 : 3; -+ unsigned long slope5 : 3; -+ unsigned long slope6 : 3; -+ unsigned long slope7 : 3; -+ unsigned long slope8 : 3; -+ unsigned long : 8; -+ } gamma_slope_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gamma_slope_t f; -+} gamma_slope_u; -+ -+typedef struct _gen_status_t { -+ unsigned long status : 16; -+ unsigned long : 16; -+ } gen_status_t; -+ -+typedef union { -+ unsigned long val : 32; -+ gen_status_t f; -+} gen_status_u; -+ -+typedef struct _hw_int_t { -+ unsigned long hwint1_pos : 5; -+ unsigned long hwint2_pos : 5; -+ unsigned long hwint1_pol : 1; -+ unsigned long hwint2_pol : 1; -+ unsigned long hwint1_en_db : 1; -+ unsigned long hwint2_en_db : 1; -+ unsigned long : 18; -+ } hw_int_t; -+ -+typedef union { -+ unsigned long val : 32; -+ hw_int_t f; -+} hw_int_u; -+ -+typedef struct _dst_offset_t { -+ unsigned long dst_offset : 24; -+ unsigned long : 8; -+ } dst_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_offset_t f; -+} dst_offset_u; -+ -+typedef struct _dst_pitch_t { -+ unsigned long dst_pitch : 14; -+ unsigned long mc_dst_pitch_mul : 2; -+ unsigned long : 16; -+ } dst_pitch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_pitch_t f; -+} dst_pitch_u; -+ -+typedef struct _dst_pitch_offset_t { -+ unsigned long dst_offset : 20; -+ unsigned long dst_pitch : 10; -+ unsigned long mc_dst_pitch_mul : 2; -+ } dst_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_pitch_offset_t f; -+} dst_pitch_offset_u; -+ -+typedef struct _dst_x_t { -+ unsigned long dst_x : 14; -+ unsigned long : 18; -+ } dst_x_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_x_t f; -+} dst_x_u; -+ -+typedef struct _dst_y_t { -+ unsigned long dst_y : 14; -+ unsigned long : 18; -+ } dst_y_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_y_t f; -+} dst_y_u; -+ -+typedef struct _dst_x_y_t { -+ unsigned long dst_y : 14; -+ unsigned long : 2; -+ unsigned long dst_x : 14; -+ unsigned long : 2; -+ } dst_x_y_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_x_y_t f; -+} dst_x_y_u; -+ -+typedef struct _dst_y_x_t { -+ unsigned long dst_x : 14; -+ unsigned long : 2; -+ unsigned long dst_y : 14; -+ unsigned long : 2; -+ } dst_y_x_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_y_x_t f; -+} dst_y_x_u; -+ -+typedef struct _dst_width_t { -+ unsigned long dst_width_b0 : 8; -+ unsigned long dst_width_b1 : 6; -+ unsigned long : 18; -+ } dst_width_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_width_t f; -+} dst_width_u; -+ -+typedef struct _dst_height_t { -+ unsigned long dst_height : 14; -+ unsigned long : 18; -+ } dst_height_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_height_t f; -+} dst_height_u; -+ -+typedef struct _dst_width_height_t { -+ unsigned long dst_height : 14; -+ unsigned long : 2; -+ unsigned long dst_width_b0 : 8; -+ unsigned long dst_width_b1 : 6; -+ unsigned long : 2; -+ } dst_width_height_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_width_height_t f; -+} dst_width_height_u; -+ -+typedef struct _dst_height_width_t { -+ unsigned long dst_width_b0 : 8; -+ unsigned long dst_width_b1 : 6; -+ unsigned long : 2; -+ unsigned long dst_height : 14; -+ unsigned long : 2; -+ } dst_height_width_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_height_width_t f; -+} dst_height_width_u; -+ -+typedef struct _dst_height_width_8_t { -+ unsigned long : 16; -+ unsigned long dst_width_b0 : 8; -+ unsigned long dst_height : 8; -+ } dst_height_width_8_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_height_width_8_t f; -+} dst_height_width_8_u; -+ -+typedef struct _dst_height_y_t { -+ unsigned long dst_y : 14; -+ unsigned long : 2; -+ unsigned long dst_height : 14; -+ unsigned long : 2; -+ } dst_height_y_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_height_y_t f; -+} dst_height_y_u; -+ -+typedef struct _dst_width_x_t { -+ unsigned long dst_x : 14; -+ unsigned long : 2; -+ unsigned long dst_width_b0 : 8; -+ unsigned long dst_width_b1 : 6; -+ unsigned long : 2; -+ } dst_width_x_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_width_x_t f; -+} dst_width_x_u; -+ -+typedef struct _dst_width_x_incy_t { -+ unsigned long dst_x : 14; -+ unsigned long : 2; -+ unsigned long dst_width_b0 : 8; -+ unsigned long dst_width_b1 : 6; -+ unsigned long : 2; -+ } dst_width_x_incy_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_width_x_incy_t f; -+} dst_width_x_incy_u; -+ -+typedef struct _dst_line_start_t { -+ unsigned long dst_start_x : 14; -+ unsigned long : 2; -+ unsigned long dst_start_y : 14; -+ unsigned long : 2; -+ } dst_line_start_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_line_start_t f; -+} dst_line_start_u; -+ -+typedef struct _dst_line_end_t { -+ unsigned long dst_end_x : 14; -+ unsigned long : 2; -+ unsigned long dst_end_y_b0 : 8; -+ unsigned long dst_end_y_b1 : 6; -+ unsigned long : 2; -+ } dst_line_end_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dst_line_end_t f; -+} dst_line_end_u; -+ -+typedef struct _brush_offset_t { -+ unsigned long brush_offset : 24; -+ unsigned long : 8; -+ } brush_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ brush_offset_t f; -+} brush_offset_u; -+ -+typedef struct _brush_y_x_t { -+ unsigned long brush_x : 5; -+ unsigned long : 3; -+ unsigned long brush_y : 3; -+ unsigned long : 21; -+ } brush_y_x_t; -+ -+typedef union { -+ unsigned long val : 32; -+ brush_y_x_t f; -+} brush_y_x_u; -+ -+typedef struct _dp_brush_frgd_clr_t { -+ unsigned long dp_brush_frgd_clr : 32; -+ } dp_brush_frgd_clr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_brush_frgd_clr_t f; -+} dp_brush_frgd_clr_u; -+ -+typedef struct _dp_brush_bkgd_clr_t { -+ unsigned long dp_brush_bkgd_clr : 32; -+ } dp_brush_bkgd_clr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_brush_bkgd_clr_t f; -+} dp_brush_bkgd_clr_u; -+ -+typedef struct _src2_offset_t { -+ unsigned long src2_offset : 24; -+ unsigned long : 8; -+ } src2_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_offset_t f; -+} src2_offset_u; -+ -+typedef struct _src2_pitch_t { -+ unsigned long src2_pitch : 14; -+ unsigned long src2_pitch_mul : 2; -+ unsigned long : 16; -+ } src2_pitch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_pitch_t f; -+} src2_pitch_u; -+ -+typedef struct _src2_pitch_offset_t { -+ unsigned long src2_offset : 20; -+ unsigned long : 2; -+ unsigned long src2_pitch : 8; -+ unsigned long src2_pitch_mul : 2; -+ } src2_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_pitch_offset_t f; -+} src2_pitch_offset_u; -+ -+typedef struct _src2_x_t { -+ unsigned long src_x : 14; -+ unsigned long : 18; -+ } src2_x_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_x_t f; -+} src2_x_u; -+ -+typedef struct _src2_y_t { -+ unsigned long src_y : 14; -+ unsigned long : 18; -+ } src2_y_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_y_t f; -+} src2_y_u; -+ -+typedef struct _src2_x_y_t { -+ unsigned long src_y : 14; -+ unsigned long : 2; -+ unsigned long src_x : 14; -+ unsigned long : 2; -+ } src2_x_y_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_x_y_t f; -+} src2_x_y_u; -+ -+typedef struct _src2_width_t { -+ unsigned long src2_width : 14; -+ unsigned long : 18; -+ } src2_width_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_width_t f; -+} src2_width_u; -+ -+typedef struct _src2_height_t { -+ unsigned long src2_height : 14; -+ unsigned long : 18; -+ } src2_height_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_height_t f; -+} src2_height_u; -+ -+typedef struct _src2_inc_t { -+ unsigned long src2_xinc : 6; -+ unsigned long : 2; -+ unsigned long src2_yinc : 6; -+ unsigned long : 18; -+ } src2_inc_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src2_inc_t f; -+} src2_inc_u; -+ -+typedef struct _src_offset_t { -+ unsigned long src_offset : 24; -+ unsigned long : 8; -+ } src_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_offset_t f; -+} src_offset_u; -+ -+typedef struct _src_pitch_t { -+ unsigned long src_pitch : 14; -+ unsigned long src_pitch_mul : 2; -+ unsigned long : 16; -+ } src_pitch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_pitch_t f; -+} src_pitch_u; -+ -+typedef struct _src_pitch_offset_t { -+ unsigned long src_offset : 20; -+ unsigned long src_pitch : 10; -+ unsigned long src_pitch_mul : 2; -+ } src_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_pitch_offset_t f; -+} src_pitch_offset_u; -+ -+typedef struct _src_x_t { -+ unsigned long src_x : 14; -+ unsigned long : 18; -+ } src_x_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_x_t f; -+} src_x_u; -+ -+typedef struct _src_y_t { -+ unsigned long src_y : 14; -+ unsigned long : 18; -+ } src_y_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_y_t f; -+} src_y_u; -+ -+typedef struct _src_x_y_t { -+ unsigned long src_y : 14; -+ unsigned long : 2; -+ unsigned long src_x : 14; -+ unsigned long : 2; -+ } src_x_y_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_x_y_t f; -+} src_x_y_u; -+ -+typedef struct _src_y_x_t { -+ unsigned long src_x : 14; -+ unsigned long : 2; -+ unsigned long src_y : 14; -+ unsigned long : 2; -+ } src_y_x_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_y_x_t f; -+} src_y_x_u; -+ -+typedef struct _src_width_t { -+ unsigned long src_width : 14; -+ unsigned long : 18; -+ } src_width_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_width_t f; -+} src_width_u; -+ -+typedef struct _src_height_t { -+ unsigned long src_height : 14; -+ unsigned long : 18; -+ } src_height_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_height_t f; -+} src_height_u; -+ -+typedef struct _src_inc_t { -+ unsigned long src_xinc : 6; -+ unsigned long : 2; -+ unsigned long src_yinc : 6; -+ unsigned long : 18; -+ } src_inc_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_inc_t f; -+} src_inc_u; -+ -+typedef struct _host_data0_t { -+ unsigned long host_data : 32; -+ } host_data0_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data0_t f; -+} host_data0_u; -+ -+typedef struct _host_data1_t { -+ unsigned long host_data : 32; -+ } host_data1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data1_t f; -+} host_data1_u; -+ -+typedef struct _host_data2_t { -+ unsigned long host_data : 32; -+ } host_data2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data2_t f; -+} host_data2_u; -+ -+typedef struct _host_data3_t { -+ unsigned long host_data : 32; -+ } host_data3_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data3_t f; -+} host_data3_u; -+ -+typedef struct _host_data4_t { -+ unsigned long host_data : 32; -+ } host_data4_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data4_t f; -+} host_data4_u; -+ -+typedef struct _host_data5_t { -+ unsigned long host_data : 32; -+ } host_data5_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data5_t f; -+} host_data5_u; -+ -+typedef struct _host_data6_t { -+ unsigned long host_data : 32; -+ } host_data6_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data6_t f; -+} host_data6_u; -+ -+typedef struct _host_data7_t { -+ unsigned long host_data : 32; -+ } host_data7_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data7_t f; -+} host_data7_u; -+ -+typedef struct _host_data_last_t { -+ unsigned long host_data_last : 32; -+ } host_data_last_t; -+ -+typedef union { -+ unsigned long val : 32; -+ host_data_last_t f; -+} host_data_last_u; -+ -+typedef struct _dp_src_frgd_clr_t { -+ unsigned long dp_src_frgd_clr : 32; -+ } dp_src_frgd_clr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_src_frgd_clr_t f; -+} dp_src_frgd_clr_u; -+ -+typedef struct _dp_src_bkgd_clr_t { -+ unsigned long dp_src_bkgd_clr : 32; -+ } dp_src_bkgd_clr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_src_bkgd_clr_t f; -+} dp_src_bkgd_clr_u; -+ -+typedef struct _sc_left_t { -+ unsigned long sc_left : 14; -+ unsigned long : 18; -+ } sc_left_t; -+ -+typedef union { -+ unsigned long val : 32; -+ sc_left_t f; -+} sc_left_u; -+ -+typedef struct _sc_right_t { -+ unsigned long sc_right : 14; -+ unsigned long : 18; -+ } sc_right_t; -+ -+typedef union { -+ unsigned long val : 32; -+ sc_right_t f; -+} sc_right_u; -+ -+typedef struct _sc_top_t { -+ unsigned long sc_top : 14; -+ unsigned long : 18; -+ } sc_top_t; -+ -+typedef union { -+ unsigned long val : 32; -+ sc_top_t f; -+} sc_top_u; -+ -+typedef struct _sc_bottom_t { -+ unsigned long sc_bottom : 14; -+ unsigned long : 18; -+ } sc_bottom_t; -+ -+typedef union { -+ unsigned long val : 32; -+ sc_bottom_t f; -+} sc_bottom_u; -+ -+typedef struct _src_sc_right_t { -+ unsigned long sc_right : 14; -+ unsigned long : 18; -+ } src_sc_right_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_sc_right_t f; -+} src_sc_right_u; -+ -+typedef struct _src_sc_bottom_t { -+ unsigned long sc_bottom : 14; -+ unsigned long : 18; -+ } src_sc_bottom_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_sc_bottom_t f; -+} src_sc_bottom_u; -+ -+typedef struct _dp_cntl_t { -+ unsigned long dst_x_dir : 1; -+ unsigned long dst_y_dir : 1; -+ unsigned long src_x_dir : 1; -+ unsigned long src_y_dir : 1; -+ unsigned long dst_major_x : 1; -+ unsigned long src_major_x : 1; -+ unsigned long : 26; -+ } dp_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_cntl_t f; -+} dp_cntl_u; -+ -+typedef struct _dp_cntl_dst_dir_t { -+ unsigned long : 15; -+ unsigned long dst_y_dir : 1; -+ unsigned long : 15; -+ unsigned long dst_x_dir : 1; -+ } dp_cntl_dst_dir_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_cntl_dst_dir_t f; -+} dp_cntl_dst_dir_u; -+ -+typedef struct _dp_datatype_t { -+ unsigned long dp_dst_datatype : 4; -+ unsigned long : 4; -+ unsigned long dp_brush_datatype : 4; -+ unsigned long dp_src2_type : 1; -+ unsigned long dp_src2_datatype : 3; -+ unsigned long dp_src_datatype : 3; -+ unsigned long : 11; -+ unsigned long dp_byte_pix_order : 1; -+ unsigned long : 1; -+ } dp_datatype_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_datatype_t f; -+} dp_datatype_u; -+ -+typedef struct _dp_mix_t { -+ unsigned long : 8; -+ unsigned long dp_src_source : 3; -+ unsigned long dp_src2_source : 3; -+ unsigned long : 2; -+ unsigned long dp_rop3 : 8; -+ unsigned long dp_op : 1; -+ unsigned long : 7; -+ } dp_mix_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_mix_t f; -+} dp_mix_u; -+ -+typedef struct _dp_write_msk_t { -+ unsigned long dp_write_msk : 32; -+ } dp_write_msk_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_write_msk_t f; -+} dp_write_msk_u; -+ -+typedef struct _clr_cmp_clr_src_t { -+ unsigned long clr_cmp_clr_src : 32; -+ } clr_cmp_clr_src_t; -+ -+typedef union { -+ unsigned long val : 32; -+ clr_cmp_clr_src_t f; -+} clr_cmp_clr_src_u; -+ -+typedef struct _clr_cmp_clr_dst_t { -+ unsigned long clr_cmp_clr_dst : 32; -+ } clr_cmp_clr_dst_t; -+ -+typedef union { -+ unsigned long val : 32; -+ clr_cmp_clr_dst_t f; -+} clr_cmp_clr_dst_u; -+ -+typedef struct _clr_cmp_cntl_t { -+ unsigned long clr_cmp_fcn_src : 3; -+ unsigned long : 5; -+ unsigned long clr_cmp_fcn_dst : 3; -+ unsigned long : 13; -+ unsigned long clr_cmp_src : 2; -+ unsigned long : 6; -+ } clr_cmp_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ clr_cmp_cntl_t f; -+} clr_cmp_cntl_u; -+ -+typedef struct _clr_cmp_msk_t { -+ unsigned long clr_cmp_msk : 32; -+ } clr_cmp_msk_t; -+ -+typedef union { -+ unsigned long val : 32; -+ clr_cmp_msk_t f; -+} clr_cmp_msk_u; -+ -+typedef struct _default_pitch_offset_t { -+ unsigned long default_offset : 20; -+ unsigned long default_pitch : 10; -+ unsigned long : 2; -+ } default_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ default_pitch_offset_t f; -+} default_pitch_offset_u; -+ -+typedef struct _default_sc_bottom_right_t { -+ unsigned long default_sc_right : 14; -+ unsigned long : 2; -+ unsigned long default_sc_bottom : 14; -+ unsigned long : 2; -+ } default_sc_bottom_right_t; -+ -+typedef union { -+ unsigned long val : 32; -+ default_sc_bottom_right_t f; -+} default_sc_bottom_right_u; -+ -+typedef struct _default2_sc_bottom_right_t { -+ unsigned long default_sc_right : 14; -+ unsigned long : 2; -+ unsigned long default_sc_bottom : 14; -+ unsigned long : 2; -+ } default2_sc_bottom_right_t; -+ -+typedef union { -+ unsigned long val : 32; -+ default2_sc_bottom_right_t f; -+} default2_sc_bottom_right_u; -+ -+typedef struct _ref1_pitch_offset_t { -+ unsigned long offset : 20; -+ unsigned long : 2; -+ unsigned long pitch : 8; -+ unsigned long : 2; -+ } ref1_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ ref1_pitch_offset_t f; -+} ref1_pitch_offset_u; -+ -+typedef struct _ref2_pitch_offset_t { -+ unsigned long offset : 20; -+ unsigned long : 2; -+ unsigned long pitch : 8; -+ unsigned long : 2; -+ } ref2_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ ref2_pitch_offset_t f; -+} ref2_pitch_offset_u; -+ -+typedef struct _ref3_pitch_offset_t { -+ unsigned long offset : 20; -+ unsigned long : 2; -+ unsigned long pitch : 8; -+ unsigned long : 2; -+ } ref3_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ ref3_pitch_offset_t f; -+} ref3_pitch_offset_u; -+ -+typedef struct _ref4_pitch_offset_t { -+ unsigned long offset : 20; -+ unsigned long : 2; -+ unsigned long pitch : 8; -+ unsigned long : 2; -+ } ref4_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ ref4_pitch_offset_t f; -+} ref4_pitch_offset_u; -+ -+typedef struct _ref5_pitch_offset_t { -+ unsigned long offset : 20; -+ unsigned long : 2; -+ unsigned long pitch : 8; -+ unsigned long : 2; -+ } ref5_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ ref5_pitch_offset_t f; -+} ref5_pitch_offset_u; -+ -+typedef struct _ref6_pitch_offset_t { -+ unsigned long offset : 20; -+ unsigned long : 2; -+ unsigned long pitch : 8; -+ unsigned long : 2; -+ } ref6_pitch_offset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ ref6_pitch_offset_t f; -+} ref6_pitch_offset_u; -+ -+typedef struct _dp_gui_master_cntl_t { -+ unsigned long gmc_src_pitch_offset_cntl : 1; -+ unsigned long gmc_dst_pitch_offset_cntl : 1; -+ unsigned long gmc_src_clipping : 1; -+ unsigned long gmc_dst_clipping : 1; -+ unsigned long gmc_brush_datatype : 4; -+ unsigned long gmc_dst_datatype : 4; -+ unsigned long gmc_src_datatype : 3; -+ unsigned long gmc_byte_pix_order : 1; -+ unsigned long gmc_default_sel : 1; -+ unsigned long gmc_rop3 : 8; -+ unsigned long gmc_dp_src_source : 3; -+ unsigned long gmc_clr_cmp_fcn_dis : 1; -+ unsigned long : 1; -+ unsigned long gmc_wr_msk_dis : 1; -+ unsigned long gmc_dp_op : 1; -+ } dp_gui_master_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ dp_gui_master_cntl_t f; -+} dp_gui_master_cntl_u; -+ -+typedef struct _sc_top_left_t { -+ unsigned long sc_left : 14; -+ unsigned long : 2; -+ unsigned long sc_top : 14; -+ unsigned long : 2; -+ } sc_top_left_t; -+ -+typedef union { -+ unsigned long val : 32; -+ sc_top_left_t f; -+} sc_top_left_u; -+ -+typedef struct _sc_bottom_right_t { -+ unsigned long sc_right : 14; -+ unsigned long : 2; -+ unsigned long sc_bottom : 14; -+ unsigned long : 2; -+ } sc_bottom_right_t; -+ -+typedef union { -+ unsigned long val : 32; -+ sc_bottom_right_t f; -+} sc_bottom_right_u; -+ -+typedef struct _src_sc_top_left_t { -+ unsigned short sc_left; -+ unsigned short sc_top; -+} src_sc_top_left_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_sc_top_left_t f; -+} src_sc_top_left_u; -+ -+typedef struct _src_sc_bottom_right_t { -+ unsigned long sc_right : 14; -+ unsigned long : 2; -+ unsigned long sc_bottom : 14; -+ unsigned long : 2; -+ } src_sc_bottom_right_t; -+ -+typedef union { -+ unsigned long val : 32; -+ src_sc_bottom_right_t f; -+} src_sc_bottom_right_u; -+ -+typedef struct _global_alpha_t { -+ unsigned long alpha_r : 8; -+ unsigned long alpha_g : 8; -+ unsigned long alpha_b : 8; -+ unsigned long alpha_a : 8; -+} global_alpha_t; -+ -+typedef union { -+ unsigned long val : 32; -+ global_alpha_t f; -+} global_alpha_u; -+ -+typedef struct _filter_coef_t { -+ unsigned long c_4 : 4; -+ unsigned long c_3 : 4; -+ unsigned long c_2 : 4; -+ unsigned long c_1 : 4; -+ unsigned long c1 : 4; -+ unsigned long c2 : 4; -+ unsigned long c3 : 4; -+ unsigned long c4 : 4; -+} filter_coef_t; -+ -+typedef union { -+ unsigned long val : 32; -+ filter_coef_t f; -+} filter_coef_u; -+ -+typedef struct _mvc_cntl_start_t { -+ unsigned long mc_cntl_src_1_index : 4; -+ unsigned long mc_cntl_dst_offset : 20; -+ unsigned long mc_dst_pitch_mul : 2; -+ unsigned long mc_cntl_src_2_index : 3; -+ unsigned long mc_cntl_width_height_sel : 3; -+} mvc_cntl_start_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mvc_cntl_start_t f; -+} mvc_cntl_start_u; -+ -+typedef struct _e2_arithmetic_cntl_t { -+ unsigned long opcode : 5; -+ unsigned long shiftright : 4; -+ unsigned long clamp : 1; -+ unsigned long rounding : 2; -+ unsigned long filter_n : 3; -+ unsigned long : 1; -+ unsigned long srcblend_inv : 1; -+ unsigned long srcblend : 4; -+ unsigned long : 3; -+ unsigned long dstblend_inv : 1; -+ unsigned long dstblend : 4; -+ unsigned long dst_signed : 1; -+ unsigned long autoinc : 1; -+ unsigned long : 1; -+} e2_arithmetic_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ e2_arithmetic_cntl_t f; -+} e2_arithmetic_cntl_u; -+ -+typedef struct _debug0_t { -+ unsigned long debug0_r : 8; -+ unsigned long : 8; -+ unsigned long debug0_rw : 8; -+ unsigned long : 8; -+} debug0_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug0_t f; -+} debug0_u; -+ -+typedef struct _debug1_t { -+ unsigned long debug1_r : 8; -+ unsigned long : 8; -+ unsigned long debug1_rw : 8; -+ unsigned long : 8; -+} debug1_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug1_t f; -+} debug1_u; -+ -+typedef struct _debug2_t { -+ unsigned long debug2_r : 8; -+ unsigned long : 8; -+ unsigned long debug2_rw : 8; -+ unsigned long : 8; -+} debug2_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug2_t f; -+} debug2_u; -+ -+typedef struct _debug3_t { -+ unsigned long : 32; -+} debug3_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug3_t f; -+} debug3_u; -+ -+typedef struct _debug4_t { -+ unsigned long : 32; -+} debug4_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug4_t f; -+} debug4_u; -+ -+typedef struct _debug5_t { -+ unsigned long : 32; -+} debug5_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug5_t f; -+} debug5_u; -+ -+typedef struct _debug6_t { -+ unsigned long : 32; -+} debug6_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug6_t f; -+} debug6_u; -+ -+typedef struct _debug7_t { -+ unsigned long : 32; -+} debug7_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug7_t f; -+} debug7_u; -+ -+typedef struct _debug8_t { -+ unsigned long : 32; -+} debug8_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug8_t f; -+} debug8_u; -+ -+typedef struct _debug9_t { -+ unsigned long : 32; -+} debug9_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug9_t f; -+} debug9_u; -+ -+typedef struct _debug10_t { -+ unsigned long : 32; -+ } debug10_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug10_t f; -+} debug10_u; -+ -+typedef struct _debug11_t { -+ unsigned long : 32; -+ } debug11_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug11_t f; -+} debug11_u; -+ -+typedef struct _debug12_t { -+ unsigned long : 32; -+ } debug12_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug12_t f; -+} debug12_u; -+ -+typedef struct _debug13_t { -+ unsigned long : 32; -+ } debug13_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug13_t f; -+} debug13_u; -+ -+typedef struct _debug14_t { -+ unsigned long : 32; -+ } debug14_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug14_t f; -+} debug14_u; -+ -+typedef struct _debug15_t { -+ unsigned long : 32; -+ } debug15_t; -+ -+typedef union { -+ unsigned long val : 32; -+ debug15_t f; -+} debug15_u; -+ -+typedef struct _eng_cntl_t { -+ unsigned long erc_reg_rd_ws : 1; -+ unsigned long erc_reg_wr_ws : 1; -+ unsigned long erc_idle_reg_wr : 1; -+ unsigned long dis_engine_triggers : 1; -+ unsigned long dis_rop_src_uses_dst_w_h : 1; -+ unsigned long dis_src_uses_dst_dirmaj : 1; -+ unsigned long : 6; -+ unsigned long force_3dclk_when_2dclk : 1; -+ unsigned long : 19; -+ } eng_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ eng_cntl_t f; -+} eng_cntl_u; -+ -+typedef struct _eng_perf_cnt_t { -+ unsigned long perf_cnt : 20; -+ unsigned long perf_sel : 4; -+ unsigned long perf_en : 1; -+ unsigned long : 3; -+ unsigned long perf_clr : 1; -+ unsigned long : 3; -+ } eng_perf_cnt_t; -+ -+typedef union { -+ unsigned long val : 32; -+ eng_perf_cnt_t f; -+} eng_perf_cnt_u; -+ -+typedef struct _idct_runs_t { -+ unsigned long idct_runs_3 : 8; -+ unsigned long idct_runs_2 : 8; -+ unsigned long idct_runs_1 : 8; -+ unsigned long idct_runs_0 : 8; -+ } idct_runs_t; -+ -+typedef union { -+ unsigned long val : 32; -+ idct_runs_t f; -+} idct_runs_u; -+ -+typedef struct _idct_levels_t { -+ unsigned long idct_level_hi : 16; -+ unsigned long idct_level_lo : 16; -+ } idct_levels_t; -+ -+typedef union { -+ unsigned long val : 32; -+ idct_levels_t f; -+} idct_levels_u; -+ -+typedef struct _idct_control_t { -+ unsigned long idct_ctl_luma_rd_format : 2; -+ unsigned long idct_ctl_chroma_rd_format : 2; -+ unsigned long idct_ctl_scan_pattern : 1; -+ unsigned long idct_ctl_intra : 1; -+ unsigned long idct_ctl_flush : 1; -+ unsigned long idct_ctl_passthru : 1; -+ unsigned long idct_ctl_sw_reset : 1; -+ unsigned long idct_ctl_constreq : 1; -+ unsigned long idct_ctl_scramble : 1; -+ unsigned long idct_ctl_alt_scan : 1; -+ unsigned long : 20; -+ } idct_control_t; -+ -+typedef union { -+ unsigned long val : 32; -+ idct_control_t f; -+} idct_control_u; -+ -+typedef struct _idct_auth_control_t { -+ unsigned long control_bits : 32; -+ } idct_auth_control_t; -+ -+typedef union { -+ unsigned long val : 32; -+ idct_auth_control_t f; -+} idct_auth_control_u; -+ -+typedef struct _idct_auth_t { -+ unsigned long auth : 32; -+ } idct_auth_t; -+ -+typedef union { -+ unsigned long val : 32; -+ idct_auth_t f; -+} idct_auth_u; -+ -+typedef struct _mem_cntl_t { -+ unsigned long : 1; -+ unsigned long en_mem_ch1 : 1; -+ unsigned long en_mem_ch2 : 1; -+ unsigned long int_mem_mapping : 1; -+ unsigned long : 28; -+ } mem_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mem_cntl_t f; -+} mem_cntl_u; -+ -+typedef struct _mem_arb_t { -+ unsigned long disp_time_slot : 4; -+ unsigned long disp_timer : 4; -+ unsigned long arb_option : 1; -+ unsigned long : 23; -+ } mem_arb_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mem_arb_t f; -+} mem_arb_u; -+ -+typedef struct _mc_fb_location_t { -+ unsigned long mc_fb_start : 16; -+ unsigned long mc_fb_top : 16; -+ } mc_fb_location_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mc_fb_location_t f; -+} mc_fb_location_u; -+ -+typedef struct _mem_ext_cntl_t { -+ unsigned long mem_ext_enable : 1; -+ unsigned long mem_ap_enable : 1; -+ unsigned long mem_addr_mapping : 2; -+ unsigned long mem_wdoe_cntl : 2; -+ unsigned long mem_wdoe_extend : 1; -+ unsigned long : 1; -+ unsigned long mem_page_timer : 8; -+ unsigned long mem_dynamic_cke : 1; -+ unsigned long mem_sdram_tri_en : 1; -+ unsigned long mem_self_refresh_en : 1; -+ unsigned long mem_power_down : 1; -+ unsigned long mem_hw_power_down_en : 1; -+ unsigned long mem_power_down_stat : 1; -+ unsigned long : 3; -+ unsigned long mem_pd_mck : 1; -+ unsigned long mem_pd_ma : 1; -+ unsigned long mem_pd_mdq : 1; -+ unsigned long mem_tristate_mck : 1; -+ unsigned long mem_tristate_ma : 1; -+ unsigned long mem_tristate_mcke : 1; -+ unsigned long mem_invert_mck : 1; -+ } mem_ext_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mem_ext_cntl_t f; -+} mem_ext_cntl_u; -+ -+typedef struct _mc_ext_mem_location_t { -+ unsigned long mc_ext_mem_start : 16; -+ unsigned long mc_ext_mem_top : 16; -+ } mc_ext_mem_location_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mc_ext_mem_location_t f; -+} mc_ext_mem_location_u; -+ -+typedef struct _mem_ext_timing_cntl_t { -+ unsigned long mem_trp : 2; -+ unsigned long mem_trcd : 2; -+ unsigned long mem_tras : 3; -+ unsigned long : 1; -+ unsigned long mem_trrd : 2; -+ unsigned long mem_tr2w : 2; -+ unsigned long mem_twr : 2; -+ unsigned long : 4; -+ unsigned long mem_twr_mode : 1; -+ unsigned long : 1; -+ unsigned long mem_refresh_dis : 1; -+ unsigned long : 3; -+ unsigned long mem_refresh_rate : 8; -+ } mem_ext_timing_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mem_ext_timing_cntl_t f; -+} mem_ext_timing_cntl_u; -+ -+typedef struct _mem_sdram_mode_reg_t { -+ unsigned long mem_mode_reg : 14; -+ unsigned long : 2; -+ unsigned long mem_read_latency : 2; -+ unsigned long mem_schmen_latency : 2; -+ unsigned long mem_cas_latency : 2; -+ unsigned long mem_schmen_extend : 1; -+ unsigned long : 8; -+ unsigned long mem_sdram_reset : 1; -+ } mem_sdram_mode_reg_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mem_sdram_mode_reg_t f; -+} mem_sdram_mode_reg_u; -+ -+typedef struct _mem_io_cntl_t { -+ unsigned long mem_sn_mck : 4; -+ unsigned long mem_sn_ma : 4; -+ unsigned long mem_sn_mdq : 4; -+ unsigned long mem_srn_mck : 1; -+ unsigned long mem_srn_ma : 1; -+ unsigned long mem_srn_mdq : 1; -+ unsigned long : 1; -+ unsigned long mem_sp_mck : 4; -+ unsigned long mem_sp_ma : 4; -+ unsigned long mem_sp_mdq : 4; -+ unsigned long mem_srp_mck : 1; -+ unsigned long mem_srp_ma : 1; -+ unsigned long mem_srp_mdq : 1; -+ unsigned long : 1; -+ } mem_io_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mem_io_cntl_t f; -+} mem_io_cntl_u; -+ -+typedef struct _mc_debug_t { -+ unsigned long mc_debug : 32; -+ } mc_debug_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mc_debug_t f; -+} mc_debug_u; -+ -+typedef struct _mc_bist_ctrl_t { -+ unsigned long mc_bist_ctrl : 32; -+ } mc_bist_ctrl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mc_bist_ctrl_t f; -+} mc_bist_ctrl_u; -+ -+typedef struct _mc_bist_collar_read_t { -+ unsigned long mc_bist_collar_read : 32; -+ } mc_bist_collar_read_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mc_bist_collar_read_t f; -+} mc_bist_collar_read_u; -+ -+typedef struct _tc_mismatch_t { -+ unsigned long tc_mismatch : 24; -+ unsigned long : 8; -+ } tc_mismatch_t; -+ -+typedef union { -+ unsigned long val : 32; -+ tc_mismatch_t f; -+} tc_mismatch_u; -+ -+typedef struct _mc_perf_mon_cntl_t { -+ unsigned long clr_perf : 1; -+ unsigned long en_perf : 1; -+ unsigned long : 2; -+ unsigned long perf_op_a : 2; -+ unsigned long perf_op_b : 2; -+ unsigned long : 8; -+ unsigned long monitor_period : 8; -+ unsigned long perf_count_a_overflow : 1; -+ unsigned long perf_count_b_overflow : 1; -+ unsigned long : 6; -+ } mc_perf_mon_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mc_perf_mon_cntl_t f; -+} mc_perf_mon_cntl_u; -+ -+typedef struct _mc_perf_counters_t { -+ unsigned long mc_perf_counter_a : 16; -+ unsigned long mc_perf_counter_b : 16; -+ } mc_perf_counters_t; -+ -+typedef union { -+ unsigned long val : 32; -+ mc_perf_counters_t f; -+} mc_perf_counters_u; -+ -+typedef struct _wait_until_t { -+ unsigned long wait_crtc_pflip : 1; -+ unsigned long wait_re_crtc_vline : 1; -+ unsigned long wait_fe_crtc_vline : 1; -+ unsigned long wait_crtc_vline : 1; -+ unsigned long wait_dma_viph0_idle : 1; -+ unsigned long wait_dma_viph1_idle : 1; -+ unsigned long wait_dma_viph2_idle : 1; -+ unsigned long wait_dma_viph3_idle : 1; -+ unsigned long wait_dma_vid_idle : 1; -+ unsigned long wait_dma_gui_idle : 1; -+ unsigned long wait_cmdfifo : 1; -+ unsigned long wait_ov0_flip : 1; -+ unsigned long wait_ov0_slicedone : 1; -+ unsigned long : 1; -+ unsigned long wait_2d_idle : 1; -+ unsigned long wait_3d_idle : 1; -+ unsigned long wait_2d_idleclean : 1; -+ unsigned long wait_3d_idleclean : 1; -+ unsigned long wait_host_idleclean : 1; -+ unsigned long wait_extern_sig : 1; -+ unsigned long cmdfifo_entries : 7; -+ unsigned long : 3; -+ unsigned long wait_both_crtc_pflip : 1; -+ unsigned long eng_display_select : 1; -+ } wait_until_t; -+ -+typedef union { -+ unsigned long val : 32; -+ wait_until_t f; -+} wait_until_u; -+ -+typedef struct _isync_cntl_t { -+ unsigned long isync_any2d_idle3d : 1; -+ unsigned long isync_any3d_idle2d : 1; -+ unsigned long isync_trig2d_idle3d : 1; -+ unsigned long isync_trig3d_idle2d : 1; -+ unsigned long isync_wait_idlegui : 1; -+ unsigned long isync_cpscratch_idlegui : 1; -+ unsigned long : 26; -+ } isync_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ isync_cntl_t f; -+} isync_cntl_u; -+ -+typedef struct _rbbm_guicntl_t { -+ unsigned long host_data_swap : 2; -+ unsigned long : 30; -+ } rbbm_guicntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_guicntl_t f; -+} rbbm_guicntl_u; -+ -+typedef struct _rbbm_status_t { -+ unsigned long cmdfifo_avail : 7; -+ unsigned long : 1; -+ unsigned long hirq_on_rbb : 1; -+ unsigned long cprq_on_rbb : 1; -+ unsigned long cfrq_on_rbb : 1; -+ unsigned long hirq_in_rtbuf : 1; -+ unsigned long cprq_in_rtbuf : 1; -+ unsigned long cfrq_in_rtbuf : 1; -+ unsigned long cf_pipe_busy : 1; -+ unsigned long eng_ev_busy : 1; -+ unsigned long cp_cmdstrm_busy : 1; -+ unsigned long e2_busy : 1; -+ unsigned long rb2d_busy : 1; -+ unsigned long rb3d_busy : 1; -+ unsigned long se_busy : 1; -+ unsigned long re_busy : 1; -+ unsigned long tam_busy : 1; -+ unsigned long tdm_busy : 1; -+ unsigned long pb_busy : 1; -+ unsigned long : 6; -+ unsigned long gui_active : 1; -+ } rbbm_status_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_status_t f; -+} rbbm_status_u; -+ -+typedef struct _rbbm_cntl_t { -+ unsigned long rb_settle : 4; -+ unsigned long abortclks_hi : 3; -+ unsigned long : 1; -+ unsigned long abortclks_cp : 3; -+ unsigned long : 1; -+ unsigned long abortclks_cfifo : 3; -+ unsigned long : 2; -+ unsigned long cpq_data_swap : 1; -+ unsigned long : 3; -+ unsigned long no_abort_idct : 1; -+ unsigned long no_abort_bios : 1; -+ unsigned long no_abort_fb : 1; -+ unsigned long no_abort_cp : 1; -+ unsigned long no_abort_hi : 1; -+ unsigned long no_abort_hdp : 1; -+ unsigned long no_abort_mc : 1; -+ unsigned long no_abort_aic : 1; -+ unsigned long no_abort_vip : 1; -+ unsigned long no_abort_disp : 1; -+ unsigned long no_abort_cg : 1; -+ } rbbm_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_cntl_t f; -+} rbbm_cntl_u; -+ -+typedef struct _rbbm_soft_reset_t { -+ unsigned long soft_reset_cp : 1; -+ unsigned long soft_reset_hi : 1; -+ unsigned long reserved3 : 3; -+ unsigned long soft_reset_e2 : 1; -+ unsigned long reserved2 : 2; -+ unsigned long soft_reset_mc : 1; -+ unsigned long reserved1 : 2; -+ unsigned long soft_reset_disp : 1; -+ unsigned long soft_reset_cg : 1; -+ unsigned long : 19; -+ } rbbm_soft_reset_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_soft_reset_t f; -+} rbbm_soft_reset_u; -+ -+typedef struct _nqwait_until_t { -+ unsigned long wait_gui_idle : 1; -+ unsigned long : 31; -+ } nqwait_until_t; -+ -+typedef union { -+ unsigned long val : 32; -+ nqwait_until_t f; -+} nqwait_until_u; -+ -+typedef struct _rbbm_debug_t { -+ unsigned long rbbm_debug : 32; -+ } rbbm_debug_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_debug_t f; -+} rbbm_debug_u; -+ -+typedef struct _rbbm_cmdfifo_addr_t { -+ unsigned long cmdfifo_addr : 6; -+ unsigned long : 26; -+ } rbbm_cmdfifo_addr_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_cmdfifo_addr_t f; -+} rbbm_cmdfifo_addr_u; -+ -+typedef struct _rbbm_cmdfifo_datal_t { -+ unsigned long cmdfifo_datal : 32; -+ } rbbm_cmdfifo_datal_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_cmdfifo_datal_t f; -+} rbbm_cmdfifo_datal_u; -+ -+typedef struct _rbbm_cmdfifo_datah_t { -+ unsigned long cmdfifo_datah : 12; -+ unsigned long : 20; -+ } rbbm_cmdfifo_datah_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_cmdfifo_datah_t f; -+} rbbm_cmdfifo_datah_u; -+ -+typedef struct _rbbm_cmdfifo_stat_t { -+ unsigned long cmdfifo_rptr : 6; -+ unsigned long : 2; -+ unsigned long cmdfifo_wptr : 6; -+ unsigned long : 18; -+ } rbbm_cmdfifo_stat_t; -+ -+typedef union { -+ unsigned long val : 32; -+ rbbm_cmdfifo_stat_t f; -+} rbbm_cmdfifo_stat_u; -+ -+typedef struct _clk_pin_cntl_t { -+ unsigned long osc_en : 1; -+ unsigned long osc_gain : 5; -+ unsigned long dont_use_xtalin : 1; -+ unsigned long xtalin_pm_en : 1; -+ unsigned long xtalin_dbl_en : 1; -+ unsigned long : 7; -+ unsigned long cg_debug : 16; -+ } clk_pin_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ clk_pin_cntl_t f; -+} clk_pin_cntl_u; -+ -+typedef struct _pll_ref_fb_div_t { -+ unsigned long pll_ref_div : 4; -+ unsigned long : 4; -+ unsigned long pll_fb_div_int : 6; -+ unsigned long : 2; -+ unsigned long pll_fb_div_frac : 3; -+ unsigned long : 1; -+ unsigned long pll_reset_time : 4; -+ unsigned long pll_lock_time : 8; -+ } pll_ref_fb_div_t; -+ -+typedef union { -+ unsigned long val : 32; -+ pll_ref_fb_div_t f; -+} pll_ref_fb_div_u; -+ -+typedef struct _pll_cntl_t { -+ unsigned long pll_pwdn : 1; -+ unsigned long pll_reset : 1; -+ unsigned long pll_pm_en : 1; -+ unsigned long pll_mode : 1; -+ unsigned long pll_refclk_sel : 1; -+ unsigned long pll_fbclk_sel : 1; -+ unsigned long pll_tcpoff : 1; -+ unsigned long pll_pcp : 3; -+ unsigned long pll_pvg : 3; -+ unsigned long pll_vcofr : 1; -+ unsigned long pll_ioffset : 2; -+ unsigned long pll_pecc_mode : 2; -+ unsigned long pll_pecc_scon : 2; -+ unsigned long pll_dactal : 4; -+ unsigned long pll_cp_clip : 2; -+ unsigned long pll_conf : 3; -+ unsigned long pll_mbctrl : 2; -+ unsigned long pll_ring_off : 1; -+ } pll_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ pll_cntl_t f; -+} pll_cntl_u; -+ -+typedef struct _sclk_cntl_t { -+ unsigned long sclk_src_sel : 2; -+ unsigned long : 2; -+ unsigned long sclk_post_div_fast : 4; -+ unsigned long sclk_clkon_hys : 3; -+ unsigned long sclk_post_div_slow : 4; -+ unsigned long disp_cg_ok2switch_en : 1; -+ unsigned long sclk_force_reg : 1; -+ unsigned long sclk_force_disp : 1; -+ unsigned long sclk_force_mc : 1; -+ unsigned long sclk_force_extmc : 1; -+ unsigned long sclk_force_cp : 1; -+ unsigned long sclk_force_e2 : 1; -+ unsigned long sclk_force_e3 : 1; -+ unsigned long sclk_force_idct : 1; -+ unsigned long sclk_force_bist : 1; -+ unsigned long busy_extend_cp : 1; -+ unsigned long busy_extend_e2 : 1; -+ unsigned long busy_extend_e3 : 1; -+ unsigned long busy_extend_idct : 1; -+ unsigned long : 3; -+ } sclk_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ sclk_cntl_t f; -+} sclk_cntl_u; -+ -+typedef struct _pclk_cntl_t { -+ unsigned long pclk_src_sel : 2; -+ unsigned long : 2; -+ unsigned long pclk_post_div : 4; -+ unsigned long : 8; -+ unsigned long pclk_force_disp : 1; -+ unsigned long : 15; -+ } pclk_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ pclk_cntl_t f; -+} pclk_cntl_u; -+ -+typedef struct _clk_test_cntl_t { -+ unsigned long testclk_sel : 4; -+ unsigned long : 3; -+ unsigned long start_check_freq : 1; -+ unsigned long tstcount_rst : 1; -+ unsigned long : 15; -+ unsigned long test_count : 8; -+ } clk_test_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ clk_test_cntl_t f; -+} clk_test_cntl_u; -+ -+typedef struct _pwrmgt_cntl_t { -+ unsigned long pwm_enable : 1; -+ unsigned long : 1; -+ unsigned long pwm_mode_req : 2; -+ unsigned long pwm_wakeup_cond : 2; -+ unsigned long pwm_fast_noml_hw_en : 1; -+ unsigned long pwm_noml_fast_hw_en : 1; -+ unsigned long pwm_fast_noml_cond : 4; -+ unsigned long pwm_noml_fast_cond : 4; -+ unsigned long pwm_idle_timer : 8; -+ unsigned long pwm_busy_timer : 8; -+ } pwrmgt_cntl_t; -+ -+typedef union { -+ unsigned long val : 32; -+ pwrmgt_cntl_t f; -+} pwrmgt_cntl_u; -+ -+typedef struct _pwrmgt_status_t { -+ unsigned long pwm_mode : 2; -+ unsigned long : 30; -+ } pwrmgt_status_t; -+ -+typedef union { -+ unsigned long val : 32; -+ pwrmgt_status_t f; -+} pwrmgt_status_u; -+ -+ -+#endif //_W100_REGS_H_ - diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb b/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb deleted file mode 100644 index cdfa305d50..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-glamo_1.3.0.0+git.bb +++ /dev/null @@ -1,64 +0,0 @@ -DESCRIPTION = "X server for glamo chip in GTA02" -SECTION = "x11/base" -LICENSE = "MIT" -DEPENDS = "compositeproto damageproto fixesproto recordproto resourceproto \ - scrnsaverproto xineramaproto videoproto xextproto xproto \ - libxau libxext libxdmcp libxfont libxrandr tslib virtual/libx11 \ - xtrans libxkbfile libxcalibrate" -DEPENDS += "libxkbfile libxcalibrate" -RDEPENDS_${PN} = "xserver-kdrive" -PROVIDES = "virtual/xserver" -PE = "1" -PR = "r8" -PV = "1.3.0.0+git${SRCREV}" - -SRC_URI = "git://git.openmoko.org/git/xglamo.git;protocol=git \ - file://kmode.patch;patch=1 \ - file://disable-apm.patch;patch=1 \ - file://no-serial-probing.patch;patch=1 \ - file://fbdev-not-fix.patch;patch=1 \ - file://optional-xkb.patch;patch=1 \ - file://enable-tslib.patch;patch=1 \ - file://kmode-palm.patch;patch=1 \ - file://enable-epson.patch;patch=1 \ - file://enable-builtin-fonts.patch;patch=1 \ - file://kdrive-evdev.patch;patch=1 \ - file://kdrive-use-evdev.patch;patch=1 \ - file://disable-xf86-dga-xorgcfg.patch;patch=1 \ - file://fix_default_mode.patch;patch=1 \ - file://enable-xcalibrate.patch;patch=1 \ - file://hide-cursor-and-ppm-root.patch;patch=1 \ - file://xcalibrate_coords.patch;patch=1 \ - file://w100.patch;patch=1 \ - file://w100-autofoo.patch;patch=1 \ - file://w100-fix-offscreen-bmp.patch;patch=1 \ - file://kdrive-1.3-18bpp.patch;patch=1 \ - file://gumstix-kmode.patch;patch=1 \ - file://fix-picturestr-include-order.patch;patch=1 \ -" - -FILESPATH = "${FILE_DIRNAME}/xserver-kdrive-glamo:${FILE_DIRNAME}/xserver-kdrive-1.3.0.0:${FILE_DIRNAME}/xserver-kdrive:${FILE_DIRNAME}/files" - -S = "${WORKDIR}/git" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--enable-composite --enable-kdrive \ - --disable-dga --disable-dri --disable-xinerama \ - --disable-xf86misc --disable-xf86vidmode \ - --disable-xorg --disable-xorgcfg \ - --disable-xkb --disable-xnest --disable-xvfb \ - --disable-xevie --disable-xprint --disable-xtrap \ - --disable-dmx \ - --with-default-font-path=built-ins \ - --enable-tslib --enable-xcalibrate \ - ac_cv_file__usr_share_sgml_X11_defs_ent=no" - -do_configure_prepend() { - sed -i -e 's/tslib-0.0/tslib-1.0/' ${S}/configure.ac -} - -FILES_${PN} = "${bindir}/Xglamo" -FILES_${PN}-dbg = "${bindir}/.debug/Xglamo" - -ARM_INSTRUCTION_SET = "arm" diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/button_only.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/button_only.patch deleted file mode 100644 index ee8c1ed680..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/button_only.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- - hw/kdrive/linux/tslib.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -Index: xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/linux/tslib.c 2007-05-17 10:28:12.000000000 +0100 -+++ xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c 2007-05-17 10:28:42.000000000 +0100 -@@ -111,10 +111,7 @@ TsRead (int fd, void *closure) - event.pressure); - discard = 0; - if (event.pressure) { -- if (event.pressure > pi->dixdev->absolute->button_threshold) -- flags = KD_BUTTON_8; -- else -- flags = KD_BUTTON_1; -+ flags = KD_BUTTON_1; - - /* - * Here we test for the touch screen driver actually being on the diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch deleted file mode 100644 index c5997c2ffa..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/calibrateext.patch +++ /dev/null @@ -1,124 +0,0 @@ ---- - configure |38107 ----------------------------------------------------------- - configure.ac | 2 - - hw/kdrive/linux/tslib.c | 68 ++++++++++++++++++++++++++---------------------- - 2 files changed, 39 insertions(+), 31 deletions(-) - - -Index: xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/linux/tslib.c 2007-01-30 00:44:13.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c 2007-01-30 21:55:52.000000000 +0000 -@@ -47,6 +47,10 @@ - - #define TSLIB_QUEUE_SIZE 3 - -+/* For XCalibrate extension */ -+void (*tslib_raw_event_hook)(int x, int y, int pressure, void *closure); -+void *tslib_raw_event_closure; -+ - struct TslibPrivate { - int fd; - int lastx, lasty; -@@ -76,6 +80,19 @@ TsRead (int fd, void *closure) - unsigned long flags = 0; - int discard = 0; - -+ if (tslib_raw_event_hook) -+ { -+ /* XCalibrate Ext */ -+ if (ts_read_raw(private->tsDev, &event, 1) == 1) -+ { -+ tslib_raw_event_hook (event.x, -+ event.y, -+ event.pressure, -+ tslib_raw_event_closure); -+ } -+ return; -+ } -+ - if (!private->tsDev) { - DebugF("[tslib] EXTREME BADNESS: TsRead called while tsDev is null!\n"); - return; -@@ -322,14 +339,14 @@ TsRead (int fd, void *closure) - } - } - --/* must always be NULL-terminated. */ --char *valid_ts_names[] = { -- "ADS784x Touchscreen", -- "omap-ts", -- "TSC2301 touchscreen", -- NULL -+static char *TsNames[] = { -+ NULL, /* set via TSLIB_TSDEVICE */ -+ "/dev/ts", -+ "/dev/touchscreen/0", - }; - -+#define NUM_TS_NAMES (sizeof (TsNames) / sizeof (TsNames[0])) -+ - #define TS_NAME_SIZE 32 - - static Status -@@ -383,11 +400,10 @@ TslibDisable (KdPointerInfo *pi) - private->tsDev = NULL; - } - -- - static Status - TslibInit (KdPointerInfo *pi) - { -- int fd = 0, i = 0; -+ int fd = 0, i = 0, j = 0; - char devpath[PATH_MAX], devname[TS_NAME_SIZE]; - DIR *inputdir = NULL; - struct dirent *inputent = NULL; -@@ -397,33 +413,25 @@ TslibInit (KdPointerInfo *pi) - return !Success; - - if (!pi->path || strcmp(pi->path, "auto") == 0) { -- if (!(inputdir = opendir("/dev/input"))) { -- ErrorF("[tslib/TslibInit]: couldn't open /dev/input!\n"); -- return BadMatch; -- } - -- while ((inputent = readdir(inputdir))) { -- if (strncmp(inputent->d_name, "event", 5) != 0) -- continue; -+ if ((TsNames[0] = getenv("TSLIB_TSDEVICE")) == NULL) -+ j++; -+ -+ for (i = j; i < NUM_TS_NAMES; i++) -+ { -+ struct tsdev *tsDev; - -- snprintf(devpath, PATH_MAX, "/dev/input/%s", inputent->d_name); -- fd = open(devpath, O_RDWR); -+ if(!(tsDev = ts_open(TsNames[i], 0))) -+ continue; - -- if (!ioctl(fd, EVIOCGNAME(sizeof(devname)), devname)) { -- close(fd); -+ if (ts_config(tsDev)) - continue; -- } -- close(fd); - -- for (i = 0; valid_ts_names[i]; i++) { -- if (strcmp(devname, valid_ts_names[i]) == 0) { -- pi->path = KdSaveString(devpath); -- break; -- } -- } -- } -- -- closedir(inputdir); -+ ts_close(tsDev); -+ -+ pi->path = KdSaveString(TsNames[i]); -+ break; -+ } - } - - if (!pi->path || strcmp(pi->path, "auto") == 0) { diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/configfix.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/configfix.patch deleted file mode 100644 index ada8f3a788..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/configfix.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: xorg-server-1.1.99.3/configure.ac -=================================================================== ---- xorg-server-1.1.99.3.orig/configure.ac 2010-06-09 12:52:26.000000000 +0100 -+++ xorg-server-1.1.99.3/configure.ac 2010-06-09 12:52:51.000000000 +0100 -@@ -1731,7 +1731,9 @@ - DIX_CFLAGS="-DHAVE_DIX_CONFIG_H" - AC_SUBST([DIX_CFLAGS]) - --AC_SUBST([libdir exec_prefix prefix]) -+AC_SUBST([libdir]) -+AC_SUBST([exec_prefix]) -+AC_SUBST([prefix]) - - # Man page sections - used in config utils & generating man pages - XORG_MANPAGE_SECTIONS diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-apm.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-apm.patch deleted file mode 100644 index bd8842721b..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-apm.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- xserver/hw/kdrive/linux/linux.c.orig 2005-04-23 15:56:13.988849232 +0000 -+++ xserver/hw/kdrive/linux/linux.c 2005-04-23 15:57:05.001094192 +0000 -@@ -342,7 +342,7 @@ - /* - * Open the APM driver - */ -- LinuxApmFd = open ("/dev/apm_bios", 2); -+ /*LinuxApmFd = open ("/dev/apm_bios", 2); - if (LinuxApmFd < 0 && errno == ENOENT) - LinuxApmFd = open ("/dev/misc/apm_bios", 2); - if (LinuxApmFd >= 0) -@@ -352,7 +352,7 @@ - RegisterBlockAndWakeupHandlers (LinuxApmBlock, LinuxApmWakeup, 0); - AddEnabledDevice (LinuxApmFd); - } -- -+ */ - /* - * now get the VT - */ diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xf86-dga-xorgcfg.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xf86-dga-xorgcfg.patch deleted file mode 100644 index 9c43e52ead..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xf86-dga-xorgcfg.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 -+++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 -@@ -505,7 +505,11 @@ - XEXTXORG_LIB='$(top_builddir)/Xext/libXextbuiltin.la' - - dnl Core modules for most extensions, et al. -+if test "$KDRIVE" = yes; then -+REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto xproto xtrans xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto" -+else - REQUIRED_MODULES="randrproto renderproto [fixesproto >= 4.0] damageproto xcmiscproto xextproto xproto xtrans xf86miscproto xf86vidmodeproto xf86bigfontproto [scrnsaverproto >= 1.1] bigreqsproto resourceproto fontsproto inputproto xf86dgaproto" -+fi - REQUIRED_LIBS="xfont xau fontenc" - - AM_CONDITIONAL(XV, [test "x$XV" = xyes]) -@@ -1514,7 +1526,9 @@ - AC_SUBST(XKB_COMPILED_DIR) - - dnl and the rest of these are generic, so they're in config.h -+if test ! x"$KDRIVE" = xyes; then - AC_DEFINE(XFreeXDGA, 1, [Build XDGA support]) -+fi - AC_DEFINE(XResExtension, 1, [Build XRes extension]) - - dnl CYGWIN does not define fd_set if _POSIX_SOURCE is defined -@@ -1534,10 +1548,12 @@ - - AC_DEFINE_DIR(PROJECTROOT, prefix, [Overall prefix]) - -+if test ! "x$KDRIVE" = xyes ; then - dnl xorgconfig CLI configuration utility - PKG_CHECK_MODULES([XORGCONFIG_DEP], [xkbfile x11]) - AC_SUBST(XORGCONFIG_DEP_CFLAGS) - AC_SUBST(XORGCONFIG_DEP_LIBS) -+fi - - dnl xorgcfg GUI configuration utility - AC_ARG_ENABLE(xorgcfg, AS_HELP_STRING([--enable-xorgcfg], diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xkb.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xkb.patch deleted file mode 100644 index 9c38156cd2..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/disable-xkb.patch +++ /dev/null @@ -1,82 +0,0 @@ -Index: xorg-server-1.1.99.3/Makefile.am -=================================================================== ---- xorg-server-1.1.99.3.orig/Makefile.am 2008-02-20 22:22:56.000000000 +0000 -+++ xorg-server-1.1.99.3/Makefile.am 2008-02-20 22:23:22.000000000 +0000 -@@ -34,6 +34,11 @@ - XSP_DIR=xsp - endif - -+if XKB -+XKB_DIR=xkb -+endif -+ -+ - SUBDIRS = \ - doc \ - include \ -@@ -46,7 +51,7 @@ - randr \ - render \ - Xi \ -- xkb \ -+ $(XKB_DIR) \ - $(DBE_DIR) \ - $(MFB_DIR) \ - $(AFB_DIR) \ -Index: xorg-server-1.1.99.3/configure.ac -=================================================================== ---- xorg-server-1.1.99.3.orig/configure.ac 2008-02-20 22:04:15.000000000 +0000 -+++ xorg-server-1.1.99.3/configure.ac 2008-02-20 22:28:35.000000000 +0000 -@@ -434,6 +434,7 @@ - AC_ARG_ENABLE(dbus, AS_HELP_STRING([--disable-dbus], [Build D-BUS support (default: auto)]), [DBUS=$enableval], [DBUS=auto]) - AC_ARG_ENABLE(xsp, AS_HELP_STRING([--disable-xsp], [Build XSP support (default: auto)]), [XSP=$enableval], [XSP=auto]) - AC_ARG_ENABLE(tslib, AS_HELP_STRING([--disable-tslib], [Build embedded touchscreen support (default: auto)]), [TSLIB=$enableval], [TSLIB=auto]) -+AC_ARG_ENABLE(xkb, AS_HELP_STRING([--disable-xkb], [Build XKB (default: enabled)]), [XKB=$enableval], [XKB=yes]) - - dnl DDXes. - AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto]) -@@ -751,12 +752,15 @@ - - AC_DEFINE(SHAPE, 1, [Support SHAPE extension]) - --AC_DEFINE(XKB, 1, [Build XKB]) --AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server]) --AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default]) --REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" --XKB_LIB='$(top_builddir)/xkb/libxkb.la' --XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la' -+AM_CONDITIONAL(XKB, [test "x$XKB" = xyes]) -+if test "x$XKB" = xyes; then -+ AC_DEFINE(XKB, 1, [Build XKB]) -+ AC_DEFINE(XKB_IN_SERVER, 1, [Build XKB server]) -+ AC_DEFINE(XKB_DFLT_DISABLED, 0, [Disable XKB per default]) -+ REQUIRED_MODULES="$REQUIRED_MODULES xkbfile" -+ XKB_LIB='$(top_builddir)/xkb/libxkb.la' -+ XKB_STUB_LIB='$(top_builddir)/xkb/libxkbstubs.la' -+fi - - AC_CHECK_FUNC(strcasecmp, [], AC_DEFINE([NEED_STRCASECMP], 1, - [Do not have `strcasecmp'.])) -Index: xorg-server-1.1.99.3/hw/kdrive/src/Makefile.am -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/Makefile.am 2008-02-20 22:28:04.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/src/Makefile.am 2008-02-20 22:28:31.000000000 +0000 -@@ -39,4 +39,4 @@ - libkdrivestubs_a_SOURCES = \ - $(top_srcdir)/fb/fbcmap.c - --libkdrivexkb_a_SOURCES = kxkb.c -+libkdrivexkb_a_SOURCES = -Index: xorg-server-1.1.99.3/hw/kdrive/src/kinput.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/kinput.c 2008-02-20 22:25:58.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/src/kinput.c 2008-02-20 22:27:29.000000000 +0000 -@@ -777,7 +777,7 @@ - KdInitModMap(ki); - KdInitAutoRepeats(ki); - --#ifndef XKB -+#ifdef XKB - if (!noXkbExtension) { - memset(&names, 0, sizeof(XkbComponentNamesRec)); - if (XkbInitialMap) diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-builtin-fonts.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-builtin-fonts.patch deleted file mode 100644 index 13a6c2c954..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-builtin-fonts.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- xorg-server-X11R7.1-1.1.0/dix/dixfonts.c.orig 2006-06-08 14:49:12.158684250 +0200 -+++ xorg-server-X11R7.1-1.1.0/dix/dixfonts.c 2006-06-08 14:49:52.493205000 +0200 -@@ -52,8 +52,8 @@ - /* $Xorg: dixfonts.c,v 1.4 2000/08/17 19:48:18 cpqbld Exp $ */ - - #define NEED_REPLIES - #ifdef HAVE_DIX_CONFIG_H --#include -+#include - #endif - - #include diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-tslib.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-tslib.patch deleted file mode 100644 index e488657b74..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/enable-tslib.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- git/configure.ac.orig 2006-05-22 22:40:00.000000000 +0200 -+++ git/configure.ac 2006-06-10 15:10:14.000000000 +0200 -@@ -1438,6 +1446,10 @@ - fi - -- # tslib... -+ AC_CHECK_HEADERS([tslib.h]) -+ if test "$ac_cv_header_tslib_h" = yes; then -+ AC_DEFINE(TSLIB, 1, [Build kdrive with tslib support]) -+ AC_DEFINE(TOUCHSCREEN, 1, [Build kdrive with touchscreen support]) -+ fi - - # damage shadow extension glx (NOTYET) fb mi - KDRIVE_INC='-I$(top_srcdir)/hw/kdrive/src' -@@ -1467,7 +1479,7 @@ - AC_SUBST(KDRIVE_CFLAGS) - AC_SUBST(KDRIVE_PURE_LIBS) - AC_SUBST(KDRIVE_LIBS) --AM_CONDITIONAL(TSLIB, false) -+AM_CONDITIONAL(TSLIB, [test x"$ac_cv_header_tslib_h" = xyes]) - AM_CONDITIONAL(H3600_TS, false) - AM_CONDITIONAL(KDRIVEVESA, [test x"$ac_cv_header_sys_vm86_h" = xyes]) - AM_CONDITIONAL(KDRIVEFBDEV, [test x"$ac_cv_header_linux_fb_h" = xyes]) diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fbdev-not-fix.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fbdev-not-fix.patch deleted file mode 100644 index f87e7cc2cd..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fbdev-not-fix.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- xserver/hw/kdrive/fbdev/fbdev.c~ 2004-09-15 00:08:10.000000000 +0100 -+++ xserver/hw/kdrive/fbdev/fbdev.c 2004-11-13 17:47:02.000000000 +0000 -@@ -198,6 +198,11 @@ - return FALSE; - } - -+ /* Re-get the "fixed" parameters since they might have changed */ -+ k = ioctl (priv->fd, FBIOGET_FSCREENINFO, &priv->fix); -+ if (k < 0) -+ perror ("FBIOGET_FSCREENINFO"); -+ - /* Now get the new screeninfo */ - ioctl (priv->fd, FBIOGET_VSCREENINFO, &priv->var); - depth = priv->var.bits_per_pixel; diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch deleted file mode 100644 index 09c9e8909c..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/fixups.patch +++ /dev/null @@ -1,446 +0,0 @@ ---- - Xi/chgdctl.c | 55 +++++++++++++++++++------ - Xi/getdctl.c | 87 +++++++++++++++++++++++++++++++---------- - Xi/getdctl.h | 11 +++-- - Xi/stubs.c | 2 - configure.ac | 2 - dix/devices.c | 31 +++++++++----- - hw/kdrive/linux/tslib.c | 8 +-- - hw/kdrive/src/kinput.c | 6 +- - hw/xfree86/common/xf86Xinput.c | 3 - - include/input.h | 2 - include/inputstr.h | 18 +++++++- - 11 files changed, 162 insertions(+), 63 deletions(-) - -Index: xorg-server-1.1.99.3/Xi/chgdctl.c -=================================================================== ---- xorg-server-1.1.99.3.orig/Xi/chgdctl.c 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/Xi/chgdctl.c 2007-01-29 22:59:27.000000000 +0000 -@@ -104,8 +104,10 @@ ProcXChangeDeviceControl(ClientPtr clien - xChangeDeviceControlReply rep; - AxisInfoPtr a; - CARD32 *resolution; -- xDeviceTSCtl *ts; -+ xDeviceAbsCalibCtl *calib; -+ xDeviceAbsAreaCtl *area; - xDeviceCoreCtl *c; -+ xDeviceEnableCtl *e; - - REQUEST(xChangeDeviceControlReq); - REQUEST_AT_LEAST_SIZE(xChangeDeviceControlReq); -@@ -170,25 +172,28 @@ ProcXChangeDeviceControl(ClientPtr clien - return Success; - } - break; -- case DEVICE_TOUCHSCREEN: -- ts = (xDeviceTSCtl *)&stuff[1]; -- -- if (ts->button_threshold < 0 || ts->button_threshold > 255) { -+ case DEVICE_ABS_CALIB: -+ calib = (xDeviceAbsCalibCtl *)&stuff[1]; -+ -+ if (calib->button_threshold < 0 || calib->button_threshold > 255) { - SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, 0, - BadValue); - return Success; - } - -- status = ChangeDeviceControl(client, dev, (xDeviceCtl *) ts); -+ status = ChangeDeviceControl(client, dev, (xDeviceCtl *) calib); - - if (status == Success) { -- dev->touchscreen->min_x = ts->min_x; -- dev->touchscreen->max_x = ts->max_x; -- dev->touchscreen->min_y = ts->min_y; -- dev->touchscreen->max_y = ts->max_y; -- dev->touchscreen->button_threshold = ts->button_threshold; -- } else if (status == DeviceBusy) { -- rep.status = DeviceBusy; -+ dev->absolute->min_x = calib->min_x; -+ dev->absolute->max_x = calib->max_x; -+ dev->absolute->min_y = calib->min_y; -+ dev->absolute->max_y = calib->max_y; -+ dev->absolute->flip_x = calib->flip_x; -+ dev->absolute->flip_y = calib->flip_y; -+ dev->absolute->rotation = calib->rotation; -+ dev->absolute->button_threshold = calib->button_threshold; -+ } else if (status == DeviceBusy || status == BadValue) { -+ rep.status = status; - WriteReplyToClient(client, sizeof(xChangeDeviceControlReply), - &rep); - return Success; -@@ -199,6 +204,30 @@ ProcXChangeDeviceControl(ClientPtr clien - } - - break; -+ case DEVICE_ABS_AREA: -+ area = (xDeviceAbsAreaCtl *)&stuff[1]; -+ -+ status = ChangeDeviceControl(client, dev, (xDeviceCtl *) area); -+ -+ if (status == Success) { -+ dev->absolute->offset_x = area->offset_x; -+ dev->absolute->offset_y = area->offset_y; -+ dev->absolute->width = area->width; -+ dev->absolute->height = area->height; -+ dev->absolute->screen = area->screen; -+ dev->absolute->following = area->following; -+ } else if (status == DeviceBusy || status == BadValue) { -+ rep.status = status; -+ WriteReplyToClient(client, sizeof(xChangeDeviceControlReply), -+ &rep); -+ return Success; -+ } else { -+ SendErrorToClient(client, IReqCode, X_ChangeDeviceControl, 0, -+ BadMatch); -+ return Success; -+ } -+ -+ break; - case DEVICE_CORE: - c = (xDeviceCoreCtl *)&stuff[1]; - -Index: xorg-server-1.1.99.3/Xi/getdctl.c -=================================================================== ---- xorg-server-1.1.99.3.orig/Xi/getdctl.c 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/Xi/getdctl.c 2007-01-29 22:59:27.000000000 +0000 -@@ -124,14 +124,23 @@ ProcXGetDeviceControl(ClientPtr client) - total_length = sizeof(xDeviceResolutionState) + - (3 * sizeof(int) * dev->valuator->numAxes); - break; -- case DEVICE_TOUCHSCREEN: -- if (!dev->touchscreen) { -+ case DEVICE_ABS_CALIB: -+ if (!dev->absolute) { - SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, - BadMatch); - return Success; - } - -- total_length = sizeof(xDeviceTSCtl); -+ total_length = sizeof(xDeviceAbsCalibCtl); -+ break; -+ case DEVICE_ABS_AREA: -+ if (!dev->absolute) { -+ SendErrorToClient(client, IReqCode, X_GetDeviceControl, 0, -+ BadMatch); -+ return Success; -+ } -+ -+ total_length = sizeof(xDeviceAbsAreaCtl); - break; - case DEVICE_CORE: - total_length = sizeof(xDeviceCoreCtl); -@@ -152,8 +161,11 @@ ProcXGetDeviceControl(ClientPtr client) - case DEVICE_RESOLUTION: - CopySwapDeviceResolution(client, dev->valuator, buf, total_length); - break; -- case DEVICE_TOUCHSCREEN: -- CopySwapDeviceTouchscreen(client, dev->touchscreen, buf); -+ case DEVICE_ABS_CALIB: -+ CopySwapDeviceAbsCalib(client, dev->absolute, buf); -+ break; -+ case DEVICE_ABS_AREA: -+ CopySwapDeviceAbsArea(client, dev->absolute, buf); - break; - case DEVICE_CORE: - CopySwapDeviceCore(client, dev, buf); -@@ -206,28 +218,61 @@ CopySwapDeviceResolution(ClientPtr clien - } - } - --void CopySwapDeviceTouchscreen (ClientPtr client, TouchscreenClassPtr dts, -+void CopySwapDeviceAbsCalib (ClientPtr client, AbsoluteClassPtr dts, - char *buf) - { - register char n; -- xDeviceTSState *ts = (xDeviceTSState *) buf; -+ xDeviceAbsCalibState *calib = (xDeviceAbsCalibState *) buf; - -- ts->control = DEVICE_TOUCHSCREEN; -- ts->length = sizeof(ts); -- ts->min_x = dts->min_x; -- ts->max_x = dts->max_x; -- ts->min_y = dts->min_y; -- ts->max_y = dts->max_y; -- ts->button_threshold = dts->button_threshold; -+ calib->control = DEVICE_ABS_CALIB; -+ calib->length = sizeof(calib); -+ calib->min_x = dts->min_x; -+ calib->max_x = dts->max_x; -+ calib->min_y = dts->min_y; -+ calib->max_y = dts->max_y; -+ calib->flip_x = dts->flip_x; -+ calib->flip_y = dts->flip_y; -+ calib->rotation = dts->rotation; -+ calib->button_threshold = dts->button_threshold; - - if (client->swapped) { -- swaps(&ts->control, n); -- swaps(&ts->length, n); -- swapl(&ts->min_x, n); -- swapl(&ts->max_x, n); -- swapl(&ts->min_y, n); -- swapl(&ts->max_y, n); -- swapl(&ts->button_threshold, n); -+ swaps(&calib->control, n); -+ swaps(&calib->length, n); -+ swapl(&calib->min_x, n); -+ swapl(&calib->max_x, n); -+ swapl(&calib->min_y, n); -+ swapl(&calib->max_y, n); -+ swapl(&calib->flip_x, n); -+ swapl(&calib->flip_y, n); -+ swapl(&calib->rotation, n); -+ swapl(&calib->button_threshold, n); -+ } -+} -+ -+void CopySwapDeviceAbsArea (ClientPtr client, AbsoluteClassPtr dts, -+ char *buf) -+{ -+ register char n; -+ xDeviceAbsAreaState *area = (xDeviceAbsAreaState *) buf; -+ -+ area->control = DEVICE_ABS_AREA; -+ area->length = sizeof(area); -+ area->offset_x = dts->offset_x; -+ area->offset_y = dts->offset_y; -+ area->width = dts->width; -+ area->height = dts->height; -+ area->screen = dts->screen; -+ area->following = dts->following; -+ -+ if (client->swapped) { -+ swaps(&area->control, n); -+ swaps(&area->length, n); -+ swapl(&area->offset_x, n); -+ swapl(&area->offset_y, n); -+ swapl(&area->width, n); -+ swapl(&area->height, n); -+ swapl(&area->screen, n); -+ swapl(&area->following, n); - } - } - -Index: xorg-server-1.1.99.3/Xi/getdctl.h -=================================================================== ---- xorg-server-1.1.99.3.orig/Xi/getdctl.h 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/Xi/getdctl.h 2007-01-29 22:59:27.000000000 +0000 -@@ -42,10 +42,13 @@ void CopySwapDeviceResolution(ClientPtr - int /* length */ - ); - --void CopySwapDeviceTouchscreen(ClientPtr /* client */ , -- TouchscreenClassPtr /* ts */ , -- char * /* buf */ -- ); -+void CopySwapDeviceAbsCalib (ClientPtr client, -+ AbsoluteClassPtr dts, -+ char *buf); -+ -+void CopySwapDeviceAbsArea (ClientPtr client, -+ AbsoluteClassPtr dts, -+ char *buf); - - void CopySwapDeviceCore(ClientPtr /* client */ , - DeviceIntPtr /* dev */ , -Index: xorg-server-1.1.99.3/Xi/stubs.c -=================================================================== ---- xorg-server-1.1.99.3.orig/Xi/stubs.c 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/Xi/stubs.c 2007-01-29 22:59:27.000000000 +0000 -@@ -287,7 +287,7 @@ ChangeDeviceControl(register ClientPtr c - switch (control->control) { - case DEVICE_RESOLUTION: - return (BadMatch); -- case DEVICE_TOUCHSCREEN: -+ case DEVICE_ABS_CALIB: - return (BadMatch); - case DEVICE_CORE: - return (BadMatch); -Index: xorg-server-1.1.99.3/dix/devices.c -=================================================================== ---- xorg-server-1.1.99.3.orig/dix/devices.c 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/dix/devices.c 2007-01-29 22:59:27.000000000 +0000 -@@ -117,7 +117,7 @@ AddInputDevice(DeviceProc deviceProc, Bo - dev->button = (ButtonClassPtr)NULL; - dev->focus = (FocusClassPtr)NULL; - dev->proximity = (ProximityClassPtr)NULL; -- dev->touchscreen = (TouchscreenClassPtr)NULL; -+ dev->absolute = (AbsoluteClassPtr)NULL; - dev->kbdfeed = (KbdFeedbackPtr)NULL; - dev->ptrfeed = (PtrFeedbackPtr)NULL; - dev->intfeed = (IntegerFeedbackPtr)NULL; -@@ -821,22 +821,31 @@ InitValuatorClassDeviceStruct(DeviceIntP - } - - _X_EXPORT Bool --InitTouchscreenClassDeviceStruct(DeviceIntPtr dev) -+InitAbsoluteClassDeviceStruct(DeviceIntPtr dev) - { -- register TouchscreenClassPtr tsc; -+ register AbsoluteClassPtr abs; - -- tsc = (TouchscreenClassPtr)xalloc(sizeof(TouchscreenClassRec)); -- if (!tsc) -+ abs = (AbsoluteClassPtr)xalloc(sizeof(AbsoluteClassRec)); -+ if (!abs) - return FALSE; - - /* we don't do anything sensible with these, but should */ -- tsc->min_x = -1; -- tsc->min_y = -1; -- tsc->max_x = -1; -- tsc->max_y = -1; -+ abs->min_x = -1; -+ abs->min_y = -1; -+ abs->max_x = -1; -+ abs->max_y = -1; -+ abs->flip_x = 0; -+ abs->flip_y = 0; -+ abs->rotation = 0; -+ abs->button_threshold = 0; - -- tsc->button_threshold = 0; -- dev->touchscreen = tsc; -+ abs->offset_x = 0; -+ abs->offset_y = 0; -+ abs->width = -1; -+ abs->height = -1; -+ abs->following = 0; -+ -+ dev->absolute = abs; - - return TRUE; - } -Index: xorg-server-1.1.99.3/hw/xfree86/common/xf86Xinput.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/xfree86/common/xf86Xinput.c 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/xfree86/common/xf86Xinput.c 2007-01-29 22:59:27.000000000 +0000 -@@ -538,7 +538,8 @@ ChangeDeviceControl (ClientPtr client, D - switch (control->control) { - case DEVICE_CORE: - case DEVICE_RESOLUTION: -- case DEVICE_TOUCHSCREEN: -+ case DEVICE_ABS_CALIB: -+ case DEVICE_ABS_AREA: - return Success; - default: - return BadMatch; -Index: xorg-server-1.1.99.3/include/input.h -=================================================================== ---- xorg-server-1.1.99.3.orig/include/input.h 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/include/input.h 2007-01-29 22:59:27.000000000 +0000 -@@ -238,7 +238,7 @@ extern Bool InitValuatorClassDeviceStruc - int /*numMotionEvents*/, - int /*mode*/); - --extern Bool InitTouchscreenClassDeviceStruct( -+extern Bool InitAbsoluteClassDeviceStruct( - DeviceIntPtr /*device*/); - - extern Bool InitFocusClassDeviceStruct( -Index: xorg-server-1.1.99.3/include/inputstr.h -=================================================================== ---- xorg-server-1.1.99.3.orig/include/inputstr.h 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/include/inputstr.h 2007-01-29 22:59:27.000000000 +0000 -@@ -185,13 +185,25 @@ typedef struct _ProximityClassRec { - char pad; - } ProximityClassRec, *ProximityClassPtr; - --typedef struct _TouchscreenClassRec { -+typedef struct _AbsoluteClassRec { -+ /* Calibration. */ - int min_x; - int max_x; - int min_y; - int max_y; -+ int flip_x; -+ int flip_y; -+ int rotation; - int button_threshold; --} TouchscreenClassRec, *TouchscreenClassPtr; -+ -+ /* Area. */ -+ int offset_x; -+ int offset_y; -+ int width; -+ int height; -+ int screen; -+ XID following; -+} AbsoluteClassRec, *AbsoluteClassPtr; - - typedef struct _KbdFeedbackClassRec *KbdFeedbackPtr; - typedef struct _PtrFeedbackClassRec *PtrFeedbackPtr; -@@ -293,7 +305,7 @@ typedef struct _DeviceIntRec { - ButtonClassPtr button; - FocusClassPtr focus; - ProximityClassPtr proximity; -- TouchscreenClassPtr touchscreen; -+ AbsoluteClassPtr absolute; - KbdFeedbackPtr kbdfeed; - PtrFeedbackPtr ptrfeed; - IntegerFeedbackPtr intfeed; -Index: xorg-server-1.1.99.3/configure.ac -=================================================================== ---- xorg-server-1.1.99.3.orig/configure.ac 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/configure.ac 2007-01-29 22:59:27.000000000 +0000 -@@ -1586,7 +1586,7 @@ if test "$KDRIVE" = yes; then - #KDRIVE_PURE_LIBS="$DIX_LIB $OS_LIB $FB_LIB $XEXT_LIB $MIEXT_DAMAGE_LIB \ - # $MIEXT_SHADOW_LIB $XPSTUBS_LIB" - KDRIVE_XKB_DDX_LIB='$(top_builddir)/hw/kdrive/src/libkdrivexkb.a' -- KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $KDRIVE_XKB_DDX_LIB $XKB_LIB $KDRIVE_XKB_DDX_LIB$COMPOSITE_LIB $XPSTUBS_LIB $OS_LIB $CONFIG_LIB" -+ KDRIVE_PURE_LIBS="$FB_LIB $MI_LIB $FIXES_LIB $XEXT_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $KDRIVE_XKB_DDX_LIB $XKB_LIB $KDRIVE_XKB_DDX_LIB $COMPOSITE_LIB $XPSTUBS_LIB $OS_LIB $CONFIG_LIB" - KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.a' - KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.a' - KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a' -Index: xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/linux/tslib.c 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/linux/tslib.c 2007-01-29 22:59:27.000000000 +0000 -@@ -94,7 +94,7 @@ TsRead (int fd, void *closure) - event.pressure); - discard = 0; - if (event.pressure) { -- if (event.pressure > pi->dixdev->touchscreen->button_threshold) -+ if (event.pressure > pi->dixdev->absolute->button_threshold) - flags = KD_BUTTON_8; - else - flags = KD_BUTTON_1; -@@ -356,9 +356,9 @@ TslibEnable (KdPointerInfo *pi) - close(private->fd); - return BadAlloc; - } -- if (pi->dixdev && pi->dixdev->touchscreen && -- pi->dixdev->touchscreen->button_threshold == 0) -- pi->dixdev->touchscreen->button_threshold = 115; -+ if (pi->dixdev && pi->dixdev->absolute && -+ pi->dixdev->absolute->button_threshold == 0) -+ pi->dixdev->absolute->button_threshold = 115; - - DebugF("[tslib/TslibEnable] successfully enabled %s\n", pi->path); - KdRegisterFd(private->fd, TsRead, pi); -Index: xorg-server-1.1.99.3/hw/kdrive/src/kinput.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/kinput.c 2007-01-29 22:58:18.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/src/kinput.c 2007-01-29 22:59:27.000000000 +0000 -@@ -444,7 +444,7 @@ KdPointerProc(DeviceIntPtr pDevice, int - - #ifdef XINPUT - if (pi->inputClass == KD_TOUCHSCREEN) { -- InitTouchscreenClassDeviceStruct(pDevice); -+ InitAbsoluteClassDeviceStruct(pDevice); - xiclass = AtomFromName(XI_TOUCHSCREEN); - } - else { -@@ -2323,8 +2323,8 @@ ChangeDeviceControl(register ClientPtr c - /* FIXME do something more intelligent here */ - return BadMatch; - -- case DEVICE_TOUCHSCREEN: -- if (!pDev->touchscreen) -+ case DEVICE_ABS_CALIB: -+ if (!pDev->absolute) - return BadDevice; - else - return Success; diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-evdev.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-evdev.patch deleted file mode 100644 index 06eab817bd..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-evdev.patch +++ /dev/null @@ -1,503 +0,0 @@ -# Kdrive evdev support patch, posted by Ander Conselvan de Oliveira at -# http://lists.freedesktop.org/archives/xorg/2005-December/011635.html ---- -# hw/kdrive/linux/evdev.c | 385 ++++++++++++++++++++++++++++++++++++++++++++++-- -# hw/kdrive/src/kdrive.c | 9 + -# hw/kdrive/src/kdrive.h | 4 -# 3 files changed, 386 insertions(+), 12 deletions(-) -# -Index: xorg-server-1.1.99.3/hw/kdrive/linux/evdev.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/linux/evdev.c 2006-11-03 14:49:05.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/linux/evdev.c 2007-01-25 22:05:48.000000000 +0000 -@@ -31,9 +31,11 @@ - #include - #include - #include -+#include - #include "inputstr.h" - #include "scrnintstr.h" - #include "kdrive.h" -+#include "kkeymap.h" - - #define NUM_EVENTS 128 - #define ABS_UNSET -65535 -@@ -107,9 +109,10 @@ EvdevRead (int evdevPort, void *closure) - { - KdPointerInfo *pi = closure; - Kevdev *ke = pi->driverPrivate; -- int i; -+ int i, j; - struct input_event events[NUM_EVENTS]; - int n; -+ int flags; - - n = read (evdevPort, &events, NUM_EVENTS * sizeof (struct input_event)); - if (n <= 0) -@@ -117,22 +120,64 @@ EvdevRead (int evdevPort, void *closure) - n /= sizeof (struct input_event); - for (i = 0; i < n; i++) - { -+ flags = KD_MOUSE_DELTA | kdPointerInfo->buttonState; - switch (events[i].type) { - case EV_SYN: - break; - case EV_KEY: -- EvdevMotion (pi); -- ASSIGNBIT(ke->key,events[i].code, events[i].value); -- if (events[i].code < 0x100) -- ErrorF ("key %d %d\n", events[i].code, events[i].value); -- else -- ErrorF ("key 0x%x %d\n", events[i].code, events[i].value); -+ if (events[i].code >= BTN_MOUSE && events[i].code < BTN_JOYSTICK) { -+ switch (events[i].code) { -+ case BTN_LEFT: -+ if (events[i].value == 1) -+ flags |= KD_BUTTON_1; -+ else -+ flags &= ~KD_BUTTON_1; -+ break; -+ case BTN_MIDDLE: -+ if (events[i].value == 1) -+ flags |= KD_BUTTON_2; -+ else -+ flags &= ~KD_BUTTON_2; -+ break; -+ case BTN_RIGHT: -+ if (events[i].value == 1) -+ flags |= KD_BUTTON_3; -+ else -+ flags &= ~KD_BUTTON_3; -+ break; -+ default: -+ /* Unknow button */ -+ break; -+ } -+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); -+ } - break; - case EV_REL: -- ke->rel[events[i].code] += events[i].value; -+ if (events[i].code == REL_X) { -+ KdEnqueueMouseEvent (kdMouseInfo, flags, events[i].value, 0); -+ } -+ else if (events[i].code == REL_Y) { -+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, events[i].value); -+ } -+ else if (events[i].code == REL_WHEEL) { -+ for (j = 0; j < abs (events[i].value); j++) { -+ if (events[i].value > 0) -+ flags |= KD_BUTTON_4; -+ else -+ flags |= KD_BUTTON_5; -+ -+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); -+ -+ if (events[i].value > 0) -+ flags &= ~KD_BUTTON_4; -+ else -+ flags &= ~KD_BUTTON_5; -+ -+ KdEnqueueMouseEvent (kdMouseInfo, flags, 0, 0); -+ } /* events[i].code == REL_WHEEL */ -+ } - break; - case EV_ABS: -- ke->abs[events[i].code] = events[i].value; - break; - } - } -@@ -162,6 +207,12 @@ EvdevInit (KdPointerInfo *pi) - for (i = 0; i < NUM_DEFAULT_EVDEV; i++) { - fd = open (kdefaultEvdev[i], 2); - if (fd >= 0) { -+ if (ioctl (fd, EVIOCGRAB, 1) < 0) -+ { -+ close (fd); -+ continue; -+ } -+ - pi->path = KdSaveString (kdefaultEvdev[i]); - break; - } -@@ -300,7 +351,319 @@ KdPointerDriver LinuxEvdevMouseDriver = - NULL, - }; - --#if 0 -+/* Keyboard */ -+ -+int kbd_fd = -1; -+int EvdevInputType = 0; -+ -+KeySym evdevKeymap[(194 - 1 + 1) * 2] = { -+/* These are directly mapped from DOS scanset 0 */ -+/* 1 8 */ XK_Escape, NoSymbol, -+/* 2 9 */ XK_1, XK_exclam, -+/* 3 10 */ XK_2, XK_at, -+/* 4 11 */ XK_3, XK_numbersign, -+/* 5 12 */ XK_4, XK_dollar, -+/* 6 13 */ XK_5, XK_percent, -+/* 7 14 */ XK_6, XK_asciicircum, -+/* 8 15 */ XK_7, XK_ampersand, -+/* 9 16 */ XK_8, XK_asterisk, -+/* 10 17 */ XK_9, XK_parenleft, -+/* 11 18 */ XK_0, XK_parenright, -+/* 12 19 */ XK_minus, XK_underscore, -+/* 13 20 */ XK_equal, XK_plus, -+/* 14 21 */ XK_BackSpace, NoSymbol, -+/* 15 22 */ XK_Tab, NoSymbol, -+/* 16 23 */ XK_Q, NoSymbol, -+/* 17 24 */ XK_W, NoSymbol, -+/* 18 25 */ XK_E, NoSymbol, -+/* 19 26 */ XK_R, NoSymbol, -+/* 20 27 */ XK_T, NoSymbol, -+/* 21 28 */ XK_Y, NoSymbol, -+/* 22 29 */ XK_U, NoSymbol, -+/* 23 30 */ XK_I, NoSymbol, -+/* 24 31 */ XK_O, NoSymbol, -+/* 25 32 */ XK_P, NoSymbol, -+/* 26 33 */ XK_bracketleft, XK_braceleft, -+/* 27 34 */ XK_bracketright, XK_braceright, -+/* 28 35 */ XK_Return, NoSymbol, -+/* 29 36 */ XK_Control_L, NoSymbol, -+/* 30 37 */ XK_A, NoSymbol, -+/* 31 38 */ XK_S, NoSymbol, -+/* 32 39 */ XK_D, NoSymbol, -+/* 33 40 */ XK_F, NoSymbol, -+/* 34 41 */ XK_G, NoSymbol, -+/* 35 42 */ XK_H, NoSymbol, -+/* 36 43 */ XK_J, NoSymbol, -+/* 37 44 */ XK_K, NoSymbol, -+/* 38 45 */ XK_L, NoSymbol, -+/* 39 46 */ XK_semicolon, XK_colon, -+/* 40 47 */ XK_apostrophe, XK_quotedbl, -+/* 41 48 */ XK_grave, XK_asciitilde, -+/* 42 49 */ XK_Shift_L, NoSymbol, -+/* 43 50 */ XK_backslash, XK_bar, -+/* 44 51 */ XK_Z, NoSymbol, -+/* 45 52 */ XK_X, NoSymbol, -+/* 46 53 */ XK_C, NoSymbol, -+/* 47 54 */ XK_V, NoSymbol, -+/* 48 55 */ XK_B, NoSymbol, -+/* 49 56 */ XK_N, NoSymbol, -+/* 50 57 */ XK_M, NoSymbol, -+/* 51 58 */ XK_comma, XK_less, -+/* 52 59 */ XK_period, XK_greater, -+/* 53 60 */ XK_slash, XK_question, -+/* 54 61 */ XK_Shift_R, NoSymbol, -+/* 55 62 */ XK_KP_Multiply, NoSymbol, -+/* 56 63 */ XK_Alt_L, XK_Meta_L, -+/* 57 64 */ XK_space, NoSymbol, -+/* 58 65 */ XK_Caps_Lock, NoSymbol, -+/* 59 66 */ XK_F1, NoSymbol, -+/* 60 67 */ XK_F2, NoSymbol, -+/* 61 68 */ XK_F3, NoSymbol, -+/* 62 69 */ XK_F4, NoSymbol, -+/* 63 70 */ XK_F5, NoSymbol, -+/* 64 71 */ XK_F6, NoSymbol, -+/* 65 72 */ XK_F7, NoSymbol, -+/* 66 73 */ XK_F8, NoSymbol, -+/* 67 74 */ XK_F9, NoSymbol, -+/* 68 75 */ XK_F10, NoSymbol, -+/* 69 76 */ XK_Break, XK_Pause, -+/* 70 77 */ XK_Scroll_Lock, NoSymbol, -+/* 71 78 */ XK_KP_Home, XK_KP_7, -+/* 72 79 */ XK_KP_Up, XK_KP_8, -+/* 73 80 */ XK_KP_Page_Up, XK_KP_9, -+/* 74 81 */ XK_KP_Subtract, NoSymbol, -+/* 75 82 */ XK_KP_Left, XK_KP_4, -+/* 76 83 */ XK_KP_5, NoSymbol, -+/* 77 84 */ XK_KP_Right, XK_KP_6, -+/* 78 85 */ XK_KP_Add, NoSymbol, -+/* 79 86 */ XK_KP_End, XK_KP_1, -+/* 80 87 */ XK_KP_Down, XK_KP_2, -+/* 81 88 */ XK_KP_Page_Down, XK_KP_3, -+/* 82 89 */ XK_KP_Insert, XK_KP_0, -+/* 83 90 */ XK_KP_Delete, XK_KP_Decimal, -+/* 84 91 */ NoSymbol, NoSymbol, -+/* 85 92 */ NoSymbol, NoSymbol, -+/* 86 93 */ NoSymbol, NoSymbol, -+/* 87 94 */ XK_F11, NoSymbol, -+/* 88 95 */ XK_F12, NoSymbol, -+ -+/* These are remapped from the extended set (using ExtendMap) */ -+ -+/* 89 96 */ XK_Control_R, NoSymbol, -+/* 90 97 */ XK_KP_Enter, NoSymbol, -+/* 91 98 */ XK_KP_Divide, NoSymbol, -+/* 92 99 */ XK_Sys_Req, XK_Print, -+/* 93 100 */ XK_Alt_R, XK_Meta_R, -+/* 94 101 */ XK_Num_Lock, NoSymbol, -+/* 95 102 */ XK_Home, NoSymbol, -+/* 96 103 */ XK_Up, NoSymbol, -+/* 97 104 */ XK_Page_Up, NoSymbol, -+/* 98 105 */ XK_Left, NoSymbol, -+/* 99 106 */ XK_Right, NoSymbol, -+/* 100 107 */ XK_End, NoSymbol, -+/* 101 108 */ XK_Down, NoSymbol, -+/* 102 109 */ XK_Page_Down, NoSymbol, -+/* 103 110 */ XK_Insert, NoSymbol, -+/* 104 111 */ XK_Delete, NoSymbol, -+/* 105 112 */ XK_Super_L, NoSymbol, -+/* 106 113 */ XK_Super_R, NoSymbol, -+/* 107 114 */ XK_Menu, NoSymbol, -+/* 108 115 */ NoSymbol, NoSymbol, -+/* 109 116 */ NoSymbol, NoSymbol, -+/* 110 117 */ NoSymbol, NoSymbol, -+/* 111 118 */ NoSymbol, NoSymbol, -+/* 112 119 */ NoSymbol, NoSymbol, -+ -+/* 113 120 */ NoSymbol, NoSymbol, -+/* 114 121 */ NoSymbol, NoSymbol, -+/* 115 122 */ NoSymbol, NoSymbol, -+/* 116 123 */ NoSymbol, NoSymbol, -+/* 117 124 */ NoSymbol, NoSymbol, -+/* 118 125 */ NoSymbol, NoSymbol, -+/* 119 126 */ NoSymbol, NoSymbol, -+/* 120 127 */ NoSymbol, NoSymbol, -+/* 121 128 */ NoSymbol, NoSymbol, -+/* 122 129 */ NoSymbol, NoSymbol, -+/* 123 130 */ NoSymbol, NoSymbol, -+/* 124 131 */ NoSymbol, NoSymbol, -+/* 125 132 */ NoSymbol, NoSymbol, -+/* 126 133 */ NoSymbol, NoSymbol, -+/* 127 134 */ NoSymbol, NoSymbol, -+/* 128 135 */ NoSymbol, NoSymbol, -+/* 129 136 */ NoSymbol, NoSymbol, -+/* 130 137 */ NoSymbol, NoSymbol, -+/* 131 138 */ NoSymbol, NoSymbol, -+/* 132 139 */ NoSymbol, NoSymbol, -+/* 133 140 */ NoSymbol, NoSymbol, -+/* 134 141 */ NoSymbol, NoSymbol, -+/* 135 142 */ NoSymbol, NoSymbol, -+/* 136 143 */ NoSymbol, NoSymbol, -+/* 137 144 */ NoSymbol, NoSymbol, -+/* 138 145 */ NoSymbol, NoSymbol, -+/* 139 146 */ NoSymbol, NoSymbol, -+/* 140 147 */ NoSymbol, NoSymbol, -+/* 141 148 */ NoSymbol, NoSymbol, -+/* 142 149 */ NoSymbol, NoSymbol, -+/* 143 150 */ NoSymbol, NoSymbol, -+/* 144 151 */ NoSymbol, NoSymbol, -+/* 145 152 */ NoSymbol, NoSymbol, -+/* 146 153 */ NoSymbol, NoSymbol, -+/* 147 154 */ NoSymbol, NoSymbol, -+/* 148 155 */ NoSymbol, NoSymbol, -+/* 149 156 */ NoSymbol, NoSymbol, -+/* 150 157 */ NoSymbol, NoSymbol, -+/* 151 158 */ NoSymbol, NoSymbol, -+/* 152 159 */ NoSymbol, NoSymbol, -+/* 153 160 */ NoSymbol, NoSymbol, -+/* 154 161 */ NoSymbol, NoSymbol, -+/* 155 162 */ NoSymbol, NoSymbol, -+/* 156 163 */ NoSymbol, NoSymbol, -+/* 157 164 */ NoSymbol, NoSymbol, -+/* 158 165 */ NoSymbol, NoSymbol, -+/* 159 166 */ NoSymbol, NoSymbol, -+/* 160 167 */ NoSymbol, NoSymbol, -+/* 161 168 */ NoSymbol, NoSymbol, -+/* 162 169 */ NoSymbol, NoSymbol, -+/* 163 170 */ NoSymbol, NoSymbol, -+/* 164 171 */ NoSymbol, NoSymbol, -+/* 165 172 */ NoSymbol, NoSymbol, -+/* 166 173 */ NoSymbol, NoSymbol, -+/* 167 174 */ NoSymbol, NoSymbol, -+/* 168 175 */ NoSymbol, NoSymbol, -+/* 169 176 */ NoSymbol, NoSymbol, -+/* 170 177 */ NoSymbol, NoSymbol, -+/* 171 178 */ NoSymbol, NoSymbol, -+/* 172 179 */ NoSymbol, NoSymbol, -+/* 173 180 */ NoSymbol, NoSymbol, -+/* 174 181 */ NoSymbol, NoSymbol, -+/* 175 182 */ NoSymbol, NoSymbol, -+/* 176 183 */ NoSymbol, NoSymbol, -+/* 177 184 */ NoSymbol, NoSymbol, -+/* 178 185 */ NoSymbol, NoSymbol, -+/* 179 186 */ NoSymbol, NoSymbol, -+/* 180 187 */ NoSymbol, NoSymbol, -+/* 181 188 */ NoSymbol, NoSymbol, -+/* 182 189 */ NoSymbol, NoSymbol, -+/* 183 190 */ NoSymbol, NoSymbol, -+/* 184 191 */ NoSymbol, NoSymbol, -+/* 185 192 */ NoSymbol, NoSymbol, -+/* 186 193 */ NoSymbol, NoSymbol, -+/* 187 194 */ NoSymbol, NoSymbol, -+/* 188 195 */ NoSymbol, NoSymbol, -+/* 189 196 */ NoSymbol, NoSymbol, -+/* 190 197 */ NoSymbol, NoSymbol, -+/* 191 198 */ NoSymbol, NoSymbol, -+/* 192 199 */ NoSymbol, NoSymbol, -+/* 193 200 */ NoSymbol, NoSymbol, -+/* 194 201 */ NoSymbol, NoSymbol, -+}; -+ -+static void -+EvdevKbdRead (int fd, void *closure) -+{ -+ int i, n; -+ struct input_event events[NUM_EVENTS]; -+ -+ n = read (fd, &events, NUM_EVENTS * sizeof (struct input_event)); -+ if (n <= 0) -+ return; -+ -+ n /= sizeof (struct input_event); -+ -+ for (i = 0; i < n; i++) -+ { -+ if (events[i].type == EV_KEY) -+ KdEnqueueKeyboardEvent (events[i].code, !events[i].value); -+ } -+} -+ -+static void -+EvdevKbdLoad (void) -+{ -+ kdMinScanCode = 0; -+ kdMaxScanCode = 193; -+ kdKeymapWidth = 2; -+ memcpy (kdKeymap, evdevKeymap, sizeof (evdevKeymap)); -+} -+ -+static int -+EvdevKbdInit (void) -+{ -+ int fd, i; -+ -+ if (!EvdevInputType) -+ EvdevInputType = KdAllocInputType (); -+ -+ if (!kdKeyboard) -+ { -+ for (i = 0; i < NUM_DEFAULT_EVDEV; i++) -+ { -+ fd = open (kdefaultEvdev[i], 2); -+ if (fd >= 0) -+ { -+ kdKeyboard = KdSaveString (kdefaultEvdev[i]); -+ break; -+ } -+ } -+ } -+ else -+ { -+ fd = open (kdKeyboard, O_RDWR); -+ if (fd < 0) -+ return FALSE; -+ } -+ -+ if (ioctl (fd, EVIOCGRAB, 1) < 0) -+ { -+ close (fd); -+ return FALSE; -+ } -+ -+ if (!KdRegisterFd (EvdevInputType, fd, EvdevKbdRead, NULL)) -+ return FALSE; -+ -+ kbd_fd = fd; -+ return TRUE; -+} -+ -+static void -+EvdevKbdFini (void) -+{ -+} -+ -+static void -+EvdevKbdLeds (int leds) -+{ -+ struct input_event event; -+ -+ memset(&event, 0, sizeof(event)); -+ -+ event.type = EV_LED; -+ event.code = LED_CAPSL; -+ event.value = leds & (1 << 0) ? 1 : 0; -+ write(kbd_fd, (char *) &event, sizeof(event)); -+ -+ event.type = EV_LED; -+ event.code = LED_NUML; -+ event.value = leds & (1 << 1) ? 1 : 0; -+ write(kbd_fd, (char *) &event, sizeof(event)); -+ -+ event.type = EV_LED; -+ event.code = LED_SCROLLL; -+ event.value = leds & (1 << 2) ? 1 : 0; -+ write(kbd_fd, (char *) &event, sizeof(event)); -+ -+ event.type = EV_LED; -+ event.code = LED_COMPOSE; -+ event.value = leds & (1 << 3) ? 1 : 0; -+ write(kbd_fd, (char *) &event, sizeof(event)); -+} -+ -+static void -+EvdevKbdBell (int volume, int frequency, int duration) -+{ -+} -+ - KdKeyboardFuncs LinuxEvdevKeyboardFuncs = { - EvdevKbdLoad, - EvdevKbdInit, -@@ -309,4 +672,4 @@ KdKeyboardFuncs LinuxEvdevKeyboardFuncs - EvdevKbdFini, - 0, - }; --#endif -+ -Index: xorg-server-1.1.99.3/hw/kdrive/src/kdrive.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/kdrive.c 2006-11-03 14:49:05.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/src/kdrive.c 2007-01-25 21:56:32.000000000 +0000 -@@ -80,6 +80,7 @@ Bool kdDontZap; - Bool kdEnabled; - int kdSubpixelOrder; - int kdVirtualTerminal = -1; -+char *kdKeyboard = 0; - Bool kdSwitchPending; - char *kdSwitchCmd; - DDXPointRec kdOrigin; -@@ -707,6 +708,14 @@ KdProcessArgument (int argc, char **argv - UseMsg (); - return 2; - } -+ if (!strcmp (argv[i], "-keyboard")) -+ { -+ if ((i+1) < argc) -+ kdKeyboard = argv[i+1]; -+ else -+ UseMsg (); -+ return 2; -+ } - if (!strcmp (argv[i], "-rgba")) - { - if ((i+1) < argc) -Index: xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/kdrive.h 2006-11-03 14:49:05.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h 2007-01-25 21:58:26.000000000 +0000 -@@ -512,6 +512,7 @@ extern Bool kdEmulateMiddleButton; - extern Bool kdDisableZaphod; - extern Bool kdDontZap; - extern int kdVirtualTerminal; -+extern char *kdKeyboard; - extern char *kdSwitchCmd; - extern KdOsFuncs *kdOsFuncs; - -@@ -875,12 +876,13 @@ void - ProcessInputEvents (void); - - extern KdPointerDriver LinuxMouseDriver; --extern KdPointerDriver LinuxEvdevDriver; -+extern KdPointerDriver LinuxEvdevMouseFuncs; - extern KdPointerDriver Ps2MouseDriver; - extern KdPointerDriver BusMouseDriver; - extern KdPointerDriver MsMouseDriver; - extern KdPointerDriver TsDriver; - extern KdKeyboardDriver LinuxKeyboardDriver; -+extern KdKeyboardFuncs LinuxEvdevKeyboardFuncs; - extern KdOsFuncs LinuxFuncs; - - extern KdPointerDriver VxWorksMouseDriver; diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-use-evdev.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-use-evdev.patch deleted file mode 100644 index d4f885ee26..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kdrive-use-evdev.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- xserver/hw/kdrive/fbdev/fbinit.c~ 2006-01-31 17:09:33.000000000 +0100 -+++ xserver/hw/kdrive/fbdev/fbinit.c 2006-01-31 17:11:55.000000000 +0100 -@@ -28,6 +28,8 @@ - #endif - #include - -+extern int use_evdev; -+ - void - InitCard (char *name) - { -@@ -45,7 +47,10 @@ - void - InitInput (int argc, char **argv) - { -- KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); -+ if (use_evdev) -+ KdInitInput (&LinuxEvdevMouseFuncs, &LinuxEvdevKeyboardFuncs); -+ else -+ KdInitInput (&LinuxMouseFuncs, &LinuxKeyboardFuncs); - #ifdef TOUCHSCREEN - KdAddMouseDriver (&TsFuncs); - #endif ---- xserver/hw/kdrive/src/kdrive.c.orig 2006-01-31 17:13:28.000000000 +0100 -+++ xserver/hw/kdrive/src/kdrive.c 2006-01-31 17:15:28.000000000 +0100 -@@ -44,6 +44,8 @@ - #include "dpmsproc.h" - #endif - -+int use_evdev = 0; -+ - typedef struct _kdDepths { - CARD8 depth; - CARD8 bpp; -@@ -687,6 +689,7 @@ - ErrorF("-videoTest Start the server, pause momentarily and exit\n"); - ErrorF("-origin X,Y Locates the next screen in the the virtual screen (Xinerama)\n"); - ErrorF("-mouse path[,n] Filename of mouse device, n is number of buttons\n"); -+ ErrorF("-use-evdev Use Linux evdev input\n"); - ErrorF("-switchCmd Command to execute on vt switch\n"); - ErrorF("-nozap Don't terminate server on Ctrl+Alt+Backspace\n"); - ErrorF("vtxx Use virtual terminal xx instead of the next available\n"); -@@ -796,6 +799,10 @@ - UseMsg (); - return 2; - } -+ if (!strcmp (argv[i], "-use-evdev")) -+ { -+ use_evdev = 1; -+ } - if (!strcmp (argv[i], "-keyboard")) - { - if ((i+1) < argc) diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kmode.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kmode.patch deleted file mode 100644 index 23a0f7eae8..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/kmode.patch +++ /dev/null @@ -1,43 +0,0 @@ ---- - hw/kdrive/src/kmode.c | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -Index: xorg-server-1.1.99.3/hw/kdrive/src/kmode.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/kmode.c 2007-01-25 23:53:59.000000000 +0000 -+++ xorg-server-1.1.99.3/hw/kdrive/src/kmode.c 2007-01-27 17:17:09.000000000 +0000 -@@ -41,6 +41,11 @@ const KdMonitorTiming kdMonitorTimings[ - 1, 11, 14, KdSyncNegative, - }, - -+ { 240, 320, 64, 0, -+ 0, 0, 0, KdSyncNegative, -+ 0, 0, 0, KdSyncNegative, -+ }, -+ - /* Other VESA modes */ - { 640, 350, 85, 31500, /* VESA */ - 32, 96, 192, KdSyncPositive, /* 26.413 */ -@@ -80,6 +85,22 @@ const KdMonitorTiming kdMonitorTimings[ - 16, 48, 160, KdSyncNegative, /* 31.469 */ - 10, 33, 45, KdSyncNegative, /* 59.940 */ - }, -+ -+ -+ { 480, 640, 60, 0, -+ 0, 0, 0, KdSyncNegative, -+ 0, 0, 0, KdSyncNegative, -+ }, -+ -+ { 800, 480, 51, 0, -+ 0, 0, 0, KdSyncNegative, -+ 0, 0, 0, KdSyncNegative, -+ }, -+ -+ { 480, 800, 51, 0, -+ 0, 0, 0, KdSyncNegative, -+ 0, 0, 0, KdSyncNegative, -+ }, - - /* 800x600 modes */ - { 800, 600, 85, 56250, /* VESA */ diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/no-serial-probing.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/no-serial-probing.patch deleted file mode 100644 index 35ccadaa8d..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/no-serial-probing.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- xserver/hw/kdrive/linux/mouse.c.orig 2004-05-13 14:25:51.000000000 -0700 -+++ xserver/hw/kdrive/linux/mouse.c 2005-09-22 12:20:47.000000000 -0700 -@@ -927,8 +927,10 @@ char *kdefaultMouse[] = { - "/dev/psaux", - "/dev/input/mice", - "/dev/adbmouse", -+#ifdef BREAK_MY_SERIAL_CONSOLE - "/dev/ttyS0", - "/dev/ttyS1", -+#endif - }; - - #define NUM_DEFAULT_MOUSE (sizeof (kdefaultMouse) / sizeof (kdefaultMouse[0])) diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate.patch deleted file mode 100644 index 2a10f13d40..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate.patch +++ /dev/null @@ -1,73 +0,0 @@ ---- - Xext/Makefile.am | 5 - Xext/xcalibrate.c | 262 +++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 8 + - include/kdrive-config.h.in | 3 - mi/miinitext.c | 6 + - 5 files changed, 283 insertions(+), 1 deletion(-) - -Index: xorg-server-1.1.99.3/mi/miinitext.c -=================================================================== ---- xorg-server-1.1.99.3.orig/mi/miinitext.c 2006-11-03 14:49:06.000000000 +0000 -+++ xorg-server-1.1.99.3/mi/miinitext.c 2007-01-27 17:59:40.000000000 +0000 -@@ -368,6 +368,9 @@ extern void ResExtensionInit(INITARGS); - #ifdef DMXEXT - extern void DMXExtensionInit(INITARGS); - #endif -+#ifdef XCALIBRATE -+extern void XCalibrateExtensionInit(INITARGS); -+#endif - #ifdef XEVIE - extern void XevieExtensionInit(INITARGS); - #endif -@@ -662,6 +665,9 @@ InitExtensions(argc, argv) - #ifdef XSP - if (!noXspExtension) XSPExtensionInit(); - #endif -+#ifdef XCALIBRATE -+ XCalibrateExtensionInit (); -+#endif - } - - void -Index: xorg-server-1.1.99.3/configure.ac -=================================================================== ---- xorg-server-1.1.99.3.orig/configure.ac 2006-11-03 14:49:05.000000000 +0000 -+++ xorg-server-1.1.99.3/configure.ac 2007-01-29 22:58:18.000000000 +0000 -@@ -1584,7 +1590,7 @@ if test "$KDRIVE" = yes; then - KDRIVE_LIB='$(top_builddir)/hw/kdrive/src/libkdrive.a' - KDRIVE_OS_LIB='$(top_builddir)/hw/kdrive/linux/liblinux.a' - KDRIVE_STUB_LIB='$(top_builddir)/hw/kdrive/src/libkdrivestubs.a' -- KDRIVE_LIBS="$XSERVERLIBS_LIBS $DIX_LIB $XSP_LIB $KDRIVE_LIB $TSLIB_LIBS $KDRIVE_OS_LIB $KDRIVE_PURE_LIBS $KDRIVE_STUB_LIB" -+ KDRIVE_LIBS="$XSERVERLIBS_LIBS $DIX_LIB $XSP_LIB $KDRIVE_LIB $TSLIB_LIBS $KDRIVE_PURE_LIBS $KDRIVE_OS_LIB $KDRIVE_STUB_LIB" - - # check if we can build Xephyr - PKG_CHECK_MODULES(XEPHYR, x11 xext xfont xau xdmcp, [xephyr="yes"], [xephyr="no"]) -Index: xorg-server-1.1.99.3/include/kdrive-config.h.in -=================================================================== ---- xorg-server-1.1.99.3.orig/include/kdrive-config.h.in 2006-11-03 14:49:06.000000000 +0000 -+++ xorg-server-1.1.99.3/include/kdrive-config.h.in 2007-01-27 17:59:40.000000000 +0000 -@@ -28,4 +28,7 @@ - /* Have the backtrace() functiln. */ - #undef HAVE_BACKTRACE - -+/* Enable XCalibrate extension */ -+#undef XCALIBRATE -+ - #endif /* _KDRIVE_CONFIG_H_ */ -Index: xorg-server-1.1.99.3/Xext/Makefile.am -=================================================================== ---- xorg-server-1.1.99.3.orig/Xext/Makefile.am 2006-11-03 14:49:05.000000000 +0000 -+++ xorg-server-1.1.99.3/Xext/Makefile.am 2007-01-29 22:58:33.000000000 +0000 -@@ -81,6 +81,11 @@ BUILTIN_SRCS += $(XCALIBRATE_SRCS) - # XCalibrare needs tslib - endif - -+XCALIBRATE_SRCS = xcalibrate.c -+if XCALIBRATE -+BUILTIN_SRCS += $(XCALIBRATE_SRCS) -+endif -+ - # X EVent Interception Extension: allows accessibility helpers & composite - # managers to intercept events from input devices and transform as needed - # before the clients see them. diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch deleted file mode 100644 index fbe89b16b1..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xcalibrate_coords.patch +++ /dev/null @@ -1,122 +0,0 @@ ---- - Xext/xcalibrate.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++- - hw/kdrive/src/kdrive.h | 3 +++ - hw/kdrive/src/kinput.c | 12 ++++++++++++ - 3 files changed, 61 insertions(+), 1 deletion(-) - -Index: xorg-server-1.1.99.3/Xext/xcalibrate.c -=================================================================== ---- xorg-server-1.1.99.3.orig/Xext/xcalibrate.c 2007-06-30 16:27:13.000000000 +0100 -+++ xorg-server-1.1.99.3/Xext/xcalibrate.c 2007-06-30 16:27:15.000000000 +0100 -@@ -166,7 +166,6 @@ ProcXCalibrateSetRawMode (ClientPtr clie - return (client->noClientException); - } - -- - static int - SProcXCalibrateSetRawMode (ClientPtr client) - { -@@ -180,6 +179,47 @@ SProcXCalibrateSetRawMode (ClientPtr cli - return ProcXCalibrateSetRawMode(client); - } - -+static int -+ProcXCalibrateScreenToCoord (ClientPtr client) -+{ -+ REQUEST(xXCalibrateScreenToCoordReq); -+ xXCalibrateScreenToCoordReply rep; -+ -+ REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq); -+ -+ memset (&rep, 0, sizeof (rep)); -+ rep.type = X_Reply; -+ rep.sequenceNumber = client->sequence; -+ rep.x = stuff->x; -+ rep.y = stuff->y; -+ -+ KdScreenToMouseCoords(&rep.x, &rep.y); -+ -+ if (client->swapped) -+ { -+ int n; -+ -+ swaps (&rep.x, n); -+ swaps (&rep.y, n); -+ } -+ WriteToClient(client, sizeof (rep), (char *) &rep); -+ return (client->noClientException); -+} -+ -+static int -+SProcXCalibrateScreenToCoord (ClientPtr client) -+{ -+ REQUEST(xXCalibrateScreenToCoordReq); -+ int n; -+ -+ REQUEST_SIZE_MATCH (xXCalibrateScreenToCoordReq); -+ -+ swaps(&stuff->x, n); -+ swaps(&stuff->y, n); -+ -+ return ProcXCalibrateScreenToCoord(client); -+} -+ - static void - XCalibrateResetProc (ExtensionEntry *extEntry) - { -@@ -194,6 +234,9 @@ ProcXCalibrateDispatch (ClientPtr client - return ProcXCalibrateQueryVersion(client); - case X_XCalibrateRawMode: - return ProcXCalibrateSetRawMode(client); -+ case X_XCalibrateScreenToCoord: -+ return ProcXCalibrateScreenToCoord(client); -+ - default: break; - } - -@@ -213,6 +256,8 @@ SProcXCalibrateDispatch (ClientPtr clien - return SProcXCalibrateQueryVersion(client); - case X_XCalibrateRawMode: - return SProcXCalibrateSetRawMode(client); -+ case X_XCalibrateScreenToCoord: -+ return SProcXCalibrateScreenToCoord(client); - - default: break; - } -Index: xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/kdrive.h 2007-06-30 16:27:13.000000000 +0100 -+++ xorg-server-1.1.99.3/hw/kdrive/src/kdrive.h 2007-06-30 16:30:40.000000000 +0100 -@@ -851,6 +851,9 @@ void - KdSetPointerMatrix (KdPointerMatrix *pointer); - - void -+KdScreenToMouseCoords (int *x, int *y); -+ -+void - KdComputePointerMatrix (KdPointerMatrix *pointer, Rotation randr, int width, int height); - - void -Index: xorg-server-1.1.99.3/hw/kdrive/src/kinput.c -=================================================================== ---- xorg-server-1.1.99.3.orig/hw/kdrive/src/kinput.c 2007-06-30 16:27:14.000000000 +0100 -+++ xorg-server-1.1.99.3/hw/kdrive/src/kinput.c 2007-06-30 16:30:16.000000000 +0100 -@@ -570,6 +570,18 @@ KdSetPointerMatrix (KdPointerMatrix *mat - } - - void -+KdScreenToMouseCoords (int *x, int *y) -+{ -+ int (*m)[3] = kdPointerMatrix.matrix; -+ int div = m[0][1] * m[1][0] - m[1][1] * m[0][0]; -+ int sx = *x; -+ int sy = *y; -+ -+ *x = (m[0][1] * sy - m[0][1] * m[1][2] + m[1][1] * m[0][2] - m[1][1] * sx) / div; -+ *y = (m[1][0] * sx + m[0][0] * m[1][2] - m[1][0] * m[0][2] - m[0][0] * sy) / div; -+} -+ -+void - KdComputePointerMatrix (KdPointerMatrix *m, Rotation randr, int width, - int height) - { diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xfbdev-fb-opt.patch b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xfbdev-fb-opt.patch deleted file mode 100644 index a8f002ea2a..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap/xfbdev-fb-opt.patch +++ /dev/null @@ -1,82 +0,0 @@ ---- - hw/kdrive/fbdev/fbdev.c | 17 ++++++++++++----- - hw/kdrive/fbdev/fbdev.h | 1 + - hw/kdrive/fbdev/fbinit.c | 20 ++++++++++++++++---- - 3 files changed, 29 insertions(+), 9 deletions(-) - ---- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbdev.c -+++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbdev.c -@@ -33,16 +33,23 @@ - - extern int KdTsPhyScreen; - -+char *fbdevDevicePath = NULL; - Bool - fbdevInitialize (KdCardInfo *card, FbdevPriv *priv) - { - int k; - unsigned long off; -- if ((priv->fd = open("/dev/fb0", O_RDWR)) < 0 && \ -- (priv->fd = open("/dev/fb/0", O_RDWR)) < 0) { -- perror("Error opening /dev/fb0"); -- return FALSE; -- } -+ -+ if (fbdevDevicePath == NULL) -+ fbdevDevicePath = "/dev/fb0"; -+ -+ if ((priv->fd = open(fbdevDevicePath, O_RDWR)) < 0) -+ { -+ ErrorF("Error opening framebuffer %s: %s\n", -+ fbdevDevicePath, strerror(errno)); -+ return FALSE; -+ } -+ - /* quiet valgrind */ - memset (&priv->fix, '\0', sizeof (priv->fix)); - if ((k=ioctl(priv->fd, FBIOGET_FSCREENINFO, &priv->fix)) < 0) { ---- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbdev.h -+++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbdev.h -@@ -53,6 +53,7 @@ typedef struct _fbdevScrPriv { - } FbdevScrPriv; - - extern KdCardFuncs fbdevFuncs; -+extern char* fbdevDevicePath; - - Bool - fbdevInitialize (KdCardInfo *card, FbdevPriv *priv); ---- xorg-server-X11R7.1-1.1.0.orig/hw/kdrive/fbdev/fbinit.c -+++ xorg-server-X11R7.1-1.1.0/hw/kdrive/fbdev/fbinit.c -@@ -59,16 +59,28 @@ InitInput (int argc, char **argv) - void - ddxUseMsg (void) - { -- KdUseMsg(); -+ KdUseMsg(); -+ ErrorF("\nXfbdev Device Usage:\n"); -+ ErrorF("-fb path Framebuffer device to use. Defaults to /dev/fb0\n"); -+ ErrorF("\n"); - } - - int - ddxProcessArgument (int argc, char **argv, int i) - { -- return KdProcessArgument (argc, argv, i); --} -- -+ if (!strcmp (argv[i], "-fb")) -+ { -+ if (i+1 < argc) -+ { -+ fbdevDevicePath = argv[i+1]; -+ return 2; -+ } -+ UseMsg(); -+ exit(1); -+ } - -+ return KdProcessArgument (argc, argv, i); -+} - - KdCardFuncs fbdevFuncs = { - fbdevCardInit, /* cardinit */ diff --git a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb b/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb deleted file mode 100644 index d1e955f9d3..0000000000 --- a/meta-extras/packages/xorg-xserver/xserver-kdrive-xomap_1.1.99.3.bb +++ /dev/null @@ -1,52 +0,0 @@ -LICENSE = "MIT" -DEPENDS = "tslib xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto calibrateproto recordproto videoproto scrnsaverproto xpext xsp libxkbfile dbus" - -PROVIDES = "virtual/xserver" -PACKAGES =+ "xserver-kdrive-xomap" -SECTION = "x11/base" -DESCRIPTION = "X server from freedesktop.org" -DESCRIPTION_xserver-kdrive-xomap = "X server for the OMAP in the Nokia 800" - -PE = "1" - -COMPATIBLE_MACHINE = "nokia(800|770)" - -FILES_${PN} = "${libdir}/xserver /etc/dbus-1/* ${bindir}/Xomap" - -SRC_URI = "http://repository.maemo.org/pool/maemo3.1/free/source/xorg-server_1.1.99.3-0osso31.tar.gz \ - file://kmode.patch;patch=1 \ - file://disable-apm.patch;patch=1 \ - file://no-serial-probing.patch;patch=1 \ - file://fbdev-not-fix.patch;patch=1 \ - file://enable-builtin-fonts.patch;patch=1 \ - file://xcalibrate.patch;patch=1 \ - file://fixups.patch;patch=1 \ - file://button_only.patch;patch=1 \ - file://calibrateext.patch;patch=1 \ - file://disable-xkb.patch;patch=1 \ - file://configfix.patch;patch=1 \ - file://xcalibrate_coords.patch;patch=1" -# file://kdrive-evdev.patch;patch=1 \ -# file://kdrive-use-evdev.patch;patch=1 \ -# file://disable-xf86-dga-xorgcfg.patch;patch=1 \ -# file://enable-tslib.patch;patch=1 \ -# file://xfbdev-fb-opt.patch;patch=1" - -S = "${WORKDIR}/xorg-server-1.1.99.3" - -inherit autotools pkgconfig - -EXTRA_OECONF = "--enable-composite --enable-kdrive --enable-builtin-fonts \ - --disable-dga --disable-dri --disable-xinerama \ - --disable-xf86misc --disable-xf86vidmode \ - --disable-xorg --disable-xorgcfg \ - --disable-dmx --enable-xcalibrate \ - --disable-xkb --disable-xnest --disable-xvfb \ - --disable-xevie --disable-xprint --disable-xtrap \ - --with-default-font-path=built-ins \ - ac_cv_file__usr_share_X11_sgml_defs_ent=no \ - --enable-xomap" - -do_configure_prepend() { - sed -i -e 's/tslib-0.0/tslib-1.0/' ${S}/configure.ac -} diff --git a/meta-extras/packages/yum/createrepo-native/pathfix.patch b/meta-extras/packages/yum/createrepo-native/pathfix.patch deleted file mode 100644 index a09a51ccc9..0000000000 --- a/meta-extras/packages/yum/createrepo-native/pathfix.patch +++ /dev/null @@ -1,81 +0,0 @@ -Index: createrepo-0.9/Makefile -=================================================================== ---- createrepo-0.9.orig/Makefile 2008-08-23 17:49:24.000000000 +0100 -+++ createrepo-0.9/Makefile 2008-08-23 17:52:01.000000000 +0100 -@@ -10,22 +10,6 @@ - SHELL = /bin/sh - top_srcdir = . - srcdir = . --prefix = /usr --exec_prefix = ${prefix} -- --bindir = ${exec_prefix}/bin --sbindir = ${exec_prefix}/sbin --libexecdir = ${exec_prefix}/libexec --datadir = ${prefix}/share --sysconfdir = ${prefix}/etc --sharedstatedir = ${prefix}/com --localstatedir = ${prefix}/var --libdir = ${exec_prefix}/lib --infodir = ${prefix}/info --docdir = --includedir = ${prefix}/include --oldincludedir = /usr/include --mandir = ${prefix}/share/man - - pkgdatadir = $(datadir)/$(PKGNAME) - pkglibdir = $(libdir)/$(PKGNAME) -Index: createrepo-0.9/bin/Makefile -=================================================================== ---- createrepo-0.9.orig/bin/Makefile 2008-08-23 17:50:13.000000000 +0100 -+++ createrepo-0.9/bin/Makefile 2008-08-23 17:50:23.000000000 +0100 -@@ -1,22 +1,6 @@ - SHELL = /bin/sh - top_srcdir = .. - srcdir = ../bin --prefix = /usr --exec_prefix = ${prefix} -- --bindir = ${exec_prefix}/bin --sbindir = ${exec_prefix}/sbin --libexecdir = ${exec_prefix}/libexec --datadir = ${prefix}/share --sysconfdir = ${prefix}/etc --sharedstatedir = ${prefix}/com --localstatedir = ${prefix}/var --libdir = ${exec_prefix}/lib --infodir = ${prefix}/info --docdir = --includedir = ${prefix}/include --oldincludedir = /usr/include --mandir = ${prefix}/man - - pkgdatadir = $(datadir)/$(PKGNAME) - pkglibdir = $(libdir)/$(PKGNAME) -Index: createrepo-0.9/docs/Makefile -=================================================================== ---- createrepo-0.9.orig/docs/Makefile 2008-08-23 17:52:42.000000000 +0100 -+++ createrepo-0.9/docs/Makefile 2008-08-23 17:52:50.000000000 +0100 -@@ -1,22 +1,6 @@ - SHELL = /bin/sh - top_srcdir = .. - srcdir = ../docs --prefix = /usr --exec_prefix = ${prefix} -- --bindir = ${exec_prefix}/bin --sbindir = ${exec_prefix}/sbin --libexecdir = ${exec_prefix}/libexec --datadir = ${prefix}/share --sysconfdir = ${prefix}/etc --sharedstatedir = ${prefix}/com --localstatedir = ${prefix}/var --libdir = ${exec_prefix}/lib --infodir = ${prefix}/info --docdir = --includedir = ${prefix}/include --oldincludedir = /usr/include --mandir = ${datadir}/man - - pkgdatadir = $(datadir)/$(PKGNAME) - pkglibdir = $(libdir)/$(PKGNAME) diff --git a/meta-extras/packages/yum/createrepo-native_0.9.8.bb b/meta-extras/packages/yum/createrepo-native_0.9.8.bb deleted file mode 100644 index 895f2e96fe..0000000000 --- a/meta-extras/packages/yum/createrepo-native_0.9.8.bb +++ /dev/null @@ -1,17 +0,0 @@ -DEPENDS = "python-native libxml2-native" -RDEPENDS = "yum-native" - -SRC_URI = "http://createrepo.baseurl.org/download/createrepo-${PV}.tar.gz \ - file://pathfix.patch;patch=1 " -PR = "r2" - -inherit autotools native - -S = "${WORKDIR}/createrepo-${PV}" - -do_compile_append () { - sed -e 's#exec /usr/share#exec ${datadir}#' -i ${S}/bin/createrepo - sed -e 's#exec /usr/share#exec ${datadir}#' -i ${S}/bin/modifyrepo - sed -e 's#!/usr/bin/python#!${bindir}/python#' -i ${S}/genpkgmetadata.py - sed -e 's#!/usr/bin/python#!${bindir}/python#' -i ${S}/modifyrepo.py -} diff --git a/meta-extras/packages/yum/files/98_yum b/meta-extras/packages/yum/files/98_yum deleted file mode 100644 index cb4047ad2b..0000000000 --- a/meta-extras/packages/yum/files/98_yum +++ /dev/null @@ -1 +0,0 @@ -d root root 0755 /var/cache/yum none diff --git a/meta-extras/packages/yum/files/extract-postinst.awk b/meta-extras/packages/yum/files/extract-postinst.awk deleted file mode 100644 index 8f2836b32c..0000000000 --- a/meta-extras/packages/yum/files/extract-postinst.awk +++ /dev/null @@ -1,11 +0,0 @@ -/Name:.*/ { - package = substr($0, 7) - next -} -/postinstall.*scriptlet .*/ { - next -} -{ - print $0 >> ENVIRON["D"] "/etc/rpm-postinsts/" package ".sh" -} - diff --git a/meta-extras/packages/yum/files/fix b/meta-extras/packages/yum/files/fix deleted file mode 100644 index bcb3301e14..0000000000 --- a/meta-extras/packages/yum/files/fix +++ /dev/null @@ -1,18 +0,0 @@ ---- - rpmUtils/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- yum-3.2.18.orig/rpmUtils/Makefile -+++ yum-3.2.18/rpmUtils/Makefile -@@ -1,10 +1,10 @@ - PYTHON=python - PACKAGE = $(shell basename `pwd`) - PYFILES = $(wildcard *.py) - PYVER := $(shell $(PYTHON) -c 'import sys; print "%.3s" %(sys.version)') --PYSYSDIR := $(shell $(PYTHON) -c 'import sys; print sys.prefix') -+PYSYSDIR := /usr - PYLIBDIR = $(PYSYSDIR)/lib/python$(PYVER) - PKGDIR = $(PYLIBDIR)/site-packages/$(PACKAGE) - - all: - echo "Nothing to do" diff --git a/meta-extras/packages/yum/files/hacks.patch b/meta-extras/packages/yum/files/hacks.patch deleted file mode 100644 index 61f477172c..0000000000 --- a/meta-extras/packages/yum/files/hacks.patch +++ /dev/null @@ -1,81 +0,0 @@ ---- - rpmUtils/arch.py | 3 +++ - rpmUtils/transaction.py | 1 + - yum/constants.py | 2 +- - yum/depsolve.py | 2 ++ - 4 files changed, 7 insertions(+), 1 deletion(-) - -Index: yum-3.2.18/rpmUtils/arch.py -=================================================================== ---- yum-3.2.18.orig/rpmUtils/arch.py 2008-06-17 14:05:42.000000000 +0100 -+++ yum-3.2.18/rpmUtils/arch.py 2008-10-02 22:09:19.000000000 +0100 -@@ -275,6 +275,12 @@ - return arch - - def getCanonArch(skipRpmPlatform = 0): -+ import os -+ if 'YUM_ARCH_FORCE' in os.environ: -+ return os.environ['YUM_ARCH_FORCE'] -+ -+ sys.exit(1) -+ - if not skipRpmPlatform and os.access("/etc/rpm/platform", os.R_OK): - try: - f = open("/etc/rpm/platform", "r") -@@ -331,6 +338,12 @@ - base arch is the arch before noarch in the arches dict if myarch is not - a key in the multilibArches.""" - -+ import os -+ if 'YUM_ARCH_FORCE' in os.environ: -+ return os.environ['YUM_ARCH_FORCE'] -+ -+ sys.exit(1) -+ - if not myarch: - myarch = canonArch - -Index: yum-3.2.18/rpmUtils/transaction.py -=================================================================== ---- yum-3.2.18.orig/rpmUtils/transaction.py 2008-06-17 14:05:42.000000000 +0100 -+++ yum-3.2.18/rpmUtils/transaction.py 2008-10-02 17:09:57.000000000 +0100 -@@ -43,6 +43,7 @@ - 'clean'] - self.tsflags = [] - self.open = True -+ self.ts.setProbFilter(rpm.RPMPROB_FILTER_IGNOREOS | rpm.RPMPROB_FILTER_IGNOREARCH) - - def __del__(self): - # Automatically close the rpm transaction when the reference is lost -Index: yum-3.2.18/yum/constants.py -=================================================================== ---- yum-3.2.18.orig/yum/constants.py 2008-07-21 16:56:54.000000000 +0100 -+++ yum-3.2.18/yum/constants.py 2008-10-02 17:09:57.000000000 +0100 -@@ -17,7 +17,7 @@ - """ - - #Constants --YUM_PID_FILE = '/var/run/yum.pid' -+YUM_PID_FILE = '/var/run2/yum.pid' - - #transaction set states - TS_UPDATE = 10 -Index: yum-3.2.18/yum/depsolve.py -=================================================================== ---- yum-3.2.18.orig/yum/depsolve.py 2008-08-06 17:05:16.000000000 +0100 -+++ yum-3.2.18/yum/depsolve.py 2008-10-02 17:09:57.000000000 +0100 -@@ -141,9 +141,14 @@ - else: - self.logger.critical(_('Invalid tsflag in config file: %s'), flag) - -+ self._ts.addTsFlag(rpm.RPMTRANS_FLAG_NOPOST) -+ self._ts.addTsFlag(rpm.RPMTRANS_FLAG_NOTRIGGERS) -+ - probfilter = 0 - for flag in self.tsInfo.probFilterFlags: - probfilter |= flag -+ probfilter |= rpm.RPMPROB_FILTER_IGNOREOS -+ probfilter |= rpm.RPMPROB_FILTER_IGNOREARCH - self._ts.setProbFilter(probfilter) - - def whatProvides(self, name, flags, version): diff --git a/meta-extras/packages/yum/files/paths.patch b/meta-extras/packages/yum/files/paths.patch deleted file mode 100644 index 0175d05b34..0000000000 --- a/meta-extras/packages/yum/files/paths.patch +++ /dev/null @@ -1,106 +0,0 @@ ---- - Makefile | 18 +++++++++--------- - docs/Makefile | 12 ++++++------ - etc/Makefile | 20 ++++++++++---------- - 3 files changed, 25 insertions(+), 25 deletions(-) - -Index: yum-3.2.27/Makefile -=================================================================== ---- yum-3.2.27.orig/Makefile 2010-03-04 01:10:20.000000000 +0000 -+++ yum-3.2.27/Makefile 2010-03-23 13:49:50.663912930 +0000 -@@ -22,19 +22,19 @@ - for d in $(SUBDIRS); do make PYTHON=$(PYTHON) -C $$d; [ $$? = 0 ] || exit 1 ; done - - install: -- mkdir -p $(DESTDIR)/usr/share/yum-cli -+ mkdir -p $(DESTDIR)$(datadir)/yum-cli - for p in $(PYFILES) ; do \ -- install -m 644 $$p $(DESTDIR)/usr/share/yum-cli/$$p; \ -+ install -m 644 $$p $(DESTDIR)$(datadir)/yum-cli/$$p; \ - done -- mv $(DESTDIR)/usr/share/yum-cli/yum-updatesd.py $(DESTDIR)/usr/share/yum-cli/yumupd.py -- $(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)/usr/share/yum-cli', 1, '$(PYDIR)', 1)" -+ mv $(DESTDIR)$(datadir)/yum-cli/yum-updatesd.py $(DESTDIR)$(datadir)/yum-cli/yumupd.py -+ $(PYTHON) -c "import compileall; compileall.compile_dir('$(DESTDIR)$(datadir)/yum-cli', 1, '$(PYDIR)', 1)" - -- mkdir -p $(DESTDIR)/usr/bin $(DESTDIR)/usr/sbin -- install -m 755 bin/yum.py $(DESTDIR)/usr/bin/yum -- install -m 755 bin/yum-updatesd.py $(DESTDIR)/usr/sbin/yum-updatesd -+ mkdir -p $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) -+ install -m 755 bin/yum.py $(DESTDIR)$(bindir)/yum -+ install -m 755 bin/yum-updatesd.py $(DESTDIR)$(sbindir)/yum-updatesd - -- mkdir -p $(DESTDIR)/var/cache/yum -- mkdir -p $(DESTDIR)/var/lib/yum -+ mkdir -p $(DESTDIR)$(localstatedir)/cache/yum -+ mkdir -p $(DESTDIR)$(localstatedir)/lib/yum - - for d in $(SUBDIRS); do make PYTHON=$(PYTHON) DESTDIR=`cd $(DESTDIR); pwd` -C $$d install; [ $$? = 0 ] || exit 1; done - -Index: yum-3.2.27/docs/Makefile -=================================================================== ---- yum-3.2.27.orig/docs/Makefile 2009-04-07 14:57:06.000000000 +0100 -+++ yum-3.2.27/docs/Makefile 2010-03-23 13:52:30.086667913 +0000 -@@ -6,10 +6,10 @@ - rm -fr epydoc - - install: -- mkdir -p $(DESTDIR)/usr/share/man/man5 -- mkdir -p $(DESTDIR)/usr/share/man/man8 -- install -m 644 yum.8 $(DESTDIR)/usr/share/man/man8/yum.8 -- install -m 644 yum-shell.8 $(DESTDIR)/usr/share/man/man8/yum-shell.8 -- install -m 644 yum.conf.5 $(DESTDIR)/usr/share/man/man5/yum.conf.5 -- install -m 644 yum-updatesd.8 $(DESTDIR)/usr/share/man/man8/yum-updatesd.8 -- install -m 644 yum-updatesd.conf.5 $(DESTDIR)/usr/share/man/man5/yum-updatesd.conf.5 -+ mkdir -p $(DESTDIR)$(mandir)/man5 -+ mkdir -p $(DESTDIR)$(mandir)/man8 -+ install -m 644 yum.8 $(DESTDIR)$(mandir)/man8/yum.8 -+ install -m 644 yum-shell.8 $(DESTDIR)$(mandir)/man8/yum-shell.8 -+ install -m 644 yum.conf.5 $(DESTDIR)$(mandir)/man5/yum.conf.5 -+ install -m 644 yum-updatesd.8 $(DESTDIR)$(mandir)/man8/yum-updatesd.8 -+ install -m 644 yum-updatesd.conf.5 $(DESTDIR)$(mandir)/man5/yum-updatesd.conf.5 -Index: yum-3.2.27/etc/Makefile -=================================================================== ---- yum-3.2.27.orig/etc/Makefile 2009-10-26 18:56:06.000000000 +0000 -+++ yum-3.2.27/etc/Makefile 2010-03-23 13:54:40.421912460 +0000 -@@ -1,4 +1,4 @@ --YUMETC=$(DESTDIR)/etc/yum -+YUMETC=$(DESTDIR)$(sysconfdir)/yum - - all: - echo "Nothing to do" -@@ -7,23 +7,23 @@ - rm -f *.pyc *.pyo *~ - - install: -- mkdir -p $(DESTDIR)/etc/yum/ -- mkdir -p $(DESTDIR)/etc/yum/repos.d -+ mkdir -p $(DESTDIR)$(sysconfdir)/yum/ -+ mkdir -p $(DESTDIR)$(sysconfdir)/yum/repos.d - - install -m 644 yum.conf $(YUMETC)/yum.conf - - install -m 644 version-groups.conf $(YUMETC)/version-groups.conf - -- mkdir -p $(DESTDIR)/etc/logrotate.d -- install -m 644 yum.logrotate $(DESTDIR)/etc/logrotate.d/yum -+ mkdir -p $(DESTDIR)$(sysconfdir)/logrotate.d -+ install -m 644 yum.logrotate $(DESTDIR)$(sysconfdir)/logrotate.d/yum - -- mkdir -p $(DESTDIR)/etc/rc.d/init.d -- install -m 755 yum-updatesd.init $(DESTDIR)/etc/rc.d/init.d/yum-updatesd -+ mkdir -p $(DESTDIR)$(sysconfdir)/rc.d/init.d -+ install -m 755 yum-updatesd.init $(DESTDIR)$(sysconfdir)/rc.d/init.d/yum-updatesd - -- mkdir -p $(DESTDIR)/etc/dbus-1/system.d/ -- install -m 755 yum-updatesd-dbus.conf $(DESTDIR)/etc/dbus-1/system.d/yum-updatesd.conf -+ mkdir -p $(DESTDIR)$(sysconfdir)/dbus-1/system.d/ -+ install -m 755 yum-updatesd-dbus.conf $(DESTDIR)$(sysconfdir)/dbus-1/system.d/yum-updatesd.conf - -- install -m 755 yum-updatesd.conf $(DESTDIR)/etc/yum/yum-updatesd.conf -+ install -m 755 yum-updatesd.conf $(DESTDIR)$(sysconfdir)/yum/yum-updatesd.conf - -- mkdir -p $(DESTDIR)/etc/bash_completion.d -- install -m 644 yum.bash $(DESTDIR)/etc/bash_completion.d -+ mkdir -p $(DESTDIR)$(sysconfdir)/bash_completion.d -+ install -m 644 yum.bash $(DESTDIR)$(sysconfdir)/bash_completion.d diff --git a/meta-extras/packages/yum/files/paths2.patch b/meta-extras/packages/yum/files/paths2.patch deleted file mode 100644 index 8fe6d0c983..0000000000 --- a/meta-extras/packages/yum/files/paths2.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- - rpmUtils/Makefile | 2 +- - yum/Makefile | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -Index: yum-3.2.27/rpmUtils/Makefile -=================================================================== ---- yum-3.2.27.orig/rpmUtils/Makefile 2010-03-24 17:26:39.759798777 +0000 -+++ yum-3.2.27/rpmUtils/Makefile 2010-03-24 17:26:54.835863845 +0000 -@@ -2,8 +2,8 @@ - PACKAGE = $(shell basename `pwd`) - PYFILES = $(wildcard *.py) - PYVER := $(shell $(PYTHON) -c 'import sys; print "%.3s" %(sys.version)') --PYSYSDIR := $(shell $(PYTHON) -c 'import sys; print sys.prefix') --PYLIBDIR = $(PYSYSDIR)/lib/python$(PYVER) -+PYSYSDIR = $(libdir) -+PYLIBDIR = $(PYSYSDIR)/python$(PYVER) - PKGDIR = $(PYLIBDIR)/site-packages/$(PACKAGE) - - all: -Index: yum-3.2.27/yum/Makefile -=================================================================== ---- yum-3.2.27.orig/yum/Makefile 2010-03-24 17:26:39.759798777 +0000 -+++ yum-3.2.27/yum/Makefile 2010-03-24 17:26:43.726773783 +0000 -@@ -2,8 +2,8 @@ - PACKAGE = $(shell basename `pwd`) - PYFILES = $(wildcard *.py) - PYVER := $(shell $(PYTHON) -c 'import sys; print "%.3s" %(sys.version)') --PYSYSDIR := $(shell $(PYTHON) -c 'import sys; print sys.prefix') --PYLIBDIR = $(PYSYSDIR)/lib/python$(PYVER) -+PYSYSDIR = $(libdir) -+PYLIBDIR = $(PYSYSDIR)/python$(PYVER) - PKGDIR = $(PYLIBDIR)/site-packages/$(PACKAGE) - - all: diff --git a/meta-extras/packages/yum/files/yum-install-recommends.py b/meta-extras/packages/yum/files/yum-install-recommends.py deleted file mode 100755 index 64716f2c3e..0000000000 --- a/meta-extras/packages/yum/files/yum-install-recommends.py +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env python -import os, sys - -root = sys.argv[1] -installcmd = sys.argv[2] - -# -# Take an rpm image and look through for Recommends:. For each recommends -# found, try and install any matching packages including any Recommends for -# packages installed by us. -# - - -def get_recommends(): - deps = [] - output = os.popen("rpm --root %s -aq --recommends" % (root)) - lines = output.readlines() - for line in lines: - line = line.replace("(none)","") - if line: - deps.append(line.split()[0]) - return deps - -processed = [] - -while True: - toinstall = [] - recommends = set(get_recommends()) - for item in recommends: - if item not in processed: - toinstall.append(item) - if len(toinstall) != 0: - print "Installing %s" % " ".join(toinstall) - os.system("%s %s" % (installcmd, " ".join(toinstall))) - else: - break - processed.extend(toinstall) - - diff --git a/meta-extras/packages/yum/yum_3.2.27.bb b/meta-extras/packages/yum/yum_3.2.27.bb deleted file mode 100644 index acebc79dde..0000000000 --- a/meta-extras/packages/yum/yum_3.2.27.bb +++ /dev/null @@ -1,46 +0,0 @@ -DESCRIPTION = "yum package manger is an automatic updater for rpm." -HOMEPAGE = "http://yum.baseurl.org/" -BUGTRACKER = "http://yum.baseurl.org/report" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \ - file://yum/sqlutils.py;beginline=2;endline=14;md5=d704ae6a9d69ce90768ab9188236b992" - -RDEPENDS = "python-rpm python-core python-iniparse python-urlgrabber \ - python-shell python-re python-logging python-pickle \ - python-netserver python-compression \ - python-unixadmin python-xml python-sqlite3 \ - python-textutils python-fcntl python-email \ - yum-metadata-parser" - -PR = "r9" - -SRC_URI = "http://yum.baseurl.org/download/3.2/yum-${PV}.tar.gz \ - file://paths.patch;apply=yes \ - file://paths2.patch;apply=yes \ - file://yum-install-recommends.py \ - file://extract-postinst.awk \ - file://98_yum" - -S = "${WORKDIR}/yum-${PV}" - -inherit autotools - -do_compile_append () { - sed -e 's#!/usr/bin/python#!${bindir}/python#' -e 's#/usr/share#${datadir}#' -i ${S}/bin/yum.py - sed -e 's#!/usr/bin/python#!${bindir}/python#' -e 's#/usr/share#${datadir}#' -i ${S}/bin/yum-updatesd.py -} - -do_install_append () { - install -d ${D}${bindir}/ - install ${WORKDIR}/extract-postinst.awk ${D}${bindir}/ - install ${WORKDIR}/yum-install-recommends.py ${D}${bindir}/ - rmdir ${D}${localstatedir}/cache/yum - rmdir ${D}${localstatedir}/cache - install -d ${D}/etc/default/volatiles - install -m 0644 ${WORKDIR}/98_yum ${D}/etc/default/volatiles -} - -FILES_${PN} += "${libdir}/python* ${datadir}/yum-cli" - -BBCLASSEXTEND = "native" diff --git a/meta-extras/packages/zope/zope_3.3.1.bb b/meta-extras/packages/zope/zope_3.3.1.bb deleted file mode 100644 index 283cb18d0e..0000000000 --- a/meta-extras/packages/zope/zope_3.3.1.bb +++ /dev/null @@ -1,45 +0,0 @@ -DESCRIPTION = "A full fledged pluggable content management system with integrated web server and much more." -SECTION = "console/network" -PRIORITY = "optional" -DEPENDS = "python" -RDEPENDS = "python-core python-shell" -LICENSE = "ZPL" -PR = "r3" - -SRC_URI = "http://www.zope.org/Products/Zope3/${PV}/Zope-${PV}.tgz" - -S = "${WORKDIR}/Zope-${PV}" - -do_configure() { - ./configure --with-python=${STAGING_BINDIR_NATIVE}/python --prefix=${prefix} --force -} - -do_compile() { - oe_runmake HOST_SYS=${HOST_SYS} BUILD_SYS=${BUILD_SYS} STAGING_INCDIR=${STAGING_INCDIR} STAGING_LIBDIR=${STAGING_LIBDIR} -} - -PYTHON_MAJMIN = "2.5" - -do_install() { - install -d ${D}${libdir}/python${PYTHON_MAJMIN} - oe_runmake install prefix=${D}${prefix} HOST_SYS=${HOST_SYS} BUILD_SYS=${BUILD_SYS} STAGING_INCDIR=${STAGING_INCDIR} STAGING_LIBDIR=${STAGING_LIBDIR} - mv ${D}${libdir}/python/* ${D}${libdir}/python${PYTHON_MAJMIN} -} - -PACKAGES =+ "python-zopeinterface python-zopeinterface-dbg" - -FILES_${PN} = "${prefix}" -FILES_${PN}_doc = "${prefix}/doc" -FILES_${PN}-dbg += "\ -${libdir}/python${PYTHON_MAJMIN}/BTrees/.debug \ -${libdir}/python${PYTHON_MAJMIN}/persistent/.debug \ -${libdir}/python${PYTHON_MAJMIN}/zope/proxy/.debug \ -${libdir}/python${PYTHON_MAJMIN}/zope/thread/.debug \ -${libdir}/python${PYTHON_MAJMIN}/zope/security/.debug \ -${libdir}/python${PYTHON_MAJMIN}/zope/hookable/.debug \ -${libdir}/python${PYTHON_MAJMIN}/zope/app/container/.debug \ -${libdir}/python${PYTHON_MAJMIN}/zope/i18nmessageid/.debug \ -${libdir}/python${PYTHON_MAJMIN}/ZODB/.debug" -FILES_python-zopeinterface-dbg += "${libdir}/python${PYTHON_MAJMIN}/zope/interface/.debug " - -FILES_python-zopeinterface = "${libdir}/python${PYTHON_MAJMIN}/zope/interface/*.* ${libdir}/python${PYTHON_MAJMIN}/zope/interface/common" diff --git a/meta-moblin/classes/moblin-feed-incremental-bleeding.bbclass b/meta-moblin/classes/moblin-feed-incremental-bleeding.bbclass deleted file mode 100644 index 4865ee2638..0000000000 --- a/meta-moblin/classes/moblin-feed-incremental-bleeding.bbclass +++ /dev/null @@ -1,3 +0,0 @@ -FEEDNAMEPREFIX = "moblin-bleeding" -FEEDURIPREFIX = "output/moblin-incremental-bleeding/ipk/" -EXTRAOPKGCONFIG = "moblin-feed-config-opkg" diff --git a/meta-moblin/classes/moblin-image.bbclass b/meta-moblin/classes/moblin-image.bbclass deleted file mode 100644 index f9bab011b0..0000000000 --- a/meta-moblin/classes/moblin-image.bbclass +++ /dev/null @@ -1,99 +0,0 @@ -# Common for Moblin images -# -# Copyright (C) 2007 OpenedHand LTD - -# IMAGE_FEATURES control content of images built with Poky. -# -# By default we install task-moblin-boot and task-base packages - this gives us -# working (console only) rootfs. -# -# Available IMAGE_FEATURES: -# -# - apps-console-core -# - x11-base - X11 server + minimal desktop -# - x11-sato - OpenedHand Sato environment -# - x11-netbook - Metacity based environment for netbooks -# - apps-x11-core - X Terminal, file manager, file editor -# - apps-x11-games -# - apps-x11-pimlico - OpenedHand Pimlico apps -# - tools-sdk - SDK -# - tools-debug - debugging tools -# - tools-profile - profiling tools -# - tools-testapps - tools usable to make some device tests -# - nfs-server - NFS server (exports / over NFS to everybody) -# - dev-pkgs - development packages -# - dbg-pkgs - debug packages -# - -MOBLIN_BASE_INSTALL = '\ - task-moblin-boot \ - task-base-extended \ - ${@base_contains("IMAGE_FEATURES", "dbg-pkgs", "task-moblin-boot-dbg task-base-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", "dev-pkgs", "task-moblin-boot-dev task-base-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "apps-console-core", "task-moblin-apps-console", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-console-core", "dbg-pkgs"], "task-moblin-apps-console-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-console-core", "dev-pkgs"], "task-moblin-apps-console-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "x11-base", "task-moblin-x11-base", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["x11-base", "dbg-pkgs"], "task-moblin-x11-base-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["x11-base", "dev-pkgs"], "task-moblin-x11-base-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "x11-sato", "task-moblin-x11-sato", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["x11-sato", "dbg-pkgs"], "task-moblin-x11-sato-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["x11-sato", "dev-pkgs"], "task-moblin-x11-sato-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "x11-netbook", "task-moblin-x11-netbook", "", d)} \ - ${@base_contains("IMAGE_FEATURES", ["x11-netbook", "dbg-pkgs"], "task-moblin-x11-netbook-dbg", "", d)} \ - ${@base_contains("IMAGE_FEATURES", ["x11-netbook", "dev-pkgs"], "task-moblin-x11-netbook-dev", "", d)} \ - ${@base_contains("IMAGE_FEATURES", "apps-x11-core", "task-moblin-apps-x11-core", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-x11-core", "dbg-pkgs"], "task-moblin-apps-x11-core-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-x11-core", "dev-pkgs"], "task-moblin-apps-x11-core-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "apps-x11-games", "task-moblin-apps-x11-games", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-x11-games", "dbg-pkgs"], "task-moblin-apps-x11-games-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-x11-games", "dev-pkgs"], "task-moblin-apps-x11-games-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "apps-x11-pimlico", "task-moblin-apps-x11-pimlico", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-x11-pimlico", "dbg-pkgs"], "task-moblin-apps-x11-pimlico-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["apps-x11-pimlico", "dev-pkgs"], "task-moblin-apps-x11-pimlico-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "tools-debug", "task-moblin-tools-debug", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-debug", "dbg-pkgs"], "task-moblin-tools-debug-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-debug", "dev-pkgs"], "task-moblin-tools-debug-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "tools-profile", "task-moblin-tools-profile", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-profile", "dbg-pkgs"], "task-moblin-tools-profile-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-profile", "dev-pkgs"], "task-moblin-tools-profile-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "tools-testapps", "task-moblin-tools-testapps", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-testapps", "dbg-pkgs"], "task-moblin-tools-testapps-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-testapps", "dev-pkgs"], "task-moblin-tools-testapps-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "tools-sdk", "task-moblin-sdk task-moblin-standalone-sdk-target", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-sdk", "dbg-pkgs"], "task-moblin-sdk-dbg", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["tools-sdk", "dev-pkgs"], "task-moblin-sdk-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "nfs-server", "task-moblin-nfs-server", "",d)} \ - ${@base_contains("IMAGE_FEATURES", ["nfs-server", "dbg-pkgs"], "task-moblin-nfs-server-dbg", "",d)} \ - - ${@base_contains("IMAGE_FEATURES", ["nfs-server", "dev-pkgs"], "task-moblin-nfs-server-dev", "",d)} \ - \ - ${@base_contains("IMAGE_FEATURES", "package-management", "${ROOTFS_PKGMANAGE}", "",d)} \ - ${MOBLIN_EXTRA_INSTALL} \ - ' - -MOBLIN_EXTRA_INSTALL ?= "" - -IMAGE_INSTALL ?= "${MOBLIN_BASE_INSTALL}" - -X11_IMAGE_FEATURES = "x11-base apps-x11-core package-management" -ENHANCED_IMAGE_FEATURES = "${X11_IMAGE_FEATURES} apps-x11-games apps-x11-pimlico package-management" -NETBOOK_IMAGE_FEATURES = "${ENHANCED_IMAGE_FEATURES} x11-netbook" - -inherit image - -# Create /etc/timestamp during image construction to give a reasonably sane default time setting -ROOTFS_POSTPROCESS_COMMAND += "rootfs_update_timestamp ; " - -ROOTFS_POSTINSTALL_COMMAND += "rootfs_trim_schemas ; " diff --git a/meta-moblin/classes/qt3e.bbclass b/meta-moblin/classes/qt3e.bbclass deleted file mode 100644 index 35958b34ab..0000000000 --- a/meta-moblin/classes/qt3e.bbclass +++ /dev/null @@ -1,11 +0,0 @@ -# -# override variables set by qmake_base to compile Qt/X11 apps -# -export QTDIR="${STAGING_DIR_HOST}/qte3" -export QTEDIR="${STAGING_DIR_HOST}/qte3" -export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic3" -export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc3" -export OE_QMAKE_CXXFLAGS="${CXXFLAGS} " -export OE_QMAKE_INCDIR_QT="${QTEDIR}/include" -export OE_QMAKE_LIBDIR_QT="${QTEDIR}/lib" -export OE_QMAKE_LIBS_QT="qte" diff --git a/meta-moblin/classes/qt3x11.bbclass b/meta-moblin/classes/qt3x11.bbclass deleted file mode 100644 index 5408b7f342..0000000000 --- a/meta-moblin/classes/qt3x11.bbclass +++ /dev/null @@ -1,15 +0,0 @@ -DEPENDS_prepend = "${@["qt3x11 ", ""][(bb.data.getVar('PN', d, 1) == 'qt-x11-free')]}" -EXTRA_QMAKEVARS_POST += "CONFIG+=thread" -# -# override variables set by qmake_base to compile Qt/X11 apps -# -export QTDIR = "${STAGING_DIR_HOST}/qt3" -export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic3" -export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc3" -export OE_QMAKE_CXXFLAGS = "${CXXFLAGS} -DQT_NO_XIM" -export OE_QMAKE_INCDIR_QT = "${QTDIR}/include" -export OE_QMAKE_LIBDIR_QT = "${QTDIR}/lib" -export OE_QMAKE_LIBS_QT = "qt" -export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm" -export OE_QMAKE_LIBS_OPENGL = "-lGLU -lGL -lXmu" -export OE_QMAKE_LIBS_OPENGL_QT = "-lGL -lXmu" diff --git a/meta-moblin/classes/qt4x11.bbclass b/meta-moblin/classes/qt4x11.bbclass deleted file mode 100644 index 76a45c33cb..0000000000 --- a/meta-moblin/classes/qt4x11.bbclass +++ /dev/null @@ -1,3 +0,0 @@ -DEPENDS_prepend = "${@["qt4x11 ", ""][(bb.data.getVar('PN', d, 1) == 'qt4-x11-free')]}" - -inherit qmake2 diff --git a/meta-moblin/classes/qtopia4core.bbclass b/meta-moblin/classes/qtopia4core.bbclass deleted file mode 100644 index b5f10fa486..0000000000 --- a/meta-moblin/classes/qtopia4core.bbclass +++ /dev/null @@ -1,13 +0,0 @@ -DEPENDS_prepend = "${@["qtopia-core ", ""][(bb.data.getVar('PN', d, 1) == 'qtopia-core')]}" -inherit qmake2 - -QT_DIR_NAME = "qtopia" -# -# override variables set by qmake-base to compile QtopiaCore apps -# -export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/qtopia" -export OE_QMAKE_LIBDIR_QT = "${STAGING_LIBDIR}" -export OE_QMAKE_LIBS_QT = "qt" -export OE_QMAKE_LIBS_X11 = "" -export OE_QMAKE_EXTRA_MODULES = "network" -EXTRA_QMAKEVARS_PRE += " QT_LIBINFIX=E " diff --git a/meta-moblin/conf/distro/include/meta-moblin-scm-revisions.inc b/meta-moblin/conf/distro/include/meta-moblin-scm-revisions.inc deleted file mode 100644 index 47a464e519..0000000000 --- a/meta-moblin/conf/distro/include/meta-moblin-scm-revisions.inc +++ /dev/null @@ -1,36 +0,0 @@ -SRCREV_pn-anerley ??= "20c6ceffda21595d8894293700006fe3a4cb33ba" -SRCREV_pn-bickley ??= "3cbd5ef693c117ad5c094ddd1678a1a04d0feae3" -SRCREV_pn-bisho ??= "53cc5951be36cee818bef3beb5770f10aabdc7f1" -SRCREV_pn-bognor-regis ??= "c52c7f7013b4b62d7c59d25fc809ce951a5556af" -SRCREV_pn-carrick ??= "9bd8f987b27d95694b1e63efe198b2dffbd4c5b0" -SRCREV_pn-clutter-imcontext ??= "2cb6f0ff153db639a489e58e36802e0e928b1968" -SRCREV_pn-dalston ??= "b4d03283cb8aa2b76014eeb20e78cd13c14012ae" -SRCREV_pn-gnet = "495" -SRCREV_pn-hornsey ??= "39cb0cd0ee3526cba27aeebcc3e28dee6add136a" -SRCREV_pn-json-glib ??= "7411cadc0fdd9ffc2bd7004c9980913ac857a495" -SRCREV_pn-libccss ??= "62697eb84fe190f9b8c65fcbaae10ec3d9edfffd" -SRCREV_pn-libjana ??= "9ec1da8a534e87a83a6d729b48a41ca7b9cfb7b7" -SRCREV_pn-librest ??= "fe5048c92199afc9a7e9aef0add7f0e2b004bb47" -SRCREV_pn-libsocialweb ??= "da8d57ea8dcd348d956715000ded39aa26c7f0f5" -SRCREV_pn-libsynthesis ??= "70f0065aa3b085bdf059830f95e5b5766eecb0bb" -SRCREV_pn-mobile-broadband-provider-info ?= "35ef359c591cccd99380225fa431855b16a12edc" -SRCREV_pn-moblin-app-installer ??= "bc65c884d3a1ae37e69431417888126b2a3ea021" -SRCREV_pn-moblin-gtk-engine ??= "dff58e5f1b6c111a6c06e2385624e40d687ebf4f" -SRCREV_pn-moblin-icon-theme ??= "36b7ac1e57ea6d95e6432779c4769c14fce24899" -SRCREV_pn-moblin-menus ??= "1edfdab8234ec0b4bbc83fb706a15e08aa8a957a" -SRCREV_pn-moblin-proto ??= "8f2cb524fe06555182c25b4ba3202d7b368ac0ce" -SRCREV_pn-moblin-user-skel ??= "356851e174085b874adb909e664aca321a047bcb" -SRCREV_pn-moblin-panel-applications ??= "ba6b5f353203bb02728addb08da3d249f26eedbe" -SRCREV_pn-moblin-panel-media ??= "4e93c6da0bbae8d1d0a5d3b1410761679aa7b83b" -SRCREV_pn-moblin-panel-myzone ??= "54d9bee3a40a7700a69582a76aba89e213410046" -SRCREV_pn-moblin-panel-pasteboard ??= "44411a4516e6ae22767662430fa37ed6a7d27a15" -SRCREV_pn-moblin-panel-people ??= "0766282d120587919718b3bcb91553af1a1a00da" -SRCREV_pn-moblin-panel-status ??= "fb10eaf16bbd064c12587ec8c734abe72a9841d3" -SRCREV_pn-moblin-web-browser ??= "78ddd155cc297811720e4c4835d468ac6c4d9666" -SRCREV_pn-mojito ??= "cfad50252a4ad60f28b12d21e2fdb35db56984f5" -SRCREV_pn-mutter-moblin ??= "7a23e0d63cc31c12dab9de517de04b0ecf41b28a" -SRCREV_pn-mx ??= "94934b5d03a31ce76c4f9eea8dcfb1d94b396906" -SRCREV_pn-nbtk ??= "635f9b4f1a2897aaa85ec1285e57dc5478517c2f" -SRCREV_pn-syncevolution ??= "29972357bf6582c318258b7bdf1feb13c0fef824" -SRCREV_pn-twitter-glib ??= "62b262bf7892b629f7de67498d58f549ffeb704e" - diff --git a/meta-moblin/conf/distro/include/moblin-2.0-fixed-revisions.inc b/meta-moblin/conf/distro/include/moblin-2.0-fixed-revisions.inc deleted file mode 100644 index 5992ed91ce..0000000000 --- a/meta-moblin/conf/distro/include/moblin-2.0-fixed-revisions.inc +++ /dev/null @@ -1,87 +0,0 @@ -# -# Known good source dates/revisions/tags to use, *only* for where Moblin deviates -# from Poky (or to lock down SCM based packages): -# -PREFERRED_VERSION_eds-dbus ?= "2.20.0" -PREFERRED_VERSION_dbus ?= "1.2.14" -PREFERRED_VERSION_dbus-native ?= "1.2.14" -PREFERRED_VERSION_gtk+ ?= "2.16.4" -PREFERRED_VERSION_udev ?= "145" - -PREFERRED_VERSION_mesa-dri ?= "7.5" -PREFERRED_VERSION_xf86-video-intel ?= "2.12.0" -PREFERRED_VERSION_xserver-xf86-dri-lite ?= "1.6.0" -PREFERRED_VERSION_libxcb ?= "1.3" -PREFERRED_VERSION_xcb-proto ?= "1.5" -PREFERRED_VERSION_libx11-trim ?= "1.2.1" - -PREFERRED_VERSION_libdrm ?= "" -PREFERRED_VERSION_xf86-input-keyboard ?= "" -PREFERRED_VERSION_dri2proto ?= "" -SRCREV_pn-libdrm ?= "3f3c5be6f908272199ccf53f108b1124bfe0a00e" -SRCREV_pn-xf86-input-keyboard ?= "3e28d68b50d291938734e9684b8296ca864f3892" -SRCREV_pn-dri2proto ?= "66c56ab10d917e3f47f93178d7eac6430970d3c4" - -SRCREV_pn-anerley ?= "0cb9ac6b82ff6658ae10d603bdfba04ef3df979e" -SRCREV_pn-bickley ?= "761816f24e2aeb329d4f7270a2af324f85b7be8f" -SRCREV_pn-bisho ?= "53cc5951be36cee818bef3beb5770f10aabdc7f1" -SRCREV_pn-bognor-regis ?= "6b6cce0cb90ea47a3cc4ac2804c8b5664530ca80" -SRCREV_pn-carrick ?= "0451a081309f11dd5e9b6e41778ab878d862cbd0" - - -SRCREV_pn-connman ?= "6af0b24817b8712c755ef24ed0ee4c5e84550657" -SRCREV_pn-connman-gnome ?= "857b149c7febe9b0ffd9790050a288f018644eda" -SRCREV_pn-contacts ?= "c8e6b16222d5bc9d8f60ae6594af4933613a4e25" - - -# Still tosort: - -SRCREV_pn-clutter ?= "e860d939f9d9611dcf5b8c6e70272b6318a4ba94" -1.0.0 -SRCREV_pn-clutter-1.0 ?= "420ed353b53bd624331bd249d7df98d14714b504" -1.0.0 -SRCREV_pn-clutter-box2d ?= "2bcf5b836548dc4909e13b8ae7f60dc64c93d559" -clutter-box2d-0.9~20090609 -SRCREV_pn-clutter-gst ?= "db9bcf9d6f3a7d0f34747bed0f3ab28d7eb8f6ab" -gst-0.10~20090729 -SRCREV_pn-clutter-gtk ?= "5dfc07761adf3ab3d1c9ee97b92bc4a65473db36" -0.10.2 -SRCREV_pn-clutter-imcontext ?= "2cb6f0ff153db639a489e58e36802e0e928b1968" -0.1 -SRCREV_pn-clutter-mozembed ?= "5a5329425aec7fe7749e97fd8c430457259f6165" -0.0~20090731 - - -SRCREV_pn-dalston ?= "b4d03283cb8aa2b76014eeb20e78cd13c14012ae" -SRCREV_pn-dates ?= "966969063535da0786b7483c1bcd427df8a0d87d" -SRCREV_pn-gconnman ?= "3d951640146d08249e0219cbae6a4c2da787a878" -SRCREV_pn-hornsey ?= "39cb0cd0ee3526cba27aeebcc3e28dee6add136a" -SRCREV_pn-json-glib ?= "7411cadc0fdd9ffc2bd7004c9980913ac857a495" -SRCREV_pn-libccss ?= "62697eb84fe190f9b8c65fcbaae10ec3d9edfffd" -SRCREV_pn-librest ?= "ff4561e2a8c38f49127f6e3b2ce7c238a29e1571" -SRCREV_pn-libsynthesis ?= "70f0065aa3b085bdf059830f95e5b5766eecb0bb" -SRCREV_pn-moblin-gtk-engine ?= "dff58e5f1b6c111a6c06e2385624e40d687ebf4f" -SRCREV_pn-moblin-icon-theme ?= "36b7ac1e57ea6d95e6432779c4769c14fce24899" -SRCREV_pn-moblin-menus ?= "1edfdab8234ec0b4bbc83fb706a15e08aa8a957a" -SRCREV_pn-moblin-proto ?= "8f2cb524fe06555182c25b4ba3202d7b368ac0ce" -SRCREV_pn-moblin-user-skel ?= "356851e174085b874adb909e664aca321a047bcb" -SRCREV_pn-moblin-panel-applications ?= "ba6b5f353203bb02728addb08da3d249f26eedbe" -SRCREV_pn-moblin-panel-media ?= "4e93c6da0bbae8d1d0a5d3b1410761679aa7b83b" -SRCREV_pn-moblin-panel-myzone ?= "54d9bee3a40a7700a69582a76aba89e213410046" -SRCREV_pn-moblin-panel-pasteboard ?= "44411a4516e6ae22767662430fa37ed6a7d27a15" -SRCREV_pn-moblin-panel-people ?= "0766282d120587919718b3bcb91553af1a1a00da" -SRCREV_pn-moblin-panel-status ?= "fb10eaf16bbd064c12587ec8c734abe72a9841d3" -SRCREV_pn-moblin-web-browser ?= "a3ea71159bef93dc03762195bd5404a51db5e4a6" -SRCREV_pn-mojito ?= "cfad50252a4ad60f28b12d21e2fdb35db56984f5" -SRCREV_pn-mozilla-headless-services ?= "9091da493c679c546ec7312b653e63f9701d5c8f" -SRCREV_pn-mutter ?= "c96345dd81176f171c2d15dd9d5c5b20f334f842" -SRCREV_pn-mutter-moblin ?= "7a23e0d63cc31c12dab9de517de04b0ecf41b28a" -SRCREV_pn-mux ?= "72460e890dbb15edbf7dc193116be0dcf9794a8b" -SRCREV_pn-nbtk ?= "635f9b4f1a2897aaa85ec1285e57dc5478517c2f" -SRCREV_pn-mtpfs = "17" -SRCREV_pn-qemugl ?= "d888bbc723c00d197d34a39b5b7448660ec1b1c0" -SRCREV_pn-syncevolution ?= "29972357bf6582c318258b7bdf1feb13c0fef824" -SRCREV_pn-tasks ?= "a3c6109973c2f39190f554b49dacda7ec5231ef4" -SRCREV_pn-twitter-glib ?= "9dfca7cf38e3dddbda6dc82d0164f65814b8783e" - -SRCREVMOZILLAHEADLESS ?= "1a622cb7c384" diff --git a/meta-moblin/conf/distro/include/moblin-fixed-revisions.inc b/meta-moblin/conf/distro/include/moblin-fixed-revisions.inc deleted file mode 100644 index 6cbc8d8aa3..0000000000 --- a/meta-moblin/conf/distro/include/moblin-fixed-revisions.inc +++ /dev/null @@ -1,38 +0,0 @@ -# -# Known good source dates/revisions/tags to use, *only* for where Moblin deviates -# from Poky (or to lock down SCM based packages): -# -PREFERRED_VERSION_eds-dbus ?= "2.20.0" -PREFERRED_VERSION_udev ?= "145" - -PREFERRED_VERSION_mesa-dri ?= "7.8.2" -PREFERRED_VERSION_xf86-video-intel ?= "2.12.0" -PREFERRED_VERSION_xserver-xf86-dri-lite ?= "1.7.99.2" -PREFERRED_VERSION_libxcb ?= "1.3" -PREFERRED_VERSION_xcb-proto ?= "1.5" -PREFERRED_VERSION_libx11-trim ?= "1.3" - -PREFERRED_VERSION_libdrm ?= "2.4.17" -PREFERRED_VERSION_xf86-input-keyboard ?= "" -PREFERRED_VERSION_dri2proto ?= "" - - -PREFERRED_VERSION_anerley ?= "0.1.7" -PREFERRED_VERSION_bickley ?= "0.4" -PREFERRED_VERSION_bisho ?= "0.17.1" -PREFERRED_VERSION_bognor-regis ?= "0.5.0" -PREFERRED_VERSION_carrick ?= "1.1.13" -PREFERRED_VERSION_dalston ?= "0.1.12" -PREFERRED_VERSION_gupnp-av ?= "0.4" -PREFERRED_VERSION_hornsey ?= "1.0" -PREFERRED_VERSION_mojito ?= "0.21.7" -PREFERRED_VERSION_nbtk ?= "1.2.3" -PREFERRED_VERSION_moblin-panel-applications ?= "0.1.2" -PREFERRED_VERSION_moblin-panel-media ?= "0.0.7" -PREFERRED_VERSION_moblin-panel-myzone ?= "0.0.12" -PREFERRED_VERSION_moblin-panel-pasteboard ?= "0.0.2" -PREFERRED_VERSION_moblin-panel-people ?= "0.0.9" -PREFERRED_VERSION_moblin-panel-status ?= "0.0.9" -PREFERRED_VERSION_mutter ?= "2.28.1" -PREFERRED_VERSION_mutter-moblin ?= "0.43.8" - diff --git a/meta-moblin/conf/distro/include/moblin-floating-revisions.inc b/meta-moblin/conf/distro/include/moblin-floating-revisions.inc deleted file mode 100644 index 1634c03886..0000000000 --- a/meta-moblin/conf/distro/include/moblin-floating-revisions.inc +++ /dev/null @@ -1,99 +0,0 @@ -SRCREV_pn-libccss ?= "62697eb84fe190f9b8c65fcbaae10ec3d9edfffd" -SRCREV_pn-clutter-gtk ?= "5dfc07761adf3ab3d1c9ee97b92bc4a65473db36" -SRCREV_pn-clutter-gst ?= "24c84abf0cdd24b6f4696c5a920673a55218cfd4" -SRCREV_pn-bisho ?= "7b97cf8a9e2ef228be71e549e622df5d59869b39" - -SRCREV_pn-ashford ?= "${AUTOREV}" -SRCREV_pn-anerley ?= "${AUTOREV}" -PREFERRED_VERSION_anerley ?= "0.1.7+git%" -SRCREV_pn-bickley ?= "${AUTOREV}" -PREFERRED_VERSION_bickley ?= "0.4+git%" -SRCREV_pn-bisho ?= "${AUTOREV}" -PREFERRED_VERSION_bisho ?= "0.17.1+git%" -SRCREV_pn-bognor-regis ?= "${AUTOREV}" -PREFERRED_VERSION_bognor-regis ?= "0.5.0+git%" -SRCREV_pn-carrick ?= "${AUTOREV}" -PREFERRED_VERSION_carrick ?= "1.2.0+git%" -SRCREV_pn-clutter ?= "${AUTOREV}" -SRCREV_pn-clutter-1.0 ?= "${AUTOREV}" -SRCREV_pn-clutter-gtk ?= "${AUTOREV}" -SRCREV_pn-clutter-gst ?= "${AUTOREV}" -SRCREV_pn-clutter-imcontext ?= "${AUTOREV}" -SRCREV_pn-clutter-mozembed ?= "${AUTOREV}" -SRCREV_pn-connman ?= "${AUTOREV}" -SRCREV_pn-connman-gnome ?= "${AUTOREV}" -SRCREV_pn-contacts ?= "${AUTOREV}" -SRCREV_pn-dalston ?= "${AUTOREV}" -PREFERRED_VERSION_dalston ?= "0.1.12+git%" -SRCREV_pn-dates ?= "${AUTOREV}" -SRCREV_pn-eds-dbus ?= "${AUTOREV}" -SRCREV_pn-gconnman ?= "${AUTOREV}" -PREFERRED_VERSION_gupnp-av ?= "0.5.2" -SRCREV_pn-hornsey ?= "${AUTOREV}" -PREFERRED_VERSION_hornsey ?= "1.0+git%" -SRCREV_pn-json-glib ?= "${AUTOREV}" -SRCREV_pn-libccss ?= "${AUTOREV}" -SRCREV_pn-libjana ?= "${AUTOREV}" -SRCREV_pn-librest ?= "${AUTOREV}" -SRCREV_pn-libsocialweb ?= "${AUTOREV}" -PREFERRED_VERSION_libsocialweb ?= "0.0+git%" -SRCREV_pn-libsynthesis ?= "${AUTOREV}" -SRCREV_pn-linux-moblin ?= "${AUTOREV}" -SRCREV_pn-mobile-broadband-provider-info ?= "${AUTOREV}" -SRCREV_pn-moblin-app-installer ?= "${AUTOREV}" -SRCREV_pn-moblin-gtk-engine ?= "${AUTOREV}" -SRCREV_pn-moblin-menus ?= "${AUTOREV}" -SRCREV_pn-moblin-web-browser ?= "${AUTOREV}" -SRCREV_pn-moblin-icon-theme ?= "${AUTOREV}" -SRCREV_pn-moblin-user-skel ?= "${AUTOREV}" -SRCREV_pn-moblin-panel-applications ?= "${AUTOREV}" -PREFERRED_VERSION_moblin-panel-applications ?= "0.1.2+git%" -SRCREV_pn-moblin-panel-media ?= "${AUTOREV}" -PREFERRED_VERSION_moblin-panel-media ?= "0.0.7+git%" -SRCREV_pn-moblin-panel-myzone ?= "${AUTOREV}" -PREFERRED_VERSION_moblin-panel-myzone ?= "0.0.12+git%" -SRCREV_pn-moblin-panel-pasteboard ?= "${AUTOREV}" -PREFERRED_VERSION_moblin-panel-pasteboard ?= "0.0.2+git%" -SRCREV_pn-moblin-panel-people ?= "${AUTOREV}" -PREFERRED_VERSION_moblin-panel-people ?= "0.0.9+git%" -SRCREV_pn-moblin-panel-status ?= "${AUTOREV}" -PREFERRED_VERSION_moblin-panel-status ?= "0.0.9+git%" -SRCREV_pn-mojito ?= "${AUTOREV}" -PREFERRED_VERSION_mojito ?= "0.21.7+git%" -SRCREV_pn-mozilla-headless ?= "${AUTOREV}" -SRCREV_pn-mozilla-headless-services ?= "${AUTOREV}" -SRCREV_pn-mutter ?= "${AUTOREV}" -PREFERRED_VERSION_mutter ?= "2.28.1+git%" -SRCREV_pn-mutter-moblin ?= "${AUTOREV}" -PREFERRED_VERSION_mutter-moblin ?= "0.43.8+git%" -SRCREV_pn-nbtk ?= "${AUTOREV}" -PREFERRED_VERSION_nbtk ?= "1.2.3+git%" -SRCREV_pn-mx ?= "${AUTOREV}" -SRCREV_pn-qemugl ?= "${AUTOREV}" -SRCREV_pn-sample-media ?= "${AUTOREV}" -SRCREV_pn-syncevolution ?= "${AUTOREV}" -SRCREV_pn-tasks ?= "${AUTOREV}" -SRCREV_pn-twitter-glib ?= "${AUTOREV}" -SRCREV_pn-xf86-video-gma500 ?= "${AUTOREV}" - -SRCREV_pn-libdrm ?= "${AUTOREV}" -PREFERRED_VERSION_libdrm ?= "2.4.15+git%" -SRCREV_pn-mesa-dri ?= "${AUTOREV}" -PREFERRED_VERSION_mesa-dri ?= "7.5+git%" -SRCREV_pn-xf86-video-intel ?= "${AUTOREV}" -PREFERRED_VERSION_xf86-video-intel ?= "2.10.0+git%" -SRCREV_pn-xserver-xf86-dri-lite ?= "${AUTOREV}" -PREFERRED_VERSION_xserver-xf86-dri-lite ?= "1.6.0+git%" -SRCREV_pn-xf86-input-keyboard ?= "${AUTOREV}" -PREFERRED_VERSION_xf86-input-keyboard ?= "1.3.2+git%" -SRCREV_pn-dri2proto ?= "${AUTOREV}" -PREFERRED_VERSION_dri2proto ?= "1.99.3+git%" -SRCREV_pn-libx11-trim ?= "${AUTOREV}" -PREFERRED_VERSION_libx11-trim ?= "1.2.1+git%" - -PREFERRED_VERSION_libxcb ?= "1.3" -PREFERRED_VERSION_xcb-proto ?= "1.5" - -MOBLINBROWSERBRANCH = "mx" -# Set to no browser in images for now to allow image builds -MOBLINBROWSER = "" diff --git a/meta-moblin/conf/distro/moblin-bleeding.conf b/meta-moblin/conf/distro/moblin-bleeding.conf deleted file mode 100644 index 822958258e..0000000000 --- a/meta-moblin/conf/distro/moblin-bleeding.conf +++ /dev/null @@ -1,2 +0,0 @@ -require conf/distro/include/moblin-floating-revisions.inc -require conf/distro/moblin.conf diff --git a/meta-moblin/conf/distro/moblin.conf b/meta-moblin/conf/distro/moblin.conf deleted file mode 100644 index a0d5af7393..0000000000 --- a/meta-moblin/conf/distro/moblin.conf +++ /dev/null @@ -1,13 +0,0 @@ -require conf/distro/poky.conf - -DISTRO = "moblin" -DISTRO_NAME = "Moblin (Poky Powered)" -DISTRO_VERSION = "1.99+snapshot-${DATE}" - -require conf/distro/include/moblin-fixed-revisions.inc - -POKY_EXTRA_RDEPENDS = "task-moblin-boot" - -TOOLCHAIN_TARGET_SDKTASK ?= "task-moblin-standalone-sdk-target" -#No debug info for now " task-moblin-standalone-sdk-target-dbg" - diff --git a/meta-moblin/conf/layer.conf b/meta-moblin/conf/layer.conf deleted file mode 100644 index b5daea69ed..0000000000 --- a/meta-moblin/conf/layer.conf +++ /dev/null @@ -1,11 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH := "${BBPATH}:${LAYERDIR}" - -# We have a packages directory, add to BBFILES -BBFILES := "${BBFILES} ${LAYERDIR}/packages/*/*.bb" - -BBFILE_COLLECTIONS += "moblin" -BBFILE_PATTERN_moblin := "^${LAYERDIR}/" -BBFILE_PRIORITY_moblin = "5" - -require conf/distro/include/meta-moblin-scm-revisions.inc diff --git a/meta-moblin/packages/anerley/anerley.inc b/meta-moblin/packages/anerley/anerley.inc deleted file mode 100644 index c18c9b2553..0000000000 --- a/meta-moblin/packages/anerley/anerley.inc +++ /dev/null @@ -1,6 +0,0 @@ -DESCRIPTION = "People widgets for Moblin User Experience" -SRC_URI = "http://download.moblin.org/sources/anerley/0.1/anerley-${PV}.tar.bz2" -LICENSE = "LGPLv2.1" -DEPENDS = "telepathy-glib glib-2.0 telepathy-mission-control nbtk eds-dbus" - -inherit autotools diff --git a/meta-moblin/packages/anerley/anerley_0.1.7.bb b/meta-moblin/packages/anerley/anerley_0.1.7.bb deleted file mode 100644 index a2d491bffe..0000000000 --- a/meta-moblin/packages/anerley/anerley_0.1.7.bb +++ /dev/null @@ -1,3 +0,0 @@ -require anerley.inc - -PR = "r0" diff --git a/meta-moblin/packages/anerley/anerley_git.bb b/meta-moblin/packages/anerley/anerley_git.bb deleted file mode 100644 index a656d424ff..0000000000 --- a/meta-moblin/packages/anerley/anerley_git.bb +++ /dev/null @@ -1,7 +0,0 @@ -require anerley.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.1.7+git${SRCPV}" -PR = "r0" - -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/bickley/bickley.inc b/meta-moblin/packages/bickley/bickley.inc deleted file mode 100644 index f386b862e3..0000000000 --- a/meta-moblin/packages/bickley/bickley.inc +++ /dev/null @@ -1,9 +0,0 @@ -DESCRIPTION = "A meta data manager API and framework (including Media)" -SRC_URI = "http://download.moblin.org/sources/bickley/0.4/bickley-0.4_20091124.tar.bz2" - -DEPENDS = "gtk+ dbus-glib clutter-gst-0.10 libexif taglib gupnp gupnp-av samba" -RDEPENDS = "xdg-user-dirs" - -FILES_${PN} =+ "${datadir}/dbus-1/services/" - -inherit autotools diff --git a/meta-moblin/packages/bickley/bickley_0.4.bb b/meta-moblin/packages/bickley/bickley_0.4.bb deleted file mode 100644 index 9a8de22619..0000000000 --- a/meta-moblin/packages/bickley/bickley_0.4.bb +++ /dev/null @@ -1,4 +0,0 @@ -require bickley.inc - -S = "${WORKDIR}/${PN}-${PV}_20091124" -PR = "r1" diff --git a/meta-moblin/packages/bickley/bickley_git.bb b/meta-moblin/packages/bickley/bickley_git.bb deleted file mode 100644 index a02d610ddc..0000000000 --- a/meta-moblin/packages/bickley/bickley_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require bickley.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.4+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/bisho/bisho.inc b/meta-moblin/packages/bisho/bisho.inc deleted file mode 100644 index 5ff9b9e35a..0000000000 --- a/meta-moblin/packages/bisho/bisho.inc +++ /dev/null @@ -1,9 +0,0 @@ -DESCRIPTION = "Web Services Settings" -SRC_URI = "http://download.moblin.org/sources/bisho/0.17/bisho-0.17.1.tar.bz2" -LICENSE = "GPLv2" - -DEPENDS = "gtk+ mojito nbtk" - -inherit autotools - -FILES_${PN} += "${datadir}/icons/" diff --git a/meta-moblin/packages/bisho/bisho_0.17.1.bb b/meta-moblin/packages/bisho/bisho_0.17.1.bb deleted file mode 100644 index e483da5d79..0000000000 --- a/meta-moblin/packages/bisho/bisho_0.17.1.bb +++ /dev/null @@ -1 +0,0 @@ -require bisho.inc diff --git a/meta-moblin/packages/bisho/bisho_git.bb b/meta-moblin/packages/bisho/bisho_git.bb deleted file mode 100644 index 21a2e7afc7..0000000000 --- a/meta-moblin/packages/bisho/bisho_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require bisho.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.17.1+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/bognor-regis/bognor-regis.inc b/meta-moblin/packages/bognor-regis/bognor-regis.inc deleted file mode 100644 index 34563548f2..0000000000 --- a/meta-moblin/packages/bognor-regis/bognor-regis.inc +++ /dev/null @@ -1,9 +0,0 @@ -DESCRIPTION = "Media deamon and play queue manager" -SRC_URI = "http://download.moblin.org/sources/bognor-regis/0.5/bognor-regis-0.5.0_20091116.tar.bz2" -LICENSE = "GPLv2" - -DEPENDS = "glib-2.0 dbus-glib gtk+ libnotify gupnp gupnp-av bickley" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools diff --git a/meta-moblin/packages/bognor-regis/bognor-regis_0.5.0.bb b/meta-moblin/packages/bognor-regis/bognor-regis_0.5.0.bb deleted file mode 100644 index 5bec1aa388..0000000000 --- a/meta-moblin/packages/bognor-regis/bognor-regis_0.5.0.bb +++ /dev/null @@ -1,3 +0,0 @@ -require bognor-regis.inc - -S = "${WORKDIR}/${PN}-${PV}_20091116" diff --git a/meta-moblin/packages/bognor-regis/bognor-regis_git.bb b/meta-moblin/packages/bognor-regis/bognor-regis_git.bb deleted file mode 100644 index 6bc69d8dee..0000000000 --- a/meta-moblin/packages/bognor-regis/bognor-regis_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require bognor-regis.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.5.0+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/carrick/carrick.inc b/meta-moblin/packages/carrick/carrick.inc deleted file mode 100644 index 1924e9cbfe..0000000000 --- a/meta-moblin/packages/carrick/carrick.inc +++ /dev/null @@ -1,14 +0,0 @@ -DESCIPTION = "Connection Management Panel Applet" -SRC_URI = "http://download.moblin.org/sources/carrick/1.1/carrick-${PV}.tar.bz2" -LICENSE = "GPLv2" - -DEPENDS = "nbtk mutter-moblin librest libnotify mobile-broadband-provider-info" -RDEPENDS = "connman" - -FILES_${PN} += "${datadir}/icons/hicolor" - -inherit autotools - -do_configure_prepend () { - mkdir -p ${S}/build/autotools -} diff --git a/meta-moblin/packages/carrick/carrick_1.1.13.bb b/meta-moblin/packages/carrick/carrick_1.1.13.bb deleted file mode 100644 index f7ec5c017b..0000000000 --- a/meta-moblin/packages/carrick/carrick_1.1.13.bb +++ /dev/null @@ -1 +0,0 @@ -include carrick.inc diff --git a/meta-moblin/packages/carrick/carrick_git.bb b/meta-moblin/packages/carrick/carrick_git.bb deleted file mode 100644 index 3258e052b7..0000000000 --- a/meta-moblin/packages/carrick/carrick_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -include carrick.inc - -SRC_URI = "git://git.moblin.org/${PN}-ng.git;protocol=git" -PV = "1.2.0+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/clutter-imcontext/clutter-imcontext_git.bb b/meta-moblin/packages/clutter-imcontext/clutter-imcontext_git.bb deleted file mode 100644 index ead537d664..0000000000 --- a/meta-moblin/packages/clutter-imcontext/clutter-imcontext_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -LICENSE = "GPLv2" -PV = "0.0+git${SRCPV}" -PR = "r7" -DEPENDS = "clutter-1.0 glib-2.0" -S = "${WORKDIR}/git" - -inherit autotools - -do_configure_prepend () { - echo "EXTRA_DIST=" > ${S}/gtk-doc.make - echo "CLEANFILES=" >> ${S}/gtk-doc.make -} \ No newline at end of file diff --git a/meta-moblin/packages/clutter/clutter-mozembed.inc b/meta-moblin/packages/clutter/clutter-mozembed.inc deleted file mode 100644 index 72c9412d04..0000000000 --- a/meta-moblin/packages/clutter/clutter-mozembed.inc +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "Clutter Mozilla Embedded" -HOMEPAGE = "http://www.clutter-project.org/" -LICENSE = "LGPL" - -DEPENDS = "mozilla-headless mozilla-headless-services clutter-1.0" - -FILESPATH = "${FILE_DIRNAME}/clutter-mozembed" - -FILES_${PN} =+ "${datadir}/cluttermozembed/chrome/" - -EXTRA_OECONF = "--enable-plugins" - -inherit autotools pkgconfig gtk-doc - diff --git a/meta-moblin/packages/clutter/clutter-mozembed/link-with-g++-da7632f3e2c8d1a70ab01cc7adb63760d8718b41.patch b/meta-moblin/packages/clutter/clutter-mozembed/link-with-g++-da7632f3e2c8d1a70ab01cc7adb63760d8718b41.patch deleted file mode 100644 index 135b9e79f0..0000000000 --- a/meta-moblin/packages/clutter/clutter-mozembed/link-with-g++-da7632f3e2c8d1a70ab01cc7adb63760d8718b41.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: git/cluttermozembed/Makefile.am -=================================================================== ---- git.orig/cluttermozembed/Makefile.am 2009-06-10 15:04:54.000000000 +0100 -+++ git/cluttermozembed/Makefile.am 2009-06-10 15:10:12.000000000 +0100 -@@ -61,7 +61,7 @@ - clutter-mozembed-private.h - source_c = \ - clutter-mozembed.c \ -- clutter-mozembed-download.c -+ clutter-mozembed-download.c dummy.cpp - - bin_PROGRAMS = clutter-mozheadless - diff --git a/meta-moblin/packages/clutter/clutter-mozembed/link-with-g++.patch b/meta-moblin/packages/clutter/clutter-mozembed/link-with-g++.patch deleted file mode 100644 index cc9d43a674..0000000000 --- a/meta-moblin/packages/clutter/clutter-mozembed/link-with-g++.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: git/cluttermozembed/Makefile.am -=================================================================== ---- git.orig/clutter-mozembed/Makefile.am 2009-07-24 16:58:24.000000000 +0100 -+++ git/clutter-mozembed/Makefile.am 2009-07-24 17:00:53.000000000 +0100 -@@ -66,7 +66,7 @@ - clutter-mozembed.c \ - clutter-mozembed-comms.c \ - clutter-mozembed-comms.h \ -- clutter-mozembed-download.c -+ clutter-mozembed-download.c dummy.cpp - - bin_PROGRAMS = clutter-mozheadless - diff --git a/meta-moblin/packages/clutter/clutter-mozembed_git.bb b/meta-moblin/packages/clutter/clutter-mozembed_git.bb deleted file mode 100644 index e2da2d6a7d..0000000000 --- a/meta-moblin/packages/clutter/clutter-mozembed_git.bb +++ /dev/null @@ -1,14 +0,0 @@ -require clutter-mozembed.inc - -PV = "0.8.0+git${SRCPV}" -PR = "r7" - -SRC_URI = "git://git.clutter-project.org/clutter-mozembed.git;protocol=git \ - file://link-with-g++-da7632f3e2c8d1a70ab01cc7adb63760d8718b41.patch;patch=1;rev=da7632f3e2c8d1a70ab01cc7adb63760d8718b41 \ - file://link-with-g++.patch;patch=1;notrev=da7632f3e2c8d1a70ab01cc7adb63760d8718b41" -S = "${WORKDIR}/git" - -do_configure_prepend () { - touch ${S}/clutter-mozembed/dummy.cpp - touch ${S}/clutter-mozembed/dummy2.cpp -} diff --git a/meta-moblin/packages/consolekit/consolekit_0.3.0.bb b/meta-moblin/packages/consolekit/consolekit_0.3.0.bb deleted file mode 100644 index fcd735d7ad..0000000000 --- a/meta-moblin/packages/consolekit/consolekit_0.3.0.bb +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "ConsoleKit is a framework for defining and tracking users, login sessions, and seats." -LICENSE = "GPLv2" -DEPENDS = "dbus" - -inherit gnome - -SRC_URI = "http://people.freedesktop.org/~mccann/dist/ConsoleKit-${PV}.tar.bz2 \ - file://nopolkit.patch;patch=1" -S = "${WORKDIR}/ConsoleKit-${PV}" - -FILES_${PN} += "${libdir}/ConsoleKit ${datadir}/dbus-1 ${datadir}/PolicyKit" - - - - diff --git a/meta-moblin/packages/consolekit/files/nopolkit.patch b/meta-moblin/packages/consolekit/files/nopolkit.patch deleted file mode 100644 index bebbcaffff..0000000000 --- a/meta-moblin/packages/consolekit/files/nopolkit.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: ConsoleKit-0.3.0/configure.ac -=================================================================== ---- ConsoleKit-0.3.0.orig/configure.ac 2009-05-22 12:53:27.000000000 +0100 -+++ ConsoleKit-0.3.0/configure.ac 2009-05-22 12:53:56.000000000 +0100 -@@ -55,10 +55,7 @@ - gthread-2.0 >= $GLIB_REQUIRED_VERSION - ) - --PKG_CHECK_MODULES(POLKIT, -- polkit >= $POLKIT_REQUIRED_VERSION, -- have_polkit=yes, -- have_polkit=no) -+have_polkit=no - if test "x$have_polkit" = "xyes" ; then - AC_DEFINE(HAVE_POLKIT, [], [Define if we have polkit]) - fi diff --git a/meta-moblin/packages/dalston/dalston.inc b/meta-moblin/packages/dalston/dalston.inc deleted file mode 100644 index 204bccd697..0000000000 --- a/meta-moblin/packages/dalston/dalston.inc +++ /dev/null @@ -1,7 +0,0 @@ -DESCRIPTION = "System Information Icons" -SRC_URI = "http://download.moblin.org/sources/dalston/0.1/dalston-0.1.12.tar.bz2" -LICENSE = "LGPLv2.1" - -DEPENDS = "glib-2.0 gtk+ pulseaudio libcanberra libnotify nbtk mutter-moblin" - -inherit autotools diff --git a/meta-moblin/packages/dalston/dalston_0.1.12.bb b/meta-moblin/packages/dalston/dalston_0.1.12.bb deleted file mode 100644 index 4af8ebeb21..0000000000 --- a/meta-moblin/packages/dalston/dalston_0.1.12.bb +++ /dev/null @@ -1 +0,0 @@ -require dalston.inc diff --git a/meta-moblin/packages/dalston/dalston_git.bb b/meta-moblin/packages/dalston/dalston_git.bb deleted file mode 100644 index c61cb2b772..0000000000 --- a/meta-moblin/packages/dalston/dalston_git.bb +++ /dev/null @@ -1,6 +0,0 @@ -require dalston.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.1.12+git${SRCPV}" -S = "${WORKDIR}/git" - diff --git a/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-fontconfig.conf b/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-fontconfig.conf deleted file mode 100644 index 6e08254bda..0000000000 --- a/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-fontconfig.conf +++ /dev/null @@ -1,24 +0,0 @@ - - - - - sans-serif - - Droid Sans - - - - Droid Sans - - sans-serif - - - - - Droid Sans Fallback - - - Droid Sans - - - diff --git a/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-mono-fontconfig.conf b/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-mono-fontconfig.conf deleted file mode 100644 index 5c7f475419..0000000000 --- a/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-sans-mono-fontconfig.conf +++ /dev/null @@ -1,16 +0,0 @@ - - - - - monospace - - Droid Sans Mono - - - - Droid Sans Mono - - monospace - - - diff --git a/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-serif-fontconfig.conf b/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-serif-fontconfig.conf deleted file mode 100644 index 30c15015fc..0000000000 --- a/meta-moblin/packages/droid-fonts/droid-fonts/droid-fonts-serif-fontconfig.conf +++ /dev/null @@ -1,16 +0,0 @@ - - - - - serif - - Droid Serif - - - - Droid Serif - - serif - - - diff --git a/meta-moblin/packages/droid-fonts/droid-fonts_1.0.112.bb b/meta-moblin/packages/droid-fonts/droid-fonts_1.0.112.bb deleted file mode 100644 index 19ef6f1420..0000000000 --- a/meta-moblin/packages/droid-fonts/droid-fonts_1.0.112.bb +++ /dev/null @@ -1,38 +0,0 @@ -HOMEPAGE = "http://android.git.kernel.org/?p=platform/frameworks/base.git;a=tree;f=data/fonts" - -DESCRIPTION = "The Droid typeface family was designed in the fall of 2006 by Ascender's \ - Steve Matteson, as a commission from Google to create a set of system fonts \ - for its Android platform. The goal was to provide optimal quality and comfort \ - on a mobile handset when rendered in application menus, web browsers and for \ - other screen text." - -SRC_URI = "http://pokylinux.org/sources/droid-fonts-1.0.112.tar.gz \ - file://droid-fonts-sans-fontconfig.conf \ - file://droid-fonts-sans-mono-fontconfig.conf \ - file://droid-fonts-serif-fontconfig.conf " - -LICENSE = "Apache License, Version 2.0" -SECTION = "x11/fonts" -RDEPENDS = "fontconfig-utils" -PACKAGES = "${PN}" -FILES_${PN} += "${sysconfdir} ${datadir}" - -do_install () { - install -d ${D}${datadir}/fonts/ttf/ - for i in *.ttf; do - install -m 0644 $i ${D}${prefix}/share/fonts/ttf/${i} - done - - install -d ${D}${sysconfdir}/fonts/conf.d/ - install -m 0644 ${WORKDIR}/*.conf ${D}${sysconfdir}/fonts/conf.d/ - - install -d ${D}${prefix}/share/doc/${PN}/ - install -m 0644 README.txt ${D}${datadir}/doc/${PN}/ - install -m 0644 NOTICE ${D}${datadir}/doc/${PN}/ -} - -pkg_postinst () { -#!/bin/sh -fc-cache -} - diff --git a/meta-moblin/packages/gmime/gmime/iconv-detect.h b/meta-moblin/packages/gmime/gmime/iconv-detect.h deleted file mode 100644 index 714cb5aa9d..0000000000 --- a/meta-moblin/packages/gmime/gmime/iconv-detect.h +++ /dev/null @@ -1,5 +0,0 @@ -/* This is an auto-generated header, DO NOT EDIT! */ - -#define ICONV_ISO_INT_FORMAT "iso-%u-%u" -#define ICONV_ISO_STR_FORMAT "iso-%u-%s" -#define ICONV_10646 "iso-10646" diff --git a/meta-moblin/packages/gmime/gmime/nodolt.patch b/meta-moblin/packages/gmime/gmime/nodolt.patch deleted file mode 100644 index e4d5259c7b..0000000000 --- a/meta-moblin/packages/gmime/gmime/nodolt.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: gmime-2.4.10/configure.in -=================================================================== ---- gmime-2.4.10.orig/configure.in -+++ gmime-2.4.10/configure.in -@@ -80,7 +80,6 @@ AC_PATH_PROG(TAR, tar, /bin/tar) - - AC_EXEEXT - AC_PROG_LIBTOOL --DOLT - - AM_MAINTAINER_MODE - diff --git a/meta-moblin/packages/gmime/gmime_2.4.10.bb b/meta-moblin/packages/gmime/gmime_2.4.10.bb deleted file mode 100644 index 3b9327a931..0000000000 --- a/meta-moblin/packages/gmime/gmime_2.4.10.bb +++ /dev/null @@ -1,20 +0,0 @@ -LICENSE = "LGPL" -DESCRIPTION = "Runtime libraries for parsing and creating MIME mail" -SECTION = "libs" -PRIORITY = "optional" -DEPENDS = "glib-2.0 zlib" - -inherit gnome autotools lib_package binconfig - -SRC_URI += "file://iconv-detect.h \ - file://nodolt.patch;patch=1" - -EXTRA_OECONF += "--disable-mono" - -export ac_cv_have_iconv_detect_h=yes -do_configure_append = "cp ${WORKDIR}/iconv-detect.h ${S}" - -# we do not need GNOME 1 gnome-config support -do_install_append () { - rm -f ${D}${libdir}/gmimeConf.sh -} diff --git a/meta-moblin/packages/gnet/files/buildfix.patch b/meta-moblin/packages/gnet/files/buildfix.patch deleted file mode 100644 index 8067620264..0000000000 --- a/meta-moblin/packages/gnet/files/buildfix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: gnet/examples/Makefile.am -=================================================================== ---- gnet.orig/examples/Makefile.am -+++ gnet/examples/Makefile.am -@@ -2,7 +2,7 @@ - - @SET_MAKE@ - --SUBDIRS = xmlrpc -+SUBDIRS = - - if OS_WIN32 - noinst_PROGRAMS = echoclient echoserver \ diff --git a/meta-moblin/packages/gnet/files/configure_fix.patch b/meta-moblin/packages/gnet/files/configure_fix.patch deleted file mode 100644 index e6aadcc6a9..0000000000 --- a/meta-moblin/packages/gnet/files/configure_fix.patch +++ /dev/null @@ -1,58 +0,0 @@ -Index: trunk/configure.ac -=================================================================== ---- trunk.orig/configure.ac -+++ trunk/configure.ac -@@ -332,53 +332,6 @@ AC_DEFINE_UNQUOTED(GNET_SOCKADDR_FAMILY_ - [$gnet_sockaddr_family_field_name], - [Name of sockaddr_storage family field]) - --dnl ####################################### --dnl Check if abstract sockets are supported --dnl ####################################### -- --AC_LANG_PUSH(C) --AC_CACHE_CHECK([for abstract socket namespace availability], -- ac_cv_gnet_have_abstract_sockets, -- [AC_RUN_IFELSE([AC_LANG_PROGRAM( --[[ --#include --#include --#include --#include --#include --#include --#include --]], --[[ -- int listen_fd, len; -- struct sockaddr_un addr; -- -- listen_fd = socket (PF_UNIX, SOCK_STREAM, 0); -- if (listen_fd < 0) { -- perror ("socket() failed: "); -- exit (1); -- } -- memset (&addr, '\0', sizeof (addr)); -- addr.sun_family = AF_UNIX; -- strcpy (addr.sun_path, "X/tmp/gnet-fake-socket-path-used-in-configure-test"); -- len = SUN_LEN (&addr); /* calculate size before adding the \0 */ -- addr.sun_path[0] = '\0'; /* this is what makes it abstract */ -- -- if (bind (listen_fd, (struct sockaddr*) &addr, len) < 0) { -- perror ("Abstract socket namespace bind() failed: "); -- exit (1); -- } -- exit (0); --]])], -- [ac_cv_gnet_have_abstract_sockets=yes], -- [ac_cv_gnet_have_abstract_sockets=no] --)]) --AC_LANG_POP(C) -- --if test x$ac_cv_gnet_have_abstract_sockets = xyes ; then -- AC_DEFINE(HAVE_ABSTRACT_SOCKETS,1,[Have abstract socket namespace]) --fi -- - ############################### - # Compiler characteristics - AC_C_CONST diff --git a/meta-moblin/packages/gnet/files/pkgconfig_fix.patch b/meta-moblin/packages/gnet/files/pkgconfig_fix.patch deleted file mode 100644 index a4a433f1ce..0000000000 --- a/meta-moblin/packages/gnet/files/pkgconfig_fix.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: trunk/gnet-2.0.pc.in -=================================================================== ---- trunk.orig/gnet-2.0.pc.in 2008-11-06 16:41:25.000000000 +0000 -+++ trunk/gnet-2.0.pc.in 2008-11-06 16:42:23.000000000 +0000 -@@ -6,5 +6,6 @@ - Name: Gnet - Description: A network compatibility layer library - Version: @VERSION@ -+Requires: glib-2.0 gthread-2.0 - Libs: -L${libdir} -lgnet-@GNET_MAJOR_VERSION@.@GNET_MINOR_VERSION@ @GLIB_LIBS@ @GTHREAD_LIBS@ --Cflags: -I${includedir}/gnet-@GNET_MAJOR_VERSION@.@GNET_MINOR_VERSION@ -I${libdir}/gnet-@GNET_MAJOR_VERSION@.@GNET_MINOR_VERSION@/include/ @GLIB_CFLAGS@ @GTHREAD_CFLAGS@ -+Cflags: -I${includedir}/gnet-@GNET_MAJOR_VERSION@.@GNET_MINOR_VERSION@ -I${libdir}/gnet-@GNET_MAJOR_VERSION@.@GNET_MINOR_VERSION@/include/ diff --git a/meta-moblin/packages/gnet/gnet_svn.bb b/meta-moblin/packages/gnet/gnet_svn.bb deleted file mode 100644 index fde58f0f32..0000000000 --- a/meta-moblin/packages/gnet/gnet_svn.bb +++ /dev/null @@ -1,20 +0,0 @@ -DESCRIPTION = "GNet is a simple network library. It is written in C, object-oriented, and built upon GLib." -LICENSE = "LGPL" -SECTION = "libs/network" -HOMEPAGE = "http://www.gnetlibrary.org" -DEPENDS = "glib-2.0" -PV = "2.0.7+svnr${SRCREV}" -PR = "r1" - -SRC_URI = "svn://svn.gnome.org/svn/${PN}/;module=trunk;proto=http \ - file://buildfix.patch;patch=1 \ - file://configure_fix.patch;patch=1 \ - file://pkgconfig_fix.patch;patch=1 " - -S = "${WORKDIR}/trunk" - -EXTRA_OECONF = "--disable-pthreads" - -FILES_${PN}-dev += "${libdir}/gnet-2.0" - -inherit autotools pkgconfig diff --git a/meta-moblin/packages/gnome/gnome-menus_2.24.1.bb b/meta-moblin/packages/gnome/gnome-menus_2.24.1.bb deleted file mode 100644 index c36b3ef50b..0000000000 --- a/meta-moblin/packages/gnome/gnome-menus_2.24.1.bb +++ /dev/null @@ -1,13 +0,0 @@ -DEPENDS = "python gnome-vfs libxml2 gconf popt gtk+" -LICENSE = "GPL" - -inherit gnome pkgconfig - -DEPENDS += "intltool" - -PACKAGES += "${PN}-python" -FILES_${PN} += "${datadir}/desktop-directories/" -FILES_${PN}-python = "${libdir}/python*" -FILES_${PN}-dbg += "${libdir}/python*/site-packages/*/.debug \ - ${libdir}/python*/site-packages/.debug" - diff --git a/meta-moblin/packages/gnome/gvfs_1.0.2.bb b/meta-moblin/packages/gnome/gvfs_1.0.2.bb deleted file mode 100644 index da071c4a64..0000000000 --- a/meta-moblin/packages/gnome/gvfs_1.0.2.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "gvfs is a userspace virtual filesystem" -LICENSE = "LGPL" -DEPENDS = "glib-2.0 fuse gnome-keyring" -PR = "r1" - -inherit gnome -EXTRA_OECONF = "--disable-samba --disable-archive" - -PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash" - -FILES_${PN} += "${datadir}/dbus-1/services/* ${libdir}/gio/modules/*.so" -FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*" -FILES_${PN}-dev += "${libdir}/gio/modules/*.la" - -FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${sysconfdir}/gvfs/mounts/ftp.mount" -FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${sysconfdir}/gvfs/mounts/sftp.mount" -FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${sysconfdir}/gvfs/mounts/trash.mount" diff --git a/meta-moblin/packages/gnome/mobile-broadband-provider-info/fixpkgconfig.patch b/meta-moblin/packages/gnome/mobile-broadband-provider-info/fixpkgconfig.patch deleted file mode 100644 index 1a0caadad1..0000000000 --- a/meta-moblin/packages/gnome/mobile-broadband-provider-info/fixpkgconfig.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: git/Makefile.am -=================================================================== ---- git.orig/Makefile.am 2009-10-12 17:26:59.000000000 +0100 -+++ git/Makefile.am 2009-10-12 17:27:08.000000000 +0100 -@@ -6,7 +6,7 @@ - - EXTRA_DIST = mobile-broadband-provider-info.pc.in - --pkgconfigdir = $(datadir)/pkgconfig -+pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = mobile-broadband-provider-info.pc - - check-local: diff --git a/meta-moblin/packages/gnome/mobile-broadband-provider-info_git.bb b/meta-moblin/packages/gnome/mobile-broadband-provider-info_git.bb deleted file mode 100644 index 56df4ff5c8..0000000000 --- a/meta-moblin/packages/gnome/mobile-broadband-provider-info_git.bb +++ /dev/null @@ -1,9 +0,0 @@ - -inherit gnome pkgconfig - -SRC_URI = "git://git.gnome.org/mobile-broadband-provider-info;protocol=git \ - file://fixpkgconfig.patch;patch=1" - -S = "${WORKDIR}/git" - -PV = "0.0+git${SRCPV}" diff --git a/meta-moblin/packages/hornsey/Makefile.am b/meta-moblin/packages/hornsey/Makefile.am deleted file mode 100644 index bce92c4060..0000000000 --- a/meta-moblin/packages/hornsey/Makefile.am +++ /dev/null @@ -1,662 +0,0 @@ -## Process this file with automake to create Makefile.in. - -# We set GPATH here; this gives us semantics for GNU make -# which are more like other make's VPATH. -GPATH = $(srcdir) - -if HAVE_FREETYPE -OPENTYPE_SUBDIR=opentype -endif - -EXTRA_DIST = -BUILT_GIRSOURCES = - -FRIBIDI_SUBDIR=mini-fribidi - -SUBDIRS = $(OPENTYPE_SUBDIR) $(FRIBIDI_SUBDIR) - -DIST_SUBDIRS = mini-fribidi opentype - -INCLUDES = \ - -DG_LOG_DOMAIN=\"Pango\" \ - -DPANGO_ENABLE_BACKEND \ - -DPANGO_ENABLE_ENGINE \ - -DSYSCONFDIR=\"$(sysconfdir)\" \ - -DLIBDIR=\"$(libdir)\" \ - -I$(top_srcdir) \ - $(PANGO_DEBUG_FLAGS) \ - $(GLIB_CFLAGS) \ - $(XFT_CFLAGS) \ - $(CAIRO_CFLAGS) \ - $(FREETYPE_CFLAGS) \ - $(X_CFLAGS) - -BUILT_SOURCES = pango-enum-types.h pango-enum-types.c pango-features.h - -pangoincludedir=$(includedir)/pango-1.0/pango - -if OS_WIN32 -else -libm = -lm -endif - -# ------------------- libpango ------------------- - -lib_LTLIBRARIES = libpango-1.0.la -BUILT_GIRSOURCES += Pango-1.0.gir - -libpango_1_0_la_LDFLAGS = $(LIBRARY_LIBTOOL_OPTIONS) -libpango_1_0_la_LIBADD = \ - $(GLIB_LIBS) \ - $(libm) \ - $(INCLUDED_LANG_MODULES) -libpango_1_0_la_DEPENDENCIES = \ - $(INCLUDED_LANG_MODULES) - -libpango_1_0_la_LIBADD += mini-fribidi/libmini-fribidi.la -libpango_1_0_la_DEPENDENCIES += mini-fribidi/libmini-fribidi.la - -if PLATFORM_WIN32 -libpango_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pango.def -Wl,pango-win32-res.o -libpango_1_0_la_DEPENDENCIES += pango-win32-res.o pango.def -endif -pango-win32-res.o: pango.rc - $(AM_V_GEN) $(WINDRES) $< $@ - -libpango_1_0_la_SOURCES = \ - break.c \ - ellipsize.c \ - fonts.c \ - glyphstring.c \ - modules.c \ - pango-attributes.c \ - pango-bidi-type.c \ - pango-color.c \ - pango-color-table.h \ - pango-context.c \ - pango-coverage.c \ - pango-engine.c \ - pango-engine-private.h \ - pango-fontmap.c \ - pango-fontset.c \ - pango-glyph-item.c \ - pango-gravity.c \ - pango-impl-utils.h \ - pango-item.c \ - pango-language.c \ - pango-language-sample-table.h \ - pango-layout.c \ - pango-layout-private.h \ - pango-markup.c \ - pango-matrix.c \ - pango-renderer.c \ - pango-script.c \ - pango-script-lang-table.h \ - pango-script-private.h \ - pango-tabs.c \ - pango-utils.c \ - reorder-items.c \ - shape.c \ - pango-enum-types.c \ - module-defs-lang.c - -pango_headers = \ - pango.h \ - pango-attributes.h \ - pango-bidi-type.h \ - pango-break.h \ - pango-context.h \ - pango-coverage.h \ - pango-engine.h \ - pango-font.h \ - pango-fontmap.h \ - pango-fontset.h \ - pango-glyph.h \ - pango-glyph-item.h \ - pango-gravity.h \ - pango-item.h \ - pango-language.h \ - pango-layout.h \ - pango-matrix.h \ - pango-modules.h \ - pango-renderer.h \ - pango-script.h \ - pango-tabs.h \ - pango-types.h \ - pango-utils.h - -pangoinclude_HEADERS = \ - $(pango_headers) \ - pango-features.h \ - pango-enum-types.h - -pango-enum-types.h: s-enum-types-h - $(AM_V_GEN) true -s-enum-types-h: @REBUILD@ $(pango_headers) Makefile - $(AM_V_GEN) ( cd $(srcdir) && glib-mkenums \ - --fhead "#ifndef __PANGO_ENUM_TYPES_H__\n#define __PANGO_ENUM_TYPES_H__\n\n#include \n\nG_BEGIN_DECLS\n" \ - --fprod "/* enumerations from \"@filename@\" */\n" \ - --vhead "GType @enum_name@_get_type (void);\n#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ - --ftail "G_END_DECLS\n\n#endif /* __PANGO_ENUM_TYPES_H__ */" \ - $(pango_headers) ) > tmp-pango-enum-types.h \ - && (cmp -s tmp-pango-enum-types.h pango-enum-types.h || cp tmp-pango-enum-types.h pango-enum-types.h ) \ - && rm -f tmp-pango-enum-types.h \ - && echo timestamp > $(@F) - -pango-enum-types.c: s-enum-types-c - $(AM_V_GEN) true -s-enum-types-c: @REBUILD@ $(pango_headers) Makefile - $(AM_V_GEN) ( cd $(srcdir) && glib-mkenums \ - --fhead "#include " \ - --fprod "\n/* enumerations from \"@filename@\" */" \ - --vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \ - --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ - --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (g_intern_static_string (\"@EnumName@\"), values);\n }\n return etype;\n}\n" \ - $(pango_headers) ) > tmp-pango-enum-types.c \ - && (cmp -s tmp-pango-enum-types.c pango-enum-types.c || cp tmp-pango-enum-types.c pango-enum-types.c ) \ - && rm -f tmp-pango-enum-types.c \ - && echo timestamp > $(@F) - -pango-features.h: - $(AM_V_GEN) cd $(top_builddir) && ./config.status pango/pango-features.h - -Pango-1.0.gir: $(libpango_1_0_la_SOURCES) -Pango-1.0.gir: $(pango_headers) -Pango-1.0.gir: libpango-1.0.la -Pango-1.0.gir: $(G_IR_SCANNER) Makefile - $(AM_V_GEN) $(G_IR_SCANNER) -v --namespace Pango --nsversion=1.0 \ - --add-include-path=$(srcdir) --add-include-path=. \ - --include=GObject-2.0 \ - --include=cairo-1.0 \ - --library=libpango-1.0.la \ - --libtool="$(LIBTOOL)" \ - --output $@ \ - --pkg gobject-2.0 \ - --pkg cairo \ - --pkg freetype2 \ - -I$(top_srcdir) \ - $(PANGO_CFLAGS) \ - $(libpango_1_0_la_SOURCES) \ - $(pango_headers) \ - pango-enum-types.h - -# ------------------- libpangox ------------------- - -if HAVE_X -pangoinclude_HEADERS += $(pangox_headers) -lib_LTLIBRARIES += libpangox-1.0.la -aliasdir = $(sysconfdir)/pango -alias_DATA = pangox.aliases -endif - -pangox_headers = pangox.h -pangox_public_sources = pangox.c - -libpangox_1_0_la_LDFLAGS = $(LIBRARY_LIBTOOL_OPTIONS) -libpangox_1_0_la_LIBADD = \ - libpango-$(PANGO_API_VERSION).la \ - $(INCLUDED_X_MODULES) \ - $(GLIB_LIBS) \ - $(X_LIBS) \ - $(X_EXTRA_LIBS) -libpangox_1_0_la_DEPENDENCIES = \ - libpango-$(PANGO_API_VERSION).la \ - $(INCLUDED_X_MODULES) - -if PLATFORM_WIN32 -libpangox_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangox.def -Wl,pangox-win32-res.o -libpangox_1_0_la_DEPENDENCIES += pangox-win32-res.o pangox.def -endif - -pangox-win32-res.o: pangox.rc - $(WINDRES) $< $@ - -libpangox_1_0_la_SOURCES = \ - $(pangox_public_sources) \ - modules.h \ - module-defs-x.c \ - pangox-private.h \ - pangox-fontcache.c \ - pangox-fontmap.c - -# ------------------- libpangoft2 ------------------- - -if HAVE_FREETYPE -pangoinclude_HEADERS += $(pangoft2_headers) -lib_LTLIBRARIES += libpangoft2-1.0.la -BUILT_GIRSOURCES += PangoFT2-1.0.gir -endif - -pangoft2_headers = \ - pango-ot.h \ - pangofc-font.h \ - pangofc-fontmap.h \ - pangofc-decoder.h \ - pangoft2.h - -pangoft2_public_sources = \ - pangofc-font.c \ - pangofc-fontmap.c \ - pangofc-decoder.c \ - pangoft2.c - -libpangoft2_1_0_la_LDFLAGS = $(LIBRARY_LIBTOOL_OPTIONS) -libpangoft2_1_0_la_LIBADD = \ - opentype/libharfbuzz.la \ - libpango-$(PANGO_API_VERSION).la \ - $(INCLUDED_FC_MODULES) \ - $(GLIB_LIBS) \ - $(FREETYPE_LIBS) \ - $(libm) -libpangoft2_1_0_la_DEPENDENCIES = \ - opentype/libharfbuzz.la \ - libpango-$(PANGO_API_VERSION).la \ - $(INCLUDED_FC_MODULES) -libpangoft2_1_0_la_SOURCES = \ - $(pangoft2_public_sources) \ - modules.h \ - module-defs-fc.c \ - pangofc-private.h \ - pangoft2.h \ - pangoft2-private.h \ - pangoft2-fontmap.c \ - pangoft2-render.c \ - pango-ot-private.h \ - pango-ot-buffer.c \ - pango-ot-info.c \ - pango-ot-ruleset.c \ - pango-ot-tag.c - - -if PLATFORM_WIN32 -libpangoft2_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangoft2.def -Wl,pangoft2-win32-res.o -libpangoft2_1_0_la_DEPENDENCIES += pangoft2-win32-res.o pangoft2.def -endif -pangoft2-win32-res.o: pangoft2.rc - $(AM_V_GEN) $(WINDRES) $< $@ - -PangoFT2-1.0.gir: $(pangoft2_headers) -PangoFT2-1.0.gir: $(libpangoft2_1_0_la_SOURCES) -PangoFT2-1.0.gir: libpangoft2-1.0.la -PangoFT2-1.0.gir: Pango-1.0.gir $(G_IR_SCANNER) Makefile - $(AM_V_GEN) $(G_IR_SCANNER) -v --namespace PangoFT2 --nsversion=1.0 \ - --add-include-path=$(srcdir) --add-include-path=. \ - --include=GObject-2.0 \ - --include=Pango-1.0 \ - --include=freetype2-2.0 \ - --include=fontconfig-2.0 \ - --library=libpangoft2-1.0.la \ - --libtool="$(LIBTOOL)" \ - --output $@ \ - --pkg gobject-2.0 \ - --pkg freetype2 \ - --pkg pangoft2 \ - -I$(top_srcdir) \ - $(pangoft2_headers) \ - $(pangoft2_public_sources) - -# ------------------- libpangoxft ------------------- - -if HAVE_XFT -pangoinclude_HEADERS += $(pangoxft_headers) -lib_LTLIBRARIES += libpangoxft-1.0.la -BUILT_GIRSOURCES += PangoXft-1.0.gir -endif - -pangoxft_headers = pangoxft.h pangoxft-render.h - -libpangoxft_1_0_la_LDFLAGS = $(LIBRARY_LIBTOOL_OPTIONS) -libpangoxft_1_0_la_LIBADD = \ - libpangoft2-$(PANGO_API_VERSION).la \ - libpango-$(PANGO_API_VERSION).la \ - $(GLIB_LIBS) \ - $(X_LIBS) \ - $(XFT_LIBS) \ - $(FREETYPE_LIBS) \ - $(libm) -libpangoxft_1_0_la_DEPENDENCIES = \ - libpangoft2-$(PANGO_API_VERSION).la \ - libpango-$(PANGO_API_VERSION).la - -if PLATFORM_WIN32 -libpangoxft_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangoxft.def -Wl,pangoxft-win32-res.o -libpangoxft_1_0_la_DEPENDENCIES += pangoxft-win32-res.o pangoxft.def -endif -pangoxft-win32-res.o: pangoxft.rc - $(AM_V_GEN) $(WINDRES) $< $@ - -libpangoxft_1_0_la_SOURCES = \ - pangoxft-font.c \ - pangoxft-fontmap.c \ - pangoxft-private.h \ - pangoxft-render.c - - -PangoXft-1.0.gir: $(pangoxft_headers) -PangoXft-1.0.gir: $(libpangoxft_1_0_la_SOURCES) -PangoXft-1.0.gir: libpangoxft-1.0.la -PangoXft-1.0.gir: Pango-1.0.gir PangoFT2-1.0.gir $(G_IR_SCANNER) Makefile - $(AM_V_GEN) $(G_IR_SCANNER) -v --namespace PangoXft --nsversion=1.0 \ - --add-include-path=$(srcdir) --add-include-path=. \ - --include=GObject-2.0 \ - --include=xft-2.0 \ - --include=xlib-2.0 \ - --include=PangoFT2-1.0 \ - --library=libpangoxft-1.0.la \ - --libtool="$(LIBTOOL)" \ - --output $@ \ - --pkg gobject-2.0 \ - --pkg freetype2 \ - -I$(top_srcdir) \ - $(PANGO_CFLAGS) \ - $(pangoxft_headers) \ - $(libpangoxft_1_0_la_SOURCES) - -# ------------------- libpangocairo ------------------- - -if HAVE_CAIRO -pangoinclude_HEADERS += $(pangocairo_headers) -lib_LTLIBRARIES += libpangocairo-1.0.la -BUILT_GIRSOURCES += PangoCairo-1.0.gir -endif - -pangocairo_headers = pangocairo.h - -libpangocairo_1_0_la_LDFLAGS = $(LIBRARY_LIBTOOL_OPTIONS) -libpangocairo_1_0_la_LIBADD = \ - libpango-$(PANGO_API_VERSION).la \ - $(GLIB_LIBS) \ - $(CAIRO_LIBS) \ - $(libm) -libpangocairo_1_0_la_DEPENDENCIES = \ - libpango-$(PANGO_API_VERSION).la -libpangocairo_1_0_la_SOURCES = \ - pangocairo-context.c \ - pangocairo-font.c \ - pangocairo-fontmap.c \ - pangocairo-render.c \ - pangocairo-private.h - -if HAVE_CAIRO_WIN32 -if PLATFORM_WIN32 -libpangocairo_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangocairo.def -libpangocairo_1_0_la_DEPENDENCIES += pangocairo.def -endif - -libpangocairo_1_0_la_LIBADD += libpangowin32-$(PANGO_API_VERSION).la $(WIN32_LIBS) -libpangocairo_1_0_la_DEPENDENCIES += libpangowin32-$(PANGO_API_VERSION).la - -libpangocairo_1_0_la_SOURCES += pangocairo-win32font.c pangocairo-win32fontmap.c pangocairo-win32.h -endif - -if HAVE_CAIRO_FREETYPE -libpangocairo_1_0_la_LIBADD += libpangoft2-$(PANGO_API_VERSION).la $(FREETYPE_LIBS) -libpangocairo_1_0_la_DEPENDENCIES += libpangoft2-$(PANGO_API_VERSION).la -PANGOCAIRO_FONT_BACKEND_GI_MODULE = PangoFT2-1.0 - -libpangocairo_1_0_la_SOURCES += \ - pangocairo-fcfont.c \ - pangocairo-fcfontmap.c \ - pangocairo-fc.h -endif - -if HAVE_CAIRO_ATSUI -libpangocairo_1_0_la_SOURCES += \ - modules.h \ - module-defs-atsui.c \ - pangoatsui.h \ - pangoatsui.c \ - pangoatsui-private.h \ - pangoatsui-fontmap.c \ - pangocairo-atsui.h \ - pangocairo-atsuifont.c \ - pangocairo-atsuifont.h \ - pangocairo-atsuifontmap.c -pangoinclude_HEADERS += pangoatsui.h - -libpangocairo_1_0_la_CFLAGS = -xobjective-c -libpangocairo_1_0_la_LDFLAGS += -framework CoreFoundation -framework Carbon -framework Cocoa -libpangocairo_1_0_la_LIBADD += $(INCLUDED_ATSUI_MODULES) -# We don't have an ATSUI GIR right now, so this is just hypothetical -PANGOCAIRO_FONT_BACKEND_GI_MODULE = PangoATSUI-1.0 -endif - -PangoCairo-1.0.gir: $(libpangocairo_1_0_la_SOURCES) -PangoCairo-1.0.gir: $(pangocairo_headers) -PangoCairo-1.0.gir: libpangocairo-1.0.la -PangoCairo-1.0.gir: Pango-1.0.gir $(PANGOCAIRO_FONT_BACKEND_GI_MODULE).gir $(G_IR_SCANNER) Makefile - $(AM_V_GEN) $(G_IR_SCANNER) -v --namespace PangoCairo --nsversion=1.0 \ - --add-include-path=$(srcdir) --add-include-path=. \ - --include=GObject-2.0 \ - --include=cairo-1.0 \ - --include=Pango-1.0 \ - --add-include-path=. \ - --include=$(PANGOCAIRO_FONT_BACKEND_GI_MODULE) \ - --library=libpangocairo-1.0.la \ - --libtool="$(LIBTOOL)" \ - --output $@ \ - --pkg gobject-2.0 \ - --pkg cairo \ - -I$(top_srcdir) \ - $(PANGO_CFLAGS) \ - $(libpangocairo_1_0_la_SOURCES) \ - $(pangocairo_headers) - -# ------------------- libpangowin32 ------------------- - -if HAVE_WIN32 -pangoinclude_HEADERS += pangowin32.h -lib_LTLIBRARIES += libpangowin32-1.0.la -endif - -libpangowin32_1_0_la_LDFLAGS = $(LIBRARY_LIBTOOL_OPTIONS) -libpangowin32_1_0_la_LIBADD = \ - libpango-$(PANGO_API_VERSION).la \ - $(INCLUDED_WIN32_MODULES) \ - $(GLIB_LIBS) \ - $(WIN32_LIBS) -libpangowin32_1_0_la_DEPENDENCIES = \ - libpango-$(PANGO_API_VERSION).la \ - $(INCLUDED_WIN32_MODULES) -libpangowin32_1_0_la_SOURCES = \ - modules.h \ - module-defs-win32.c \ - pangowin32.h \ - pangowin32.c \ - pangowin32-private.h \ - pangowin32-fontcache.c \ - pangowin32-fontmap.c - -if PLATFORM_WIN32 -libpangowin32_1_0_la_LDFLAGS += -export-symbols $(srcdir)/pangowin32.def -Wl,pangowin32-win32-res.o -libpangowin32_1_0_la_DEPENDENCIES += pangowin32-win32-res.o pangowin32.def -endif -pangowin32-win32-res.o: pangowin32.rc - $(AM_V_GEN) $(WINDRES) $< $@ - - -# ------------------- win32 build stuff ------------------- - -if OS_WIN32 -install-def-files: - $(AM_V_GEN) mkdir -p $(DESTDIR)$(libdir) && \ - $(INSTALL) $(srcdir)/pango.def $(DESTDIR)$(libdir)/pango-$(PANGO_API_VERSION).def -if HAVE_FREETYPE - $(INSTALL) $(srcdir)/pangoft2.def $(DESTDIR)$(libdir)/pangoft2-$(PANGO_API_VERSION).def -endif - $(INSTALL) $(srcdir)/pangowin32.def $(DESTDIR)$(libdir)/pangowin32-$(PANGO_API_VERSION).def - $(INSTALL) $(srcdir)/pangocairo.def $(DESTDIR)$(libdir)/pangocairo-$(PANGO_API_VERSION).def -if HAVE_X - $(INSTALL) $(srcdir)/pangox.def $(DESTDIR)$(libdir)/pangox-$(PANGO_API_VERSION).def - $(INSTALL) $(srcdir)/pangoxft.def $(DESTDIR)$(libdir)/pangoxft-$(PANGO_API_VERSION).def -endif -uninstall-def-files: - -rm $(DESTDIR)$(libdir)/pango$(PANGO_API_VERSION).def -if HAVE_FREETYPE - -rm $(DESTDIR)$(libdir)/pangoft2-$(PANGO_API_VERSION).def -endif - -rm $(DESTDIR)$(libdir)/pangowin32-$(PANGO_API_VERSION).def - -rm $(DESTDIR)$(libdir)/pangocairo-$(PANGO_API_VERSION).def -if HAVE_X - -rm $(DESTDIR)$(libdir)/pangox-$(PANGO_API_VERSION).def - -rm $(DESTDIR)$(libdir)/pangoxft-$(PANGO_API_VERSION).def -endif -else -install-def-files: -uninstall-def-files: - -endif - -if MS_LIB_AVAILABLE -MS_LIB_FILES = pango-$(PANGO_API_VERSION).lib pangowin32-$(PANGO_API_VERSION).lib pangocairo-$(PANGO_API_VERSION).lib - -if HAVE_FREETYPE -MS_LIB_FILES += pangoft2-$(PANGO_API_VERSION).lib -endif - -noinst_DATA = $(MS_LIB_FILES) - -install-ms-lib: $(MS_LIB_FILES) - $(INSTALL) pango-$(PANGO_API_VERSION).lib $(DESTDIR)$(libdir) -if HAVE_FREETYPE - $(INSTALL) pangoft2-$(PANGO_API_VERSION).lib $(DESTDIR)$(libdir) -endif - $(INSTALL) pangowin32-$(PANGO_API_VERSION).lib $(DESTDIR)$(libdir) - $(INSTALL) pangocairo-$(PANGO_API_VERSION).lib $(DESTDIR)$(libdir) - -uninstall-ms-lib: - -rm $(DESTDIR)$(libdir)/pango-$(PANGO_API_VERSION).lib - -rm $(DESTDIR)$(libdir)/pangoft2-$(PANGO_API_VERSION).lib - -rm $(DESTDIR)$(libdir)/pangowin32-$(PANGO_API_VERSION).lib - -rm $(DESTDIR)$(libdir)/pangocairo-$(PANGO_API_VERSION).lib -else -install-ms-lib: -uninstall-ms-lib: -endif - -pango-$(PANGO_API_VERSION).lib: libpango-$(PANGO_API_VERSION).la $(srcdir)/pango.def - $(AM_V_GEN) lib -machine:$(LIB_EXE_MACHINE_FLAG) -name:libpango-$(PANGO_API_VERSION)-$(PANGO_CURRENT_MINUS_AGE).dll -def:$(srcdir)/pango.def -out:$@ - -pangoft2-$(PANGO_API_VERSION).lib: libpangoft2-$(PANGO_API_VERSION).la $(srcdir)/pangoft2.def - $(AM_V_GEN) lib -machine:$(LIB_EXE_MACHINE_FLAG) -name:libpangoft2-$(PANGO_API_VERSION)-$(PANGO_CURRENT_MINUS_AGE).dll -def:$(srcdir)/pangoft2.def -out:$@ - -pangowin32-$(PANGO_API_VERSION).lib: libpangowin32-$(PANGO_API_VERSION).la $(srcdir)/pangowin32.def - $(AM_V_GEN) lib -machine:$(LIB_EXE_MACHINE_FLAG) -name:libpangowin32-$(PANGO_API_VERSION)-$(PANGO_CURRENT_MINUS_AGE).dll -def:$(srcdir)/pangowin32.def -out:$@ - -pangocairo-$(PANGO_API_VERSION).lib: libpangocairo-$(PANGO_API_VERSION).la $(srcdir)/pangocairo.def - $(AM_V_GEN) lib -machine:$(LIB_EXE_MACHINE_FLAG) -name:libpangocairo-$(PANGO_API_VERSION)-$(PANGO_CURRENT_MINUS_AGE).dll -def:$(srcdir)/pangocairo.def -out:$@ - - -# ------------------- introspection ------------------- - -if HAVE_INTROSPECTION - -girdir = $(GIRDIR) -gir_DATA = $(BUILT_GIRSOURCES) - -typelibsdir = $(TYPELIBDIR) -typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) - -%.typelib: %.gir $(G_IR_COMPILER) - $(AM_V_GEN) LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}. $(G_IR_COMPILER) --includedir=$(srcdir) --includedir=. $(G_IR_COMPILER_OPTS) $< -o $(builddir)/$(@F) - -endif # HAVE_INTROSPECTION - -# ------------------- pango-querymodules ------------------- - -bin_PROGRAMS = pango-querymodules - -# -# As a temporary hack, we pull in libpangox here so that we can link -# -pango_querymodules_SOURCES = \ - querymodules.c - -pango_querymodules_LDADD = -if HAVE_X -pango_querymodules_LDADD += libpangox-$(PANGO_API_VERSION).la -endif -if HAVE_XFT -pango_querymodules_LDADD += libpangoxft-$(PANGO_API_VERSION).la -endif -if HAVE_FREETYPE -pango_querymodules_LDADD += libpangoft2-$(PANGO_API_VERSION).la -endif -if HAVE_WIN32 -pango_querymodules_LDADD += libpangowin32-$(PANGO_API_VERSION).la -endif -pango_querymodules_LDADD += libpango-$(PANGO_API_VERSION).la $(GLIB_LIBS) - -EXTRA_DIST += \ - pango-enum-types.h \ - module-defs.h \ - module-defs-fc.c.win32 \ - module-defs-win32.c.win32 \ - pango.def \ - pangocairo.def \ - pangowin32.def \ - pangoft2.def \ - makefile.msc \ - pango.rc \ - pango.rc.in \ - pangox.aliases \ - pangoft2.rc \ - pangoft2.rc.in \ - pangowin32.rc \ - pangowin32.rc.in \ - pangox.rc \ - pangox.rc.in \ - pangoxft.rc \ - pangoxft.rc.in \ - check.defs - - -if HAVE_INCLUDED_MODULES -included-modules: - $(AM_V_GEN) cd $(top_builddir)/modules && $(MAKE) $(AM_MAKEFLAGS) included-modules - -$(INCLUDED_LANG_MODULES) $(INCLUDED_X_MODULES) $(INCLUDED_FC_MODULES) $(INCLUDED_WIN32_MODULES) $(INCLUDED_ATSUI_MODULES): included-modules - $(AM_V_GEN) true - -.PHONY: included-modules -endif - -MODULE_DEF_FILES = \ - module-defs.h \ - module-defs-lang.c \ - module-defs-x.c \ - module-defs-fc.c \ - module-defs-win32.c \ - module-defs-atsui.c - -$(MODULE_DEF_FILES): $(top_builddir)/config.status - $(AM_V_GEN) cd $(top_builddir) && $(SHELL) ./config.status pango/$@ - -CLEANFILES = \ - pango-enum-types.h \ - s-enum-types-h \ - pango-enum-types.c \ - s-enum-types-c - -MOSTLYCLEANFILES = \ - *.list \ - *.expected - -DISTCLEANFILES = \ - pango-features.h \ - $(MODULE_DEF_FILES) - -install-data-local: install-ms-lib install-def-files - -install-exec-hook: -if DISABLE_EXPLICIT_DEPS - -for i in libpangoft2-$(PANGO_API_VERSION).la libpangoxft-$(PANGO_API_VERSION).la libpangox-$(PANGO_API_VERSION).la libpangowin32-$(PANGO_API_VERSION).la; do \ - test -f $(DESTDIR)$(libdir)/$$i && $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$$i ; \ - done -endif - -uninstall-local: uninstall-ms-lib uninstall-def-files - -TESTS = check.defs - --include $(top_srcdir)/git.mk diff --git a/meta-moblin/packages/hornsey/hornsey.inc b/meta-moblin/packages/hornsey/hornsey.inc deleted file mode 100644 index c9d9631a78..0000000000 --- a/meta-moblin/packages/hornsey/hornsey.inc +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "The Moblin Media Player" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -LICENSE = "LGPLv2.1" - -SRC_URI = "http://download.moblin.org/sources/hornsey/1.0/hornsey-1.0_20091116.tar.bz2" - -DEPENDS = "clutter-1.0 clutter-gtk-0.10 clutter-gst-1.0 bickley bognor-regis mx startup-notification libunique xtst tracker" - -EXTRA_OECONF = "--disable-shave" - -FILES_${PN} += "${datadir}/icons" - -inherit autotools diff --git a/meta-moblin/packages/hornsey/hornsey_1.0.bb b/meta-moblin/packages/hornsey/hornsey_1.0.bb deleted file mode 100644 index 5ac2852743..0000000000 --- a/meta-moblin/packages/hornsey/hornsey_1.0.bb +++ /dev/null @@ -1,5 +0,0 @@ -require hornsey.inc - -DEPENDS = "clutter-1.0 clutter-gtk-0.10 clutter-gst-0.10 bickley bognor-regis nbtk startup-notification libunique xtst" - -S = "${WORKDIR}/${PN}-${PV}_20091116" diff --git a/meta-moblin/packages/hornsey/hornsey_git.bb b/meta-moblin/packages/hornsey/hornsey_git.bb deleted file mode 100644 index df01150017..0000000000 --- a/meta-moblin/packages/hornsey/hornsey_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require hornsey.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "1.0+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/images/moblin-image-directdisk.inc b/meta-moblin/packages/images/moblin-image-directdisk.inc deleted file mode 100644 index bcce9d5389..0000000000 --- a/meta-moblin/packages/images/moblin-image-directdisk.inc +++ /dev/null @@ -1,8 +0,0 @@ -inherit boot-directdisk - -do_bootdirectdisk_prepend () { - import bb - fstypes = bb.data.getVar('IMAGE_FSTYPES', d, True) - if 'ext3' not in fstypes: - bb.msg.fatal(bb.msg.domain.Build, "ext3 not in IMAGE_FSTYPES") -} diff --git a/meta-moblin/packages/images/moblin-image-live.inc b/meta-moblin/packages/images/moblin-image-live.inc deleted file mode 100644 index 453bc527c8..0000000000 --- a/meta-moblin/packages/images/moblin-image-live.inc +++ /dev/null @@ -1,27 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -AUTO_SYSLINUXCFG = "1" -INITRD = "${DEPLOY_DIR_IMAGE}/moblin-image-minimal-initramfs-${MACHINE}.cpio.gz" -APPEND += "root=/dev/ram0 " -TIMEOUT = "10" - -EXCLUDE_FROM_WORLD = "1" - -LABELS += "boot install" - -do_bootimg[depends] += "moblin-image-minimal-initramfs:do_rootfs" - -inherit bootimg - -do_bootimg_prepend () { - import bb - fstypes = bb.data.getVar('IMAGE_FSTYPES', d, True) - if 'ext3' not in fstypes: - bb.msg.fatal(bb.msg.domain.Build, "ext3 not in IMAGE_FSTYPES") -} - -ROOTFS = "${DEPLOY_DIR_IMAGE}/${MOBLIN_LIVE_IMAGENAME}-${MACHINE}.ext3" - -do_bootimg[depends] += "${MOBLIN_LIVE_IMAGENAME}:do_rootfs" diff --git a/meta-moblin/packages/images/moblin-image-minimal-initramfs.bb b/meta-moblin/packages/images/moblin-image-minimal-initramfs.bb deleted file mode 100644 index 6d0254fd0b..0000000000 --- a/meta-moblin/packages/images/moblin-image-minimal-initramfs.bb +++ /dev/null @@ -1,12 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Simple initramfs image. Mostly used for live images." - -IMAGE_INSTALL = "initramfs-live-boot initramfs-live-install busybox udev base-passwd" - -export IMAGE_BASENAME = "moblin-image-minimal-initramfs" -IMAGE_LINGUAS = "" - -inherit moblin-image diff --git a/meta-moblin/packages/images/moblin-image-minimal-live.bb b/meta-moblin/packages/images/moblin-image-minimal-live.bb deleted file mode 100644 index 9d7f789fa3..0000000000 --- a/meta-moblin/packages/images/moblin-image-minimal-live.bb +++ /dev/null @@ -1,9 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Minimal Bootable Live Image" -MOBLIN_LIVE_IMAGENAME = "moblin-image-minimal" - -require moblin-image-live.inc - diff --git a/meta-moblin/packages/images/moblin-image-minimal.bb b/meta-moblin/packages/images/moblin-image-minimal.bb deleted file mode 100644 index 3178fff07f..0000000000 --- a/meta-moblin/packages/images/moblin-image-minimal.bb +++ /dev/null @@ -1,12 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -IMAGE_INSTALL = "task-moblin-boot ${ROOTFS_PKGMANAGE}" - -IMAGE_LINGUAS = " " - -inherit moblin-image - -# remove not needed ipkg informations -ROOTFS_POSTPROCESS_COMMAND += "remove_packaging_data_files" diff --git a/meta-moblin/packages/images/moblin-image-netbook-directdisk.bb b/meta-moblin/packages/images/moblin-image-netbook-directdisk.bb deleted file mode 100644 index 3de2944c80..0000000000 --- a/meta-moblin/packages/images/moblin-image-netbook-directdisk.bb +++ /dev/null @@ -1,10 +0,0 @@ -# -# Copyright (C) 2010 Intel Corporation. -# -require moblin-image-directdisk.inc - -DESCRIPTION = "Moblin Direct Disk Image" - -ROOTFS = "${DEPLOY_DIR_IMAGE}/moblin-image-netbook-${MACHINE}.ext3" - -do_bootdirectdisk[depends] += "moblin-image-netbook:do_rootfs" diff --git a/meta-moblin/packages/images/moblin-image-netbook-live.bb b/meta-moblin/packages/images/moblin-image-netbook-live.bb deleted file mode 100644 index 78b579f779..0000000000 --- a/meta-moblin/packages/images/moblin-image-netbook-live.bb +++ /dev/null @@ -1,9 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Netbook Bootable Live Image" -MOBLIN_LIVE_IMAGENAME = "moblin-image-netbook" - -require moblin-image-live.inc - diff --git a/meta-moblin/packages/images/moblin-image-netbook.bb b/meta-moblin/packages/images/moblin-image-netbook.bb deleted file mode 100644 index 8cbcf2a5e2..0000000000 --- a/meta-moblin/packages/images/moblin-image-netbook.bb +++ /dev/null @@ -1,7 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -IMAGE_FEATURES += "apps-console-core ${NETBOOK_IMAGE_FEATURES}" - -inherit moblin-image diff --git a/meta-moblin/packages/images/moblin-image-sdk-live.bb b/meta-moblin/packages/images/moblin-image-sdk-live.bb deleted file mode 100644 index 8301d97ad1..0000000000 --- a/meta-moblin/packages/images/moblin-image-sdk-live.bb +++ /dev/null @@ -1,10 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Bootable Live SDK Image" -MOBLIN_LIVE_IMAGENAME = "moblin-image-sdk" - -require moblin-image-live.inc - - diff --git a/meta-moblin/packages/images/moblin-image-sdk.bb b/meta-moblin/packages/images/moblin-image-sdk.bb deleted file mode 100644 index ddb352ca9d..0000000000 --- a/meta-moblin/packages/images/moblin-image-sdk.bb +++ /dev/null @@ -1,7 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -IMAGE_FEATURES += "apps-console-core ${NETBOOK_IMAGE_FEATURES} tools-debug tools-profile tools-sdk dev-pkgs" - -inherit moblin-image diff --git a/meta-moblin/packages/json-glib/json-glib_0.6.2.bb b/meta-moblin/packages/json-glib/json-glib_0.6.2.bb deleted file mode 100644 index d96f8b3e19..0000000000 --- a/meta-moblin/packages/json-glib/json-glib_0.6.2.bb +++ /dev/null @@ -1,7 +0,0 @@ - -SRC_URI = "http://folks.o-hand.com/~ebassi/sources/json-glib-0.6.2.tar.gz" -PR = "r0" - -DEPENDS = "glib-2.0" - -inherit autotools diff --git a/meta-moblin/packages/json-glib/json-glib_git.bb b/meta-moblin/packages/json-glib/json-glib_git.bb deleted file mode 100644 index 0b32e3ae34..0000000000 --- a/meta-moblin/packages/json-glib/json-glib_git.bb +++ /dev/null @@ -1,19 +0,0 @@ -HOMEPAGE = "http://live.gnome.org/JsonGlib" -SRC_URI = "git://github.com/ebassi/${PN}.git;protocol=git" -PV = "0.7.2+git${SRCPV}" -PR = "r1" - -S = "${WORKDIR}/git" - -DEPENDS = "glib-2.0" - -inherit autotools - -EXTRA_OECONF = "--disable-introspection" - -acpaths = "-I ${S}/build/autotools " - -do_configure_prepend () { - echo "EXTRA_DIST = " > ${S}/gtk-doc.make -} - diff --git a/meta-moblin/packages/libccss/libccss_git.bb b/meta-moblin/packages/libccss/libccss_git.bb deleted file mode 100644 index 8bd93c940f..0000000000 --- a/meta-moblin/packages/libccss/libccss_git.bb +++ /dev/null @@ -1,12 +0,0 @@ -SRC_URI = "git://anongit.freedesktop.org/git/ccss.git;protocol=git" -PV = "0.1+git${SRCPV}" -PR = "r2" -DEPENDS = "glib-2.0 cairo librsvg libsoup-2.4" -S = "${WORKDIR}/git" - -inherit autotools - -do_configure_prepend () { - echo "EXTRA_DIST=" > ${S}/gtk-doc.make - echo "CLEANFILES=" >> ${S}/gtk-doc.make -} diff --git a/meta-moblin/packages/libidl/libidl_0.8.12.bb b/meta-moblin/packages/libidl/libidl_0.8.12.bb deleted file mode 100644 index 9cc9ea2ed8..0000000000 --- a/meta-moblin/packages/libidl/libidl_0.8.12.bb +++ /dev/null @@ -1,16 +0,0 @@ -LICENSE = "LGPL" -DESCRIPTION = "Library for parsing CORBA IDL files" -SECTION = "gnome/libs" -DEPENDS = "glib-2.0 flex" -PR = "r4" - -SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libIDL/0.8/libIDL-${PV}.tar.bz2" -S = "${WORKDIR}/libIDL-${PV}" - -BINCONFIG_GLOB = "*-config-2" -inherit autotools pkgconfig binconfig - -FILES_${PN} = "${libdir}/*.so.*" -FILES_${PN}-dev += " ${bindir}" - -BBCLASSEXTEND = "native" diff --git a/meta-moblin/packages/libjana/libjana/clockpatch.patch b/meta-moblin/packages/libjana/libjana/clockpatch.patch deleted file mode 100644 index 7b20222239..0000000000 --- a/meta-moblin/packages/libjana/libjana/clockpatch.patch +++ /dev/null @@ -1,31 +0,0 @@ -Index: jana/libjana-gtk/jana-gtk-clock.c -=================================================================== ---- jana.orig/libjana-gtk/jana-gtk-clock.c -+++ jana/libjana-gtk/jana-gtk-clock.c -@@ -695,7 +695,7 @@ draw_digital_clock (JanaGtkClock *clock, - cairo_fill (cr); - - /* Draw dark outline frame */ -- thickness = width/20; -+ thickness = width/40; - cairo_new_path (cr); - cairo_rectangle (cr, thickness/2, thickness/2, - width - thickness, height - thickness); -@@ -703,7 +703,7 @@ draw_digital_clock (JanaGtkClock *clock, - cairo_set_source_rgb (cr, base_color[0]/2, - base_color[1]/2, base_color[2]/2); - cairo_stroke (cr); -- -+#if 0 - /* Draw main outline frame */ - cairo_new_path (cr); - cairo_rectangle (cr, thickness, thickness, -@@ -728,7 +728,7 @@ draw_digital_clock (JanaGtkClock *clock, - base_color[1]/1.5, base_color[2]/1.5); - cairo_set_line_width (cr, thickness/2); - cairo_stroke (cr); -- -+#endif - cairo_identity_matrix (cr); - } - diff --git a/meta-moblin/packages/libjana/libjana_git.bb b/meta-moblin/packages/libjana/libjana_git.bb deleted file mode 100644 index 7797580ca5..0000000000 --- a/meta-moblin/packages/libjana/libjana_git.bb +++ /dev/null @@ -1,27 +0,0 @@ -DESCRIPTION = "O-Hand Jana Library" -DEPENDS = "gtk+ eds-dbus gconf" -PV = "0.4.4+git${SRCPV}" -PR = "r0" - -inherit autotools pkgconfig lib_package - -SRC_URI = "git://git.gnome.org/jana;protocol=git" -S = "${WORKDIR}/git/" - -EXTRA_OECONF = "--enable-examples " - -do_configure_prepend() { - touch gtk-doc.make -} - -PACKAGES =+ "libjana-ecal libjana-ecal-dbg \ - libjana-gtk libjana-gtk-dbg \ - " - -LEAD_SONAME = "libjana.so" - -FILES_libjana-ecal = "${libdir}/libjana-ecal.so.*" -FILES_libjana-ecal-dbg += "${libdir}/.debug/libjana-ecal*" -FILES_libjana-gtk = "${libdir}/libjana-gtk.so.* ${datadir}/jana/landwater.vmf" -FILES_libjana-gtk-dbg += "${libdir}/.debug/libjana-gtk.so.*" -FILES_libjana-bin_append = " ${datadir}/jana/flag-uk.png " diff --git a/meta-moblin/packages/libnotify/libnotify_0.4.4.bb b/meta-moblin/packages/libnotify/libnotify_0.4.4.bb deleted file mode 100644 index a3f622e84d..0000000000 --- a/meta-moblin/packages/libnotify/libnotify_0.4.4.bb +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Send desktop notifications to a notification daemon" -HOMEPAGE = "http://www.galago-project.org/" -SECTION = "libs" -LICENSE = "LGPL" -DEPENDS = "dbus gtk+ dbus-glib" -PR = "r0" - -SRC_URI = "http://www.galago-project.org/files/releases/source/${PN}/${PN}-${PV}.tar.gz" - -inherit autotools pkgconfig diff --git a/meta-moblin/packages/librest/librest_git.bb b/meta-moblin/packages/librest/librest_git.bb deleted file mode 100644 index 33e714d6cf..0000000000 --- a/meta-moblin/packages/librest/librest_git.bb +++ /dev/null @@ -1,14 +0,0 @@ - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.6.1+git${SRCPV}" -PR = "r0" - -DEPENDS = "libsoup-2.4" - -S = "${WORKDIR}/git" - -inherit autotools - -do_configure_prepend () { - echo "EXTRA_DIST=" > ${S}/gtk-doc.make -} diff --git a/meta-moblin/packages/libsamplerate/libsamplerate0_0.1.2.bb b/meta-moblin/packages/libsamplerate/libsamplerate0_0.1.2.bb deleted file mode 100644 index 10923404d0..0000000000 --- a/meta-moblin/packages/libsamplerate/libsamplerate0_0.1.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "An audio Sample Rate Conversion library" -SECTION = "libs" -LICENSE = "GPL libsamplerate" -DEPENDS = "flac" -PR = "r3" - -SRC_URI = "http://www.mega-nerd.com/SRC/libsamplerate-${PV}.tar.gz" -S = "${WORKDIR}/libsamplerate-${PV}" - -inherit autotools pkgconfig diff --git a/meta-moblin/packages/libsexy/files/libsexy-pkgconfig-fixes.patch b/meta-moblin/packages/libsexy/files/libsexy-pkgconfig-fixes.patch deleted file mode 100644 index 61da9474df..0000000000 --- a/meta-moblin/packages/libsexy/files/libsexy-pkgconfig-fixes.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: libsexy-0.1.11/libsexy.pc.in -=================================================================== ---- libsexy-0.1.11.orig/libsexy.pc.in 2005-11-10 10:21:18.000000000 +0000 -+++ libsexy-0.1.11/libsexy.pc.in 2008-03-05 14:36:39.000000000 +0000 -@@ -6,7 +6,8 @@ - Name: libsexy - Description: Doing naughty things to good widgets - Version: @VERSION@ --Libs: -L${libdir} -lsexy @PACKAGE_LIBS@ --Cflags: -I${includedir} @PACKAGE_CFLAGS@ - -+Requires: pango glib-2.0 gtk+-2.0 libxml-2.0 -+Libs: -L${libdir} -lsexy -+Cflags: -I${includedir} - diff --git a/meta-moblin/packages/libsexy/libsexy.inc b/meta-moblin/packages/libsexy/libsexy.inc deleted file mode 100644 index ff68c6d5e6..0000000000 --- a/meta-moblin/packages/libsexy/libsexy.inc +++ /dev/null @@ -1,13 +0,0 @@ -DESCRIPTION = "Libsexy is a collection of GTK+ widgets that extend the functionality of such standard widgets as GtkEntry and GtkLabel" -HOMEPAGE = "http://wiki.chipx86.com/wiki/Libsexy" -AUTHOR = "Christian Hammond " -SECTION = "x11/libs" - -DEPENDS = "gtk+ enchant libxml2" - -SRC_URI = "http://releases.chipx86.com/libsexy/${PN}/${PN}-${PV}.tar.gz \ - file://libsexy-pkgconfig-fixes.patch;patch=1" - -inherit autotools pkgconfig - - diff --git a/meta-moblin/packages/libsexy/libsexy_0.1.11.bb b/meta-moblin/packages/libsexy/libsexy_0.1.11.bb deleted file mode 100644 index 91784ffb49..0000000000 --- a/meta-moblin/packages/libsexy/libsexy_0.1.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -require libsexy.inc -PR = "r1" diff --git a/meta-moblin/packages/libsndfile/libsndfile1/acincludefix.patch b/meta-moblin/packages/libsndfile/libsndfile1/acincludefix.patch deleted file mode 100644 index 46a21c19be..0000000000 --- a/meta-moblin/packages/libsndfile/libsndfile1/acincludefix.patch +++ /dev/null @@ -1,26 +0,0 @@ -Fix m4 quoting to avoid an infinite loop in m4 with recent autoconf/automake - -RP 1/2/10 - -Index: libsndfile-1.0.17/acinclude.m4 -=================================================================== ---- libsndfile-1.0.17.orig/acinclude.m4 2010-02-01 14:53:35.517826746 +0000 -+++ libsndfile-1.0.17/acinclude.m4 2010-02-01 14:53:51.409122706 +0000 -@@ -255,7 +255,7 @@ - - ) - ] -- -+[ - if test $ac_cv_c_byte_order = big ; then - ac_cv_c_big_endian=1 - ac_cv_c_little_endian=0 -@@ -272,7 +272,7 @@ - AC_MSG_WARN([[*** src/config.h may need to be hand editied. ]]) - AC_MSG_WARN([[*****************************************************************]]) - fi -- -+] - )# AC_C_FIND_ENDIAN - - diff --git a/meta-moblin/packages/libsndfile/libsndfile1/add-cxx.patch b/meta-moblin/packages/libsndfile/libsndfile1/add-cxx.patch deleted file mode 100644 index da0c4010e6..0000000000 --- a/meta-moblin/packages/libsndfile/libsndfile1/add-cxx.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - configure.ac | 1 + - 1 file changed, 1 insertion(+) - ---- libsndfile-1.0.17.orig/configure.ac -+++ libsndfile-1.0.17/configure.ac -@@ -29,10 +29,11 @@ AC_LANG([C]) - # to 0. - - SHARED_VERSION_INFO="1:17:0" - - AC_PROG_CC -+AC_PROG_CXX - AM_PROG_LIBTOOL - - AC_CHECK_PROG(autogen, autogen, yes, no) - - AC_PROG_INSTALL diff --git a/meta-moblin/packages/libsndfile/libsndfile1_1.0.17.bb b/meta-moblin/packages/libsndfile/libsndfile1_1.0.17.bb deleted file mode 100644 index e46e3e15c0..0000000000 --- a/meta-moblin/packages/libsndfile/libsndfile1_1.0.17.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "An audio format Conversion library" -HOMEPAGE = "http://www.mega-nerd.com/libsndfile" -AUTHOR = "Erik de Castro Lopo" -DEPENDS = "sqlite3" -SECTION = "libs/multimedia" -LICENSE = "LGPL" -PR = "r4" - -SRC_URI = "http://www.mega-nerd.com/libsndfile/libsndfile-${PV}.tar.gz \ - file://acincludefix.patch;patch=1 \ - file://add-cxx.patch;patch=1" - -S = "${WORKDIR}/libsndfile-${PV}" - -inherit autotools lib_package pkgconfig - -do_configure_prepend_arm() { - export ac_cv_sys_largefile_source=1 - export ac_cv_sys_file_offset_bits=64 - ac_cv_sizeof_off_t=8 -} - diff --git a/meta-moblin/packages/libsocialweb/libsocialweb.inc b/meta-moblin/packages/libsocialweb/libsocialweb.inc deleted file mode 100644 index 9238125a74..0000000000 --- a/meta-moblin/packages/libsocialweb/libsocialweb.inc +++ /dev/null @@ -1,13 +0,0 @@ -SRC_URI = "http://download.moblin.org/sources/${PN}/0.0/${PN}-0.0.tar.bz2" - -DEPENDS = "libsoup-2.4 gconf-dbus librest glib-2.0 twitter-glib gnome-keyring" -RDEPENDS_${PN} = "connman" - -inherit autotools - -FILES_${PN} += "${datadir}/dbus-1/services" -FILES_${PN}-dbg += "${libdir}/libsocialweb/sources/.debug/* ${libdir}/libsocialweb/services/.debug/" - -PARALLEL_MAKE = "" - -EXTRA_OECONF = "--with-online=connman --disable-shave" diff --git a/meta-moblin/packages/libsocialweb/libsocialweb_git.bb b/meta-moblin/packages/libsocialweb/libsocialweb_git.bb deleted file mode 100644 index 3a72a5e5d7..0000000000 --- a/meta-moblin/packages/libsocialweb/libsocialweb_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require libsocialweb.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.0+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/libsynthesis/libsynthesis_git.bb b/meta-moblin/packages/libsynthesis/libsynthesis_git.bb deleted file mode 100644 index dfe3bdaa6b..0000000000 --- a/meta-moblin/packages/libsynthesis/libsynthesis_git.bb +++ /dev/null @@ -1,18 +0,0 @@ -DESCRIPTION = "Synthesis SyncML Engine" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git;branch=syncevolution-0-9-x" -LICENSE = "LGPLv2.1" -PV = "0.0+git${SRCPV}" -PR = "r2" - -DEPENDS = "libpcre sqlite3 zlib" - -S = "${WORKDIR}/git" - -inherit autotools - -do_configure_prepend () { - cd ${S}/src - ${S}/src/gen-makefile-am.sh - cd ${S} -} - diff --git a/meta-moblin/packages/libunique/libunique_1.0.6.bb b/meta-moblin/packages/libunique/libunique_1.0.6.bb deleted file mode 100644 index 55c3417f72..0000000000 --- a/meta-moblin/packages/libunique/libunique_1.0.6.bb +++ /dev/null @@ -1,8 +0,0 @@ -SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libunique/1.0/libunique-1.0.6.tar.bz2" -PR = "r0" - -DEPENDS = "glib-2.0 gtk+ dbus" - -S = "${WORKDIR}/unique-${PV}" - -inherit autotools diff --git a/meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook/session b/meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook/session deleted file mode 100644 index f72b130e88..0000000000 --- a/meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook/session +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -export LIBGL_ALWAYS_INDIRECT=1 -export CLUTTER_DISABLE_MIPMAPPED_TEXT=1 -exec /usr/bin/mutter --mutter-plugins=moblin-netbook diff --git a/meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook_0.1.bb b/meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook_0.1.bb deleted file mode 100644 index 2a5827642d..0000000000 --- a/meta-moblin/packages/matchbox-netbook-session/matchbox-session-netbook_0.1.bb +++ /dev/null @@ -1,223 +0,0 @@ -DESCRIPTION = "Custom MB session files for poky" -LICENSE = "GPL" -SECTION = "x11" -RDEPENDS = "formfactor gtk-engines initscripts matchbox-session" -PR = "r19" - -# This package is architecture specific because the session script is modified -# based on the machine architecture. -PACKAGE_ARCH = "${MACHINE_ARCH}" - -SRC_URI = "file://session" -S = "${WORKDIR}" - -do_install() { - install -d ${D}/${sysconfdir}/matchbox - install ${S}/session ${D}/${sysconfdir}/matchbox/session - chmod +x ${D}/${sysconfdir}/matchbox/session -} - -pkg_postinst_${PN} () { -#!/bin/sh -e -if [ "x$D" != "x" ]; then - exit 1 -fi - -. ${sysconfdir}/init.d/functions - - -# Theme -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/general/theme "Moblin-Netbook" - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/general/button_layout ":close" - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/interface/gtk_theme "Moblin-Netbook" - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/interface/icon_theme "moblin" - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/peripherals/mouse/cursor_theme "moblin" - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/interface/toolbar_style "icons" - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /desktop/gnome/interface/menus_have_icons false - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /desktop/gnome/interface/buttons_have_icons false - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/sound/theme_name moblin - -# Screen shot -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/global_keybindings/run_command_screenshot \ - "Print" -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/keybinding_commands/command_screenshot \ - "gnome-screenshot" - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/global_keybindings/run_command_window_screenshot \ - "Print" -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/keybinding_commands/command_window_screenshot \ - "gnome-screenshot --window" - -# Window Actions -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/general/action_double_click_titlebar "none" -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/general/action_middle_click_titlebar "none" -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/metacity/general/action_right_click_titlebar "none" - - -# UX Shell -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /apps/mutter/general/clutter_disabled false - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type list --list-type string -s \ - /apps/mutter/general/clutter_plugins '[moblin-netbook]' - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/url-handlers/http/command 'moblin-web-browser %s' - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/url-handlers/https/command 'moblin-web-browser %s' - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/background/picture_filename \ - '/usr/share/mutter-moblin/theme/moblin-panel-myzone/toys.jpg' - -# Fonts -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/interface/document_font_name \ - 'Liberation Sans 10' - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/interface/font_name \ - 'Liberation Sans 10' - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /desktop/gnome/interface/monospace_font_name \ - 'Liberation Mono 10' - -# Nautilus -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /apps/nautilus/preferences/always_use_browser true - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /apps/nautilus/preferences/exit_with_last_window false - -# Do not automount, this is done by g-s-d plugin -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /apps/nautilus/preferences/media_automount false - -# And should not open new window whenever media mounted -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /apps/nautilus/preferences/media_automount_open false - - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type bool -s \ - /apps/nautilus/icon_view/labels_beside_icons false - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/nautilus/icon_view/default_zoom_level standard - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type string -s \ - /apps/gnome_settings_daemon/keybindings/power "" - -# General -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type float -s \ - /desktop/gnome/peripherals/mouse/mouse_acceleration 0.8 - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults \ - --direct --type int -s \ - /desktop/gnome/peripherals/mouse/mouse_threshold 2 - -# -# The interesting bit - we convert to run the system as the user "pokyuser" -# and setup this user account as needed -# -if [ ! -d /home/pokyuser ]; then - adduser --disabled-password --ingroup users pokyuser - - # Setup any .skel files - if [ -d ${sysconfdir}/skel ]; then - cp -pPR ${sysconfdir}/skel/.[a-zA-Z0-9]* /home/pokyuser/ || /bin/true - cp -pPR ${sysconfdir}/skel/* /home/pokyuser/ || /bin/true - fi - - # Move any sample media into this user - if [ -d ${sysconfdir}/skel-media ]; then - mv ${sysconfdir}/skel-media/* /home/pokyuser/ || /bin/true - fi - - chown pokyuser.users -R /home/pokyuser/* || /bin/true - chown pokyuser.users -R /home/pokyuser/.[a-zA-Z0-9]* || /bin/true - - # Make sure Xorg is suid - chmod a+s /usr/bin/Xorg - - # Tell X to run as this user - mkdir -p ${sysconfdir}/X11/ - echo "pokyuser" > ${sysconfdir}/X11/Xusername - - # Add pokyuser to the audio group - audiousers=`grep ^audio < /etc/group | cut -d ':' -f 4` - if [ "x$audiousers" == "x" ]; then - audiousers=pokyuser - else - audiousers=$audiousers,pokyuser - fi - sed -i -e "s/audio:\(.*\):\(.*\):\(.*\)/audio:\1:\2:$audiousers/" /etc/group - - # Add pokyuser to the video group - videousers=`grep ^video < /etc/group | cut -d ':' -f 4` - if [ "x$videousers" == "x" ]; then - videousers=pokyuser - else - videousers=$videousers,pokyuser - fi - sed -i -e "s/video:\(.*\):\(.*\):\(.*\)/video:\1:\2:$videousers/" /etc/group -fi - -} diff --git a/meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg-7f7d50079c8bcc63874fd60a61f23d849e025445.patch b/meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg-7f7d50079c8bcc63874fd60a61f23d849e025445.patch deleted file mode 100644 index 1b57ffe32a..0000000000 --- a/meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg-7f7d50079c8bcc63874fd60a61f23d849e025445.patch +++ /dev/null @@ -1,44 +0,0 @@ -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac 2009-10-05 17:05:14.000000000 +0100 -+++ git/configure.ac 2009-10-05 21:02:48.000000000 +0100 -@@ -34,7 +34,7 @@ - gtk+-2.0 - packagekit-glib >= 0.4 - packagekit-glib < 0.5 -- rpm >= 4.6' -+ libopkg' - - AC_MSG_CHECKING([for available nbtk version]) - PKG_CHECK_EXISTS(nbtk-1.2, -Index: git/src/mai-package.c -=================================================================== ---- git.orig/src/mai-package.c 2009-10-05 17:05:06.000000000 +0100 -+++ git/src/mai-package.c 2009-10-05 21:01:57.000000000 +0100 -@@ -23,7 +23,7 @@ - #include - - /* FIXME make conditional. */ --#include -+#include - - #include "mai-model-priv.h" - #include "mai-package.h" -@@ -191,7 +191,7 @@ - - if (priv->package_id && - priv->version && -- rpmvercmp (version, priv->version) < 0) -+ opkg_compare_versions (version, priv->version) < 0) - { - g_debug (" skipping '%s'", version); - return; -@@ -955,7 +955,7 @@ - return -1; - - /* FIXME support deb. */ -- return rpmvercmp (priv->version, version); -+ return opkg_compare_versions (priv->version, version); - } - - gboolean diff --git a/meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg.patch b/meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg.patch deleted file mode 100644 index 3496c22bf5..0000000000 --- a/meta-moblin/packages/moblin-app-installer/moblin-app-installer/opkg.patch +++ /dev/null @@ -1,75 +0,0 @@ -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac 2009-12-10 21:37:39.000000000 +0000 -+++ git/configure.ac 2009-12-10 21:39:05.000000000 +0000 -@@ -34,7 +34,7 @@ - clutter-1.0 - clutter-gtk-0.10 - gtk+-2.0 -- rpm >= 4.6' -+ libopkg' - - AC_MSG_CHECKING([for available nbtk version]) - PKG_CHECK_EXISTS(nbtk-1.2, -Index: git/src/pk-glib/mai-package.c -=================================================================== ---- git.orig/src/pk-glib/mai-package.c 2009-12-10 21:42:24.000000000 +0000 -+++ git/src/pk-glib/mai-package.c 2009-12-10 21:43:48.000000000 +0000 -@@ -23,7 +23,7 @@ - #include - - /* FIXME make conditional. */ --#include -+#include - - #include "mai-model-priv.h" - #include "mai-package.h" -@@ -230,7 +230,7 @@ - - if (priv->package_id && - priv->version && -- rpmvercmp (version, priv->version) < 0) -+ opkg_compare_versions (version, priv->version) < 0) - { - g_debug (" skipping '%s'", version); - return; -@@ -998,7 +998,7 @@ - return -1; - - /* FIXME support deb. */ -- return rpmvercmp (priv->version, version); -+ return opkg_compare_versions (priv->version, version); - } - - gboolean -Index: git/src/pk-glib2/mai-package.c -=================================================================== ---- git.orig/src/pk-glib2/mai-package.c 2009-12-10 21:41:01.000000000 +0000 -+++ git/src/pk-glib2/mai-package.c 2009-12-10 21:42:08.000000000 +0000 -@@ -23,7 +23,7 @@ - #include - - /* FIXME make conditional. */ --#include -+#include - - #include "mai-model-priv.h" - #include "mai-package.h" -@@ -737,7 +737,7 @@ - return -1; - - /* FIXME support deb. */ -- return rpmvercmp (priv->version, version); -+ return opkg_compare_versions (priv->version, version); - } - - static void -@@ -820,7 +820,7 @@ - gchar **id = pk_package_id_split (package_id); - - if (!priv->version || -- rpmvercmp (id[PK_PACKAGE_ID_VERSION], priv->version) > 0) -+ opkg_compare_versions (id[PK_PACKAGE_ID_VERSION], priv->version) > 0) - { - PkInfoEnum package_info; - diff --git a/meta-moblin/packages/moblin-app-installer/moblin-app-installer_git.bb b/meta-moblin/packages/moblin-app-installer/moblin-app-installer_git.bb deleted file mode 100644 index 1f388a3b44..0000000000 --- a/meta-moblin/packages/moblin-app-installer/moblin-app-installer_git.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Moblin Appliction Installer" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git \ - file://opkg-7f7d50079c8bcc63874fd60a61f23d849e025445.patch;patch=1;rev=7f7d50079c8bcc63874fd60a61f23d849e025445 \ - file://opkg.patch;patch=1;notrev=7f7d50079c8bcc63874fd60a61f23d849e025445" -LICENSE = "GPLv2" -PV = "0.0+git${SRCPV}" -PR = "r0" - -S = "${WORKDIR}/git" -DEPENDS = "clutter-1.0 glib-2.0 nbtk libxml2 gtk+ gnome-packagekit opkg" - -inherit autotools diff --git a/meta-moblin/packages/moblin-cursor-theme/moblin-cursor-theme-0.1/moblin-cursor-theme-0.1.tar.bz2 b/meta-moblin/packages/moblin-cursor-theme/moblin-cursor-theme-0.1/moblin-cursor-theme-0.1.tar.bz2 deleted file mode 100644 index 47c3d7e8f8bf3f3213e7961f5e9456cee3b26a2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106543 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𝔥uGYLLa3BN6$uT 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

!i!Mo4oiyulAR_oYFL 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 diff --git a/meta-moblin/packages/moblin-cursor-theme/moblin-cursor-theme_0.1.bb b/meta-moblin/packages/moblin-cursor-theme/moblin-cursor-theme_0.1.bb deleted file mode 100644 index af3f447083..0000000000 --- a/meta-moblin/packages/moblin-cursor-theme/moblin-cursor-theme_0.1.bb +++ /dev/null @@ -1,12 +0,0 @@ - -SRC_URI = "file://${PN}-${PV}.tar.bz2" -PR = "r0" - -FILES_${PN} =+ "${datadir}/icons/moblin" -DEPENDS = "icon-naming-utils-native" - - -do_install () { - install -d ${D}${datadir}/icons/moblin/ - cp -r ${S}/cursors ${D}${datadir}/icons/moblin/ -} diff --git a/meta-moblin/packages/moblin-feeds/moblin-feed-config-opkg_1.0.bb b/meta-moblin/packages/moblin-feeds/moblin-feed-config-opkg_1.0.bb deleted file mode 100644 index 8d4b29c8c3..0000000000 --- a/meta-moblin/packages/moblin-feeds/moblin-feed-config-opkg_1.0.bb +++ /dev/null @@ -1,31 +0,0 @@ -DESCRIPTION = "Moblin feed configuration files (Online package repositories)" - -PR = "r2" -PACKAGE_ARCH = "${MACHINE_ARCH}" - -FEEDNAMEPREFIX ?= "INVALID" -FEEDURIPREFIX ?= "INVALID" - -do_compile() { - mkdir -p ${S}/${sysconfdir}/opkg/ - - ipkgarchs="${PACKAGE_ARCHS}" - - basefeedconf=${S}/${sysconfdir}/opkg/base-feeds.conf - - rm -f $basefeedconf - - for arch in $ipkgarchs; do - echo "src/gz ${FEEDNAMEPREFIX}-$arch http://pokylinux.org/${FEEDURIPREFIX}$arch" >> $basefeedconf - done -} - - -do_install () { - install -d ${D}${sysconfdir}/opkg - install -m 0644 ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/ -} - -FILES_${PN} = "${sysconfdir}/opkg/ " - -CONFFILES_${PN} += "${sysconfdir}/opkg/base-feeds.conf" diff --git a/meta-moblin/packages/moblin-gtk-engine/moblin-gtk-engine_git.bb b/meta-moblin/packages/moblin-gtk-engine/moblin-gtk-engine_git.bb deleted file mode 100644 index e68a8541a7..0000000000 --- a/meta-moblin/packages/moblin-gtk-engine/moblin-gtk-engine_git.bb +++ /dev/null @@ -1,15 +0,0 @@ - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -LICENSE = "LGPLv2.1" -PV = "0.0+git${SRCPV}" -PR = "r1" - -DEPENDS = "gtk+" - -S = "${WORKDIR}/git" - -inherit autotools - -FILES_${PN} = "${libdir}/gtk-2.0/*/engines/*.so ${datadir}/icons ${datadir}/themes" -FILES_${PN}-dev = "${libdir}/gtk-2.0/*/engines/*" -FILES_${PN}-dbg = "${libdir}/gtk-2.0/*/engines/.debug" diff --git a/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme-0.7/moblin-icon-theme-0.7.tar.gz b/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme-0.7/moblin-icon-theme-0.7.tar.gz deleted file mode 100644 index 361e19f4e273608ca3bc23bbb78fd3710c839cf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 483556 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%0D|P+CWh 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�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 z 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

wYe!6sj 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

q<_4 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

  • kqaJ)TbMt53eGY2OgNRYyf&6XzFLy6ffAY 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 M0s_O1?EtV70PO@#CIA2c diff --git a/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_0.7.bb b/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_0.7.bb deleted file mode 100644 index 4544603e75..0000000000 --- a/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_0.7.bb +++ /dev/null @@ -1,13 +0,0 @@ - -SRC_URI = "file://${PN}-${PV}.tar.gz" -PR = "r1" - -DEPENDS = "icon-naming-utils-native" - -FILES_${PN} += "${datadir}/icons/" - -inherit autotools - -do_install_append () { - ln -s ../apps/gnome-aisleriot.png ${D}${datadir}/icons/moblin/48x48/categories/applications-games.png -} diff --git a/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_git.bb b/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_git.bb deleted file mode 100644 index b73e8d32d8..0000000000 --- a/meta-moblin/packages/moblin-icon-theme/moblin-icon-theme_git.bb +++ /dev/null @@ -1,12 +0,0 @@ - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.0+git${SRCPV}" -PR = "r0" - -DEFAULT_PREFERENCE = "-1" - -BROKEN = "1" - -S = "${WORKDIR}/git" - -inherit autotools diff --git a/meta-moblin/packages/moblin-menus/moblin-menus/configurefix.patch b/meta-moblin/packages/moblin-menus/moblin-menus/configurefix.patch deleted file mode 100644 index 288746aa66..0000000000 --- a/meta-moblin/packages/moblin-menus/moblin-menus/configurefix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: git/configure.in -=================================================================== ---- git.orig/configure.in 2009-01-17 18:57:24.000000000 +0000 -+++ git/configure.in 2009-01-17 18:57:29.000000000 +0000 -@@ -11,8 +11,6 @@ - - AM_MAINTAINER_MODE - --AM_DISABLE_STATIC -- - changequote(,)dnl - if test "x$GCC" = "xyes"; then - case " $CFLAGS " in diff --git a/meta-moblin/packages/moblin-menus/moblin-menus_git.bb b/meta-moblin/packages/moblin-menus/moblin-menus_git.bb deleted file mode 100644 index 2d6cb27d04..0000000000 --- a/meta-moblin/packages/moblin-menus/moblin-menus_git.bb +++ /dev/null @@ -1,13 +0,0 @@ - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git \ - file://configurefix.patch;patch=1;rev=e1d63681739dd16195d005b3cf15752df294bd3c" -DEPENDS = "glib-2.0" - -PV = "0.1+git${SRCPV}" -PR = "r1" - -S = "${WORKDIR}/git" - -FILES_${PN} += "${datadir}/desktop-directories/*" - -inherit autotools diff --git a/meta-moblin/packages/moblin-sound-theme/moblin-sound-theme-0.1/moblin-sound-theme-0.1.tar.bz2 b/meta-moblin/packages/moblin-sound-theme/moblin-sound-theme-0.1/moblin-sound-theme-0.1.tar.bz2 deleted file mode 100644 index 34dcc6a1cd06c6dbc7c572ffd768b7ce2eebd7a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 422383 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

    %Ktjf4 ze2~{19fEM3K`aq~L=R752|YZcDRVICwGCVA@%P$GMPkthf7Wcim+80fH#8*bh3TbvigcOvlgnnm)E+K1^NWHlx`@>|N8h5QAu%Nv#qQ%E!)-Z!4Qpd4Euli; z`2Oq9*o0b17@zHr%i=xlJSqn701#o4NLlh%V3dJbK)91iQWT~l^{h)7dg4rNv9{kJ zVuC?Kz+(hUc`E^zA3=;b(1)o4Zaa(uOO+pyS!t}B6cZmi{4!FRJ2l8X Q23;__im!#&RZ~s5hNa|2yLx2s>??pO{XX5S0w8S+L3^2fu4A{CYcIwTB#70UmRoWFYyjkB z-@kGkzxwZk@~(nqB$qaYIL!@cZid6@R+ZI@w8SxP@Cbb8(;0d+dmWr6uj!ii=OtRn zCf4+ouNJ1pRp%%EwnkO0*2&o)N0eX*;7m5^oIS3}U5&7HXQkm&n!C2sO*q_|S(;rp`I9-ig~D(AD4cQ&P@GUg zJ1<=cB2uC3HZ3|ma8>aNXSqDhs`tST0Z4Q3@kExf%x-98{sFeI z*EGt?ly9dW`PXEwdSp~4RfyjA9dz^m7ZzMB9n-6(xY4&K0uaPOXvZn}>98$n3zP!f zJ1pD(x_bvD!+O8E9sfNAtT04qB#WmFXIF*em`vr?9QeqLUgfv4H#LiiR-kMZm?Q^Q z(+f|NQ8t&1%5K6a0VH90SB?AFdoR^L%}vMAzx#5Z76QOn6DZ*^vVI$Dp%yU2L`jTA zbRk!F4dp-Ow5Kirl?0=GZOOSf9k3NZt*j)FuKC26Fod8HBvM4tFiK+Fv+p0(pcbvT z+2U#6_zHqXAR2zYUf9*nVdoto>hJfZbK>enaxoS=p5KSW)j_55{TJ)B`y77{XiD{o z88KNevFy=`QAi|Xx$FG0GHVEBEmbpON}fvpZbu;zVULs5VE_vtyle&B4SyOvQllXb z7BR8)-I9TQ9diP+ z!_1xl9;j8l%%36giJ%b@*kftQN;xW>md14U72AG6OI3KeS{P>a;6?$^I;s){-B$d( zLF71V4*RI~dHZX%$X){IXo%=eM9p9L+J_Js2$aa+6-dCu2*hG5paB4R0mk85-I`&Q zCh&K-%P4*eCNoQtfch?Rjc)8Wyc-K$Q-$|;SgIv{(Yi2AgJ|9ehTCjOun9B>tU_absn67%#=iM zHiP^!%^eP;OXw^gPcHBptN8wJGY0@1$*=EW-FakFZHK>;5TH+Bl2~&ewoLj^9uknJ zu>WuZiIzG&44`^&no5a7**i}^Nej9@xt@%eM(TcF$62ye9rSO%{q+~ptX~jjn_dM^ zRhm2PY_Z5luxmWzQm&R<97cP1aDe5>vrjZlJwcWT%C0!$KwyIEJfG}P~Wd_)+Cp!VT z)y+fan5x4%i4Ext3FuJl8!iZ~@n=M-E(`cjdAMQ4q)M>6Q~7Alk5Rg_EYU!ip>%x* z{J9|KKgu;%5l-BZh-fXtPA$vUWzv;f?w+5ZaHM+uTD zvLw}G?&Lq%TJhtV!8-E3LBt-S`5I#H5|((taH%UK2qggn8*2gxkMJyzhRHW^0V3pI zwNk+LN1Oc84ooAwo&E~-mR)3NDW=AUI}qDDSaQ*4o_q1GNQ*NTipAYR0pB}AZ@%aG z69!&~e=>juF@Cd{*rYS&N1=w$wK<^bayft=8mnYUI85fyZLLjOr}M`aNYAMFd2n z?A}#y?$a48wP>ba8CpJNg3>K@!AD4`9@x53dXIeISJvv3f{!DyZeYC zd(mjK+0{yL+L~S2On85m9t5@w$O=FV+_Im&VSUP z*C~Ysb`rQnl>ow;*KaV~c69G6qo2+h^rjnUY(6P?pp*l_QJr!$F<;{Ih5D(UiuJ*3 zq5Dii;rFbK?eqiy>VaUD zz#~k;+Bc`AUm$)FrNzM}o*2 z+r9^g{7mT)=li{nl%wpFFS)UhVWs7vv>lXg^=dcMA9AFGu9C$QDQ*5`!0?<0Hs zXHpF6Qv?xh#RfB8J)I4Fu%54q8@F!l(N55g)|`mptisK}LGL7ZayLmj3olpA9o|tGA*>(f z1M+C-MmniZ#(NMs3$#?ae6}f9HWX|;lNg;(v%Be>BL*x$(F!Wal>&;eEHM4G*#lt^ z8TfU$8t{Lf^XW>8nHm**eJZ28Z*Bl4L{>ce$Jac3%0G$&my_tAyfRus&~Il{g{*V3v_Q zfdUV6IG1Y&bb$i(fm^DEmP7y%D8~cH6_U0WK!74lIMU~W*DoAITlV$*Ci7?5!Y9=j zE?rnTuDy@yVL}V&bc_fctz&2GjdukKr_>MjF02mRDYOG116 zLj0rcX2EzmPOC(Q!K`9xMv;{$4V}zZXuXt=t7Nx0A%GscECTTqM9L@Jh;{%rs{iTr zd|ns+>U$1>h|iywt#-P#)ypl}10ZBP@iANjNx6+&0{|9*i?RVL2d}mVHB!v!n$j#j zaedXmFl#crr>ccI+^3JnkAZ5R@xZZNE;7)9P#BXO=!DY34mQP2-;B<{Wd)GGbYtTx={12}Nx-T3r_Dr% z{tQJiAD9txSTWGE12tOJVx1PNHYv{uK!oW}dYIXZ6$dq)$2J&|pEJ|)Ri<3#EHAYt zVBW$X2Mv1N?&kEXOUS&T;mQKx_X1n;b|FQxwRWAHvL;;|d2lVHq=O!C=ojF?5Gz+C zSDxB|dK38WNc)0kbs(d3D#Po^hz!=34S<62W+r=-OTaFqW*Q<-k4 zKElDpP(%#8B;nE$Ze1ZQg!LFJ_s%|KD<=lYK{^9Ld{}5W1Ae<32pD@7bacE)^&-#g zP4>^7u(z%)!|o0MKDW<%?54%kd%dS$vw0n~qeBZV}sIHJ1lDNVq3vs}t{vhHL#>M#A7bftH_N6*8uPFI9``qGN+be+`U&?@kukj$H zlxRW<$l_$|y+;fCDRT<5;46YPo>o`5wnaXVi~M(w`vjaQMtTtU70andbT(EO)PO2& z9vGHgw)>8dn|Y7pE_%$zL*vOQUN1Lqy8<;;9^=5YfYa^g`gkP8*qrzt3IMt+e^3E^!k1nx*z-Z_EE!vNNUCltj;F7yrb+2{&==3IP zCYHXs-v%oKz-7vnpt;U1-+ZK^(PmHZMyQa~P3{gE)h#hDh;yz0LJptUcg_j~MPVj( zcz9DyNzKE~iNq93_%^@Zk^J_ImYa8ni-h;LP9RD%~(Wrc}$4X2m>x^N+WZ5f}0 zf{-9NL-KbTH~!?Oc-Un!%q|`kKnDcvZ?u3w3*I8;D}dNdSjx?Fh!jK!qh(d-WMBV6 zI9teb10EyY6s0T%z($X~cDZKVnE3vxpX|ynRaIN)mDg>56(VvsFZgv|q|5C#X&~CK zdiWd<7hWREgqLk&^0KpYT@T_2RQk(Fy=O-jGgRZBpb@EBI&2JK zJ)teNjc`AUUuycA!)vc-1{1XcZ8q=cl%j`JK|?OaVS*-j?AXR9)sVgzDkT^tA9Bkq zv0_NFNe^kmG$_`5h0pLyVF_mn0%3cNAbAEtTi&2KgpD`MhY@)<99P4oI1LuBDoIUX zWmzPQ_*#+UlftKNyweYsvA^BYG$+TIlHF9F8Kd>&9Be3`cG3>X zZHc)(>Vi}5KCFmsBP;_msVnON_vvyH{WvLofeN9j6=HcJXNNmq9t*BqQ@ z&E>gP-|wR28*#bY#bfjl2-6iTFm9CQkzpfsh2M*5?t|oR6ynK+C7Uzzxx&l13_h?b zFR9Z7Cq~tarmq}H2|_7Fu+I-bdMB%WMC4)fM+pMF@7woyAlyje*__iQ3xRbHfOr@5 z01zoZ=OhRPRdFe+t=ISn5FSn+DNz7Z?dK5mHGIA@F;hI$xmYSvKTsc&%DXFBz)p8=nt$I0lfdKLjd|-_ zfZ+=uaB2nzf@&}aAPzW-zq-r$n`*hKz#!;GQW?I!l=1`jt9xmlPsqi7`U}8SBLM*v z%9Ggp%)h2!NV8JdEfMU4U|<-*g^F?~69MgaXRw}uPzNhrm^^rK@%)FbL=h^3h;W-9 zl?u-Ot7KKXss!w}2OZRTzG_szRig2c+gusJbIN{ailOJVa4n2ymy{Z%o0+24B9)r|L`a6GG=}jRxm%y2 zhD6t~5i5s+xKZ0(>9y^u;Nbln^=8 zb)*bwIAeE=Y2K~gNImP^(HLKA#ox_p#u9#`8?%2UV1B`a*#|S9at?I}&ftI7w_}g- z4tKMXtWEmb-9p2G?96&i!KA}f87Xtcs= z|0=VveQc&iV$&4_ez+t<0^3|3IEV-*cP2L*q(H#(7X|~cPB5ihR6|E;7Kh;Q07hVn z3c$O7xXE@nsjJ^(iN{SYAFbp!%KG=&TcfNaS;@j$2V=lVC2{IqNg&wRk`3COia?NX zSDxM$XhGUB3%%OlNZ>p#{UL6B@A2&FNFqSOM%eH}1)BIDv@qoNm5=)=_*YT6Nwg=a z!ER3iRKY~#YRj-M4SxwUSY+)YBqn$1*TBd-PXx9Xj4%!;AM`nnDIKYmWF z%UXGz;|DcE)2EKjyPfLn7%r30;NgZbz#Ii4-Ih)x;R(~wXFnY%L-77cs)dfO+o2BQ zq+cMUz(67kM&I@Dw=3ngpp-EOtd=WtF^e~kwyA>A{ij#Oa~F2X%D*RmDgXoNsFs5U z3?pQQ<3s=VUYO_nBPU{DRI%!w_cnL9dM(w6k@x^OI@R&lzJs)GQ+x{X8TMkW<=PDx zYtf%C<<<+0)&;BGY70La2p>f2$=raOI^$h8SF9tz09^{ruFcaHq469(7$9O}AhLew zh)7-lFS}-ww$?7qEZc6iU)<1-c+>v@`@EGqpA^oUV>Rev;9%V45M6PYvo{1b_EaL6 zlsje7%$1>+rH5RKy%SD#Fy`H^maWq2)218_D83GsE5C)~wlP||d=L|WzJTKZaTttZ zA##qhU);)2Qh#Bz`5wHt@!5q7!T4OlZH*@$v)z^HYq+eo&D6ucE<7wI;Mn{x(dq_v zcx4hY612$N(V8&9a3V*f1e?5pfq7;P-q*@|h@6^^(xty_AsqL1@ER~9=Sl`S)`&h3 zOf^?&>s!=>VlO8ey67^$TZE0)cttW1e>n%q|NOUBrX>+5H0+BEsJZwxJ(+W+C%z43Jmm`NG<|2k3B57Cepd^HaQ{w;R%_H!0h>ogI@%s+W26a93aX zY?TlzLlr9@arm4P9H+Laq~2t{huU#X;ZUe8{KS%O{Oa8)55iZ^@?Rn?Jt%s97uAW( zTSydFy5l}I+Hp~ZjesPl3};o`+`1cX@_e=A#l!sbvYubu-RU}>1m=ky1~wra>{-A@ zvm+I!L<`&(Q1BkrAL~#Bb(_cPt^6qfHke%t(&{8d5X5l;0Mpn$e1nZQH8~0s0wOEb zA0&VgtoZz{^D!l;_1t`fjvJTzB#?7ozb7QQW+R&HpeKw9J@NxofGsJu&RX2Qr4gBm zJI))<*Ko4Wy#Fr_XR|RXr}fyq;}|rW3&uP5E?;^nHIbFb8&VX4hDOl6Ii^DU2ugx~R@Y6Kxq!nE(~H>&Uwa-^*>z+qst+6b%0MZzaKvxte(1FmN$#7r z>69Drj{W%D5h$MdPtMFJmhC!*HoP2LJ`tLE2A|RA!d*S@g`$CUZ86 z^H<9(mg#rF6o)r;n`Zp@5pP2NI3Gu9kM%i$rFAPc+J3$s({Usdt0Z@F!V6xZ2jLa; zzUJ2fpUM6zzWF5!a5M{0KmefdiFUo$w+uBw+<*2_m8M#ct!+OO`QU_@-{2UC&a|!> zgfqyRqk)3S2G6dP-E!R>^DzQ0t{%;iQ*U?6NPXT24{aL6E3_& zh>YRf0w{JVt@<(JmKU?{e%j*#XV(sR`O~g}pdTd_OY*wHTPDe(U~}nOV0)QF{WpuD zc&htmvLdGr8}jeMHlPi8}`8!zX`>&j$0 zx9|PSCfx_S79sLtZ&h(4LzinGIa-%W@=mp5V%z5cI3_GW<8{+}vIB&_w&2u6YY@wVTc2usxM^Ij~#UUo+(AtUBuH(lQq z`OMYYOmvp_34R0M0pSP0B>?120bZi?e-?Bi=n8m<&){pBk4uUGCQGhrD)1aoCKhfEmFYAU60Fa_88Ip&!7JQHRK14mh>=bB95laq6-ZBH4{g8iw{ZF@(4NY8$mmc3Kr2jcRnGY~&QH7|D&rO7me9DpyUbyzpP4cDd@8~LUrsujKU5*W27&=-kKQW>%rrO& zD?)&B>XB;=&-%Fq5N&zVffE1$*)h%MOc zKm=WrgyXJzi1=VqE)S)gj?5|alKz;^lh2sN)57}{*?3A3o6piGiB!!q+3d;p*n$-^ z)XFGoKe6|@l}rty9<-wumH$?Vs-8A_t#VXx)1ir1j4t<1Uy}58I){yni=)%h?{d~*D`X}+q_lwcfVu9Qd&})zmjIfmutAh91~5L zVzg-pCjLFQnT zdeElwT*$WV=<)p`;>{k$ODwZWGoq=~@*03-?q$UM?rV0|xTnVf3Wxz30*MJ3y(|D= zbd`Aw_heeGPL!17VdJj;J{I)w{}X`y%35Q+*B;yTUzRIL1>#c_(rky2a&hs--Ss!S zM?C$beS)mHfa!H6I9@bqJ7*B_J89RDBKFkc_gln37RlOK5CEHG-Yeb_00`a1`@=Me z1izlm0uXr=<~%A^1v)!Hdy+Ds<$iw>6>JekY z4hfY3RsR?AQ)0~7z~XjnH#K^exmeSK`m^Tn|J4M_i+7^q0+m46pO&gZVI>4ADX+8T zvUyx@nYC6+h`JJ0!|!KBy8JkfBbGsXQSZYgBQ{zfBmm3x-s4Y;1TU-@TGA_wiUyMy zU5DFcOiW_^Ld*(6$^$K#AuyOSx&L5@;iBiBw3qU|kJGM9t*PX0q9s zC8kDDaem!n)xa0QfKn+b6+%MBiG=|IC_*=l|K$DpP1DuF*hwnE;2#J-4Dsm;$aM+< zus45yyPdk0n($%ZV*0*rJQCyV&*P02xb=tiufTimz*=4d3m0}M+5Okl2&KW~pTr8- zAusqnP^CtOp2~zO-f(33msmC;_KODe@$H2cN&lS?B~?9Vo(040%&h=LK)SykXiE}p z`CAUOWIf`t=dpvq;W5~T>BjE71Zc=(QB3mN_2h^#f%`Dr&pf==MZ$0qU$nQ&)!gGE zoQH^E#yC)cjR87vTQ&6!TJ%6A0LmPqXBb)%)GN&s1M$WGPWq4Awdyns&vmSVJR4yK z#LzZ{{TgkwE)Nv|O`NL|egC%jtKw(X>hu_2)2h$z|9lSD!QIU`43-fJEe(|M#{WhK z#f^jXdoh3-9t!;`0x?UO*_>=(MM(wv2eF5*-JaS@jEO05dDh!=KUBc+jbYMl5W#cj zbrydHtG~_b8d2M;A5W*y1rYnIv{h^WT4a}DK<6R- z#E}UyrUuzQ|J_qfD~Fejkx#@nwrc<;-%xpdRsRf}`Plo%)GtEe5l3Yc$xFtTuZ|BOql`eP5dvirkC7L`1=lulY z1T|&@8^YV3LGw#g+JIY65Au7{0|>;oUVGw_LgMtFT1W(Vzh}9v>{?|YgHgbM0RH;d zgYWsgzr#@oGTjs;wm(aXke3B@iIQCR9l=Q)&ZPmXux@*mJUa6Z7IV`lfH8W=oRrY_ z<8DXPp0tfD;z1CH{2$bjOcFaLxis*8HP5CD4Xaj;c`2QGig;2vn6-l#Mfx7}jtav;msVMMm55rqZn@03>$aP71dJ9_(%}Ql zCOcOH%bqbV#B@+Cg4_$Ulanf4rg#?5D$Js=8SK2>LyXn;mId&BW0*UW!f(uG2t$}m z5HQXhae<4Mj9z_vv)HUh@X6t=NXZ^^w(VV8XC3Xtr*E$u)y35_&a(!cx#hQwV*caq ziqf@vxIH>$XMSUDZmQ`Nn|mzJ5$s{8Hp?zvo-e7ssHJL})_!`mC5iSr-P5e~vmj_} zxouKFVIy$&r%nA#F_SJS6_V=2XGr$K(EveG3WJf384?vDg|2AYS0(UwHZpkZ=2HjqZ7wYMR$>AUn>=QgBnJEI&(9X(@vb$eJq<&nQXR!IfNJ8kWAQ4 zZkU!0x*%|FL2ZD`fR1PaKgaQR9t?xvSs?St9xWO41;k)cquU9`m4wiBRCmC>QW8*+5pez2lT@oY% zb<=_JVBt_ar&U$-^qar0#&fbfaNNN`+7A4>=W{;8hkVQF*u;6GURp`zTJkFsrswy9 zfGyrJd_`A-tr+82VPj-OzwEuys(Vh#O>YP^bBj)Ov+XCKVAb+Wa^<03DVev ztc&sV$Pt2e=JqwDI*D<~s<9eG^54$KI~O`H(#*V4&{PZr<30`{^#2PhdgpOy?>;K;;oLg*W!&!D!Yu-}dMN-9@%bfm#TkW?yOGt8>(B2NMMg z>c$Q7<4jUglK6wTs8x7;jY{71WKfC7ml3j_tW*DCQY)dOd_l5LwT0!AB5xLSJfCsC z(99Jvc}|;`MI5ay55w4-a~6^iR-=uAcz^1i0G`jHRW_pL#PV+TL|5}6BY;3&ZwJ6Q z#?WsQj7r(}ANMu*JQ1PX7?Iav$t#yBT(%(RG=uO`G6R<&-|qp61|rR>W`NZ!m35X1 zSsI;$)Uo@$Hw6{dDN6X)yhS)B%(hxhS^K~rho?M2$9^vN{0w_9n{N8o4(R9fLdf$n z>$vu7g8q`@;c-DR;*i5n&tyhDtB6}#y^GqObSXG8!LB2fDYB)X|39XgQ?Sc3o}51=Etw#?f$k- zqC!W@(`vE=j!yft{__CZ+}ck7UNPqpUyMLV<@6_!XiOurKlClrd)I!x;FN)FK*k&! zxyLH#;G39(Dk8aal_X7=)lJaY4D|1J zb*Mt|dcba0>N@mXU8Eir_zK;Z=U0^E%UL$+xQbvN3jyI(gl((4X`UgJ#wTiU;5=dT zm>JzCoog2j38dEC)yO(B2H+1*RB-|zc;I1lyL@VuMV<>+e}Rs&!226ByJ;Tn%O!pJ z&`-LH$Ju~hS^#^?BEy8nqzHI)wLC>H1Bcn;%B1F>Gd!&Br115;#Jkv4`cfY^iEdGn zb_u|Wj~nPilvf^-+oT&5_;a0K-Kyg&LFpoT%egc7XKE#r=A-lLaOpO#a~+VOoa5gV zYgxWtI_?J-Ex&2HfI-JS#;={w=~Dq_Xe$R3z=>RcgFu2n!4Plxnl~-;XjXi=Iw_Eb zRP6oMkqCAisistNdm72C_si(f#BX)V1yo%U-$(6OiV?`)*!KLqn*bH95WT!Yc z+eRGJI|vuX&4=!m8TajR117aud1$U^r1MeB=~;Je!r=5m4Li8d2Pl}ik0WcU@$tH( z%ae-nR~ck}j768*0>+jPj!=+hG2gU`J8PNqDny__C`V$doPLH+PclpE=ItS4OGLfJav zK!1%t!pD4Jc9iciqDj>+x?H(~_l=7}e>A z+{77^=5R%iZPMdmTzmm(0$Mg)Bfr1pVXoD?V+IHA!=L=feFpfo2xRV`1B4)UMQ!g6 zHJhj=>@W?>gv~d=N(xK;24)(;QE}0AS2O9r5hHphChR;24-r5@s1bf;ftlN%Vgx8HFzw zft-k1ix7ff2qdXq16l_Qh^XasdDi5Xy`pg!wT|2k)|(SY}9wiuLE6;^uRs@?bA zr-RLn`J4GD-~;0A(Dios?(L-yliPNC&DQO}ycsQlrZGcfg$;nl4Z~?e95^1!vUp8`Yica8?as7T5rz9Y#u5QK#hLEsk3Pq%o zGSIIuQK6s4*5jhxu32$FNVRPy69X937=lOms zq}st516B?AP>p0WCia?aV+O{?#?xuGFx)zA#7NOYZ+jb!_7Nu8A=nkQZ1VC* z{%-s0(`+KZTDTSwVW>!Iya%m0{aFGm9F^pqvxN;9_M1V{t(`h&&L_jnfyPJ^60LCZ< zO;*q`ym&9?W1RGUtNi=K!&^2s(?Zzo#Q>GK+7l41#A+H`l2i$at6~9A3~h}Kw3`Mt z!7;X)R~U*hGL$zG8$_f?f+U&Wt0e3IFX0!-7$t4fA>#hshljuJb%N3|MS|%C-qyu@ zC2*h#co91i*awgepbZ;SCeJaTi+BBauUp1-&^B>*+^bBb-FP#QUjVc0Sg}+FAyNX2 z{7{3)kx(Qk&<2i!U-a_4?*XU_Iab^lSQ1HC46rMVlVckujH0_R%&MDkK&F7xIZr~k zf`Kd0q!teYz4gC!O__nBCXyEn7cepi0`NDkj_?AJr9hUB26tr@3Tml;3h|-5G{|8o z$%N(-oD!0on<0dgNeZe+Xbjfj`(LgTX5GJx)~03BE)if!X&CTSi|Nq&zmrqS{7?sD z+xdGvgo|c@v;EQyS%ry(s)O4IhR>I}PHsEkV zP9Ves3eAatG%y$p7&mgp;1h@BkT9|nIb8d_`n~?#khD2|18`&h>z1YA)mDxy1EIZ!PB%Gf_!Ai=;<<^kbbhOK zShe~-8y|F1Yd+9^5hD3}VO^jTu&Pd64QtTcfzZ^LNH!2#n!UKoB2(|bwVZANn|W+v zo^3Ei%+vY4J@I*G0$}c+2NLb6DQeYLir&ee*r60dM^s}K((golBclv!+^(x>PGlgi zvRkIel7|#1@wF?_TBaKNr8qk?G^ORhrdg^Mj|?4AKNp)GfQ@NfF`n1b%v-B^r{Knz zru6qJWY$3WQ@a+z1jqOn`r11CAGs6rjNhj~aMa7-9bFvtmW9&Pk}^GO)GVTfZ7K;w z=5as}J8<>(87ooP=kT&_u)Z@D#2Kc^#TTbuQ{+~p>QF3L#=!0lVAu7+zJR^Ggjb~^bg&)hLIB8zoQ_50={$LXAlHDhnxtY_#4`vVjuz@Y33SP+l$EF zRT4qLZT5AIhyLny00nRVu~HDL=gpfJJnF%xbC9= zq@?*)>j@Qw>wj302Bu0yMnKc2z$hY7d@^GuK)H7Ljx^RY6^vjHGxz){?09c-ZCv#o z6+JT(r}JF7`s738v};Uo|LwfYO8mB#n=k4{izmOc*1-5@-wT%n9*+;9@v|f_DIk#; z7!3xjsH&Cwp4Wk{Qi|yJppnCK+ZGe3TQ>t(HKO_mX}E2Wn`w=&_oDrCR6E9EU)Hh=WF}ebWE8s`9ftnngkaOG8zs)6-dGQbJ^J)W`Z4E`Q2^F z=!sa=vur#jGFnFdDBh)*H;ry|(%e7QOB}BA`5XDxjM19cUs&gxZ@NPoUy$VfSGB*o<-epI1!u0Y#avT`{rr^yEKf( zd*b19vAjU`1!DJgq-@2?CTk)luyHO15MWMF8-L>y2hO_d zJJq66-$eXsSyxB%Bmm<{j7{*gJ<|K*j+wLS#xn5{5X6>QZ1xP(n~AF)))6B$`8D!Lg)F z6NZv&=1mst#GZS^t^o{T5H`qb6e9rud}wGuZD~YSDs6b7v8uoUT0*dkm(Sl31FeP? zq>7?3#R*?IP>*Y3vvqF820{e$b%a+t;uWHlDn@o=X@Y=C)u5y-Is|eyzRVnouTkC* zmgge{jfJBT2~aIXRbm@MV#2V2iM9+I1`R|a0KkZBX{Io{%asc433J}Ad;i>l`0KXz zF8~l1Mt7!aj;>P#ix8F4G|$knS2eIkpF87a9#vFxMed!`A7=U znaDy`uHnT+Fxm++7*I%?9ZHcPDF&$^Xdo6~sRhGGSr9OQ&}SgcsUTHQi$QF{vQ=2w zp1Q0VC{`r~A1RrhUML$Qf5Qt#dAfbV+<~9G!rHaX$&+Q z6cPzYG@^5s1MUz&N&=3}{MVuap-ZrYMGBy3fIy(8kibPmQzEq!aX~^MD=3gOFib&x zhPDA2VUXCsY~GtphMP$W2BK;dn3iB@DGW+M=a7R@*Y`|qy^M@xWqCm+R-~j(k^zF4 zz>=aS4U7{an2AtP6HG&t1mU#Cp%F}yLV=)&fv_EfO_t>pB}%2M_YXZ7(*%m~0tpO; z5CaesX+vmf1FGiAz`-A#fiZ+D0%^rLbEoBlbBo;=(WWgf9{9@BWVDTZECnX92w8o*N5rU=)^~D4V z7^uHY81#4yFvc;A5XKB@NE$$zMunFoqzz~@ppqs8CMKAgXeiuV3Q3A%*W4t*q`|6$ z3J3-QN@I{Th9)uyG$3*qfyf%1p`NvqCeWH1K-xv-Cc{#tK-IXC zRtAtO5>&$^#Q?;}Vfq&M+9bn|z#xDGIF!mu3%e5_h*AJ@#7Shr3_3xW3jt9` zmU_HQyoTX}Kp~m18dwX02w*12A#l$i537$Y^rGmtK#V-p#qy2YuWh;TRAYxFosErZz_ZjKytfJB$e|GA9t;b#RhoR0}dUCoH!E_O$`hv7kS8fR#&x*ryR`p8JZ~FJx}$Q$qOQ7 zvCo%HiEjNo&*)-$&_nxI4 z?O)q4ao@51!ZapwpMh}vpWbS0PzC%9lUXjxHE9qyIUt8GsH~8e5A#f)!QS?jl+SF6 z*b@;ywB%&pvngtC9u$}-ow(py|9eV}+A}`lX#9@f9}$6@DcN!{COl5w<#IDXf>mhe z@nq{Vnx4RI+AuJc~ufTNW(--w;J|Ymo@p1p+h@=Ic1KX`AV1 zy82&LljXT?jar}^4)bK$XH*T9B3J=r9+I6h9c){B4wvtG7agJ)Y=$Vbr zqsOp2it+H=YmC+FA*Sw@vbLhT$@O+eubYYh-r&qqv9CfUv@DNH77 zkd4s9KBu^RkO4=;>j!J`;Dup`4?`^dO+p}nO-Smp06hQW0Fp4C*Z9n89jzijw03|W z+rDa_;)IcI#I$a*5-|LfCC42U6*#WGMfU{@SJNQ#O>>|Avq$ux^9E;Y(ay~6?jY># z#eGYzwbt6F73f}NF8Lhqj`Jb9s-~J+t&TKHqt~9G<`_QacSQj%FUBeBjllB@N29JF zAO}BfH?hg&lP56LFX(HmbBVI5py9!J$6t0_SY#xjcGsTvO~B~(V6b6puQ&nO-OHpL z9gUp9{dSnXO=a_Mao1DH==EwiEsjtv(>dY{ zpj1o#WYWa38s>w`+!SR5Hi%;wh#Eu4W)HLmHhg6y?4KoBEzwUzTXe5R>f@)=zX0K*au3_cECOEl6jf2I{HkP+(+3_sSI zl2~!2m7oJtqs`?qL$sOc5I_u43=$F{v4docq?T4V9K0zj{>v~|NGKW*K*6yp;Myw; zN^J%a0C!4K&os3ayPL(+DT!iM006#V31GxQx218|5I`=L>L=Oz(CxN6yhA&OIq_Wu zzKb(BcYi5n)__}>Tf4`5)5bxm&pgSIs}9v3rk6$|W!Mh2RV8ma_~WhSwy3%o7ofWE zHt#=Mhr8z#0Mz}yoyQC%Y5v1rzBs(pv5tTsptRv*qVVFmGNneT{Kx%gB@s-f#8Ouw zcYv{0(O?M!Q*1)nWA9N$Lv>k~71Bh|B7i@>My#w;Yr>-|DL3-ngj};XcN^?*sp@Bl zTsuKA;QrQskvMI>l}IAjyA8;$ASjWFp6KDN;44wd!B>xZh3QK0X0^~Mcw-K(1OTH`jr?~a8{T#=B+sDHi&i>#bj}^ zM>db81oiTL>4U&NVqQV+Y{H7y1M`dm8VqsM@^EM-U97HAONB^bWBk8o&>HLp3G0xE zzBC*_Qt!D(f&UnW?}-&I+K2_I#^et|E_z5v4S#FpWF#Y1)&7rHji5*tGho!VNr(;U zfT*uJs3Zss+-h^d0WPR;11`s~JQrgdk*LeZN2VfZcsrSFa~rTR0OQ`Gz+sw%bIyT{ zfH9+Pq6zgRC9SedNg#j<04aftQ4w+gMIW(|L;POO81XO|7vwo}bRL9#JgIpj>PhI0 zIV7SCC3r@hSlTi2JYJ2$l9y?UH;>!2Xq?LZIP4AY&W#2jV-bVkF+Ls-eT@f@L;*lR zpqe6>k;gQkDlxJtgrS(ZFX=F&{Zy??|8|~!nm|0HAWGlv(djT6h(eG{j)>FeOqmyK=cMU7E#_<>& zPSKsXW3u?@=QZAZWtH*^>n5+URe+Ff_g-fbSbiW94`c}EuyBAe2kj2ioo14Q8PPj| z=tH9VW6}ugW9y-mzn=v2uyzxA-9vQq{&a|0&iTEVHoEm1C5%Qu=sfpeeBU+KBiYm@CsdD65ufYki*LNhjf{$BqdXGcST>uHL^r!-=;1WA5EX zPHgmCVEg{&Ij@}k`qSiT0t7L}01yR405AYWrrSaq7Qlgt3P8aiBqT5pNJ%h4Xc_?r z&#`;YX!Kwq@NK^c2}wZ>e2i04Z4m+n?4$degAj0i1y^_~sK_nFf=U(hMS*}!35h5& zBLr1x3ABqK!4#LK+aR$~)F6;R;BcG`IYRncA*MAaDGVTPazu%fnGrF`NkRTcCMHO5 zm1ZI-q;ivD6JwOD76G)x4tN4=7&O~-!DPqf`LCq^enw-T#Ickm;K2Z!LVQzFc%63H zbeLlM4)A2ahM$Bz-7=RXkl@jUJ_on&z;GS^ls;Y3ObkLCLQp{fHW0=^1Vkj_1U4ij z;sg;4WB}YS83Z7N(gqJ8+QYzJGU0;Ho20N6HE2{F{P2tp=J6Nn;v57n5cBMpbTSMFjJvS~?k-VeF>@O?Iy zrf$Bz<7BkN3~i>{0^npch#C|zxM(2&4IxAe!Oh&Q8Lw*+uuL)kM<9_!5}k-}K7s@X zK?n}c5OEM7ICzLqjDlk%NQI68r9f^ivdR$3M!UM{2^~M>mX~PY(#d?y$w-+AwA+-Y zJcY%M!~Ai&u16*4yBAlfh++&lPr{$_&xGQE-X$EFjfUOM{tirQ*7MY^8Q4J?M zvJ{INCexvCe?BEtIB>x$7iXJy6pok+N^0)+ROGhZSL34Yu!Lh|tPPB1&U*hD0YA18 zha8nyV?rvVg`fz87a@Ce^!jPxs-bOGaaMs8gB1u?aV=R>6#{u@sOoSsOmifXK+rH= z9#>kIlj&A7)G6fMt4$V3Aps0Q*yxuiNbE7*7a!_rnEN-?IeTLWWeiUzsrBDBlm285 zSjcb-JiYax45ExG_fCJBc+0#3I>cO~C3CV+1+kP!{w^==-D%0W*sqACk?)%~6d(*G zg8CZ*$^-}y30Hq@-c&P7+xJeZgdvTB?speHbVcd7Sm;PcTLDTQVpUr6*%F2VLmi76 zfha)Ryqm8-6bYR2(q;(o1Ch|p<=HIuPzSLSwt)YsLNo1|*~~C{W9Uxd z1yr0}R53UII$k#tH9@r}Jz^`1Kcy~ue^ybklC~!`P{WUxX}Cp0^q& zTZer+AS@giLPW9lZ(M3sgHQIZ}+kq#V44tSs)8%`)EM3L>Tk+)`{?~uD| zpJgq1lFx-O%#8J%5Q`;UxUs~;y`2LuimW+ru>x=adhBzh)s6ZD7MbLh770eiKS!EO}d)Q`%`-C{q<#1?CrBKjK9l z?XyI*q61wC?DL716*NJa#wRh~ZL>j1KK4agqvEI2%|0Ft(6~4;!+!i}%Za!B{!k~X zGk{hwEDt*YfIto{a%|!NWa_RGLFaq^1ciU{a(#Za*HV(^>V7;t(ndd3fdFXxMly`A z`|c_s24m($kZNhELo!T>fFCGG!?7vP#Z{az4jyZ-+pSM;`@+oGX# zeD*tu`fxbfnM;WF{wg^?WBxfavVsn}WGde21;I^Zz~F)Ba2Ya^Kjn_c>#uuH9gW(< zxxVr@cG(Ip63fy5+p4P+H2()>dmyjud)n8$Zyeiv3|@VVbr%kUsM0V={CLx^Zw)wG zjpM4usgzaW##W>S?f zsg(*r_Av;6!RY8=g191JAyh-AIe0FBfCymj3eZkT2b9#=RHPz@OGKMsF^xMAp{mr# z2_kJG8>EOSfQGB4G0jYfP~w!zqI9v$2SXqvp-5nfG}@m}6RJOl?ylC}GV>kRUs4LJrv^}i0QMOH z_rTw#ux4_&y~(Im0Kk<@uhQsu?;9Q`Yl_>N&~#o^mDrACIO7@$;ECV|lT`orbDFMb zW*tDrSsD;*x)(Q`vXY^UV;GT3NrMn}lM5tx0^xV>y@G5U^)etJuGAf?{>s+?wlc4G zt=`j}?#$uu-Y*3QCi5Sk#MIW$tf_HkpmRBT-Xm!|IOfkEp7dGxS-SCa(jlk6wyYLr_O?z(SfgP*9Aph23tu7OQ7%<97dD*xb*xMmP7vl zaE-vS{gmdTyl>l}O6$j{vQHTO00N1Qof;kj1;dO^{i8Jyov=al1}yGTuFMlLNaFrS za3=TjY^M*zcosAjUxTr^EiJ{nZ~P+>Q$M!B7L?+HLONnbC7;UVV}7deyI!*nvu{V` zmd9*%-R=XHNgVasx5mR1@qa0U*aFPWydLG9u9*I0L_iFHqc`{*0d{xb zfa1|Bd(dU)nsp7%VC(n~^BO-_hxYf z5))7a2rM=Q7N`LT5ERIuyhZfUK9s~Zy3N~E70}yLlvb%?Oy=U`Y;s95sF<1vL=gy! zbU_J{rMUqR+=4*TOo=u&;3N$)$udZpBC#L}0jdF{GC?8wLV9=kilau6Vb2yMG)95+W}rSYzt zYa3Zs4oKbxL<$QG3XF^i4h4Z284eskfw)6Jz<_tsfS93K&bXacwp!kghMfT*Z~OwB zayW6wAc8Ou++;x9ayA@}M27<4gg6|C5FkLvM3PB4Hkt^Ch=_<;BVpm2+srh9!vvbVSq8Z0XEucgKRNyKqbC4LlJwoKeg#&RWmH6L}ZH*C7~l#3R248MdJjkB&x80 zR?I6iC@L&aPDq+)V~LYwT)HR{WNQ)#86mde6jKsO*2^LqRpwJO8*?&6VrFKtR*u8l z`?Jjfe*foO=KX7e;(5ru_HGaJn9i9=!y5-~;f87h(Q?_e8#skFkYTYHmpUjF5jluc z5fl*Nz?5-ahQ+VjTdL?KUIMO9(AP6w{=twm3elK?2H4BOA-Eb(G|5Pd%TXn0=yZK= zUC3^>!T^lR{lf5xfnE1p3^ar$3mKZrYt_80{T^6VFlf0+nW{hP_||0$h-zfd%(j*F zbc7j!Y>7Uj7J)6%n;8(pdeGhT_ER|YN7Ae4T?*pfphIz9>H!7X*vxQ$pa zdL+|5aB3>Oza=zEo0GU#Sgj=c{Zy8pU!DAR`mwd~SR8I_?VdZ$83biX@f)z-f5xN! zvdC9$jhB{#gwV0Tg1bTvzavW3&TXR5%Ov8A7ZY1;^hX%PXEv1&<&Y|A%%^8mLJ#g1 zOWSn->V6L`+;mu8iBG>_#DkjnhWeGa$wVl-N6FUhT?8S3ex`(LdWD)8gt5j)@R07IBnr&)^#C-shojDw&d!w0lgnn-YYWv>zE_z~KT zlF!Y2x`e6Oci$JV9Rf9ee{*TxTM9fCjIfg>K$ut2e6ScD$D!G8i&UhBZTLIZ8AU~Q2?trjKnt7EJnimak0V8l zSEK$Vpi!XSd=vq=7omD+-^J79=t? zg(OEsF=iE`wM74|K|H!3SfrRQ@ogZ?3IBa@hYJh-yuDRf#0#Ma5)AB2HR_boBt>498AHGMG{UBNEr2WQzEegK)+~ijE7!35})J!+-~KXclrqrg2$@~ zZP`}X;`hBQcSFN%taa-9bKGf)NqQVE<&Le*&E?_X&d8X7=)FLL9$p|3N$lWHfZ&`k z9FSJ7LZzZ~zzUFPD-|JwRe)reDnMwEhCiusIT9GNTsQc)pv*fk%}YBhhkVjlQJKIj z2m3Yr{VO4sHe@wym=N_g7?b?b2?x^}()MU?_fb+nAm|P?MhGMuCc6)*fbu{L69y7M zq{LiWPOnI~1cEMFk3b}k=n~R) zcNA)hM1cgLS_?!E>u*+}qp8?FC@u*Vg{y%tqK_4ND5aGk$x(bRztwA_#;5zR<>)8^C9%UXgDJGYqp@K zxZrHy4gkQmK?0<(XxJj+Djz)ZJ5KTteLFmsYbBAEv-8I?jROc%(7S zVeaXy7$BQwU>r_7@22))AeP1*j$r~DebrgJX=WJ$!y(4Is1TT3EqVdu(nV8o13@9- z0z^^rM{3&I4XvP&Lz|YC%@F8C3D8v+2S&s+U93?+QH34ch+&@10yVQ%H4-&}a^g#0 zQDEW5`xcR5&M+^Uh!jG=(v&zOF!jBf!~z+!zD1fCTF3#ZsQ|}S8@Q+z5;xvZvKJg_ z5b2P}&b7#prCT}*Qbs((!|()28hf&#nz0z`0`{|L!s4S2GA)*dUw`!P{fGSYwdy2p zGT{OOXb3jW97u+32x_-haKRR-K~R#A(C#9EyJ$bQcf+%2%>SRC#@0GNr)astI|}kd ztlT_IfesTgFh`K^^&m_j(n27TOsYB)_C6jcJ9-fT5B#t8KN~RrgQg#C+K(AosHIS! z|JnY_U*uZ?|7{oSSqJrw?@}YW;NckkuRs&x1p~_+QCNtjU`RikwaphF{qxT6?BRZ0V*tdN<^h6Z$(Xe` z86zhJ`$!f|p$nks|2hnqRcf(`vXD)RL6cSGJg~x~MJ^3TxZl73ztjKZep~D>uYs=P z`)%L(7x#K%CJK*GKd{NI98kMvKeYL?lEHy$;Ak&xl(iYX7ZM=^D9RuZ2x$M+K|-)S z5Q3_Q1_$L&+GRK#^`}eqRIn78I?h12yV|tG1`~F2jl~Pri*4BO_k7(|+YTXpy7j{u zaMmK8*z$M0+Vo12urE9 z04f2rq7Y3YNQ6sHX|~3}wY7|g4Gd~YO)0CD1}#)X!mgh}+^W&Wh=l;fT?&Mh0t)P7 z2uKBF7^(3$btIJurU?)*7TS<{jGa^|tuuh#H&%qET7XN6V1=Nhm?C(Fk#ole#x{IK z+UOX4>7QV6jS3}9RFtA(V-(ty&KJ)tj1cW)2v&8g+~c(F@Q+h!qkbMcMzfG!};fg%pvbTnP*a4HHR7l$Y!% zIt3!(0O7&}5JEtN5Fn(9AtK-e$3hWx<;02|P5*6wofmHwq zn;S@D5HW;+0KtV`NsY9jC1fomV~L9o{%Rf(L&8UpE~pc+^XK}xRC-u<_!tg zE9T7Ffs!GiF|yJUA&E4mm=;VM78!AML5419D7GOCVrY2gi@88KK%g4cFN$kWkRmbI zHAxm*U^bf&RzkPLj2f;-h{}Zn8ng}u-7^+IH9tz&05c;@%*<IWav7Z%hz$k^ z4B{iaGyx=}P&xsM7^tQTDw5uqKifsXy4!VnsxeiCcOpXvTTr0I+Z9$a-DYaSlN8HD z(IExPCfB?eKmj0@1d_l3+hI>&0}5<@17J5JBD>zsC+SlpOHcwRFzob}3zC`Ij?V-p zAW0-WLj*Tf$)Z!JKuVQ3Nlg_iO;x0&0Y=6mkz!g(8x3E{jMSGrd_zvGtr zF;$qGyoa|3bQGx7Y368y{Y)(cY%}Wq! zGmP>lL<4193X_I1PVp=ZkcDV0sbDBSjzW19XkcIRb!5e;3bMn6Yzy1uQzSjmNvr}C zcs6d9G6N`eJ$>226yF)t;EYyn7lBMm86E|A0* zC@PZ}!HpeG&);_%2E}q)H5demOAk9|IJT6ic4q0$OsZp|q__4K9l4T5lxFdiAOufD-0Vk(66a2hB1^1vrPz@0!7EoGK~r`%qFG zc>u^vWs<#F1#x5Z^CrUTpiq=eBR0m;+5G?eBT@IEBVK78eZgl71~JG&@z$HaB2^5VA=~Wu8q>?N&Rbg4Bb{ldg z4Gd`)3d3cGYWoMW_kvbS}H+Io*3VW#xvDr%V_dJHE{QtF=9}`y_PZhp1pvB$hcsZ|I4d^{6 z*IFT+;ndp^>k2Aqn5`x-#%+U>q=Gq&oDQ4efyyj4oW)g*Df9b&KNj6H%w%8*bR%G- zQr7`>0Hc>$+c+vz&fRwUEvX!NyJvo%B~c}@^Phiu;I+l5vJ6-hz(`jYMTklSvwSw0 ztVc)x=5@;ikK#XfV2fv*PN4PXas-~qTG+UR`-|;H;%rRrw9r@kUx8~C{C^)H>kXzV zVfFETDMm@iNpfstYlw){wF6xre7=m{|BdO`ZL(!Z z+YLM(X#@)#fn{t37OmVZ?{In_(B;07A01$AmG=xG+-6WmE)A10#)k8T!@D8a9z2~h z9NTR1Q!f(X-(8Gs;_0Qfl&H&qLptn9)+;w!wxua*9Zz<7%SNWc$>PS|(#*?!clt^@ z(os1D7P~wgK`sCpH1n5QXy}y8TeV8LKR%cJ_2W;i^{V%gJkG*Srk=edgWTe?jFW2@9k8wtwj{CC)S>UfN*`Vbgi3BZR@f z(xwZc{H~-U7R>Wx$YZ9DH=F4^*^6lHx99g{VJ^3Pki7Z>CNfU19X zXY+ta^3Dw>i6tz{!dk#AiELDETbPO@&c7`-CyQ%HsSP(PdWU<$#(ldgm({G^2bsT) z=;M3QtL^g4cYxMJS5pxUsfdW+U;*tW#Rig-95I?>P$4;XtZR4*sY;DEja3T86r|NH z69{h6{;chlD5+dw5djVz5(Na-r3&Gg!owDC?(GeeKv<9oJ6rs@*#ameWLQ{`iB};g zVPt2daGUjucc|@{G+Ty5iC0E*0m*CORLLW_$Y}UF^X^sYWu&a^<>CZ6{t6GO zWGbg)Pcp~KQ;+AM(7KSs6%`sb%ogG9G0VecWt9Fhc(u(MzgobPspA^_{X5|E#mQG7 zs-{eGTiJ_xQUfE#r~#b2~OCAp?b~Tj_loSxbDB!l9kH_q48brE% zx9R2X_bq=!%AZp`N=Mf=0VFvln9?LP2$fNahLclt3Plh^Ax=pUFdAuzc8J!nK%<_b3qI&LgRu)gDn(xsf3lr7P?52 zNEnrIP_K!MV;GxBw1zRXF@kJNU^2W428PfKhCvJ=p^OSVhy-rgju*4H)xXZK(bx{1 z*q(jMcV!1lsZ?C=_sEp2U#QPni07IS#dn!G3T*t$YM!q?}v1IYJYNNFGrRU^4i+ z3Q0{gyNo7caFc9fO|j(%{3AZcj<-fL8( z@IeI>Bml+ka{uWmwLn75%WbUy07n8c!U67|p&)DH@{Ctp92cMJg@@;xg}=-82DX=zb_A5~4CJwV?wyi0Zx+$Yo2r z3mi|a;XIcMi1t)`VlAt*XVO$uh<^82Hn{$nm}7*nCnnEGG4pv{62Y;U!=-L(*iig+ zD7m)>Fl$~7&J_xOf1&BO+lvxArV@Zg$(ooYgP+PT1Oq5a+9xK66FhspizQR3xZ|Sx z#beJbpqw*X6 z(A3i{0`(UQ&QWRhRol3fY){Y4vYj+|{A_}C7(3sGMsFUIejZo*ov)KuRqm0@5+Q<- zpVr%M2+XV6U~RJO`}iGdQy{EylZyOi{G~jFL*|O1BIRORa1j2D{911;sBqk)Rc}u1 z1c@9=gIF2&jlO9VSMtZ8b_xz?=-1U^Dv9s2wPOY1Y0Zlo%KT%o(m)tu-C~HN0|I`; z#L#@yxN!$)U(&5zLrjTo<4?Y04#o8 z)4&4}6|l#kLI@GR=skR0wCuXwed>a(jo*0vuo+^wnF!!uTSXnRKOwy`n3I? z2#9B44geCQ+snI3Bt^j0oC;%taS-m*>A8HwN7DxKcncpM;pF&YdSeWtSJ&FbR4C9m z9$JIjT_uT5YGE={fTVET1x7(tar;kIn9u0l0T|~Mx{P~Y(4w1ez8bVRd~Ey@;;%QD zPxf51om;y}Y^Ejm$QaF8kQd?s!fa`K6fp$a5JO1u8VR&2jZAZK zLYrztlM@E3!ca}9O$~&YhSG+RDM`OW@9ek?N0;|`JB52L%7#IA0SMkF+{jaBk#!fM zxTu0(KmP7HodX%~Pqgc+Ypm96+=lWK4)?UW7f6~u4=%35zT|Y*pJ?6;y8T1q>Gm5p ztv1egG!ik$WX$kj{i!S$lp3Lx8gU>gpn3%-Pgp@Vh!GwWhaTn3gkgw)E@g6e$R8$w z^5fU4+C}2*)vT?|t=7kJb$X3Lwd0)SfoyL)YW#RgZ@G8x1-1$x(+d$>uQ(ql=J5m9$++n>@{JVcR{2-0005O!7$aBU|% z$4%cWIQR7|MCAFlf4!SmmWE!vswOZr+U0baDDT2-%uJvg(*g(pSfD`QAQU1H(%pG~ zGYLHI$}foIXb+}aZb!oWO*d%VyuTYBmX-ou3A`ZZ zJzR{loIxZAlR>uT>)){x3|W9I1h)}^FlZAXFym?PxCzeggB6HuU4gc0AWLA+L_vf~ zJZG0AFPi;35n#*#Z<)Y5m|$Ydd(mQxd`c(&v~RlWdTXNW;Nw}I4B6Rr#d;KfUUQoD zE(P##Kj$;W_&yD}%YN`AlDaY~A#X_>#~I0NT%Q|}TC*6_Lur}mpF}7mNFjj=7z81v z!Id)kUh5HWlF4fF6vx|HHSxd9Wa>JqLFgD6;N?r|_yi9l!{7u&L8I9roS5i)I88j? zMb?>9izK=(#sLUbz}#NTBc5!si!J!wKEhJ-_~m79J6&$)43{Dz3gi2}`K~YA9;-Tc zmSr^a+-izxwJ+ZR_yyb&iM2fCVQ-z;3<9eu=k`RY-B4r0usZI%Xd#&GY~Fk2Z5Y+w zmI+Xai59P=TKVxuvTOeqtab>nmN`Y^gK`TEnz6+-Sf5s<&UPiKnl>;}hERuLder2` zQ}OIAki$tW^OO;weRwa=(UL?l)19eHe-@|IA`AV*cxyJF4Q89M8{{=+B7yea=4AX{ zQX}EMLUKZPOGwGD)H&RU;=GiKPRK>TqV{91%gmjOX2k@U&s^zep+1@n;kutt4}TP$ zD{|C+3FNt?m%{0|+rejb@nB4Y&Yguat5h6IPHLL1%~{El`Ce0xwhR^`RVph}I(B1L zA;B0a2JIIyrMX^>_z}$xwQ&2UYA@3ejD&PEhCCsFcF?S3b4cT+s2{*`xrSf)G&(~l z9X4SNkR}T5SPplvEav@PSaL(*N0B?S$h7;>8abzm!w}%jS>!0IT2;}zxg+`7D^Xyv z)9RY{Q~E1BS+(!5Lbr=JGoOm~pe)#M@hv1~zgq)Q!2grRlO5qBXRH11Gm7^vj3D*U zJ!{k!TrTZV>vK{t>{%SJXB9g~^p06;?0_7B>0KDi_?Hul%};Ba&d^C`ttZr=9-(fN z_D&2ut8cH~?y3j&0sni9tw@D8MmFIS?bs#&bC%8^80F3YO6uji`&`mQ2tCehw5Sj1 zh=@0{VHjlAdo~Hk0uF1-;CBAYSEuP>NfhmPzbA~k*ZOLy3hT)YG|gp7cx&ZgRcpm-7*c(}>KH39iC{`nsrxo9f#8`TuIEgad9mZ|z8pvz+tFysk1%?lzA zsUFjqmw+Sf8m~T`c#r|a$iY;#A;pBDVP9)VUz6YdOW!t{{MMq^!9(lSv0$L!H?da- zZoUuS;qe<+}95$gbw1{I+LK{uc zB!alW5S|1Lcte3U3AlnFh(ltChA?2^q7z6(yMSnIO{B;mYM~SM2}nJmpstH9DzUnt znua%DpWnCIp~!iku3~8xyZ>j=$Xp-`kVV(=BrE2w)<(z>*w~fm+G9g(6F@f8Lk1?8 z(`W|U5ZgmT8f_-R5H2sgz4!O+Den8X1OB@$x7D=mP+*^ zze%8Ol>B#nWq|TJ4+}Rsd`@T0{+#B50I6dPwYdXqV|OnIG@Chs2ZNc}&ODdH2vUx} z21$xsW-;x7NU7E&T(~>gXdX`gOs~sZ+2LJ2-(7o0592jf2|x|@`!XWeC6~SWM#PvHUTyWy4g1!>qqseNg3Zed-0}$2Pn{luzk*7N|=xwBLH3Ndo#!sGqt2L z01ml`4N|ehE)##d-#O!d%ExG(6!l(zD)JkGA|eaMA^>Euh z%okI@!#oYUUSCL16dCHMvP&A0DTSH$djj(U7Y}R9=D66Ezfa@ z+Ix4oS>2wqy$?aoxnS<0pYczxk!SGeel5Udn;`)zkO0I+i6dX`z5j=QzK{_&14kH@ zi~%5M0~Be{C&inr%g(*hZLz&dM;I!f3N7BDSZT4eWkOq=5}uC0N#{w3l9`@gJv;F} z_2pYm1#kR4M<)eV?Uc^f=wQM>i{CFh4zX)b%J@3`Pq&910SEeG>HMRp@_Wp;jnXzy z7O!E}udKch3nm~8Vju=$M_^JGsSS+-2?4L9l5!-Ne@Ox;GP?(5KSpE+sKvyoO z0UX8t)<`HQU=)?>*;E$b4nYEkcU&hah`SoOU=&nH6CPIOVO+f(>I7%4PXl;!XJ7|t{nFe~38F>s9vKmNj3>d{?W!Uh*k17gjOc*%wTxgpxXKrmqj$b3R`|Y-BbbpIqTM>@oaUvgpYS$zB)o z8e%3+a#wjUflNYKVTl1Egdn(J4STBr4UR)Pv7n`hMJ-LSp;pMg3M#S4 zY-1=Zl~97DifM`wKtU=*6JVw>NivF%N(u}M1Yq*`HBmgFdIgH(W$2tSwAkBYYTZP4 z3ot^Hk)lvdslyv)d$mP^L=-v(NtEVH{!?@fJn05*Luu7eFuelv1_gy0Qf#~mQAu&1 znbJh0LGXRG0!;v7at1{fm9?@KDPmb6qC*EJN>>m-q=;}N!xr0AG)M$t<_LhgFmxx3 zxX)_hs!#4@6kp{?s_NCLQH;Zp1Az%PAV1=GR4>Dwn zw*>(AR4%2#sM=f3s6Xb#3`|+;F6UyXq#&1EDO#eYGy29P-8_$RCSt|;!+w|LZHde zP{uJ0q_Kk$4-Br_O``22Nd+b02~A-HutQFoN0FPyh9x{ueDbV>HZ+?QMkHbpCfM3dq>zxAq=Y23 z;iM%B^`LEAFwdp|lB!`6M1+=nk{E^2>Yf%mR?{?`iqKkPA;S?6vd%&by8;l{+G#d6 z0}u@eZGg};4TEWd8UdyWpc`l!Nuh=vq9qWRCeYXnO_Vt8Enfo>cr!yX<4V3vqeGw` zD+xK+EqBAPmV7D@lA=hg8ajXn2m%0@#3ZDN38LCa0s)BdAXJxdA*9nxYM}xED42~9 zB@0d(LWbRj3W98oMcy5k!~_E}%pW z3;Que_$pEi>0XL2#iulrXh~!eX&|y9+V352R4AD1K+_??bU}1kq-yb&?j}JcGQhBa znl*^I@wv$-!gW(_C>|X`tya0YRkSmZFfa_D;|SVGeg6$_S=O5M z@Y(*WkRF{4r73k?lIA@F0hLw@Ikl=tMQYxWX>9Sh6Mn@owI{&0^+z(4l}e6}z52fsW-vkEgMj3* zaB5(_BBS0PbY+|(c~i;2rjeKB=12ZDF^R#kv~fmtmJbH2{CQoxXZtoN`JJR>V-?g) zE!OF`2Y@&Ng^+?Hb-X&YIFc3i%L_wST&hY+)82B!P{F#C*xzZ{;krnnG*spV;A_ByY83RSFudkM(ok$p;hmO&g(#^&LYlj?DByz6%z;H)frJRg6sd@ z@RmYL4{+Ma@v_ONlUu-A0zvzRI{c^NkesCAA>WJJvXfO(2Y?2~%W7{$*&#Q4w6EV= zqy;2Jx#3NVA+11$5wzk1P3Xn3q-8D_3e2@plnd)$PO2lK;p9qiB~ZG8Tp-u<*B z2*~VRe~0@}kQq;&5)M9R33lfyqySo@hCGHAdk227L;;SgIEHg^v-}`KRrffVOvcV} z54oF@%R&kLCqmwJ0knHm!#%WQsL3^V7IbT=wculfNuD=ZrU)fOPCGtriy4{pCw}o8 zykj4%xB9_RHj zHnK;>1_06@%@I{lB4Z@kX5XdHR=iJKEv9vW$BhD6G;?5t+3Ij2vCw9=m{OTCO$on0 z=CHxoSBu|<&YJ&D->R50a&g4%6;`M=m?m^*K#x6?{M9F{HNfEeo343~-#(P#sKz$a z)9H!%x@vwJf!CjlNXN%kTdAt6r5Y+93+%vX?SU#Z-uA=-ord3>;=jI#ils>t6uEho zB?9F9d))Zyl}+}g;d5{N9rw$WZ~-KcA@BwM|1`w5vvudlqjq(}KS9kPVUz~a=BC~G z47jZXPW@|Q!Q{E~)^Ahr)Ux-u@5Z%1rvp?W^xi$cf#v@esXT`R@x{5)zbRm~cXv$m z&V2?)a5P2(5UtXDz&T>-3h+=A86H>aEq*t`$KLvWaH@wDeeH5XF|irk5Y9osF2ou< zUcH`a_xQPZhS@t6J&Dlt_s#iVDYz!NS?;*!4KjMQ(w151@}S^a*_0!@o^FgGY0R6* zSuFZT8PF3=M$6!aVwb2w!Mx4Rbmw0R%WJR_u680^@4DP)4GB1?}?ARx>3N1Fc+U% z(>{2YTcu>>u~OYBCQ;yQ!4T?x@ghG>YaEdr@!jc+Pn(&y{WD5AGEcY*xsCQ`dRMyI z{d1;es*O!unUN`yq5}3>8Ho6U1a{in?zuvv>~7X5-n#NSD|~zb!Mw2=O(^I-KWt(KM!B{rG*7^yfa+6lN4 z_;uHWBFa}9OU8Ce$|#)$GwVe%1}S`o;xl+1$MGT0fevuudb62RchL${L`Nn6j%K*b z)A>#%v&Y#4HI6Vw)xtkd(}qOx-`Fc#!(S2)n_W@#4_d2juEVWPw;ZGy{xA8|2zNK@ zIfMuefq)z?9`{q(M1$nPzyRKVl6S?rkhPzHkkqrLX;@^UDK z+LIdX#H2up2or$pKicOMwR*_KtcQ-H)}5un%3O0`nT)e&L?TZz1KWRfpXQ>fPPBQA zPEzYK{`=GVAM7ogl@relxHbef318qA$4(=(*Sr5x^MZ`=j;dTkmkVF+&A>N-bG6rAO(sr3n~JT$c!1m>iCzN5vcY|PW_UP zqpGZ!qT}VXoH{zo<-dvj+pSTBfWxZBye+q0fq`yiS8j-1L89(v3Az(b-2Q8iLougu zid6wwT;e#R&Lfrixk>ZxEW3{e!i5yHR?vkidhZZ{%IbMC(1oQ$KP&P-FSzXLCEv1{Fa8D`Tr%&@e*B>{XP2 z01O!aLH_G=`EF7WiEjRvJHP_PrZmKpU@cLh9Lo*QYJ`8Ko`ZxSDis0-i4d;Z4#V;B zb&Yc?!E2r$3+VISh_t?=^wIYZvq;qUTG&`jRt91#h(H2)F%m#J4eFj&S+vjkcdRG* zR&*=8{QP$u)0x#b?z<2rLjwXPsM&80{sI|^parXaJ?Cxew#PqUcYj63b>VdeSO)_G zj{?l$m6Ky6wmQFt78$wX8RUS-;XgfD%p7H8zQHot4xKdIRm)J-&S#nP`riLpoVLq1 zuIKZ+rUO>@eW>V(HbvW#ueU>jJz~G<`?3npvz8$uX=UIqbk+egT{oX~f=L#nbQJ?L{l_JD%Rl;Rp z5uc&Rs)~zhAd^eJz}pS7R9C zYs^`;-6vF{<-OcGwH!p)V-W3_h=%7!n5<{b`mpMq3f5oWWH@%2c1TK6PG@H}tov~y zefmZk!D5=d^x3#y9#3|^d7P11-ct|Ta^Pj$^Sq&nP&3h*el8pc$##710TmH01vG1w z2j9?|#jx^IZpP|9*sHrzStIFXk! zvINTauBAo39;?Av<^Cf{I@=`UE>py(ihSE?tEHN*;If2C$7OpnwivJ%ekxH&!aZ?2 z-V8$3QE)y;ZCN4bW_MxUw(((gtgI8evRpJ)$ZB*B-%f~Me`GsHBK1YD?KkHc)$of|;fO!;+vufE;o_Fy_Za32;sa7{pdoeppS;3SWYph`zDzk#yL!h!Boq zUGXOOtR^5ukl4|lK_J=in;-2lAYG=d(8xkNRtVSgkS(VM0RP&YAm{G9c`e4AcVVe< znl{a-*4vrxuktiyltN(BZ6UNn`5K7_7#NHO0LMC{8%()LW_e|Hx?Mu<g;8A?l2p>sF^m)GYgo?>nHCz(rb4mt?V+er*P(Va7AQ;xs zA{!yV^|907SMqT_X?GD0YEUjN~=LtwhUxC@*$-X zVn!IGBvh#hQk3h!fRhs#G{o51aS*MYyHaRuWYY*6K*rh-+e{fKAR8J5dycB`;;9u_ZlJcaZ_+ zc=-|yLS%b3@0ZmuI!9#B>oDe|?!2w{)g-Xy|vdJL60KyP3Y%fBf zu8QnU9&PFk$8OSgO=l0wXZU6o23JFdh$GOFQcVMFXb{0kqHY@z1U3#FI82BdZX1*m z2HI{&ZLn#$Vh0FtK*%JJNlB3a*g|ADXh;SzF@tFYF@k9bV3-Invq1=(MsNrq8)I#d zeo_z=ynZO_G`~k{$sYa~Gov%Sc_KqF=q(8yzIpZd_l5mW3$w6{(ngwQ+H4a{Su+$8 z%XbbKXZP%_A}R`}Z{A=-GNBZ3sYLBTAYF&>Zq6hj;Go6cE*gO{B*JKmHef+c1=Nzw zk4wjCcEs`7vWKQ87Q#>m0a9o}!#X;T@4)JRUp?mVyq)?D|D?^}tFtO!jix4UvnEJt z0)hevQC1K{#!Q|hMm(YDyfyd~w3`Od#sV78e~YDMLFGtMCVgWs!pvk5lj@zU>xXb3Bf7}vTkG&B5WrbBuYan*qqQ2 znR}qt_>ZuKcUFQt8Do?3h^VC0Exh&B15=$In>vW~KN)K&FIVsVHjN}l>RtnffVbD} zvOm7A)iu9E>^b20eS!Bt<7u-g+v}4;u{O98;&Z0{AQF%Lv5D*dYYHhX2z9$Qi%SpT zOLzXL|F@sZy9HGs?>n62%v~{~{lox;s)UWPq+t>Xq&=xt zOa(lb?2db}-14v2mfC4WgXV(4zHIP>lmgEZ_%nL}!e=q$62nPD8NHWN<+qt^*1WkY z#X$Gdd=75|y&_*~Wf%lP`mbx_<@7g&k1o5DLi#=oKO%J<|a~O!SMFOGn&jdbdTLU9m#&TDcjdzH044c0YN`WxXcZ0 z6xsDeSh7=}CyCCd=1hX)3$Po;8l7Y$_NQtsaWV>w&C(QQM&KuCUu~LR-ISUpxH0{{F(PaLf<)-*C1mDR@YT^&g&1C{AdEh!RV=u`*8Oz%kI@i|hDQ z9;XGZ=$}vg@cHgP*YK}J3>of}wG>8zCPD3!gP!(ap|;HvJI-!9A7oj0>beS*}@Iq^#5 zQ8n0%PMa7R_zX)dUP`W@Fbj)l^jg(r-4^I!xpC0$vniLo)CnMV+rD26>NiB|oIR4h zEV_M3hDc#+a@$BVH^HOf9YHm=bvjq@OD+v1oOCXjf%E_aBCWtEl_Hmb07k$dV3F}| zdGA%FdprKW?W1L5+u5S1VlksM&W-`&o`!f3Rf-P~uY4&iN| z*)0$us$H97AiNn25*W~e5tzdajP?i!g$7_E7b8#=WFkd^I6g{9M3W00m-yuPI?CL) zv!SVq9mB|sQeG=YXe3TdfC=%7UKz=;L$L2*29^XQhkW_nasr z6v2nnxb_E|m(w=C!{XD7pv(1)W(fQ_k zKB1S)SK}Nhgbl4B@0k(fg%5K#^SR+b3aIN&H|Sx5x<^pH&HwOMVMyU|`JRZ16k-F| zdt8!_Xhh0#Z(u{Ei8wvj$DT01-}nOU{ha5y@5Ly9{4}wiUd{E#O)8*$IvOqs>yG3fwoKA*{Y zBj;6kw41Z{6B5%xdHd;PR+VecUH(&LlIh(6#}*&7vr?a&X4K^gsA za&4c0X(fDbH#|E?F6wIslTi{xmVApt!;uXc_k3PGs%BV(w7MIJh>Fa3FG59T#;zYg z&J^5Yzr?n;A#KmpU zZgIG?+AA9?;(U$?YoG++0x6{lYo>%chR1LkoeYH?Ozj68q&q9A##+auc`Ig46w1rc zcIe~H@-PEC)Y`qEMAF=md+nZ6qerZ6wLKY>)#P=}9OU zH!cas5+|EpiaP*-=a?j9&S}vvpT}s!tz*92Z}*;3=;%#Z!F+1H2ahx^x#{2Ra=a%@ z68U^kQtTGizU9M*A)lUi2$>f1|SC@kAn^c;W&aQ;*Q}6cwinxB4Dy$gfMgp z10ozz2ymEyN@)&k;5ddu{j7umhz=2Yg5N+b3NH1rQ*hhygRQa0R%K zH3>sQZQQtNw3IVpB$0GTKU_}vz*MLV;Jt|g1a3y#Kg(l*#?ZnoL9X;0^LmSo?*SXz z-NAmat*BqL68Zg{V~zsm7+V2=IDla^=_&c%kIAR!w{@zFX^k2+isO07!$kw|S^U{l zZ21M#51uKA32Oq2`Eeu5;FLaSTIIJ0h!i1+chuCMe{4C&rHbbr^=ipMcuWOe1s4yS zq6Ii$RU)FDbzhp{N_x07P)fh>P-^4?o}6_C*H4Prg`^#thHWQ8m9(Qm0H5xEVy$B8q03kkt^8LTGYSDk4P# z847|;Bvndv0um+Xcd}Z75Y+$)mcyzv$W4GaKnmq1l)}+E1~fM25R}x$loCu$lWnIW z5+u)Qr8$$5LV>{8(IyCip^!>a7*H`o2@nuY2}ueDHsuUbLI{DO7bK)kZb%4d5ZDBQ z8L$!|3Sxwq1lZWZK*&v|F)^mw8*Q*-O@kQIq#+AsqKXn^ zA>5>Fm5@RazWkr>7#gtK8qE-xCNSYb55iK+p=ZialBA@Phyh?=Yi-0(2jH6iWxtqS z28gdfq+>|Sux$)XY(q(nro@wJDo^ytNHrn0#xVrVT8r-$^^6EYYa#-piI~>saQTk^ z;Y>6^*I;G*lI^Vo`nYg|F^qA>1ao7YVq7suV{;k^nBgU9fZ7673MNcROhO!#O|&*b zm;eTpn;JqG(gC$Z&S(F0eGOuYjk2SZh-^rcAu%?Av`Q0(kkFyFlNb^jBs8J6bFl$k zP}2l36i5j$2H+QxGL%gk`v?^pRY59JC`)yfob4tJDxjOPQO$l$z z)_0z3jAIKxFX6MhEuL?OVWV@QR2Opqs$r5i6s5M#kzXA2>ec^YJPR7lFUN`8z~gzO zticwFX@y~*dIYKddaAR>YYNQ>2_Bk&&jL04UDuN%1wq-28qmuKm}qo06nZ^M*+EZI z`ab%m@P^=A?VexQ9*t27a7Ddily#Z9^p>T|jMQpMYNDBHA*JSUf%LMV#YsYU=Q^bv z+y?H?vcnrw>8Lha+3iugzVKIup~ovplX{vct#h+F*=N6a{x*azYer2g*Bnf5nyKLI zKCYWY!?Ec4UM}szN_-A$+u>Uw7xr3LgJa23epji&%$K-y5cCc}ACZ#@Bh5)!OX5ir zNKdP6sWx_yxk4_LO95+6!p2E0 zdL6J?pT1S#`QCzvR6xoP%?|3TDhnJnmRORuLe|STV;Q30EP;tduxtF0A4gToJKwjZB*KVA|eqysM@a@ zBnS~?FP=;y01cHdtS$RTn+|)|z_t z9aUYKl>T;Ctd*hI=QH1&EPsCC2+xK0L*RNlnJh+T+p(?7(r;2}j9U-n0T3?uFd!ey z0gNAkh>a0*1|mZuf=MsFl_0A$pvsegklTocQxGbuNu(6Sz&-KZG&AFfa(YV%Q_sq| zI^e08fO5=^2m#E3Fj<2+VMsuN=7gJ7lQa^$Q0Zt@2f>XLu&+9$GfEjq>eUEJiQ=U; z1nMdHKNZb3ZP^4s+loT4MA#MNMP+Uf1UkuP+&TaZ$kyTj6$Atg1Q3HTbOKnjw0NlVWsbeZ?Q5DYHAN)`D?iYA7@Vr>Ea+EV$d*K6$_z_wYz7P(Z39iDnjm69zd#}u z`D~-Z8QiO~kIUoSX^><&UV;UTGdyqkd=vA#>UWthvCdq~EZSIfh z?&VOiGll6uhz{#e=YC&~ideY^3?ZP%Xf_hhZRwQR4`I+ig&_uC^Ja%4DtFN(-WANs zRzSp@p@{%l=u??b44X9!oa%vFJ18i!$NfU0| z&AlLF8X9b3iGUXjTA0SbDzPz%c#J_=p<+`(0xF;l394F2u>%36P;qbrfFvu)5EP*R z7mYRpU+FvKp<@-QxKaQ6)7f&B;huYRfP;>m_Rl((B}{XZG#v|kvNki3~o&* z8YmhQVF~42B(kx&;wX_*2t)@zRX~cZASZen3E;aqv6x6es{sy%BvlxNR10dOxeB)FLWmM$f#lkgkkVsKl`mOP5?E`m_r`a& zY+12{mnD*cT(P=BnXm$qpack_`80|ckpc!R?Cra(-sggCzt_ zq&%3?5!nSso!NB4NWDuLS+)ae95JwI1dKOBwelU>-I@l5+i8qLZH+O2z-=@QC4{)s zo3#Qf2@y4sX{?JxHb7+|3LBJZ85NUDQYw;7$VefeGKdhwim6C;g?Pr&VKgHePDWyu zk&kOZ$lEGMb)^JL3jqufiIR(GsAwZp&?&>23q%@3CgKmeV3%5-9lnET3V+=sOuqK#&zb zXL1)~>(t%hC~s(-A9}>YSzzlS^aL=Wv{9v+Z^{UxCsPCY)=RNhZYi}gGBaxkWd+g? z1SxKg_xY&Nl10p4l!_nuSkoo`wiJj?t2ebu5h;W&dvOe(*Kv%W*iCG zZM-f(^<36E_%kq0uY*{&Gl4(kVG8jJ1V4x9lRl(5a7yG_?i#(_M@kJuKB%7TbyDj> z==jAi=~Aq8|A@)`c87?F1e8hDs48t{TnkNlKpxK?b6ahUfv<8U)s*1P&>L?^5k&l6ox{ zBrw!})}#F5RqN@}E1a+tYP2lyR=Wruj@Dw%?EIh;ug&!(9^()_FR{W^Q+Qt6%rS+Z z2g8HLHw#E}2H3Yb8p9-2U5|#)C#q?;V5M3jF{t%guP<3@+w7vdSbeLXrB{t@5F}7e zITqW|FAYJ`TXVGFCU7om&xL5X$hMmix8MQgpp99L9MQVr`zgd;kRY?82HZec7Ip*I z;dF134g~R)4;ey2AabSOdP?eJUx)Ti1#@;NlP2wF;C(dKN6NII4ED#2d207OgTV*L z7|V1BiAFLo!NhAARAazJee zAbtZRLb~RX%!;E|uhg4D({@=Y4fB!ZPd!%C`Ka`@j>T%Pl+u&Jqd@N1Q7~tgpBNdV zsyVb9y(I3A+9nQHm_m3ski1j7zJ40FoW67}aC1-nZ-K5YN0(+qyEd&xW|o140XjSy zpr=BhhEy3UqM*!vZvq9toHe25ONT+CNA_h8@!&}RR3f0>)nzg%qQY~W72#ey7ULMejJ;iP;XA64}Iyd7&S;(jcWD*&BH7;Jqm z>Pen5hqka`QW(aSKuhKz#0%rI^YA`hISn?mKYCLjzGc!C^DQ ze+CDGp-AJ#WBPj7Bm!si0N^0rKI3k#_RL~{LW<$Uyx~I@)1#LN4I3IdY6dP#b_hk?mk)bRQS*?)2PS28KKX zhxjgx?;w@gQPMU! ziNKR%B*JP4H3(8kmQesGYe1wozFUFbaNo6B*Z^DqEl1|~G>&9fnXsCO4iP=^5z7fX56>Gs=`mh7-p`=Cjrs;9-pbFdOimA|#@m(@S$^S;#)# zAj_{4B~fF>lE47Er$}RnF3=JBJ%<=tw^B1YE-s| zH#Wh87`o}|^v;IZ+i0AlN@0X5MAZ<`#_G5f;L?XhR>y{|!BEpoYgM4evf-q#Ol8|4RuWl#nc=oyCJ9bkdE$yO8*s^mN zki0!hTkbpVWgzaDlVeq&0$vml0xpEkBxx#I6f~0<#+2BU3^%C+>%dhQpaPAj>Fl{{ z^`qU37}{!418KH4nyjHHes^^jaZ?%2g8*453bw^H`^)|nPg_gntIJaOYS>vDZX z)=QN;WEUu|e3L0ySU_HoFcWer)t;8q7|(37t1lrpOE-7J-E*c?n|LJW!L07~R+r}) z2wLmU{Xp`rGQq?;V`+^M%*KxNV4G9<9DR=l_>EW&?w+X81Fz1`hy;^H`ZQI##j&%V z`e&{x;Elxvn}jP%PQU2Y@n=76uAg>I&eiDT$lh+L$W)ZuR0&+1E&8T+Iniv(hU4+H zF6$iQ)cjyS$k-v%iHS{YsO)UQt?u9FSgbp#d*cJH;Ue`0C~FI^I3&>w-f5B{iN*~U ziL%l&Q;tlaoMq#z5!QQQP+lIUZec1@LCv!o7%5Wwh-t7dN)i{5d<-K#q@&hk9cpj? z6t-|gqY%Egb{99GTz_v|1Z8pOThW+VQbc-o(FbRz`U-&Tm#RtPM)WQHOFFS+( z;2%Z#Z)H}=>jcimvZwpToIi5UXOho5UU(~s*=~uo$dOa0PU&$(iHEu0Jcy@1Gx|gb z03o>_tfF`{hyX!r{XfO`rbQq?0*~%(mHbZinbdM@QrQ9oOqZ59-bn z%Y~8KVQ+d5-6P@gIh*j9fB^sq1H(&_+*EC4ui$_m)~v>dm2uS?vg)iECjO|8z=ne~ zw!16W}}diufnd-2;B9$Cqc~nE5|i*UAJuN zVUu3FF*975_7Om^!BIHPcBNxTq1uQOdjAX`Z3myz)?X}av zEk}Tf1ufOJCrzniB^j}eWl!x%T#q`&2L3}@m-2-SEM*01#87q}Y+K`2B`#bdLSYQ$ zi`<8gFXeMMe`=!Vg#K~*EV(iPPB5i_OM}(d`{^0$SuWTmRdCGA0`QV`L#$f#E%)tU z!L+%ve0bO3DyI{XQW7#x!d!?(tc9X+bv6Jio5cZSF%JU|n)tMEasUHF4k7@+0%JJEAcKGdN*nCoy56Y$ z3`?-V4$yl>S#IwwtLA4P*xT48WWOpII`H=!&fS$|+jL|TwV!&AODI;%NfrQtdFumo zkAQCDzBUmd>o!Gm57w{iS}q&wUHm|Nu0q^1)9;pj-xVS)1hrJ|z&fAU-o~>(hW?Mt z%16&*hTds{mk*0i^ohRczkdwf+1^%%87l;=gcO5BXcJlf@3SHfVS^kGPRqNb-AGqQ zbpA0rGdl~$*9B{v{(kI5^sO`BRs_6hIy`(oENo~n*kytB`<6s*1L&M@N5nsJ~oht(M;}!M*Hus^qOYO<-ZPy zn*pV*1xvetBfS|s zJju_&Xd?*5OW(ohP$F^eu>{RZ8A@2?V>yVAjkktyG^m9c=XtO$OS5`1xI@n~xV#o@ z?h$D^sav4W-1%V;vz%`o? z?7tjC-pUOq%d&f_jwrjoI~LJv>WTG;{lV`fdS%)#+a^(ZI{;)ukq3eoHRL$4mna|r z3jYb9!hy3mBINOb4m2dU{FFR%Ik;26^DizQ6{9=nfF-9oFia?s3-co{bpQk=Z#{^o zM2Li^2;mDq%RnI=_utERQ%Fe7dp{?=W-ky-{ z^iR@2f1mz@jVr%}#MFa4-7}wiN=+zGG9?mi$%8{=NNgjy;>`AvZih^UG6#$Xf#;k+ z7{qk4k0zrvsfk6OCaXox-c5MboHRjzA)*2>zU z(Tc&;Sb5mYfVcn0uQ!flB2nZQbI8Cr)28qrID3muMP=w^vm=FvB zgg6)ya6*#--JOYcB_I(Ala_Z#5CB9X(4Gu4u!nFHq6%~bLM6dO5)lrW+=QU84qixx zN^KGo7>3x=iG+koV8|P7CIL3$EGh(5U>ns)B*)o6inV^YkTIkkkG}~bOc31+Z2~st zM7)l}{e7Cgz3uhJX8O&6fVNHdQPr_K6Qv6Yrg{I*?f$maEt&=cd=6&`xcooB#8m}W zv)3xYCle9~B+?)g8$&>(m?SRqNYn#ZolLK5BDbUP>sD$~Qb{&k|E{CZsi@L`sP;jG z4)enAxGz$g#YF9bM5Ma7n;Ry8nFBvpF(hFDG$D;Kg%Az|Vg>|YU|@2j?7l}`oY&m? z40#wns+$AEx5oY7rH`wTnCyBQplcex51L6zdr2+UE(fCFw5D+mKpE<-m=lh#MZ$0wuJwM3NBz#D>xv2HrXf zLCApjdwehJ;-K3o1QY;ZL_@%00I#j;>u?+wxjLmjCub8;jg~>@FR8oaA7!SUs4jo! zDwPzXXCpmkh{aS&BZ0eputNAV^Mg3|iY6QQJc;xP;#1cAxo&ePru_SweF$K2QKf#& z>3;fBH2$~#>{#6voWn(Nql^F{2DUW;wGa>{07z&^)jc{dH(f%ZH>*Jq(a0m;l$1dO zVPss?bVEf%JW!C80Km)33hKlN>KK5clbs0&o7qZ$8!B!{FKi`Mi4BU|TL!~#BMDGdVzYL!)q#MvTHHYUEOQ?&eQaLt%sgKw%iFhjuiE z(i=^rHYCO!gHrhxEsTD?m<;DYL5ePgzX@yBbE=x^~yQWU75M3oog^;rdl1R5BcQi865h03z8ew3fZJh)` z_I7Rr1*VbCVQiqfzVsjX%sTMH+ zF$v=ZQe?K9QXHZf)Ikk2(8-!0klRpOxvW`BV8XTfz-Vm*r9}w|W6*@+jRhq@$Rc%d z+cyvPdo}#NYU_CNz3rE;wi2?!`J;LG?$-Tp0j_%`Nh1ujh9fAMn9!t#5)&B5A)->a zaw-jot}t2aLJaVtwJoR$^bAQ(L{*S1C}MU)L72uA;r-!00NkP!-yl8{M53XFunZG@q<;K-2Fh-2NpDa@o8+HE8@ z(@laKK-h*MCZQlZGCzlX)qA<^phcF1#x&aoR3nXQO^4fcB8IILNs@+g&IXKo54*D0 zeeQoe;&JF%Qn+IiNm+234FSO*dC3EaZB4bD&vi+tYH3v#Z;!4Z`|y;bn0|c-F6h(y zpYMypm#s11gAs=lN=*>t)SNg81fYo^D}Xel&3iuHy^ZtmtGm;V*EC<+&9RyRj6i?@ z4>dbicU=WBzWsNE6YG4ay+geYef*u)W4(eAfz0x>P#kZu3DBvf969EKYZ>^7Hq4LI zGzFqrSfz@?3z+?=9(wIKetIB#MzpgZtIR)AhEvtt=Z7Uj;m%!w{6M66Lu2_ZlGL`K zl$9tgmqoo~`1~Nt1ZmKBgHe7A3h#3G(w5!RAl&}*hEk}gWZcqLm5lUg4-1~mOB9Ti zH`O|92PHn5MXdOMV?)z3E@k~v`t^Q^B0{@5ghcBGatvLSg2uGH3F^I9gEDJnF7ugCGFY6367|)26nS{k(dQQh{!9Tr|3bpkWCHPyFGA z9gJFt^Lm^Eb{kE*bgm+anlOUCJh?YLgIpSkCf`?fhr5-*0b{F*nO>2n&w;xn|M`#* zhRV@4UNNehhhW>PX@eXL*iY_2;mdZ5Y2gv006IYeSs1fsWQMv#Ea81ESn#&sN| zvRozxo%JTgya&m4&~r$sI1{lQBLa+ZRvXZW7FkZuI`WUJ_;8ZIO=$F8EwR`X<i-Xz>@LuAEgsW5ykJ_XN%J2=>(CS zzJv=b z%Mm^^Y%%1mqL~F>1dr%*1R|HL*0WkicRom|O*JGt1!>7cs8bD=YAaPHP>Q>aGE-EJ zoiEtmbYFt&?0obcp#lLt>_8j>)&^hgYVb!DO@6)T|gRe-ojW&}dvC;sKTz4R}DWD1*!q zyqQWRDo`|1JH~2**2SxQ@ zP>Q9wY(KXW*)_eEK(G@Obn`9$1qlCM2#_3tCBkSy7I1>xiw>c%MI=+Q$q6NiJxEf{ zLLgMK|A?FnQ?R9kh1**QGo!F@;G#sEw@f>VMV$zW3idJul-Ej3>MGh6xuFAF>0tmp zvlhT=Fl_-~!%1yj2dLThIuZy@k>I@$s0<7nF#y;>I_6@yrVB}6{8E;sfvH45AUhFG z0%jytqizP0A%MU)BBK)o6GJ*G00h7Y&amzYZt(!m8cG;i;ZV$RIf*5pGcSE5=X zD5S|W(VbDJ4DAltC{RP2!C;FTZ4s?PQa8p80ga!l&hh# zM;)2Zj4nW@K=Z?C&~1%_y6|y4t*iSbR$Du~x=IU{r9~7?#8Gn15=9bqr;^AahOF0r zdpsZh#asL(Kb;)rATHQQ{%{?_4w)o~ao2z6c}@KSzoLDfo|9$~EZtEDB8Nn}yNkmc zrgJXwGZ`~zWBv8Dcmq2$n!{z*l|VuU4;sPQH2s3h==O!_nc?8NMP$hLMpp+FhZF35}7LQw8*`yq+4^wp4 zJijYI%XohwzT7oyvtb5gW@$PWqMo&akUkQ(mSYHwk@RK$L_r&V0}&9)Nh!bv4hBdJ z7yyHrG?K7OODn_-_NnT6E%(3Fs$Ld|utI^_C=|3-rIXNdTaWO|Kl{rMAKGR1f|v6F z+1W{B0+7@@00{SDS;Rd9gB}xReRYN1YK1!19?iX*bBC&w=2|3M=X1I({qEJ-ciuh| z;jk=kw&o~|W0)&CHycDLw}+zJ<86^n_)Cs81)wnr))$q8O^QK}z1SsFs;StmsikY$=3szpy8zWnK!$9kbG}=y~m|kgQaP) zwX*w9f#z)$y{_j~oa6pq`aIV6^8e3&lge)bcR{v+&j7=9N(c~&0ih%f4I~!;(n$uM zsT7GI2`T_;5+F!mC>jMd2iMH@8vXWz)MI?j!oxzg1PgvRtEE81!*@)Cq*BGtY!W4* z4N-kWh9sI@?iV9*>{+%(DGji;<=I|Dd|F&dZ0FUa7naagU?i}tCSPG3WEp{7B?&SKh#*%L5oDmJ9zZBC1~v>QB22#^z9c|U z?vt5J1lSY}6f}BcD0l(X{MABbQL>yYp@?B2vE<1JAoT=@<^Mh(IqB!s{+?10BLg$z zSV>{|d~k=~?Z{{Yu@`A{;sj`gVv3{u5FC6D?M3ZCe>Z!Jg(;8yE4$xDdJyuHFmWId ztnT7Ns)&0Dp(>FAAem4zms2XHtJ2gsfDBf3l93rqL`h-`O37-f8xfHjA&hCJnK4^d zor*Ei3lvIJg#{#y0iagHv`5k7hcpGQfnO z5`P{`{QI+8igrQ-1$mZLmk12**#H}tLdZOsHODUHw0p>VbzqP%9XUI>DJI)&Lk0tF zpvKxzJZu6p2_cBfweK*yVl3cd+z}C189|O3E(s8W9FU6E!x)&vq-253+GQOyAjCaU z-2aY#NT3?9)u46;Cel|f@K;Gpkh8CU^FGeQYBf*&cl21ake+th)FM)VZvG`WASQ!9 zW#CdWl;jZT8d4ZAVR#VRV8M+5*dd8DK{p|x4UIY_A>p6`RFF)Zlt@}C7~7-IHgRG zQ6-#T-3k8ku=hgE7OkaJxPbJf9te=&keXSFMoy?Hl7y!QKA|F2l29;;T$7b)APs&% z7D~ZOk^&0yBC7y|73c=W%K>1KT_TFD;%XQ6kdi@31HuX~puP$aS7BsU$SMkuWs5Q* z8*R46*xO?pV;gO;rZ&cC#b9X^CJ@C8L?JsVAeDsSDjFC&D1nfYN)rfz8yHH!PQzMC zKvIeeeIUh!d9mV|bmWYoR8mE7F9`|@#1ar%Vs3(j0YoC~ZMJvy+tbZ`lq>NviexJ{ z!p5TFg#=W!dW&mocA-1um)l)TMWQPq>U=jb>;Dpx$ZAX;AiFYnh$Pt%q{VtG(%C2l zmKg$+;KP$d7|Eg%Oa#L@Xi`d0LPHv47wIB#hG@ZP&NyH{}_& zc)2q~-#u^bjlpBNxe)?bjP;U{7>yPrv{MvPw?-mt1~jwI(|_1GzE8R4J6`vnLPrBR zBmm%Hz`*VG4^1Z9<=lQcul2-B;Tn^YEO{5Hg)XE6401`qm`(ZY2n zmkZnaESE(7TqddS@ADO+W>_dRiiO!MI>4caODJc36f z{Tmod8I@jW_8Vv59BzgEp6=w3J>6LhW=>5E< z9z66@laqNIaU>q}lp#OA#dCSE7E)}hr-iudDyI)PAd*zEf1G){DC&5_T#$v_BC^ZxXQXu%F z#|t8CIL_4MmR|t&7q2Bg^1X{}y09<-Fanwfv)&c~;f^rE+}M;LogCz;voh4 zDpvBdYL*!$h%lGaDEmwti;N71f)Hm}O>QQgUwu%)V+ONA4f6WvOI&YyLL;>CSmVNv z`ygs2nwH!e&K$mc#Kqrt>QuFbgsnx))}lPu%Lu&FVA$7H4Ti?Q1Zm{A2Z)s)7V#K5 zg0Nc!Q!O->yaUyESnF$EzG)G4WHWRg z_ItWwDSOLYjsjain2WOehdcqPVYr?^gnP4HY5<6oT4Gu}yYzq{L&3Ahyl^iTu}R2? zBi8mbt;eC|X-E$rr{rWIf9oGqgtk7vZjg;PhSGC0OI-d00q*||t4x~se&_>->!Zbe zhfl|h;&Yo0^)rB{W}P807X`swi~BZG zE-AK(hZE0w*PM?xvaR{sMUe?uGPrm@CvfTisd800XYFw_OqTGs5ak@o$B9-(l-J>6 zb>1X(KBIo(gl%#^-+%l|-7iPdPzyw8QyLIy13{vu)}ByQn#Pn=B%HjASCMR5ssK>I18#^&2LM7)GzcmQB$#A|0}KjLz(trd-QZ9>>eBdH+)Pl0x76Ae?V8Xwv{vkAK3b#wDN<~HWW9ICFy-+LyAMHwP~Sf15~2l=Glet zGl{M&$7C|qsIElCYgE*5Vxot5TB?!`JPd;97HiTS15DUJ8Uq)x?Ksp?s^S||5EfdY z8bD$+)oMTlk~U#+jj5W!&>@V9R0<768ucWK(XBvOP$sHSor$RvN+L-}We_e;h_AeM zJ6FqM%f7E?k@_epq)-}^2_&71yN_Y%z>!7M5QPx}90{O6|G)pugvPBYT`3eH`ne@w ztg>LTU=6TmNdb!F{_`=(B-83f)xPGeWYFdWcrcY>G9`Z76FLp|Z1VQ~!pciAR;x25 zd?qHLMAn9peskM3=x5G-VEFM! zZza|8VORNRI{?fBPz=D(bpG~@mE?DiqSymK%cb|L!}I+kH(>rmtrL z*fb%N2XT2M1mjDRrMgWsQ>y7Ht$6y1vtdBV*d-1;92CLRst`OPXFh#*y@`zq9`?%B zzdhp4E(OqMgj=&Y$($|khj_NzCh97wKcPX+(TNhMlEQ1;TM=X^tjRUX5!5L8mUc4_ zKdhrT1Kv7d)MDpA{{YG1Yf8eI>O@9#BmXfKWc72ju z6ot7=xvL%U>%6ul<7h-4a{}hyvF-ie<*n!YCd2&DxUImj4UBE3+ZfXt2Dec(5RnKN zT3iSg!8A|`fP~UG4v(0*N^DOz090c188UhxGVDcjRxqh5fCWd;l}3>2*ShdmRTH9Q zqJhBQEkqD>yg5oQm9qrC)(EUCV^}3_NCbp)H6bgDvY4xLb=H$2RwPo!sV9vfri6^$ zPijxxul%uB-uDi|goaO#_k&=}@FC`e79(!OSdwIkl9g9jB#}i>zev1APM&;1KvgP4 zA;b`%t5kGJK_QZa$P5Xp#S--zhk2=J1yNie6}_P(nhZNo0!+ql`+guwp)!&NgcT5v zuOCL9@QRoiCNYh)(9oDMB${X&8f~T_gGtf-s?M|!zc{GS*L(#%kiW=NYL;*k|Ns=&n{ zu@bpYHU(cktr}TgZ$d0 z$H0^rDzPO910InCnUq?`_|!33Od*LD5M76Hj4$z?PAOCdnA08G0~9nTCN-Wp0wgs9 zNo1M`Okp@62Y8Y|+DT#>LRupcg2aU(fB}tQB26J7w6GA~2-*N?3{s$i2nH}Fu?+|Y z#7JofP{fugh_!s!>^BM&WXTXo1UBKo$a6^-BsRuCi7Bq)b3$43LJM{zQGE!rR1iR1 zzdxd$RiI%&lVY$Sww%hw84N2Wgcz)h$7RBhD>A?^W>l?WBr&3LERzhhf`U~Bsk9|p zfdd%ZX)tOSlrg7Km78i+U_^%6pmQQplNuD@NJ=p+42w83FyR9R3qYVr*#ZMeEJ-q$ zmL;rFVGN5iCLpAm43LN)YgWtxZ|Wpktd&vMS{`e9*EWq)`DL#4?(4tY??Uh`?p^Fk zLnMIqdOmZPDwIM5WkW;3E)6ZN))@*DLmNn-oTmnZLTwp%RStuM`}gd+uBRpCZ~HfyjSjBL5suI` z&byTTF(wFq?OH=c${1ckEX+n6X)1yV-VB?8tav;Eu_+^6mM}m`Fj5*qAY#W*M85b& zj!87tj`;!qIKTD3&;15JQqh0Nh2E%8As;(_rxP=JrCLgdnov-tq*zU4OvNieXZO`F zY6^?eY?`XB83S6@hJ=^VOy)fN44p%yp-GJrbSDCA7?~0j2eV-%XeDhfzlFF(rV~`s z7m^Vo#RZZECO{AuBLW!aAf#$QC20jieA4@>!q(CNs#Z$ttIq77KN+moS>wG6l>%vu zVRDs_$$-Nq)`HG|So1D6!E|8EL;}gW65Zpti>!JjjVj$fRkySI?sgx2M>zSYD}6HR z_79$&ReVgN~-xIHl zkJ@sCIfFF$H+ux?A}L(u_^M~Eh(T18hM*5Dj{wBvPgwo;AJr9vO4OIfB5O+V^vjIM zGUvvD;wmF)HT1y^?4(t7+})oVP!*VEYh-zP%F{8=T_ zt$Hxe9L6IR0%K#Jot#3lc*@~M8M`M>ts)nX`Dig65BI-7x>=4?5ouhF_o@nw%5lF! ziaWRWVwHOCYr(O|va8B&qTyZf(~d_$6;i0K=|^Ketjfb~aD)xPU`iO|S0Pcr?OtQ> zyxb~q2T4siEKwHFR#CV9wsxq+#}p) z-Q7alZ3F=NK6LcbF9*P;dPfGg9>5PVEG_g0o)QN@LT(tZC*jM~J^O8|reu?PKr%Q^ z>Zz84+4tsD=(QId*wb7_?A)9dCmLFCyUaP{j69vuKiCtMz4xePu22pGycZ}4p5LWH zAP92K#~IJARE-w8+!D720PdEDAH0*!%RO3mT)L9^j|3WTV~2-D>T&&8UK$%!N?s{_ z?@w|n7>o^Y@PIf2Mp@j^I(RO$FX#bn8hv@m9B*Ve3Pj$9P#Vx0{BaDBHtTTIibvsF zHP^%Lh|ht>6m5wBpAO(bjWlZ6zue!x#(V0;$(@q@8PnfxC#h}qsl+q>twg>YWlVeBK7Hp0)8(L(pMN?W_p_3#x|BD1_4Ii7P` z9Pm4HQ2%_L2|<^sUrH2W;2(-aVxM~}E!W;jZ}Qn;qOd5uo!t1lpBMG_p3e`{>7N&J z4?N$sp1b{LX(T#op<FR=CHNPJOcWXLXuMAkghFFN8%QWjgkK6KuaQ`~n3Z;bs?xW%8x1fdL7$a`q%p3+kPNm;0>elo zBEgudm*M@lFXf(s)X(kr+h3N9TWs4W7UshO{}aYY#Vk<9z?Imuy@hQnkGSZ#Up~FE z5tJ@cP=qitqGG*j;loOo4Nc5)A_5s9IW`hdFlivB2oqyTuwWA)g#vJs1d~&6=z*uJ zNI{6IWaNsKgiSC&O!T*{a-mBLEH%~`W?ErGU^bdtOHoW1R)F}JNK;iaIU0eNjJ}9X zv*U%wR*LyF}l$e2#a|!4UMGQ8%!HQV@(OBF%^VqOiX2K z2}V6eEge41o%^uc{vZ1P-SbP*uMT6O-Fb@pjJK+xO0ggxPoMx}zC=!sWavm})`(Ea z#;3zET`dvF%2d>qx6O8WCNDUnIG@+)MO{uMZ3w5!nvkk;Ige5f|07EwT6OcfQJ##X zTM2_jy9eX&L!RW=1aIrHBs40jU%6QKC+n9UJI^6Db>(eOExVwM)zn6UI@V3{BF?;M zLwK!Evs7J`pqF0Pli#xzvqWa`D>~JkGEq>{fQlLkR6>UD;(yHz5WgV0-+|iKBdo9{ z?-!)CZ8JRCT6eM@Ee}wY`XAFn@1iFhDqPQ|15o}yo5pSPuGT%SIyXvyMDH4hRQxkA z7fty#(5&PARdE3R>=U&98(Yel>yHWB4gQ0U^dzrtE2z*bM_e)~2WnDYod2LAz zV<)?B`OezYp#5a&a?~@4LFO(B&dB?;?Wyf*164tOt9^& zMw&|`D`GNUevN}6PZGC>Ct;#28qN_P75=;10x{WM`vb42Rbl#mR=-Mvz*Zs7Lm2I) zq+x1CG!)hDu;d~M%th8)dfl?m;b$tEyDCIQW5`rlfv1(xilMh;h+fq^Hn3S?4lDVX z{2a_JJ!L>}I$PrsK?3|3Arl@m(-{*eAzj#v=-x3%mwQI@kP`TdSMaGA-h5D?fk0wa zDWunGo0q0~k>M(p?}xU?@!sH7XL+4h8Yf#I#;ZMh8vgd(ScZufqjEl^f!~@<^ zLjiJ+T}(i#TCj|W5GEWJ9+~lK?IN5J1>M6Rf5lJNORSuTiwNMy0dUXfxvcGBBpM$l zMn-xl#DPm(gbSK!9FqiA`m=uw(6sEqz=z3G)dqn8wHk3&dG_!WI6MOKeJ+UL6~Pe^ ziq~h0S+m~b(+ZlcXgvXtk69enJ?6xg&T-fX76MfNxEGTHGtTvuCaNi|6H1AdLnsU* znKP+|uAUVF#8^HItIdmA%5DUov1|hmUbx_K#BIF`y{4BsyW~z=eLMEMsZ#AJ@_FfY zmwGx##w|l~T94_@`i**So_D|7WCTEp7*@x7a4Va}9aOgG@-}qO9`E4KVfm|{44D4S zYW;MW-2RfET=~n(<2D*)s_vd_@Gd5KXl^_Z66PW;uJUu~lEQ3fUw0T)X3N z`T1(AoPvnsg02p6l73E08lPO|VnDy@)pjzN@ycgE_9VJeov!zLk{l6nXId#CzRH0? z0@}hXzwqcVA}ci&&TR>f2-^0c8xLxgj@g_NEI4US19C>bmp^R`sSM3B0Tk8?T$QH2DLtXp{a}+27 zZMnz*rJx+3U>WI*-9CQ%m<}IWzsv9ajeMPzg1}9z7B)ixfdmYN2pe!jEutV`$tWO` zff5v@3~dr2jo&l%Vw-46X$=traMcMYP+=6?OfN8yCe+5N!3qU^oR|_S4HX(c%tB}y zQGo~~HljmJWTX%fx3-aDlp{eblk9nKF6W!ox62?e3h*GhVhds|!f9J1j{|+^F!)=I zFYD&?|3Bd8dQQU&?dNWT?JrDX4C77i=Hg)~hB@$Y$;z zU7Q@NWkDl;*dppG82kMaa!OJ^c6RV$@Whq4H{WJWo9&C^GfL~|Qpf3HZ*<$BHwSmT zb%wRmr6vw4Wh#l>@Gas!y(hYZL%AyO1S;&&vZHS_w;h76JLWPj$H9=8P;$XqKzM1{ z$!oqcR;VTyHwCDu;~>;7jJYB$e(GCu+Z@P14)nj*w}?WOah9B7nBdI*;J-=BY_UhBcx_}R~l-MPLST;05gUo>Vc_9#@*cb@va z2Srg%yUM#{Dst7NQ|HU;;?#skEqb@RopI-4qNz;o1arMZL))#t?agOu);3h}8Wyc$ z@fQGytp9+B9`xiSXEZ`4{d*^2NCR8O?f?$6{^*a3;F%3s4 z*x6q$pJs%>US?JM73hJ=Fd`7O(i(ICEZ&udg#rL3>`}F#KoHO?TG?0r5+Vdci!8Qz z0wNew0da5X-6Af|iHL}!J3Bl@S|EUX)I(RGK$#3cybn_sbO8#bsoSaqF?*~2>Jze& zGW5PDfZH)l5DXap7uL`HhDeouU}~Vf+))HL_Wk8BFp1PT!*`GCR~u#|oz}o6+#lhP zx)`=cLB;Q1&sF8LEKikRX68MdFZRmvdxq&}r~Lo#>y}5l^epRQV`-$pp_l_082$sU zf8vYpTWjRj?pXYHmt|Fv6TVEpk6rP+VVsq_7+5zf2Cg!Wz3PhOvKm1cSpHuR649U> z2&P$4q4zN})b6YebK*He_q;Y)nV98P9W&P-k9O$gwndZOq;tiIVvs0|12Su*K?qNV z&hF8#b3TbKr9$VX=tdaJBdS6m01n_l9^TxH_TO&pVin9ud&F#|cTQfo*FvD3=Bjh| z>^}_UD0j)Kzv|-B)eAuixrcfQG?-5`8BK{QxORDxWVJO|YFe{SDx%G10CMud8lGGz zX!<_hPCBCjS_fqXsu4-yb%jHdDo6L8?#5%ai(t;n(tp3~tqhgh?WkKqC=g|BZe02i z0Nz9DL;xGYoCpyR+<^ejnXOF?;r%|I?$&3t>?;w`dOYtwl2|l=FPojcB(m665Ca!e zXLq9+j^;LQ?~~_jq-w1TlxZEyK%_YgP}gL_LqN{kQO6W8sx42T^+@b){cuTSf7i4)shJ}+x}p8Ins3nn7p7ywb7hcYLY zVj%(u0|Fw5Ue&#Y=IaQKmS=4Of}mLjAf^}&AU5@1b?EW_J8ihp@b>MODb`x+q^~PA ztGj@?h64)<-bP%+1H-HVFX?q1MX!$2Y6tfilAVlc{#I|iZ3)mEtZP4nzn`S zfz1Gan1{zbKsll^>&@#qtUxv96L=gi;9?3v%uFIyU)-C@fqR}IYHzX{ zCp0GUdFupELoQATZEP+nw{>s6m|*My5|e`sgU>bStam7*9pGvG1G{JTGN+Eq*-}zj zo>;Iam1}qLqvO2oMl-h2xAREnEuM^4FU?J)TgH4j?a#N}g3R+Vw^;Qi{tj$w-siiS z_rL3$>X==*mV{9n3zt{)st-hkT7Of#37S@IPqPq9Tmo zw)SWiyJo-@W9M$n=olEz#)3(^a4u$CFZ_3-DQ@6q;;P-DbTh`6R;+H+kgk4H^7D#{ z$!Cp8+gg%b8}RsKPRh`VyjRK+JkPmq;h3=z8$;2{3_a`NgErJz>yH;Rx3S|cEA#_~Gn4Z=`uJGO;-WVmb6qU*4o zaLQrS1j!l7s-po7dGRWNj=QW7guA-CzRZBq19IsAK~Tme(0;9W0v77NRNp))%4P|J z>BS$>&~eeqbsbcbAisTQ|GQh=IiDv-3iXpQnoERWpl&T;(3V+%QK6?zKK zcnUgiX6?tgFJx(s4%UN3j`o7#*{C8PL(wHaXDs6?I0l=hbboOyJb6B-Q91>L*c%)m zgTNzorKMo1=DK;8=zpx$+@DRsIAGqXmKI`V0pQ>qu;{*ds<37j5Dq zLgM(m-t+EhCK+pT}GVwN(^lN5KY?`aprBmT4 zl>^`HsPZ5{g29Nu#0U?a{vuIX^UWi~)tR|s_uSwxLh@Dk4oieXI${I>q422W%xY{t zkt^BvTY#UbS0VtK$i)WvzykWwLScCjSpufljm7E}8(O4*VL1w{3Igzg{`wDcRWf;T z3Qq-qf4$ZIfPEr7JWop+m&PoI++$uB^sv!W(CRiV{n=_%Id_I4nJSskL~tk$I_>L~ z&Cl>9D(x}&c%h7gY7<3ZI+85rK!;5Wy;p;KnZR2}B93W*O~(BJzv}9u@9MBeWO0`? zPb#3za@N4#KD9z3*6RT5RBsU>BDLr;i)ZF=GA}X1h=}SW;*i0s+ceqfsE+2OXl?oa zSHFFsY4h@qy&9brHG|TIEnkInYeVe!-;@&N^n>#G2%`X671jS;|AahXbHoZyj$&nC z2>E%;8zvUWh(3m9X`=1T+9|`$d;LAB6VUz&`|FL;Rd>SQ-?#@9Z8tu!3Hm+ zVk)4gu!&%?D0!-gCS%EiH;m*!SC$sfeZ92Ml4~Dr3C+An$=>x@yUjOg%g`O9vCs^m z!#cn=<{1-H)cTbHnXmABh;L6ODLK9by zsCiRzZ-@Ukj^8u@2}(`f{{9=9vT`i*3T8k=`_fe>~pxY3nv^TKy6%`G@v+<~*U?P$`y!?^) zJ=cZrerH?O@LTSir~fTHf+EtK8jg6%}XE3|3r7a0P%O zmj%D!sd8!!0-%RAfdHWa!D0iEc@oal!|4J+YD3-Kjl?=6NlJ(uCem)D5~@(3w8$As zvdL!rZRc5`Y&!qL;<&^*dK|@^&HxV!%@y(a?(c1t$}eSh9lxu1PjYQ0#RBd8S&w~Q zOcMZO2VfprAjvi0_xwhO#Ogl}dp(ClEr2r^=(Mlm9)jSLxQC#BT$)A3(y;P@YlYS% z#A5|O)FUPNe#vjlruEOr_cq?szd;VOmrfAeD|Z zFU7bH&RcU5ybQDS>1u1-@Pxn|K=F$X$=?&+r|h8$@%AGTXLIXSMKP`+WM_wkERsGZ zP(rX^IVSOifq2T+|E;b=bA9;dsT zv33j^2ED}wI$MmOW*^jVy2Dhs0Pp%Q^Q+bv8z_Flb-p zZn3Q<6d45p?VK;-P|rk3Esk8UH+QOra!x*&!t!NAzszm&FuFrGsGUVj&awq@aLamK z6Ch9Ph*A~7+N&>IrKgh~x){yd69G*GzSaKgSyTGt3Xxm&T6u0le3j6_4aBwskQfsW zBHA8hSAC~!6(Jymy$iMRw>oJtDZI(DN`$fpJH$K65IT?87>+kA)?@~Xo zY|LCL9sR3zu|(FY1=c=mNvxk4+Gc2pCZ zg*}`u)g`*ky^)HBb@P0ye_oN!Er*}et10pLZk%rp+6~cevcDCVE%}3{5k>8!%>>S> z-Jm5x_K)P=2ei}dj%RN^mw9CTdZ7c(DZ|UxIZn{Dz5R-CH4@6`H>j`mm}zG~idXt5 zZO5+oegwk^%~*Kz+cd-0dHeW8{vL~Tl$9=(F*dbSGN2yY70(SZ$i+$`Df}3{76+pY zm=s(qY=5rckp$RgEZbI@LSPHKqpZ(RqCg8bX6t5d{}nJIi@kA|ertAa3CMwG@1HK- zqlCfQTTv`x1PELx>u8W6C}IRaYdRf{ZkzB@0Kd-b`ba_h^O_Wdxuzqw()TY9^`S0~ z+5q_U8nRtyZTcIa1}JfZ_5dMoA*LxUzhMA~d{9;WHl}VTz-mN81m@g?$J$K!J%;g$ zf`VlV53BLK^ZuN$#@yu-doh`Op1Hc8Q+0IZ>M*bGe{3HqqO<}4FAGg2g@y%kr_T+Q z)#X34PeQa(5GkZ$VLcM=K+o%aBSEt=9C=P#dBQ9KWMYMTR#O$+wia_L6-PT}CdLAf zVhYuv@mlx(;{i!Q>6{~AAggd%myF|&31yy zCIv~;bA~2uqHwQsw-#P#o?~ABX+Aw5;J7Gt*7itjnk>ns$4iO}LZ7G56qi$hzHDT@ zY~=9@WF<@hthhC4>hFj6WBVG5=Sj3agA$;-9&o`OnFyGV2+L+HO5gt6k7%^_2AqHI z{0KbuzsAgVPOP%>_9QMKEx2Np^^fkzKsnx1cG7ESVMW&4+H}U?6Ncr1)6lqMixC2e z=>xgq)+G-RduF_BvEdR2@1>~}n~L9(HUg^?Yot~z{`y>5LGa@r>r`^Tr-R>Lfl;J? z=2K#CwbnWw!S%PuD|l_V%s49J&$X%SC?=~Tg2j7&!t)8GAiIqj&ra=B?%0@KWSwdZ zfa(drI9WQpeq4FNQWj{5Q~USDq3A3nB%+JQ{1PP5OX2uN1<<38mDZ&US7k_dOqR)1 zvlxPFI3bG;FQHOK=$%T8#`Rij@E{r>m<;|1_TrN2`>I9lR7b7>cjTKD^%4Tr&}?RO z9;#xT5iqzi)rw+0;K-6;)V{R@?b#c!HkvtSfSKc>4bY8|G@~zv?Bul3X4>FYT)HcI zg?Alwv?iJ$`|n|g!Uu~9b|0vE2EDw!6G&Hep}W{x z(xykg6Hy(aFl>it=fk1<6{is4Zy^%J+D;}XZgIe$Juj;K6i5$$B53e4+gYj&njk^n z@Z3(%XvqQv$cu=uKoA4jsW^Zl4SVjw+kK)$2oQ&gz|&aEa9UG<2uNIH_J|PxjXA_X zrRIIuga}0#ih2Cv>8#mTX}2D$6ymj>;COPyAnzsN+*Ce&H2cyzLXtE_98*BM-~9;{22h3-1{E7iqH~crAVmqxXdIxb znnc)`nj4cM^5-@C;A%W(^SDBSdHg!V;;nFZYAw4ax8>Ema#1=L8|2={=p-LHRgQTl zVJ-Ry_FTyV*^g`4V-DO%vFe}pNma|!wJo()hn<- z00taJa?35rs8V7BS3>N6<2<-*MY1FdJjd?i?62-n4=op$tx~B(=X-M9U%r_2`TX0W znCJR}0|GteW*;3S zee`O}N*-OgUr{)wG$(^c5`6OD?PaWKscXIwKp#%1?q?Vw{w(xDu|P4;JE}s9qOm2G zS_my{qy$r}J9w7&igh1NXR*ib@vp3smDOpeJrID(fZ$t>#l9xDs#AtqdvlXddHcv=})1L|-isMH1y za&Okb03Y7gmx=ES&H_t?n0==x^xpQK+75Tl%WS#4ESvibB@_q)(lGK))(D9NSSP|Z*BlU7nJ6&#H|tv#chAu-Qn*E$gUpy1f~bb}0>^x{I+HP% zt>t{J9G5_%sVa;1hbu%Jj<>#)D(kFVbt!ZSmqf7$&&A8 z&PMPfMqq)6EBJG6lRUln@e~z7^gC&1%q_KIeS@Q+533d(6ohEU>-`SlI%878?)aVj zWYlv0Q_}&Ha;foxq~qA{TO2ZRdZk!^IlhuceHrZ@PoFn#o!|kY1{Ro2@9dZC|B|>F zbdM~>gjIz;F&_0N$zUCSH|;_X80d>Dq)S9p6Oxwdj^h}Bz+4ph6wQBD#gzbeeiH|g z4ux@!Aoss4CMQ;*1pNF**{bohq`1AB068WAw!eD%NhFH?Zq?!KIZF@ns*nq1?BGdi zECU5x*SYHy z*B&Pq=XHLDOYQ1AOP_Cf_PpyoE{((SS=;>lP=*6w#E^i|8YCvZR+5_rFk>X56B>jj zpkUhuFhJ1T0f0B&5& zKPXytS>9(>L>A`_V2nsyPf(5}FjE@$z%*jdd*&l2UtxFR=nkRR|cbfAlltsQ?a59CML zpLrCTUgre2?nZZaX(1NC00O>HVcF#$`YD?`ME?B0!ZS7ezYvby?{`;VDFaQpfVjX% z7Y50=zzR_AgT~^axw$7&S`xep?$TA%6t8bP{087>xat2Yh1Z>n`e{yX!zj(nE?dEA zX`qiRnwBNN1WP6%rZ6H9h6e)- zfu8!uX8%a`xCR;b)l-sn#c6mdf9WHku7kJ zvj}6i$`U=2P(;J{A~`Z^t2TK{r5%mATD)}9;3Zc3O&1$0L!H@y`}RG^?&GI9_LJ#u zubU|v%3iNtQcj`joRTUZ z`4hjbXh{Q<7H4sHYx3MM+1!&FURCh7N~_J4TDb8aF7yp4eN$$-4O@q$byWeEf_Dm5 zaPcS7?P56yfsL?^ZB4mV(w)_o;nBo2{GNLjl7xrv^FezzVQAR?4n>lCVY`1@2i^7D`Did;+#oJ`hAAkJ* zjYzk=O4E;ph`oX-x=>WexL1iR1|#P_!Jj*ptNQCqRfK#)`ul8GC2(S~-47}7etbTY zQE3K;wKN_l*Vfb0(VH1qVNf)^)T%N_B48o9O9i>iva+UW_Gac6%nWj=;PNp@(?@*hIA7joU)K}-%6wXI zw>8gGCJNw-Kd$7_k)x%@r=fseUZ>Uk@bApeZR=RSY+7J1Ai#hN9{e7Q8R6)D@HTTk ztZ$Mhy0d8<#3z&{*;k$1gAsdMN{AUbvO*&zv#W-LeSOozBBc}@qgsp9A(C0!nROV3EtC#(W1l?SDLSoPTD(@F8(=$%#%u_sS~F;Y+z4fsouJlO^E!%i$FK@RkM!1_J@GbJehoCvjaepm}s{9J8=Dp3n=XV=_}iT z(hm`fxx>jNi^-^SGM0QPusEZTeXZ4d!cb^%$tFuTHu4p+k4A<;EP4kDqB4Wkizila zD+=%JLw+2hUPv=`$0dP9Z%~X1qWeQAb_d2{FYQZBGP{eMz1_47+8b(LS+ygIM8;EV zqM|E6MVmn5I@JeBn zoCR$t^i-2d;Nf+1dOcPu^UZ(L$LKyb`=;^;@NRrVSx{#D%Jxn*snF@C1+bdOYO(jz zGBQVgY}1if>HvK{!XdF(9+;r|wQ+Qy7bh)EMU$IFEclh|nh_Gs6cWLTVv~Wi-o`Bo zZI6xjdOj2Vbxv(k$t(hM<%<(JKldrkb7Eb4BuQ~(A>HXA`=WG|E#blIT=;)k!wk8n zif|@)h|B@OUh4K+ZEhPz+KALE*BA^20_i(u7rsL%rldE=K-WuB`e=Sm^~ z9PW2H;;tod@)iAR2X5pKFO9$2t-9&@QYcDoa4VS&+siA`im4})#?i*({=!nEMTY2D zKxL63h&B1+RLvRDmCfWo?^2ipafRfl&B|p{0?>PLCxRx_V@kas#-RWJ*B8d?Qsax*Z(GW#~v^a>X3`E?laRG(S ztDaT+Z-UO*S>M*1)QeYqDT@Fj_PN9WMQi^Ag#2^ZFOEo<37c1P!i9i1ERy$O`D+e6 zgr%z2`uw*CE3y?*&HZZ5Ce%1|NubPT>(>WmDpSC63i+VD;I)a`3fs6bGA{MBRm z6qub)sy9#}Hu^lQ3_qU?LWd?Yr~XQ(opa*>MA+NQDuiCA%quEJ)Rthm5g zLZfJU02C<1y>lP2F7}0|!;|Fk7=;^`NL8Dr(qvb-=_R0WkoGN2wNg2{&=F7zt)v>P zh(kzZCLZ0s^b7$k_WW|=T;CO{R?l59jJPkAQgZ)z4{62K-T_xj>ym{>^CLs@Oldb# z_O1;xDSKqKN>XRmWB%0Ok=k7QjQ;vLBb=eAQn};wNE9L{!8}+XnU6ubV;tYx6W$EF zFTT^Tn;97i6MvgXg*VBkFnb07Aq0CV<%mm!<$0QhDRzmtC)$K@b1j-zFgqQMr(lr) zw3;O)I`6_duJyK{b#+-(*tWreMEdGtf zb=em}|g@qR}Tg4D_>iLTK&5anxcu z3zQK(XE} zGfW`9zxR>h_Ak8834r8{XDW4`Xp|b}foQxEM>iRWAaS}nx{z$vzmb#I|8fnAtEuw< zd_^Tdg;>e)Q@DpMaJJ19t!rt6)Lt7zt zh!gM0Fd+Rt$%#9mta1<@Wzr+4oxulmRVtxVYIc=xov7p8J9u0zoC1O@m^ebj{I2H? z#4Yw{rBR{pLi`WAtSpBWT?JJ|^<~ExJBUWbsO%b#WCUd8*QoPaO3O!{Ix)M1+6TIDTsiOtFOdZ`b-j1w&;!!yj zcPUWvFP>ld_F&aQ%4Q>!h=;1nl}QJVyE6Aw0s&5+=QWbyBt%7~tETqWG~@1TSal)< z2t4JxSsk?w_ip2ZQXoW+FG$t&$)F9LpglZ4dmvpy5!SSG-Tr~-el!O!ltU)V&5niQ{Tz+z5pMY{ zl`E{EO7c(?Yd(B!M$QLzH9kghkY(Kf@WH?em5Pa(3Hr1ii9CvYwC^D(WJayju>PSUo=$b)_-pM(4 zSCXdb;&sQKGOfN0QKF!Mr&QKFVq~tD!7uJqy$r&AMN% zV_Ua-`yu%m7>}s%Slm?_bupS_L~HCar{B$n#ocsw2*R*n-7^XF@u8Fjg#hl`ktjm1 zoE|&S(tPBW^$S@E(IqO?o|UhEitoJWAX8)q7~}GvoeYrzjSHFDM(tg#x!DkGZxlil z8CL=|6hhlkGpb*-S!z1jq1u;L)TMVnQ@N6YjVBON-RY4J>W*scoie5#=#EnDG85wd z?6&7FGWtSUyyvxMhl3B5_;_$7r`jOW*9eBwqs8%B=%x%;tBhf2On-v1UI!Co@Xu0L zqJJNMCD{3xl>d}*$0m!S zpkpS_HCN2AY9(1c?z!0gIR04zncRq3qrF8kz$XJf&6H9;@iJ}aQy5|u_FoU8-d=BO zvRSGy8JB{25SL3vaic7L!QVd?u-AzRc6I7S{a!)K+6_>=JTyjOdcwc(EuWz)OrgfX zzg(;0jWdFzVw%q{H&7wPbde1}o)&|N{uT;a7KCySAz~YOS17pdkupf3!bswm;KRik z@HRGec0V_onIw_7WLXpHZI3McUQo=xE zcf9V0^R|+siQY?AJLQ@QQ#vn|#6;qRGu*<# zL#%;aW~wt%ps-3gkeSY(Jc!L)i=xUN%LUuYOR#GWYj`9S2$GO*+drdD%lwr<8tokk zBQv{Evu}}w2U!lMLI02+IK`0p&P;@(nm6?iwNpMnZNfd4=18i3^Exa9?FtNHom;x) z=TsGv{htClfR-*OahaOu7oP=m1@iLU#J#XA;2U?-eP96<(<+u3`9n+Q$zbwn{+zQUWgx|UNTtANGh-G&* zS>=S7dF7*NM>DBcx3@NbX{Hq{lfC3}XXnc9Zvnr&l?JPsq-Pbecl=yNwV$wR(a*mR z$APpPtd2eCiZiC*5P4{r<-9CT3tF}V^Co@9h_Vo8wG9H{RNjbQCL*rEju0wH zF6S{PM;VEiw(04A8O_;2(?g*NOS-r`A?1=ro@6`3@Z@^#Bg8>}6$Jix^BxaqKru#( zi12>_aPSrCcY((b?sn$Aw6t=cFNJCxmXxnJhiCA9(j`gTCQz16aV;7U6CU-`Wn}V6 z22MXcRkV4ze-!1X#a@q7?ehG84jN6YyginJks&PDb{NDQdsat*$7s@f3~Z5|U@dit z9Ur;Y@g5dpkP(Ef{C_)Y5=b_EYp;?LMn31$kbu)Kz1ayEeD90yOb!PPZ?0x2K~>~` zv?N{YyxHUg6?ft4Z4g2F(f5yZMxVfN<#pm?Q0IS6R6T8%8PJsRR(-R+T;^tO!ggyr zR?b9dY%7>$u~O=4_Ok1&j(|pcGXGnixi6iy4 zfpfB=51?1I*6{o?U>-6Mdd(tgS|I<$?>J{5VU)?bnRBw7b)L9 zB_V@S5Aa|yE%lr@nkKZSq=Ohw3VNoUxEnjQiu*_Bwgx>(IPPZyWsv~{MG-`++zf75 z3yBU9L`kzv3wskp_M~(k5qugl^B&~-#3wormIOL!ThLWU<`Ckby4BfhD|2XwoYUi5 zWpMUV`|GFDzqN0{O9M~TYT3T1;Kekc{uPuxi;OeHB70!$tCDK83#o_@Vqthv)%Cs!h!V2IkH;04NQ>`H&ds1iTnb9&4SFTamY+Xm8k`UW zxce|(@B!d!d4n9^Z1n!h2moZh$NX+`iv7{Nz||A2Odpo_Nh>Drzk4!ynMt#I*Ac%y zlVSEbCRStA$<=p=>!)n2pq*^~lEWtETicxp@i`B(?Lm>M6vDe}k3ItY7PucEF$wAg zW0Cr-}+K*#Lc$kY=EkddD327D^i} zFH{uGSBk(S=g+Tu2xR@NC-CieI>d%{D%K$|p)vnoO^_INKfm7(FPMnL=id1H2yhCG1JUg z`MGpdOs&XEYDyiFV$|faKM4gNT*5+2&v`(xohPX>U+Q*EFo*4+Y|p1^SnAcJdUl=! zz(~wKM519)j)hBi(?TB~anBR(f!#Yda^YrowRhRHYvJlim)W1+G>v{AP3l}gg3N`w z5OWgOAA%>?`0UylU2pKOo_d|5z_@YIfSzI+Ix~%S?ggte$di>g>4F&7t&HGzXtPzl z&S8Oo&93(ZQLm9W zpFoGYZcsXZ6kB!ojfoH8?yp_-^IJ`yJhC^m$0|Yau-q!Su5shrDvb@se*W;zMxXvb z3u(afv07-qGoSXmeOP`~+_(GI!$XN&*Ik&?>MF~0>S-LQ7~1-|-dQ$xXqpamvHDRfUubE+mspg#kkwFJCrE$R&%ao2_*` zq#qnmy0MJLJ-l+)P{L-Uk!O;-eb9aZes^P0g^@sP-4n?5kL|L9W3l3t&2!+2kyuP@ zN|!<4;l5TdWoq>sRB=kmb*F!gO#cwV9_!!C7=AXc{eZUxuM$}eC*0_(4)`T*Kc$*4 z=dp#mxn?yAR#qsHhKqrk-Y#^?RCx^!l`BY|?W&7%Z1^p$Fv)VJ)v53ev-DS&nbG^! zw4DG~Hu- zMy1|=y?Wu&YH78Ao{(?T=|W7IB694_)KL7?zI~nBv7UkT(n5>V9-JGok^BzQa~@qP zu?hOYMExE?JWOhnW?=*Jf`x1(h0pYDn(cvNs*~QaF{zTz3L?4TWjOSw4B`bPePfCP zE<<^0_q=4=bnq{TFTv*&gTCleZ>ic=e0drRfcktFW1?RMmH-TuoH@k!@Q4kJyhk{Jua6naHwKBB^EdL3lrZAEbTYodN)4l+X)?FWtPMh~YqX9RY$4-AQ!ItqrU&M z$q)kDg?&tb0191)FVXhPMW!G?gZHaFdRb?-}f`zEi+9h<#wx9AGI7HHtgVi@BX z!~!P6-1hc8JRi|Fd#4%7uwbB&CRh|tkeB|dvg(&B5lwJnN@A7xC5l@4gTZ=fRq|dM zt|Z1^lw{EqEf2s5o}8T$v@JO=(UT`^-OwJr`)_$|c+|>Kmy*laX&|QJ5eg*f4Ltgm zMC1KNSIKvD`*1MFz+x@eq4$BtyyqikOdX zjGnBg#yEno)b6+@%mlR|8sj^-l$UcTG82vgG(JQr$qd_oTAI;X8wv7Inn30nfpm=s2gRI@I|K(72w3n<*k+>ixmh#yCzOZ zRoo;-Js4YgpUm7cJqe_$7CgGAXTPHvbaKIh?G+<0!el*C-Qg&IEFzFofb&w|E>X}z zW0`>^rPB1wcaf8ohJ&F^w;yG8f={5|XDLeD-Kv;d>U*|C%WmpnAjte`Rngn-k z2f)OD?bre}+|(cd`F=Qvxqp83eWDdif09ydt$N?W=83 znDNEv0Q_|c`!dZeByS5|@~$`oFR(f$P@8atcij?$zRC|9Xb3MTA_m0o9Q$1o>wCM2 zM>$^4vKRWn^V;GQPK03OYrm=*$0czU=x)cbAXJDjP(naP5*tff0bMpqDvhpe#<(RC zg!^P|`6$>!Ct^SkiH?0AxM{~jkvcA{Wa`YE#H1SBVrk9T9Ek?~0(znFkRr^^@=<() zuGDE?D4?ZEJ(GAhb`$VU6;6%?Vo&J$$4mQ~M5yBUB=5g+!+z^fEk&YLmo|aI$7c}1 z@13A2=_xS`JH;as+OC`a*me$w;%Oxc2D`12mG2HNIy9LZdSo07r#0$}czUsjeS~@e zq8)jS1d6`##CvP9!eE^b3<+lVDylSUYnY&$$b(%obs$}d%rEi-KsdprtmvV;r**~k zMM}GSYoE)Gp8kUBL-%yzgb@KafH_ZQ)q+`$8RluPF|DPpZ(I~q(sk45vQlo87*>v) z4h19K3)Jo=?$n93mHG{G)*T@=0d9u6v18n4xhD%8LfAlz@WRlQ1#!M|S&~=6j*()%%JPoteE*mP`q=@n}f&R42HEqaBH zpDa+Mz6X3;;gE1?P}egkn|;|6%-`G723aRecJ{@pI{F1hfZUA1wsj(06`MV5<9`$6 zjd2rzh>Ft_714}xeqI=`odG=#q&hll?2NeJ-I7g{JAZ7ond^bwv zer;Bn142)+PMuWYS?X_H&s}f&q0Iu=o%@}9-fE4%XnVWoGxd28k0P~Vi&tz7f+aMr z^2&o4Fun$J$>e7q#S8e80yN8d&aCxNg>Iy$1Z&bZsh2M0HJZrgZf7E86js6BMcJs+N;}L8q zzV(-e$_r8J8v7DTo;@Q2&Nrvu*+vTF8<&@X_P+E12s1T;ml+A2j)y%3dsn#yM~dcX z&a2j1l{HDq>XhLnuiUS%gI*vWy01w!umf|mbCVO!Kk+}oqsW?jNcZ6HV7;6N711?x z=cXaA7AB6Qa=ig)YR7k~SZJ^SXx=D7QW0ZXo)orL9l&&j1HwPj6O%ge8E!HEqPEy_ z3~SEwj=l25w>>(q(e7f&EWR@l+M-md+lfL})(+}wW8Z5qcIxT0xBrnIHI5^}2Biw0 z7+h-{XrfH)ukzbDHvlt?0)s9F%zCzL_P(z?OPz9TIc;olFY4w=6U%5|{kYE%EdvtF zf-tv~XPi_X+a9P^8CsX0#6wo0h@}|STfVm`cekzO)MS#HslEJ{&0x7Dx{tkVvt}V> zUN(gG87NH69@<-ja)ZJQBhsL*F zabP`7Sic<#kvq>N6xJ;=M8@9YLHnQ-Okte4@}yN=zOP*SqkZy>swEw zM`)VFCXl1WB9eUMlw}_@Js+{{A_rQ|yVr`YOCZ}u0%ykfzsuAO2XZre9U|Fm1)pSH zNgi_o$j*e&?gQ_(x-pJ4dWE(ytFZVt7oquu$mzd07H?a2#+~%_U5wI4bx~EPt4TNegdQUv$i*7>DYjr8|kpYgw z*74RS z!x?1#5`o#i+f`*=exQCLf>Lc6s8Xv~!Uz_4G$Hs>>ykB}uPD?FA z`)xFEsh(}i?Ut@3KO=W{z;pB!lSUTQsgnmTEoFqbN;xTxDccEL?v(N_)KOKHTFZ(c zS2&+sk@R?O`JQe_N}zc3ckZ>gycDvg^vmAfr>D{*EZ?@?AdY`u#dVr?qnh9qDAbI? za_?PFzAix|=!Bhh#lXOpmBy;?#8_9-N#ud9K|H&0D6EOgIwWmJp%GBikB;cnVSHD^ za%)59a z)n~JrN4{bNQ4!j6$bk^+VP3F)XLNuP&i+@@5RG4V*8cC#guFXm9!_a$x<=8ae47NR zLGI69ka1Qx!^l=IP3j~38V2Oz1N(G5v%Y+mgSV7~>+S@imuG0%H^SvuFI@75@UY*1 znptmqb^cuSJpaIRBgbOK_Bw(zRA5{_LdVn|4%-*PZ2x|^ltnF3NS3m z7N~&bnPvVJGFZSbk#6q8AvB>wXi;L?4LxaEh~#Lx!x_tL_*1nt0b4Gh%t36tfZ@QF znyH(XpGhe5DQAe63>r<4h=AIxp^L>`rYc^_&;9QSfz-`TBO}f*lSI4{5T!HO* zu;*@Se2lyI%Nr)3G3jF=K3}kxnNp2j!62eFv>k7Uk2mx59ToqkYXyZz1^C1|T0=uw zj|l_)^ZOqus!!U74o7->S_#L2Ut|Jj!|42Hwf0AOZQpKE?ekw zuo!G%F?FVfE_#Y$9w>+MAFLYT=R#IJOnc_F(v0uXB78b1b-6c&;QhL~o$MWb?PYuA zU(t$QT?+dCA`E5BvTnR+Eugc&ZQWDFR%c0N#@dNdZ7JSzI`plWnJ(u$;5_xJISb)t znIU|aFB)u2V+Q6?%ahfNG*hYk}@MU~iA z*D{zqMQRg=>Q&G>>bHedk2i`g^?hh&rm^zRLmALNK@Zr=3d0R~wI{8OwatDk6r|yB ziW`@!)xsUUK9pqd#?iqIjDNQtm6#%24EAgz!SucvX`o*O)i;*ZUC!lT#R)p?zVQsp zqad^Oz6bwp5OmEG)HIeSgUW*rR&a1=j5a9(oPN8KlkJW9!ok4z_bCw$Yx5c4 z5R-ZOM4&)`V3oP$41fSzHbM{x>$Z&kLIubDS`2|`f7d%Cjjf>YFz_f~aMv}1FR0(J zF%Ui$?@H$b!*2Lni`fWW|AB#(HTE>Ih5@0hN<$RC-WR-1pE7+|RI_Z1}eX*7x~wqK82anZJ}AQ`CZg%0-9XYKe^-(jxyHN|TT? zg0FJ~dCeLmapaLo#p2&@r&WY$bVNtfY;R7+c4cnbbh)m+$J#W)c>DTyunq&Vxiysa zQWhn+VRENEu{W{c+N@y^{mcn!3WOrPn=hr(qbmy$2u+tlz^ZqXGYB`zBluJpwA4w{ zpPsvp@#$gwXg$gK=Lkbd4M>aGVpNOfEh2!cPpw$YYZ)MY=8%l@qQUR9ClR*4*i&TT zY!Y%uY7F>3uuX~uch>hbFTWDFxYrkt_{weX0q2$XpOd4H^X0oX@4kGcc@>_sKo&q# zUYTb_A+$7ar_MvoSNejm%?k^#@aS2_RLG?C7V zXwtNVRg!9=ZCi;SO9AON`l-#8vicbpLG239qT_Xtaf zfq)Hzt!LWITs_}1;9xPN-|&^c`F_p+0|InlFPZb0uIG*Qk&_LqBY!p`Z5RjI+o~a| zA&8;KYRHdMo2Hp%6^y{E)8~kN8CjGVcJ>@xWWy!|PX|5`YktZRauaNhfI-xAb zz?j}@X|rr4G^wW%4bOsBOSPYVZS*M#tgVLKg%J@8`GU2xNSVDlhg2ktFNOinbCx^- z>$>OFZs?F(UQ<%+>7f8}{FERKzk<>^35f!$l;>oSBKu^70`K5A*e_}%LAx)G&Eyfm zDMy|~%3EAKiz(v1zjIM6zA_q{REX7I`E6)b&@}3K1!b$of(lj6H9=qisU8gC^{tQZ zjT*wm>p*a|4{_$9rjCGmM&kXk2GRD zz59nI@e9Y2SAD-P)%xaGGOscX}zs*ct_a3Xpsc59>bXK2`l}SwQ9~Hcrn=b zM>dvfm=e#+vt?(H@7~$LkqEp^0<^uPP&Q5Z@ug*wF`bnYa%f=I_PepHoQ&D_cP9y! zNDSMW3?S^Zf|6hRpV73xus&@S z0rv7Q<+1$f#LUf9F8!s_-K?6_XGXhJ?F2s%oMW5|il2;f6Bk9hJS%gcA~XaGB=4CX465W#O5 zd3Ou8n>CwooVJ`mg+Y6fs} zX9I`R(zo@N1q(BnS0e=)swDZj?`uR%Ionav3~&~WB`HurmHkAwzlJfl6oyU_h6uEN z<p4cM3&` z%LXa$wH-3w9N0#bu}N#*EL#P&9EAhXd7y3C^IN7s-F4o^k@A zTx^C{iI6-UZYm(L0|rbrj0Y$@2cuP?b<)bV<->q%T-3XYMedSn9f%y4lx;v2OVAA z0^lIG*{M=T@5ckzT{VrN(W&=(39ab>yOhkaS+AbCvz8i%w|G0quIsmy_F+<;?~eIR z8wqlm%;p~%{HkV}Ab!_J*)N;B^|?TxpcJ`tts*G=wGtPKtjitp(@apvc(C0bi#^LI z!Je*jFLsA(Ei22^rUMfHYy3bIo;K?Iz=;-b74nk9-RQLoi>yjy3GS5}F{wm=%=aA6 z01ftEE_o0b2oEzl1VD&-yZroteQgLv6Q0L^sicMdyI2Hwng8J+TxW9tZvMXcw#?ay zLA|JSUWE>3$706{Y&{#qr;s{wx*uAImFjK%xhE9va#2!<#qUO=u6@Kn?a`4|%rdz-HSIN2_qb(s{=LTQ^H3w*%5ZyB3Bbd2Z9QDn z-J&3VO|ZTE9q;#x?so|C%bVKr)w7#+CFKqak6AeinzxI+Bv0gRg?tNSqppUNX4AmD zHfGF@k~G9=(2Fd#0J!C)aMME?>7BX#h3EGE3$rP6+tjSV5KeX(gWe6#U-3CZ2a@$R z8FHJhr|VS%Ji5mEklm85XSWky5fn8;9jMjc;O|f^1-s-Z#9xtTLHw%hT<88yskGMg zxo|KhNa$nUTeUdl(6(jDKP)``N+yC$G@-au=yDn26K}mGA3I0G#--QZHyd!)qmR(u zc){VEaxqr~X`V)3up zJ2E++)%5zh=6<-8!{g{94k&|@EQlk78g zu{CP@u_6!*t650Ef=oY!KZ=hP0R=6@JQ$>qTzU!(w}BjX4zb;_a~NOm zFZVcjDA1DEv}`*9Y7F+GfhbDug;ua9y$tfPTs9@irxj+=# z%)h0kNKR%LWcIrY)TjTPXn61)-1}i{eH4#aG;s=N0o3f{o-p08ko7g3Js&`-k)Dm=IaB=h~DI^{LE4Xw!H2{_5K$7>q?O!`J((=@4Jm*tN95p&e6H3b@LuCCB{(!oDPA&U; z*Bhx*=1f})Nb}K(t8#5%_G0vNCKJm=P(W==(chX9^idMj+95!heG@?Hh4sA+m? z)*=Nw?NX^Dc*&zpmi|!FA*w&eP)qw~iUjeZI!7RsaH_CjbBu^sJ?;~SBL7`H_g9Oy zMU+o3hSExA3K3jr;}b3?5??j>V)OH3^0?w=MVYKb#&|EkUSH=kiG_D8vmdg$i?{k$ z`>wme;DJqmW7KiA(_SEfeoZ=WcP;ecX=iIiHXbvGhq5M(#*2W|a?5t+)3Ef)PvOE*XwTd(p=TehZKpmC-2Y@JjWJA&vO(0XozWZLI| zQq-hI!#^ok_^UQbVXq=8r9DHqBUJY>15L{stzPHG5quv$Yd^wbfSHApDI2c)!5`ru z;d`KAcgURuR907r7iXoyQ-{?LJW`@c5FJVrJnIfcArU0rE_YYW7q#+XIJ?Ucxd}Ln zD}gB;$G@Sq{Qb-x?uEJ8#v#2?50N#=RHG|s4uVRo>Ma`dLs@K$d{V|<@D|E_Q9#E z+1K(tw~KGXbt?WsD>fL8stw?1A&ovcF`&4SkGh^s7ZFxFZ+g#rJU@2VmB}=~mj!84 z99;dJ3FJCsMcANB z8;hB5jnTkt6%np{n_y}M+Rd&W=4!5CN_usTRTO>6LmY7067OT&(q+-bfx%D8!#%UW9aNmsOMawBOT+m15KnhV=T(TP}rLIY7yt}(qdOCQo< z_Cub99g^J$Gc+_<^L{OFaaT<{cq9p&hijFwwP2Wkic$N07K5Tcm0)(Ck;=@bfx;F1 z+~=)2-1buMHP1;d%&dYdzWBRUx8(jG_CtgSoHA@I<6k})e*`AKbL#MS?WHQ@c626V zsZ+MBxUlW}{Kjt|d>I_TSApikCmA0AMze5*VwQ}(|7(j=7hMfi4EnA@&G#xwdT37+ z`B(ZwxLiM4H+zt@aV>ms&j$h9E+x>XmiumG!|;!dv%^ygL?XaPDO~i=(HO8YV>KLO zHzbW?nokCI%Wv!q76--2{XJ{Whr6xRHR1UK|arw>o?FgLli0qJi#g@UjMox?PyiH?Fu5iSu1tJM5 z8cAA&tm0TmJ@M%Kp&Nu332(K<<%e#Fx>54%EUb?Cc4pu5la*k%RX7D zWv6Z>Rzr9#Cr=NwJ^BKAs}$$)Lw^HUQpdm7g^%U>)LT%Jb4n?tIUt5o(?88-yG~E` z+xH|{yc59f^iR}Q#5Nyiq`y%noC_?^Yxj#2m${;6!rq7Z%A@%O^Xmx*t2oqEy_qo$ z%H>0)O^abrxz)Wac(@q`QVnnYi=&`guUQtxJw_O@d|J4j!)hRQ5gIgJ2s+)zWP;{; zpxCstJSHNUSY;UfDJSvo7x%mWHiS5ii+iWvHYjy?qvkkGlLsJ(@|JDuoE3KNpwIF$ zn9*XNvP0PbC@4C*vWpa%@$#ZZ+-Q*7XUk%G`^NOH}rFF7x=xieafK#lV4bzl_PC zA0v)aAcIntRF0Yu{rE1oo`GlQa@|7pgexDsUwZi21}^9Wq1~>6aizfn@@PVVY+#<@ zfT6$Ca}mg9MW!K&SITAdLV&%7{T>^=o2%vdj=qPipjG=L4+WEA=X=-Vk^s9h(9Ult zfDGfLVfl5E00k8)XFl&y0EfLu;vyxRolA~GCjqjffDZ%4zibwf+pZxueH~u~oY4F1I=^E?Bmss0X&P37jul&5sBFYtPth zFS6M}8Z<-7q>h7C@Z!&t$$!X}k=D7vzs+rz&YlP@bMq>+ zmIVlO6bm;LF9R_IyPS|~J(LQ(s8bU?8n*pw2gFz{8JV2f zFkNef^jC-CMhrptaC&k}+mdQnuQRI0Nk$ILw1r}&lX)uqXBYMGK8+#Vs(EKQXqgJu z^ydgO5o*kv9j+&+hRxq&?^%WrflhQ^hDYQ%DgI?W>Vn>5!d~fQ_!U~R$TKjFiKd0V zV8+9hzgSz1p0Hu@$O=ZoC+5fJLIGl^l&gI)H}Q+fT6P>8MPE@@DHf}eA0cTF@8y(7 z)2bM3VzhUG=LNFTZspukMXJJWTMZ+@fmcl5gcLTZy~h{uerK%a?o-C7zbNI^h~s8T zwVN@O#JE_O@26pB1iFuMF}83r>^tT?_(`zbQuZA+bz5~6d6rap5Fa91)nwZD%)^pA zvkP=SK0_>V(>V)q1&K>AIQr4mrtgBiifLIp)hu4i_XWr^dRvqffEG`M8Bt(@YPqva6qSJe4PopP{ju z`;CgO%waiA*oIK8i1%vYfaAYpuaI(L^Ifiu{1`~mWyDKD5#x`x%{8T2U{1^cZEAPk zjA@nGN0FKjjgZh}a6SxAc4k$41}#T~(C|p+rT9+Uy=8-i5tWpHppJoEhyElTFH4Q@ zD5F(k=PpJavUaww|=&&q@5=iB}yXON8!SklCLgnJ+(vLm#Z({BK;LRu%kgeb#&JC4K74p95<2*3QMiJ!tP=Zqb1Yz1uA(lv)p=WkHebwDV zM*|Eeak(-&bOeU}8a0Va-h1>dX7R@^RY+W@jD~aD#Xd}%89L9y{DUFh4(&;cliJ>@ zaYBxJei@FujhImU7_fz@hlQf7g*1@LjIq)iujE8*t<_78;dc z`H#hHqK-VI7`Y2Q$zOX|Mt5s0lmZJ*nncZ3mU#_Y`_O?$Hlt&0X}LF_inqplw0iRw z%6e(9WO%*s^}W`b742g%)1AD!KhimqV$9~6SVh`$c>^JXbt$T2o#T*rSH4J^%~UY|O6_L%)kl;c&SIvc!th2cyFp8o0jv5m zKxR#ttDF8@7x4|2!uwwwW6oS#>?V1f8Na$G>Ujxnh|ot(R=JhJY;xTk#h*z5MMSF_ zsS;GIHl42y{5vMoLM@Wgal$wN5NA_d9l?NLXL{U!2!lXcnuU#K zpqLVrfLOPOkQjx1qAG2C3Sp}gGd#5cV(!we#@ z(rmo7cM*A|D#t2!QZ(64MLNmhh9At8GxQYtb(yGfmP@p+m<$oZw$j%jW@X)AXe{%w zRL*C`9;Cw_^)e+Oy5njr@~k|{i0YQiZ1zlwysU$Jk6WeYJeTFB=2Ejq*r6D&^#1q+ z&SICtqiWx7)gGaJk|2vPICDfY7$040rvbj>WlH^XsiiGLw**{rU092UtX6j9j zmhD7O=Pc2Y9iy*E7RUT^nUvT!(q_|Q&yLrjj#bX`t^#2DLI}rm z%sQTEK}7<%6WVS42cC=n7z-#;U3%~2hyn%l1%p#7DW6o}`=vmLVLCsO?f(^cRdXm7 zwY~GVL4qjZ+U$#5c}F-&&*9&eG%>yvm6hY0t+0O zFvIJAZEZYZQ1`*np9d#N;sxUjgV!pW9?r%O=tQaM`GBWA%f=IfUZ)%zXIQ7H}5p@6TLS?dGKYMs!NZYD)zK~3^?3!GmUe7i-{WxL-R)VM0UW= zVnJ{bxm#5IZzyl%+9yUG*$< zb$FyUhv1_D{sKpHezClBWyJ278FbSe#6n)u^88HDEiYVvL0^sAux0?4 zb+c^JK!RQ50#{i5W0>5iNo_0-v;06E4($jxKVA)?*yJE`g#i=jY#{du%L|A|fg1f^min7z?qVXoeE0MGgr^P)||c+XivF7!l0u;GXLQSN<6?8%TT1k^Lv_RNOcSP)98v%kwV7U8c$F@| z-%?4hV(adI0R}meN_G}MJzLA$3*zpx+?Ru`$c7TE8`#2zel`;8gy}H$qN3f+0ioyx z#=fo9+(^0^r&XkDtN0-(&EcwwN+V`9z{H>3{HWLDNX%bY<)_|jREBq6XGutly7g3L zMdCQa>nH)P73gJLdoV!I?h151`9w>JlYQY%13t#H-q+u zc#n=>hDC>6VY5s18pp?0K0b$TwWS$pP9fCJ3l1F{{SV!2AvR)6+>moHEA|Od1DWgD z_kNY3M5ZY48lue`-O&Slb>D>&Eq~GCTByM>->#mb#2Kxcxxk2%`lUsx&+JwDh73q+ zj(~ulaDi3MfLE{FZ*|m!pma6WziP(Z8iRr40>!Pgu(J({Y7S(RHk%@9C{~E}R-NpX zC7h1a9<`i}1<##iZ9Kj~D+k1x3bQ#6;x#5#kMdDUAg^l0!Tmq=?<1>zgy1Lzw(IO6 zD2QVQdW32$J0kCXVK0S72FCiKJ*yIHc9*w1HHT5ftf#4ZODv4d*{W@4>4Q42(Z=D> zMYalMk}UfgFSqa4zqIf;M0r=9|5x%}k?3;~dwOlP9Uh4IbOx7fxVxhpkvV4U_Sw!0 zsu{r8=TAxI7rm%)XBl$S48Blh1cQ;n2Ij!k-Bs@~y#aR?M=n70^pRo&u6TJav>mlp zn9*0xC5kL3mU`1G_<(g86SzPI=;HloODU#igu{>c z;(dzW@K7aaAFbU0Sb4Y(56{Su0rm54cm?ZP!SG#tXV$g9r~tXV2Lr2d)F3|Z-`SEt zY~E*~&`l(Tz(=_x2tPRXztq7jCecE8AS_%sgTR3XRjsal07E6j*?upGkqADa#p1*r z(J^`7uBVrmmu`RcY@1-QQmbNUNBh<3Ggp(tQfW9f^&S8q5GaHSVrbqX3TtkMQq*EKC4^0F zU!x}#uRpP)XV9g&Gp}85EhYH^@88K;wn7 z1q@<1z{UhGT$7t5v)G^F!|Qu`rF`QU*zl*98`by?U&(pjhhNLt;TM}Lk>oNs9Lz77_%=F#yzTw6+%r$1k4_j zwI^_dVY({jv6f8NA>j7iJKx!+HrD2fzMVt6^&?ByQ1B*wP5f@D+kV=_z>Xe z_FW9ic8?$(D;$;2GOg(a3a^eH)(=!9fdo2zAFfd{@85i5K-$&6sahVEB`eD2;zKr7 zPINSy=4*vk8-j&R4;2$jiUv>M8$|e?iVvs1v-Aa3y5z>TFkZ|7-HU|%6>xnxLWO+m z6jh9^kWPr%gTwD?8x`3&cDlM=aS5{Uti14^qlC{gqP-)^Tp&&-fUlUvqwuaGOEegu znjyeUY%_v99MKTRkXhT(Z(~)lqDrO-mFo>5whR*vNGzzO42(56?j%XVf=(>iX_d8Z z-Y-IDb9EvR1X!l20{X_eSn{Zw`s#^*2D)tWast&+Sn^#l3E$ndWG82-jZO)*YHIj_ z5cjf1z#v3ZrXUNYdw{~)C!|1N_Bzky@X!D*cg$||Zue}z(*(PeA z^S#bnNbw7(7;0f0RCtNn2bb3H*QcpXV)s2U|81h*9W?CC5KG#;mC{#|*XURK4rxf9 za6{v1mH}rWxkIGZ`&?>uOfj&SCFw>Kf3n1hJ~H zMXwD8pZbCMoUn~`u#zkq?TItdgW-kXxef0gm}?NYd>Q6xfqt(+w~OJ)?16w_buA7Z z-2TL{;XMJF$Nxi#kBEW^6&h5)pf5dYaFehW*`e;JboH%s+=1%D8MOE-BR=TG!YvC( zL47`UrvwdzijKy5#Q#Kdezqo*B0YHl)BkL7)l7LHfn1oom!YsdXZE9%Gx~nmCH%fU zWv-B_8JkjemS7xPi9b7+{mic7C>(xE2Gb35atJXeR$6d`;@!^L7>U~)hI#T3BfJDC zCTb~`&3@F)i`VzOL>tqt3&6UOcJnlb()7#w38zLN*EB$~xyAXUNMYOokH8pFx!tG-w`tM+B(M>q*clgA1_7udaxj_wXs=UI^N~~+y^@Wna1F^% zLDB_FL@@ipL&LHCEPjEnZo%LGsTE%z7%eus1swO!q=CQ|hzC^3atL&MuDRm$ZVI1u zqEeZThXX{#QRG=O0^j7Qj{vS(Z8OXwo%t{U^NN={kckipyGri%ol51@L`9yxEU^V& zpr-fu_zp36$bN;1~}= zAOpx^MH>S);|q?#A_jfPCnPk<^E}UoBCGvR@B8&wYmm&J*I*xp=n7fdT1i5 z8D&%AsC}@a+@xm#nT~JstmKJRG13lM^K6e%9zC?Q#sof2?uo9`vmTd5yy{3G000C1 z6N0z*&=EAUnCsoVVVP+9*Sgq!QKb{ia>OobDY@Y_r{@H4YP&OgW}ybD@GJ`)FEYeU z<1I9UlK9HidrC;UezR2kBzMY@iqlyMc?Fv()#TU5?@!F?ezXQH%MTFdLZE@r1|(xz za+*62O7&q0I2ov*sz+3_rx0q;ed;Jk5)PCm8QF@96)+Q=@WLjpAmXg-w5?Ua&Sr-9 zpU?~q%;PJXj+1yts{g`%G3UtI)`so*(3JKI~ zacpfrb-?Q=BFB#F$gpWBu#U@hIqYdVY!-q`@ax9JD06wd;;LBYK4L!rAoQ2^rX;M& z+tuWL3BZ)En=<7+VS?q%qlQKQ=H9Du3^>)3etd-5L9gYDK9o#coT=ii*Y&q^Hm z^*QdMF574|!+P&Vz~m!d0N5?aC<_o;t_W&g!GHj);e&b6WY|z1Dr>sa69|VlZ8;AgCK~s#^rYA~Y ztY~e2`zHzZN-Hc;RehM;!!>McW+zp+l97|Yh+1n=YeaH9%wf3cV#<}L@d7SA5Ce|< zZ-~Pota7UQrSH>;iwGvk>xLy7b_%&hGPm-8@r1&$kW{cfGpdL*7JZht4Rx9BkaHs) zUU?1LBA8DXsG;3qQp#$~ehbx$GCDQ%tIRJ214APHDFR9EYANyg-bPg6hv#1V8BP@- z$qGpi70rD7IFOr(frD(z?5MnEVB>+_Tke^Dw@^_4&Vw2NK+8Pnb0CplQpAhKUf~YX z-EAd4Bw)r4o|l*Fm_S^uV`wa{1%V!Eud0SBNHWCADC`4BxJY_)=zKHX{F08U&K9UJ z(?LM&_DX>B9^&e>(N$f#o% zwmla`^_vCa!GaJP{OuV`{8T6L3WoGovm8eX-nD6Ef;=mXxQnuT$Xbuqu1;ALxIec? z!2Ts}1nP8>4U?`0ewsLyKY`-mX;3j|`|~7Sb?cJFnN9)XeA`;hw5)0xE8ZW&BQarr z8Wq}q@@vhe0I?ReT{0LYLlT`MB1WL6x~TgZPZAv9$-qlR@U z9!ydFd=-k25=rMO0aU7}?hiZXn=!6aBnJOGY;sS*z#!%PNQ{p$yju)+?IrR+d_;1E?~JQT|kh zaWhkGOGC7Xfl}{eafUkNxAVpe!fTQAs`WTpt)3f0=K?}L;%HvbC#mCS2{^yx6zUK{ zzW#b?8Pi8{n+0RaVz z?SH3uRguZa5FQod&mt3l$c$Y!*&sntBa73e{GLS^-uX5M>>Gr90b-08t%k&cQcj+r7^Z^ga2pajM$GTx2iqNfe z5p>|<%TWcnJO02RvE08%@Ywx4mvAErm-?T(cgdYr zmCTrE_&(f)vI7{*ChWT_0-S5A)`#Bkfy3M{Lj{Ms{r2TPS^3>_2#5crPUw%kd-V(y zbKzM>BfVY9lRfPowk_tBU~8;A!boqW=zgT!eb?6)O4P!~GIG>PqeZA$Z4vX>wkW4B z+=w*L36k(ud{`H5WBWO7TeS8$_kNy1>BjaR1K`DvvG;t?T%mo`RZpW62hlB~o&HXx z6@%v5h^vW|C^T?gT^=yt`%NDvE&-mgn;>QM}E8fi{;F$O3>4Bl{q=Jb}* z3yV+Wp}(7ZAe#KNIG{iLm_Fr?jg@_!l4 zW2SPLE<4J+>d6{nT)Z&L6?PcU&(g!hKRso?>Ic@EEY$t}C&L{4oeT+G;MdnYpTSD) zx~v#JIo?#98aZ*@8SKoArkqoZOjpE3s?=#Xtt4jO_fIBTLwJD+x;=^DVbMN^SFZDO zb(I`j&xUgcj@wBW9CkkRBALv)nyy*KANjQ5nm1|!em+yCsAY1qf1N_0JIoL3=y2?g@K|+ncn$69ZC!Tt~|e|4uQU~j^8DsOeOSk1PSCA(rmI2>TC#b9)5Y7DhX|c z*c8!>^O;2*9`BjouYM0k|D3ov48h+r^Hs;p;ieuvW$1D&_4#`tx27U>DM)wLU?l2C zBLQ5ZGtGfYwh3`|6nsu1m;|cXOfISiuiH6U(bcs#*X|R;^Y+Ex~ zG&e1=Z9|K9Fsd}uw5-O0bE$)U&3GWdt$08y6Y|Y~3KV{sJbZLBC! zHn~F}yt4N^ztzZb8l_qE68B3U`qh&$c#QT=SXV7?JBW*v+(_BHvJEq7!fN;HwTqR` zXUj~~Ee^Ov=(oerdfGp~&W}*2-}6VMCPA^8rkIU3Lab_lMdK5=G`uno@qL3R3kpmZ zbM!Q1(5yEqdbVg>ek7=^T_8EkD^4SPK(_kTqHbGj(M$jjTff4Fe?B>*(=aO&Oj zkhKdv2|`pDY`z<^L|f4cKGU^!Qd-*w$6B%h=$Z{fOeShIDVQNAXG!tx5*wwK4y=SP zuV9}O-f%jIy^@JnyJ&}|h$(u-I$@!B_eSCHfU#gJ(k`1g)rOn#Mk9QtJZFylzY|=~ zuqX9c#4!^%L==sCTJTyJ6b}y?$4e{qN@UWA=vNosZEKI9>ZF`*Y5i+4&fgSQtNWZl zlQjxz)NpbUv6S(M42MiKwn^E@Xs}WzPceqCn1(bu)$<#VJ9X(s>GvHv>(r@R7&zBo z<@D|7Eb|o2GiLh*^Yj7;u(Ih86`PV4JRq61_k5CVKWu~BFQT|ZF4!Ea%#NLH>T?2$4Z+fL_`EwpC(l3EO+qf&&D_qiqa&l0ua43281vUN zwy>knI|zgjTFjoHdG@dv$L$Uh75q$CTgv?o(B=(~5E$bjxXutZJK=6<@@P@Phvp9v z^f03AQcgvvE#8ER>HR?3{`Ou?DVKWHzzjcn(Y%sSwG*xOW4KTed$jCD!kIVR*Ks}cxjjr>P!izcK7{g;pRd_B9O zSd|$SirNXC^70f$9?CXtBE%AMrs(_MRh0$k<=!u7OBj=DLS%Et?d)$--bz1vbw^7X z4_(!9=iaLk97cZ*O$+)uGso9x&Ui@0x80e)<2$F&6&*xDIKlyj9$K3<*l7ZGq&-C%`yH8 zfK@}(2mWlIRfBA_n>?X5zElUu0d>n^chv*lnzKoS5iyY+i)pivZ}$r_mEukC>{Y^| zSW2|0uDv3)0_OnbMScKofCkb;NOD@0xcs=;D7p_@Yn3urXl-GXJV(WhOM z)~Om9%A+S$bAP8z7{XP?FZmugW=;;}IvIG}>!tYm7Y&iGZcd$(=DNFK>b<8EPeCs5 zB<~Q zot{a}J3bT4yv2e4h2lmlmxc52VJAIRN}(VLXFRo~N&Sa|w0G^F-02jiHT!mqXduhVtls_Hz2RA3dtRwJ#y?##cz3c9FNn>++_FP(F(a zdsO$o_r)W%2gFR28>fh{SgL~T_=usjlqqZXmy-^S)()kfHXBB$cqhQl~u!Gqa! zqM|?uQ#czjK62d@5e*c?3L1xBVf%2#_H_$l_=$1v5i$jB?k;2CayRj%eeZnqXqd>%6|&%|60$_HF@UFt@>LGbt$;=J+h-K}gg zv<>aZwm1cfK~PA$`_WF(hI55-WZcL(*z6 z6gM+nE;LBoA%GFGje)>-YWMtZOQJwh=yW!FANeTSY{BD!SL-~KaOIBzJH_umLwPs= zd(C0shYPpXR$+C{NyO`vhyeBa`{b>u+}^WVMIrztoHzmln-lcEWKje}3YY4~W4j6j zfZ2_gi{&w21t6Ea!5Gb}eaOut8;-w{4_%<*ZU+@4#}x9O)f_{NkL>W8a}hR$?@Pk4 zS8j;kT)G-|kA2l7jZs(njH2f!t)Cx(M-4&3}%~bi1 ztXmw3YpL+9IXzzj3~<3UN?M2weQND(gQ5v4OX@$mfqh<1{wH9V+cN`=&r@-B@hPa) z$4fJrZc-f4-N&g`kd=eeMZrc8$VI>4dF1Ssjso%Yj9`l^`t=lHtsxG7a1fV*EnP5D zN%XAb(JkXz6)G_-FzX{`0)19;1Wi^hhyIDpq(Tf~ih-wg_NJN*kWHa+m-$mp*#DDc zWdK4;Q_#y0Zs-^=Flmnt_8x+DP0yXqoK{h(Ia@jFBs$=)&8To5}wCK~(L+ONcxA70yaD9+E8S%mL&7AcyZ$)-Yon(6* zS%xOTBSc?mI-G&B2l{1(5YfsOK?)V+v?evbkz((nornjk86n-Qxnc)~^a7o5v)-Yx z8s83E($6xv6-#?FlQ^8mIgu{_#Z5SuoQmOi+K9$09RRm2`P=chq#{oU`x9d_1eRYLM4|M9{qfelEp~|((BbvL3X5KA)zBqanue`% zAqB0=Ds+>R}w?({E5@g zgin~UGXK4oUk9(&?3poY>&feGv1hILLsqQtc(j~81D$@{$!7pJK*+x; z+ADVyTDGrmN#WCcpzaVCyP?mFH`?tEksvhR_nSj==lVHm%L}jDHXuahiOVxpA_#5w z*f@!_K?{SjZb|@)-L<|;{<_Hm0p+et@Cbxn#-g`Ki4Xv#qNlS?ey^5YI0OiFGraX? zYpO&DZuOHEzpY|G0#^5P7-SLks%Iw<1YHvmRe8M!kqtxXz%OJ@0#wA!M<{qzy#D>Z z2uB3WIS807N+1oD*Gc3&%NVr#GO1DuXX5g^@tl$tII?fwU3g;s-!ngn#FSi17Ftyv zHO0bC8d4SR)Y?Bu|JIM%saG)E#I3eLyb~lq{sg9;qB($BfU$a3irNMpAy*5h&mrDC z&k9_f`*Wj0Sy}Y%H#pNoQt1E!I7BZ?zN&DS5#!^(4Y%EP%|^Ae@X>(ddM9|g6=hoe z=y`oo^SHC6C+U7cqx@mR$O1|SPZ!Lt41^1B*wM#wWpb}bsP2I9P8Mo-$g+{o&%oN0 z4|I?2B<>R?Z!t{<5IjZ!rrqz@o715iuUbcFA-9$_cM?1^ZXx%6WgQxwwQ}vIWS&5E zI5f}MG=luFkNen45y_FdVD_Qo>O!pa<<(WM`Z&xBIW-xJyX_zwESy)lQ1KclXNJ4~ z+#4Sg)b@j`#&11l)AcO<2RZYJa>=Hc!$>k|W!*+X_1*gV8XYGXiV_gv=S1PK4h@ya zi&IJNqvI%sf*Fae262#p$e@_+4wp+M)ey6c-j5yWR}m>1Aqs10cl|2pGGQW>0+8qD z7^dLnA6dj*tmV-vt!ZjTyQ@d@K4ga~&G7;Z&L&VC(C9{k-r>S~Ezrw}ynoEL)DbvB zcL)R@;|qJpq=Jlo?08pd#Z{1^UbV*qm~1038B~_@pKY0;?+Rp_a@$)+@2a`|gH+A~ z>&L?qxmi6?RSw9@cq~aHiT?&e=FHu{);#~7CAICX$ugc%bk#hv z=c3_1y<^O4U{}J__~5^=RhM0vyL%64tACdsq@S@Ov;o(wA&s3WFm;QY(UmZe(W%7O zxf;}dKJT5^*N*EVoF8BWrhc=4O1+_v@}qGk8Gv<7}XL=XGSqD!sW!dt-sLbM11Ms#-E> z+l^*zM2Zq4ULg(m>|KZ6geY$rbN}h;0^dKxXEbqcUT^K)e<_qzok?BnvuAAoD$z1x zrrolzQ|F7Mp}}>scG_6}&{}6*7lS5pP_?N>XCKm7mS2rCNHkj6e;QMVDSsSQDV6m( zUGgS)TlVpjEOhk5jL@q81p668>`(HtJ!hw%dc znjSd)occmM#0J9Q{^}q@4AT3sUtH9tA@$)s~$Tmiha9dB9F;QZS4Aq=0U#+?8`{$eif zz==1n997kuv%qyUPloUL<|3tKz~LcC;USY!V*BsDRaS-wLt&Vb)`&JB(nkCnkjCn0 zdxY=J8l`)x9H+ia>@fr%sxpkfuTt;Vid_=tUuS0&PpkY|-m`|e^H-J+&!p_SXL>gF zakQv_Jf1mI>iH9nerp{RBbS7V0`PSd|85pnj~B2(?HC7+$^pwgP@)X`O0+bIdtvfW zxI~RdM#nwgTHU;LK^)Md-DPwdE{KW+DVMi+6?Bbms-H^+Ios0&X)`@G97k$qI9SbL zh^}5;)&=t$@co~9fYXQY>`na2c`ux8tbYp>%hhm3fx?tW4! z!#4TWBPdCa2+gk@=`f-Xam%lLFXw#FX3nmSYQuR7G_^f53FDAFUUNFU3wA#8hQ&^W zk@#2+<-gJWPO)=$ z1gCr*Qny%n)}N=A$8$W%BfR9EIv2hr(bHRqQyIr3l+IAqBU7OJJb?-Iph*cq0Jbf{ zGg1ee3)3F`WvxY|abDoEp_`?-)v{mO)0yE@tkM1vI^2!u6ORKs|y9iRxk7Mnp|a@yL5BKcA;*T^5a&Ji1Wco|gl8p~{i?I#I?f6RGS!yy{wwTfizMbKowAo> zV>NWWJbyvNkoST|{tPzs&!!l&=s&-lKkgF;tFQft>$=}J!if(DiNvRo;F${AoD&Wu z5|RQ*z&;_*$TCAFJe8Gc;3#0++5QSQ<}XJPXY7`xH!~qU^(2gt?ZGg0o8-Q7NBiHRdnX89D2rPzvlcuFc%}_%h&o9LdDLu_jJ%&)W0Q>{ zhLyyE!$(Onj%0G7@qpMvKs2X&B8J4V^&s|fL~d0P1Fl3E9D$XBL*I}Dm;aGM4B^fq z4%T-Ute-w8CIloTbJx@eUp@Su;sA?fJ4bl+B0vb6tbB5Aqi{L5;S?ErNtl^)2Qa{j;9*n_uj2n|NGUB3^{a8JS^izphF}Z0Z z8)VkC@OH=N%v|e)KXko78n)K%{1vmqvQ?O^T zXy!|W3Byr{xzYWm{Pq>9%O(L8m&prR^neqUEI5{ObY#Tr;bb6s#^zTdS56H#N-15} zr0||I*5?yEI1Xc{(IRpGUC+}G>3sX_yYe57Sal8r(NH=qs>>&RJ$vhMw(BHwCT06X z&sPkdCNf=@v?hQ}luvT1*N5;8c)-a(+%jxGI^%anZnnkL@+k;Xyl;=My{?BjHPI{D+utZYu=*p}*uJh^eT~@WCFd zqsZImdXtLJQEKXv#cFKfwb6P6lbTfB6OK3a2uEVzsXq0PYpu+#c``gpzQ}NeI(*}~ zpLvxLqZ!+N%1gv!1VS8caI7C1I9ju(W%$*zE!N_u{Vroa)&`e>YgxA%J;$aw6Ys9L z(ExR=V@qrB9Y3p!FIN(e?@EptnTsTprq;?q=Yi#aFYNO3Uk6(Ejy`>~QI;jcjOa4a zsrz~0)wyM|oYh^9s!{3=HwctxzjjM`H=T!r?o6Rs36lD#sb|!-1 zIeDCg(|_G6y*&L8wk8i zq~gt(gpFGuR?`09Dhs!g)Fo-U=PR-V9*M}DlPZa6*8Q~Zo)ne|vOU^3(6~}llBBY} z%EX)IfR{ip^&nk#XjY`#Oh}TN8_Og>FFKrO+{7LCmCvO8d`b50!KyE|12=apnfHzB zH$^%`x{0aue?ubU)m`92qx=iDMF&jq%*lfE)j_{zXecZA_~gJy_&QR~M^$$dW`s7c z{au?66^4ybU#k6l2)G*PS4w(?UVOP@?i|ViX;;cY6ZLy*@cH1#Gn&*}?xln`xpK7* zEJh9pV^BaUP@J_?&HF#5utMR<2xKu=xi^@Rji}RdbA3i{A)Rp2_aqd$$9dehr-0Yo zJBK`U1Tn+BVa#ppV?K~|(5c53{d7EooQBWh;P=W*Lb7FJZY>nAJU?}MkRoW!Y9J5* zl_}Uy0EAxEW~Y%&4Qq~20RZQlyi@Tv$pRuFX!7u(Yu=Cm0d8OjsW0DlKYAb$T`dr+ zK!FZ_r;>OgN6OlGAgR`~`Ft=b3$cN9wY%1fHUx>2Vc$Fnlse03(9fr5mvi7)6IXF& z#qxM}!&l9cuDA9y_FdwJltmtwqpU8}1d7#_ys+gTD2c04N6?r#7`TR_lQoD=Utt-> zot?Bs$sHhFVjfQssXOefeS9T&`xnd}#l9dIHnkM3dr}lD%e1 z5xX=QdW=pB5qf*AqcS(#1u2q z;-y)W&Zd$m*2zlVg6qghj%y}wAlSHoq3YCExRSEk3Zk(&%HN50cV&01hMe`2BOWSm z{REe8I^*zoX$N73Gj=(s*hH%%ILAmHAbP-Vg8SXIp`q9Z8C?nt#E!Mn>$VIC5$B== zmOB`NIcT$F;A%NyzHbqy{?1}PcNe;%0Ug2LASiWp%zsg z+zw*op?Duac?VRrZ{12e=IQ7AU8G?kEbaUfR~7!$I?`uWPph$u*diND#(1RgZ_=tK zN$_K(&|Px$iqH<7)KJ2zD^w{nu*_<2vx;>glKMonO6Y+wos%?lNftfT?t4e@?GCX? zvC%`HIScpP=WP?k{l0~|`pFIM?^eMCX*s-9&6blESs}-t)d?82i=|`bO)#qkwLrLh zIc*ndk!r0whK2S6HVlSw+YPtX6t@16VuQr0-$Pz-;kJI;%z;jq@==w~On+P%8%J2z z@QSgIj!9JtI6au8yAsrZ#K0l3=h?daw%1wQGJ15Wn+sOBJKY(@nw9IfH>%OZ1N&z( zkdAyyv5uNLZheKA%Z!Eaa(+bI>*rG`Y27;%{xR<}dx|g*3dD%_*z#9_lT^r{aR)8p z_8nzxo7eR`&#|H*sOA}lRw|`k5r3gpKI|$R-}J}WN|t$f7O&G@F!%0b^{!qA1apw> zF|hF6p6N5iBuQYwA2iPbWFrxvZdJ~Ip{9|6CEz{TCKloD3w~byjony)p8sJLXelu^^kp^Z~CAo8}SkT5q>^*yPC-r;mqk+CgD_m?{*v4Ko2?3t*C|7S;hnj*#JV*~ZfMJ!8P1c{s zMScZqR-5yCwpT2hR(F>+mTfRcN70x-Vr|uBGu!lll|vnrZ`&jQyg7cR{0NW-Il$vx zzW#f%a6nJn#!(z2E-OuT`xBO|hJB8A*)yz=B7w+xu2CEPS6w&&fkNW5&gqdN zA_CaNK(cMSE;T|Rh;R)VM>RXvThG@g0DBE~TsVj;=_!vcv4LvgR#cnzxzxj3ubMmo zoG}3KuOSoGAC`g+%`)cOLQkQ>;dNVq~ zJdLyOU-!4{x(s0UstNW)I;+N}VM_sJyf$Q$`E4ym`s0lc*4cGnP4ylEPu)otbdTgP zAbU`qppDpn@1v|qZo^)LsZi*B=S*YUs$l%4C?d%@v{?%tLjKbN{X`q?Hxb%jvn@a| zLub7&Dr0V~I7qA;nJ&}((rsyeGOO9&dnx%xZq z=EX;=*(e$xV1z8v??gqDWA}vBJ&b-l)`g2T6^hm6y%cbn9DfC;pl~_FKf7_Zz^g&J z?xk0FsO8G8j^KVTN?I<3e65cj3+qrm^VDMxEMIlgIgfpMQeJR#e!_|X(rwvb2zV;=Vn`LOXHLhBBDig86%Bb59wJr^P|zZN@t(%?@0k+N(0YoQcvKyLQvHU zCz>@yP2TQ(UbLv6S2@QPO&EC$swb6RyF}T_3}`Vvv>k8}*lWg8>cLO@X(L*eet6dh zWo3c_r!WCgMfk6-h)Ht+(4A4E@Yt&^<&QkD@XUvX?-YPcT#=sLa&YHeNJB=HoeWux z_?tsMAzM7(_syTjCl?+ie~Kz+tVrZLbKo!q7g*FD{%BAp^lWgA)F(_Za9R&|Q7kZY zZ6Plzr5I`wR!ps@(pCGkbJyx@d`8ZU#ArvR4B`-{wk^}$hneTK+^<20S3B)MC``$@z0)J!Hr4e3yYA7TNxM9S> zi*FQV%FN`NPPGEjK1-f#q@c1gCw|T1#kmE5z0xgJsC30%6Ly?6=Zl^Fv&Mloo1qDZ zJQmv%+B^Zer#J$mtLEG#Q2;_23wYoAnFv|Vi`d&b3J`&9jMS-wA!>f_n;`+(Fh?5? zwmcBzm;e;vUe5&7@0L8+))VwH7nbc6x<$E*$sfXko2|XDUslu3cyN@v7V63|zri0& z579&)fdFs-e+X*Bt7F9LzlsQSfiLT8Qs1vIW`C^~!)G?K0_U2Q(~|n^`s|*^F0#2* z#<&5!={4*UldDXl#|R{*wB269 z-*Cb1e02}^Hicwsc_A4D+Ee={vY4?h50(r|)L^>GbvLb8KJ~0J%G1SfIYs0*RW0q$ zbU@!xxlWS7rj_^eRw+oSuC9M8#2!i=y;<1M%^%N!Ho}z)VQUmlUG(=EUC+A@+d68Q zS275T`_uJsG8z#hcSOiMS~hGA9L|O$x5FVBE(-yvja(#eg7|GWGchK^QM2y9wDq19 zukU37KSmf$wZYh_>4Fhh*<#;i#bE^m(&!|r^9UfoG&6+A&7R!`i+bqp<|Q9b@D;)~ z0^dfxir7FEF#$=Yk!i@9pM291-NG$uRVfcO)S>aRCypKp=F_Rjv_uqueKYP9(lK-R zc0Ds@^7`CYH!!7?M?)@2cy(+AV*%CTMVfgI9m>zCbFH;x{85Bm8fh2RzxYdF5OJA> z{kHY!b3(ycgyU3zG*=7|4DM9pdl&iB%{YhF9~#+)Lu?ph>1d+hZhb$B#fkZ5e0xji z;kJY2v^>Jp=+I+lH#+U#T<;^o>~W@(=;G?1Af#)c6DW!akSJDI$h=RJ9wAi9io`|w z=_7L?bW*^QyZ_V2ILU#N^5-9x7M~Ln4-2Z1&p+H5V*VlrztCe@ju}D|oNRpl!{Z%p zJTQgda|R+f`P#Ay3LrSnHk9*i)FZkFb?h(VVbuA#h;1}t^yx#MHm%#qq^AW@h*4K> z_UbJtDGL?PKyY|EVIcaMOqf=Q+SM$uHR(bUy>YMR5tA3YWSnrybLXIxIF6=}?)YCk zmjm*c!AelJ_)~+Sa#=YTrrDvq?RRfTOJq3H17t)?D}TO0t^N2NT+RU+teW28hzIWw zuB)96PcFc>knMI-;(L20M3u4eBBv?dews-kg01_WD2!Sd9UZPs5-Z7ub?=yY7Qd9S zdO(WT&+p#NC5fkGk`dPXovyWK+skfsP=lws>g0rxqkMU3B!J6Mz06zSq|*QZ^X9A1 z01i9-B$5Dw%vJ32E+0xH@Gf+I9-e!Ekd;4bxXKLrc2}DlR>_9_K9x*zRzVYXJ%0=h zFJ~w$y8>Jz1!crnbVT&uwgrIUNoxCzxCAa;R9L7B`1 zNMX&ZH!m}GBB;5li`XmL^r>z$AI+B;$R(1-xPu4@3f8PICSg#kqysHG8dbtQw2lR?E=Sg# z%tlauU-zt-5sgYybVE}J!@SiJMUJ%}^}yC1h^u@({rVDJT#6m!WK>C;PUEwQV9pj2 zYN*~el&uDKSW*{|pV!$jhC3zIO7ZUZRk#|q^(2?(pNS^v$+>q3(G$UeD!L28yaA?a z5dwc-QO%*j_I!T(`g?}*RjV|*9^wH{rJR5fK!De)uT#qco^}x(5%2co`f&4M>eJ^v zcU&J1JYp3%n;O|5#{<0*pYF2mHB=t%++@CmeA*UAb9RLgW?s{&Y~}?DyAx|X3BUwK za@q_b4!?-Y@ZhE8Npuvti&=Dn;?G_zR=GkiZh45I56J`?s`kF(+GlK!bLi?m7C9Tok~>g*iz8WQnX2J5t5=sY20HmU*b%?zB69kdCEaX%t_ zpVeQq3G~slRXjy}DKQ!8aVXRfT0HK5fKqLOxS}#>T&zzJmSGfNhQDHTIM{soTxi_R z>kfKj9loq$8{v`HHXCS77wRHBz`14$h zmMc^X5cILr^Z^I!U`mjeUR1AU-%;ZAZ6^_20~>^wGHX_!l!_vC^S78Y$;?%y9a}wVIHG&dtt4h1wA?&5gjN{-V$hv=8Ca z7^CR#{0Z9~s}k5+O^k-Ki`OuRRh54|_%T`DPlA;cxxx^(K8Veo3Tu$~lhQAB)M+ct zTSMt${9LB(%aV5tYam3Z0Z*w0wCIJ_$XD!Mex2$!svMO zX^4sR{0#_a&WNt1U1PNXOA7A^9gdS#@I$Lic=8)Yz>H)=rQ@Uc=3*ha zhoF}~+`WDNhCC{M3o8n(^?x1~D^9KH^d83^E7);?Et3h6)I+6;4pT%%6N)O( zyyuZob4tAT`9&_45vVnM2^cz~#q#g>_>s+pK$S562$R?oBx^;vXpEdc4NmYI zqA;i5i)v*O8BJ2cb^ZJ_^K8>)y}Wm-j0-;jSiP%v^Z3uE0nU0%=~;+MWKkymyZv?t z(f!bkjfk24av2hCtuQ|$K=Yc!rhQHY4x#kS}nT!*3Hs+DC>WW11w&i&DAf7i4d9oXHd{cQ~bWb z`lffavwIi#((xmKn3dRH-D(9YG-&QlLWHoH{Cn;bsUTf-2IY`;&mAIqGNawW7k=Faf6#!_Dl-; z)VUd`R^yeoMcX{CQ_QZgzDQ8Wk59Y#wM_6nq$^WKknHcrd5saSI_$($i$BilcfPo! zhN`aQr7diyGFSM#4Zhb3C}EBV-Y4cGhKG97&@mWZ(`ggNf6F9JiDHkA_LF?-l)hAB{6LheZ8* znFAHXMz4J6!ul!YlQaW9jK_O2Wx?U98RzUgiF2uk%VBg?KnbdUnc$~1rvem9yhW|8 z=G8@{gsPbrRK!5NS?x<_Vi6(&G^|_+Bya6-xF4sXGy>@uk^c9-&ym&f8`phevIKcL zm&Ly8bR-)$i2_}BJ+{d%`HQw-dbRR$O3&*BjeFkJe=bI!Z?)9;N&3ei{lN!P0zVp= z2mlxV!w1rSt5}A(Q-^=pt%{oN??IGZ5?kpKf(@;>tVZQeTDpQxi&hvi4ZFn{{r&9C z$g3p{gd_3JmmI8E{1v$c_bZ%1iA#j3bA7IYl*d7j2D7A-D zAZi?FZPkVm5R{tcC(T|O3771jdDi-A+Mvsw%<+E^agW<}+h~~piH#<02~q_LgSqvB9GdJI z4x1in;R#QYVHi73IQNzkmuB|+XM`ZxU*K{OB#F*idGh&)Y&cHy5DGSdIdYp4Aj-PD zQ6H%ONR@%nK~WV%lk%bd>Aqawn>k8j;caUT)u_>X!Lyx>-Y!cou*V~bnsMztWKz43 zzn(U8Y2I+RkmVz)1@18XJL*)C_$z0|Y@05-7_Hhi!#LaFWRnXsc8FH7q zer8^)hk0(|X-C+q^&xJqij>qT_g9o&J5xSfIi0*t`t{)6xL}B; zC2CPGV_u2I;o_wq|f{_od*y0g~-|)x~;B5{Chg~>}b$6sZ5qm)%3bwk8+>|Z|ry6|3yLrA)4e*1X+z?zzqLP;6<94)ySY(K2{~t zvs{oS7F;iS$qVOox)T+`Q{$S`SIyixjge3WAp2m^_GewjW8A$^{0fQXn4C%Fv)eC} z4~kosv)EMXUiD7jO7<@i4sIa^IDTf858$sPy~M)(Ss=)?-f>!KZbbsIN#i5OiDEV! z6*Q`vcC(utsQO%$@AjA`Y$<6DV?x#70xS-sG#3Hx9>?X-xovxRrg^mG6Gg&~nwZRL z*Dsa5XVIM~i01`Sn|l!g(;!x6S4uxP-NE|74>fmxXlbCW!n8b0FGY2#ow;l`#LxD3 z@aJPV9L5*PF*^f3V*Pczn>c2keRv(J#tYRioYoO`3*m{4_HFlu(ELRvee~dgVA`hR zMGrKr0JjOht8dQ;92J&X9z)_+8|+4YE{`vB^wfdXWwEpsW^R8dVO@UpiI~4$=$O4) z<2puWItsxyfh~8QM1vESfW9j&{QhUhH+-G$-uS!khc1&%dpy!1aKY^yPv#UJ<@<2O zy>JKL3Y-TujcN8yn_$?Wd?X=ILrgv+f#zZK?>571Ik`Wa*pw%oR`JWq7 ztUFEV)IF@r;z{e|2W-s-du~Z;&H8}KX;-u8u3VMO^}81^OPML=%5`HxwlB`%7tQZt zuO#X}M%0mazI}m<>cl-X1kd}^H~Wg8kA;xpXGh)zmEJjALUo?#0gGqD3Jjy$WO7GW zydLnr(D;YaloJ%i(9$X;D@FC6!clS8E0|z>FX?hlNOOo<-!Y9bxkJlsHj#@gBS!en zShgxL?&g~!n zO3TZ3I=VlWHB$1HeruL^*kSo6iq2`kT3WneuW6D3c)$;(JBF5C@VuCZ=Ua5n_E7*w z%S+K_Q6d=6a?Zg32&8$300?6KJ%2?70{q$#j-&MMc702Q|F;!D5&U~SSL)X_o@$~1 z^cq3)u^?!}fE|Mn9Nv`-Y$tglZ7}ujF9(Hbycag?!;`vX)mq<`9B^9PR|7Zkz;~e4 zn9l^S=`Kk=sRf*JZ9eU#(=ohjsK>a`(sxA_QW}`3zE)0zQ3OMKkd>U{USqz#K`;)% zOh+`$Ta0CK>9f0%Y2T3y?cx=?xfO0&Eh`%)ZO9B(u};ly2onLA@iks3OdY z2cz8J#VrzqDAYGJcEJU;XCzJaCTrs{Ie-4!93>Sfm zKl^k!?&T_mU$;IyK<+9;UN|U(tU{ldQUqMv_o-0ScFMaz!J!1K6qp=YXq3-GB1fB z9#<-#J_Ubnmo+NI`wOc?*i!mdc!~x#M*<-eDn3l<6CpPML`A8MDRE^o`n-!M2iQ*@o$hI6`+Uc@*Q8T=5XhiWQdE!pX^H@0SyU= z0&V?cq>v#bTl+EWu^=$olmNKybMTOtgKq%3&Jq&*`<*^WG==~coS?wB{Gi^2mVy9O z)E_H<&fR1Q*?D)=MQsCqU_`!gf;h_|wIkyy^_aBJpgbm3Ufv;x)LS?vro!vO(^XVT z`GrBy_=XIzR?{bLgp%temC@W41Lo}&`@zwTZM-e8dl5XA*C<J z6dFHO+*#723}<<2_hm3ctljw zyRlZ&;6$ILo{vay-(2Sm`&3s)`leD;C-+i=ZiBnRNpY(FuXvy{c)1#Dr9X|cF`w7m zLf`k0_M7_57|aH|P9SXIeDitp({{8uHorekv%?elLF)_72KD`u$h+g}#ws-QCE)$6MB^>H3PtCSc)yKcLkcA0rK6UvHaCZ|;ii~a1 zuXN$fIaWK1^9JLbv3?ff$3=1Kc{7)8K=Ltd|Df78hEWouU$~i*rAh6kThh9D_;Opb zqxZP>>m^Ma2rxhmZ7Ob8lVFL>t)lgjKfzf-GPms}D5DOox2K!>>fO%SJbQqoTv1V2Ds*66^A6gsZzfMR4Jb4DC_t= zfKG3bWG?(Rf35n&X$z%yj$%n#W7veVDtb;7enQAQ7b4y!+Wn{TLvAL7`P5d?74@Y? zUr-YD&pgSV8HI21HII^8kIoT$(FIYS{F?~bS;=^nLvCzIR}FOB>_ZVlX<9z2=-|$$ z5m%@xRQV=JQyHAFFDRDpT_KPD4#ACC%@z&PC#&q&q5SPUW9EU%S`l@V_U?RK!y2^N z>$E?pHA{9~;mGn}siA$JOFnEP<4W{Er6ps8ZHb}V#=C{$*2g!-aXVNi{lRiz82GN2bu<$0!}a|q zZ4Fv7)j!T4s_@=GamX5z<@I3a&-rzfGtkq2x|wv+q{6N+bBqE2bTa&hNRc$z9xeG4 z_L%Jb=>hj$uYYaeF6ea%0K^V#Y2a&hkvsNOL0y_$;MJ=+7dI?Akpf}bZSwpdHAs%9 zHO*l&R0uKpFDW4l%<{Ua2uR(1&+W;2lr6cW0qy_J!wc(i)S)BW=KKHgvQQwzY8@}< z)=(pr?4U)iDiOARP?ywV)^wbY4?k0$uI~QSG^QH`c7>-t-z#XGGfh?JTsh42m>azh zk8s+93cY`yB{b&qOdAAxy@C0pXtB&sobvxVM3ZrPOCE)(w$LdnjLK_0ob1Xabn0lb zC?z7=8Ezv^OByvIWNmBapGt!bA|ugN$yRdY{A#7a;{`_kzDaa4%k)L&I>u3zRhq45 zJXvcAo;8Bj)%G_5v9blj9np)5N)LHU@#L6!3d5?JR0M-Jg%QvA-#Wl-a@!e z0zNrAxe#3dWEyt29mr0XCf-ef<4Q!3?+}`+A#Y2`M#_P>?wz16=H-loI8zudrdUYQ zQ=C(=id7Pts?~>hOXcCxzLRvIdjKX@{3cx2OC0p!*#A@u9MHOR8VB`7JfVYrr+-H< zSjxG2!)j&vQ1tr2f0`^sZg>vRqhT-xGYbMhZ z+8>gA_@(2;(~uO5*B}A=riVPb}B>XKBt7Dmup-sH*8IpPxA3PRZAaT(hS` zBcB1Sxwy*muqJDNA3ZH1{vGur&aVVXhLfK- zJGhj7{(GU4Fi+ger~N`&RnA~7AhcWFXK5MM3&Hx)->mJg+Y0Nj={z2>!6rU$SAlM-WYSqo(i&;)OhR<8~HrNPDdBnw2-d{mJv6a>5P02 z*d=bW^}{^Iv2(!qSMcEQDN}7N&{O;{ujTr1??V=eY5Tk_8?0D#b z0L*Z7(>{8T1aI;l7A}HBLCw!5c_V1>KG`G{@lXit`YI#>H7s-_Bw;iQuZwe`B$rvJ z_1rwbMXg_hkO#`pe=GnJ zf#XK9p0hLFs3<1F=Hq+lrfoI%2T@if4JJxTNaX?irra?exAGI%hbZ7U@&5P*GOIMf z5I@=-UcR{=t{>?VNGN`6jw(3Dyhk7-bm{##vpB_;A26>Nktyb^U4}_fZ2G(1Y@1^_ z#@LrBln$5lKfg3)N#Z1kfCtbI(MUf{!-8C@Z$YnMJ}p-+!9RoIuuO}6;Qpx|@?ee@Wrr)Myp>0D0DmlP zIHf=R%hSKhQ3k)q?;6drt}19#bO5#TNEor%jkJd8AhoXPey8?Tg7ch_ z9Sx;G&Gw)>Ogt2)kkGCar&}`w@4c=@A+e&V%w|ew~{d$F6#47VK40SZ3ka4-7b6BQp8^Y=0Q!j?r6JV`K5Url9A6#fFH*P&Gb%H;Izb3U@w@-KAY zpF_Ifn9l-J^SL>4Lwz-*M>aF`Az}Rb8J48pbfjQAI?XG4BGb#8<@6~(EX+58 z3ob0Z8^>L1A=A@x_cQKGox=DD$v)TB@C!F0rB7z1xx31CeUv6qrtV%&29}K(9EzZK zDG$zqlxtz{S5hM~N52@ROFzB``>PtzH$&3GLLId)#%@+L#`kU#b=ioh?Q?vV`Q{&G zHrfErp?>v;PRVd_?n-+({Dse61HF?B*VIv|3*%WABc}sxuSTU%f(xE(C`Kt)C zPj9nAc=86iVRbixaa^OOd}ye2qPgx=If^DFfmTlNv)_!?;Om>JVC&7h;IIg^FGh`4 zsSw!ox;wTz&E+u`hv^Mwfd-YIMMM6%AVKQ~gjA96qzFmkzcUCC0?n)7YOn~908r%> zPXGcF&@&2%5fK5*j=)lTETG)(AHAxW1XWR1r;sZPoyQu0DqT9lYLq|$o6Uke7M8OS z+(3pu7P@&BB;OXJgO+m}5i0^zQm1JWDgsr2FyVo%jd70Kt3u=7^v~12$gJ#2rr)LE zpJPW0){RyncEN4t1qr3!HC8J(G8-5&BL$ev6zx?yHo^b7&_~VO|DOATZp6vIajC#a z6(JKGmma8R(dyBWP)}%hpk5kjxlE?J!L0jseI*tD!28xcn5hA5 z3K$u7oBHU5Uc8KX1=J{>`x-~>>#X;Iz2_#m1Wxu!q(Mt{)$HNHDGmR2U=ZVrxjX2|7;f{U9jY&v85cZ= z1;06$`E-BU+KN3Xt88x@;t`1Go6isEs`J`|dK!{LbZZ5KBF&Ri5oftIn2Jt|@xFx( zxNxiIR(*)5;7ARAKOHxmi_^@cwoZ=?=k)@HBsmj0iFGoxn)ep{iVYBfN}B?++(_*2 z?nKS!v~r?xELGo)!9^1P9f1MP1pujzsoY47KegaMpQ?+x_nBKQ(MP1h99fEU@bFfU z%WJ1Ag(hcZ{B*2 z4yJQfeoltS)v&3}gL;fHAMz`OqF}sg9uo%C*V-OZH{Px+%-(L0uKnuJuv4{Ai=h_Q zP%Eo$iMhz@7v+69@jC)Ua^%wu<_ov0wfaHLvSe43JzR2?Uvm;p*nne6?nSLnA_LkS zFCdEsPrp%)KtyRpKly8M3crMyL6&;DM0kYX8N?F)b-Dlex{#CDqsyfgj*ij&`{=2`h&cR=4 zx9(sTVZ$sx)drD=Y)k;G>vB;6zQtef^_3Oe13yI>*dKv_gkXF1Uk;F130Yutn{`4* zwEiswKm%`_Tk%C!8b|H9L;Y1vDWVX7bv#Ec$?8m4y~94r{^0LBs92~|1+Xz|*dF50 zAU=s40OL=wUXTP&wrBTnh>;Tx{pIHoB#;1yk~MhnKoI36@r!OmfFLP*zmBQ|K)4;6 zXaoQR*2S2pKoHSboC;SEa08?7I297t2=G^v75K$7rT)gJo2S-n7rP2zXVCPZBPe`g zk4sl?;aHY#ATw(9MXJ#0C%CmHIFJyiJ42{b7b9-00{|O5^k|+672jlMb*HGb6sPjr zd)G{tL+X`zF2;C|i#{{sWM+LtJgstd&U$QUNH!bBRLa4gkw4{{@K}|z5LK9Y zH=;von>+k*`DnZFba>CC37C4DcEc7jd-*LQo9PNRqN%-v6i$agaHx)Kg}ILI(M0cO z846m{o8moTE=szjZ@OTbm;4OtZvtAV80)H5``pAX!rEZ}B=-gSLNGUvogbsf+vQj$ zs%a){P_Y)8&x*MX6O;*vZj~7JVC`_~1Nyh1itZ>b#Hs}orG_QiNvIBUH(|t^qm@_Q zo)lOK>Nm#W9w_zr$x203s*EqN@(j$7lVzYcn1M|oLyemN9F_W#I%S>%KXI;|+k7D8 zJyAt6gwTU0(q@QM;+;_cKD~~WxW5f|SZ5g-%+)}3A?TrHK%UiNx9nL*dEJ<$B!nf^ zOW4BDfLk2`e!dtp_T}PqA8$k^Os0^h4=s5~TVqlFDnB2s8k+cPgfLc(ZPM*~f&GFL zEG*Wy9UDwL!dcu_=glEYY;#WyBzLyzyyPYf9#qrLi&No_d%t|r*2SrM2KS%wFKo&c&yX7iZz9Di;iv~2F!4HB-RTIalxbEvnmA3Y)H4_7@^S1aB_6P5Dnln<2!6HvzCMq$Z3 z45rOi=JXB=BLYGdtfPd`$Kn-rV3O{s2|eZV=1**{>$FGz{%;pFZQD0b=FCT58>EoFJf~fE|EL3;tKfUH0NQK9Kyg0T^X#|p zdXXU+UelZOKlK~K1c9Fh<39(oq(FPQVh{}CU>B{XKux4?4I-DXwc>HGxg5lLx!wX_ zMpFK~&5t+b{?K;*$x@|rNzZ3h;?OW*{KHT`CC+zNbTJ|h+cb~f(!MD##^*cnfufoP z8wz5$_Y}kk&nvr^OK9!IA8UWWNmOHJ6^ewJrq5_|bCQ670>izTX_Dz1d z`;uO{#Tq`AMhd^!!WebBQ|xE#(1}#$7&0v>J%kSM=rlhh-Nd&Du;E5yXklGTaMUQ% zlKaBMLIEBB^vTQMg7fSN%|UkIGXt0IwFF_RGW)|f@!uK_pKlK!p})Fs?lTwnbplRQ zr^3wuN%&L9qddUYCK-)vC|@9!C%Dy=@L)nyqn=ch9HkA~jMjm{vj`srMt& zu_ll*2*e`=TE7-H$D0i*pW&#+sd4l4UW;#nCY+#>$?rhF^8!V!Gc6QX)P>*Ic}hbM zdsXOH_>v>yNY#B*{RX&F4K)Pu~n(*Jpjb zLun@Dy_Y+kj7Lck{nxObISE|5=oUe8cV+#DNN_or^U-IB@co=0ev}-pyVyuZCo8Uh z?Zbbi2O-yf8h$>27jyeULg|=f`G`P+_sREKjKq+Ct!q}z%^==&NDyrt_gT4kTOA;~ z_ORO{fooIlk1h{N{pzSk_F+oTWy-~JJTWQ9cZ{fba?<6`&vW)sJPlTG_-+#f!!F%j zO~~P0zmS7p&4GKz_rtGy2SJXSE|`Wn#>?e|tc^rk7I9s&4ol;+N)zrSjMh=5`Pf)A z%=PoyoH_tNK)=7aaf-P6b)@zY+lyf3roK1SOivlypFIscUj&8-^SQrcZq9J8r%bo+ znKQkU>F_uiqItbOJbLY|P>zfAgKG=0vYQlKLH@qGF0KbsC({X|;fEKxKtlzz)Lfb0 z32W&7zdlbTW?jfwt09F;_cnMhj{+59Fa7U;D>+(>xC_vD@z-%;vXMg^AfTS>cMoC| zR}zp?IFjW)oL!)5WAUI|0{D%)5&6>B4~X|6w&8yv16MkQNndjRD%14H34zDXvb z&~NzBlV0Z~UHcn&Y4q{;_T1h; zc_^n`iz@YyxiZWF?R(BsMQA~Fw4gP6M*3(Alp3zkDpZv1M0%h{nX~yDjHATR?Szpu zDDC-Xf~QbR)nI~+^i^1kr>QT$+Bf*qSsvEV%BPd?h0eOqt|*zCXvdRHh-uLI7b0gJ z3$uNnMVN1v7iGqc`3E_27W{&-W}a*dQdt1BS%JW5?-OyvO;O#=z5OXcvfKV%K8*5e z+#5#Dvk_*SC?6W#|i@gI5;}FiJBRg z^K75q=E>efOm+OtCGlSK6C35Xe|&kviPpG~t3%~es3fLB_})(|#mPYvz|Fny|Fvw7 zNYbqX&$S||7#9RSIR1g_eOZ~B#KT9iDbn^o$xowZg4Oz84OSf+?9^e{H7`sxE`eLb zH%PXj@Om5MktKm(WSx$_Q^w!#x5CKz+EhBg( z+c0VuR*yX5uB-UuTGyA?Q%%sK$F;^JCE$N}oe%R^tV!-4CBEr2yifkK@bd?#nTU&+ zK&iY2qFlP~i72v3mroNElZUMNu@1b!HIt z{qZE$hwEG(%7s%zAo~Rl6{a3t$2W+209agG&mjw_=3{EUaYo*!1S{swA|B6*lWi}4 z(mFLj1G9d@&Fc{&0b9-Hnf7ryseu3w=gM~O$btZdX;Yb4>HF5*ul&^_00D}*E>KT? z(jo<^=$u4V_ydR#-`lkwM9=#;v6>@_|McHZa*+y5T|z`DSxfCLY(#Xi8)FIkU4e@- zkY9J<f^XQ*jC#^Jo!hb^2h69KL{OBT@ph= zP}CQr*0b`*IRD&|7bCzqa}RZ?abd~O??ZAr^Qd^jS=(U6AxFOps%u4vGc~Z~Eq;sS ztMK_}UL>9n@^s?U1rx5RepdDOArsd^k-K#wl0_%TA@9yef^a((x#8mCGbHY6+X@4> z>H3s#J>da@PR89Pn9(iyEyN>6KMm_jp3KG=;EyRBybr0`rcC65CKs@6aa2qlCI5g` zC&?IF2@j2#_F+2;!N-I`>e^0~igg$GoU3@7Ne*8FVRnyL;xX{#Px$3Y8N%f6o8vTZ z^fg}a(6X3`4F`_LfC;mdoJ=!yWfL zc9f;?wd8A_X~39y_W&C-jHZS;E~eDo5ge(PnOn^Fycuv63i2fe9p%(X_qQJJqzP2V zZ@6ahem{kp$lo`V(27I|2DXIk=GZDcKdO!AYFxsW}hwk*LC{OD&|0V$kKW87wA0FO7?17 zmp65=*E)OpO+8)jb6D7(UW&G+^?In))N?rzZFf{%stANLK$Pfz&eGmgpuPEChF(V* zoTLNcJ0YjgzaxF^CzXJJkA=r12IYJFsUnEk<<6*F>UHXw5(GY9gNVC39jbmpAfxfh zpYwtw3s_N`1v>m%KhG7hcuT| z($l|RFBLI+{(J!fl;*$2$15ol;>^V%eUvfEi`A35N zrSA!7aBK8c^(jy1cU++s#&fA**WYGUvMS^R9z|5`vKrdyLnC!1q$iag?4MHXkZ(nv zkr5NJ9gA|g)%LZZ-u2wh3i~8v$Px09E?U-9HH_OTL%g{C<@aL6zAW{spOg=YZ$N~F zDf0uIw9#3=i(vRVQffHn#av^cQF|%!LWMTG^66kk&!2ty1@$#l+`tkW9nP7OAFdt< zfN#v**onZkER!`}ONj`~!2FuSeT#%6qq3)+t7ux#efw@nc9N-ufkYq0pL z7@pF1lWHj{c*vtU1?sju#9Pqtk~t`C&Fdp9_dY{4jmhse&}@^o4rICr zsAa+nz2@@DEtJ!76r<8%Y`Fu10XJWFZxai#+Bh>^pY~_TME-h9;g^3!cS6%c`Fa*4 zekpK&RyKxaYdl@L4ETHS+ckYi#LvgLo7V}tpmm&O0}5g?PoEcZV#!B3UD_emlnz7_8Q&IY8yo2ctA)MY9hw38=0 zQR+Raet?L}eZ=t;lnN+vg4$6TWg?faU#)iUF^j&{oS`R{U;V2TGV8-UVYgmAu7KI_ z8h>7OR%TyDSr8{Qj`G8;!@Zt^q{OouKbswUQMG^QiZ05A9#j3?k?`jeh&Bhy#P&Z8 zcebc&{>S&B`u|-gjbZHMuBMIzLTXS6fpFPN_$IO4r~2KNe_YyM!8X;losovvnDumy z&mCRGM50AamxYL3M5|>je`T}_oshDbhh1rSitUAuv`~}*m5DOw62D#Z66HDi@AxEW zW8N81ZxvSsD?T3o#(9_6)&+hwf3(hUir%GLdV1o(E z+OaQ$718y7KB}y&qjV^__uq{?it<(&zOb*n10@Z!`rd*nN*OFA`hL4GvHd@W)5U&r znVaoPJ4oKvfu;bGx3FX}1SrqAKZ1Q_0Rc|`)_(UDl2KJ5_MVagXWkD1J^5{V2 zxO5P4Hv2zngJ)zo0PZSAz+-RMXwli_(dvs8?3IP;COUx=IQu;N$qQuf$9 zWKz$zCP4BOm)29jD<@ftAHUXpRoOrbGba!ny;p`GhoqR`=+~5p0gEva4ejrNZ2QH- z@za0+w%uC#J~tk(;+a4qAUoe*<(>~0XYGS-vxt>dAVdWG5yU{Jm?RG%SFwqowl!biVL+IsoKHByn2Ml-F6I-lqk@xabUE>XiT75UwDqB8dgAu zqQ3auFJA5~Ui!IDXE~~vU+(I1vTNOa*z(~0-WGmyab=(mK;4%EwbZKq8R~9oU|JIj zch_GUI)3{KQ5s3VtND*o*qz@oP`pXySr^jd}uh{o; z;=~YW68hk~6<1X#3u!=5Lufv2ml1V(&Dc_gWwJ*?SY4icg^*E=kH+%+hkJo>bH{B)se#*@JJDE5}q)V zqWQq;JBpuelH6H-o&D`G)Qj?lZpl!0=Gp2yj==;{5Hh~x&y?-a2im(7RFGpyOH%@L zf8qs9x4#|OUE9J=mC;4CpIaU(MARKV>p!A-xJDykJC;4V7~65+@YY3iI*`17=~K{- z#V$H6Qw$Dkcumn1okqiskk45~8 z4rOvjGF|`NO*mSOPO6;!cO@Joh$y`zH97^*v;k*}9th=w)a;{`dHtiL3YVB$m5C7v zqb?_R`;N2c1txZ^?N+Ioyf?1L1W3jlA{H?``5B62-`Qn5$(T}OAqtH6!d5#Km$=)Q zXdfuYk8V3y->d5TZ*x*?1@cbS_PlY&$JQ##GIn?pdz*2Ga z2$Ltg;29n~3;ivnYF_0Hc#s$SpujLE25VGGr6`B8OPPIVH-r8Po$Se_+?++jL_DdI zkP*)Dfx{}P9(pBcQw_oMF#4B%u+~qDz$t$kCOyEA*M>s1fULkSlcSfAv#qU}EO3G3B3Sw7;4%mCoX<-J<&a2!E0rF)NNQ)%Mypl|ACxY%E@?hUfuS#u50Y(PCq?`#&-_Tj#Tv@ zg62}r2Z4^HamV6Y6EOqD959f$eo_f))PL8)7zOB8mN&zDsOF-T@5%Rfy|Ju@QcrRW z@?LB!J@I%~l@DeMOIOS+4Z_sQIP(dCZL{0tIb7bme5-(FrXm!pwU)wujB}cN(9t0r2=(7sehd8g$dR$NI{AS z_Zdk?qv0R8a4+uP{)&EMJMnonBu_Y7oS7-YTT>T&>Z6HHf;Fr-WG&LIZE;(l-f4>X z@pks|m;7MUR%~KZ@Z2(b{(sFNJgUWRm;ogtlB+o-BQ|H6MT)#ebH-KE*7m9Ka?P&( z(ybBGr5A?0P)Vy3?K1d&Z7(SGV5HY;M5|#UORxBtzbjNId(c3-_KgXG-Ha|ynvb$i zm}+8BT_9DclOgOnnj(p2vpHko2V^)CSIQ=vNn&}R`ODn7e=Sl!g96r9-?Czd{{2|h zlkL|Sa}a5&)Jdlq@KzCyP&+Q3K52iT(u%OOUAgTBpo>cRoaKM8kx3h8mRqZOB?q!b z(o5u+xMExzVs|7aD4OI_%L8Cj>A?r!KkV2m35Pz9MBz1bcbR5o4)>FROF!Or8&p9J z5r{Nqg(>6!(Zg=@XaWIav4vy$_HdN|NA>di{wKhp0FL#VhPnPfzIOZ6s0l60ON0wk z=ROTiX%-24em}%P4e5w4Xbu3oPj|DyNAlQDD6ZCoebBep%^yt9e*XHA865Xod~7q5 zkRVVVzM#Fq*XiH=N?dLKy(Y}zq2ic?BIzF_IG<)VS=ez9*!=0}wJB<=X`F(mU83c( zDvddtv-`x&(#7UXcnGtUiA%209y&jEj~5ts4+y!+CApKqoAVRTF||Q*>|Rl)4w4$8 zkIUPz%*#Hgh;4c;OQ;*&KO-4bP|76yZrVCAx;u1z%bllBLn{}6Jf!nL9}IAIG||$d zAj)E;{p$oG&Bmu#=)OzB;x)Nm>|?KV+6k-t>`qqIowUE1!CLC zboC;;)c<-f0VwLGHD#TFQ(7ViNg07f=m(|}%GP00)#r*!7oV2TyQ@-=x3qwh=|Hf+ z1H-B}z@e&9ak-qSNJL_p!mix`A}ZRDr^7w^{c}S~cb0zycHDW$LaWJyVv;U5!B4&F zAGeg8{=>Y?AG0Q0to--uhG@N&n!*@jg5B1v78$wO0P9Pm6(TIep>~kUdNrr!=z?MDbJxN5g-AcRHFVhU`#=5pC}8 zmG_TD!kmS1PR$~Xy3^U2`e|Fzvg5aIqH$)O>ZPtEE<>}>jjOPzmfHQZ-hZTX^{FnK zv`S{C$S2aL=QWPjwRe8o*-NTgYNLS8j{8;|@Xu&-~A*Z7gY zZka8ZtCWQaT8DR=;IhEbs{=u4wSjjldbHIWB=jv(;xcG4(2T`+Qrm37?1!t()+jAI zx_8V#1;w9(R$pfz`C~o?_X{qKr;7FXGOHR2Oprac(Pc;%G5$%g^E$5k<;w4Hxd5o* zU-&rKy0)3*ZGqKS*I-gzkaQ2qwR!0mJxy@OOaun0`-Tr6R!uN;vTk+#jbb=P`cy~v zM@aSLlzV4Mj_pkUp$XTM=pru*TO+(}^@Kcq2ukzvLJUullUg;1M<%plkX5|NKxX6LcshxBf*(+|VH8q}hd92mpFgBG!;c>-%&=>AG&C3?c2n=iuEyMhc zaknU(1*P@0@&{+CVXRFq?V$H{4+9zUP?F;s0}-)nd#{IDkOQvO{XH6DNoO>^dz9X| zzBZrmF1|aed7TmV!*vb4Nag_S`e5e);??U}hC^*$K(eZJw2iPN3MY;yVQtz{6_OwHTekA8|z3u}7j^$I(^_Y1+Q1 zN&_BdeDJV#f$&_OjF=xo?itM{3(ldQ1pzB3#^(<{0!yHwcHF?wQm@Jz{cs zL$*Y>m2ck-HB#)1{XL)Q1orq%KL<*OIu;7LI{U;ntB8@xlt{I=v}aAoJ0O17Y)-0v z3tOcFlqe`saSU^uENI9~vTQ#q-6lcu7ge8Y(*Wpx(SpQ&m-4rIP9EiAr@10gVEW`I z@MbJmqJMVSJK6~bhXw!T0uog7W zeZuTPzPZ+z@k5j^sOP_%7MGY%<3o*h=@g?1^)WWBDr?Oy>K#>6#b^e$GS;0mmr@JDoFOsZ2#=;7 zPa!R}XUJl^zv*>HUOL`0PpC*nXw3e27Tm*#O4dS9L`gEH14>{{9$SoT(UPzA{ky-X zws_T0w&sAXr8;y z8e<{S-UD_i$~Fh+=V^(4#&YPqXguW$)zlX^+l|TE+O+8h5NZE_~uL zwohsm0+?35G~e;~E4plBDxNZaN~sVtOYuM8KaN;i3E`me>=6H$>#T6-hwJQEJCEOY zxI+VK_bl)4(F)#%Ck%p7ZPVef_~>Ws=f%(LC(NgJ(^T=8qS09!TR$_Vs-i*1a-i+u zF9KEl*Sl}48+b46+#6$SP$~^JR-Q18VtQ^_Ka3Pk0qsgf*KI-fYZ>mvYz<54d8-L1 zxoFrI{XPkoGO$TJi)L%juYa1dSwhYT;0OQL~v0=FT2NN8P7?L+9x%RP& z;diwN3tz(FC>ApSJxT;6m?#&dY){n8=TK}2U?NEJ@Y1p`R0Z*W*Xzi6nHR_K52B#| zhFIoE^^G9T$Ljm?2Lhu1)p^;PlQd8A~B!Vzcen7bzF9q zb}>scv3B(82F)_6jXJC-1f?ew{fPaY5KzdS{u9+5kzsj!PS(5MvM^KqbYk0jXZbZm z)}*tP@^K)@M5qs>P5++~H}D^0)Vw_v&imA%?D$l)i8i}pZ{tYF-^LtA!L;PpPoDA; zhq91o{T1{y2E3>yfDVA1=dRYbtz>L$Gj;zg(NR95RR#=oyvY8X=S1RE1)0Kvuu*Qp z*fjvgN+TyM4D7Na)QC4Ql9BU&w$w!7d)i1@%n}JpBnX>yQ}O{na%`x=N z#zr=+^zW9xsu z2@-c%_p12@>P38(%2MaXPJ1EBo9#$>f;dexNpJXe%6VJ&x%w#27qn`S2VK8rw%P|a z*fLprFTPN$9S3j7KP}~ef5(*X6--NJcM$JevW^f7e=u5aC08l_)}Ul0(QmB7`{ z3rJgZeD+ksUnR*q6B~Gnc-}$=iX{nKtmvKUTx2#&d}=rd(3nWm!^?AJ#?TYdL~0ad z17XX$fWQJ1(M~OY3_uUgg-@f}h!;oPEY|H34wzSr8=5!oRlWTJ0m#G!S9QsUQJZUB3{g5Ef`~231`iLTf_GS+vF7ECZ zdWGrZC7ozQd|O%10zktVhPt1e>}DBb6RjrJ8%XnV9HfaKFEQ~83*wP{_>#bJB<0JX zM&Cy2yM~w9`;AOR6py()BA})Kl5o%h)tKHXs~KWvqOeuor>b@7U&!zwaP?2NPX6N% z!p$3c)gAF)WzG{{6nf`m|yhf0j#Gf=F&{3+(ZV$*da0w5<>9!c~V~&91m@ zuVE(S6n(LNW3vBIiFRHp(U4ELMVvWE~mDP9%P zFOXi5w80yu#TW15NUBpEmehA4qn#_R3BD@yn*xQ4AHkciZnR@(}9BM8lC{d zn%ff;7sHTv{=xF%_aSVU^#fM|9V}k+q>MQh5ffY&=rvdGV00b0j4LbQ1ya@5Y|o{s z18&pz3nodN5e2}XR4(FNRuLd}ilu^d9eSEfo8 z%R<#YDFG6A&4gSp}u})K5pXSu77H(7j^M2`Tdq(0Ps5ui$Vcnjrm%cCkn2*cfwEq> zpdc=@x`o8Vfc*7bB$7vv(Q*HNUIt(&1neh}wlFP*cQCGi71+(5CFfd@_q`phz^rUJ zNZRmSmLYDN7Yv)e+U>Y~TrZAKSiv#LkTzI~AhHsRMpk!cuB=Oa#e$s-1}??grCTLc z-Wy6PMA{YGs&yNtnmjeBO*S&0kt7k4e61-#N02a9Fcyg6Mvhkt%e%_G5ou>)6t-oF zM|&1;vMA|<5gLRQxvMPiF+Ma4SUK7VheCbx)Nv@r$p+2YpN2W)Vg3gAm|R%9I-+0~ z)Qb*&kbb+1(e{yAiEaFfD)Z#oORgX^@Jx?%GgZXkmONw7)|EA+(M9-Yhb*1ZTvco= zPutONk>!_Zu2EHF;Pw(^GHkFtE2VN6`ZH|n&Tu*GxqH|)+(fBd zx|QB~&0eXQEM6(6-Wp8Q1zem+ED2A?WtKUaAF|zUS0?KPTy;WjTPP6>e5(IUJO$R% z3~$}pacL8+Q<1JzK_ov~qCJUc=cdV>&o!W;1gz&3q9?qO zN-b<(rQ}+zi5_`*1WK>Sg#hc>HbUnuob>VE#Z(_^v zl#6#AQW8YjYFuLq(Y@n7kWB;B%%HMg#Pp`%c~n!q3L}Oaz71aR1@bt(6kt`KDNxF> z6@ZFI7D8dm)|XhqMCeR=FZ%K63V0&(zK1N`zYR`Q_i#_znI)B2!7XR2CjB z|B0Fs?&ZP>K1ppcmab&w`_;amO2u(-qN&sAn23PgTgo*|Q&d*vP^ZqjJ?Z>7W? ziP7NX56EJs2N+$xFQdZbB5%!6c#gkCk?HN7?}wR2o21{sIs1-tW_tqZsQyYP#&ff2 zmFKM8*bmju)lB^kDI06F^JS_hrjyL$-9fxUA9yV-4Hv9dnjIBWoU__9DK+Df=i0GS z(t9wy7Y6d9>^8gL(8c@OMM2(EOgARb;V{lngsO9@PJ^s~7Bs zgxZMeRD-Jd712J{dl2kff40PmJaxtP4hS8;5v2zRuJMM3DR9XP6Rd8Acp5;`vQuDWcPvpLNbUH-Z+7#kEvH@0^G9${3MV;Rbxer>!Is!FCCRHy2y9qXu%8SC>Mc1CSkY2` z>`m!N5Fd!2?Ap>G0p8YMj|2d(_xHs$>5U*j0FzCUE^M6`ZDba6-14eGh@1=vfXsX} z&@}c*5f$?Wa3aWNnjlhA&xJ(aF$QN#0_`f;s0b*HA?TUa>7YftowG*kRL z28~`46%SJ$Fv;@_o^^Ml^86%g%AoWO4k$O*XD{cgMn*t^Y-=o>x)>l=NKalDmjJP~ zEHxW=-S&+=7?q)m+d|9S5Z8|cdDHtQ_#4KyuvcBDg|5q3WX=3ji7pCrXD`k}ax2$m z`KQ?8q^mHDV#Xfwond*}BVL4_f)e=D$8VL(+zkHGepg*I{EvtC)nj_f6r9(UXp_^p zXaOv&9O3rG8&9l=5Z^XPcRrGhi&_hyt}LtsXM+$`_BLRM{i}_$bKeAbZtJLcZ;4hQ zOvZY*ggX<=uAQUhrY5%7;Gl}Yxd-hV$Wkd$7vwY(zaV3pb|NT9G2QC%r2RA0zLZv$ zeAbS!P|T`tb`L+OdLCgFllgnLT4_s=yw!@KUm~+bp()}|a2VYG3XL>^Hz|wfoF#R- z-(D+R`;y6w6+zv&_2nFabf5u}b2&jOcT+M)dtquZ$DIGyTRkJefi?uJR*lg3Ni10| ze{GXLgIWun+y;;e0(y)VMp1ssgKBac>nO@hSuDmHrcQapy64yYkL9=g_ zWnS=aNuky~bxtV8b&-)bhj-#L1wO-GO!(>WY6)FS%`$&&bZd5kspxw&Jd4%Zp7{BN zeCEG%vyqU&aZgPV_hxv%yt#9yRekX*8`XdUW`7YIP3-?Q`^UWJofE$Pk^~g(R&_1+H-1tE$&Yr2RJeE1_d~ zlS7DDJzW0-BR8w@&7Yhj`X(U6ZM1{2bV>_t56Gyjw^Jjk`6Dy@O-E7Brk|C1$>-0C z1MGXERo8m(gQ%o~IoK;(bLxQ+O;VIqzHy0ht0d(g{Kg}#UpsqG8~k67l>Uxpk$XtD zOLB!V zN(`tWd}4=N!Xep4yb$Jp$Fb94Q-aW2_4*+H_iqw+?XA56=HO1dW(u%6)wtL^nG-bA z{Mv0cks&Bj;Db&0TCcc}6r#bj%2;cgZCQgZxtvm#ZFK+A^;@mkLQjlD$i7qT4~BP` z2iYzQW<;Fzm5R?KD7EY1t~hQ6NR#?AaI3;8CzQnjgRk>Dp*yn2Bl`)A<*rkSlOKb0 z#JR;4*If{G%R%yWl%*ds$4}9;hTRUXAz0bR>3Ml6{QK`FX4X88*&$jDUQ{V{rM7?1 zINw=hYh_NX;ltJCRhIR^!%HZ$ncI`sx*fNPJ2NGaXR?|x#18SnEHEMW4 z`?L%J1i4v=H?CJzmjzJ9$?)nh2NVCIx3~q8l1hOHjyuzX@E|-#5siE7Cpx|Bjo|Dq zBxOORK99qYF;tG|;KH&&4#jdlk4Sz_joBRm$Wm#IFtlaK`3xHa4ul@S8Z$E=Ye%tA zpQ`)#_^H~2P7nr$VC3v}qzR$I)W7k3xAV*)hzEBlTuT=)O;^3{y7D~sY_=Ux;)my7 z=yJ#6II4y09wOho8;rkGlC+|V&vHy%Mw{Pfi11aib3J$kj0R1l6?&_be|NBGDyp^k z()b_Q3NDDn>Z}QAFEanBVx!Zh6M-BKHff?TR%IBb7@ICRT|Ix5|BIc;l7lzD^vSsP z;%Pt^?}K_jfb+x&SGE|5Pu4#vp~%85b>ZN_kpm-tFL6;GQ5>mH!)WIByE1zPI9np4 zF%pba;S)@B{nU)R|LUEr4%?TldS7s^U{`?AqFI5a-Sy;{sr5_DCAIVPNHw`(^+zk#1rTT;!xy-+$G+y&1uZh}IhvqyhG zb#A9UdiXIMmQMDahmeUp7z?8h@ks(2ea!9hB5@)Gu~zh3pg^LpIbTN6 z%_0D#yR*tvj%OqR0n5BO&veluNIUE%yCDcPHX(O%;OxZIiS(fy+ooZQxo|W89Yaq0&2zd5?~nJb z!*?bzUEHi$!pjc&)!oQTp{u+zkYU@!M+PyR!ocp|qWz3)Qj{UiUGyNQWZn&l;*;hi zIgQL&IMu}Gi*K7kMyk(6c8gulA74dnRqcl~^Qg6(w2?a4G)(?`PB*NHWpz930{m}{ zfe?x`w~ID7C5j3W&3|6H69oWrAa^OTZ)QQlG)nhsXEgH90ILabk8siic5FRG4AdQX zn;iclHXCw?jnn@Zr90AzP{Qx`LR{!KwzXeZij+llCvLv%VefC|a6so_GdJhIPI3k9 z?<@yXEyT8s!Av6>;j)BUrK*9ZW4MvIx;8kW3j*GTOTmh9{$P>3ABiVA;Ei}lkWZ3s zy>#QOg{_s9zSlF@*|X>65|xCb?NB)=_a^ zlcMFIzWUL?J1SQp=qzL}jy#sXm?fM5B(!e_5ap0e)&(@rFCR~!2ga${soUG~=e?{xq}35*f#nc+@Qfyrv+!3wC8bG~}FwNk^n{)CtJtRh(nZ_QdrF20(^%1}$&qfJt6sZy}#}Bmwlj zV!&reXaWNO!2EYzdJ)X&2&elKz-2~i;UtqbHY4PvQoa3ERzw1>gW{U%fFK@sXAmIE zaQERWT=yw~059DuZjF0RH%^=p5eyIY$%*68yZ%x|y>7)&fFLQMAhoXzNf8l2*_;6f zJ(c_U@I(`~FQj<^;V=Rm(^h8yIoS=|UAjGNRR!q)G3pKi@t&NmLwdy2eg9_{G}OA0 zIrDhR|MAw_|C>e{%UAvHTsgmPrA?D$cliOOSt$=K>$2n5GhXI*+brwTdYX>Q7)*>0 zzM&(IS%2(FEPAj{3|2B+Mhlj$(Q!%4Q{g}Llkl73{W4MPUMhB7qY?5RlRjWp?IKNp zD8oj;qh_bO_$RgciSKhn%j$P_;l|`O+}pJlzkG-ZGDXm+l_sc|%OAJGi|rN|nQ^|o zr*@@@%*>Xbq*iVxyH~oi4Q(`MgOW9kKwgrCD5eS;7Q4+I${}nE8?)MRXTTDYAgI+t zoRsDl{=n-lwSFeg%fER<-<}$l4VBTIoTguPtsEz3yRgf5arAKTJ-|mkrQLYtt=m`4 zb0+HEWjLQGwV4vLwJZ8{lF?%wYSHw0j@?}K2RZmRReqXzkSqkYYO|oArs46CB!zH4 zc-cd_zDp1lQugSt&A$kevpmsl%^CUgsup7$+wgb|($ls8x>d4V(rBOALo{_K{i#fW zMZq0rMV?wwiaU7p)ab-bi8~~9GWr{HkB>(byp5p-6ISr%t)*aj#yC-H5KozXBo*t;=eLF z(1+egD*8}99$NJI6oc_(-<$;AwmZQJU$~*t_{wyM&%(;9vG|`UqA5@^i|m^d$K!CF z)gM3>GG=IxNElB?t-!2u46f`N_eA` zpSnU=9(GbbE+{k$XY?Xu7DwJE*Qq(s@4!nR_vNwa=_1a{$LWbR2W{qiLfwT%J&c)jIP_7=^;p zS5?$0DB&HcFC~gwW#$`j$R;*=6r0oDDCXmfiaMVX0qQ$Yx1r0qidT?~{!;u*fqFy= z0YdsP(Z6b<)|!%OI(?KVxRw6k`=<_Ngu+}Z7$B*|ODD$lQ=(a`kgL^A!r^Aq1!5X5 zqTALA?6*%9$8(lHz8|iRqvn+wMZ+|EC?q{Ol7=&h7i)7YGBy8G#IDqB8J-4P|F|@CTO7QXim*196bKFKW7} z5GE*frvwNQbJ-aBS8J2@1vmhJnAuK$RlRc?M^yj-0sdFB$cUD$ZcPXR0n%vVCf|PD zbpkHGQc&_DxLTY-)BgUqpj=%WtpAY^>9Kb_xk;|vIx1IBXF_U|jL|DkyUE2?@N}U9T1#-yFBBuN4zV%O zazjuOunGB6+?<5s+g?L=t!$Qx*d(6=u6lTK$%G*v@~hbG;H}^-5R`DGIQF2J4OmMP zTisu>t6~0HD7Eg`gA+K-=A4EUf6~zF=BWN2E%aCN}J~21qa)_5) zE-FVuOeV^xJ>&0g&iY)loEc;|5it8Mp8uZ)aFbA5nq1NsbS(P zi8S;3d*WpLG&tAN({ssXS6)1AJ>AL_8A?X3h4VOpeIFf_W0;LgfbMkZp{3d^4i|sc zE1JJ&F6DQU15W74r)=Xpw+QAMr^4CpIBGQyNQqy7NDho1#;0V*-r@5@uiG2Y`)mF0 zq4ubv$(B6e73XBs-+_b=m07w;OH<|alLHZqkZO++^#I^sqM{K`+CA1Q&BY~&y4_LA zsS|TKKVPg*3DhyntgNZHa~?UrGPNpY1l%jfH6xH*UrN9|gk@oL)WIus0E5?{$nLF; zzUUalch(RHTnOWO$AienA*O(0;Nj4;^7{&Q3M3RUn(5F+oU}rx-PH`Fxcl=nW|1B% zVGdM^O0hSj!AkxInA=jW9oUq-7SI-0g}xWeLSKq3f1x~EouYJ!qaJ5R0#J8UKd)cK zNYqY9BYN+@bLSq2d75-n%KA;t&D1>^vm?c78&_$uh#^zHA5b^ol{WB8i!-qrvKCQ= zMHgP~1}^8B9U%#t`W$FSpW>Tw(8{P|yb_qNt`1pK_Nv6sLS38X1YANQ_mk`H5C#27 zNb#7p)HLZ)1Xw=&k>m#Nt;F6S2vccmDmLhXA#!fo=@1|Qe2%<&Hb{{X5^t8r3VKbuf zq(%$N#o3@v`3B7kLw3ZnU^^f9^#yE-GBE<`wPm{M&6c9GVYy#tLgww}0 z;Y0|qsTdH^NyMn`LnFm7!85v|v*qT@iw=7)y9RW9O_bL}mF`|t1R|{lESwn9naR4PsFvV5T2x{$ zcJ8o5BN}>x!ui^@uFJZaF@Cq-1Hrqv3`5N2-BkxGhM2C$#KJKBOF{4THI@W)>4V=x z7@pb2owg^z)voX3?F2lzrn|Y#e*TiE=#7r!ts!oW;(y)M_JT~b0bhwvUll_h)}=dE zIW&ZobQnHk!n28)))`G%@AejD$ZcU;-&A*!!#tRZsh_70plTwNlPC?YD)V({=tEtt zP$loCk=l+wW`dr$&2`bN*@m8ZX|qiIRq)yWqNl*7m)V`PEcgdLGYy#0%VJQu3psnf zB%^}R!MXGqSZV5+o>Q}3;MAYiR>LvJY)7on7{l;%t2Zw*i$(G;?xmpl2A@=Zb#Vmu zlv-OC*+{Jp618w#z|tfq1fju+Flnu(gAX1=IJw-XCWd9W(>YRbN4@Su$F(LN5k^E6 zo6xAZ;u>gFa@^2EmJh`#Oyg5RE}_tP|2XA?Gl7Tyax$nGXM^z=SX+=U#jIb`?riR2 zM3#Zgq!U(zq0`iuF`elM8I|BNGB@LBn$nekLXiGD8|Zts`pxnw&XNA1Vm+@q`!wX> z_Z^R0=JfO6jY=jb);+wsOgDIv>yNKbBxxAdp5k?h5m`d_1HY2|!i1|d50Us-8{&o8 z*A2L1uyLE#Ot|jGN#Ay&1kBrZvN&im-mx|8!9U|lsLK%qW52SvtS8%dvt63m^dbv? z2<9=^l=T|E`e>eXQ))Hza4c{4hYJnk_u@wiqVRgWppYRA0+CNaut}k*O-cS7#`Hsj zT3L&iM}Bq%AI5ePwRyduAM5mOS6ss{Al??@_!V&pT%5K&96>I|K`?5|YvRQ=iN?oM zCJ8-c%EOT1X`(9J;*Q}3@v?w>BvjSa=@Z{a7q-A+(%+S8@`>V@>soj}&5nG#MJ60MKy% zw7pIYDve@*2QBI?!2n8Ysbd~-sQ?AfpA@Ko1V7q-n_>Y7<1rk)_LJRM$5lXr-&f^- z=A)-lgoE1SdTfN!7Ki9}azMJhEdS8}Lvj1$-P&ahP?&(dFC0K|cN;}+2E8Cz(-ZE9 z;8_~;i!0DLHmf#;0QmwBsAa~dEHh|{pkefQhW%=`5?FDnl;hUDGI6-}$PUn>4YpYv#~0xH#f9A>kxT8MN3f3D~kotHdu}o#jd3);#dNi>@5)(sI9}EVn=7S`ZkT4Q)qY4 zK#?5TU!Ow&*}Ls8tE3MqCBN=VAj3|sQ&fWtag?W<%FEL5gbZ(ps&x2N5KtyPDo-j! zj*CDNvHT$`8bE}Ko=!(A&#_uwykBC`vGO-F`J>W|XE~++L?LK=A6F7!f?eU$%ZDit zmy{Cp+{S9NQ@W&tRenN?*Xs!XDX_DMC}8Nzy3WB_=rU>fkV=x{W#O3rUSnJ6iYycB z3tO}N&E+(mi788kaq?d;3uG{Rb&*{i6988co+1 z>XYM=OgFC^%ln(s{|V+)Cc+Uy%4KWYgi2*bI8 ze5f%MSlfXnbb&8r-7;iB1+NS0)cJa+JHY?-=Tqd?f?TviiX{zD8`ZJTQlhWH#O`|B zTmWADf;MQsT|L2eB!_}fI}Fk_BZa(w&HJ}vRFs7*5}oc84>1Ra2z)51R7h)lg)Fo0{s{y1c5;La#0nFI?j?J*}d}R?4DL)mT_ObJ9R9Rd1&BUQ?+nhqX(F(7u+s1e-ArrX9?|G^;(bvcCa*k8HovzvYg(UXBn=ke-wVd`BEnU7M22 zlm`VjD^k5>TXsl=mm^5cd(zxB3CK2Vjv!n3X)aWADntW@b6NT8Z;~PfEuwhHAP9hb z;B}a{Gh0N!PP7Of6dX?EDpnnFKKB!DE}BZsh1 z;1PjPW&`PgjtNsUL+%yqoVC~LAM=Au8B!0wpX*?7e>j975@JPKW*@J49#)nb1Iziy zpLDvTXMj@i8C|Crz1W0Q9n~ZaT1g#s{vonjT1Ytfu%d45qvcRmuO3yjsxI4Tmmklx zsOh0CmPXigB!}utIp!2cpY6?sq2KSvsBX_s7=(>_tbMF~A3A|VEas7rSsmV?g%w5? zs8*K1LYa53!9s5@3U(yyLQe?Kq^&-(QC1v?V|6)1g2M?OJv>stpn7(M`e#f! zG+y`|Ksf`4vm#*fgIqd(s-l=3W$c1)bfTh`^5i|maHBFJIz}c?tZ17q?yPe{V>=;) z^R`_fx;K}WH(o4DIT<&XC~NOuCptBC4}QOc)<@$usa$4a zx+9K(?sf~mjv4i~=R9y5=w3I@4HSSsyMY^^;8XoPA0lrv&yFh{)|rtqUT^rL$nut5?DPxxnu>Vw8&`0rfZ{albxlZev8s&>quO}_+n8b zf!@*z7Afo0B>2%%Xp;Ghr7RYUZvJOwP>sdJ8|L3Cs=D+nuZ=DWgpyp1d)h8SrcY17 zo7-Q*cYr0wx-lz(^iSB}3E*6!@=wN7i>8!Abq&qwwX5pz^WRu-{w+vgO#ZeAiX z-&UiMgVqL=&iz(2tPlO1V~0Fv_#u8Y6b!HS6;emDiP7s2x)h$k!-YWE(!kwQ<~jd- ztQPaK`m2rUw7>wXF4CMux(?}awGvKuO5-wl`M-3My68KmBnmVo)N@cDbC(#7WcD|z zM?=BbYb3H4h`PVtHpH(g+Q86854{QpKZ;ty-npDUBnX@65Xkp7OXpaCwFMJ5fvGnp zXFABkC8F>zLtpVJ^DBL^tcOG8Uwn1wA1gp-VIz{mQ16?uM$fBwMK+Vpo7Sr)qf^4N zmSVE;hZ%;RmWHVu^$Segi+ENt6%qE@Uib_a^3xOqc4N}K$g)YvCt>5vj_I5hHjrQB zc}5Ie$vk6?x7>e!z1psYTgy3-Y+{ZJ%34X7+(DjC=|j7=-D$j9kq*_Ehdo+)ZfsRN z&~I(3Rn)_k3LcEZOyfH(31P9TAWX$t#__E^+~(ery47{0a;I`E^PoGgp=I;>g-*52 zAPe~l)%oyXzKc`e8v-MP#hN>v@HLWeK_gQv_rRS^MERwI>Zx=~_F*C_p%B&{RF0Il z;)2-O^;VAl{%ZD{v_QyfJNlms0o}uRzjVCqzD+nHC%qJ> z$!h`fjMAtgAXNEnrTbSY2$&H9asDlyL`Bsx0(ANuMLX{}h%gv{e&XtnE&rbh!(sTT z)F%&ZZ&YXzX{KS18;dM@0f2u0D4o`i@?|r}BQ5VlSOg8CxyuRga;LLaOmBo#z{9($Ip zGmzdH-lHqg{jo><{?HCd-XVdjxdJRoL9X&URBXik4cd^;=<`4) zroHXQ>d>Nu8*N&@NYoqTu7RQaGCNsR;}6C56=RnU8r`>3-WVCEV^JLUbsk}Y6_D<+ z4~!znwv2!^W6KM*fT^RBA!{4C5jPGgaBE_w>Jh+^23W*Mn&djK@}M35mDeV7xH^IB zt5+m7HGwSSuzw)EsGr_QhtZJvi_R~)P2RT3>uxN$rZqy6oi~^fdEWY!R-k1^10gRq zY_IqZ;#3>7{5)AONpPzV$42qvK8YVUeiQc+nhq#Gi@+XY(D;^H zYhUhT{pJ`J646+e6ZIrAlc`W{fhTQT{*Rdc`2>ZgkF1-k4GS}+6H!HSf zxl2stND&%I?jV-~_mxFr)+gU}02j!^CDHI7_%Ip1$8_^%2AW)_w)-FndR6`KW&berz}{6MrY<;pOi2UBv{)R!pMJ~dPCl$$VQWhyGWKr z#PJ?}|2VXK5xtbf6vVnMCy9u5as7oo$4NDYqi%)D?UGCx5zOM}SO!i}7|3f9$Gg_B zQFL_ce)BPak$ zMI;*P+%ensOu305Rq@qWVVE6)<%Eb~Qp0ZFS9QAsXVh$ml^^#)GofPB!}Vr_C|F1- zX;Lj8rweyh+i02XE(g)88ChX-cXYGcDxt0lEmh$(q@2<08?RR5vB@8n?qT6X6!l8K z$>C<%@Nrd5Z4P>*3x{ofhW1UhChS$4ldjY$LlKta&JEf>`PJT}p#cuhzDHYh6zncr4r)cxs&4-57mh3>8Tpr*{ zRM&1+k#>V4%y)ds7YB>3uRickQ6IOcL4rp(hlKA%e%ntflWCo--&l_ZIzObVj^gE5 zlx_O9n17YO`!bxKXE29~9~r{L)f$!9f1)DUJ@ubhh@X5ohzZ$N|JnevH-E-bfe=I= zSYRITh>-$(h3cGKwj1!zmZ%5T0SNe)vX@?;%r1kBY9&XbBeEA+)kW?6s2{4oa`()9+peGPt>8 z9`Z~&_8rTFO`r}kR>Nc;8w+!)D8{ zno7h?IG~HPg3Qtm)i>rikW6>6&`Mn7MMhyziMTf@{n-(tXYt+hkDWCbaU4aVRB3iHH{fuWR2VQA zgj`o+-#05?37BLZD?f8#z;{$%U;2m@^SI@t*U(f@3}J^j7fQb}gm3o^s}eH@?H+t488ekc*IG*RTj z4Hny4&?`{4Z)2K}vJHAqzh-A#)V$f~|EHcGRArUS{LvV{$!Vh$!14<(5D zd+m@D0=c}PiiZ*WaJ{jzD{kORAQ`{jM^6n8z6cOJq)daasraa(eSzI*ZnJFp-bN-HWp9Kf5kQ9PogfexX|BUKpl7AEoi zrF^+ZxGQ8Q8iv&pT@2oIP{Bh&tPz(VP>)BX3)xq`<1DNoiy>5uGe1U21r)f{VtXbW zYta-fcecmq6YmOW3SLvf%iejdi6VUa@uDR4sak$_U*r5~rCMvPoEqy7XLG1{S;sRe zA3N7nu@!|NoM+h*L8twfnf$4X`7RIP1as3VF56wf!VE@fFRRm6q;G4Jt@e-v_iq)g z<&3&O+ntCBrqd(+a%&PzOiNWbq5VNfB~A6D#?czfalXGQnieEW1zieh?-{b8=>x)% zL#M^55u?ISvQiT8lg;_-XFV*LTV8B81=)3lSLb>cB&gIozJx@K%qaf*8q-26K2N_= zhwTklbx6a9{n;#0!8p znDxb;cOnw}fHHxb4oxw^BZ?*hLmuj>tss^#l8R{~A=4ic@vJ33;wzBQUnIo?!p&?{xn}(yz1!$ zjth_F-!Q1{c$o} zmaPGM+=DGc;eJ37w0HfHk3I@Yi-9=qNyc1nZYEI$;J}GUKogjHzmw@!cBC!|a- z_d2xMyu;5Qrn{e&K_9$g8yQy4FtRY&L_fQ+3GJr5Rt0c3mVKdezM!!Qnu~#}Z2!GF z?x##d=9#a1IInbh9f@C<9Y06TaBE9TPMGe7lhK4ju?dLY;~XanwmQ-c;uZ<(uk&0! zfb47;bsdk%7oBf%BC|m`G@LF%a_IXD7E){e(q|ou~j8Uvv-=l zj;z7CQSEP_n92QVs&M5{v^Blt*yPMBg)kYlb$zhYpJ>(jw`wM7e1JtcYB^9w8`~FC z6i3}@gOzG6yEV6n8j*r7OM+7)2B?KXJQN6PI(S@e7z7T9sD(>U?);S-qj7k(r??Ay zmr3|>tf>M(4Gtc1Su2HrPsGs} z-m8NkrmA7J3w5(S13KX$vz9782Q?2@MR@bLTi>n`fW2*Shm0qj;leZQuV0XX z2wvgYOFwPSSrP*~?}ExpqCjsXGkUziY})sUm6(CpfJf1_alACZUnfo2$Vms0>0QV| zTYuLGLBe(3k6(`cDMI#IM)$Hp7h}Of3_WQ0nfw~LYX#KyvNfVS5cD+%das8fnx7s)n#B(!yZRccWh%4aC3H6K`z0_NW<<>NzPz?jtz{Trh|4WK{ppcSr7!pOsUKo1nteU{zC@9`g`h6v#K1dmE9iJ(Z zMy)#FlLA!`j($6cD~ZWc@5DSA7pGT*cW71=ky99p2d-}UtELr9l%AfD&tQ9&<13H+ z9=NrQIO=?l`eY->iYS8<*jmOG1J@WbJc%c(yO=^Ga~$&PIng<%B!eBL^gK9^Z{l)t z3e9E92R{x&Te*zoNOY&arUrA>`acC5-JRSf%zL*Qd5L44yIO2Bd*yIsn#X>2J9S03 zS|kJ$&a5Vn5hND_!SGp##pe+?LaSh%|JqD@38ICp87k%k-wA}*27+wPXdjo18STU4L6I zi=8t^x#?-%G)pAW7fdrcH-T!>0@0Poo(x&2cGAYi)8_Ct2`SXM-#GJ{cZJ;X5dtcG z-IjE$QjQohuv$1=W|x#Ivd|q;u6!gQerz&G66bXT=_<*1e|z9TmTSJ1$bA zX7_69IJ&bRmWpk}PE_PbSP-?!zJ)CeN8oo9^DaEMNxDeaXu{R z9P!&f)0yPj{K9pGPm_s{wO=`&?~pn>@TERg2Q{=t7&#L9x_dOWkIeJ-vgB6)YVy7C zR5xD>zVI4osJrc!YEL~GTt(RT+2rd0{7d2=%Is50a{sbZhk>W-u=D+zJT?9EUZh2r z<82QDURxP_@S;F&e+J=m5CEkNKn-gr!EXeJA_8yZp3jYONCE>n*KV91b5zh($F^kb>pV?MAv>O!Z=`G z39(4s8!UFV>#UYs$8W&2D}Q@mBZi!-eS@3&oJvM-vbl1C_z;Xh`k5WhKdF^OtBgP0 zg_J}_ZSE3A`@3iLRjRN+Gs3&Zx~%@>cnnnq(=kR`^9PpZtrIR{4Sd?hOEk0K-mYEm zX+N@Lct^C6lqqEvT&I&6B)pXZTa@91Tpu~o9)u%>Y@!r@wR#{K*>P4OSOR#L^H;WTxiBip!lnO7ju5srx1MSIIUpz9^1^N%w847l6;qSfxw34>pQ} zjZUWwjDH17jM1o^sfH6RN%!_Y)~(EMhjXCsv^&!&_carhwY(Tf{lc$N5*sc-krzv& za~FeLf$9s|^li>kqGzJ|un-ywdVMai?w`Om%xk2BgeR54ndVH-$5-EJuxLDl%b~ZC zm-5+{1aNnZ(e?im1&;>+#5x^TI-C+{J1hwTy7S)kZi1 zS>T&~I`eIQwGH!kIY#}9Lsvn$C-byIM~Gd@>gEI&wf2mJ3IurpFR=lFOw^@Vq?hG( zCE*C1+0rKC;rb_l7TWY1_Vh@Gqn+e|+_U8h#yqrWo>aUh10*J1t?VwvF z|IJDQ;S6weeSs9gxG`%pp46;XSMmL zvH5*sXHKoRThBekb3&ftN@7f|20ItW#l>$$N;yv9y5<)n?C;XytTo)myONW>f3_aD z4hte0t%GcqafKM-6`8>`0iESugE1!m!_yu<9TH99#uH_JcOkJitv(vhM0(MPBSu2` z)a$numMheTNN`+*wMb{-u2(K%MuuU60fm?7wuiU|=--ONb;n#>xozWu^2{Xyo#Ec9 ztl9NCehu7aMCpU(Kil9(716a{-)(T3?n^Jn_t5`wn!~BEVg{Ps!?(uynLUUI$g^+L zqE4e~6mw;cB&CO1pW!$5jw0UY@qH<#E# z6;^0B3$)Ncl)X;o3g$%~x17WBPh{^9Ti+fv^2lMTbSq0`vhb&>n|LO(w%h9;wK{gt z=xqXCMN1IfeZ%F?129g*c8uK31uknL0lH9&;o{er9wFf5DXh=XajFtWy`r$3SohXo z!l1fus6_TLa@I|sDl@og_+T^{(i+tcF9noMQPgr4Pe&u|irGZ%&}$3O!f~h+lV>GF ze7}bIblSY$k`1OImb;ueghBxLm_;h9OoW-mt|uIw9OkvC(H_=ZwTh*3=$GnM_UGPu z@j>j+4G$dr^ldh>CSsLERx3mGC>?UI6Z5-o0i1Xab3JVS1+_2YRyrAeMZC=%ZW}`X zyy{;Smw~A%AgwRsNCT`s(>U?hhccDJ`j*bKNRrX=D5LpbObU7mw5McPS@L$-AVG^h z;~q8D#mhL&83*Q3=ty?uL3^v@x1?RK5qn!49L2%9B7~RQIc5l(54$n_*_f;mJne(U z=`zLr_=HsX2TN)X1d5-DT1HUwpHd-lo~d8#5_U(FKS?hImUVwDE54torHe*{EoRdx zifIB6>Qj=87Y~UCVjlifVNWWtd)d>#B@3WSJ?3G%O#KAKABKQ;r8d;HF@n7IwfTc zaRipmAktz2bGsW5q_&X&FF3?a`qn+_Tnf319t1+}fg`d3*?&wBP96_mxBi)v^ zQd)O%i^8==0oX+8hltiR81?FM{;Y}hFKez3dy_qR&96r5_F;O3;1v12a1V8B%xauM zRT8t3i>T4e@jAK4-`uR=$@}GFxigfL(&#U8Tt!p5&KT1WFyIjuA#h<}T(u9hY;yF= zVSZ3??k*%3X`Myvn0|a^ljNF;ZZ%U6B`anA?;QmiPt21It!kpKb-2J(6zlSBJ-}p% z(!bwVaZdZ4zuTpyH*kLbv7~iQ#_>|vp0GU?8wT0@{|XIP2rDsN&c*+Qz9ca6HgGc% z3oz!gwSbf%X4H{{qz&Iii$4B+Z_UcW^M9MP5u9gn!OI=)Td5*Vg` zSaHc*UWnWBAdq_OEg*kMMDNKM(<1!RuNApZ;mHbG(rqGLf-#h?JgRs;R)RuHfZ|x$G@l+%&}?3IzF` z-|kG~%e^kr{!mwW;_5xv0$E0Ra;6o2hAT*^;Xc>iMLlPPEdASa?A$)F+9}<$%%1Bw znf&Go7q&n}$KQf?n=a+@Buftob4i1$Tc!R%mYCoZYzG+|myeUU{e^IZ#$N$%w1qlF zU6t5+117uD{i{N*^Bsso@~7UCdUfW+%9;8Eu##Kozm>N;nA@nkNS0v~1O`tRwvo>F zpKte2S?}S)LAB=ONVpO=@$%p#Nf!R1?hp2 zib|+P^%N~|GB44i+s>SAfL(8Mh&>3NBwEj}8dODQ{^y(-4^Ccn(mJ1b@KJ1 z){1tBJ-Tp9=>aU+RAgkQa^~d5vy|+09`Fo}CXE9i(prJQg|LEZprqvlZiUb+b8^jf zOd@PwH;d*L6>Rv=bibd$!JH$TJxg4OvN$9}p*HdyRU0ryCc=^^%a|%M=!j`^SH;}Xi;Vp>sht!TT{ZQ^#(=LkZ zHDFbfAZj<$T|Xb~X;%2t8Fd-nMP~B3w4{o=wLrPh*1hd4N8CMrYXyV^uSb2WCM6v! zwV+QPB0@IhhB-?$GKBN=gL)5X$492ye4BxtcjhV(IMg9|XI{-D1KaqP@EA@il8qSS|)u-XnH|@=chak_T zBUSfbEvT4V(@SAH$iy-J*~WpNtzuo%%(6f?yEa34>C$*!XG3Mf`Y!gsp~c-YMyx38 zrz;80yG4++YoD_;@ppPhpHgz6D+}So@1lgv(;)hsVS~NGY{56{3Y@*I)3ueEUVU&_cTFVf={vHxqgBRuI{E`bW z2N2fMoC(o}iah{VhC`lLHc~U+H}uXqN!^Xt3;D0mH`C&{+}pY}d+nCG#_Zc-@cGq~ zy6KmLx`Rzx++UNa4PC>;tVaD;>&Fgi?u+Q^0}(xDIx_PJ!BpX^5$$@Ao`HYS_>Ut84fr{^ zIx1Vg6;;HY%xFnT3_QzYJXP#wU#Tx8xuhm_Y{##Xl9|f< z?gV(6Xk340W&-7Ucu!PO%{6br6-yPPy^cA;i@;51&$H-Rx5Ag67NYeEzV+2b+*q>h zWfmlzVsX8<1T;wBd6TBs4%q}aC3xh4FjM-aO zkmc`vi)U3RM~3>T#xYz|BwnVAUz8;Y7{fw1i1FMCw2zg%MR->i3C6}=$p|V+TNr#TxYZy8lmRVd3LeW>!Y|!VUBD!*XDiG)wZx3^G z`rmLC>BYV4jqJ}N216sH-1V9O{+nzgefGSc24Id#wZw!NuFe4?xY9h|w`!xcUR*L)Te8 z(K6ficHP2Yktq;-oI?wL*R()=yK1?TT)@+3Er4Dos@7+e(Qj(; zc9T8svK{#B8g$<=aF8E;sdoCjnU6@45(`ZAJA5#5hZ(L=gx@fRDC2vI z{nKisembFI77Gezlfe98IuL32E#wEi200@_F_@W+iC2hWLm4N&pf+TZ=sK?l-!sh} z51qUlig+a3cacb7Dv29Yx0@>QZ!u)BFb~*M5BrI~sey5n?lKnK1E-J})@BCNYwFJh z9!-?)!vbUOQNFg)5BfMIdM2toa--hbNNK6CcRrs04N!zX5t+?JS4h44N^05#x%B{o z(e0(_#r(D^^!Dx_n~dE~RuW<736@}{B{?hdbchSIx#hu*o3MVpYK{D=A;+ObP--S% zxy8{GvALPkzODepRvxe&;Z8FsQTSKFszB7@ZajY!QDrpAk=T@q`R_xIrpwubLF>rx zg59yK(OZzdrFzG2x52zh_@4?T4SMaNas zC*AvOcqE2;0W3U%4$!2PR0{8Py>%@5!RXZ7=1ZaTQe3C|-+YiwZF#S1aM^xF6PBCJ z?wg|?HEzwqFP_s5DXU}lf_AOq3&!Vq&%@cA>pAerHkY1%3NLWUT;*4zHJ+WEJa4_j zSKMixP3G_0L}sr$#BV#lM4Tx|lTj2$eLjc_&ggkEy+$J__T_g!>36de&&DvlT_Gcr zcx^}pIDxj!K+NN3Sw=xH(+I4KgZ*HGJ4K7MAK0W(H?M_0krsD3q1-x{O%TKd}dv_EN^4IVk5ViDtFc5D%DI{~35Z$M!Mv z{PlzS=YPI!h1l+INv#~;U5R5{^sO(GkHH{C$EL;}Slu2;wE!e+&LZ(HM4k&a{J3}_ zMO5V(<=MljrvL=*TE4~Q5+GF3h(_AqFcHbY5iI##?^p9sAP!UL)H@69PcoPEGje`vB^c~ZWvcl$G9@WJQ>LfT#>1=)zeh^T-is@ z-djb5{rWkw^;-HrYGOQ?`EL$3q5%@VBxVHx#_}9#2<{Rx9z!=`!^~@tX?*~YD6r0E zlodi{ar&<9s%`zF>x;Lms<4P1FTnm2Rx5kdxef?FFh3fBr84_2mkV+#$x&LK(ElkF z2z>PZ5lRWcVEM9hdpzpjD=^C#TrHr+-LtydA*8v4m7xA_^A5pN1SOLz@~5dekHIeo z-np0^M&}={ib6rs{glSVqR;sZxM(@yqtWC?xM@;l_&WjarZw67e!X22_qNBzS^=&% z_RxZFFq<}te;CNy3VO1|%`=U=1b`E$6Zb@$UHrY;zTR202F{=vrx~E<-gBIN225G# zAQ5Ag9(U~ri0BuUEHdjtqlGr@ac~4^tg&&fDAd+qASnFTY<5X66=1$kkYilg~1@$Tbm!`HotC)wTa4)3=YM4hBJf)g==+*6j z=W==U+J#jzfOc4|%{vPzffBPlC#G3jXy7o@Ik<4zhWCIr1d-gk=A9|NZc~F`pD6Tz zBu$a;-~K;TtrRw3HjP$4%ouz=r~#EyOJ;U$h)pLDeIlTu@ilh_-e)RYpFm^G!nj*c z`mIfu589ojI!)6#u<7dU-&H2;FW`CLjVrEu3gE7d19~mYg3NM?4tG29t=r=Th!uL$ zG)ghlB>|?c!2~9Bq1L#l4rEu z7zO4_$tI>rhb|Fa?9v?)Sqo7z6BNk+m|o)ht4-8&?^ePB|`f(ji-#F#Wg}y$Z`wrp$jbmF%+l# z*X}tKkS*M8i;{{c@mOcNGsjzcM@}G{ao-X;6HPj#%MYR>!0*L zf<(|Og5^z+uWCan;t(mluG9kam8Z`if_Hf?SDT%;B+29FdFu=384*Fp`Ij;6Ia zOXVlbsvGLa)r@Xfn$lzMESk^Z$n&^Jd;M3sS;yfcVZWEgF?sHui>JSCkPVU?EB_f0 zuw0DUAm44o%SHUs7(O*!4=oT21-8dppg?3ZPTnom{jo6+i~YJD2(Lx}^!08JSotVG z8xM1~clreeC7?m~_xp?kscG~G6eQ+M@Cu9CzSYFksip)o zCIRWOO97Zfg`_4EyntgdMGi6BIm)-2{@o=<{tp=dmJ#_cUuiE^i*e|(!|syNF?eBi ziM@X4h;2`c3V8YFHg_OzxK@fk`DB~t_nuS4F<9MgH=R6mTK330Uy3P`H{Km`)=T{DtbAu+30UCrvN>%+GprZcX{Wp zHM97=mIb?FmP+d*-JIF%oDMYqq=eV`akNSU?NAtk$CarFEiT<4f%Dd3`r;U z*|nh?jyg>&f7vz?+#OMoihk*#F7T^f)NPh@u4dO+-Af%K7(CowAUcezFh+5Rva;+j zTyDsBu3yZfA;}ma(8CdpqbpJFT;GT_R*pAmB>i9V&b;?Whrz;juc(hi;R{Q$E|9s|JrzL`PVDL~ zE#_cKi9aPfrnV0l(apTtkBunoh5whCeuYlR^u!eqa>u!CRcB59Z~PHW1_L3Q3=VX? zB>wQng{lZkgCeJnRZBoKgwgh?Z#TAPqX7nGB!joA`Jbk>-O_iht~uV4C|KQ7(7qN% zhOnXHFdaP4q=@HUk9C29|{n0(g>LHAf=X zQ>M6l<+=V!>yrGiJ+<5KecH(9INup`68i16sq!hc;1gkJW-7+w0!)FXUN+Yf(Ky~Y z;Zkpw)~>jVC{C)ORU&1H=-6KJMJ-inN&67~&eCV9J69WO20TJ~;j z5o<;~Q~YQbebKRt?E~FsY##|I6d02CV;i)BxC(^+%V~_(I7L$X52Jap!cyCc1}(+ZMoc)qo)2ST#3F4q^bBEDP_7Zlw|ix8g> zhsWI_G?#5=uRHpGdU3MBrQrqCMXweYL)k7H+Ca>h(j4M@8kStb=IMos`zui(C70O0_ZOQBwX*;LmZ^tx1h8v3&v7dTxIc z`l#0zX&*|$b_>5CiXenVP5E-N;heOw7Qn+QPf9-H%e!947bRWZ0gR9+*KawsvKlj- zRfgd?TWQ)%e zmnr$iDvu`eE1t3Q0k{`GmAo~heU2&e7% zLp%Ae$H$K+;X83uN1Ss?o5S5(1gHvVIi_=Iv@UY3=Xk-EGEBR!Nl&M-PIa22Mgq42 z-|bIJ{O;XLTRvMzMRN6jD{?hY#lKGMf-!j z?tEJuS|*H-_&ca~zveW|787yNUa`JiM4p4vQoL}PLtBAU{zl9}(^|6F_%l};P@k;C z$P0Ej`F1K~(tavvXMSH09tg__eiv2GpgiEM3J4WunptZw9zLy1t|E~r|C%t=*Hv5? zUOghoa>}>O4Od`{A^P9gv|J0&q)8KGc@KDy*`&vbwRdj0cj5|`Vq%%>UDq3F0(lFO znA(x1e@qs`96P-pk|LID$K9rXH~2Vrbs;2BYJFa7i0;xo=&zk9%EJ8-g=Qb#3D~0| zy;Xavp}}3{?iF)1#TZ)rSlrW8@{aaGp;xq1AO~@D)GvCkHYdOW3}k;*(#?o#3`2+P ztC5Sry&wp=Uh3N?{s{CGz^!rXwc>4_y(ko&^k|uKkMA^Mw+hM8;HVA7E!AdNR*mLX zt);v|an0-+Pj4eB?)Z(DwcZ_2TN9`WHDec(?sjA7nZ@zVVxVlXHw}Q?5V_UGPxozP zy`(^fGBQ#UkZ#Mkk1PYxFE>JQzUzhwf$3O8{%VDg$xmh!Fvn|bgKe)?larLiPCy>g|c0= zmw0m+1DSg`4Y!V~_JKrHRy6$D^m6E@8Ag+U`{Xto3l{`|1`f;hrNI&fGv~mb2!*GK zY8qQ#s!Lv+fCHk!N>oS)kqtYpyAv4Ec3Z5NNPj?XRxb{3m{dl3UdX~)DPN` zv>m$_*6cj80-Vw*Y$P)OszrESJ6QZUlKvaM#Qnba#Hw7W)($kyJ*<0>2I%FmiIe9s&V#}7iQgZ*{tM_L+s{Ze2db0SKUcBN=h!N}ClLEADC zyj;i!2#w)CV+y4(R234RSiC&S&~qRSn$YRkv{bD66KuM^W}J2n58M1o2Sg^m_2Y@! zt*nl^1%^?Eq)pPhxw(oesY89Ig0ZFO5J1NX4OPFp!euI{(8x-pybHtOhqp5IW zzU#7vKII2d-`|?SO}z9xV!Y*ry8{SbWnC)6Cf83|ASZIO{2I2g#j4>pt#msvWZ>bc zA#zdfJ4+j*Oac}c<&~kLv>7uKp%&h!L(u@_VoY2eYqCug!rNyK%te9k(~?f?-_N{+$eLmqqM#_KJcL*%4cA_&!{* zPtNxeW4Yu8E{tV6>+#TLc(s26)DsL;|$*kEfzLAYXD-s)NM(g0LIHkS$ zyor6e3|7`+t!FA(&FS9p*zuH7hWOFMx&*|M&`aLbW*J$f(L zyOurhb}UatF(ioyjx>~6-+fP$YVwO@lzq_KzKn-;vGJdTg@5fhg0FAWhx)L7m{K6i z%G>QwAl=>Zo&b%H)E-4osM_se(I8cMg|opC-l^@J(3XD00jNJuVyP@MLPmwjz##6w z_VfHEgnrE{TqdY_0rmRJdhN8lUxIKuf6j|K0BH8d6px8<_CK_dXt^g9yYHVvjjKqX zv-R&Uv}L93_qW!e4bHF?=Z3Qs00LV<7GR!@}T;>!ptd=;ntb5hcu6_vD9GO zsk{+oaVt8bJM6ctqp#=MGuMyVAD)Tm9P!ZEqnJ4j&|w@%z#iG?d9*QTey{AZh7)x} zKFjm)HW}pbBwn#M$D4<<>n#|Ya#(d}3?Tv(kV12@$Mlf;4JvDa_ZWTp*dl9-YuLdE zXoUSJrkQ08gnJ8hVGNgc3{#QpoZoCBif+>I{$p(`DIffnFAz`^s96QOW24rVH{LExMBDRRmp;a7k2}2}pAXlv)4LFzU4J}_U%CR! zL2gve9ShAuRV3A& zP5F3|0~>x2#865Y%Fa%A(!hSU1(io)jfa6ouwEkdwot@v5q7p;)Wg<;C83 z``8oHq{=fwJW>d2rTt122>EC0-U@nBwmY=dmRiGKG2Ab?rrd2nDi$3i;Sw~E`R@sp z!zLbZhxUtPX9!}$pu>=hT~f_6lfN=hAMAGEha`-t@)O!S$*4w>Cji2N5P|n}VOdQ= zmf4YgDbkKNiR89@9+{33#&(C}@GRdP?-zD_jR1x7!R0dak4kQt)-ZI|$9N-}XxD-d zCx%H0h0_srm3Pl`qE8z0A1(X`1#4ohmg$AVghos7oQD5Sd>GadUYaI1>e~^2jN_is zm@@=*98T6G|9qCVi`ZInPe5t36pcS*_SWvZyQa|8Ki$M!j0!Z*fhoj2f0YX%f?Kgv zojtgE3tn1Xn~c39l{L&Z2`S$4ImoJkg#SUw4h)*1I}<26vO$@gTsa>-jQoxaCvNuY zxMW<_VjnnDQ^(d?JN!?uZKGbox4civW9pcV7gH>57SG}SP|b{BwJPqf%_}>_Hs}4k zM;|V1{QqxsVi#bhV0_@!b!> zA80aY+l@oo?@N4=#KAYAx-CYaUwHZ7Tph>Nflv4Dc4@e7`~ORdO8Aq{0dHycM={k$ zPoYjZo7_A#vfi;V65K=q;lkHxeOmUlrUjeQP@W0-b>-1VC(@XKE$9v)3CzF(77dvm zy~-gVfInaF_VZH&Erp>iuY%xYlDlagFV_Hk|AY%n=AbzOPOOSrRyu&d4z65Ikvi3Z zZQy&Q6F1_l9u^m2yppvC>O-pT_Pz6Av)&wKY3r#@qfzwiNE96X^LvduzLF?^V*(w` z_81{phwyRM<|=iAs#Fi6E^xc>;{LkaduzsSjcMbLPnxrJifT1&v^SI4p>T93Zo4Rb zbYKA|74VdtmDwsrXVjZh$_9q6_)&Y`Xvn;IP94XGJm_t5`<&gdy|wmd&~iAR?kXF{ zGFsncKz6-B&z#S8h9&F%LNwHO+uV|t?>hScA2U2IT=j}-C-SchwAws4Fakx=6S^DJ zPryyOws;tIv-(B4+x6EP?ASqQ(mwr<{7%PE`}^;j5dZ87FOZRlb2p-6h(qLuRI z1lPe1_B<@cNQE&*X-5wSK67_}H5Fo>*V57=<%{upiy{~C(_9*ieGHW9vcnTFT?H!b zD}ykf0%J$jmQ|p{BHD!hD)DF`4K4=hZq&YI0#R|cf+ zsPyNuinxbXUD{a*=!G3AJf~&|Q4{g1MO?|_-7z1vz9NVjOq%8yW(cvCXVW8u-FEfU zTO2y{7LQd%!2`aI&Vb(d4kmqbh@i#e|VG~p3Y6r$d zA_a{SM@4h5-pSAGpFu2P{41CFV`lK45xHDmLiXnwRbI>-NdbCp{%>fEgQE~HJ%~zU zZC&uV&$>0CX(z;Sbkm8~B=XV0T7pEWnsu{q?EM+6()Nw{5Vub(1J3m-jC&qQ36f%Z z{N!VjhbC=*Jh=3`g*mD*AX8>&lBzxYjKRim`F8kwxd5^n8PanLC>}@|IHIevQ)EMn zo3|8gX(wa}EdHwFP-<$eQV^t|J!pxf8FyB=EO}?(m?{j>cNB&#E@*9Po-v&>y{(R4qH2BuY zj~B`rDu`0UESf@~4!%4zWn1=ws0IqGEWd5Itc;x!hDIoNME0t}^?c2>d2wSvN zuKSh8IYLC2K$%#R_2{W0d34*8F4txi9X%a-4f56V)vb2)y}J&2fjB$+3Za@UEk6BC z-bYw}zIh1oMs~&S;;r~Z<}5;1=}tq7oQf~f17m>(RpbyJ zl30ba(sd9vL+3$s_XSmgCtA1`1Vg90*G}rR;<3N=(=uOWy!M4a;+4Y{JQbQXWo(p#1rLe^&4KdK#15B=`XT}$x*W7tKnFO=Ew*WD~vt=i~ z39ke`D4pc-+Kr_J3ekT0V-?kBWS@=pb;Qy*J^P)lfXz((uZix^Z_|v<8lX*Y;?C+l z!t$KJv8Gfju6N7aD*5Zb_U2iGP&w~#S3fh6a* zwee9U@9+&-J_0(pwvnhqZ9-C`U;j_>Pvr4|l0IJg^|XhEFXXJ;t8}m6q2qlvk8O|G zgh^_>8~VskJJQ(5{L~0Jn#NU_c*@>@Q8}&bMKNU-qqoVrEsnJ^7HLfrNvdfHnmN)} zX4M8|^4Rop9KEKME4(U7io846sQyq}`@yl=rp;81ZtclyA`KdI$40e{4>u;#VNF?L z^g!GhyVDZ&6lFy5eww%-aWPj9x0nIw_%8WWVthLbY}yYa6p=UCqjf_Qo;YUnr(bE7 zzq}+}h1E@mvWN_u-$SAVH2R0l_3x;W4m?nY`k)ANwn{emgh&)SuBvsN5JbVnq3;RW zNd96;!4NH%)y^&h?ZjmHC?N>Y?zt}?tkx+KOQG$3*&tmbNpR8h|J{!(wtsCZup8q8 z*z2lVqvz5fmE_`|x#-VfzCW>HksY1Yw-H()A@JlsPi`R*ORZP5zeb|5Fuj%SYGDY# zbw?kD|44bH&Ox@B+;YspNTdyxS27uk&JKC3Lvth2mYd0Vona_0V^@H{4LHi#UT5Mk z1V?>WoY61KAR5$(!<~Fj_m&toLKaAVp-M7mnYSLTkd|#O&L`GJ64VXY{*kyBc&AwU zCw4Y4OP(u^QJf-jmPocI_s!6c6G6c#E_%i&f`-#&A_JUd)Mw0^EbO+swW7f6FZgez zi{a@Px5V2QLZ3`}`qw*PVZ3ar{P@YkOuSNNW-3OV47wb~YmshC>B1&pUonVuZ~J=~ zMWWU!vmZQCxoL#;(Wd@bJlfb6sgyXTwnm?d5U zSYX9@R)Q*-)yO3{y-1OX2Rs_dR;spdimW%PDUV(3rkWMJ$(jaj)I@nsF=eo2GFj|j_wpSVca zedU6@hVC8~swM{PYhEnJEdq>6-rP-SEDa)hl}VuZ=GbJQ6_cM6BJN2>?zdax0v9Gq z<%Ird%W8Y&Xv=nqRx@w!lnN}f9v|a|hSv|@$vCgef8@gR84fM;*DIg!*Z8#*@y=Ru z1W|1&J|`8ezwDDcKd!@UeE1(o$&?KZ^7F@{Hv~XTIN0?@@i>Va!eQ5wks{_jiUt|_ zYD&(VS4_+>h%5;CK#ixtt)~8=Gft7xMb3i`=i|7DvZN^|s7?&Snt=w3fSTe_z2`Ep z*Vd(~KNpMdF8uo{$(O$|`mETHjN7MX>Z_?;C&`I-hOS^9%*G$S{xbOyX$MxTU9|2$ z93Sy=l%Nr}iCTgxQ1@}0Y_~@GW%9thoXqol#*uV89YzOB`%9Lx>no8KDEX`YSD?O1 zZIUlbe%@C;z2%i{SACz=`s_EIUMu@2$!yuqIB)hri%I0i>+#*6=ckyZKg8Vanvo4x z<<3$BRCa#0v{4COaG31gtsobsjssQ}>RuVN=@UtaJ(z&aym&76r@2(Xs*DH@esU|Q z*u1(y9Cz=)@{>Xh<%@pYVF@m`nC?DIsXzc{x`#6)1zl6fJP|o-jsTi|X&yuq@wQwX zDj-jo1-z!P^1*7eb7&43g;Vd$n4us$tGM`XC-D)zmdwCD zbl;+M?mt?++cp|smqYa$wY_e1z2APMQ3ml0FU|FDgJ>4yAq;XxzwQ$!u_2=^Sr?$E zNn7Vbs&1U$ewJIY`6hzNHF{ngK5~A;)%lE??}5mw+O4vKFc5bxeh(znR*U- zTF7F~XLd+JZ~I7Cw29EAPOW}_uDM&TD7K{dBSo%O*`cj{z6riMb1$ecMxE zZNs8lrvU#6T?2r#^1qMNkf;7EN^Rx0!VUEj3AAHT5qD#ZVwEjeg;gGV#Z?p9^g2NoSLL#}Mp|rb8pkP?}%EB%UwE)}Uh? zk(2n!d4}6!i-%$s%Hv&7Q5UGCg`!P91atIRA#%a_ms**Mj8NQM+}& zwd%0r0m?jT103D*;^~sK_LuJ{xiL)1EpG?;c@fWy=K3l26DSmS0Bu7C2(cr~-7;6d z5fA=t<^+QHA+Ry0QfI1N!dOhgLZHFc=4|wY>P#8bt>v$~pw!InK8>`&R3o?=!-YQQ zq`2;Q)>lWS5XLd<_q@c+J-5c^G}ssN)7C*rH2S^x`qul-pz$*#uKpD5Xh+kWMIAl@ zy1(sq;SLzg5SxViVl*<*(g6yJXFST<5P{Ehfrmk}jpRR3pQ;@nDN8;b_eGL<3wu2( zWw$*#QT$;tAY(m1l-mCp=8K==#UlF8I6|=;8WK$$&q8HxT?<{rH-YA)i-rx zHORo>qh&@_zsh|7rbe1F@{|6U;m4e>!e!o)CoVz$WKX2UYCA0DAi$ zoAUG-XyNJt4s9(l{(x8E%5PsC%@zWB@oYMxO) zTYajA?vh9FlN>zDViEEn*KPTwx)#4!B<_Y>(Bi->{5w-|>eR`sV%@>w?cQ(4i4kzj z2v&e~cSl(hGMMQCciyw@ADGItON>FutiBT2sI%`0xhgiTX5ziMi+^)knjImJ*mGb? zbKSQAihEME%uSM}t4?pK$yvnBIC8m>mCV*W!(S2detQ-hhgz4tWvAnSu zaD4>bg$hwslcnT)eUP2b&2%TtM7@0!Nd6 zseoY6gjovLhm;gP^PP5{8jGnBs@a{oWe{7nWB#~H&=_+cL#J+^o|`LtD;QzdkT{D# zVgRVK>rdh{wGWBYX)~Laiiyq}j{^^I@@Fs~*R2K3jf@$z4AHqgyxX2mrozYSvx`e4 zRcRp??4iHmK;;xvX+&mBuzbrPePC)CM_=($xy|M*rfekBH8JK05d)MEvgSFwS~+$O zY-iXcWm>Wr-fw^}z`C>AzA!;qy{CPWgYriltC@MusTY^#j z#GT0%9J}R!irJbF>w_gN@Hd5tQ$H7~Od2$`nRRu8XlTJ#AL zfA^FaK`X=IivC?ybfkyD`Op>1pxOKVRuSDP#|zLla)Zc)A#Jj6J>-Y$YGyT7kS0rd zjYfufF*R6)XXT0z!m?X!`>v}9FXep;DKt;Y6v(uS4lmV{YPvscnMbU=JX7JfK$OVY zT703_g&i3mw#e~JY#2-_%~r0H8gZp-OaG<4c6H2S!4br~Tn2sNuOGpQ0JS&)+PcQ` zOzS_#ePP+7>%4A!21cxkNjcvBXXLDz+mtFKD^eiS)_$i_M%>4Q*qy~tPDO~-I@}_7 z3?}%BSCB_APlBBoORUo`(D4iFZ(U&ui8!OTxR$S$@-vNIvQ-ec4O7BYQ051}cyN9{ z4LiKNJre@ldhH8vMY?4tiXHV9OzF;D&$(5<9H8nx_TF7jB~%H0S>NA+_h>-7ZAJtf`$viAcG5xcw0%6u#Nljk4jwFjgDTvR{h6j} za!CTbt8`&s(bwi+9QoflewX{hje3^OZ`8Q~m-EQ+3FSmm_V`fSRm-BXu^Inwma6;gF%~XHC zzbol^WKLLY6}?%r*{$w()!zxc?SGV)`yaRn*T*Pt1DgqXl03+!kWriK;#f3)Nhhjnq%Sf)JpHq!zelG|hMAd`h!F-%Zh&eMP*X@(IYjF|GHR!=sCU&nW6$tfZ;>e;nPl`Fb&54e1 z+?1uvV>xYl_U;5Lc}C>?s3f@c0VdIX^w>nB;T!1-(pIH4v9%%I?LsWxzKwsSS*eV} z8kHM4QrvvYDrE#s+!;T1tMA#5G|qaGfs|RKfZ31`>OLeE?AML;^%F;6W!=ErWvo6jv7?aZvhNv=i=hhot)0+;7#L^m3^)= zNS=_*XcchLE%MCrxtWRtMMBD6^jk&k7!yMKlrfqCwt({N4r7nda_-)i`cb@5l0vA6 zlDECampIHaLhQfhSg=5%j?*4Bl=2K@_;_Ds4Em3(jfJZQjZa^pDcbjFi%MI<8R!aU zy-{so?fvErpCw5&jMi(U^==9#woklczsA}jyCF5Hn??10x6?F8QSF|Q`?Ie zcA+;+Ph(KBh+S9W!Wm5 z0T`SZoh)Cc;tl_|neh*t)(0z6;JPsGSZ>t}o(%l$aVp4l0+6(okCqyPOXN`0XH0{H zP=YTIQ9ti>xm5`_-uuKpCZc9W>}d|xtpyI*c{S|c9{Ijrv|UwC#cIkl3tj!It=PSr zirE;5eOw2;q~gL<8mX`Dxf4iO#(Vrc^}KY@y!&A zkC}F`3UE>NYq3>|FE{zo_<@wNq!gPv9+m5 z)>M2Lc-hDs30}<9L_|1(nH~r&S~(sYM-Xk5hfYP#5^gD;(bkRQ3}KZ>C~kJQ<2oeM zCA<+A>zs;UyZo6v0pfJ|-kWH4ES{*vAWceYf6YeIikOR^^nlFmInXJ97y8w+$cRI; z_h;a`T5aY;wtS>YNJf+8-3t{c7WxeYs5s(@R5xvI$mvE)JnRA6@)5C>eq z-E|$-K&oO^Zk9Y=%sq7n5QUXH_qO#revy^7{(1jDOx-R=_1{wrv-KvN;=#kXw&H!9 zJ(rQ3g?BwjF7?T5if8q;ahni%jblQBH`lFl>$eX95>Lx0ZbFrMMlvEuhn6+&{s6s} z%Wk^hu7nE&)hBN2=v|io9pt^nC#Er}wSlAfV*czveB{iM^Ndm8q5RpP^_;Ekt=8U> zKsRhlEw)?u{GGaa#*9N0-^80!n`Cc|V(qN=pZP0AOIMhw{Azq<1 z181?h`4E2R7~Tw#uwlB=Xpgj7S`&a)!(`Lr4Pn3b6^NH~SeQZd)^_rvGqO2q&#Pr( zR1vPZ$2S&AXr8m*C|In>taX>)_MvwXYgm<6p@*vAeR0x14`|a=^)obT}Y} z=)XJ}2QkJ;q~S58c)(-=XB^_Uj+>+`Hzg|;CWT#F)A_E)4pvVo7wfs9!_y+Q)N`AT z+lQNONqO1G1bwZSH_K{ut83TiQcD-D)_5Y)NZG(roXtgh*{;D>TFT2h&?OBAZ|-9; zhr9k8H8vU*z;p^abXt+Myzq}7(+hBmB;fY{NQ;-|u;A>h0~5Y9@^cWxi7Yn7ULJ3A zg=W6%E>zX=*K5kM;ehj5DP!=29ch4m)-!Owx<%N|b!SmwRvtjX5Up%IWU@8@(20}u z#{0|@HC#MUYbUi@OB*y^#G2`$F}3L^dynGw1kf5l-GNit__G5 zXIaxZuN#b|2<&`l1h-5i33*zL?;Yw;g4ctm$t9EYdf6@&f#?zPTab0r2tHO1$~VYG zqQAW15Eb!*3a9!yxxz7KVfk;rS5?S=i)C2*Slg)P5kB;ceDJ?b(LpsTLCiT@9sPdf zG;ScMMf6xE6RJ(hO01>v--P+K?*hJ)z68tp?w|S^Y!)AQbC($%G_#nKsunPCjiU#s zy;`e%beV%XtRWE#t0s^ng{9|9>_y!9)suy}{@`R8k=4Vy-gnCt>-QTa)DHy%-?=8- z>`@KR&Zvy;Di_6Zy1$UASwEINi;65@qqWI5JqU^iei$+-gtqnp!@klRe~A88G*c1Q zlZ(223Q@Q`Z5n7YY1#DBDe<=kY^yC`F$!s4Sq4m-0_d;x=D67dqxEV0n|8=MLqNFt z?moCG$jjOYFf7}1mHC==8R`6QNpAl{4U-BglcQ>kaFP1|9aZ0wxE zf5g1U?A(#h{6tHG>x+*^UECi<8oopwFDkBFUI=|xazCdPE!JVeS^-M5$NImWl4HzM zE97$yL4@3J@_KDnLN21}Ng4S!1lS=z4x6OHO&#<551D9R7I2#fCy`T1yr)atqO6In z2>>C+(cNm)K*3SUkQE@$&Zr&QA&P>p*>kH59&>tic4$RpS2tWMx@rT%@^*Y3*wA{A zMe4XdC4k)~Fywmxghi5m>Z%rh_%z?ib@PLN{mnlcV1i2 zS2FNY;$9Tw^z>}+nGi;Jb|@0rMN}*;3Cpz!8pWT59RE^j^s#e`@~Aswj;j;a&o2I< zXSQYT_z#@KXR4y=G}iq}c>Pq%_9<0jj-XIlNy(`J94$^5dJ1FbVLq>$6j_JAIhN6) z#*-KI0>fi4r-3pZ``9e!TdA>4hEND{Fc(aIdkT>Pv}No*{wUG}D0n=Mg)|H4;yYS@ z&rM25Hm@Vc+pJK8gPzfQc{T!FR@I2(cS;ZdU4q8XETTj!Do!E+TPY%WZ2Z`*as)1% zFZ%Sa9+szuaEemEvTo4<08%$|T}UVf$%%g-AXgUnVciZyrVJRcd=MFUHQ-Eh2}T&G zV^B(gxAg&=%*nq~3w4bWc&45SP7J<8qSM>*BOA zH<08+{)`FM>f=S1cS0+?0c5B|yWiul#Xka9;o+y$?Q+@&yg#cJd}a>Qf`Donc7ohc zQt)Cb6jJ}gDAUqc3T$u?F1brPWlL`e@bKrDGh#izv}XrQKQrBwDx}6vtv_wNS*ygd z8mA-Knwl78=_QFbkk4~yI4=%?9)I&JrPCG1Jtj~H8o^Q%yQLfO&ffgxW-I>)85j9M zw8lJ%NS=S$WHowWhw}HFDw)Gx*YGq03u1Sd+)pXac*BjtfPob?SI*p@y{U4rMleRs zzW(mh_c5SqsEGVnU7}PZ?5QYRx?$NF9^U1tFP=Q%dT^9`$_H@?(6Z=n4^E48-tT!G zg`lbRUZ<4;O@o#Taa{4O)xV6%`hl=f)35lJ#zs&!%JS?^RtRoLs|Bb#qr5oxbrmh< z86E}Wx81iaL_~pR#(7l3J%&p{wi?DudHnQ^K)y`VRI$%O8k=Rh21UJ zh4lPMyC;GEh(Q@};5tK(GgXiaAcE-kRI6s6e!KkBKx%|xQ{_Nqz)zuzSGFEgTZGrQ zT+h!R8@!^vB!)F)tztMYuz`_6W_}&iVC7?-y+y0^GsBj)Abw|Vr4!Eib;ZKpMC`GC zk`B|(9FP?>ilb}^2Z77M)D^ah&!SlhRz4Le5|yjQU7FlAx$yh%i9{qze=E|gW|)-U zB$ShOS4MzD_Xh+vS2k9)G5vHOV&-DQmuN3wa~c2+Njy)>7>{$JaTbikKQwCFJxc`i zhuMQkFm6u0#;`LR20^Uc7$WAVH^OJsBY&|2WXsh!iF4apXD~=NccDL;rAAdw z(R7>XEYPsw@@Nlqc2?{&4Qt4tX}fo?k0HoE_bSlc@o@|1#zfweGpW$}P-WoTjK8N> zdF6!66PL>j!wkVNPY6Ef#M%bHZWjn~k0VejNZmPc@``1&{%Nxc>`f>;rVO%NPb)H- z=OAQ1J)$KjxB_t^{54gFK_O0LRfIaE>^J)j-iuUi7#O@2ft(A0CqUSsk9d@5U_>m# z!z(Wrv`a_tyZH?zeThmwYXLyf#dO9+*+R+pj?lsg`a%UOnb5w)+Xm@dl}&A#Z9k3) z#M~X&czFh?^EfXXMt9@5tZ3Cidyb?;$+J%BU@193pkycmMEj`+ z4zGP><7P`W=pELvn0SuPaAzaGu&8I`Ve|w}|23CuxKrn95aWlb&nS1cZkG=|$cqrc za3`AWn~5Hot+ijF@g}cj*cA&~ljP;5F`$P$f=);yEjc|Ow>y$oBPi7P3f9M&=Y9#o z{P^!hZGqpov*M5raX8yDTxC9+4;$c8IXOkE_x7?;d0qgdB zNI#@7(h?Ah#z1>Oo89O0ukVU-S^wD>wV58Eq6R*>M_)*T2TKmMc45vU^OCretRd)s zHUkUM&rO05pcjB4x{@wZ)#`QpI*!fL-HVi13=_Sb>Hw-tMcq_gr$C5clUJg`i4c$V z97HTKpBvk9o*9Wb04?PIu`ya-9Wro42SCv|=0+akkOT|YX(P4k z|6RkYp$nI>0C1X4yCknzj$`7fs7-heG4S{D!+3gUk3a5>V;&c9R#agM8Si0_f~j*E z8Hg;G_CC+QneqjO4^N?dNi!e;x;X^3p{WPIwcg~t)9bxm-RQY1SHh(^<%$DB9bwhH z^)qjPQ~w>0Y2@ur@-MhstjM{Jg6#8(l(u_BYw265B#vCO!8a?RdEQICwu@d`c+7X zro870vG}Kq*|+JXLJz!!B!}Avqa;j)RYyc<1`{Xq@5JGq9duEz-^Cv^ zzYQ!NBn%1dg@@_H6Z;O)Admhq7)u;ja2h{B<@gWv~y#_*vA~Cvf|6*CMzLek1 z0;tj-z)teGPm@8(L@u7bOdcu~N9*A7|Bfs@Vtd4kZNSm8RZ|b_YIuYCJJwi-mwHpQ zTz}Ju@A}z-28`SH3>9d78uh0tE;H&ypVJvrj5`@UV1AR=H3B+f>Vd-o-ZM#6nxcPt zeD*C-t%CI)fb8qMf7BqB^yh~hMAKawAh&SU=YUx(I+w=k`n;HdRAF|wO1cmo=LyHr zo9$^y9bGVly1maI=}Z9^UAGOI!g+lqK>_*YyJ-M$?JnPPfiKyleRlAIj&oGS%w2ao z*U50-9}^|{^qv%#v-4(HgSp%-2(S(fz!J$G&lEQcJHpM*tda!)a4ychS;s*2Yl-VU zB%2>9S!xf_5qfQGiTc^>nsQMbjys;c&A^6Sa7_f7#V=@uel(rw*(RuzNn{xReApni{)FRb-t?2`ce1G5pynnOUsobVGz%v#xwd$*9Hv4B^?4%iPX?w1$ZHf^p(kmfzMFca zUKE@3?>H0plh^6K{BE|qQN%{um!QkKvx{qYXZo+P!q4XW>hNa<)oC=uUrxkk|H1H} z=|=!d@6rkALOLGmC>|;Ah`d#`5d{`iO*BLuWd^}&`YVJ;i2VW+Y88?re3%>1sS14QGV$h{7p8(%N8h2x4Toc_x>(@fW3|R_Dv?f(pK*K0QOi+V|6VXoY*MA*VB&RBer zIEd@!Y=FKkNy-%v$DkE6GFi}ZjHQl@KWDey&Zf2fy0~(esc4Q%y|f4a;#sec5g|U}u`uxqF;` zrea2@uz_-!*$|x~D1(E~P*Dy{rqfng@&f~*sRIHQO*Wx8N)%va{~QO@ETPQ)ae?s; z=Rx#RiI)_5FQS0Lu&YAD9t}-MMDsAT-tAzC;M&kvDKvR#x72)Yp5Uv&8X2=i+7VEq z78XuKrV^VCA2R(gSJwjQ!(Kz?$DQ=!1a&@)`ZI>N_JGkbK%PQEcxTlwEh2iRAhyRM zyg>6MLpg3=05nC7_Omap_HXGWlhb3Ycw`kh3VpaKj)`X{lYh=LTsRaVa+1&vY;z$IbNc9_;{n8hr!D~0lA zkZ<@TBrbPvfJo_gPLEXj=tw~v?T;ebgoLv?j0qJweOs;ju#|$^_kMd`n2p}S#0MwB za0Mwpi#!$n1ns9MJg(x2#$6fylF!`{dbw4*@XZKX?D9!FW^-u-yqei61Px^LN%nXxbv ztHOnlHrBYkhR2FnF-xVICs{?R@<;g%(fi03GoMd;sJd>_bL<8p!zsrQG2lb2@$s=~Mz0P5bv|lojOA;W zV1>NI*plZ*IMzKEY$?qlF8mH4-|aRBlWMQX2cLpxGlO7|GAhX&xKfxy2{pc2)(S#X zgWJwmlasmV$>eB*LUyo%(yt?+vS1xYoQ78Yv`z__-w2kpGCSB@1_CHee~v2+PZ^tG z2afYb)Mu%-?yI$=q;`-<3F`iW2tGG~iRou%%S3K{77?hV)!r3%0>Ymxf^xY|H}Ma} zS>TjSEFzsM&*+U820U({Zz`?IMLWR5RWlkF+TB0I+7J<*5f`sn#B8P;Riy|y zSWO?Hhh9=HXvWQ;af%KfZT)V~@FZqmo>FEt?N#196M&z0n;d$hFh_c9^+6GsD>4l* z71^6@gP8k%sx(OvN8F_gIXY{xk}emjM6MnT8m=3c1bv5aP@L?q2)X!fzQtar z@>*;y?1<%st8QFu2|=m6r=RTajsrOxpyg(M%dowO=qDzUhsmq(dJzScW$G+1cXKqz z!r6rdzJO%`0_wK^gm)bk>BHE28Ba!*x5g~Yi9+m5i5t^52)(CMQss8Bm0ygBu7Jw| zO*oT;&BU{iuxuooc`h@hprvO;iQigL$}4EL$EzfP!X^vu@(fQ&A*4uRoCr94>wIPy z$xd~z>Pb{Ax3hojKCTP-nx90up9phyX1W(UrDb$=zMzL~@3+W(b8meT%y&7irR4O##$5_RanJtA(a~k ziurZ>0>&}HT)1vlTL%arecVhJF4E5Z44>%DxRZgz;|`jHofS8Vd*C*Vp~j(Qe^Kh0!0QG9h3^KjKh>qhmB#dI)_vZt-r_%Xg*U7cb7XIXI`u3Um( z+QRz&JiXC{?QgnEuZcif6(n7K?}rNn?2oGZd;;%aTy+LAM5O}oXRbACeTB>`6YOCT zKbw_ZBW-D@!21-?ke&Y}Y<1mHU7lmzP(u82Ap5a zjTwwit`On)WmKYXyE5RH@f?)>rQpUi7*KA(TS|pvR~L8EVnwDITBTg>cOY{#cS+PQ^zC zZ(GNQ*4L`5N^&c^m#X!ke%Z;!T43G}YeW+iyn#OIEic3o@RvF_ zLwfhOd3a8>j(r(Vza%gRI?fBWSdL?amE)?&wTO8cry^`h_#2Ce)Pzr_fpU54&^`#_ zJx;3aNY*vn`-z$M-r`3dq1|Hnl3}YDBh&3G#PBD1dBJ6oE_bdRLJ%m#X}GP+@%Jgf z?xIHV^275?4Fj}7peP8xE)8;64ehY}q$+{bkh(Z2eC(YrN7iENK20Pb$|0ug_Z8Ap($4QWC8kgPzC!){w!VR>$dXz5NFaT zc53V`KoSFJFaSD-nF<{pe}(r9@jDXRb8Om4#*|z}z@t^0rTG}(;Eu#oF>RhpB26Ka z$&z8o<`f%ihegfomBZR|Hk2;I$t|A98}Xp8TISHPEVgEerR|5iLDR_1fCtJ$uZ;=)0=Tpj(^B z*j-{ZL|i=b`;J5FwDSwVR3HXq1oDv-^p&C=T*%Kp>tzN=S%`8T$f|*kq8$?}3 zTCxOqE>k0Biu!n@i8723oG)z!;Ig2<-fgXG(KTZR1f3C_deP@=A5sztIq0E$6SW{| zF-9y1knG-JCUTtgz*9R(Fj&`GIuug$yuVC5BU0JCFtmX%@d!)xz;|D6s`!>_d4i;N z|Gf}(=Oy#H+lVp;1^cN4m<5e8YV`)LmD`#F%S?1w47t`QWnDya(ku(>>lc$L4!yr# zD3NA!4?TzR*x;$mEYg4XS%2alji$a26`lbZOjjV{$l=3thPsmf~gvmgUg*RTA!i-`{Z3;+Wf@SZ0l6)3|d-)B30!I=5gL8RnLiVy7+{aTENgkzlsD zQQK4Ua8s9pOfbB$0qWaCE#2Y>ly9B@IY7q0I~?l&^(7G5WL8x|tq#h}j>d*d00%pZG9X zr*&Ss0HiblBkxhB5YW&7uh@0+<{VT^LPocTDZHMVOj@Mp0%o%6W{@BrXHFmxWQjb1 z6KC&Gcp?M6wr$c91KjBLIdeS^m8yMOWhhC0-}_7cJ>P}QR6xHLBzTNQAKN&OpwhUY z2y09qdz$mW&OyGOQBL&Ooi7O?X#I}W==NP4zw2Y|>-lbySle6*%+*n__gA6~zP#hK zd)t#Jj=Iwk;)euTjIV0;>|@r#H_hwBschf2LxPOkJO#HVMpVv--VXAXN6QDU0_1o# zxLn7y8kR;_I9*n~CS?3BNbOTYvEp?pcRpA@uoQrTgNcFu;mk!lP66dZBgBxm;k%}%&qyyJNx+7tbpO3o{2E8afKda4Hf=zE3cOd?37CT;gqi93>pzI-jnm2jdvGWTTYC`#gfL4A8$n zSBINZ@kNEqLyyH>1zdh2`HbIV+MIA}!Y{Zg_BzrR5#DM;pUvyE9>(9>f7fBt6dP4t z??}4BB*P{npq$9eE4xYNbqOttA(g)dqcOB^_(-9;hxlN$9dkPEHNVd{-pSW&IvzM* z^S8ruy(!_!9=#DZvIkysY(gM-70CX?gb@*nL9tH&PoWWH zFU5PO(x)=R%h=a$E{Ks?Zt-0!qY}%Xif2ts>Lq8`J6wWxclQAaRj$XZnp^Yx4?n6Q-wT335Gon>3d#=8{bC zJIyB$8SS(3(ga>eJVrhDnSe}0LEv=J_-WN(5F?$far>6nqZl2qW#6+ zH@6JVPu$>f+;Jbl3sY|{ zMY;0c0&fkgWBg9vGQR|zP*##XBNDF9FgwlbyY(8C0|l)%-U2o{CFVz|H;!=*@w)(E zUzb+8Gp(u0Bh9e76Na|}Q`TLI)KlgQ|3PB|`4%&WV$P;cDT{9@dJGeHto=(*B^}}! zlq0c1h=yp2bM%DB5}e%{{dQ)0KGN^yi;amA&`nks?=3M$V|q-|WZaFdR1j9{4N1f;uhNXkQRZnio}f*n0P@8fzJK#4iVQSG7fB zl&l+KHiWkUClY5<%}J*cJ#7N-ikF`bjIq3MrYoZ#3fv!D2$%hQgM(yyJ0M~XcL&W*3h8YNh^qHXqHYb)?x zjPKHqfruGqp{w*Zo{ZKVCySnt)tR^m`D=!Dq)*U33CtMq%N;A=)IE)E28@Uu@;qjv z@Wfe>*P=g@%v=2Gxqy)xL5bEm?52z4n@%E9P8%PgOjXwqbi3=V*pr6DXUulJJHuK5 zgJTfd^K(+6X!wlZp3d%JZMSC>=`o zU zeJmeCsH2dmg9H@;@O=Y@{!bTY`a~9M-<3c0j^5I0^&5?v-yvgQsb=%XKKNm$p!VI6 z9C)4vJIsWR5cfLOiY}QwDwJ8OeEx7_d_F&sh$9b*HBBx9lh zaOqW1&83k+Hwn4QON(@3O%{BqMLtFSsJPhPOhAx9?iThFED_ia{B4tEG6WpZize_R zQ8nvntXTHsydqXNA3qQ*_F)g<$=do%)QOmXC_Oh;<>QEaLQ4HMyPstjd3yP07`4a0 z+B;zo=@Bsbxq!h4)Ey3cc-zwmE3l1l7VD2Ou`Nis2X+TxkHEhRlGS~pp9mVIGc?0< z!pAnB>No=Fc8JYrE9IDvI(1K7k5=H(i;Fga_+$YkSqL>>_TmbKp&9pUMZKRECTmLK zb@)(6+)B9LI_kT{*Jmqg;`W!CX*9`Qjv-5F8Xp{sLq#54sxkumIGo!rvDw-~JXFIy z>*vCN;NSg3zy?;M>(zUVtL7PfGaZ`3{%zheJj)M))Nz&tg~i2pSejwUC$KA`a5&Qa*@AgI> z01^XKPatqB_{+w2E$XUbDSpk|{bspp{D&~ZK~tqUlIJvXL^)r~mMH=(ew!3|6g+=3 z6a31gKnjezM<0VykN}}J54`#aJQt1o<7lP<0;^?U`{LlzA_NC7Ct!I31-f(GpCvR4 zkjL-RKz`XTi-hlVicq<>1awf1Ch7&)dGLG24Na~U^zl#A({U6-mr)x`YP(}X zGvNO8r)CZTzM)&!OIEY()Or5M-5w3>Xefw$M}wbky|rY1VC(bgnZvx3UF@cpl)&hi zU|b5=t@v+jd8Lh3!7B-rZDlgNx%^6#Ij{3>x2-HMc2Mni-cZM zZ63)mT61ZNGUEoMxD;2=ai|j1_~I*m?v}MyQ~cVv;b{F}=~FRz zx1XZu)GY}DrJN_QrRC--aF1W6w~xAiY7vOD0{OK?<0wS^)T}|O^v0CXT?yq>tf!R| zj#QF`&Zf9>=WE_G3MEYuh^A)``t@e_W(x<*yosB3*W_HFcz9sFs611ypNH#LJ5L+7S8Q&O0nLl;5Dwct=#F)bdmql)DRip z?yI_(re^A=&{p@=pTLgDwQAxrjw!&qUrq!bz1I3hOZw*iUKL1+gXzM0nyms3TlnfS zNh{40uj{c?AQoGR)OQJ?Anf-pc1a{_pHvYLq;TaP01l=ik}(W#$l?<->t~hR?Y9>i zh>Og1&#g8_-M=W@jxq$RE?l%U3?n0oh=B$hz8Ytw$-vFa3W(ll8h$I1+5KJ^MI;|o z`gPrp=wz;A1z2?nENMG)Jfj9eE;sh|XENBUHVInUi|^q4;Cx0WS>Z)ssceKuY4KI$ zZbcF+T&nb#r*X}rg)&GdSlY#9gwsLUqb-OX@M_zhBrH`T_n((~deLr)&8FU*g>$>{Mk z)=Tf(d?|YQgTmzTGE{4V!N5F*49_*vf{D!VoJeJ4x7~u*PNBByFM>bU?&eQqmtI*T z4GAw9$vWyO&}8xHE!%i%^r%fb?O(u+B$5{mxKekY-{b?_Z=CICJiyb%x8<#d1lq=y+xwP3J_4t+tK!n+P!0n0bj?E~Oqd8ML7DAorg=KtR1(=Kv7U&Aypbz~B>!!1}P$ zs-pp8@zUwAXv5U%$pXqN09hXC3Z{n-#d_6WMC`L^3?YsCgXqK4wQ8Dpu1e))t+sfK z2Q200L4JakXvJm;aNoY|7}#==>{1Pg@h78Q?)RMS0aEKg`eM}PTE$43?LzM;jS!hT z?`aWx$bm%f%aE{$)3v6`4RyS}1S6l;^FUBU7^W|rRxh^nkSR}#_Rcd)yMzB)=bk=F zOAOJg3U8+Y%-H155qIB5e(`Rzl8I19Vq<-X0iN&Kt)L6}0&xMU$#72qq*tmo`ouUH z-8O>sq(BrdyUCJoM2LvxFSj`e1Ix!pDa-$PB!zv0f$!-bWg-{vwQcecbGcpiNn#iR zgSVIKAVau$!^XFFUEDxJrYl1h&EVmXrE&ah(E}Nr<7Q)Q(x%V+5M4iwMh^msQj1)R zW5w`f#L>M}GXB>YrZRV?a&TvRo66Ki3+5e@cDa$>;CXvw5P^!PrtBJH2D?*N)KMrc z_+u2waHoG=RTN+V)91!5D7;B*2o^EZlK7J=oh734_OCkj!^TzGl%|fQnnG3d-oNHo zgv^Fi;B!_7VGcSk$4j_X$Qc_W@t;UZVB9iGf*G|9~E?TwF^l2~mgptgUZsJMOq$$GK@mzv3ZX z^pObYV;u4O5f7RLo9$&5(~u!xoO%R%5qmn58C2ZiT9#0(J7I&ZmfO5CrW|X6xO2>s^?urLpaO$5DsWm{T0 zHDL=SkoWeWtEkwCbw)XK)`1VsICvM2da{1^9`tdsRgoSZiBr>)$$m3J*R9`p&}c52 zT|=$7cC{ixT_M(L9k$>X&}>OM5y~RcZv;`Ezp@nd-72GLwn^+?8d0kdg_ZMuf-FuV zmP-xCF0!WMTkqzo*P45!IYo{C&=ixDaXW0r?s?Q%haxPUMm1iCp7EeUT7*g_DNtm`^qXWGS5~g;02`kLp!BQDumHX6Zn839`{B>EFa(a9c zy!a@=CZ@5cSP;vo^oR+x(&iJZy!K@&0xTKrh`%I|=$T7C*vEqyCK-cO8m7V+v3Dqn zD9+jE-MewZasl}?l${v*=TV+pF+?@lcgil8NLI5&xb%7v`Iu!>?i*UyNKE-Q3q}-C zeRk0cs-Gaip20D&TCL@zVkDA+P>d>?n#tDLNCE$)Q(V_A4(K@2sUC%)S80jQQqe(Y zg-ME%>nYYxafXTTxu?eY*(`#Z@ZVG_SBbNR;4N<=Ce;gm9@3jD;dX66 zj~Hf5q3t9g+;rVL&jPn4zsIRjOm@#M?&m|Hzg6Yguqpu8t#s>pJ3KaRI4kBG7dC+b zhHy9nh_|DPmi44Sl;3M(EzuxF*L?pdwYsE40eN}qcDweBRPu0CtpZt%8W4rv{}>Rz zkHH9CS80R9_mm}!m%)(#GzTBx?B0!95oioT$=344GnK3)HUF*ver&c3p;Zu;dgv6%ix} zK#+dw!c#IHj9}w|BB_4DhG!gjqE{wVgRlXHbKcbS9D#_%zG7up?B?S0Z=c1n7wEx} zfbmadFW0lO*4cpCiGncxSuq%rFDKc^k~Tc)SUfk$8Bwpz0&tOt-;jRL{Ly?hYrsP` zX;;4MftldL^$?0&BkCoh9ffw zJ}JY8)sbgzQtI3?l%0-+g(scsRZiw4-!B#J%IK#rnvAr-rNd7iuIMuuk!!#K)_3&B z{0L@(JhJ?}f^f2rUM3ZhAmXKveoNY~{v%y_cfG>Q8q{90sW-QIN%D|ll@^2W8c_xZ zEsbhqmtcuz7nS|Ov#Uqu;s*Qr;wjIJfxg}!m6HmU> zrA% z0M$0py%L&`N@UEzapw3l&RQZRua?tHWs3X6AEJo3yDr3=I${cqAF1jA_4~VQD3Skz z$V@}&B?~;0S^#`PBcOkn?LHjSld^(rKg)%9=%FNw$S#fi$_6h!v2eIdNiKg$P&XJs zsz3mrvBw=vwN4Q59YobVtM#sffcr&Ta2N(~+;Pv1z5ZHfuA#u5HLIptKo{f7K6oG) zHak1MR``(u>id7$8gxhypvG3YrE8&15 zCw(RvELI75BgK|jT zLr`gVx87fvNUYpVy~%xz)?cGBo-1QZ+-m!7j4t)5YcJXfcEJ=~SwqMQs91%A;J<-( z2!k}kAh(ZX#Wqtn3_cc4GNQs=K9H9s+FK&JZEqIUe6fBxGDI$Fl1e`{$j@wa9E1Dm zNz_SQ(}Sxu_?dHFnTeYl>)5J{Qg{QLv~uy?j3cCuBwMT>djXP^Ob$!lVudEAQJ>ss z=^&(U&oRPW66A?p0^xaLx=l!!WSZ!sJ(uZls3#CIKVjk%4uluh?mBV#B0*0OcNO+x zY`Z-%i@^3E?DUH?O2Qf~EtpQqDqF(@x*fLc+zj(tK5)VknKvA=sw0Brb&z@g z44OgEy@urdM6`G&2a6cyp69Twt;s2nf%Ii%XmX??dW>XHE_f;f426cf<9xWFQ%%T?=jrG7P4Y+`QfX40Z0w;X%|`zH>?7>33rgNB&utUg zO|jf{qze7?QdDMfF8}C8$q_-uF{5-33H|ogYrD%(@Bf*yu)jvSLm2jWO`++`<*PL|pQ69*+NC&UE zpSgvLk4s9|D+N?WxZ(E%$m$%8G6a>0Tl!C#MsApQOC9J$iiqBAO^azpKS(P7C6eeb znd$rXS|r&TJF*bb;*XpW^L9koT!4jWy}O7c4ftIb&V|2vV1yJR_9Qdc4P&Y(Ur4$U zc(cq*%gOV&kxl%Qj7h7K)aXZ-iBG52-&t^x*Sh@h3pg=zHV#b)7DPsl0Glr(01sKZ zc!dHgwb$+x1ml+(LCE+d2It);lkp-3n(W2ImA9Qt1_}Smp_uC=3#-Gj#~=qswGMaz zPMdw(%^`Gs_dOsImv>)hjQ{4P2``^R#%s5`S^88!mIs;j_4}_YNJKFklb_58g|=5% zc>>vXjsoJga43$Ez(u^xI-no3HF;dZBN?ouk#w93`o?_D@MK?A&a4zT*``s8wuiX8 z8p9a<2Qxyp|Lruk14t!j>#_SOC+>1$ompi1Z|ap7kae*G4;e>WRKuPvhZfdHmf2147xl z+URKgH@4Dsj`Y#v!q3dg&72NC59z;{gS_YsA-_jAku&$PbtzlvL_cA$Z-Bqk#znly z28nYS%L>*KX6;b^(qgG)wZ;f}$IN?N#Yj5!$%48OYU9bQ(#?3cEz*_?Y~+EgVG~Ez zol7yTryr_4mLt~H-W?jy9qyD?+FyEaSaLeVgmke9s7`W1KSlG`IUs8j*do=-k4(SJ z6$4g~=oZ=He%8*dm`360_2a5M*YD&B+hs{YIRs>Z!}6(^ilYlHcWMt5C8l~C7|H8c zmq=2O46k=7V|-J6(Q4!t0N!FIw4KTn>hUDE285kpmY;BoMEmQ$Gg*`08+0>}>?rg<54L%o8(*T{(NgpTN8dfu zgH7_mCAUpeP0h?qW>x#lJzUcf*U6?YuDO*=o!Yeh!~lQ1FH@jEI&2OhBZ=H<5Cxf( z*klj@u{z_30@my^=UE^D0+GpjwY=3;?$yyjBqLtYvXsoyn1NvZntm(2?Y;eesz~D) zg~{JS4zH2XWCuLNBm4UgACVHN#T=)`IAWC*uAA3;ge^t2nwd*$u6x1$Lpiuva>dz5W@dYrTd}w|QOU>A34KBAzMdDNlFue7 zf2>=Ys<9r+Mo6;hUnnjSott%0ZSt+O;&zbd-n3!to|1cV^`eeVTG9}Nbi?qW76`~- zafO;ep~u*aaLj1$DBhkoPYI^WC1~*dr*XNDVe#Qn-%icV=3A^g@pcxLs+;7al3Xv2 zsK}AkqmODE!ohwH$yBvtAhOd!$2I9BzfbXvQz#5iM|!aW_7)=u$s8jdEU$eU8Pyyz zj(H|iWIh>i<1qw6&BO3wl)dvrRUv5D`i-4#^G`(cq4BDd9X0+ z9m}rENl2d!k&51q^AMygEkfT$g`cxTli&2s{euSA%%Gk7KW8lF6BR}8L0-nxLHYRD z_%S%VBnC5O(x98j=6|^5PEg>64Ow%APTJb=?F$F{NBe{Luc-H@O!udc$V3yLbSjww zXxkJ(^jrG;$_pfv!TH$3wagD%bLG?{4d-WrLAw3k^JCkh1g%p|iBFwEU2PlS{hRH6 zIxPm3(Fl9B;~7kV>}mwV+9YN((Z%jcyB|T5%Gb4DN=n0YLGlA!Npi%-{a;&J;jEuUufq>=Fz= z-X_-JEZhms(?2;#)o%Db3R5^^D>mrPg^CZ`N~|jIcCm#+?VK9-o9{4%<*on_&B(o= zLL`5$!X8uawD0_s^uwoWz54qvy;_i&IqC7J+KAIUe*oL{D6i&?}lxG0LgJV$E zhVW&o7G=fBYb|Zbz|@apYWUndPT<4pNV+@Tm0m!&(u`Wpe;G21DT;Xfo1>mgcnihO z4@<6*C|aHSr_A*OTj#Egb7af>$V@*3l|VdW*16YBd+gBn_+RU3>#Uzmdy8Z-#;Au~ zu(2sdPuNa^2V-{9e;=rxZn{@mvw4v9gSXyx9Y1;aOus(>(dSGb+NIVQEECmQNscN2 zv0xp2S1MeOOQc*)WpptQQZr22N47Y9$YgX1dsM4u7eq(aJfKZjM3|l3cG7ptxL<)V z15s8IlnDb`wLyRfF^ruRFOyPkhswDI>qLpB2KU-{i&X0;d3~Qei>d2os@)4R zGj6IvqroultmUy*e^Ow`<=l`k3h8-;U_D)^D1{jA-wX0f?O6n_SX8?f5!xKLLZ{S$ z_9E-buMOscB-GsSD1>C{Q=Wqei_LbHHm+Jmz87oP2EJ$WfE$tvW$siAj90eM9iWb` zr39sFxse(ftT=4b6j+cxi0`~O_b=%#_YT{KABZIHAKe>G{)zPb4(1Xmv2q$&pbw*Jw2zl`!D8d{|x`a_n?M8B? zrAJ6lECeY#n;F4)zNACCv<#8*un!!OZ=eL~Sq13p!Djj`UQMd4Fu62c9!ZT_?@f_8 zN;9Ar!{r~*i#gm~p}U*L3NvlZ>hU2m+6xBtaYQ#)ZB>T3H6+R|^gXk1A+RQI=%FN* zCJGkR{SnK}5SP;Oo#-o72y98w%b7-BNpbv3HV;!UYV+PWjbv0`H8@x4n(Ti#Pk)6D zv_hl4GW!o+dxD@vbY$HM;#32=#|tmW}S1a(j_=Y?wPTG8=F){XT5g zmZqsE3S<@SbD_MK0$P+S#|+0UnnUTcrI`C@`6Y<6F?Us!kcy4J)-I4NnJVB9yP|e9 z{qVEm#3k2LN@Jb}j?w*`T#mm;cXa44Ydtxk;6`5HpYNj%w%VrMjn?1_7}>L?f20Gh z8(VQAH{@UFPfuzytQ`h4RWYH)$IWcnzNJ;K?wJ5` zON!f5d6v^q@>W&;e&Pxtez^DI5-3XIh8$ua7P3=xcaVXw?S<`3WA8g#m8isAIu=oY zb$`k3Ir=w}M-P^<{Ft5Muq|o`v|x0mWZ=O@irORE*oTuP za7eAq*XRj2t8YA5L=B9FJ;!WA)-XxKs!uVnY}l|CfVna)+dH<#J&we1iIZxbbHdV! zW3Wd~XEEo?Y9>GjFSi+#*>)6ti}RL86AXrs8Sdzw714DRqwEu7CDPzVsfu9pja;zU~yg?x;fBq~0T{%;1MN*A#6#t6UL_zt7I zsaJ((L5LJ`pAv0oSGKqRYp8{ShNLP>YOCztU}0o*hir^Nt%-=qs@Ydo(O zHV;y_wbx>`kC6Zw*_@D6!vH(HFse^>J9;I#d~=BDikZBi>gLKA`o%q4Rt@M?vOrr- zsNdxNPfFkHp`#I)6awBRK4~i>ureP_+7ON(p5|&UP2Sf@ez^YDJ2M(O4IvoO0)M4A zD9S2^W_1T>hoJjEk9ZusJO57>q7L{-TVAVMX}}}*7jjir-y~6cDNO3)rV2JU z&Sp4jZT_o>h7frMR$hx6tQ=6S_(}-63=bZP7}ShNWL1yqjJ3DC$SQO!94G!3z1P#$ zPx_y#MU)~FR~0y=1zT?hlY@r`WrQc?;b9g~9fzgC!*)BPRaU#13z|@JN3v~aXsI8; zeA^RDd>_Sg*QUG&9X0rwC65F&{;=s7f0kH@60#Ysyv-@?V{Zta%xtX#Zp0J&a|UpK1%Fg;=Tz(0Bv{BltEC60%ql#YZxI{Qs1y- zZD!r;d>K)60=hHL>i;E@9>GyPT{Hn21G&hIB_V)%CqgLkO{eVIw_bdCK7o&dmq7l|aK} zH}21_oFx}!VAk0w>4R9xfn=Ft@fETmJop^Gr^?LVd7U%gx6)uZl4>|F@<(} zx+WndoS|>Q0$&zg4j`B+wJBnVf!8^WOO1*)m8~G1itxqlCg5I9E#_kMpzyg<>;6L% zOOB_MrbSG?nU`sKyCzdE22hU3LwdJ5<9(~E6Ey-RLF%CW~|nq zSvcURnDpUKKq2p`kg~hUOivUvnqk%+fud^sA5vKN&<^0lnFde$hi}LpgK%IEHgE9i zIIKT*uzh**9Q+}1cw0^0650{F*%>C$<)%FkmGHEa}|8 z_*Zn_Q1cJG4X z0{lnVAUZoxO5e8hv}07H>I&W3Siej;VASFZbK8XD9Vx*iKC^m9?F zJM;TBP?HB;5zzD57^v0ZNTr@!^V=&e?3p$^z;Av|7zZ!IWfO|bSK7XWKwfL>#)!Pz zSoXn@{I}NN_Mr^cVPh!$2}xri0Ki39gCd_DxXK(>O~rqR)&9%SB1UD^%JM@vGw{dFQPnC~oyA=*jy0tAL7l*hk! zx8DW!+oU~_@N25FU39YP5IxYWeqkB1N*pgufdxvHw=wa?F)1H@5Ke+6CoLEz1 z$4K%RO*7olvojy>GIm$#2K(9s-C&x{i!XCDhM z_QxHE9f2JP<%SXnme5m~Wq%b0G~^M>UN0avp1@W=qeM-)jI-=DUhmMUYS?%?Gx9na z*G!X_H(|6&v ze;%7RdkGiO*B-KUftgh*hgw z-)t4d64HAUCJy~0B@%h}gZ1!luCX{oWpgeD#WiH+-tl(jhR&-fE7T0 zy|J&^Whd|?f+jI=yWy=C?XG$iq8Q#Lh3cko*0_R+m|VXbC%*|{yrHhG9a?R^mU@LE z_SkvLOjX8^Xj5t#33WVOu=C6{LbR?%tt7_W(Z4&e~4R+@I zgHD825b2g*yn3v#NQ_+{JbC2AEYR42yOd__9C~y2RbPZX)ZnFuI7ZO(AHl;lp>uyD zVlbUM2yWua8vqXKn?r)lwD0*{4Z>c9uITYBE=IZLDe0QXLcc-zVl4GwzyP&njywxu z-gM}(Tiu{jjCY%Fp5p6LAzz)oIcjUI(*h6nIC~TT5-}a0;hpt2g>>MHyG4y%zEtfv ziO7g_>RsTzsF4B`o_n`$4xu6iQZ$*9+TQ}XS<%Wlr?%7 zBe+LX_4k2z?~+W&S0MJjp$>`+*VErrkYhjK;}1B@L<^Nfc5&_zu>v4b?MD$?^7tD> z00w1{JgXPZ0TYZ=f1w~Y#Ud0hf;hu;+El{qow`C^`}ssbCn})+_V3rnf$%R z`AQ&f0?wxuBg$Gf+Wh;GI|T0cw8w-CEd!{FDBIY;KKFGLXdnZk&= zvx1fk)k!r(^Od*ngGgMflsR!adX@#Ij;@N#68qdl17mBZPG0Fa?9aPuOmf-tKnxx+ zyn&paz}qyVE7R_=ye^tx1LqQX@l_!t0qtW_nVed`%zpF}-`N(e+K1@ogl&C!8@Oc6A;Jk( zA3{uncVN)-)ecYL$MJir`sa#e9h>aWZ%M_1CQ6&wQ-WTfP}pUMPjY z*T;4oU}qpS(F8ojg_$yec8b@L^=bp2j-T+J^D-Rtzwr#oW-fcZL=2Z#D#o!~L-~IO9Ay(7lEMObNAy|z&i(XsS==azm z*nm;A53B^FIeOCuJlt(g5zJt&@eQoY5?2@&L>A}xt(!JelZwpI*;DB8gO9Qn-FT{y z$$`5rVM;RHC%oNS!2K-0uk9X$!=SJen}8ZRgjukesw!#%IoJCL+2q@w!3;&7_qjpJGy&*kzZzj7&ZRU9X)S)T_0k4Q*kB37}H;2YP>>76KAev2u(|1$-wL1a9JW)$# z6`J}TPDdFNr7I}>$lqHW7EdzfU1_|+B42COfVQG=uf#ko-+J-n2c1P``SO9Wf`wlV z&^IGC1B|XVM%Cpx&}G}OjDV8!q$r8m=vr@hSXD`4L~94|@+ivxhY(ME?Oayn^4zGI zDwr+#8II&Q=rD?aoa}{l{W2ECpk&$f$vyzbzqt7sL7yuUnyqW%`P=qJCZ9URXlAJt zV3jJ|__Bu%-O~6Y4vIfP^6^a7#hA8cZAUCIr}DE){Vq6ZvPa2!L67nXU8cMR0N(>b z{Gfl16Lkzz4dp*;VJghKBc(kP_AVr^<82K$Y?u=d(x&2oEG6aa-z0yB#f(as*pj{*`AHpmR(_Kq0T?XZZUM za$o=g-`oEm{-*WrkRl=x4)R|I9qzkjf9~w+w-^OEb!bHXnGEv0dVAdJZc3FC3Vh;x zVrAO1>k?mNQ%xvjnAu_zuO{5+^%D(X0_V)(|C`Ee&Y3tN#4$PMb91N>DDE6UCdSBr z!GBLRZZM!eYh1a_!z6)M$Q@=+ln)0)Y7R;_$w+IS>T_&%Er=7^uX*H*keiJDKMHW6}9q!uvOG`dvEjc_cRpO{SOTgcjLUnE)f z-CDZycR>`VfxIiHy>(CTedm|BylwkE!^c3CQ0tl`FG|!|d#U};88kL-&k&OkW9aYIVbaa`Vj%!2JZ`0m)-wNWvApfsbo ziov*>u3M6NKvVs5oYdtKS$+p7WpBUh44B69NGPLVr*5lT@t)xlXioFb1Py6%!cWWo zbIA1v_lg~n7%3tK)9pcyU{ZDG3t*T_ZVIxaU&PeC_Nr?df)v!iBUE>3k0^D+;K|OZ)8=+Hsk`7u4^v>#i}VejT7*195fR zTrLX21a4>P9n=~OBPEW?y!wD<#m%UeCcuVIEW_glhGZNJ=frBlWJ=dE<<3ijLVHl2 zSMH_yjrWyP<;u)nF>=~WLCF4?Kr>54t^;`adWa@@U{3cP1{R|Rcq=2@)bIFak<1}= zbtf-brkgCQI?j28$S<}2*$28!u?$uzxUcJ5n~MqcF1d*6(c0tXuaxdlt{+r{-2Pqo z1bLS^e-8^uyz;veD(B_gMW-6c3D3yuC7EE}91#I>$VXmrBH9g`2bB?`jW3`HN5#;1 zd#85b8Sbr88pG0Bul(36{M9qeF@HvPC#I-%Rc2{zpcfU^Q zuK)gJW4_2}rkQ0qA@aPVsM1wj6{nd*4!J-J>Z%nnDGlkzhhVQ9@ zz3?zI7}i%*zzi3!gxc}1RiU4$QUC~g=D+$85&#LEMT5O6Zr$ZLAVl}C(`|hykq`mT ztyr5UviaLDs2~WNdC76vE_wFI?ql!Mjk%4-s{a3b|E|hQ$HiRdEU#o>6?SU4iCxlk z?@P*x7Zfn!ZDLq8*OgYYpOA!S{9_yl5i~=b2o4E=8@-{#PUZwO-;<%|jtdb_hvq-y zv>mNpZ2-3Sq>ggk-IXvt>oW%kg1m|ney3jl)_qI?u^|8NZQtsfRMZ< zJ#(}Hdy`U|^ncU5pXyR!VO27XjDXNxHSss~4G{slgb`3kiVmKRI*g7%kaKBHuA|WF zhwm}X4P~fn8@mQc9`nxW09TMu=2dt$a+PXM{D8bWSuU!DZgGvG8D_ZRklaQB1N8t& zrbdw;)f6d^KnA-o+r$WAv(1Vicvs3%Q4T$xa1q~4Q^k@T%*dqP7oeg?g z>`5lL*;U9~i{sPAqOn#7zBCf;uxUwF3}Zy%mc=;uu9xUF-$k;nBN=c0fz9|lrnLWK zV?9BNIX-otrp_KX#kdeRiC{AqvQw~sk4e(Txke;&&L%Rp<{QJrDU|I)9w?xKKbdlF z8lk&8pzZz$dJ0Pya#b;Ui3V~=!A0I48@_Hbjy>Vv->YgIDoRXto3sD#-%-;%xRm8SNRzrKj{jfs25N4LlK-fm1(D!@ zzLGAV!%vZJ^)O36F{m8WFV7>$PKI^T6GohcF|A@cX=y5l4xZV!cl2D?(Sa&O8k91| zkAk$AIf+l(7mXpotf)oigwxNmZhs;G*9KBxtwZN`k0X}i2mnbyw!ca4yNx)|uUeGd zwza#p>cH=IQi=_JslfiyeH|o}hjd>5u8P4{ZQ2PC zKwFrIv7WWFz|iR0)}+xQ>T9K58Ll>IhzVm2GX3|;hK^SovSQ?2(+s;-kn$g@e0JCK zsQSvsUozPx8d;}oydx*) zE;&#*Tx9=&jpv&4uE7@(w1t2vf~xs)9X2&?%2=#pO9Z(to8LN_*j+CUZiIIyuN*^* zghmdH!J+WXnBic>_9W<#kg+WTyJ{c0q`ct@xAhG1r|o>$fS6tDPCnWb7eC-g(Q{5E zBI!j0XQkD@dBOfUZE%bSZ&~U)x6+3*!TiU%w3k2^j#m)jNxEOcQPB77E$^zT*TFS& z#DyjT+NCxRG#X5AG0Qh`h+}m+KYRqNGnini)}p&v>9J)zNtGC^p~LhnKke2&$Mi~f z9B-15RO@$nQ4Dzx6L9?Ylji=~h%-v{1ly(?b_NF%k^x+XizU}I)6WiXhSP?lvtxRs zfi8rZJuNTt7Q<5*l5U$aiXT)}-7>-EJ4KG$>T$i}inxzasyK@a7>o#R^p`VY>v0?Kka z%QyGzM5W~z$j9t9)YU~>AD_h_abK1b0bO?D0&l)H7BWDQ(aB)W%2P{Jy{M#+eQrRq zL0Vn#a&pyfo;L>Q&shToN~-n_@jmw&spnFmqeF)Y_TrTDji ze`rhC0i?bfw_5mf%L89D#*Gp+Y3bxn`kp)ql7J5M6MB$?RP*OHZ&k^@k`!yR_4r zDyb0yFNP3d&k$S~?zzJQq!Gl^6~Dy*g8BvfJ$k%zV9gWgYMl*H>)Ok_Nf0nunT>Na zczi?vAwHN0(@^17p9J7!?k4Cej_skOr!vT*b;I=s&CYgH3=W$LVRtM z(KkXh@Qr}oC?V&=YUDoEc!b0N@xP&=;?G?Z05O>#Pl-zwkRlX+Uq=rh?A(|FAf@YR ztoQiRAOQs_xV(Y{0Ts{p@37KmS34e?kA3Iu}{-OLxSUxc+69M zJwF{&NYx%?ZDQ)a8XJ^zzZgubk~Fhvzj0N}t$VPigpf~>%M`aXu7nwR%h$=H(9dt@ zUdRn}?W6xI<8j#%oPwZ}TG9?`+a22qo^B}H9fbN8^a;^%s?!P#Tz^c9>ziZp;;c@;|gUxwRk*==0x@NQJZBS&quh_Y`M6H;WuuKZ+AdPD1`!}y9 z=>64?Dg?Y_K}TQ=WN7vNCNsryQ^Fuat_oy7mC?mx&1^-RcLHb&Zb~TBNDqGXd2|?Y zm&!8rLWfa%{u{u*&q&Qt_gsm4hm-K;^gg8KcTuYOR@QH*|13)H;O`y>Na?+*HQ01B zN@}r~k;ThAZiSC5BcRTzcPDwKBG!i*>o$c`Ei3f+CWGTXx*^+F+{^HHb8}D=q;j`I ztAG1lH6GYwP#c)Sv%JUA7i!EcksUZVfQ^TYlKU8UbB?z5o}$w?)+l*g81+& z7Dtz|71K_>An)^M!VcdK^9cCouOuCk^Dj#DxEesDr~-S~TlqIqp1ol;3LPSEdLJR9 zg?KW^w#{;E>K<-WiZz9qG1r(YNrSDB26;+@Vu^2hWGauEzJ{vQcf4DJsFThmH;9L& zhx0DwjVn~@xN!FOgLfFew}cZTwx+SDO)&n_DROZrIIGFssCZ&GZXR}(bEe;PJtAnT zRR}>h&;G!L`I|LNT~_LibA@zyq(Y_sA@}3qaI^9${n%bgy#5G-o12rfV<$QCE=Wp_ zrj!|DU&ECX45tRUeU>ZniC;fw{3c}DC~H!XGgKd!z=BiggUSvS^05|Ywe(BbXBwmk zp8SrM+GV@F77$%5zX$<4K;cY=4#f(p9Vu2WxQiirh`LKoO3>3Zyz$`jTvX7`fOp&u zgBWp;>Jk^gN~bpJfZtIq4i~Et+%mr(^l%M0t)sSf#~%&>FhV!=*clRmz-Hzc0OJ+9 z&-&ik!(-c8YE%Kr@rGyoo{0uDw~J2ck_0t-#)#X3AVYU9cdG6*DquyZ;&u7d=#T|7 zK{R*(684*20)Qd_Y-RU{fJ8|Dzj`V!)Qb{Knra~yJ%qA-=2zf36r!_N%Z@AD^FN#*x^bcjTj!1 zyO~EgP~v(A@kgnlP{X8=b~nU?2M|?JzDSr)%u^OI(_Y-pNVXc%?)+F0!dY39c%OM2 z|GcOq;e8S1RRfB>_`3|Y;S&qM{E7ct+uz=I^>(vRfHpW4-6EM;R{xlk)V|eUC26Gn z=sA+liy(vmxQB-|_;~1y|Z* z+nHGK`sa9pHpC|fmh)ym;;GKsX#5VEgn2yf>mXTf_we;*Bb8u%zt6VwrU%(l7b^5z zYzKnE&z^RgF$SH~NC`R6dh~n<0YJthz=tySZi7&291OjfJks8Drj+qPGwPI05*TaI z+L|&6Sn3caE_LF(?t&IpcTAYCSA;x%@Yq?Biv6O4EF#8+K7qqoaTi9;oFL;WnM{Hu z*{gPcMGX5fwrfs3`kX~1be7N5K5&!~4g>O;% zCda@-%aDqDM=fMRE{Vs{cBOE8wEw+8mT9h54$^+huxGxP4mkEdm)am6#d1^ZvL zG0iyK&Az+|{C70K znj_A#No>;obOKs`O(h6eCb@Q!)n!s{A!JvS((JHHwlApOZjebfbX~}z=4s;K{Vl0m zPR4gPwqF|!tmK2VHC`f9VB@>cIcFJgv&CJ}@w!-ALDDkk$A;hHd6BVO)MM505YS7~ zUB{2zev;0enH!y{r$j{;{f)z+S#sMH^e5aQ)&G)o%S!W0LWLT#?3v}(Rod9;n_t>q zhZryS<3mw$Go=v*2)lkPdix;W3;#f(Pt4qhdL5>(Tru6rOR%1-qjnEY-Acp`jnq;u zlzcg&XNA=gLrjRubZm~w977H?fzfEzk&;)bxXKQ*7`h>iX!OiM+Bp6Y?*^L{9sh*U@8#I4E=B)pv+?xz_nUz6* zu7cR;wbNK^SGg`2mo7W!XZC8X;04eK7XvaQ5{0j$G)Hq#J?NmXdKYZx zf4c2iouZ%gp3Ezu%ipN43C1fv(E;ryxx@t+;E;4C`BFgA=sj-o$O3^xk@yQ;SJHB| zO`ych`t0@)5blLITYE$=sc+f~|H^rbaBrwbvxwt`%0w&{f73tP9yH#8K@C1M4j8YW z)i8d#aD)81&H`Gbu~?RMy2LpGP}iU8ADm-bK~Ux?he9^#6eVXIE*yZW>>kI#v0-Y* z<9O#iyEc9PJY=(^MpaYF5IxgPdt8pynyWd67wdG>2A4`B3NcAf@DAWqHlTMq(!52c zgUtgIK{_hKvgq9kOac5^8uC{@~Nl}}qwi?kU z(8|)$<@qq%S`w(my7;H1!!`oOc&qkZa4yJQ1ZeBdUlJqkcOWc%>(_Y4A%-q$>O$3! z49rB_lXSbu(!vAeo0|ggf5S&#p*3xYX<2^{n#|?1d9Z+XrVWm$$bHpg^lUb!R-n&pd;`=|M>e={$tWD1A0@W<}x zag-+_g>8E3ZMReXxy1m0-8SOhc08-fns7i2q^yU+_Y}OC5dzO`Xa6V>070ik!28(P zBtQbb8EcK9ccS-w{CkKVCcEEO`?hiO@sIhg{2L*ZV>EkqWoViA?`{lzBdV_O*%G8# zYLs!i8~TH;{X%1RFI80Tci9@OOUX+CH@yOPK8Mt5s^kbByBVN|u3 z0p>JmS(J4PgDR>TwY82qp> z<@KLIRk}GlEHj3lc#Hc?52_xMu)=dPx8^T1uF&-oyy91N4N!Df+;AXX1uw3J006t2 zYGMRFo^yx|zITDILF0uHJcrX{%KL#T4H*Tl##*8B{1iE!9stUI2II%m3r$sm zQ2$B0Ib2$}gqU}u|DzRpGEkdqnlDy5UOR!~MiUn9GYdYfE|xoRpfT>s2@MZ7(5oaS z<60pyWEHwO3QC_L?1l1CPTF3raTXOjt2($kLHOk*O}~^Axr0)7_QmFqVCn5v2zFm# zudHVRCxYRL-)G>`ZxPfdD5b(3-HepJu`g*o6%nalu3pf_QzCnR4_39pf2-?XqbbMq zR^GDsuqKGn@`pKJDEf`aJykJw@Epf}jthOPdh?{WWtwccC=0f>l;6P2et71Ylg};E zWV_$7GJa+)q%tR;;a%}~n!U2lSob;OvkK)|NH%e4x@PZR`TP7w730*M2$9809;S;% zpE>5%a^@CcJW%siH5^|*|JrQSDX)Aq2Nh$dNRFM11#_tH7D`QY61X!f0D=O&U zR~*{wDB6lR#r-CQAmHHhVQ0YasZ+QR^g2an`R-6msIfzKF$^h((hiHY_RIxtZGjUm z+uD$ML^^kY1wB!zn9Rg-6YxfhKyGT!(rASK_MKO%l>ktG!4t%Y) zS`8v1wEJ&=8&yPzh-z#*uDzs409&U|^{>wE*N;vBAU}{#XjW!8>4*^rMEy*z7Z$3w zaZ}IydJNjHo{u;B$*ga%oQ>{ZNBRppJ{f{7Fw+jJl&Z!WkxyORAjcOO&_I*MB1D2X z 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 W; update-rc.d monit defaults 99 -# -monit=/usr/bin/monit -pidfile=/var/run/monit.pid -monit_args="-c /etc/monitrc" - -test -x "$monit" || exit 0 - -case "$1" in - start) - echo -n "Starting Monit" - start-stop-daemon --start --quiet --exec $monit -- $monit_args - RETVAL=$? - echo "." - ;; - stop) - echo -n "Stopping Monit" - start-stop-daemon --stop --quiet --pidfile $pidfile - RETVAL=$? - echo "." - ;; - restart) - $0 stop - $0 start - RETVAL=$? - ;; - status) - $monit $monit_args status - RETVAL=$? - echo "." - ;; - *) - echo "Usage: $0 {start|stop|restart|status}" - exit 1 -esac - -exit $RETVAL - diff --git a/meta-moblin/packages/monit/monit-4.10.1/nostrip.patch b/meta-moblin/packages/monit/monit-4.10.1/nostrip.patch deleted file mode 100644 index 95e7eb0f10..0000000000 --- a/meta-moblin/packages/monit/monit-4.10.1/nostrip.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: monit-4.10.1/Makefile.in -=================================================================== ---- monit-4.10.1.orig/Makefile.in 2009-05-24 15:49:03.000000000 +0100 -+++ monit-4.10.1/Makefile.in 2009-05-24 15:49:12.000000000 +0100 -@@ -39,7 +39,7 @@ - MODE_DIRS = 755 - - INSTALL = @INSTALL@ --INSTALL_PROG = $(INSTALL) -m $(MODE_PROGS) -s -+INSTALL_PROG = $(INSTALL) -m $(MODE_PROGS) - INSTALL_FILE = $(INSTALL) -m $(MODE_FILES) - INSTALL_DIR = $(INSTALL) -m $(MODE_DIRS) -d - diff --git a/meta-moblin/packages/monit/monit_4.10.1.bb b/meta-moblin/packages/monit/monit_4.10.1.bb deleted file mode 100644 index 84a6231a2a..0000000000 --- a/meta-moblin/packages/monit/monit_4.10.1.bb +++ /dev/null @@ -1,27 +0,0 @@ -LICENSE = "GPL" -DEPENDS = "openssl" - -SRC_URI = "http://www.tildeslash.com/monit/dist/monit-${PV}.tar.gz \ - file://nostrip.patch;patch=1 \ - file://init" - -PR = "r1" - -INITSCRIPT_NAME = "monit" -INITSCRIPT_PARAMS = "defaults 99" - -inherit autotools update-rc.d - -EXTRA_OECONF = "--with-ssl-lib-dir=${STAGING_LIBDIR} --with-ssl-incl-dir=${STAGING_INCDIR}" - -do_install_append() { - install -d ${D}${sysconfdir}/init.d/ - install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/monit - sed -i 's:# set daemon 120:set daemon 120:' ${S}/monitrc - sed -i 's:include /etc/monit.d/:include /${sysconfdir}/monit.d/:' ${S}/monitrc - install -m 600 ${S}/monitrc ${D}${sysconfdir}/monitrc - install -m 700 -d ${D}${sysconfdir}/monit.d/ -} - -CONFFILES_${PN} += "${sysconfdir}/monitrc" - diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless-services/confighack.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless-services/confighack.patch deleted file mode 100644 index dcfe11e0ff..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless-services/confighack.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: places-glib/configure.ac -=================================================================== ---- places-glib.orig/configure.ac 2009-04-17 10:29:15.000000000 +0100 -+++ places-glib/configure.ac 2009-04-17 10:29:44.000000000 +0100 -@@ -99,6 +99,8 @@ - PKG_CHECK_MODULES(GLIB, [glib-2.0]) - PKG_CHECK_MODULES(DBUS, [dbus-glib-1]) - -+XUL_LIBS="$XUL_LIBS -lmozjs" -+ - MOZHOME=`${PKG_CONFIG} --variable=prefix mozilla-headless`"/lib/xulrunner-"`${PKG_CONFIG} --modversion mozilla-headless` - AC_SUBST([MOZHOME]) - diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless-services_git.bb b/meta-moblin/packages/mozilla-headless/mozilla-headless-services_git.bb deleted file mode 100644 index 14d64fa8c3..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless-services_git.bb +++ /dev/null @@ -1,14 +0,0 @@ -SRC_URI = "git://git.moblin.org/mozilla-headless-services.git;protocol=git \ - file://confighack.patch;patch=1" -PV = "0.1+git${SRCPV}" -PR = "r1" - -DEPENDS = "glib-2.0 dbus mozilla-headless json-glib" - -EXTRA_OECONF = "--enable-gnome-proxy" - -S = "${WORKDIR}/git" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/0001-Adds-initial-Gtk-clipboard-support-to-moz-headless.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/0001-Adds-initial-Gtk-clipboard-support-to-moz-headless.patch deleted file mode 100644 index db9e147990..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/0001-Adds-initial-Gtk-clipboard-support-to-moz-headless.patch +++ /dev/null @@ -1,1478 +0,0 @@ -From fb41f028badb4dfddfc47fb2a1a68c1aa90dcef5 Mon Sep 17 00:00:00 2001 -From: Robert Bragg -Date: Fri, 8 May 2009 13:57:22 +0100 -Subject: [PATCH] Adds initial Gtk clipboard support to moz-headless - -If build with MOZ_X11 enabled then this now builds the clipboard code taken -from the gtk2 backend. This doesn't provide any embedding API yet to expose -the clipboard. ---- - widget/src/headless/Makefile.in | 6 + - widget/src/headless/nsClipboard.cpp | 948 +++++++++++++++++++++++++++++++ - widget/src/headless/nsClipboard.h | 93 +++ - widget/src/headless/nsIImageToPixbuf.h | 62 ++ - widget/src/headless/nsImageToPixbuf.cpp | 196 +++++++ - widget/src/headless/nsImageToPixbuf.h | 71 +++ - widget/src/headless/nsWidgetFactory.cpp | 18 + - 7 files changed, 1394 insertions(+), 0 deletions(-) - create mode 100644 widget/src/headless/nsClipboard.cpp - create mode 100644 widget/src/headless/nsClipboard.h - create mode 100644 widget/src/headless/nsIImageToPixbuf.h - create mode 100644 widget/src/headless/nsImageToPixbuf.cpp - create mode 100644 widget/src/headless/nsImageToPixbuf.h - -Index: offscreen/widget/src/headless/Makefile.in -=================================================================== ---- offscreen.orig/widget/src/headless/Makefile.in 2009-05-16 18:23:25.000000000 +0100 -+++ offscreen/widget/src/headless/Makefile.in 2009-06-12 14:14:05.000000000 +0100 -@@ -95,6 +95,12 @@ - nsScreenManagerHeadless.cpp \ - $(NULL) - -+ifdef MOZ_X11 -+CPPSRCS += nsClipboard.cpp \ -+ nsImageToPixbuf.cpp \ -+ $(NULL) -+endif -+ - # build our subdirs, too - SHARED_LIBRARY_LIBS = ../xpwidgets/libxpwidgets_s.a - -Index: offscreen/widget/src/headless/nsClipboard.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsClipboard.cpp 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,948 @@ -+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+/* vim:expandtab:shiftwidth=4:tabstop=4: -+ */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * 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. -+ * -+ * The Original Code is mozilla.org code. -+ * -+ * The Initial Developer of the Original Code is Christopher Blizzard -+ * . Portions created by the Initial Developer -+ * are Copyright (C) 2001 the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include "nsClipboard.h" -+#include "nsSupportsPrimitives.h" -+#include "nsString.h" -+#include "nsReadableUtils.h" -+#include "nsXPIDLString.h" -+#include "nsPrimitiveHelpers.h" -+#include "nsICharsetConverterManager.h" -+#include "nsIServiceManager.h" -+#include "nsIImage.h" -+#include "nsImageToPixbuf.h" -+#include "nsStringStream.h" -+ -+#include -+ -+// For manipulation of the X event queue -+#include -+#include -+#include -+#include -+#include -+ -+#ifdef POLL_WITH_XCONNECTIONNUMBER -+#include -+#endif -+ -+// Callback when someone asks us for the selection -+void -+invisible_selection_get_cb (GtkWidget *aWidget, -+ GtkSelectionData *aSelectionData, -+ guint aTime, -+ guint aInfo, -+ nsClipboard *aClipboard); -+ -+gboolean -+selection_clear_event_cb (GtkWidget *aWidget, -+ GdkEventSelection *aEvent, -+ nsClipboard *aClipboard); -+ -+static void -+ConvertHTMLtoUCS2 (guchar *data, -+ PRInt32 dataLength, -+ PRUnichar **unicodeData, -+ PRInt32 &outUnicodeLen); -+ -+static void -+GetHTMLCharset (guchar * data, PRInt32 dataLength, nsCString& str); -+ -+ -+// Our own versions of gtk_clipboard_wait_for_contents and -+// gtk_clipboard_wait_for_text, which don't run the event loop while -+// waiting for the data. This prevents a lot of problems related to -+// dispatching events at unexpected times. -+ -+static GtkSelectionData * -+wait_for_contents (GtkClipboard *clipboard, GdkAtom target); -+ -+static gchar * -+wait_for_text (GtkClipboard *clipboard); -+ -+static Bool -+checkEventProc(Display *display, XEvent *event, XPointer arg); -+ -+struct retrieval_context -+{ -+ PRBool completed; -+ void *data; -+ -+ retrieval_context() : completed(PR_FALSE), data(nsnull) { } -+}; -+ -+static void -+wait_for_retrieval(GtkClipboard *clipboard, retrieval_context *transferData); -+ -+static void -+clipboard_contents_received(GtkClipboard *clipboard, -+ GtkSelectionData *selection_data, -+ gpointer data); -+ -+static void -+clipboard_text_received(GtkClipboard *clipboard, -+ const gchar *text, -+ gpointer data); -+ -+nsClipboard::nsClipboard() -+{ -+ mWidget = nsnull; -+} -+ -+nsClipboard::~nsClipboard() -+{ -+ if (mWidget) -+ gtk_widget_destroy(mWidget); -+} -+ -+NS_IMPL_ISUPPORTS1(nsClipboard, nsIClipboard) -+ -+nsresult -+nsClipboard::Init(void) -+{ -+ mWidget = gtk_invisible_new(); -+ if (!mWidget) -+ return NS_ERROR_FAILURE; -+ -+ g_signal_connect(G_OBJECT(mWidget), "selection_get", -+ G_CALLBACK(invisible_selection_get_cb), this); -+ -+ g_signal_connect(G_OBJECT(mWidget), "selection_clear_event", -+ G_CALLBACK(selection_clear_event_cb), this); -+ -+ // XXX make sure to set up the selection_clear event -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::SetData(nsITransferable *aTransferable, -+ nsIClipboardOwner *aOwner, PRInt32 aWhichClipboard) -+{ -+ // See if we can short cut -+ if ((aWhichClipboard == kGlobalClipboard && -+ aTransferable == mGlobalTransferable.get() && -+ aOwner == mGlobalOwner.get()) || -+ (aWhichClipboard == kSelectionClipboard && -+ aTransferable == mSelectionTransferable.get() && -+ aOwner == mSelectionOwner.get())) { -+ return NS_OK; -+ } -+ -+ nsresult rv; -+ if (!mPrivacyHandler) { -+ rv = NS_NewClipboardPrivacyHandler(getter_AddRefs(mPrivacyHandler)); -+ NS_ENSURE_SUCCESS(rv, rv); -+ } -+ rv = mPrivacyHandler->PrepareDataForClipboard(aTransferable); -+ NS_ENSURE_SUCCESS(rv, rv); -+ -+ // Clear out the clipboard in order to set the new data -+ EmptyClipboard(aWhichClipboard); -+ -+ if (aWhichClipboard == kSelectionClipboard) { -+ mSelectionOwner = aOwner; -+ mSelectionTransferable = aTransferable; -+ } -+ else { -+ mGlobalOwner = aOwner; -+ mGlobalTransferable = aTransferable; -+ } -+ -+ // Which selection are we about to claim, CLIPBOARD or PRIMARY? -+ GdkAtom selectionAtom = GetSelectionAtom(aWhichClipboard); -+ -+ // Make ourselves the owner. If we fail to, return. -+ if (!gtk_selection_owner_set(mWidget, selectionAtom, GDK_CURRENT_TIME)) -+ return NS_ERROR_FAILURE; -+ -+ // Clear the old selection target list. -+ gtk_selection_clear_targets(mWidget, selectionAtom); -+ -+ // Get the types of supported flavors -+ nsCOMPtr flavors; -+ -+ rv = aTransferable->FlavorsTransferableCanExport(getter_AddRefs(flavors)); -+ if (!flavors || NS_FAILED(rv)) -+ return NS_ERROR_FAILURE; -+ -+ // Add all the flavors to this widget's supported type. -+ PRUint32 count; -+ flavors->Count(&count); -+ for (PRUint32 i=0; i < count; i++) { -+ nsCOMPtr tastesLike; -+ flavors->GetElementAt(i, getter_AddRefs(tastesLike)); -+ nsCOMPtr flavor = do_QueryInterface(tastesLike); -+ -+ if (flavor) { -+ nsXPIDLCString flavorStr; -+ flavor->ToString(getter_Copies(flavorStr)); -+ -+ // special case text/unicode since we can handle all of -+ // the string types -+ if (!strcmp(flavorStr, kUnicodeMime)) { -+ AddTarget(gdk_atom_intern("UTF8_STRING", FALSE), -+ selectionAtom); -+ AddTarget(gdk_atom_intern("COMPOUND_TEXT", FALSE), -+ selectionAtom); -+ AddTarget(gdk_atom_intern("TEXT", FALSE), selectionAtom); -+ AddTarget(GDK_SELECTION_TYPE_STRING, selectionAtom); -+ // next loop iteration -+ continue; -+ } -+ -+ // very special case for this one. since our selection mechanism doesn't work for images, -+ // we must use GTK's clipboard utility functions -+ if (!strcmp(flavorStr, kNativeImageMime) || !strcmp(flavorStr, kPNGImageMime) || -+ !strcmp(flavorStr, kJPEGImageMime) || !strcmp(flavorStr, kGIFImageMime)) { -+ nsCOMPtr item; -+ PRUint32 len; -+ rv = aTransferable->GetTransferData(flavorStr, getter_AddRefs(item), &len); -+ nsCOMPtr ptrPrimitive(do_QueryInterface(item)); -+ if (!ptrPrimitive) -+ continue; -+ -+ nsCOMPtr primitiveData; -+ ptrPrimitive->GetData(getter_AddRefs(primitiveData)); -+ nsCOMPtr image(do_QueryInterface(primitiveData)); -+ if (!image) // Not getting an image for an image mime type!? -+ continue; -+ -+ if (NS_FAILED(image->LockImagePixels(PR_FALSE))) -+ continue; -+ GdkPixbuf* pixbuf = nsImageToPixbuf::ImageToPixbuf(image); -+ if (!pixbuf) { -+ image->UnlockImagePixels(PR_FALSE); -+ continue; -+ } -+ -+ GtkClipboard *aClipboard = gtk_clipboard_get(GetSelectionAtom(aWhichClipboard)); -+ gtk_clipboard_set_image(aClipboard, pixbuf); -+ g_object_unref(pixbuf); -+ image->UnlockImagePixels(PR_FALSE); -+ continue; -+ } -+ -+ // Add this to our list of valid targets -+ GdkAtom atom = gdk_atom_intern(flavorStr, FALSE); -+ AddTarget(atom, selectionAtom); -+ } -+ } -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::GetData(nsITransferable *aTransferable, PRInt32 aWhichClipboard) -+{ -+ if (!aTransferable) -+ return NS_ERROR_FAILURE; -+ -+ GtkClipboard *clipboard; -+ clipboard = gtk_clipboard_get(GetSelectionAtom(aWhichClipboard)); -+ -+ guchar *data = NULL; -+ gint length = 0; -+ PRBool foundData = PR_FALSE; -+ nsCAutoString foundFlavor; -+ -+ // Get a list of flavors this transferable can import -+ nsCOMPtr flavors; -+ nsresult rv; -+ rv = aTransferable->FlavorsTransferableCanImport(getter_AddRefs(flavors)); -+ if (!flavors || NS_FAILED(rv)) -+ return NS_ERROR_FAILURE; -+ -+ PRUint32 count; -+ flavors->Count(&count); -+ for (PRUint32 i=0; i < count; i++) { -+ nsCOMPtr genericFlavor; -+ flavors->GetElementAt(i, getter_AddRefs(genericFlavor)); -+ -+ nsCOMPtr currentFlavor; -+ currentFlavor = do_QueryInterface(genericFlavor); -+ -+ if (currentFlavor) { -+ nsXPIDLCString flavorStr; -+ currentFlavor->ToString(getter_Copies(flavorStr)); -+ -+ // Special case text/unicode since we can convert any -+ // string into text/unicode -+ if (!strcmp(flavorStr, kUnicodeMime)) { -+ gchar* new_text = wait_for_text(clipboard); -+ if (new_text) { -+ // Convert utf-8 into our unicode format. -+ NS_ConvertUTF8toUTF16 ucs2string(new_text); -+ data = (guchar *)ToNewUnicode(ucs2string); -+ length = ucs2string.Length() * 2; -+ g_free(new_text); -+ foundData = PR_TRUE; -+ foundFlavor = kUnicodeMime; -+ break; -+ } -+ // If the type was text/unicode and we couldn't get -+ // text off the clipboard, run the next loop -+ // iteration. -+ continue; -+ } -+ -+ // For images, we must wrap the data in an nsIInputStream then return instead of break, -+ // because that code below won't help us. -+ if (!strcmp(flavorStr, kJPEGImageMime) || !strcmp(flavorStr, kPNGImageMime) || !strcmp(flavorStr, kGIFImageMime)) { -+ GdkAtom atom; -+ if (!strcmp(flavorStr, kJPEGImageMime)) // This is image/jpg, but X only understands image/jpeg -+ atom = gdk_atom_intern("image/jpeg", FALSE); -+ else -+ atom = gdk_atom_intern(flavorStr, FALSE); -+ -+ GtkSelectionData *selectionData = wait_for_contents(clipboard, atom); -+ if (!selectionData) -+ continue; -+ -+ nsCOMPtr byteStream; -+ NS_NewByteInputStream(getter_AddRefs(byteStream), (const char*)selectionData->data, -+ selectionData->length, NS_ASSIGNMENT_COPY); -+ aTransferable->SetTransferData(flavorStr, byteStream, sizeof(nsIInputStream*)); -+ gtk_selection_data_free(selectionData); -+ return NS_OK; -+ } -+ -+ // Get the atom for this type and try to request it off -+ // the clipboard. -+ GdkAtom atom = gdk_atom_intern(flavorStr, FALSE); -+ GtkSelectionData *selectionData; -+ selectionData = wait_for_contents(clipboard, atom); -+ if (selectionData) { -+ length = selectionData->length; -+ // Special case text/html since we can convert into UCS2 -+ if (!strcmp(flavorStr, kHTMLMime)) { -+ PRUnichar* htmlBody= nsnull; -+ PRInt32 htmlBodyLen = 0; -+ // Convert text/html into our unicode format -+ ConvertHTMLtoUCS2((guchar *)selectionData->data, length, -+ &htmlBody, htmlBodyLen); -+ if (!htmlBodyLen) -+ break; -+ data = (guchar *)htmlBody; -+ length = htmlBodyLen * 2; -+ } else { -+ data = (guchar *)nsMemory::Alloc(length); -+ if (!data) -+ break; -+ memcpy(data, selectionData->data, length); -+ } -+ foundData = PR_TRUE; -+ foundFlavor = flavorStr; -+ break; -+ } -+ } -+ } -+ -+ if (foundData) { -+ nsCOMPtr wrapper; -+ nsPrimitiveHelpers::CreatePrimitiveForData(foundFlavor.get(), -+ data, length, -+ getter_AddRefs(wrapper)); -+ aTransferable->SetTransferData(foundFlavor.get(), -+ wrapper, length); -+ } -+ -+ if (data) -+ nsMemory::Free(data); -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::EmptyClipboard(PRInt32 aWhichClipboard) -+{ -+ if (aWhichClipboard == kSelectionClipboard) { -+ if (mSelectionOwner) { -+ mSelectionOwner->LosingOwnership(mSelectionTransferable); -+ mSelectionOwner = nsnull; -+ } -+ mSelectionTransferable = nsnull; -+ } -+ else { -+ if (mGlobalOwner) { -+ mGlobalOwner->LosingOwnership(mGlobalTransferable); -+ mGlobalOwner = nsnull; -+ } -+ mGlobalTransferable = nsnull; -+ } -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::HasDataMatchingFlavors(const char** aFlavorList, PRUint32 aLength, -+ PRInt32 aWhichClipboard, PRBool *_retval) -+{ -+ if (!aFlavorList || !_retval) -+ return NS_ERROR_NULL_POINTER; -+ -+ *_retval = PR_FALSE; -+ -+ GtkSelectionData *selection_data = -+ GetTargets(GetSelectionAtom(aWhichClipboard)); -+ if (!selection_data) -+ return NS_OK; -+ -+ gint n_targets = 0; -+ GdkAtom *targets = NULL; -+ -+ if (!gtk_selection_data_get_targets(selection_data, -+ &targets, &n_targets) || -+ !n_targets) -+ return NS_OK; -+ -+ // Walk through the provided types and try to match it to a -+ // provided type. -+ for (PRUint32 i = 0; i < aLength && !*_retval; i++) { -+ // We special case text/unicode here. -+ if (!strcmp(aFlavorList[i], kUnicodeMime) && -+ gtk_selection_data_targets_include_text(selection_data)) { -+ *_retval = PR_TRUE; -+ break; -+ } -+ -+ for (PRInt32 j = 0; j < n_targets; j++) { -+ gchar *atom_name = gdk_atom_name(targets[j]); -+ if (!strcmp(atom_name, aFlavorList[i])) -+ *_retval = PR_TRUE; -+ -+ // X clipboard wants image/jpeg, not image/jpg -+ if (!strcmp(aFlavorList[i], kJPEGImageMime) && !strcmp(atom_name, "image/jpeg")) -+ *_retval = PR_TRUE; -+ -+ g_free(atom_name); -+ -+ if (*_retval) -+ break; -+ } -+ } -+ gtk_selection_data_free(selection_data); -+ g_free(targets); -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::SupportsSelectionClipboard(PRBool *_retval) -+{ -+ *_retval = PR_TRUE; // yeah, unix supports the selection clipboard -+ return NS_OK; -+} -+ -+/* static */ -+GdkAtom -+nsClipboard::GetSelectionAtom(PRInt32 aWhichClipboard) -+{ -+ if (aWhichClipboard == kGlobalClipboard) -+ return GDK_SELECTION_CLIPBOARD; -+ -+ return GDK_SELECTION_PRIMARY; -+} -+ -+/* static */ -+GtkSelectionData * -+nsClipboard::GetTargets(GdkAtom aWhichClipboard) -+{ -+ GtkClipboard *clipboard = gtk_clipboard_get(aWhichClipboard); -+ return wait_for_contents(clipboard, gdk_atom_intern("TARGETS", FALSE)); -+} -+ -+nsITransferable * -+nsClipboard::GetTransferable(PRInt32 aWhichClipboard) -+{ -+ nsITransferable *retval; -+ -+ if (aWhichClipboard == kSelectionClipboard) -+ retval = mSelectionTransferable.get(); -+ else -+ retval = mGlobalTransferable.get(); -+ -+ return retval; -+} -+ -+void -+nsClipboard::AddTarget(GdkAtom aName, GdkAtom aClipboard) -+{ -+ gtk_selection_add_target(mWidget, aClipboard, aName, 0); -+} -+ -+void -+nsClipboard::SelectionGetEvent (GtkWidget *aWidget, -+ GtkSelectionData *aSelectionData, -+ guint aTime) -+{ -+ // Someone has asked us to hand them something. The first thing -+ // that we want to do is see if that something includes text. If -+ // it does, try to give it text/unicode after converting it to -+ // utf-8. -+ -+ PRInt32 whichClipboard; -+ -+ // which clipboard? -+ if (aSelectionData->selection == GDK_SELECTION_PRIMARY) -+ whichClipboard = kSelectionClipboard; -+ else if (aSelectionData->selection == GDK_SELECTION_CLIPBOARD) -+ whichClipboard = kGlobalClipboard; -+ else -+ return; // THAT AIN'T NO CLIPBOARD I EVER HEARD OF -+ -+ nsCOMPtr trans = GetTransferable(whichClipboard); -+ -+ nsresult rv; -+ nsCOMPtr item; -+ PRUint32 len; -+ -+ // Check to see if the selection data includes any of the string -+ // types that we support. -+ if (aSelectionData->target == gdk_atom_intern ("STRING", FALSE) || -+ aSelectionData->target == gdk_atom_intern ("TEXT", FALSE) || -+ aSelectionData->target == gdk_atom_intern ("COMPOUND_TEXT", FALSE) || -+ aSelectionData->target == gdk_atom_intern ("UTF8_STRING", FALSE)) { -+ // Try to convert our internal type into a text string. Get -+ // the transferable for this clipboard and try to get the -+ // text/unicode type for it. -+ rv = trans->GetTransferData("text/unicode", getter_AddRefs(item), -+ &len); -+ if (!item || NS_FAILED(rv)) -+ return; -+ -+ nsCOMPtr wideString; -+ wideString = do_QueryInterface(item); -+ if (!wideString) -+ return; -+ -+ nsAutoString ucs2string; -+ wideString->GetData(ucs2string); -+ char *utf8string = ToNewUTF8String(ucs2string); -+ if (!utf8string) -+ return; -+ -+ gtk_selection_data_set_text (aSelectionData, utf8string, -+ strlen(utf8string)); -+ -+ nsMemory::Free(utf8string); -+ return; -+ } -+ -+ // Try to match up the selection data target to something our -+ // transferable provides. -+ gchar *target_name = gdk_atom_name(aSelectionData->target); -+ if (!target_name) -+ return; -+ -+ rv = trans->GetTransferData(target_name, getter_AddRefs(item), &len); -+ // nothing found? -+ if (!item || NS_FAILED(rv)) { -+ g_free(target_name); -+ return; -+ } -+ -+ void *primitive_data = nsnull; -+ nsPrimitiveHelpers::CreateDataFromPrimitive(target_name, item, -+ &primitive_data, len); -+ -+ if (primitive_data) { -+ // Check to see if the selection data is text/html -+ if (aSelectionData->target == gdk_atom_intern (kHTMLMime, FALSE)) { -+ /* -+ * "text/html" can be encoded UCS2. It is recommended that -+ * documents transmitted as UCS2 always begin with a ZERO-WIDTH -+ * NON-BREAKING SPACE character (hexadecimal FEFF, also called -+ * Byte Order Mark (BOM)). Adding BOM can help other app to -+ * detect mozilla use UCS2 encoding when copy-paste. -+ */ -+ guchar *buffer = (guchar *) -+ nsMemory::Alloc((len * sizeof(guchar)) + sizeof(PRUnichar)); -+ if (!buffer) -+ return; -+ PRUnichar prefix = 0xFEFF; -+ memcpy(buffer, &prefix, sizeof(prefix)); -+ memcpy(buffer + sizeof(prefix), primitive_data, len); -+ nsMemory::Free((guchar *)primitive_data); -+ primitive_data = (guchar *)buffer; -+ len += sizeof(prefix); -+ } -+ -+ gtk_selection_data_set(aSelectionData, aSelectionData->target, -+ 8, /* 8 bits in a unit */ -+ (const guchar *)primitive_data, len); -+ nsMemory::Free(primitive_data); -+ } -+ -+ g_free(target_name); -+ -+} -+ -+void -+nsClipboard::SelectionClearEvent (GtkWidget *aWidget, -+ GdkEventSelection *aEvent) -+{ -+ PRInt32 whichClipboard; -+ -+ // which clipboard? -+ if (aEvent->selection == GDK_SELECTION_PRIMARY) -+ whichClipboard = kSelectionClipboard; -+ else if (aEvent->selection == GDK_SELECTION_CLIPBOARD) -+ whichClipboard = kGlobalClipboard; -+ else -+ return; // THAT AIN'T NO CLIPBOARD I EVER HEARD OF -+ -+ EmptyClipboard(whichClipboard); -+} -+ -+void -+invisible_selection_get_cb (GtkWidget *aWidget, -+ GtkSelectionData *aSelectionData, -+ guint aTime, -+ guint aInfo, -+ nsClipboard *aClipboard) -+{ -+ aClipboard->SelectionGetEvent(aWidget, aSelectionData, aTime); -+} -+ -+gboolean -+selection_clear_event_cb (GtkWidget *aWidget, -+ GdkEventSelection *aEvent, -+ nsClipboard *aClipboard) -+{ -+ aClipboard->SelectionClearEvent(aWidget, aEvent); -+ return TRUE; -+} -+ -+/* -+ * when copy-paste, mozilla wants data encoded using UCS2, -+ * other app such as StarOffice use "text/html"(RFC2854). -+ * This function convert data(got from GTK clipboard) -+ * to data mozilla wanted. -+ * -+ * data from GTK clipboard can be 3 forms: -+ * 1. From current mozilla -+ * "text/html", charset = utf-16 -+ * 2. From old version mozilla or mozilla-based app -+ * content("body" only), charset = utf-16 -+ * 3. From other app who use "text/html" when copy-paste -+ * "text/html", has "charset" info -+ * -+ * data : got from GTK clipboard -+ * dataLength: got from GTK clipboard -+ * body : pass to Mozilla -+ * bodyLength: pass to Mozilla -+ */ -+void ConvertHTMLtoUCS2(guchar * data, PRInt32 dataLength, -+ PRUnichar** unicodeData, PRInt32& outUnicodeLen) -+{ -+ nsCAutoString charset; -+ GetHTMLCharset(data, dataLength, charset);// get charset of HTML -+ if (charset.EqualsLiteral("UTF-16")) {//current mozilla -+ outUnicodeLen = (dataLength / 2) - 1; -+ *unicodeData = reinterpret_cast -+ (nsMemory::Alloc((outUnicodeLen + sizeof('\0')) * -+ sizeof(PRUnichar))); -+ if (*unicodeData) { -+ memcpy(*unicodeData, data + sizeof(PRUnichar), -+ outUnicodeLen * sizeof(PRUnichar)); -+ (*unicodeData)[outUnicodeLen] = '\0'; -+ } -+ } else if (charset.EqualsLiteral("UNKNOWN")) { -+ outUnicodeLen = 0; -+ return; -+ } else { -+ // app which use "text/html" to copy&paste -+ nsCOMPtr decoder; -+ nsresult rv; -+ // get the decoder -+ nsCOMPtr ccm = -+ do_GetService(NS_CHARSETCONVERTERMANAGER_CONTRACTID, &rv); -+ if (NS_FAILED(rv)) { -+#ifdef DEBUG_CLIPBOARD -+ g_print(" can't get CHARSET CONVERTER MANAGER service\n"); -+#endif -+ outUnicodeLen = 0; -+ return; -+ } -+ rv = ccm->GetUnicodeDecoder(charset.get(), getter_AddRefs(decoder)); -+ if (NS_FAILED(rv)) { -+#ifdef DEBUG_CLIPBOARD -+ g_print(" get unicode decoder error\n"); -+#endif -+ outUnicodeLen = 0; -+ return; -+ } -+ // converting -+ decoder->GetMaxLength((const char *)data, dataLength, &outUnicodeLen); -+ // |outUnicodeLen| is number of chars -+ if (outUnicodeLen) { -+ *unicodeData = reinterpret_cast -+ (nsMemory::Alloc((outUnicodeLen + sizeof('\0')) * -+ sizeof(PRUnichar))); -+ if (*unicodeData) { -+ PRInt32 numberTmp = dataLength; -+ decoder->Convert((const char *)data, &numberTmp, -+ *unicodeData, &outUnicodeLen); -+#ifdef DEBUG_CLIPBOARD -+ if (numberTmp != dataLength) -+ printf("didn't consume all the bytes\n"); -+#endif -+ // null terminate. Convert() doesn't do it for us -+ (*unicodeData)[outUnicodeLen] = '\0'; -+ } -+ } // if valid length -+ } -+} -+ -+/* -+ * get "charset" information from clipboard data -+ * return value can be: -+ * 1. "UTF-16": mozilla or "text/html" with "charset=utf-16" -+ * 2. "UNKNOWN": mozilla can't detect what encode it use -+ * 3. other: "text/html" with other charset than utf-16 -+ */ -+void GetHTMLCharset(guchar * data, PRInt32 dataLength, nsCString& str) -+{ -+ // if detect "FFFE" or "FEFF", assume UTF-16 -+ PRUnichar* beginChar = (PRUnichar*)data; -+ if ((beginChar[0] == 0xFFFE) || (beginChar[0] == 0xFEFF)) { -+ str.AssignLiteral("UTF-16"); -+ return; -+ } -+ // no "FFFE" and "FEFF", assume ASCII first to find "charset" info -+ const nsDependentCString htmlStr((const char *)data, dataLength); -+ nsACString::const_iterator start, end; -+ htmlStr.BeginReading(start); -+ htmlStr.EndReading(end); -+ nsACString::const_iterator valueStart(start), valueEnd(start); -+ -+ if (CaseInsensitiveFindInReadable( -+ NS_LITERAL_CSTRING("CONTENT=\"text/html;"), -+ start, end)) { -+ start = end; -+ htmlStr.EndReading(end); -+ -+ if (CaseInsensitiveFindInReadable( -+ NS_LITERAL_CSTRING("charset="), -+ start, end)) { -+ valueStart = end; -+ start = end; -+ htmlStr.EndReading(end); -+ -+ if (FindCharInReadable('"', start, end)) -+ valueEnd = start; -+ } -+ } -+ // find "charset" in HTML -+ if (valueStart != valueEnd) { -+ str = Substring(valueStart, valueEnd); -+ ToUpperCase(str); -+#ifdef DEBUG_CLIPBOARD -+ printf("Charset of HTML = %s\n", charsetUpperStr.get()); -+#endif -+ return; -+ } -+ str.AssignLiteral("UNKNOWN"); -+} -+ -+static void -+DispatchSelectionNotifyEvent(GtkWidget *widget, XEvent *xevent) -+{ -+ GdkEvent event; -+ event.selection.type = GDK_SELECTION_NOTIFY; -+ event.selection.window = widget->window; -+ event.selection.selection = gdk_x11_xatom_to_atom(xevent->xselection.selection); -+ event.selection.target = gdk_x11_xatom_to_atom(xevent->xselection.target); -+ event.selection.property = gdk_x11_xatom_to_atom(xevent->xselection.property); -+ event.selection.time = xevent->xselection.time; -+ -+ gtk_widget_event(widget, &event); -+} -+ -+static void -+DispatchPropertyNotifyEvent(GtkWidget *widget, XEvent *xevent) -+{ -+ if (((GdkWindowObject *) widget->window)->event_mask & GDK_PROPERTY_CHANGE_MASK) { -+ GdkEvent event; -+ event.property.type = GDK_PROPERTY_NOTIFY; -+ event.property.window = widget->window; -+ event.property.atom = gdk_x11_xatom_to_atom(xevent->xproperty.atom); -+ event.property.time = xevent->xproperty.time; -+ event.property.state = xevent->xproperty.state; -+ -+ gtk_widget_event(widget, &event); -+ } -+} -+ -+struct checkEventContext -+{ -+ GtkWidget *cbWidget; -+ Atom selAtom; -+}; -+ -+static Bool -+checkEventProc(Display *display, XEvent *event, XPointer arg) -+{ -+ checkEventContext *context = (checkEventContext *) arg; -+ -+ if (event->xany.type == SelectionNotify || -+ (event->xany.type == PropertyNotify && -+ event->xproperty.atom == context->selAtom)) { -+ -+ GdkWindow *cbWindow = gdk_window_lookup(event->xany.window); -+ if (cbWindow) { -+ GtkWidget *cbWidget = NULL; -+ gdk_window_get_user_data(cbWindow, (gpointer *)&cbWidget); -+ if (cbWidget && GTK_IS_WIDGET(cbWidget)) { -+ context->cbWidget = cbWidget; -+ return True; -+ } -+ } -+ } -+ -+ return False; -+} -+ -+// Idle timeout for receiving selection and property notify events (microsec) -+static const int kClipboardTimeout = 500000; -+ -+static void -+wait_for_retrieval(GtkClipboard *clipboard, retrieval_context *r_context) -+{ -+ if (r_context->completed) // the request completed synchronously -+ return; -+ -+ Display *xDisplay = GDK_DISPLAY(); -+ checkEventContext context; -+ context.cbWidget = NULL; -+ context.selAtom = gdk_x11_atom_to_xatom(gdk_atom_intern("GDK_SELECTION", -+ FALSE)); -+ -+ // Send X events which are relevant to the ongoing selection retrieval -+ // to the clipboard widget. Wait until either the operation completes, or -+ // we hit our timeout. All other X events remain queued. -+ -+ int select_result; -+ -+#ifdef POLL_WITH_XCONNECTIONNUMBER -+ struct pollfd fds[1]; -+ fds[0].fd = XConnectionNumber(xDisplay); -+ fds[0].events = POLLIN; -+#else -+ int cnumber = ConnectionNumber(xDisplay); -+ fd_set select_set; -+ FD_ZERO(&select_set); -+ FD_SET(cnumber, &select_set); -+ ++cnumber; -+ struct timeval tv; -+#endif -+ -+ do { -+ XEvent xevent; -+ -+ while (XCheckIfEvent(xDisplay, &xevent, checkEventProc, -+ (XPointer) &context)) { -+ -+ if (xevent.xany.type == SelectionNotify) -+ DispatchSelectionNotifyEvent(context.cbWidget, &xevent); -+ else -+ DispatchPropertyNotifyEvent(context.cbWidget, &xevent); -+ -+ if (r_context->completed) -+ return; -+ } -+ -+#ifdef POLL_WITH_XCONNECTIONNUMBER -+ select_result = poll(fds, 1, kClipboardTimeout / 1000); -+#else -+ tv.tv_sec = 0; -+ tv.tv_usec = kClipboardTimeout; -+ select_result = select(cnumber, &select_set, NULL, NULL, &tv); -+#endif -+ } while (select_result == 1); -+ -+#ifdef DEBUG_CLIPBOARD -+ printf("exceeded clipboard timeout\n"); -+#endif -+} -+ -+static void -+clipboard_contents_received(GtkClipboard *clipboard, -+ GtkSelectionData *selection_data, -+ gpointer data) -+{ -+ retrieval_context *context = static_cast(data); -+ context->completed = PR_TRUE; -+ -+ if (selection_data->length >= 0) -+ context->data = gtk_selection_data_copy(selection_data); -+} -+ -+ -+static GtkSelectionData * -+wait_for_contents(GtkClipboard *clipboard, GdkAtom target) -+{ -+ retrieval_context context; -+ gtk_clipboard_request_contents(clipboard, target, -+ clipboard_contents_received, -+ &context); -+ -+ wait_for_retrieval(clipboard, &context); -+ return static_cast(context.data); -+} -+ -+static void -+clipboard_text_received(GtkClipboard *clipboard, -+ const gchar *text, -+ gpointer data) -+{ -+ retrieval_context *context = static_cast(data); -+ context->completed = PR_TRUE; -+ context->data = g_strdup(text); -+} -+ -+static gchar * -+wait_for_text(GtkClipboard *clipboard) -+{ -+ retrieval_context context; -+ gtk_clipboard_request_text(clipboard, clipboard_text_received, &context); -+ -+ wait_for_retrieval(clipboard, &context); -+ return static_cast(context.data); -+} -Index: offscreen/widget/src/headless/nsClipboard.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsClipboard.h 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,93 @@ -+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+/* vim:expandtab:shiftwidth=4:tabstop=4: -+ */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * 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. -+ * -+ * The Original Code is mozilla.org code. -+ * -+ * The Initial Developer of the Original Code is Christopher Blizzard -+ * . Portions created by the Initial Developer -+ * are Copyright (C) 2001 the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef __nsClipboard_h_ -+#define __nsClipboard_h_ -+ -+#include "nsIClipboard.h" -+#include "nsClipboardPrivacyHandler.h" -+#include "nsAutoPtr.h" -+#include -+ -+class nsClipboard : public nsIClipboard -+{ -+public: -+ nsClipboard(); -+ virtual ~nsClipboard(); -+ -+ NS_DECL_ISUPPORTS -+ -+ NS_DECL_NSICLIPBOARD -+ -+ // Make sure we are initialized, called from the factory -+ // constructor -+ nsresult Init (void); -+ // Someone requested the selection from the hidden widget -+ void SelectionGetEvent (GtkWidget *aWidget, -+ GtkSelectionData *aSelectionData, -+ guint aTime); -+ void SelectionClearEvent (GtkWidget *aWidget, -+ GdkEventSelection *aEvent); -+ -+ -+private: -+ // Utility methods -+ static GdkAtom GetSelectionAtom (PRInt32 aWhichClipboard); -+ static GtkSelectionData *GetTargets (GdkAtom aWhichClipboard); -+ -+ // Get our hands on the correct transferable, given a specific -+ // clipboard -+ nsITransferable *GetTransferable (PRInt32 aWhichClipboard); -+ -+ // Add a target type to the hidden widget -+ void AddTarget (GdkAtom aName, -+ GdkAtom aClipboard); -+ -+ // The hidden widget where we do all of our operations -+ GtkWidget *mWidget; -+ // Hang on to our owners and transferables so we can transfer data -+ // when asked. -+ nsCOMPtr mSelectionOwner; -+ nsCOMPtr mGlobalOwner; -+ nsCOMPtr mSelectionTransferable; -+ nsCOMPtr mGlobalTransferable; -+ nsRefPtr mPrivacyHandler; -+ -+}; -+ -+#endif /* __nsClipboard_h_ */ -Index: offscreen/widget/src/headless/nsIImageToPixbuf.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsIImageToPixbuf.h 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,62 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * 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. -+ * -+ * The Original Code is mozilla.org widget code. -+ * -+ * The Initial Developer of the Original Code is -+ * Christian Biesinger . -+ * Portions created by the Initial Developer are Copyright (C) 2006 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef NSIIMAGETOPIXBUF_H_ -+#define NSIIMAGETOPIXBUF_H_ -+ -+#include "nsISupports.h" -+ -+// dfa4ac93-83f2-4ab8-9b2a-0ff7022aebe2 -+#define NSIIMAGETOPIXBUF_IID \ -+{ 0xdfa4ac93, 0x83f2, 0x4ab8, \ -+ { 0x9b, 0x2a, 0x0f, 0xf7, 0x02, 0x2a, 0xeb, 0xe2 } } -+ -+class nsIImage; -+typedef struct _GdkPixbuf GdkPixbuf; -+ -+/** -+ * An interface that allows converting an nsIImage to a GdkPixbuf*. -+ */ -+class nsIImageToPixbuf : public nsISupports { -+ public: -+ NS_DECLARE_STATIC_IID_ACCESSOR(NSIIMAGETOPIXBUF_IID) -+ -+ NS_IMETHOD_(GdkPixbuf*) ConvertImageToPixbuf(nsIImage* aImage) = 0; -+}; -+ -+NS_DEFINE_STATIC_IID_ACCESSOR(nsIImageToPixbuf, NSIIMAGETOPIXBUF_IID) -+ -+#endif -Index: offscreen/widget/src/headless/nsImageToPixbuf.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsImageToPixbuf.cpp 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,196 @@ -+/* vim:set sw=4 sts=4 et cin: */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * 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. -+ * -+ * The Original Code is mozilla.org widget code. -+ * -+ * The Initial Developer of the Original Code is -+ * Christian Biesinger . -+ * Portions created by the Initial Developer are Copyright (C) 2006 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include -+ -+#include "gfxASurface.h" -+#include "gfxImageSurface.h" -+#include "gfxContext.h" -+ -+#include "nsIImage.h" -+ -+#include "nsAutoPtr.h" -+ -+#include "nsImageToPixbuf.h" -+ -+NS_IMPL_ISUPPORTS1(nsImageToPixbuf, nsIImageToPixbuf) -+ -+inline unsigned char -+unpremultiply (unsigned char color, -+ unsigned char alpha) -+{ -+ if (alpha == 0) -+ return 0; -+ // plus alpha/2 to round instead of truncate -+ return (color * 255 + alpha / 2) / alpha; -+} -+ -+NS_IMETHODIMP_(GdkPixbuf*) -+nsImageToPixbuf::ConvertImageToPixbuf(nsIImage* aImage) -+{ -+ return ImageToPixbuf(aImage); -+} -+ -+GdkPixbuf* -+nsImageToPixbuf::ImageToPixbuf(nsIImage* aImage) -+{ -+ PRInt32 width = aImage->GetWidth(), -+ height = aImage->GetHeight(); -+ -+ nsRefPtr pattern; -+ aImage->GetPattern(getter_AddRefs(pattern)); -+ -+ return PatternToPixbuf(pattern, width, height); -+} -+ -+GdkPixbuf* -+nsImageToPixbuf::ImgSurfaceToPixbuf(gfxImageSurface* aImgSurface, PRInt32 aWidth, PRInt32 aHeight) -+{ -+ GdkPixbuf* pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, PR_TRUE, 8, -+ aWidth, aHeight); -+ if (!pixbuf) -+ return nsnull; -+ -+ PRUint32 rowstride = gdk_pixbuf_get_rowstride (pixbuf); -+ guchar* pixels = gdk_pixbuf_get_pixels (pixbuf); -+ -+ long cairoStride = aImgSurface->Stride(); -+ unsigned char* cairoData = aImgSurface->Data(); -+ -+ gfxASurface::gfxImageFormat format = aImgSurface->Format(); -+ -+ for (PRInt32 row = 0; row < aHeight; ++row) { -+ for (PRInt32 col = 0; col < aWidth; ++col) { -+ guchar* pixel = pixels + row * rowstride + 4 * col; -+ -+ PRUint32* cairoPixel = reinterpret_cast -+ ((cairoData + row * cairoStride + 4 * col)); -+ -+ if (format == gfxASurface::ImageFormatARGB32) { -+ const PRUint8 a = (*cairoPixel >> 24) & 0xFF; -+ const PRUint8 r = unpremultiply((*cairoPixel >> 16) & 0xFF, a); -+ const PRUint8 g = unpremultiply((*cairoPixel >> 8) & 0xFF, a); -+ const PRUint8 b = unpremultiply((*cairoPixel >> 0) & 0xFF, a); -+ -+ *pixel++ = r; -+ *pixel++ = g; -+ *pixel++ = b; -+ *pixel++ = a; -+ } else { -+ NS_ASSERTION(format == gfxASurface::ImageFormatRGB24, -+ "unexpected format"); -+ const PRUint8 r = (*cairoPixel >> 16) & 0xFF; -+ const PRUint8 g = (*cairoPixel >> 8) & 0xFF; -+ const PRUint8 b = (*cairoPixel >> 0) & 0xFF; -+ -+ *pixel++ = r; -+ *pixel++ = g; -+ *pixel++ = b; -+ *pixel++ = 0xFF; // A -+ } -+ } -+ } -+ -+ return pixbuf; -+} -+ -+GdkPixbuf* -+nsImageToPixbuf::SurfaceToPixbuf(gfxASurface* aSurface, PRInt32 aWidth, PRInt32 aHeight) -+{ -+ if (aSurface->CairoStatus()) { -+ NS_ERROR("invalid surface"); -+ return nsnull; -+ } -+ -+ nsRefPtr imgSurface; -+ if (aSurface->GetType() == gfxASurface::SurfaceTypeImage) { -+ imgSurface = static_cast -+ (static_cast(aSurface)); -+ } else { -+ imgSurface = new gfxImageSurface(gfxIntSize(aWidth, aHeight), -+ gfxImageSurface::ImageFormatARGB32); -+ -+ if (!imgSurface) -+ return nsnull; -+ -+ nsRefPtr context = new gfxContext(imgSurface); -+ if (!context) -+ return nsnull; -+ -+ context->SetOperator(gfxContext::OPERATOR_SOURCE); -+ context->SetSource(aSurface); -+ context->Paint(); -+ } -+ -+ return ImgSurfaceToPixbuf(imgSurface, aWidth, aHeight); -+} -+ -+GdkPixbuf* -+nsImageToPixbuf::PatternToPixbuf(gfxPattern* aPattern, PRInt32 aWidth, PRInt32 aHeight) -+{ -+ if (aPattern->CairoStatus()) { -+ NS_ERROR("invalid pattern"); -+ return nsnull; -+ } -+ -+ nsRefPtr imgSurface; -+ if (aPattern->GetType() == gfxPattern::PATTERN_SURFACE) { -+ nsRefPtr surface = aPattern->GetSurface(); -+ if (surface->GetType() == gfxASurface::SurfaceTypeImage) { -+ imgSurface = static_cast -+ (static_cast(surface.get())); -+ } -+ } -+ -+ if (!imgSurface) { -+ imgSurface = new gfxImageSurface(gfxIntSize(aWidth, aHeight), -+ gfxImageSurface::ImageFormatARGB32); -+ -+ if (!imgSurface) -+ return nsnull; -+ -+ nsRefPtr context = new gfxContext(imgSurface); -+ if (!context) -+ return nsnull; -+ -+ context->SetOperator(gfxContext::OPERATOR_SOURCE); -+ context->SetPattern(aPattern); -+ context->Paint(); -+ } -+ -+ return ImgSurfaceToPixbuf(imgSurface, aWidth, aHeight); -+} -Index: offscreen/widget/src/headless/nsImageToPixbuf.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsImageToPixbuf.h 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,71 @@ -+/* vim:set sw=4 sts=4 et cin: */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * 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. -+ * -+ * The Original Code is mozilla.org widget code. -+ * -+ * The Initial Developer of the Original Code is -+ * Christian Biesinger . -+ * Portions created by the Initial Developer are Copyright (C) 2006 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef NSIMAGETOPIXBUF_H_ -+#define NSIMAGETOPIXBUF_H_ -+ -+#include "nsIImageToPixbuf.h" -+ -+class gfxASurface; -+class gfxPattern; -+class gfxImageSurface; -+ -+class nsImageToPixbuf : public nsIImageToPixbuf { -+ public: -+ NS_DECL_ISUPPORTS -+ NS_IMETHOD_(GdkPixbuf*) ConvertImageToPixbuf(nsIImage* aImage); -+ -+ // Friendlier version of ConvertImageToPixbuf for callers inside of -+ // widget -+ static GdkPixbuf* ImageToPixbuf(nsIImage* aImage); -+ static GdkPixbuf* SurfaceToPixbuf(gfxASurface* aSurface, -+ PRInt32 aWidth, PRInt32 aHeight); -+ static GdkPixbuf* PatternToPixbuf(gfxPattern* aPattern, -+ PRInt32 aWidth, PRInt32 aHeight); -+ private: -+ static GdkPixbuf* ImgSurfaceToPixbuf(gfxImageSurface* aImgSurface, -+ PRInt32 aWidth, PRInt32 aHeight); -+ ~nsImageToPixbuf() {} -+}; -+ -+ -+// fc2389b8-c650-4093-9e42-b05e5f0685b7 -+#define NS_IMAGE_TO_PIXBUF_CID \ -+{ 0xfc2389b8, 0xc650, 0x4093, \ -+ { 0x9e, 0x42, 0xb0, 0x5e, 0x5f, 0x06, 0x85, 0xb7 } } -+ -+#endif -Index: offscreen/widget/src/headless/nsWidgetFactory.cpp -=================================================================== ---- offscreen.orig/widget/src/headless/nsWidgetFactory.cpp 2009-06-12 14:08:56.000000000 +0100 -+++ offscreen/widget/src/headless/nsWidgetFactory.cpp 2009-06-12 14:15:24.000000000 +0100 -@@ -46,6 +46,10 @@ - #include "nsWindow.h" - #include "nsTransferable.h" - #include "nsHTMLFormatConverter.h" -+#ifdef MOZ_X11 -+#include "nsClipboardHelper.h" -+#include "nsClipboard.h" -+#endif - #include "nsSound.h" - #include "nsBidiKeyboard.h" - #include "nsScreenManagerHeadless.h" -@@ -66,6 +70,10 @@ - NS_GENERIC_FACTORY_CONSTRUCTOR(nsTransferable) - NS_GENERIC_FACTORY_CONSTRUCTOR(nsBidiKeyboard) - NS_GENERIC_FACTORY_CONSTRUCTOR(nsHTMLFormatConverter) -+#ifdef MOZ_X11 -+NS_GENERIC_FACTORY_CONSTRUCTOR(nsClipboardHelper) -+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsClipboard, Init) -+#endif - NS_GENERIC_FACTORY_CONSTRUCTOR(nsSound) - NS_GENERIC_FACTORY_CONSTRUCTOR(nsScreenManagerHeadless) - //NS_GENERIC_FACTORY_CONSTRUCTOR(nsImageToPixbuf) -@@ -142,6 +150,16 @@ - NS_TRANSFERABLE_CID, - "@mozilla.org/widget/transferable;1", - nsTransferableConstructor }, -+#ifdef MOZ_X11 -+ { "Gtk Clipboard", -+ NS_CLIPBOARD_CID, -+ "@mozilla.org/widget/clipboard;1", -+ nsClipboardConstructor }, -+ { "Clipboard Helper", -+ NS_CLIPBOARDHELPER_CID, -+ "@mozilla.org/widget/clipboardhelper;1", -+ nsClipboardHelperConstructor }, -+#endif - { "HTML Format Converter", - NS_HTMLFORMATCONVERTER_CID, - "@mozilla.org/widget/htmlformatconverter;1", diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/autoconffix.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/autoconffix.patch deleted file mode 100644 index 2874b0d832..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/autoconffix.patch +++ /dev/null @@ -1,66 +0,0 @@ -Fixes to enable building with latest autoconf and automake - -RP 2/2/10 - -Index: offscreen/js/ctypes/libffi/configure.ac -=================================================================== ---- offscreen.orig/js/ctypes/libffi/configure.ac 2010-02-02 19:53:16.753906134 +0000 -+++ offscreen/js/ctypes/libffi/configure.ac 2010-02-02 19:53:21.895155509 +0000 -@@ -17,10 +17,10 @@ - # the wrong, non-multilib-adjusted value will be used in multilibs. - # As a side effect, we have to subst CFLAGS ourselves. - --m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) -+m4_rename_force([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) - m4_define([_AC_ARG_VAR_PRECIOUS],[]) - AC_PROG_CC --m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) -+m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) - - AC_SUBST(CFLAGS) - -Index: offscreen/modules/libpr0n/build/Makefile.in -=================================================================== ---- offscreen.orig/modules/libpr0n/build/Makefile.in 2010-02-02 19:53:16.783906873 +0000 -+++ offscreen/modules/libpr0n/build/Makefile.in 2010-02-02 19:53:21.895155509 +0000 -@@ -92,6 +92,7 @@ - - export:: - @{ \ -+ \ - $(foreach d,$(filter-out icon,$(MOZ_IMG_DECODERS)), \ - echo "#define IMG_BUILD_DECODER_${d}";) \ - $(foreach d,$(MOZ_IMG_ENCODERS), \ -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2010-02-02 19:53:28.493904163 +0000 -+++ offscreen/configure.in 2010-02-02 16:33:09.000000000 +0000 -@@ -3250,11 +3250,7 @@ - dnl ======================================================== - AC_CHECK_LIB(Xext, XShmCreateImage, _HAVE_XSHM_XEXT=1,, - $XLIBS $XEXT_LIBS) -- AC_CHECK_HEADER(X11/extensions/XShm.h) -- if test "$ac_cv_header_X11_extensions_XShm_h" = "yes" && -- test -n "$_HAVE_XSHM_XEXT"; then -- AC_DEFINE(HAVE_XSHM) -- fi -+ AC_DEFINE(HAVE_XSHM) - - dnl ======================================================== - dnl = Check for XIE -@@ -8120,15 +8116,7 @@ - fi # COMPILE_ENVIRONMENT - - if test "$USE_FC_FREETYPE"; then -- if test "$COMPILE_ENVIRONMENT"; then -- _SAVE_CPPFLAGS="$CPPFLAGS" -- CPPFLAGS="$CPPFLAGS $FT2_CFLAGS" -- AC_CHECK_HEADERS(fontconfig/fcfreetype.h, , -- [AC_MSG_ERROR(Can't find header fontconfig/fcfreetype.h.)]) -- CPPFLAGS="$_SAVE_CPPFLAGS" -- else - AC_DEFINE(HAVE_FONTCONFIG_FCFREETYPE_H) -- fi - fi - - dnl Set various defines and substitutions diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/buildfixhack.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/buildfixhack.patch deleted file mode 100644 index 31fc40f28b..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/buildfixhack.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -r ad8be5166ccd layout/generic/nsFrame.h ---- a/layout/generic/nsFrame.h Tue Nov 17 19:24:56 2009 +0000 -+++ b/layout/generic/nsFrame.h Thu Nov 19 12:33:38 2009 +0000 -@@ -151,7 +151,7 @@ - // Left undefined; nsFrame objects are never allocated from the heap. - void* operator new(size_t sz) CPP_THROW_NEW; - --protected: -+public: - // Overridden to prevent the global delete from being called, since - // the memory came out of an arena instead of the heap. - // - - diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix-1a622cb7c384.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix-1a622cb7c384.patch deleted file mode 100644 index d31f91a42d..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix-1a622cb7c384.patch +++ /dev/null @@ -1,764 +0,0 @@ -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/configure.in 2009-06-12 14:15:55.000000000 +0100 -@@ -62,7 +62,6 @@ - - AC_PREREQ(2.13) - AC_INIT(config/config.mk) --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CANONICAL_SYSTEM - TARGET_CPU="${target_cpu}" - TARGET_VENDOR="${target_vendor}" -@@ -103,7 +102,6 @@ - _SUBDIR_HOST_CFLAGS="$HOST_CFLAGS" - _SUBDIR_HOST_CXXFLAGS="$HOST_CXXFLAGS" - _SUBDIR_HOST_LDFLAGS="$HOST_LDFLAGS" --_SUBDIR_CONFIG_ARGS="$ac_configure_args" - - dnl Set the version number of the libs included with mozilla - dnl ======================================================== -@@ -135,6 +133,9 @@ - - MSMANIFEST_TOOL= - -+ac_cv_have_usable_wchar_v2=no -+ac_cv_have_usable_wchar_option_v2=no -+ - dnl Set various checks - dnl ======================================================== - MISSING_X= -@@ -285,7 +286,7 @@ - ;; - esac - --if test -n "$CROSS_COMPILE" && test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - cross_compiling=yes - -@@ -323,7 +324,7 @@ - - AC_MSG_CHECKING([whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CC cannot create executables.]) ) - - CC="$HOST_CXX" -@@ -331,7 +332,7 @@ - - AC_MSG_CHECKING([whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcxx_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcxx_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CXX cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -352,7 +353,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", :) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - AC_CHECK_PROGS(CXX, $CXX "${target_alias}-g++" "${target}-g++", :) -@@ -376,37 +377,6 @@ - AC_CHECK_PROGS(STRIP, $STRIP "${target_alias}-strip" "${target}-strip", :) - AC_CHECK_PROGS(WINDRES, $WINDRES "${target_alias}-windres" "${target}-windres", :) - AC_DEFINE(CROSS_COMPILE) --else -- AC_PROG_CC -- AC_PROG_CXX -- AC_PROG_RANLIB -- MOZ_PATH_PROGS(AS, $AS as, $CC) -- AC_CHECK_PROGS(AR, ar, :) -- AC_CHECK_PROGS(LD, ld, :) -- AC_CHECK_PROGS(STRIP, strip, :) -- AC_CHECK_PROGS(WINDRES, windres, :) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi -- if test -z "$HOST_CXX"; then -- HOST_CXX="$CXX" -- fi -- if test -z "$HOST_CXXFLAGS"; then -- HOST_CXXFLAGS="$CXXFLAGS" -- fi -- if test -z "$HOST_LDFLAGS"; then -- HOST_LDFLAGS="$LDFLAGS" -- fi -- if test -z "$HOST_RANLIB"; then -- HOST_RANLIB="$RANLIB" -- fi -- if test -z "$HOST_AR"; then -- HOST_AR="$AR" -- fi --fi - - GNU_AS= - GNU_LD= -@@ -1606,6 +1576,7 @@ - ' - - dnl test that the macros actually work: -+ac_cv_static_assertion_macros_work="yes" - AC_MSG_CHECKING(that static assertion macros used in autoconf tests work) - AC_CACHE_VAL(ac_cv_static_assertion_macros_work, - [AC_LANG_SAVE -@@ -2767,9 +2738,13 @@ - AC_LANG_C - AC_HEADER_STDC - AC_C_CONST -+ac_cv_type_mode_t=yes - AC_TYPE_MODE_T -+ac_cv_type_off_t=yes - AC_TYPE_OFF_T -+ac_cv_type_pid_t=yes - AC_TYPE_PID_T -+ac_cv_type_size_t=yes - AC_TYPE_SIZE_T - AC_STRUCT_ST_BLKSIZE - AC_MSG_CHECKING(for siginfo_t) -@@ -3152,19 +3127,9 @@ - dnl We don't want to link against libm or libpthread on Darwin since - dnl they both are just symlinks to libSystem and explicitly linking - dnl against libSystem causes issues when debugging (see bug 299601). --case $target in --*-darwin*) -- ;; --*-beos*) -- ;; --*) - AC_CHECK_LIB(m, atan) - AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- LIBS="-ldl $LIBS" -- AC_DEFINE(HAVE_LIBDL))) -- ;; --esac -+ AC_DEFINE(HAVE_LIBDL)) - - _SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -D_GNU_SOURCE" -@@ -7007,18 +6972,13 @@ - - # Demangle only for debug or trace-malloc builds - MOZ_DEMANGLE_SYMBOLS= --if test "$HAVE_DEMANGLE" -a "$HAVE_GCC3_ABI" && test "$MOZ_DEBUG" -o "$NS_TRACE_MALLOC"; then -- MOZ_DEMANGLE_SYMBOLS=1 -- AC_DEFINE(MOZ_DEMANGLE_SYMBOLS) --fi -+ - AC_SUBST(MOZ_DEMANGLE_SYMBOLS) - - dnl ======================================================== - dnl = Support for gcc stack unwinding (from gcc 3.3) - dnl ======================================================== --if test "$HAVE_GCC3_ABI" && test -z "$SKIP_LIBRARY_CHECKS"; then -- AC_CHECK_HEADER(unwind.h, AC_CHECK_FUNCS(_Unwind_Backtrace)) --fi -+ - - dnl ======================================================== - dnl = -@@ -7530,10 +7490,7 @@ - dnl if no gtk/libIDL1 or gtk2/libIDL2 combination was found, fall back - dnl to either libIDL1 or libIDL2. - if test -z "$_LIBIDL_FOUND"; then -- AM_PATH_LIBIDL($LIBIDL_VERSION,_LIBIDL_FOUND=1) -- if test -z "$_LIBIDL_FOUND"; then - PKG_CHECK_MODULES(LIBIDL, libIDL-2.0 >= 0.8.0,_LIBIDL_FOUND=1) -- fi - fi - dnl - dnl If we don't have a libIDL config program & not cross-compiling, -@@ -7605,13 +7562,7 @@ - fi - - if test -z "$SKIP_PATH_CHECKS"; then --if test -z "${GLIB_CFLAGS}" || test -z "${GLIB_LIBS}" ; then -- if test "$MOZ_ENABLE_GTK2" || test "$USE_ELF_DYNSTR_GC" || test "$MOZ_ENABLE_HEADLESS"; then - PKG_CHECK_MODULES(GLIB, glib-2.0 >= 1.3.7 gobject-2.0) -- else -- AM_PATH_GLIB(${GLIB_VERSION}) -- fi --fi - fi - - if test -z "${GLIB_GMODULE_LIBS}" -a -n "${GLIB_CONFIG}"; then -@@ -8457,10 +8408,7 @@ - HAVE_WCRTOMB - " - --AC_CONFIG_HEADER( --netwerk/necko-config.h --xpcom/xpcom-config.h --xpcom/xpcom-private.h -+AC_CONFIG_HEADER(netwerk/necko-config.h xpcom/xpcom-config.h xpcom/xpcom-private.h - ) - - # Save the defines header file before autoconf removes it. -@@ -8519,31 +8467,11 @@ - dnl To add new Makefiles, edit allmakefiles.sh. - dnl allmakefiles.sh sets the variable, MAKEFILES. - . ${srcdir}/allmakefiles.sh --dnl --dnl Run a perl script to quickly create the makefiles. --dnl If it succeeds, it outputs a shell command to set CONFIG_FILES --dnl for the files it cannot handle correctly. This way, config.status --dnl will handle these files. --dnl If it fails, nothing is set and config.status will run as usual. --dnl --dnl This does not change the $MAKEFILES variable. --dnl --dnl OpenVMS gets a line overflow on the long eval command, so use a temp file. --dnl --if test -z "${AS_PERL}"; then --echo $MAKEFILES | ${PERL} $srcdir/build/autoconf/acoutput-fast.pl > conftest.sh --else --echo $MAKEFILES | ${PERL} $srcdir/build/autoconf/acoutput-fast.pl -nowrap --cygwin-srcdir=$srcdir > conftest.sh --fi --. ./conftest.sh --rm conftest.sh - - echo $MAKEFILES > unallmakefiles - - mv -f config/autoconf.mk config/autoconf.mk.orig 2> /dev/null - --AC_OUTPUT($MAKEFILES) -- - dnl Prevent the regeneration of cairo-features.h forcing rebuilds of gfx stuff - if test "$CAIRO_FEATURES_H"; then - if cmp -s $CAIRO_FEATURES_H "$CAIRO_FEATURES_H".orig; then -@@ -8569,14 +8497,14 @@ - HOST_LDFLAGS="$_SUBDIR_HOST_LDFLAGS" - RC= - --unset MAKEFILES --unset CONFIG_FILES -+#unset MAKEFILES -+#unset CONFIG_FILES - - # No need to run subconfigures when building with LIBXUL_SDK_DIR - if test "$COMPILE_ENVIRONMENT" -a -z "$LIBXUL_SDK_DIR"; then - - if test -z "$MOZ_NATIVE_NSPR"; then -- ac_configure_args="$_SUBDIR_CONFIG_ARGS --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla" -+ ac_configure_args="$ac_configure_args --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla" - if test -z "$MOZ_DEBUG"; then - ac_configure_args="$ac_configure_args --disable-debug" - fi -@@ -8592,8 +8520,7 @@ - if test -n "$USE_ARM_KUSER"; then - ac_configure_args="$ac_configure_args --with-arm-kuser" - fi -- AC_OUTPUT_SUBDIRS(nsprpub) -- ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+ AC_CONFIG_SUBDIRS(nsprpub) - fi - - if test -z "$MOZ_NATIVE_NSPR"; then -@@ -8610,7 +8537,6 @@ - - # Run the SpiderMonkey 'configure' script. - dist=$MOZ_BUILD_ROOT/dist --ac_configure_args="$_SUBDIR_CONFIG_ARGS" - ac_configure_args="$ac_configure_args --enable-threadsafe" - if test -z "$MOZ_NATIVE_NSPR"; then - ac_configure_args="$ac_configure_args --with-nspr-cflags='$NSPR_CFLAGS'" -@@ -8627,11 +8553,14 @@ - export MOZ_MEMORY_LDFLAGS - fi - fi --AC_OUTPUT_SUBDIRS(js/src) --ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+AC_CONFIG_SUBDIRS(js/src) - - fi # COMPILE_ENVIRONMENT && !LIBXUL_SDK_DIR - -+m4_pattern_allow(AS_BIN) -+ -+AC_OUTPUT($MAKEFILES) -+ - dnl Prevent the regeneration of autoconf.mk forcing rebuilds of the world - dnl Needs to be at the end to respect possible changes from NSPR configure - if cmp -s config/autoconf.mk config/autoconf.mk.orig; then -Index: offscreen/js/src/configure.in -=================================================================== ---- offscreen.orig/js/src/configure.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/configure.in 2009-06-12 14:15:55.000000000 +0100 -@@ -62,7 +62,6 @@ - - AC_PREREQ(2.13) - AC_INIT(jsapi.h) --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CONFIG_HEADER(js-config.h) - AC_CANONICAL_SYSTEM - TARGET_CPU="${target_cpu}" -@@ -101,6 +100,9 @@ - _SUBDIR_HOST_LDFLAGS="$HOST_LDFLAGS" - _SUBDIR_CONFIG_ARGS="$ac_configure_args" - -+ac_cv_have_usable_wchar_v2=no -+ac_cv_have_usable_wchar_option_v2=no -+ - dnl Set the version number of the libs included with mozilla - dnl ======================================================== - NSPR_VERSION=4 -@@ -113,6 +115,8 @@ - - MSMANIFEST_TOOL= - -+m4_pattern_allow(AS_BIN) -+ - dnl Set various checks - dnl ======================================================== - MISSING_X= -@@ -198,7 +202,7 @@ - - if test "$COMPILE_ENVIRONMENT"; then - --if test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - - _SAVE_CC="$CC" -@@ -235,7 +239,7 @@ - - AC_MSG_CHECKING([whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CC cannot create executables.]) ) - - CC="$HOST_CXX" -@@ -243,7 +247,7 @@ - - AC_MSG_CHECKING([whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcxx_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcxx_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CXX cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -298,7 +302,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", :) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - AC_CHECK_PROGS(CXX, $CXX "${target_alias}-g++" "${target}-g++", :) -@@ -328,37 +332,6 @@ - dnl able to run ppc code in a translated environment, making a cross - dnl compiler appear native. So we override that here. - cross_compiling=yes --else -- AC_PROG_CC -- AC_PROG_CXX -- AC_PROG_RANLIB -- MOZ_PATH_PROGS(AS, $AS as, $CC) -- AC_CHECK_PROGS(AR, ar, :) -- AC_CHECK_PROGS(LD, ld, :) -- AC_CHECK_PROGS(STRIP, strip, :) -- AC_CHECK_PROGS(WINDRES, windres, :) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi -- if test -z "$HOST_CXX"; then -- HOST_CXX="$CXX" -- fi -- if test -z "$HOST_CXXFLAGS"; then -- HOST_CXXFLAGS="$CXXFLAGS" -- fi -- if test -z "$HOST_LDFLAGS"; then -- HOST_LDFLAGS="$LDFLAGS" -- fi -- if test -z "$HOST_RANLIB"; then -- HOST_RANLIB="$RANLIB" -- fi -- if test -z "$HOST_AR"; then -- HOST_AR="$AR" -- fi --fi - - GNU_AS= - GNU_LD= -@@ -1424,6 +1397,8 @@ - fi # GNU_CC - fi # COMPILE_ENVIRONMENT - -+ac_cv_static_assertion_macros_work=yes -+ - dnl ================================================================= - dnl Set up and test static assertion macros used to avoid AC_TRY_RUN, - dnl which is bad when cross compiling. -@@ -2579,9 +2554,13 @@ - AC_LANG_C - AC_HEADER_STDC - AC_C_CONST -+ac_cv_type_mode_t=yes - AC_TYPE_MODE_T -+ac_cv_type_off_t=yes - AC_TYPE_OFF_T -+ac_cv_type_pid_t=yes - AC_TYPE_PID_T -+ac_cv_type_size_t=yes - AC_TYPE_SIZE_T - AC_STRUCT_ST_BLKSIZE - AC_MSG_CHECKING(for siginfo_t) -@@ -2606,7 +2585,8 @@ - - AC_CHECK_HEADER(stdint.h) - if test "$ac_cv_header_stdint_h" = yes; then -- AC_DEFINE(JS_HAVE_STDINT_H) -+ AC_DEFINE(JS_HAVE_STDINT_H, 1, [have stdint.h]) -+ AC_DEFINE(HAVE_STDINT_H) - else - dnl We'll figure them out for ourselves. List more likely types - dnl earlier. If we ever really encounter a size for which none of -@@ -3004,10 +2984,7 @@ - ;; - *) - AC_CHECK_LIB(m, atan) -- AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- LIBS="-ldl $LIBS" -- AC_DEFINE(HAVE_LIBDL))) -+ AC_CHECK_LIB(dl, dlopen, AC_DEFINE(HAVE_LIBDL)) - ;; - esac - -@@ -3903,6 +3880,7 @@ - [ --with-nspr-libs=LIBS Pass LIBS to LD when linking code that uses NSPR. - See --with-nspr-cflags for more details.], - NSPR_LIBS=$withval) -+$NSPR_LIBS="$NSPR_LIBS -L$(LIBXUL_DIST)/sdk/lib" - AC_SUBST(NSPR_CFLAGS) - AC_SUBST(NSPR_LIBS) - -@@ -4512,18 +4490,11 @@ - - # Demangle only for debug or trace-malloc builds - MOZ_DEMANGLE_SYMBOLS= --if test "$HAVE_DEMANGLE" -a "$HAVE_GCC3_ABI" && test "$MOZ_DEBUG" -o "$NS_TRACE_MALLOC"; then -- MOZ_DEMANGLE_SYMBOLS=1 -- AC_DEFINE(MOZ_DEMANGLE_SYMBOLS) --fi - AC_SUBST(MOZ_DEMANGLE_SYMBOLS) - - dnl ======================================================== - dnl = Support for gcc stack unwinding (from gcc 3.3) - dnl ======================================================== --if test "$HAVE_GCC3_ABI" && test -z "$SKIP_LIBRARY_CHECKS"; then -- AC_CHECK_HEADER(unwind.h, AC_CHECK_FUNCS(_Unwind_Backtrace)) --fi - - dnl ======================================================== - dnl = -@@ -5231,6 +5202,8 @@ - done - AC_SUBST(LIBS_PATH) - -+ -+ - dnl ======================================================== - dnl JavaScript shell - dnl ======================================================== -@@ -5371,3 +5344,4 @@ - # 'js-config' in Makefile.in. - AC_MSG_RESULT(invoking make to create js-config script) - $MAKE js-config -+ -Index: offscreen/nsprpub/configure.in -=================================================================== ---- offscreen.orig/nsprpub/configure.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/nsprpub/configure.in 2009-06-12 14:15:55.000000000 +0100 -@@ -42,7 +42,6 @@ - AC_PREREQ(2.12) - AC_INIT(config/libc_r.h) - --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CANONICAL_SYSTEM - - dnl ======================================================== -@@ -396,7 +395,7 @@ - dnl ======================================================== - dnl Checks for compilers. - dnl ======================================================== --if test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - cross_compiling=yes - -@@ -423,7 +422,7 @@ - - AC_MSG_CHECKING([whether the $host compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_host_cc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_host_cc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: $host compiler $HOST_CC cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -444,7 +443,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", echo) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - if test -n "$USE_CPLUS"; then -@@ -470,30 +469,6 @@ - AC_CHECK_PROGS(STRIP, $STRIP "${target_alias}-strip" "${target}-strip", echo) - AC_CHECK_PROGS(WINDRES, $WINDRES "${target_alias}-windres" "${target}-windres", echo) - --else -- AC_PROG_CC -- if test -n "$USE_CPLUS"; then -- if test "$CC" = "cl" -a -z "$CXX"; then -- CXX=$CC -- else -- AC_PROG_CXX -- fi -- fi -- AC_PROG_CPP -- AC_PROG_RANLIB -- AC_PATH_PROGS(AS, as, $CC) -- AC_PATH_PROGS(AR, ar, echo not_ar) -- AC_PATH_PROGS(LD, ld link, echo not_ld) -- AC_PATH_PROGS(STRIP, strip, echo not_strip) -- AC_PATH_PROGS(WINDRES, windres, echo not_windres) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi --fi -- - if test "$GCC" = "yes"; then - GNU_CC=1 - fi -@@ -514,11 +489,8 @@ - ;; - esac - --if test "$cross_compiling" = "yes"; then -+ - CROSS_COMPILE=1 --else -- CROSS_COMPILE= --fi - - dnl ======================================================== - dnl Check for gcc -pipe support -@@ -2283,10 +2255,7 @@ - *-darwin*|*-beos*) - ;; - *) -- AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- OS_LIBS="-ldl $OS_LIBS")) -- ;; -+ AC_CHECK_LIB(dl, dlopen) - esac - - -@@ -2904,6 +2873,8 @@ - dnl pr/tests/w16gui/Makefile - dnl tools/Makefile - -+m4_pattern_allow(AS_BIN) -+ - if test -z "$USE_PTHREADS" && test -z "$USE_BTHREADS"; then - MAKEFILES="$MAKEFILES pr/src/threads/combined/Makefile" - elif test -n "$USE_PTHREADS"; then -@@ -2919,3 +2890,5 @@ - echo $MAKEFILES > unallmakefiles - - AC_OUTPUT([$MAKEFILES], [chmod +x config/nspr-config]) -+ -+ -Index: offscreen/js/src/Makefile.in -=================================================================== ---- offscreen.orig/js/src/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -514,20 +514,8 @@ - - export:: jsautocfg.h - --ifeq (,$(CROSS_COMPILE)$(GNU_CC)$(filter-out WINNT,$(OS_ARCH))) - jsautocfg.h: - touch $@ --else --ifeq ($(OS_ARCH),WINCE) --jsautocfg.h: -- touch $@ --else --jsautocfg.h: jscpucfg$(HOST_BIN_SUFFIX) -- @rm -f $@ jsautocfg.tmp -- ./jscpucfg > jsautocfg.tmp -- mv jsautocfg.tmp $@ --endif --endif - - # jscpucfg is a strange target - # Needs to be built with the host compiler but needs to include -@@ -557,7 +545,7 @@ - echo no need to build jscpucfg $< - else - jscpucfg$(HOST_BIN_SUFFIX): jscpucfg.cpp Makefile.in -- $(HOST_CXX) $(HOST_CXXFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) $(NSPR_CFLAGS) $(HOST_OUTOPTION)$@ $< -+ $(HOST_CXX) $(HOST_CXXFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) -I$(DIST)/sdk/include $(NSPR_CFLAGS) $(HOST_OUTOPTION)$@ $< - endif - endif - -Index: offscreen/js/src/xpconnect/loader/mozJSComponentLoader.cpp -=================================================================== ---- offscreen.orig/js/src/xpconnect/loader/mozJSComponentLoader.cpp 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/xpconnect/loader/mozJSComponentLoader.cpp 2009-06-12 14:15:55.000000000 +0100 -@@ -47,6 +47,8 @@ - - #include - -+#include "mozilla-config.h" -+ - #include "prlog.h" - - #include "nsCOMPtr.h" -Index: offscreen/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp -=================================================================== ---- offscreen.orig/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp 2009-06-12 14:15:55.000000000 +0100 -@@ -39,6 +39,8 @@ - * - * ***** END LICENSE BLOCK ***** */ - -+#include "mozilla-config.h" -+ - #if !defined(XPCONNECT_STANDALONE) && !defined(NO_SUBSCRIPT_LOADER) - - #include "mozJSSubScriptLoader.h" -Index: offscreen/modules/lcms/include/icc34.h -=================================================================== ---- offscreen.orig/modules/lcms/include/icc34.h 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/modules/lcms/include/icc34.h 2009-06-12 14:15:55.000000000 +0100 -@@ -144,7 +144,7 @@ - */ - - --#ifdef PACKAGE_NAME -+#if 0 - /* - June 9, 2003, Adapted for use with configure by Bob Friesenhahn - Added the stupid check for autoconf by Marti Maria. -Index: offscreen/toolkit/mozapps/update/src/updater/Makefile.in -=================================================================== ---- offscreen.orig/toolkit/mozapps/update/src/updater/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/toolkit/mozapps/update/src/updater/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -60,7 +60,7 @@ - - LIBS += \ - $(DEPTH)/modules/libmar/src/$(LIB_PREFIX)mar.$(LIB_SUFFIX) \ -- $(BZ2_LIBS) \ -+ $(BZ2_LIBS) -lpthread \ - $(NULL) - - ifeq ($(OS_ARCH),WINNT) -Index: offscreen/xpcom/sample/program/Makefile.in -=================================================================== ---- offscreen.orig/xpcom/sample/program/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/xpcom/sample/program/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -57,7 +57,7 @@ - # that the application be linked against the XPCOM dynamic library or the NSPR - # dynamic libraries. - LIBS = \ -- $(XPCOM_STANDALONE_GLUE_LDOPTS) \ -+ $(XPCOM_STANDALONE_GLUE_LDOPTS) -ldl \ - $(NULL) - - # Need to link with CoreFoundation on Mac -Index: offscreen/xpcom/tools/registry/Makefile.in -=================================================================== ---- offscreen.orig/xpcom/tools/registry/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/xpcom/tools/registry/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -54,7 +54,7 @@ - SIMPLE_PROGRAMS = $(CPPSRCS:.cpp=$(BIN_SUFFIX)) - - LIBS = \ -- $(XPCOM_STANDALONE_GLUE_LDOPTS) \ -+ $(XPCOM_STANDALONE_GLUE_LDOPTS) -ldl \ - $(NULL) - - # Need to link with CoreFoundation on Mac -Index: offscreen/xulrunner/app/Makefile.in -=================================================================== ---- offscreen.orig/xulrunner/app/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/xulrunner/app/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -184,7 +184,7 @@ - RCFLAGS += -DXULRUNNER_ICO=\"$(DIST)/branding/xulrunner.ico\" -DDOCUMENT_ICO=\"$(DIST)/branding/document.ico\" - endif - --LIBS += $(JEMALLOC_LIBS) -+LIBS += $(JEMALLOC_LIBS) -lpthread -ldl - - include $(topsrcdir)/config/rules.mk - -Index: offscreen/xulrunner/stub/Makefile.in -=================================================================== ---- offscreen.orig/xulrunner/stub/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/xulrunner/stub/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -101,7 +101,7 @@ - endif - endif - --LIBS += $(JEMALLOC_LIBS) -+LIBS += $(JEMALLOC_LIBS) -lpthread -ldl - - include $(topsrcdir)/config/rules.mk - -Index: offscreen/modules/plugin/test/testplugin/Makefile.in -=================================================================== ---- offscreen.orig/modules/plugin/test/testplugin/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/modules/plugin/test/testplugin/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -63,9 +63,7 @@ - CMMSRCS = nptest_macosx.mm - endif - --ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2) - CPPSRCS += nptest_gtk2.cpp --endif - - ifeq ($(MOZ_WIDGET_TOOLKIT),os2) - CPPSRCS += nptest_os2.cpp -Index: offscreen/js/src/aclocal.m4 -=================================================================== ---- offscreen.orig/js/src/aclocal.m4 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/aclocal.m4 2009-06-12 14:15:55.000000000 +0100 -@@ -9,4 +9,3 @@ - builtin(include, build/autoconf/moznbytetype.m4)dnl - builtin(include, build/autoconf/mozprog.m4)dnl - --MOZ_PROG_CHECKMSYS() -Index: offscreen/toolkit/toolkit-makefiles.sh -=================================================================== ---- offscreen.orig/toolkit/toolkit-makefiles.sh 2009-06-12 14:19:59.000000000 +0100 -+++ offscreen/toolkit/toolkit-makefiles.sh 2009-06-12 14:20:09.000000000 +0100 -@@ -342,7 +342,6 @@ - modules/plugin/sdk/samples/Makefile - modules/plugin/sdk/samples/common/Makefile - modules/plugin/sdk/samples/basic/windows/Makefile -- modules/plugin/sdk/samples/basic/unix/Makefile - modules/plugin/sdk/samples/winless/windows/Makefile - " - diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix.patch deleted file mode 100644 index 7ee1211f1a..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/configurefix.patch +++ /dev/null @@ -1,774 +0,0 @@ -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/configure.in 2009-12-09 13:38:51.000000000 +0000 -@@ -64,7 +64,6 @@ - - AC_PREREQ(2.13) - AC_INIT(config/config.mk) --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CANONICAL_SYSTEM - TARGET_CPU="${target_cpu}" - TARGET_VENDOR="${target_vendor}" -@@ -106,7 +105,6 @@ - _SUBDIR_HOST_CFLAGS="$HOST_CFLAGS" - _SUBDIR_HOST_CXXFLAGS="$HOST_CXXFLAGS" - _SUBDIR_HOST_LDFLAGS="$HOST_LDFLAGS" --_SUBDIR_CONFIG_ARGS="$ac_configure_args" - - dnl Set the version number of the libs included with mozilla - dnl ======================================================== -@@ -139,6 +137,9 @@ - - MSMANIFEST_TOOL= - -+ac_cv_have_usable_wchar_v2=no -+ac_cv_have_usable_wchar_option_v2=no -+ - dnl Set various checks - dnl ======================================================== - MISSING_X= -@@ -308,7 +309,7 @@ - ;; - esac - --if test -n "$CROSS_COMPILE" && test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - cross_compiling=yes - -@@ -346,7 +347,7 @@ - - AC_MSG_CHECKING([whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CC cannot create executables.]) ) - - CC="$HOST_CXX" -@@ -354,7 +355,7 @@ - - AC_MSG_CHECKING([whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcxx_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcxx_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CXX cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -375,7 +376,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", :) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - AC_CHECK_PROGS(CXX, $CXX "${target_alias}-g++" "${target}-g++", :) -@@ -399,37 +400,6 @@ - AC_CHECK_PROGS(STRIP, $STRIP "${target_alias}-strip" "${target}-strip", :) - AC_CHECK_PROGS(WINDRES, $WINDRES "${target_alias}-windres" "${target}-windres", :) - AC_DEFINE(CROSS_COMPILE) --else -- AC_PROG_CC -- AC_PROG_CXX -- AC_PROG_RANLIB -- MOZ_PATH_PROGS(AS, $AS as, $CC) -- AC_CHECK_PROGS(AR, ar, :) -- AC_CHECK_PROGS(LD, ld, :) -- AC_CHECK_PROGS(STRIP, strip, :) -- AC_CHECK_PROGS(WINDRES, windres, :) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi -- if test -z "$HOST_CXX"; then -- HOST_CXX="$CXX" -- fi -- if test -z "$HOST_CXXFLAGS"; then -- HOST_CXXFLAGS="$CXXFLAGS" -- fi -- if test -z "$HOST_LDFLAGS"; then -- HOST_LDFLAGS="$LDFLAGS" -- fi -- if test -z "$HOST_RANLIB"; then -- HOST_RANLIB="$RANLIB" -- fi -- if test -z "$HOST_AR"; then -- HOST_AR="$AR" -- fi --fi - - GNU_AS= - GNU_LD= -@@ -1586,6 +1556,7 @@ - ' - - dnl test that the macros actually work: -+ac_cv_static_assertion_macros_work="yes" - AC_MSG_CHECKING(that static assertion macros used in autoconf tests work) - AC_CACHE_VAL(ac_cv_static_assertion_macros_work, - [AC_LANG_SAVE -@@ -2770,9 +2741,13 @@ - AC_LANG_C - AC_HEADER_STDC - AC_C_CONST -+ac_cv_type_mode_t=yes - AC_TYPE_MODE_T -+ac_cv_type_off_t=yes - AC_TYPE_OFF_T -+ac_cv_type_pid_t=yes - AC_TYPE_PID_T -+ac_cv_type_size_t=yes - AC_TYPE_SIZE_T - AC_STRUCT_ST_BLKSIZE - AC_MSG_CHECKING(for siginfo_t) -@@ -3174,21 +3149,9 @@ - dnl We don't want to link against libm or libpthread on Darwin since - dnl they both are just symlinks to libSystem and explicitly linking - dnl against libSystem causes issues when debugging (see bug 299601). --case $target in --*-darwin*) -- ;; --*-beos*) -- ;; --*-os2*) -- ;; --*) - AC_CHECK_LIB(m, atan) - AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- LIBS="-ldl $LIBS" -- AC_DEFINE(HAVE_LIBDL))) -- ;; --esac -+ AC_DEFINE(HAVE_LIBDL)) - - _SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -D_GNU_SOURCE" -@@ -6889,18 +6852,13 @@ - - # Demangle only for debug or trace-malloc builds - MOZ_DEMANGLE_SYMBOLS= --if test "$HAVE_DEMANGLE" -a "$HAVE_GCC3_ABI" && test "$MOZ_DEBUG" -o "$NS_TRACE_MALLOC"; then -- MOZ_DEMANGLE_SYMBOLS=1 -- AC_DEFINE(MOZ_DEMANGLE_SYMBOLS) --fi -+ - AC_SUBST(MOZ_DEMANGLE_SYMBOLS) - - dnl ======================================================== - dnl = Support for gcc stack unwinding (from gcc 3.3) - dnl ======================================================== --if test "$HAVE_GCC3_ABI" && test -z "$SKIP_LIBRARY_CHECKS"; then -- AC_CHECK_HEADER(unwind.h, AC_CHECK_FUNCS(_Unwind_Backtrace)) --fi -+ - - dnl ======================================================== - dnl = -@@ -7420,10 +7378,7 @@ - dnl if no gtk/libIDL1 or gtk2/libIDL2 combination was found, fall back - dnl to either libIDL1 or libIDL2. - if test -z "$_LIBIDL_FOUND"; then -- AM_PATH_LIBIDL($LIBIDL_VERSION,_LIBIDL_FOUND=1) -- if test -z "$_LIBIDL_FOUND"; then - PKG_CHECK_MODULES(LIBIDL, libIDL-2.0 >= 0.8.0,_LIBIDL_FOUND=1) -- fi - fi - dnl - dnl If we don't have a libIDL config program & not cross-compiling, -@@ -7495,13 +7450,7 @@ - fi - - if test -z "$SKIP_PATH_CHECKS"; then --if test -z "${GLIB_CFLAGS}" || test -z "${GLIB_LIBS}" ; then -- if test "$MOZ_ENABLE_GTK2" || test "$USE_ELF_DYNSTR_GC" || test "$MOZ_ENABLE_HEADLESS"; then - PKG_CHECK_MODULES(GLIB, glib-2.0 >= 1.3.7 gobject-2.0) -- else -- AM_PATH_GLIB(${GLIB_VERSION}) -- fi --fi - fi - - if test -z "${GLIB_GMODULE_LIBS}" -a -n "${GLIB_CONFIG}"; then -@@ -8278,10 +8227,7 @@ - HAVE_WCRTOMB - " - --AC_CONFIG_HEADER( --netwerk/necko-config.h --xpcom/xpcom-config.h --xpcom/xpcom-private.h -+AC_CONFIG_HEADER(netwerk/necko-config.h xpcom/xpcom-config.h xpcom/xpcom-private.h - ) - - # Save the defines header file before autoconf removes it. -@@ -8340,31 +8286,11 @@ - dnl To add new Makefiles, edit allmakefiles.sh. - dnl allmakefiles.sh sets the variable, MAKEFILES. - . ${srcdir}/allmakefiles.sh --dnl --dnl Run a perl script to quickly create the makefiles. --dnl If it succeeds, it outputs a shell command to set CONFIG_FILES --dnl for the files it cannot handle correctly. This way, config.status --dnl will handle these files. --dnl If it fails, nothing is set and config.status will run as usual. --dnl --dnl This does not change the $MAKEFILES variable. --dnl --dnl OpenVMS gets a line overflow on the long eval command, so use a temp file. --dnl --if test -z "${AS_PERL}"; then --echo $MAKEFILES | ${PERL} $srcdir/build/autoconf/acoutput-fast.pl > conftest.sh --else --echo $MAKEFILES | ${PERL} $srcdir/build/autoconf/acoutput-fast.pl -nowrap --cygwin-srcdir=$srcdir > conftest.sh --fi --. ./conftest.sh --rm conftest.sh - - echo $MAKEFILES > unallmakefiles - - mv -f config/autoconf.mk config/autoconf.mk.orig 2> /dev/null - --AC_OUTPUT($MAKEFILES) -- - dnl Prevent the regeneration of cairo-features.h forcing rebuilds of gfx stuff - if test "$CAIRO_FEATURES_H"; then - if cmp -s $CAIRO_FEATURES_H "$CAIRO_FEATURES_H".orig; then -@@ -8390,14 +8316,14 @@ - HOST_LDFLAGS="$_SUBDIR_HOST_LDFLAGS" - RC= - --unset MAKEFILES --unset CONFIG_FILES -+#unset MAKEFILES -+#unset CONFIG_FILES - - # No need to run subconfigures when building with LIBXUL_SDK_DIR - if test "$COMPILE_ENVIRONMENT" -a -z "$LIBXUL_SDK_DIR"; then - - if test -z "$MOZ_NATIVE_NSPR"; then -- ac_configure_args="$_SUBDIR_CONFIG_ARGS --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla" -+ ac_configure_args="$ac_configure_args --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla" - if test -z "$MOZ_DEBUG"; then - ac_configure_args="$ac_configure_args --disable-debug" - fi -@@ -8413,8 +8339,7 @@ - if test -n "$USE_ARM_KUSER"; then - ac_configure_args="$ac_configure_args --with-arm-kuser" - fi -- AC_OUTPUT_SUBDIRS(nsprpub) -- ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+ AC_CONFIG_SUBDIRS(nsprpub) - fi - - if test -z "$MOZ_NATIVE_NSPR"; then -@@ -8431,7 +8356,6 @@ - - # Run the SpiderMonkey 'configure' script. - dist=$MOZ_BUILD_ROOT/dist --ac_configure_args="$_SUBDIR_CONFIG_ARGS" - ac_configure_args="$ac_configure_args --enable-threadsafe" - if test -z "$MOZ_NATIVE_NSPR"; then - ac_configure_args="$ac_configure_args --with-nspr-cflags='$NSPR_CFLAGS'" -@@ -8448,8 +8372,7 @@ - export MOZ_MEMORY_LDFLAGS - fi - fi --AC_OUTPUT_SUBDIRS(js/src) --ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+AC_CONFIG_SUBDIRS(js/src) - - # Build jsctypes on the platforms we can. - if test "$BUILD_CTYPES"; then -@@ -8465,20 +8388,14 @@ - if test -n "$CROSS_COMPILE"; then - ac_configure_args="$ac_configure_args --build=$build --host=$target" - fi -- if test "$SOLARIS_SUNPRO_CC"; then -- # Always use gcc for libffi on Solaris -- old_cache_file=$cache_file -- cache_file=js/ctypes/libffi/config.cache -- ac_configure_args="$ac_configure_args CC=gcc" -- AC_OUTPUT_SUBDIRS(js/ctypes/libffi) -- cache_file=$old_cache_file -- else -- AC_OUTPUT_SUBDIRS(js/ctypes/libffi) -- fi -- ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+ AC_CONFIG_SUBDIRS(js/ctypes/libffi) - fi - fi - -+m4_pattern_allow(AS_BIN) -+ -+AC_OUTPUT($MAKEFILES) -+ - fi # COMPILE_ENVIRONMENT && !LIBXUL_SDK_DIR - - dnl Prevent the regeneration of autoconf.mk forcing rebuilds of the world -Index: offscreen/js/src/configure.in -=================================================================== ---- offscreen.orig/js/src/configure.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/configure.in 2009-12-09 13:38:51.000000000 +0000 -@@ -62,7 +62,6 @@ - - AC_PREREQ(2.13) - AC_INIT(jsapi.h) --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CONFIG_HEADER(js-config.h) - AC_CANONICAL_SYSTEM - TARGET_CPU="${target_cpu}" -@@ -101,6 +100,9 @@ - _SUBDIR_HOST_LDFLAGS="$HOST_LDFLAGS" - _SUBDIR_CONFIG_ARGS="$ac_configure_args" - -+ac_cv_have_usable_wchar_v2=no -+ac_cv_have_usable_wchar_option_v2=no -+ - dnl Set the version number of the libs included with mozilla - dnl ======================================================== - NSPR_VERSION=4 -@@ -113,6 +115,8 @@ - - MSMANIFEST_TOOL= - -+m4_pattern_allow(AS_BIN) -+ - dnl Set various checks - dnl ======================================================== - MISSING_X= -@@ -212,7 +216,7 @@ - - if test "$COMPILE_ENVIRONMENT"; then - --if test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - - _SAVE_CC="$CC" -@@ -249,7 +253,7 @@ - - AC_MSG_CHECKING([whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CC cannot create executables.]) ) - - CC="$HOST_CXX" -@@ -257,7 +261,7 @@ - - AC_MSG_CHECKING([whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcxx_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcxx_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CXX cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -312,7 +316,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", :) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - AC_CHECK_PROGS(CXX, $CXX "${target_alias}-g++" "${target}-g++", :) -@@ -342,37 +346,6 @@ - dnl able to run ppc code in a translated environment, making a cross - dnl compiler appear native. So we override that here. - cross_compiling=yes --else -- AC_PROG_CC -- AC_PROG_CXX -- AC_PROG_RANLIB -- MOZ_PATH_PROGS(AS, $AS as, $CC) -- AC_CHECK_PROGS(AR, ar, :) -- AC_CHECK_PROGS(LD, ld, :) -- AC_CHECK_PROGS(STRIP, strip, :) -- AC_CHECK_PROGS(WINDRES, windres, :) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi -- if test -z "$HOST_CXX"; then -- HOST_CXX="$CXX" -- fi -- if test -z "$HOST_CXXFLAGS"; then -- HOST_CXXFLAGS="$CXXFLAGS" -- fi -- if test -z "$HOST_LDFLAGS"; then -- HOST_LDFLAGS="$LDFLAGS" -- fi -- if test -z "$HOST_RANLIB"; then -- HOST_RANLIB="$RANLIB" -- fi -- if test -z "$HOST_AR"; then -- HOST_AR="$AR" -- fi --fi - - GNU_AS= - GNU_LD= -@@ -1370,6 +1343,8 @@ - fi # GNU_CC - fi # COMPILE_ENVIRONMENT - -+ac_cv_static_assertion_macros_work=yes -+ - dnl ================================================================= - dnl Set up and test static assertion macros used to avoid AC_TRY_RUN, - dnl which is bad when cross compiling. -@@ -2557,9 +2532,13 @@ - AC_LANG_C - AC_HEADER_STDC - AC_C_CONST -+ac_cv_type_mode_t=yes - AC_TYPE_MODE_T -+ac_cv_type_off_t=yes - AC_TYPE_OFF_T -+ac_cv_type_pid_t=yes - AC_TYPE_PID_T -+ac_cv_type_size_t=yes - AC_TYPE_SIZE_T - AC_STRUCT_ST_BLKSIZE - AC_MSG_CHECKING(for siginfo_t) -@@ -2584,7 +2563,8 @@ - - AC_CHECK_HEADER(stdint.h) - if test "$ac_cv_header_stdint_h" = yes; then -- AC_DEFINE(JS_HAVE_STDINT_H) -+ AC_DEFINE(JS_HAVE_STDINT_H, 1, [have stdint.h]) -+ AC_DEFINE(HAVE_STDINT_H) - else - dnl We'll figure them out for ourselves. List more likely types - dnl earlier. If we ever really encounter a size for which none of -@@ -2938,10 +2918,7 @@ - ;; - *) - AC_CHECK_LIB(m, atan) -- AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- LIBS="-ldl $LIBS" -- AC_DEFINE(HAVE_LIBDL))) -+ AC_CHECK_LIB(dl, dlopen, AC_DEFINE(HAVE_LIBDL)) - ;; - esac - -@@ -3847,6 +3824,7 @@ - [ --with-nspr-libs=LIBS Pass LIBS to LD when linking code that uses NSPR. - See --with-nspr-cflags for more details.], - NSPR_LIBS=$withval) -+$NSPR_LIBS="$NSPR_LIBS -L$(LIBXUL_DIST)/sdk/lib" - AC_SUBST(NSPR_CFLAGS) - AC_SUBST(NSPR_LIBS) - -@@ -4386,18 +4364,11 @@ - - # Demangle only for debug or trace-malloc builds - MOZ_DEMANGLE_SYMBOLS= --if test "$HAVE_DEMANGLE" -a "$HAVE_GCC3_ABI" && test "$MOZ_DEBUG" -o "$NS_TRACE_MALLOC"; then -- MOZ_DEMANGLE_SYMBOLS=1 -- AC_DEFINE(MOZ_DEMANGLE_SYMBOLS) --fi - AC_SUBST(MOZ_DEMANGLE_SYMBOLS) - - dnl ======================================================== - dnl = Support for gcc stack unwinding (from gcc 3.3) - dnl ======================================================== --if test "$HAVE_GCC3_ABI" && test -z "$SKIP_LIBRARY_CHECKS"; then -- AC_CHECK_HEADER(unwind.h, AC_CHECK_FUNCS(_Unwind_Backtrace)) --fi - - dnl ======================================================== - dnl = -@@ -5097,6 +5068,8 @@ - - AC_HAVE_FUNCS(setlocale) - -+ -+ - dnl ======================================================== - dnl Use cygwin wrapper for win32 builds, except MSYS/MinGW - dnl ======================================================== -@@ -5234,3 +5207,4 @@ - # 'js-config' in Makefile.in. - AC_MSG_RESULT(invoking make to create js-config script) - $MAKE js-config -+ -Index: offscreen/nsprpub/configure.in -=================================================================== ---- offscreen.orig/nsprpub/configure.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/nsprpub/configure.in 2009-12-09 13:10:12.000000000 +0000 -@@ -42,7 +42,6 @@ - AC_PREREQ(2.12) - AC_INIT(config/libc_r.h) - --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CANONICAL_SYSTEM - - dnl ======================================================== -@@ -396,7 +395,7 @@ - dnl ======================================================== - dnl Checks for compilers. - dnl ======================================================== --if test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - cross_compiling=yes - -@@ -423,7 +422,7 @@ - - AC_MSG_CHECKING([whether the $host compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_host_cc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_host_cc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: $host compiler $HOST_CC cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -444,7 +443,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", echo) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - if test -n "$USE_CPLUS"; then -@@ -470,30 +469,6 @@ - AC_CHECK_PROGS(STRIP, $STRIP "${target_alias}-strip" "${target}-strip", echo) - AC_CHECK_PROGS(WINDRES, $WINDRES "${target_alias}-windres" "${target}-windres", echo) - --else -- AC_PROG_CC -- if test -n "$USE_CPLUS"; then -- if test "$CC" = "cl" -a -z "$CXX"; then -- CXX=$CC -- else -- AC_PROG_CXX -- fi -- fi -- AC_PROG_CPP -- AC_PROG_RANLIB -- AC_PATH_PROGS(AS, as, $CC) -- AC_PATH_PROGS(AR, ar, echo not_ar) -- AC_PATH_PROGS(LD, ld link, echo not_ld) -- AC_PATH_PROGS(STRIP, strip, echo not_strip) -- AC_PATH_PROGS(WINDRES, windres, echo not_windres) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi --fi -- - if test "$GCC" = "yes"; then - GNU_CC=1 - fi -@@ -514,11 +489,8 @@ - ;; - esac - --if test "$cross_compiling" = "yes"; then -+ - CROSS_COMPILE=1 --else -- CROSS_COMPILE= --fi - - dnl ======================================================== - dnl Check for gcc -pipe support -@@ -2286,10 +2258,7 @@ - *-darwin*|*-beos*|*-os2*) - ;; - *) -- AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- OS_LIBS="-ldl $OS_LIBS")) -- ;; -+ AC_CHECK_LIB(dl, dlopen) - esac - - -@@ -2907,6 +2876,8 @@ - dnl pr/tests/w16gui/Makefile - dnl tools/Makefile - -+m4_pattern_allow(AS_BIN) -+ - if test -z "$USE_PTHREADS" && test -z "$USE_BTHREADS"; then - MAKEFILES="$MAKEFILES pr/src/threads/combined/Makefile" - elif test -n "$USE_PTHREADS"; then -@@ -2922,3 +2893,5 @@ - echo $MAKEFILES > unallmakefiles - - AC_OUTPUT([$MAKEFILES], [chmod +x config/nspr-config]) -+ -+ -Index: offscreen/js/src/Makefile.in -=================================================================== ---- offscreen.orig/js/src/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -513,20 +513,8 @@ - - export:: jsautocfg.h - --ifeq (,$(CROSS_COMPILE)$(GNU_CC)$(filter-out WINNT,$(OS_ARCH))) - jsautocfg.h: - touch $@ --else --ifeq ($(OS_ARCH),WINCE) --jsautocfg.h: -- touch $@ --else --jsautocfg.h: jscpucfg$(HOST_BIN_SUFFIX) -- @rm -f $@ jsautocfg.tmp -- ./jscpucfg > jsautocfg.tmp -- mv jsautocfg.tmp $@ --endif --endif - - # jscpucfg is a strange target - # Needs to be built with the host compiler but needs to include -@@ -556,7 +544,7 @@ - echo no need to build jscpucfg $< - else - jscpucfg$(HOST_BIN_SUFFIX): jscpucfg.cpp Makefile.in -- $(HOST_CXX) $(HOST_CXXFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) $(NSPR_CFLAGS) $(HOST_OUTOPTION)$@ $< -+ $(HOST_CXX) $(HOST_CXXFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) -I$(DIST)/sdk/include $(NSPR_CFLAGS) $(HOST_OUTOPTION)$@ $< - endif - endif - -Index: offscreen/js/src/xpconnect/loader/mozJSComponentLoader.cpp -=================================================================== ---- offscreen.orig/js/src/xpconnect/loader/mozJSComponentLoader.cpp 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/xpconnect/loader/mozJSComponentLoader.cpp 2009-12-09 13:10:12.000000000 +0000 -@@ -47,6 +47,8 @@ - - #include - -+#include "mozilla-config.h" -+ - #include "prlog.h" - - #include "nsCOMPtr.h" -Index: offscreen/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp -=================================================================== ---- offscreen.orig/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp 2009-12-09 13:10:12.000000000 +0000 -@@ -39,6 +39,8 @@ - * - * ***** END LICENSE BLOCK ***** */ - -+#include "mozilla-config.h" -+ - #if !defined(XPCONNECT_STANDALONE) && !defined(NO_SUBSCRIPT_LOADER) - - #include "mozJSSubScriptLoader.h" -Index: offscreen/toolkit/mozapps/update/src/updater/Makefile.in -=================================================================== ---- offscreen.orig/toolkit/mozapps/update/src/updater/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/toolkit/mozapps/update/src/updater/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -56,7 +56,7 @@ - - LIBS += \ - $(DEPTH)/modules/libmar/src/$(LIB_PREFIX)mar.$(LIB_SUFFIX) \ -- $(BZ2_LIBS) \ -+ $(BZ2_LIBS) -lpthread \ - $(NULL) - - ifeq ($(OS_ARCH),WINNT) -Index: offscreen/xpcom/sample/program/Makefile.in -=================================================================== ---- offscreen.orig/xpcom/sample/program/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/xpcom/sample/program/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -57,7 +57,7 @@ - # that the application be linked against the XPCOM dynamic library or the NSPR - # dynamic libraries. - LIBS = \ -- $(XPCOM_STANDALONE_GLUE_LDOPTS) \ -+ $(XPCOM_STANDALONE_GLUE_LDOPTS) -ldl \ - $(NULL) - - # Need to link with CoreFoundation on Mac -Index: offscreen/xpcom/tools/registry/Makefile.in -=================================================================== ---- offscreen.orig/xpcom/tools/registry/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/xpcom/tools/registry/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -54,7 +54,7 @@ - SIMPLE_PROGRAMS = $(CPPSRCS:.cpp=$(BIN_SUFFIX)) - - LIBS = \ -- $(XPCOM_STANDALONE_GLUE_LDOPTS) \ -+ $(XPCOM_STANDALONE_GLUE_LDOPTS) -ldl \ - $(NULL) - - # Need to link with CoreFoundation on Mac -Index: offscreen/xulrunner/app/Makefile.in -=================================================================== ---- offscreen.orig/xulrunner/app/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/xulrunner/app/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -173,7 +173,7 @@ - RCFLAGS += -DXULRUNNER_ICO=\"$(DIST)/branding/xulrunner.ico\" -DDOCUMENT_ICO=\"$(DIST)/branding/document.ico\" - endif - --LIBS += $(JEMALLOC_LIBS) -+LIBS += $(JEMALLOC_LIBS) -lpthread -ldl - - include $(topsrcdir)/config/rules.mk - -Index: offscreen/xulrunner/stub/Makefile.in -=================================================================== ---- offscreen.orig/xulrunner/stub/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/xulrunner/stub/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -100,7 +100,7 @@ - endif - endif - --LIBS += $(JEMALLOC_LIBS) -+LIBS += $(JEMALLOC_LIBS) -lpthread -ldl - - include $(topsrcdir)/config/rules.mk - -Index: offscreen/modules/plugin/test/testplugin/Makefile.in -=================================================================== ---- offscreen.orig/modules/plugin/test/testplugin/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/modules/plugin/test/testplugin/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -60,9 +60,7 @@ - CMMSRCS = nptest_macosx.mm - endif - --ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2) - CPPSRCS += nptest_gtk2.cpp --endif - - ifeq ($(MOZ_WIDGET_TOOLKIT),os2) - CPPSRCS += nptest_os2.cpp -Index: offscreen/js/src/aclocal.m4 -=================================================================== ---- offscreen.orig/js/src/aclocal.m4 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/aclocal.m4 2009-12-09 13:39:01.000000000 +0000 -@@ -8,6 +8,4 @@ - builtin(include, build/autoconf/altoptions.m4)dnl - builtin(include, build/autoconf/moznbytetype.m4)dnl - builtin(include, build/autoconf/mozprog.m4)dnl --builtin(include, build/autoconf/acwinpaths.m4)dnl - --MOZ_PROG_CHECKMSYS() -Index: offscreen/toolkit/toolkit-makefiles.sh -=================================================================== ---- offscreen.orig/toolkit/toolkit-makefiles.sh 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/toolkit/toolkit-makefiles.sh 2009-12-09 13:10:12.000000000 +0000 -@@ -369,7 +369,6 @@ - modules/plugin/sdk/samples/Makefile - modules/plugin/sdk/samples/common/Makefile - modules/plugin/sdk/samples/basic/windows/Makefile -- modules/plugin/sdk/samples/basic/unix/Makefile - modules/plugin/sdk/samples/winless/windows/Makefile - " - diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/i386/jsautocfg.h b/meta-moblin/packages/mozilla-headless/mozilla-headless/i386/jsautocfg.h deleted file mode 100644 index 94b44f8e14..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/i386/jsautocfg.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef js_cpucfg___ -#define js_cpucfg___ - -/* AUTOMATICALLY GENERATED - DO NOT EDIT */ - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN - - -#define JS_BYTES_PER_WORD 4L -#define JS_BYTES_PER_DOUBLE 8L -#define JS_BITS_PER_WORD_LOG2 5L -#define JS_ALIGN_OF_POINTER 4L - -#define JS_THREADSAFE 1 - -#define JS_STACK_GROWTH_DIRECTION (-1) - -#define JS_HAVE_LONG_LONG - -#endif /* js_cpucfg___ */ diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/i486/jsautocfg.h b/meta-moblin/packages/mozilla-headless/mozilla-headless/i486/jsautocfg.h deleted file mode 100644 index 94b44f8e14..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/i486/jsautocfg.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef js_cpucfg___ -#define js_cpucfg___ - -/* AUTOMATICALLY GENERATED - DO NOT EDIT */ - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN - - -#define JS_BYTES_PER_WORD 4L -#define JS_BYTES_PER_DOUBLE 8L -#define JS_BITS_PER_WORD_LOG2 5L -#define JS_ALIGN_OF_POINTER 4L - -#define JS_THREADSAFE 1 - -#define JS_STACK_GROWTH_DIRECTION (-1) - -#define JS_HAVE_LONG_LONG - -#endif /* js_cpucfg___ */ diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/i586/jsautocfg.h b/meta-moblin/packages/mozilla-headless/mozilla-headless/i586/jsautocfg.h deleted file mode 100644 index 94b44f8e14..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/i586/jsautocfg.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef js_cpucfg___ -#define js_cpucfg___ - -/* AUTOMATICALLY GENERATED - DO NOT EDIT */ - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN - - -#define JS_BYTES_PER_WORD 4L -#define JS_BYTES_PER_DOUBLE 8L -#define JS_BITS_PER_WORD_LOG2 5L -#define JS_ALIGN_OF_POINTER 4L - -#define JS_THREADSAFE 1 - -#define JS_STACK_GROWTH_DIRECTION (-1) - -#define JS_HAVE_LONG_LONG - -#endif /* js_cpucfg___ */ diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/i686/jsautocfg.h b/meta-moblin/packages/mozilla-headless/mozilla-headless/i686/jsautocfg.h deleted file mode 100644 index 94b44f8e14..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/i686/jsautocfg.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef js_cpucfg___ -#define js_cpucfg___ - -/* AUTOMATICALLY GENERATED - DO NOT EDIT */ - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN - - -#define JS_BYTES_PER_WORD 4L -#define JS_BYTES_PER_DOUBLE 8L -#define JS_BITS_PER_WORD_LOG2 5L -#define JS_ALIGN_OF_POINTER 4L - -#define JS_THREADSAFE 1 - -#define JS_STACK_GROWTH_DIRECTION (-1) - -#define JS_HAVE_LONG_LONG - -#endif /* js_cpucfg___ */ diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/mozconfig b/meta-moblin/packages/mozilla-headless/mozilla-headless/mozconfig deleted file mode 100644 index 6123d11d27..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/mozconfig +++ /dev/null @@ -1,23 +0,0 @@ -# this line sets the directory for all build output -mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-headless-release - -# comment out the previous line and uncomment these two for a debug build -#mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-headless-debug -#ac_add_options --disable-optimize --enable-debug - -# this is the line that enables the headless implementation -ac_add_options --enable-default-toolkit=cairo-headless - -# comment out the previous line and uncomment these two for a GTK build -#ac_add_options --enable-system-cairo -#ac_add_options --enable-default-toolkit=cairo-gtk2 - -ac_add_options --disable-tests -ac_add_options --disable-javaxpcom -ac_add_options --enable-application=xulrunner -ac_add_options --enable-pango -ac_add_options --disable-printing -ac_add_options --disable-crashreporter -ac_add_options --enable-plugins -ac_add_options --disable-accessibility -mk_add_options MOZ_CO_PROJECT=xulrunner diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/mozilla-jemalloc.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/mozilla-jemalloc.patch deleted file mode 100644 index aabd6906e8..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/mozilla-jemalloc.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -r f1af606531f5 memory/jemalloc/jemalloc.h ---- a/memory/jemalloc/jemalloc.h Sat Nov 22 20:22:22 2008 +0100 -+++ b/memory/jemalloc/jemalloc.h Mon Dec 01 16:53:06 2008 -0500 -@@ -45,14 +45,14 @@ - } jemalloc_stats_t; - - #ifndef MOZ_MEMORY_DARWIN --void *malloc(size_t size); --void *valloc(size_t size); --void *calloc(size_t num, size_t size); --void *realloc(void *ptr, size_t size); --void free(void *ptr); -+void *malloc(size_t size) __THROW __attribute_malloc__ __wur; -+void *valloc(size_t size) __THROW __attribute_malloc__ __wur; -+void *calloc(size_t num, size_t size) __THROW __attribute_malloc__ __wur; -+void *realloc(void *ptr, size_t size) __THROW __attribute_malloc__ __wur; -+void free(void *ptr) __THROW __attribute_malloc__ __wur; - #endif - --int posix_memalign(void **memptr, size_t alignment, size_t size); -+int posix_memalign(void **memptr, size_t alignment, size_t size) __THROW __attribute_malloc__ __wur; - void *memalign(size_t alignment, size_t size); - size_t malloc_usable_size(const void *ptr); - void jemalloc_stats(jemalloc_stats_t *stats); diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath-1a622cb7c384.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath-1a622cb7c384.patch deleted file mode 100644 index 9409105780..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath-1a622cb7c384.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: offscreen/js/src/configure.in -=================================================================== ---- offscreen.orig/js/src/configure.in 2009-06-17 14:31:40.000000000 +0100 -+++ offscreen/js/src/configure.in 2009-06-17 14:31:40.000000000 +0100 -@@ -880,7 +880,7 @@ - HOST_AR_FLAGS='$(AR_FLAGS)' - - MOZ_JS_LIBS='-L$(libdir) -lmozjs' --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(PREFIX)/lib' -+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' - - MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)' - MOZ_XPCOM_OBSOLETE_LIBS='-L$(LIBXUL_DIST)/lib -lxpcom_compat' -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2009-06-17 15:09:44.000000000 +0100 -+++ offscreen/configure.in 2009-06-17 15:10:00.000000000 +0100 -@@ -1060,7 +1060,7 @@ - - MOZ_JS_LIBS='-L$(LIBXUL_DIST)/bin -lmozjs' - DYNAMIC_XPCOM_LIBS='-L$(LIBXUL_DIST)/bin -lxpcom -lxpcom_core' --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib' -+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' - XPCOM_FROZEN_LDOPTS='-L$(LIBXUL_DIST)/bin -lxpcom' - LIBXUL_LIBS='$(XPCOM_FROZEN_LDOPTS) -lxul' - XPCOM_GLUE_LDOPTS='$(LIBXUL_DIST)/lib/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) $(XPCOM_FROZEN_LDOPTS)' diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath.patch b/meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath.patch deleted file mode 100644 index 53ae6d3251..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless/removebadrpath.patch +++ /dev/null @@ -1,44 +0,0 @@ -Index: offscreen/js/src/configure.in -=================================================================== ---- offscreen.orig/js/src/configure.in 2009-12-09 13:38:51.000000000 +0000 -+++ offscreen/js/src/configure.in 2009-12-09 14:14:08.000000000 +0000 -@@ -858,7 +858,7 @@ - HOST_AR_FLAGS='$(AR_FLAGS)' - - MOZ_JS_LIBS='-L$(libdir) -lmozjs' --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(PREFIX)/lib' -+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' - - MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)' - -@@ -3824,7 +3824,7 @@ - [ --with-nspr-libs=LIBS Pass LIBS to LD when linking code that uses NSPR. - See --with-nspr-cflags for more details.], - NSPR_LIBS=$withval) --$NSPR_LIBS="$NSPR_LIBS -L$(LIBXUL_DIST)/sdk/lib" -+NSPR_LIBS="$NSPR_LIBS -L$(LIBXUL_DIST)/sdk/lib" - AC_SUBST(NSPR_CFLAGS) - AC_SUBST(NSPR_LIBS) - -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2009-12-09 13:38:51.000000000 +0000 -+++ offscreen/configure.in 2009-12-09 14:31:33.000000000 +0000 -@@ -1041,7 +1041,7 @@ - - MOZ_JS_LIBS='-L$(LIBXUL_DIST)/bin -lmozjs' - DYNAMIC_XPCOM_LIBS='-L$(LIBXUL_DIST)/bin -lxpcom -lxpcom_core' --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib' -+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' - XPCOM_FROZEN_LDOPTS='-L$(LIBXUL_DIST)/bin -lxpcom' - LIBXUL_LIBS='$(XPCOM_FROZEN_LDOPTS) -lxul' - XPCOM_GLUE_LDOPTS='$(LIBXUL_DIST)/lib/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) $(XPCOM_FROZEN_LDOPTS)' -@@ -8378,7 +8378,7 @@ - if test "$BUILD_CTYPES"; then - # Run the libffi 'configure' script on platforms that it supports. - if test -z "$_MSC_VER"; then -- ac_configure_args="--disable-shared --enable-static --disable-raw-api" -+ ac_configure_args="$ac_configure_args --disable-shared --enable-static --disable-raw-api" - if test "$MOZ_DEBUG"; then - ac_configure_args="$ac_configure_args --enable-debug" - fi diff --git a/meta-moblin/packages/mozilla-headless/mozilla-headless_hg.bb b/meta-moblin/packages/mozilla-headless/mozilla-headless_hg.bb deleted file mode 100644 index 669c526163..0000000000 --- a/meta-moblin/packages/mozilla-headless/mozilla-headless_hg.bb +++ /dev/null @@ -1,99 +0,0 @@ - -#file://0001-Adds-initial-Gtk-clipboard-support-to-moz-headless.patch;patch=1 \ -SRC_URI = "hg://hg.mozilla.org/incubator;protocol=http;module=offscreen \ - file://configurefix-1a622cb7c384.patch;patch=1;rev=1a622cb7c384 \ - file://configurefix.patch;patch=1;notrev=1a622cb7c384 \ - file://mozilla-jemalloc.patch;patch=1 \ - file://removebadrpath-1a622cb7c384.patch;patch=1;rev=1a622cb7c384 \ - file://removebadrpath.patch;patch=1;notrev=1a622cb7c384 \ - file://buildfixhack.patch;patch=1;notrev=1a622cb7c384 \ - file://autoconffix.patch;patch=1 \ - file://jsautocfg.h \ - file://mozconfig" -PV = "0.2+hg-1.0+${SRCPV}" -PR = "r10" - -S = "${WORKDIR}/offscreen" - -DEPENDS = "gconf gnome-vfs pango dbus-glib alsa-lib libidl-native sqlite3 libidl" - -FILES_${PN} += "${libdir}/xulrunner-${XULVERSION} ${libdir}/xulrunner-devel-${XULVERSION}/sdk/lib/*.so" -FILES_${PN}-dev += "${libdir}/xulrunner-devel-${XULVERSION}" -FILES_${PN}-dbg += "${libdir}/xulrunner-devel-${XULVERSION}/sdk/lib/.debug" - -# Mozilla's build rules search for -L paths to find libraries. Its -# not clever enough to know where the sysroot is and hence finds host -# object files which is bad. We therefore tell pkg-config not to hide -# paths. See config/rules.mk and the LIBS_DEPS and _LIBDIRS variables. -export PKG_CONFIG_ALLOW_SYSTEM_LIBS = "1" - -TARGET_CC_ARCH = "" - -CFLAGS = "${TARGET_CFLAGS}" -TARGET_CFLAGS = "-Os -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=core2 -msse3 -mtune=generic -mfpmath=sse -fasynchronous-unwind-tables" - -LDFLAGS = "${TARGET_LDFLAGS}" -TARGET_LDFLAGS = "-Wl,-rpath,${libdir}/xulrunner-${XULVERSION}" - -export target_alias=${TARGET_PREFIX} - -inherit autotools mozilla - -acpaths = "-I ${S}/build/autoconf " - -export topsrcdir = "${S}" - -do_configure () { - if [ "${SRCREV}" != "1a622cb7c384" ]; then - rm -rf ${S}/build/autoconf/acwinpaths.m4 - rm -rf ${S}/js/src/build/autoconf/acwinpaths.m4 - rm -rf ${S}/nsprpub/build/autoconf/acwinpaths.m4 - mkdir -p ${S}/js/src/dist/include - ln -fs ../../../../nsprpub/dist/include/nspr ${S}/js/src/dist/include/nsprpub - fi - cp ${S}/build/autoconf/install-sh ${S} - autotools_do_configure - # Yes, we run this twice. The first pass sets up npsrpub-config which then - # sets the values correctly on the second try. Ick. - autotools_do_configure -} - -do_compile () { - cp ${WORKDIR}/jsautocfg.h ${S}/js/src/ - #oe_runmake -f client.mk build_all - base_do_compile -} - -XULVERSION = "1.9.3a1pre" - -do_install_append () { - install -d ${D}${sysconfdir}/ld.so.conf.d/ - echo ${libdir}/xulrunner-${XULVERSION}/ > ${D}${sysconfdir}/ld.so.conf.d/mozilla-headless -} - -EXTRA_OECONF =+ "--enable-application=xulrunner --enable-default-toolkit=cairo-headless --with-pthreads \ - --enable-pango --enable-optimize --disable-debug --disable-tests \ - --disable-printing --disable-crashreporter --disable-accessibility \ - --disable-javaxpcom --enable-plugins --enable-system-sqlite --disable-necko-wifi" - -export LIBXUL_DIST="${S}/dist" - -SYSROOT_PREPROCESS_FUNCS += "mozilla_sysroot_preprocess" - -mozilla_sysroot_preprocess () { - autotools_stage_dir ${D}/${libdir}/xulrunner-${XULVERSION} ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-${XULVERSION}/ - autotools_stage_dir ${D}/${libdir}/xulrunner-devel-${XULVERSION} ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/ - - ln -fs ${STAGING_DIR_HOST}${libdir}/xulrunner-${XULVERSION}/ ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/bin - ln -fs ${STAGING_DIR_HOST}${datadir}/xulrunner-${XULVERSION}/unstable/ ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/idl - ln -fs ${STAGING_DIR_HOST}${includedir}/xulrunner-${XULVERSION}/unstable/ ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/include - ln -fs ${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/sdk/lib/ ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/lib - - install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS} - install -m 755 ${S}/dist/host/bin/host_xpidl ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/xpidl -} - -__anonymous () { - if bb.data.getVar("SRCREV", d, True) == "1a622cb7c384": - bb.data.setVar("XULVERSION", "1.9.2a1pre", d) -} diff --git a/meta-moblin/packages/mutter-moblin/files/88mutter-panelapps.sh b/meta-moblin/packages/mutter-moblin/files/88mutter-panelapps.sh deleted file mode 100644 index 1df0d06481..0000000000 --- a/meta-moblin/packages/mutter-moblin/files/88mutter-panelapps.sh +++ /dev/null @@ -1,3 +0,0 @@ -for APP in /usr/libexec/moblin-panel-*; do - $APP & -done diff --git a/meta-moblin/packages/mutter-moblin/files/background-tile.png b/meta-moblin/packages/mutter-moblin/files/background-tile.png deleted file mode 100644 index b71a55b679c86ea2f46cd4fe2811655cff3e12e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 194031 zcmX6^by(Bi_um*Wa&&hIA|;@tFuF@pBn2rcK~i9&r9(o=As{84Qlk`_r2$y^E$8Bx#z|i>T8gbFp~fP0CFu&)u#Xe{@q_Z3nIL`hp!Ll z&E13Pjhe+9V=t#S0royG0ZNWuFJ5wLdDuI@eEQPfG3fP=m+}C-^E540C6mCvdtGr^ zC2d)J@lhWKGlHtz&N(if&lE3q-%3buFDycXT~sAt=x-Bn#%o48qS5F7#s!` zvn%_LVAYk~N(9i+(o|BpNmpYUORqNF1&}{8RMgSyF+v`ui6-XICQKMH&z9X|WIMYt za}NtL+U&|OicNRRHj%#R!fL!zR;>iVvD46 z9N`=`GervFdH3fWie=x$eIa&}AAD8KRk1lcI__CvX=1~rF8cCJOPwu|U9}z~rM)2hv14)R*ph-lB$ndEl^2Qc%{rF! z%+}ml+|biYffFN8222Fe*626S>dP$1vw;QdTSBFK{H*WBLV#)G5m?cF908^Zd4PwR zG0i7?QCt%~_ua$6(6pOp< zLp{Gf^h{2|%@s(b3Ba>yf30WK03v70!gG78rw+&+PeJ34sgjUzzYI+l8n%aMG9?t;SAB{|1=P*WPf zXjVHE>Iv*Me7Bvb=T#9-9tx8Ed)P5u$GYSvT`WeAYVT=fYxgiY5wX2qW9+aERZcsr zuo1pD@u{{innCbo=!4ut0ZykUx^DUfA0DkA`-FP8AY@cn^JYr*9%BAC^CBE6hJ%^b zUmaHl$L`k&!NHXy1eXDaO)9IA@+Kz3>!sQ+*K}%3zx)ch5kQdGRTDip%_+Rhe9LaT z;ph5F_il0t0IQj3Y#}+ub^=#=x0XxWcxp%Zp0~1hz@~!2F3a2iAg3| zPd1(`u2J!EweU>B$81~V<6R2vvis{P@N?9Ox}hC$&fCSX#fhXj~HMl=WcbK9Tcjg1jwx+|Z6OuG~Z2b+b1 zz?dQp<(j)7zw>*W2;oj~G)$piQQn4=6F@Olz8<+pdLXqw5{ZB7YWY5}yIw|0$H$e< z|LxcL&>it}^VC96mNbH5{H6w-CIHV!K{a3Z>} zof4C4i;pg3JBwVO<|y>8Qt%lmyfbKgnLwJFaO*=z>P-0DT}YIY2eLuxX6!od9Ep_~ z(<=9%Z2|^%p<5Dm;~G;TW=x(e=Lca{qHarS6wx&A!{fntbCQT77E=?_0UZL86ugFO zgM!C*CVxA9+kWR(%nLBqu0sO!@bacrSpfyQzds5y$1oW=9Drh6G|ji&eh6FdA5K$^Vi>M^L`w9|O%@XrCf*>+Y=#Xhm_fBHJ0v zYyrlFH8xBb(;%<@r4@4B+;dsv0#5_QRN8jo^F|Az_h5xB^!+fE@gIFmcC zJ7N__Gy!8+fQ4g?Ps0m(N-1biS|I-)^>mZ0+Ypm6pg7@=Z$QDUkRbd!zp5OVI6V`(OK$OAN=}6P=$}Qu~suS zq=((MMcYJsk7=sfm?NGfLydXH2arT>en`*#^=(eOyeCb#@|AvRZC4hEO2E!%h7{pE ztELY;755Ri`=7ttyu-DRHPc>7Qr;ub9dR-F)*?;%g^y7{hGa+q%y@eMg4q z+<-gh0J?phz)cq8wqme@Js5_C+F3u3`%1U(+@d6Q*cmpW%XB{hqdk?utAOa}L8+4S zaHyl6KltbWXRC9B4@B7*m>#x1ne6$Y9H_30Rw@LQt8gPUzg!{D~q3>v$i@P*IttX zJpXsulrU41RoL?>#{l6M#pJu`UZu7(#69*CumrVJWt^Vkpv^mEzcHO0iM(2Y9YL_o z4DcG>8O#A`lA|dP8I>-h|L9pnW5 zLH&{5pLt7G)^VWtj$svE1=E5E#G49kj=Wo+{~3(3A2$re6|Z1PcbzY(mwZLD*USD@ zDEom!IsYXIJ+q*;mtG9-IRMI56@skHi}?Ie z93Ai&nKk3%=Y_32n7WbM)R8(+Z-~u)K>$YmK=V|#hat>xCRS4DVNg26K1Z9)pMem5 zs(N4Egs_02qlO0l9s#S{<(1(<8+6Is=hEl-LXn#mfo^DjqE;tett+LBlcC%EjDT{r5+;r?XS|08Jmp>s&1$7AM!pK z>iLZBV>#&nxuAV=6D>THyYZ`w#vqY@7rS|^oHiV+zOWc+>1mor4S2#Cy~h<1qFQ$u zb}V@R1$NooK8WPZ_8_ZW?!RRFU==&eOE<^g)vNsW!_&cl@+^2;d|B!jU9IYd!s>6p zse2p0(y#7GYG*cgXc$%>`pMu~KmQ$#eGmM3KO#xtA-XnDu!|J!CCH(RujTOz7GO(N zjxU1F?|**BPOf*=_JDmzZZ9LQ5?Bv`489i!mmpRtyr;&i@**NVgPw`(^75< z2Pk7l3U~|(5wq5EhTxo_GIgBRPb6jnMv&y-!1Yfg-OA2-<|L?G#7#laEpf+9@cK{qSYHBN)L?Z> z*E5slxUn{>Lp=Gvo6c<_udVq3U)L*wxi3jEttz;EsNx=8vjHCF?MTG;&&h&I7aH@) z4J-uh&o{}n?HaBGzY($!RCN!_4JAlWWE2pxt_t*YpEUJpDcdKe52v`BtYT(lpsRu1 ztl=Vfb-8{UhG(>Wq4BapXs;-xLI8#Xh(1iZ8CHUAF)iuQ!Nh0zuAr0eZ4hL4rjcVipjd2t0w^W(@12oJ4PKQnv<3J zB+BcjpPA4>D3{Gu;$J*UXKK-zlN*Rjulg{*TOe<>f@NgcZREN6kJZ8$&TJnZ>v5df z_Gcp7oi8G;XH$;jyRww;#H7#bC;B@3qMj-7mR|R*Gf3_k5!7~C#!=nmZMOJlhNQ8b zx_l@RS!>4!{q)NR?8%Dz|45oa4vO3bqn4j63MMu@ptOg{z71$pIby&6J$($H#5PT_ z==c5~I{9d~uf#7|2_*f%mAjDzXBVN91ZVEIz*(ZXPLk7rLBJ#PCaC?PTR zUS!~eHyJ6sf^?=pt-Y$O$gmL|hrbr)Vcy44cWjjwV_qwRVy8vjsev;uGR%B9wtp4N zBUkPDXCKhv-ZSo8&iwTq`Is`p=TDIl1seEs&$_09vq}i(qd`JQXYSbcF&R4Rmx9Xk zSf&oahUEV#eeWAd>5`$q+5W99W!&AbLm3BY<0yCm49YQmol-sX5#8E8si-MKDa}l- z=}#l5WJJB+?0>0904|SC+3j1#h6nrqpb4RZleS4M=k^+Hb~;~PU3vuSm3B2RG(nM_ z9|ps*$B;jId_a`|Q>dJ_?}ce=`-Rk_Rdc^G*hQR?QuNIvoGlrT7d&JacdQ`HvR zXjuV(%?V8Mu0kDqXSnVF8g0KU*n_F7xzj=8VI>4-hcVd8NUTB3P3?*zleLK^@zW<* zqy2Q_Vdrn`QG{o5Bt%nn%^fhUA;ioopkssh;7|L^KfnwzRFvLm_~E~jHe^L#8$bHc z{mS5rjR6a6M?xKiiBF}H%pH^K^S`pn;Nrp8d-SIyYkhgoUg-zjCeognGVF0s#7($$ z@{6{C#RqWl_wu?iMYcIMKY-k5iHo`y8ZW(9chh~|n{vtAf%vtEFYxjw;B|m%*nc{i zKWXI68O5aV88xO~I~|UGd|ui*H_mRcj16jOzTot5Kh3Nn)AVyIapD`!GYgvJD7g$; zHTx||>8phnbGY1w5iUJj2anNK^*yb|58gIr_$7s+-Nbq$}bPEk|8baAm-B{_?iDa zJ@0Biw@P(`)v6ER522ilN`!2)vXz%qgi|LhQ(?kB zD8hl1aVo1=(gTh{YWMH^T1m9D!~>yA3Tb@!dC@*~y6q?8dV-YOh3^N{Ed#+Xr3oHw z0zA4Gxul_){?^G*2B1rXbfMgd0f*V-LDMP`3g*=hgLKOio_SFbprqSyc$g&F#z#!$ z!}#egJ*lsL1^k8=XaIk3MGEd%#XeSERe24!Ui0%;VK!GqBmg=kRfrfGuH(n_rNKW0 zZt+pLK&ayQPa9MgXm|8ad-;t8r^4-{fQ8n+en#^eiysbGlQWR?_J!hfVw9nXCdHHX>dSE?YibELrFZpHb^3wZ6h~12jOFp({RI z=)(p6JAzDrzSG>X;^VA=sc|6!3lxxy#}6Q8#d#D_mqU1jJ|CcaL_$|kv1CGgc8zU{ zf2>rz1r#RItkQB|O*b`XQ>X!yHEhO7ul>>1xn|!k6fM0~jVpn1Vnby84>lRLHSWry& zcy`KZL~2=5tMoI`w=ub`{MD}^x~4t$Gz1w*?f>>e?@7yBnUfMdCmJ<~$KGtwc1*yO z%4Af)p5Hm52=cf%iQg&VpjLGCcF4dCp^Z;yU+WHk{qtH5MFkK@;U1#wbZ!)!FFG2> zLBd??V4BX~@_hAl_Uhr~L}V1l-ipENJH=Qov2eqWSq$*J+?yxGZ0+Z4f4C1C03%>a zaY}+`wWK#WcV)$c!jj8Mia0?@&ciuIWQ7MTUv~?Z7m)RSD`Y<5XG5NTPYVPeO$H7b1 z@EQT=TZ?*e?iT%F4o z#Ek|DJ`-6mc_5TF7bFAUD;;~SO#1vy)-AxisW1W16j6Buh_wo(CS?^X_V!<$Rsoov zoNgy#r54}D3~0nOh~YLTaH?$_7krG))+OW$6Uk&IFYrvy1|E|iEiviRQi|e|f_{ea z$~YQ=AuATaKbtx)Fy*r*FiMDFP4N?xS#0`XtqQ!F?Uq2Q(D^m?K80{_5iaqs2p=m5 z(=UQTs!|vpOxVsvBEySireHO@7NHh53E31wAGCf=9wH;G+VV9y>t+w=SkSbU@RR(m zTtI_%UgjV2uS7jM@S9O($mXpt<=L{`duho#nnL&Vn}6Ipc{$1nkqKl&V5=ZWCnfIw zHFWWzp}YdAD|E-$`+-pHY1+nthw3Mrcu<}T3=DqP6c(i^?A&J4LqNpd7QFPc!w>1+#-%RobNMk-A~tuc{5l*;?f;1H)_ePo^PwC&31HD!cdc4`)n88 zHXdaeqCHdfUcGrALtUT>9PM%1SuTm{?bb-&?7J(9dmuRr3)TIiq1PVadcyZ34-E~N z5{<%CVlHIjhS|b@4#WI45IXn^>@e0sgS(pC_5>_OQwoHxGRS8`590l-6b*gxg=2Y% zx4HK<8D!u;|CFr;JjC znsnY#<|b*Zok!<;_=x6fWV3-j*d&bl-^qRlwGpkt#=N+|}OyZT)bBpuGvtWL<4j zJSzeOJye&lZAW}Q z4aS@T^>JfuS(BpY?}zx76Rt46;;>)$OxKbNZE)tN*k$(8*Zq2+4uUc2?isZ(O_P@< z_`4h*^eWm{!!f3|cCTKN>i;IuAdWVEGi_-;@b*;{M%}UsuS7J}YrPR{(6aTk#HrP= z`uSBnmxz{k@d;1IF%w(3&B+z$V3Z-H&~Q%~r=f=1`S@1Q6h2C5(H)MQZL&r6)dOB% zynl9zLJu>%>^_*Q&BJQl;`?>KO)@f8=WP1y3#8_JnWA zX1MgN%&e9Z!LMiCFGHXlHMu`m7FO}sY*#s=)LMG2fUhe(Eks_9WuZ4ZANs8FR(qSI zWb#rckFT>Nn=z^HZ?-bQgiR*>CmQLyKl!Dv{Bc`%md6k5qJghBjzl`%?8ISrPufW_ zyHbM-gV68i6khtTXH^x8r zVy^;h|KxaNsdIROE~_=g)$8k--sPt%-?9K|%|mZ#%X8(2Wzyc4;yo{uFn0K$e$b>A>i&?VyiCK4+?2i;KxHK_I* z-S?{=cWV{UdcX>k=xCGyzgw-jFki|bVo+Z_^GJ?{Hby$NvKflBPI7#-V|6|b%dAEX zCBKxDW!R@aDr2dX7DQ7F49~M+wytQhHzo9=_e|xHRhgjh+pjI}JW8t;hP$%I$;~s8TP8 zm?#Z9-M5zuy_#bqzaICAIbs%pzIBBKB)a;2hZb(KD`j%am}uZ0X4MHg$52xz!2iIqet-vzNvlsQ@_X`wlMsj&Cj?6}+-ZWyOspX@8FGjrxiJHn8 z9K0F7fQV~9ID?S9hBM+ZnSCg60u9;Wu~8Fj&@C~OXG=3@n%oe`M;B}gt(U}#+fkf& zkGS+w`lGvRlduv`Le?y;rJ($$BoUlB0jjev0M7AMGWP(_N_Fo1-=nz~uK=iY##0Jz*|YM~I6$6&rk&{Xh5 zbk?{H@CdD`aqn|%l0f^+;1gkV%JNF6)Zy;MdvXj2#f3UDCONN!j`QHHb&siEX?`T% zVEB>TUkpi6?v0%62M2a;fl^fUyDU-=SqIPyp^Km^_a*n`uR$tqRjtp>54_%+m~3Ir zo;d{kVZr6go^k`;_6<^(%%e<-{K`M=EtNl&Rz6o$eNySf-G6r0rO;_pLzorNB7WKm zL~B8ryxpVLslRTLb}$ANUs&M8*T_hP_Ldja$V`@xyIoE*ZsQR zbRq76Pr*?mJ6NSn78(JcBUS$CwQpw4n?SGOlUHq*!v&>X(51lXzG`0Pk?_<%!PjNYBV|JB%n{#@th@QGCAJFCFHjse=9i_ zyl%Mp$Iza-0j!yy4Eq48R3Ag#8cR!wQv)uQa2M?ETcMI%od@hz51Rr3thbW#O*k3R0?M}(6#L+{T1f6DZTxw8`B>kF?fqF*`z z{3H93`n3{YX?m`lp5AzzJ#E@%ne5|nk(dZ8j_Qc!CrkQr{+11|X*j4;G=jaRih?S{ zY^!kelG(S|uMU?1iZWNly*5(H`Gmuo;o>i_)`r;L>hsu2`)?BACkk4B<3h`TrsYCk zTBQeS)BKN|>&CAW7s z>ZFCYAA1+Py7W1NnZ9DWpm>-Ba{uTAl78EtMZukO=-OZ%RA^;a*H5CRtHqiY5%4a9 zw9F-X8gg0@6;XL&sEYrG{wMR`2kR-E#{d2a^vjOnVD2Yu2 zVp;w|^_W=g6zs`J;&tlAfg4^8^-er=?i(57@Uf&GwBHjDP&(rp)*2c{VMAqmV*d*k z@|*@2Omt>zu$W7NiAAtPZjV~6aHMY)7(o&!*8Cc?A@-+Ta`(W7ih3>gxSngKG7Q;P zf3Rp1!!#gZ4Amld+G;QWd67Uiio_=6l#70p3_mr6m1p- zzR<3d`lH^{O7&Ec+3l`fMc)9RA63?SobmH*W(eh3AyFDn+QGBCGwFV$)Txn3`qG`e zkG>hFvlTF09UFj#)hgec_(;ge+9MU3_sM3fD4c=&CYt~p^*YKu<@q9yG?e#q2`guo zexQwHZ75$I_Jo2nY}^%axg*aGF2`FVO$&y-!q|N49`VzM83&4`=$hOsxQ)!ctVqPR-W?yl4QXvk1SQ$ z6CFm?*pyW@^FqYW+=F4(fno2Mb#^c6q&iy$DDW$HEA&L&|4m)&p|RW9n(|iRS~GR~ z;>$%ounm3IwffQ@)%E8TyZn*4(gG?{f2E0~lLbeQZ+fyg_6o`8JO@zKsRs;Ge$mUl zmxK%}f#6D!mLJh8URFM~wh4hAm`877_Bmc8bHd9iHOD!~imY=C9(LN3wg$5pppOC^ z*IV4Lr7MM#A0@RUOi^CP*8Ih9=17FJ>ULgy*;tNVB0Q@YO;46MQtg{6(c5LBfAZ+ zVL6!ueA$O{!#pZ5Pp8}cIBa7PEM(!gp*eik;Lo#f&qd~~?H|nYv%BD>?im*L@c!)4 z{+8%MhYvn;m{fk@ zoUo$%2}019u6aE(=x#y1qtU75@&^G{TT^}TLw|e1|IO>A_58jdVAcCoUN7(Kt?SLQ z9P^f5tLLt=SP4Qp8{u_+Cx-Hz;wG)YuhF$pSbGw5ECYHu0!xgcT#Vo2+znddDRsqf z@89)(xsmh*)*52Jsnz@ReNe^WXrOCnV9&?!VSYNOLi$Sjschdi+2_(i{OLJ_co+oX zz(Zd+7==ZDjitY@S;P2=HK_kybzdb9_gkw@BIuB(glo@lHJXMjr6O{Hl=Hc@-uP7X z$2!|KiIn~a{@Vpx;V0SGiib&y4N;CdVLIYB^a$LlGOplO6+#Yp=b_de`zA)}f?Z@K z$oupIQ}@`?h_x!`oL6EY^Vs%3lYe!$&(iKUv3h}x9*iin&!&tr;XMd~dcn!hYCCTD z=cy=P;1RnIC;J`4)ioV)3oRGf?HxhqUCoY{hljX@JxpWIf90{{2e zu9udPRp`)j)sGfeIj1tSzsXU-*~pvr5hW)EVc7v zbkVtA1UsU~6p4tB$kH1^160Q3+%@SIyziXasPqXAT zDphHCR7{M14nK85DuHtu`53$)miiFVJ3tj)*6_@@MG)Q zv;UKtxkCSzvqZIMGJboF$IS;6GWR2gYKI~mNQM|FQe2%&pF&PcU~_D@WXTK%3wElk zBh3OwFYKO^@3k!Re?Cu|bAiUg1J^^~MLW@;au6xc4ZA)a@5xf4c?p=;deQYmrge&i z;BrmYD|Sz!rcujBS9=(Gi-j}nrTU0tesO2O6Nxl_&`I`*Ku=0yu{hXya3hYEekP*& zZu0(FBAq*2JwZf0_eXFV2%3(Nh#lAl>%egJFWAc;_+F30Lh^FngoY39tPLdrMhUF?KD!DXsd$p)On6TnK_ge|$ z$>49<^@6{x3#D|F)2=AOgiEBNo<0u}0yNdt4T!$G&o@vJu|w6=3rzfCA0+Tqq-K$z zkzK=MVe~N!s{$`m0G7YPE&QUaV*h*D);(e&aJ+ zFpvS@mhC2<@{d}$z;&(D2Y}Q)o^k=Vg0oFXu1;9YN+QK&XDoo9N~phoutJ_l*UQqq z8ZuI&Qgb@~*=xM22!?VqVMnJ>Sf{h~N)Tsk4cb*uWfKa_M6c|ohg-7c7ADBPcFF7% z=r)i>7pj)CwnPbLJ>j%k0v(tNIbttzgnSO%>|yu`sYsyqtzMYcUrx?$s&W1-`Q1lS zJMIG~vCqqx9(NdKD@n+v!a{4Z9y4a}O@zE$sb}~u7bK0?dICf_VHKlSkuN^kt{X7P z%LOb$R>Mx&2kHKFdO88bJV`-mNukKD?^0STEX4;Pf<9a@D%)@$5-Z1dJ!e44V!A33p>E4}bEg_G@ zkd`zx6V`u+)rp=MtcYR^gLBbB-#nA?S5K{+2iP<<@ixAaWUxZH)gDYFWeEw96-yko zp1wBglDEx~x0+w}D)Y6QfONg4f``_4{==<%7wx>^ro));EP0|h3c#2E@8gu$?e7AT zTy|)UuCj_gtt&|Xx%N``fYiUPShV=egYUmLJWx-2I9XVTZx^0VIgL;7SmIlb58 zkE$ifh-uNa4@E<2d(Z>}8>5~Nz}D5$Xw34LY%Wv8HhEwHQ0Y4Gh;_KStIUvXq~$}< zJ$CF-Oa1eQ5a^SPHr}2=;Km1hCw+i1{lZv{5QoP_XrnES=y3BCdmUjy_e+n57D+1WyAI;i1B&d> z4LXpBGyB&}d`8-WENZ9UGOhDsOL(kysV_DG;8e|rF`xnXmAqK6$V`SY2i}>y!&f5c zsc;GFN&$C<;j2@aoC$t>@RI$0G6Gx&;9;l7v`XA^kYJp<*T~v%EBAo2g^aXLqJj#P znxBB@DR`z%KB*9!zp_8m!Y@Mg>S*vj z_ay0bk=N@#SuX?b{D^xG0!TYZ=6FAbd&+6zjrkCH z-vShB-w=7b;~6eibR8t@WMzd<-K>YrFTIbAZDB9F2+J@L9}QiPz9)TUzV+m$FO=qU z+m2$O5XPdG|6Q1l6k-`Tm%VnQU57Op4AR&TF8|})C*Tz&&7{2Xf%e|T5ZPbpe{?xM zm+EvqscLnrQ;voy(o@BN#b))>p~62kb*^yqy9(;>?-*VTY#Cj}$W=G2ZaEBrK93Wi zQ@-=RXA_snvJHcVtIoKxSC$+%#EgWx1C|qs);fOngM{aQ^x`Fr?JffUfhIomwe1%;C)eSS^ z8?~_L9qc$|Irh1STi2gbvwvvE+Jk;zZ>+kv+u&XQww!tP2T)Q8c}riEri+On8J%7o zq#&Y0Z?Mi{C|C0ABMQa{P$mCxiNBLwv0fVNcuMSz6EJ@klE`lyU<}9H5lkJm>~*vF zs%$yLYh9Sq%n>iP1jy0=oE{|v$gk329L&{)jhvqwS52!0?$c!41|qhBpJR1r)EpvZ zvlvtdL3gx!X$4cm^sCx_CG&#$PVuc=Kip7X5~ph?ymz{9HLRlJ;B{#NL3DX)E2Zu` z_PUW5KBWoyt#a2L{-&>+F5r^q11@EvlrA5}tzZ=rTpMp8EZS<3@O0dN%4Yu%4t3Dahfiy2X@s9mj5eMh8u>g%ya=WW#+!hl8MkqKM zsAD~hesr#64-`xX_)v%TITwuBgGr zYHafaPQ5lV=7}LW=H|CJZxPI|>-nD;rWPp9fB^G+4J$$N&R)ulGD~0GobDxAoeMK1 z>;ZpL-*IFcXjAVr z-syZ-VCD9?uEWq0(Y9Id?jn(Crfk!2Ae3VSikpTzl@gnQF^yMmOec`RdbB|+1o$g7 z2pGUPmPY6q_5)1p%i+h*SozWE7VDSG+-2Hvk-}lTa!!Nq_L%mEj!H%F&X#XW$vPG! zZ{x#o$}r5^t3WVQx2`zn=K{ALtBWnyE6h0FfyYJfJQ0dS;RzACwrf>{m2*0<6a`ZvG%g?SEkE?8VCJH=Z*-MnJCl3BG=lC_JUetcg?ls$i25*9*Emr=kfs?* zV<^ib+~6S4Mf+n`bbtxQ+midIn-N{FDoPp*DOIt%{P0Fc2geirn)pQ_U-;>1$!CJ1{&?Oc4sRr=x;w|#6E0`bCt6#o(OVe}N zKUoB0&IaW^Z|KHE_P&eXx@61gtit>7M1io90=g)sbf-qoodzD15zHREr@A(5Fn61a zA!ZFHq=X>SL*lSrZw@9uE18*2U(|krwdjwrau+Wnd)CVyyMAtd;p9|vf0ldTO_Sy$ zsTHO+hMn<%M5@4>PhBr6b~Gq4RT#=Bu_%yk%|i)eh!|Q1V64$*CdMpFOkTW9HN^Z_ zz^Po)2j4ATyJPjRUAn_SVEjFpK$aTVHiDyTMp8cBb2PLxkQg^_>MC3dW7S{D%wMYF zUyu?cyM?h$IodqH67Gx<|9L_^M4jmCcCMII4B*s_U%Ohe`;*^eP)EgQr12YP;rr~Tc*s%!U6|DjmMx5oFX<_1^c5jeiEN1RL+02AaKVud z0`|E0Sxjv>!6|UcrP>9yxiF}RBTR|?BmU)CVY6kNcs(7dW>q~iDXbw;oU(@FR%tCh zqIUUDT8}%-{&7Y9}7f%8)BrGMNZl`S@t@978|eoF)~eOtEp~Q>lvCM*BrrdQ( zif!7DUx_lGJ_={O91)`!m0;I!C5j7;UX>vZx00dq=xea_f!GB!Q~4W{r9{<-S5>;_ z7Vt_hKfg@+U*Fl^h$%uBgp7oi;Qo-OVo0be-}1xXi?H$!3jrD$uodn4`>ogZe#)B^ zK7nFnVQ019rn71%v&BYiR3icDZ_VbBv(}rBjC|*PR0b&H)o>co*t!$J^IL=>yn4FV zP@C}Q$DTA7z+uu4Pd+DHir$Y$V-ym&2M?u!P@#Yc$<<}t@%8CI8?T2iU}ejP5Nu&q zkzxy%s_8n4RY1qd%7IagU_lt z(|r(0!<4HF&C@R0qoO8Uu4p3ZZw4E*mW zlu!rNKU{!yz&|c%Q>pDb04$G>I{L2QbfZwpwnT~=;RmoaSB^gLCppC}jVWrO6cv_W zlVZ5zIv<{)lx`aUeQd;P*j}9v)jX1|fMOf9{MC6^srzen05qGPo`Dk?&=T>tSn)F0B(o1-r~wl&={2W+kLRu>e8v%HR7$)0KE4MMtrW@v)tH zGCdDi@%CzJ6fXS8@VrH?y$VZ^Y!P9e-7h5A9NzHRmuv)xIob!(OghJ2jr3slGrA|t zdeVf=GCJK?G^JOJegFQoXg~YnVv`Phq9%asU1ouV*FLomCW60gJvwaYeAy!Fkqqw? zcE5dXEbaAgO8My6HQgYjUd`d6)h~;P^oDR%@X`u<=vf5g^el)qOc|qfC%H@ZMMFxZ zUe{uudq(f~n3nb38mJcxZR-Fencd6S0NLBb6?lRB`29+DxqShCZdZtj`>F{ zBnf@m5o=-j%yc^E$TT_lc^W|7ds|CL29N=x(-Dbc_9#Z;w>~mt*}kpQH@~i0cyMh5 zUFp?(R#zX%pP347_vZ6>-6m;L%#}@hHNX!5>tYEggye?;jjY5kq^F{P%CY8=W55OH z>KkvezI>g)^WexbgF3L)M+K`)j53g{!i)UYA%sFp(Ike9B1WNMXHC5&pS#V%2{l7s z1s=Y;p&&woPCpGXz!vdM&weeFt%JG z>5{-z58y@H8bq+$???{2SB!Qn5MA{12O{jVl|xOz3xyjweE91QPS+c z#FRuah;GkLs{EeyqG{FJ{!nJ9B3N!IT;YCQtrtfD2wsp5xE3*e?=89U7cH=oj#roo z$Q!<0F4JBd!R6Lg9bByYpuNJe65ZzfXI?kQ^WwH_Yq7mg5|f{B4}Je~Q1Nef#qC2c z8KI;4lJoF~$5^9}gt>Gk~p@J?!b)xiTxhf9#z_9hWP-tG6l8A)8(Msu8`gX1dyg7-kUHb<8T zI<{Rw{}ashDmy~r<@&=Pk)C$z-}F6mn!W?R9zP*7fPMxO(p>&yO4L*$BoCa(hj@dR zH>~2Ik}N$}#tts}C7gnI9u%fOE`DJoq$} zOW&6!d3aq~Iyuk;1|>yBCaGxhXhIn`-(t1tTjlUql5Upj^dHl;LOj1(iu{3BP7DJx zM2XZlhF;zSa4@HDUGyz)*nzfheal%G-aUNJdmGG#$9k0J%ma87P%?bWVQ$&R^>9ov zX%v@>D9b!GU`iHJ#to%lt+ND^vD2F%S3&4WK$d6RCS|jA*qqlp_iP1;)7e$K0hH2X z|6~!eg<8)Z$sK{u8o=8Et@(=~Vk|jG-fVA!eggNQ4QJ@R{91+__u-Q8vrBH&-+QtUwz|>s_k{TKSzC3;k_YvmBnY^rMqU z;h^u8ixTb-d0!HI%nBdk%{qx1c+or9KW`p^J&*go1`)E&za5`vsQD5aB2vpEYG_{e zLzVsqD?Fr`plPvZo{jN!*q1sCdMSF5T#DY{2QV>5`jqLk;f(`VGGb?=-@d}yd z-vdg{J)#YvqMD@JmlVL{;C(%SesVW z#(xj+U4E-F$G*R4?mZSxQhQ3%W5%qafN)HFA|B( zW6}Jm&3FtB*4k^1diH++ctD507~&RlwBU6riShuIBWnnl#Ryu4Yp{RpCP$?Qj?O&{ zeT|iC3)9|@m@paHKd#9AKuWG>fPcQz-qt`r;L{rzu$7U2_8m!QjJM(2cNy_!dG*TV z#gej~%`%3tAnAF=pC2?2F;Hi{;ZhH*REC%b%v3*@sN2$_rTi~nF&)N0x*THHLa|!+ z&9uQlrAP=y#ghZ9kY(lXRS4scd&Ksy6~#$&8T0sftP zLje89Hdf!)WvUv7v42n#0?@r)4M|~T>PZHvtON>FSS)N2aU7W|raTRxQHI#fX8Cg* zmTrUo`$PY3pubyyQS(JCD2)=VlMK~|fc}GSwDy61`K&eH&3j~KTScg;@c|nSDkxK` z*s$j| zgr5-_9DsQWK^Yqq2i9aQ>i-DMKY8+>BnJbH*i|dI17+{;JNo>bNX2_LDKI>0y>`m6 zbuK5OTCc8Z{!dNy<#zY?|0zDdZ+3wH7`~B&{x@oZP4v&K{oLe+X}ldL`e#-pg!8p7kGm63VH>xIHb_yXIa#KD~cm;;86I_|E7Q&7>|&E`*;4oa6~`} zdC6{;{RwV&@a+dVL-1QPOz#~}lxGsv^mbF%XIU|3V+c|jAa7Pb9N_@=5+rIHmYjv( z7$CP=;Q%K6$+=0zo~t+A>$6{Xd_Z*^p!gC5U@!UaW&ZcoGtaXPwABMZKl*PmfwR&7 zP=fw%8v2);iaW$760qrp9UBir^Yq7yWifL2W+)Gu?L{PzqQqNRIgtPWm|A2RKXeA* z4z@?v0iZv_{dv&81@1oz){j8{gR1mZzB2C=%*lWnwPuC;L2By#p>v9>S5+nurU9d{ z4d0dT6~O`8(f|#QS~}X>;2c^=#F+taK(=l{|2B~Ia)2BCAwE2B@Q;6iFQaxRgsg{& z<02yo6JYK@fQ98z%Ll8J7JUD~HM_T54#1jB3o+v>F#mg~B+4~@ROd{K1DM1~-36AK z-*D8T6thL%*46=M=&BBTXlTblnI#+qr92;2+>aYPiwO8K|5tf+@#|8Ze*&hLhR#2^ zqa_UTU@rP6*JBI)iy%J|f>YCeXmRIocELCApG2;={No`Y)NQU7 z!3|?)$!4#JUybwgu&|M!g3|ql_ZWck{A%5WrifSH9HE4u7(WXWfK-oz4b8e7kW7z0 z134yn#iphHDBufZe4|LGpjeL}pU=Q#4mNqPrqXZH?ZQC7+@~5Y}+TP1|j_Z z$M6QF0+{?pF##~l4b+#?&RiA>P1vnCX~1vaNf@GOQio+o0c?a1#v}30UnBYGuJ%wy z*bL<~WS%*!;nEk#$Q2+eK4S4pEqZ~KN(IY9&e3{ZV9eZzsyN^Xlj)Iq1ec7= zjMqJ-iuWm`!21z^*7D!hq^h-sI3xLP3rgKx^~?U$B*;(I0RMJ`9~_PQ$)3T&*G63BNz^`~f~5>PbECVX{H4@Cdx4^@iWS$WHm?3tOAI(4k*g9jcU zNUuNMToU>H{?BbR!B-setg&FmW;E4F&-kIvVle>+8oOrroUyXRX_?fh*j8HtX7W-3 zt-t+X)QI;UotPx?7IpP8WW?nEQQJR*(P-fS)C?h3MJVAl`1%#U|Hej6ab2*1l@A1j zy+br-l-~bqo8^m?1O^1YCiBDa^U*QN8r3sc>ZILF}UwAAYKm}=u^RRn{inlJ(YpM{~Njz|>6M*B$e_NmO z0C>25+cHbUqyH^p;0D~K=)c&+8!%#}W%iZmUjYpa{X1=_gUsheEce*CSgf=G(>Q>S zPmCWt)*-Y1X(!RTTMqGWFyeL03k@JlV7v`qz5o*PPv7vC8*a;^<8W7uvT_wx{y`jv zc$zS+e47K*vhjC={&jJGdBmZnsWTY#RX1Sd8mKG!w>1D}ZvzbH;StY1u-*BLMPP0; zp!kXs(Uk^xBG?k_%RIh-p3W?oEqD!Y>K_s@=K~3efqgF$P#cPrVMKr%Sa4iNLks#R z5kF-QGh;vV@)xwt`5?QK%W7pbVfCnCSvTIkg7;qm5wKY}{Vp^&Fz^`&xM^RVx$3}E zq9>6)R@YK&)?YgcP))fJIE<$lbJoyx)`4{=NpA8l4g*>!AvIr*!0CQCI&s_}v`$GSG*Q24mpN|9m4=VcS z5$M-nu6H00^tZt)Ks=O;oCv-UKmk5L*ei2U1FIF#K?6J-fE^hO(%gRA-~jByg*m_w z=Oz^6BSh8J8c?K^_Jrv#?5BeuN>qyV=N7t&sg8VGk=R5w-|HHq3k}}6ZdZ}(>T)StS%hT^)=&yg{kKa;N z$zjuowfftkf$aRCh6yw7Lu{%rlO()(n%ydT+*Gx(5hUjz=sys3iYP~y|CK*L|LD@W z94PA5QJV;8n$Y8u{CvF6@4xZ9jJkIcWpbXtINMBsJ{iZWN>~>d#;)E!?o4MEG!k{0yRVqE$~Bs&GD;2&BW`> zBH)U{9i(Imt75b7VEDKH)YR|~HbfEHdJ3Sv$hWHI$$TS&{9w-`wy!@(+^D$s zf*M_#9epz&2F&pY)B7SCe}nv$7$)tYK+9h~@qhj%Zmd{rd$VE_3sh!StW$R6e(E(O zZK%|D788}>=O_IBeSmLV985yL(-r|P(IclBY;#pS!Z9RfLVjEzMGA@_I1*JiHSo8n zLyhX~8vloUBZUb7$U(De$6~3Ju;L`7Te+mmgz9=BEvax?UNYmyW5NAkF!4GmaN@ru z%fxSv-oX71mSHyD2-KeV0>V7J2Y#NW2v^j+*FvMhPaecM01sp8*8|x0-LJob`(+S`OCd z06q?Y_58}}h{7fZz{dTYImlxQ!|z`q*xHHK;Fkm_dVs-@1k}|7 zWTfs&@|)i*r|>+%S4gds1m9;m!*wtMa2)yXDLj$(L;tCT`_O+BVy=h&V=!4oZ=aZ# z610M`fr>c#R|4=mLxSRu-}vX>(u8Tw>{;s*?6+*W5DXCZX6|e)1#0N$Kj7^P`2Is| z;TTXD#VU#DfjR*np8Pl+koRGsf9nKc_0I=PT`zZmFfwXsm_{F>L`%s^vI4LWua$Yi z0w8KMTiute070avkC`Q(#tR3y-3cF9P$GQ=rvW3v(<%U1V-Sg9Ng*|42{*`>-HJp6 zTq$@1Lj}j2XNENcQv_UN26(^!kK6U-{$>JM9sLhM=O4nX6b>**cOZVCvNnqx0({P< z=a1niuj4S^7O=|40T`@QFb-ucW(n0XHqarfy!{p@b~Nf12+HgcDpt&@ap^ta; z&tHVTP7mi^$b{pDcHG6D5z)K<{)ztjH+p;yD$|g*WF;M#X=tR0GB{X&=(ENHFXF#r z4eI>t!tm0G z>2@Wqzsh97E3nCY4A0E?(AdtAyt%<`ZjPXd67Olz%c-$q_wG7sCg5!Ba(2sol|nk3 z|0{J=JVI*W{9{A>F!~SFAs+qny#^ySqa?Ha2tNiF`o{?W_5Wnn&m2eph!5((4GITX zfY|@3TmLdFgjHRW7quylP zp^q8$F)|GQ1p5E}MSRvHD>8ff5Slr^mgzA6{F~DN@m`sXEWiQy7z2YDlE^OxNTLCe zqcLycU787}sG+$2dmN2?yq zqFRAIH_-oWMgP=pYT|p$4#_>}AI~%X_y5K7M;-KkOY8Y%nHI0sZ&F{Tpz<1ldPk0U<0_WvN__QS4aK>qqUe~`BjE+S>MHzv99`0%h6-Pl)G%Ae|ty4a%tS=!BT5iZr<|MJie-p9I!AxVP;~DG*h6=O1Q1-r1`p=mMGV*vm;=Ui*h&^g<&t> zLK@yffV=3`R4{EYQb8~_$H~hb0vs^o>T%#`U&wa`5pb0ORLIz>(7r16byzhwu$?tC zetiKO-^KR(-^%~Bm1;M|@E@Py%PINAE-kXN0vq;z)j5@g&7Sn={w~i^@;ijrzY4EG z!VLcU|L7?JaHlR}g-NUH$PzRG*G>6zkZA*0HZt_<7yRQUb-+MK?x+laD%q%qF#})2 z1UaOTF4q(3@ic_wNA@WoJ3R`}#)rl$gDYL5KoA^YC(fwJhpmiMTwjhvekJPNqx#qY zmK;DRfz_@;(?p_F$zdRRGr3y)oPqsYSE&xlWcirU=Rd>!ZT$KT4AeD+r~XA!=L%W) z|8-Ookv(Cj^8oHZf&SRHHuAWo0h57|r_UM8)KL1e(q_5_P3$+qnVz1lAggbOiLC@8 zn+KK=cpXmUJYUr~D&Yr)HJP{395#zbDv(gQ5HelZ*96aOO#{mp2U^2bwE%MO5!|K# z1R;?MB2xhjR*MW~E2=(i=n!4wfy#KqEUbb|o1pX(A301rKJaXDYHDI`y0Kz0VVhLw zRL#c$*o0Db3;JH^_!BnP6KvVwY)x={j<9&GZ7tz%p;+12^h;8MRaEgN2`7$X%zdWo zr0!p!@f&>y3!6i;z3MkU0BA+kZzz_i++8Z7f8WCGf;dhkBYR22fVTjJU zkkMV-&3D<(e*KMH;ofO1ZD2Hq$9$X=%PuYo|2jmw@+VnjjkkM`L~J{KnMpou{%1ZF z>Q8<2uRHBH+-7tE=vpxV*8E&@w12!0@4v{vRx|_oOPqSt5I$*ne4=0fNM9h%0Ynox z3N-R*%wWCKntG{2E-oCTYbf5#Sr#q|&)&=hjt6gpg!@sXdIn~dR5N_cHaF^sAG_)6 z$^`6aOW}l!IJ)yiuCb^+D`utyT$0Lyf!h1pcHK(CgZk`%ps}GEoYSrkp9ePgZApgp z`UoHFxfLOCZ`nRxOriw2i)Q3|^D=zZ?QWoFPBrW43QP{c5J3OK-~V1VdjsEl(LX~- zC~kw#7&RDai163XwQfTDOKgi~5>B*wTHm6bD7MglBj_K7m~Pyk1^s=9zXROQLI0Y0 zUsHfEdo}T4W7gQmgyzXSK4MIuo+{c`)G{E^&wsFNk@nM!S^@KrB;bwX%%+@0XiJ=eB6r(ZcOa(= z6B|p;5yeDb2stOt;lR(4f!{H_fKEtdn)?4#vD~*a|5sEeKaKgn;BsyxRm}h9rtUlO z)FHLQ$5(!)fBwRsACc(a35lc$cKyjkVD=X!DL;SzT%*JU8p3ivEpMOA0NC-^PQtJF z2%Z_xKMd9jalaGvcZU0!m$mm3S%{wE8sM3vjhjB#h0BOGqf@L3QfU`0S%w+m0CeJz zkusTo^>P5UN)UxPKwuC?Hq9|O@9CJ&vpX1d*fg<6etkPGStloGDi)kI1 ziMCU{qz8RVGXFc*sS@*l#T38YoPQLgjyAIG3Im?QEkXYK^PRw{X!OtjHIqBR4XoRz z#9=Npma}B2u>SFwfB!amhJZq2mB(m-{!kYSX4uJ+4F46Ozc%&?aK97u?`>MK%>OqN z@!Mwt%TomXk89xC1^uJpr{QL-w;231+^1u`teRO5&-j%&9N@s1Vol6 zR54+8%H4q?+U~gFuC3uQOW*Q!X&UiDbPPF%BL^C zFHrUs97j3a@$yUzuKat3inUn8AyGuVG;`*xekK+gNZwC#Z~d+H0CK#`mCcvdYoc8( zKlga!Uc5}?H_!ZaPH?6sxs)P5qc@iJFasVTDj)d%2HxHV5gMGuGH3m%$}ShY2xmyP zA|+XC3D6It{N&VN?)!BIcRx@FKzVE#2m#Kuy;Z+vs~2Y`FcrdInna1mYFy*ijtiy) z>!$?x{T*PDT-T#?w@rFlrYGNbS!Rk|l9GdVsj$dO22=^}!k^(d4qwIr2_-Vs%ko^; za%5tfa+`@;CYs=m&p}siU_-*|8K|3bVbT1x2|S-S&HX*-HhY?QPqDU4%YSLS4eIY^ zZIq%|`a$V1V{frDaH;Iwo)J<7E;HJ$kwD4V;5x`jsV&VZE=$3RQ=*tfQca^3Ut znUv4LRlKap>RAib26H|@w9HDNVW6+2s&bv@JO*+yuj{{5QYe!EtJ$MP6ChiYfu3qW zX2NDklqVrMpj$2SpHcAKz|LG|Mz&y86FdNIxsXrEqh=aqfov7?;CTC{);38Rn~}=b zSALRec2){WN)48j8#px^@sQrzKEm@<1fY_Usw>Yscp=$u%rN{HyZBq^f9vfnLx93| z?**~l!jmXb^pE7yBeyFop8xrCT?+t=1gt#05v3pac3=JvzkL~QZ&qVPn4)PW=L|GC zYwRE)L4fd}rvW0_o$hzBw^0)IH!nMX)>Q zcQ=H7N$l5R@(-s!Yhw%i{u@cBioli(Jpm+< zvxkGZx=DLpC$vtWn-RmOuvWguGqM!#cO8HLG&%?Ae})iWNb5Mb;qs%+|M_o;L;1;W zKV{~B@6u70-!}k2?IUAn_!PncgkhD(@{@m^X5zpQn7gxCD~?MTYFPgF#~<*^Hy*Sx zaI$e5huaT8J$dl2pW92AZwO7(QUZ8;vr&r-2gtw34TA}+@jzX$sSy45f&MwTzX9k^ zjbY;LPieD9`af9cMHV@c!ZIGA63)_4uzdP89@L1u&IY#)KZG@PS1uDEUO;TRO=7u& z2><*W{IPI=ksK77#s><902rcbWYaEI2PyO z0j#s;?f}7?UnKrd0Tdo6DwZ4E6yKikZS0n%&nG!&LBI+Vi)*bl<*@|MS1#*Y8}X2ppAHe*|*6kN@>QrKwXFu8(tdY0N&J7$T5DaGs2J#0w=BsM4muQNqdEb+Fj2A;IR zNlKYP-cU^9v>_H6_!CRE6`9+6nTylIXk7rz0iXMp1h4dG{pFlC?+?&v$fv5D6d@Ua`s%vjNgm2lA1IkQ z`YYMuLQ3LtWY{^!)Lse-|8+JOpq_mMVbM^l^06!W{YQ`2ntuQOo7L5GV`oe;{BK72 zwB7wd#*VwX-UsiO$Kn&_mXFodmum0mfASE1!lQ<^mjdOFcl`KVQ^puz0-0)HFbL?s z0RBJ!1@2$8>Up55{3wJxNQC$H72Mvy`(NO5UX4T00bV5nhB5`%0+!In2*1IB=lK$^ z0Y;`(6B5nqP^g{*c>7M*WWgR}FAR_d&Ll!?w=;M9-`i&Ty zZx~NdjzTtZWS3y_S4;@D%vo{6&O-o2br8CUq9C9XP;B{w5Ks&w_lLn^v0COBiQ~UU zY$T5@q#aZ0We#%oxr_`}Gl|&+zIfe6iu`P5nKbs zQeRVYWG6DssiJ2tT?kw#+9^o=z0=4Y4vROrmStxsp~!`_o&7%C4~M_@CIFrNe+u{A zBOF0A=7sr&|5~R61?b;gAGR=Gs=Yq|!(#5o`U$>yps$2s=G)A#pYf(df&xkv##ADC#hJ9`uRTm`DGYKwRIF^tj^YqZ+P2M z5B=vs{~-wdW5zu2$lrTjkzKT^G`YA^aU_6{#q-gm>cRs=jvPFFG9ZY{!uTv$cDTO@ z&?lViF|{Sn6ER)udo35Bi@LGV6!x`Qhzff90&aJPk9{tYfF;>|Y_qLR7mk%+d)7dj zGB0#97)LFtk}-OTw&!PP3B@K=1K)l)-P5Hn5NQ-b;U+s$0#EvarYs$XyN)rf_$g>~ zXbsH?9ypjf);)*RZ)CV*ZAdJF@R2QF%o^i<3g@tOw~N1VJ=T3tiwc2Om%O#l1<->N z!jlJTS3HH0BuLZY;E}8fc{6q{pAt# zH^8fmnlIe7i8)svt_wDm@DzwMuGsP=?!Uc(arCil`lmNq9g$Db@pm1fMAW0l7hp>tsrmeI*O>ow(Z9tR+=5lvwJ=(5mx zN|JHp_fPQSPuX3_HA%x`#*rjW2TvG%ENzO+s>XT9cpG&4I^J}%0qc9s`^miXGcJ@1 zc%818etNUr>P;G{^eVg|^zcBrNuLWIP4Ei(^t2dcuep2T-fp`1#{=#pq>hvrvNljw zi^97KlpC>#_T1piIgLB}{~RGtMB}r96Pf?FVa-;G-#qib(>NWve_7M-8a{TfcgTvz z_wjCbTF8xvU1eywN1V)3jF42fXea z4X-sHQQ^o82nNi@BSY`ssI_|>2j_|0%{^NQI+sTZH`-Auqw~lAk$>WzKR)k{<@dio z9gCrVhXQm_QkwukX!5ut<>Ry{{^gr#$W#wu_Acga-NRaGN4h{sM>RO}(XRUXE6Kl@ z;Pw|`E zZ^?KRi_rVVZtCqrYIHYu7uQ-Wb-?i3zeq42(fK6)_wuhd3jOC%mAGl$Zs1@pz3JUJm0|ilpnt90z%huw$qF{<1M(KK$#H|_s0ONf zIJ{G)U~}%gEeq~n&^!UJ46+c5m-vA&khg9Di}3z^{Q4)0_LD#ZSlu8w1W*&7t=+45 z;&HGwRULbNJHq<-w9z7sWl>oIe0vM0p0(Kp{`hUu@g7oLWaRNwP& zJO%+egvS3m&ws+ptY#2NoN*v^?@@yz;WX~C@ik+%lG|GTS`S?Tyo_fa-bdni8EsV|a@`b3X!#>bYV0!-WNIY@>?j0+@z*`A#!tDX5kYhIn?T z_1p$h4>XcB35xMN>2C6htDEnQEKL%WR)6wasCJ~}y=!kEvsfCM^EQ6@6A!=9=co5; z(r>*&eV(3{yb%5V9KU|kCM?a7hvbXk+Hh|6p22qOJYUN6n0JKbQZjZizjmUx9;wR? zR{a4W5Xr)LQnLZQeO;y})k6cMb_Mbb$mO0-gzrDW{f7jIYl<}fO~zFU%ym1Q+Xt3Y z;`H53~E9KVKf28x(5bR)+~e~V!{q=$!D=MSIIIP%w*AX zC{=)-;7qkWuR&=c)LOx2Ck=1F`$zSjV!{UF5WwldrFg8V)mY`Z)CrBN-dWrT7Grl7 z(&~|r=7DxO77AdVlFS8#$svGh6jO6uO^T&yQ_HJMmB`pMrTHLG z|5TZBBsM#|7tm>=0KvW#ts4VLYVt7*{~0$Yq5tHek@enfbOloHht__N4Wk;t`^c3v zXMWcVR9i~`x%vKs@3?aNRKPmdN-p4AgK8v+FG&?f>!9i>0S!NbmDLA)`9^%Nv5x-3 zReF35x4YqgY(^BZNA(zz0aQT$Lt>!4#9^5M(|rzdtxWz3xqu2voMr418!<5Ne;!C4 zOCUnBMkM-Db0R@Ss92Bd0$s7S_(*}HQ8y8f1%hus7B+$2-@VgN$y=nUj_x$ zNsf(mFEs!_tkO3ta=hc78%;&5#H(4g3TpIvIks=N`Tj;`9O(;$;)W~!`7wOEfiGX& zl|i$+z7pA3`5efSGSB$er?*}9lxG+kjC8HYGy+C`9o1To{c#bzUvSgWKgOou!IZv4 z0VGz{L$ha*ldDPJGE{GVtk>U|%i;et)=#IFw*-%3S0O%(>->GB?M8h(TVb4p$oG!u zUmYy%gy4^c-8x+3xUWb># z@%@KpSEg5ZP?6EgVj$`sLAI z4%lV+hpd0KQo9hXP6j0V{S!~WlPxCfYg*`k>C)l%udNxX=Nf~|E9`Fej9>EWUQPo$ zk#o6@Bn%K{e{NV{KL*m?|Il_opa$!_DQ~C88ayF`Peo%B`@m=na|0i~w|_PZiR2{q zi;}Kv$?}uo;jRSWT=9Pzfo}lMJ3d~-{2v3>w*C$R4H3bip#%8J8?dSao?~|!=D#bV zdOOj-#Qp3?{+ri_M)zNjp3%rR4|~YHePxI+a!eAhQsEs=;(-W6Wo8e(6(gtMG>Me( z7DE3L+@AybgMi-0%IqIGDp*D*wGJ|Oo6V&mYsK;%X@qjEIk$~@4ZeLF#+#JHaB88v z+EA<8G{FAWLlK^Z+?RWd3QycFFd9k!qWu{ z-tItH0W|1&+mKe{e}3bifBT3{%(BV7$v;2v`|pf?Bj$e=`_=eflIGd#s{!AgFwR2> zH&b_SlCgJLVDpV8US~@d|vy;@125>R693Dv9R8* z#wMByP#tIGov06@-ku|eiTr*}@$&BeKSxL&T*Lnd4hhpTJM7O9%>P9xep8))((O-L zcaf0i=H3uQ~<3BtKkTM$CokUeRL+Kl890CkF)7XG|%WFr(Osa75 zuk}o1IkhzW9{~CXaDNWskHh!sPwajz9j2wl-Lqt2G;7hT2JU<;HNNJMxY6-LLp@4+ zHqgcKi*L+P}epeJ<7T54ZNt%`CsZ_ijh|1Znr1I%6$nyeN=nrj$Bh;Y>{e-2u!N zCLSZ4=UtNdxqvGTu==0hzi9Q80yPEw`yy-rk!qAG*&qTWQ!2MAO*D))k6_AmtZ-10MIB+@dlf6CEHzbRJ$(|h=xQi)54>oCuQPQuABU*O%O zcMBAcEKK$7ivh0(3;A(1q+Q+dCUxqg$e@8`;3+T?Cu;Zw4S_m71+uvG$M zm)%EEFw2S0{)Xr|B)Gq6G2GP23wR`B@h9CWiY-0^Rye?_7l(ZHHF1Qg z0Jbtq7{L#)ngCdV(R4YaUu{~K8mi3J0j6IQ%==lWICwT;>hw>(GB^B_`O2C^elKE! zVq@)+T4!6(EE6-M)kD=G2=@J_6G?}`lI1ODyG)hJPRWcb8MFqD;*R0D&Kh8L5AzABAxnn!WM^ zCsTrNgB3)Nse3ojzg+Q`t%7b|P$vJJp>vRcZ};IBX2F4sJ<``*q>U2*GQNkE5}4r$ zeow*NgyEq(R1oso{`x5vvRGUm5AJh{iks;K2{B9qX)q_?h~SQyG8lkRpKH6#o7sE7 zWyrTr_N-)N8VFRZnB&)P^W)PY;#4+l4ek(*`aXR75w-*yZCo?gZf+<}n`@*Rc*0J` zt_59HCNKR`G;`ly|0Ws7fMUj8fFHy@IHlHy#8dkGBrC=O%F&&yL(-c?^_E(2|MZEc z8KXH3-zeXje9h(mSrTNUf7H~6GNOPM2*{sa4Vo*iWA6A=?9TPgC>(`hqO$B5`Fc00 zql)7x4MVHsdimmaFg&mqgDN58yeH&}s29+D*ud~gb#`2QT3?kjAmqJyi15z0lQ1r2 z(t||vEKcfuv+;Lz9N0Op@PP;bJeBW$iJ|=n9R)*C@Y0%DRSLWf#4C}C61}em=o8VD z>1gD(TZG_+(?A%H_VDcvtzR ze?L8#*N~B3)c8*@`4!h0hW`TMS|9r7;eOm4?r)E3j05wU!%zqZycNPo7#+cz!%>ZM zi9w4rD$fO2geo-}m4szL37RPkrQ|mF_C`>wa~`QQKs>%Q1n3{y_AjzOw;DYu!>Sj` z91K>AHBrt?CR+$ROUB0S4!(TBA0JxSF`WaTarsX#2jCxf{!OEPVdf0Ba&`9I**SpA zLn*X;**Q!g3I5~lF5q}djVgu%N!$W+JSzlHrJHjF9B1aKxQn_|p|aJ!NJ zWxc_0{3gP7!hMwJ3uN5i2-Y`a3#SbOnup-wD@6nXFb`zM+VgU8b{?MdV(vWF;Y0t4 zYyqdZfO}`MxrlhvoAX%udNrWmOM6gH2G|(5(;(1qEQklxtS0my^uU_!H_)je^X-wU zp-u(*(8~Vn3A{A>sCvU@d=FE?DEz!dSWOlE ztA6cRnHO02hmrgQ2>Up|3I~@07s5#ifEOrBHcLJG38KBx7^oyBucx;uR;AT)nOF-I(@QMv| zFG(!?DC{85z!A=yY|=>GYo&?f1Z8?TClZEqN)_n+#_5zl8YlO@yLmYW0#VpFZ zmsV?9Spn-|s7eoIY#(tNV75ec@*Y;yCq5#OmSfes*Bn|Y=wA*4xb-ddJA;J-@5l%k z`Cw46Xg>%+!XU&$O){_=+9tZkP4e?|zisB~LZBo!twD-nkar6EoMj0xUCsYsSVLYi zW51*X8hljUMd-pMqn*f{6%3+jxw_zJm_;2lU=4FlUDQ}YB_$rNc0Q$~x?^_@itV|a z10WllDnyHj@*gzVlIo*OIl$`1%{{UZZ_9mvfBb9y>pxOm*gD1C2A9lLlF~n!2LQ_epvW6dp9|L2;-?2*puY>h^23T5iga?wJif4# zVWHTgue6(|V22pfXEK?&_Ma>Y?b{m>#1C8f%Z$h60YW#}+2;UZ2Lb>OnY*{7o`vdR z*ee^c-|)ZT`tM8k>;EMPs(w=uKiq=scCKF>mt8nM&X3;%1lWdJ?R7}wT2kG}S7arL zBQvQ1*RI3gf|THQd^H#U7@=MtnH^KWDasSLceSdpq^SU~(ZET@;{b%WG#hO5jO|4LSQsW|nVuUPQf?2O2U+4qdKR$7sCY4KE;*2`gsZh2oGy02Z5w$wTRrKrXPl z41l$lC8ouK1Gw?e=Bm!l+^p}7XN6WwVjWOssC+Nhe?N$H#rWGBod3YTe)3gi7WQL? z_-Cb0mTrT((>eRrhMX5`U)d@4)qbhoPxzHSE|$K#zhNpbKy)1NSFBm##Hpvy(ncis3Z z?R5sTe6b|sCG?o&=|j@76?=AYt>)Hmwh?*t%idf9qFWopv*V6`{vt+)FJHHF7`F!T z!939UFRFsmhiAQZ^#1`z%toA)@XLO0wiLL;e*x%6y%k@S>hR+|b8rPUTQ@&urDL`k zM=+n+K!>IwaH|dRUy$$u%gqKT;dh)Pjm3!vx>9r5ixQTSh$YX?xMZNTa41+%ltTlcRnAp|M9#iaiYS z7sH&De4uH+MCeZt5P}=lcf7sOMO7x4mNDvMrOb#ZH(G?8|7M?z23j39d`ICGbC1T8zk~Td zd~><#S4GnC(SCS7RE!+K(FW~&){bPdfLbI&WKN#d2YNg&UG)J9Y~p?q5IB?o(gWwV zmbsRr>m3=qaC)1tw4L?`h3*|;+qiBhgSCL`lq12CFY8BXYDoS%&>uSA;+Pz)q;NK?Bqre1djj17uU5 zdaWFcHpgK#4q)96e9{`Z#xAts%QwTxo^t>lS96qE>`NIF#fzi=w=dFDaUD)Z{x2Q} z6U4Z^Ip^7i?kJoQj3rmbx#9A*cD?vz%|!n${~y)lL{RVNyT|7TI5KD5vfzFPyJviX zfwgG))6ai~U;k{h#krNg03JTPdiCH`;m9w_jr(aAk}U;3k@9h< zEfK$Oh4n1KFvgN0aPW6q7Xbj2tajLPK)+eYUWpQD(tsP65D=dq>Lc#>X#M~`>zdGk z156%6fH7MYt%983@cSR|>sLN`Dfr{Xj-o*JBP7l%3Fp5@z8pzW96*iI2q5_`<4vM} zAAe&NlcZ7mWFa$+aO}Bf?yX6O0NYa>z>Jc?P0wY9v3hQ!0e$E7_*}>2!W>31O68Bo zsID*sPX?mg1lSctMVD1GNbg@ba?Uzo2z9MF}eoLX@!tMP36bs?qrb8Ud4=UL%?;$@uWyp-U)!r zTZU<98j&Z8{+_3@;u>Xs2ue6SjoJ8 zn;|&nY1AS6E?YTt#h9^|R>!Dd5f>(*WHIEt#t5;#1rh9juIQi8Hu>RZ#ibrtpl{+k z0;VD5L_g$WWwyn{Jf4?JD_c0b+_P|iZ{K+|0_P23Om*yt{x3-Y;-P;G2L<)iw?0df z@svI0?BB#gfA>*i?9hyi?jLm;z*C=~4CrsC0fLsjH2{Okv;3|pc*PxN+x0j<#wj*d zTqS@i(G$xwFNlE|@t-U`E_*Ll9TK3Lc9u(T#g51%edFregTyNsCV)If5O`p~>+A?9 z4y57{>smk&ik$^u1UykJ=E_Ui4_Gfy%758EMA}Whr?C%Sa6h#Oo|NN|glz zJ8F^hiH2Nb%BnLwQn5(fKJ0wBXaYSMbFOml($MogeF&n2gJql|<|P1&kCRzxQ>I9^u&Se2ZhaZ2!``i4_-(u0=@nrZ)B2opDh(nVFRc`}bKzL=4G3JdB zWb&8=h;UEKT{le9O22&}nc#HaEuLpUu5Wrm6B&gQt0_&iHBmpgfAGW_M*n#MW}Bm9X}SuBMe*7o`FscoTH)ut3DTQo{I!@mzw%2(mdqWC8(K=!q_o*2q~xe7C^#Ht^^r*j<#qh?#Yz1E zJ>g+TOuM-FJhj+wsh3KGa1osUVuW2riX>`vU*<-vHd5ra$Nmc0UcaEq`Os-dt-w zzQM2G3HsLs3}$JraK^I!No#nZSjSPoX1ImIxO|&WIMQ7W?&0dX2Tu?1`yl~3kL&8J zhWzL(u>e83(9W~w-T3N)sJ(F7!U5iY9mqnxs|*14_zW*X9wczASPfRD9S^JaSj?E@ zExeXD&HqDH^Z)jO>nC**+c}nI=Jc=d1a?1L=vVa5jj1}|`23LmKkn#2#zD=S2%LvT zFpIz`1F-kn0eCx#{O4W!PwmY&DkzkDcADM-l4QV&)r7?&glnZ-k^mO@j(bO~If(=4 zpYLl+@dNg8MaAX~obmW&tu`HUw3{v5Z$o7DPOOAYG)GY+=#NJE71kft8>)Xf5V;nB z1Ioysq@_bne3c2P93Z?Yn9^m}BDq3Xs%Ox~8`dm;+L@ldIIyz<$pMUIGsFR+&w`Sd zSqSYWJ39^DZt#zPf!jBLfR_Wf{6p9;<*W%Uv$M(ehqt%!`wz^LGen?sryj=0G9H?q z<&OSfV?zXX;Qvi!g0dpHZ$_HBEGio@n=%XfXEvjld|Q+FzB2@aG6vv&`rTb{=I5t3 zG*DhdAb8fCv(Fm_w9n^(iN=04zVA&jC&%r?NrSSc@HahdXeixS+{oj$Qb~a@lE37C zvbqk#1R4_+vq-)d@NjG@V$)E*JVQhdbIywXW!fE9tZx1%msprq^mZGx&<&&eyKh*+ z?psE?VNE9B_*kkf5ICfV9<2rWlWOA!^st(ufwhAOYBz1+qc|N_ER>TcWC>*305TCHhu^v_u6kweOETfVAqYekqr#z3+ zgRwf1O%AUg0+?MSJ?O>}{`dp@&wqjOi}@}qIE+>Ym-nEvGgnK&ZG_*x!!KV6d>=<2 z`d_s`xAnwBgZr)nOg#7_N8QX{hNd3(0jq7yiubK%+vQzb3hXZnu*0rTQsCi74D8YD z`g8gjg#lV(aMUfj6X>V+-n@xDk_5`~=HI_a{$O8Q;A;Tmt{Q*?CIF5ZXZ{2(`~)ow z*?q-MR)LY8{fZRNy&vPPb~P9N7K{*eu?v>Tvd5UeM7dTp-aw!_I$ z!i}J8hNtF8;4e?K!}MV)uUr1`K_fShx*m7d=d12>58xMWAyc3THtF|#I% z754x-Pso3aG-a%kRRi-=BEST%R8hjk@pzq^kPiZh^4ai4%3AH(o>&)9waO?Lf$CX}+6}Df|TvmteSA4LuN{lYW?s zw1Jsi5L~+%2z=?x+ohm?b{ke5hp=7~g#E8mEHoDSm&Q@7%gqSJ{`HSZesEC5@#QOr zQ#U-!f)mM{np|J(O~i_)!O!S<7#M*v4D>Hk{4W3d_ypg+4=Q_{ zm`xs$bssP=g@}6vgxZ6uno!9fJV0pc)nt2zw98BbEXFuo)wV1?5FUnM{Tiw=)mS%xwYvi-##^$U!$<|&cNr(4s|2^ds?(hF z2WTX&UKbFjDHnMCIs*P4OmojO_)fZG68jLU`k8C&v16i^s$PulI|BPI&5&$GhWdN z09kFtqK90x**q~DEJsJF3)lA-`U$l$0IdAM+NNVgTC=`Am;XwVqYhWrSIBRM;2#Sy zy*V~ZW=o<-EF*$Gy%SeSW__^E=`)``3%3EiAf?wY^|^J2gQE76tQ1yyRXiJN_I zv0vw;h}aAn$;p5-YXOg!RNX8C))ql9#K;gp%uSvskj%OdfgV06xIiiRLo?iBTdF&( z!J2qrn~23<1xfhx1F)P~0-o~Y2-^P~YKz4gP=H4_UuPW9k#HVMkAx~24DwA7-`|86i-Nc ztZMm2s@Lbcw>##wt3({3Oc-ECyW&MhLfC8!9rlK(`08cDUAEn2{QHoYZ+C0d1Kke? zo-Pb%9!tq156E@41+6h^8*!0e)TwF&VNdvEX!I9SOj+GZDTq<6l2bSP-17 zWM94AH9RLBGwhJ++8ASJ)*D|R=+;ECNvmlPj9}#IMyMFq`R}IBVf?23ZCWb42G?6T z0Mm>4AcXGAys~zb&X<- zLS`8hD+(2{aL9|3EDJ7)DquE!;F!X`aF`1V3e%kb7 zxOrZEhv4g<#2m0fSZ$zU8P*m2|LnaBd*mpxElMC|+ODeZnSJj4?*IRV=bV}DuCkpH zaRmWE00ENHc0Hyi$Gf*nR!Ru*h}T-n=GZ@ZYyO@4K57_C|z~N{HH67%psZ`n^i5D z3{Tn0yjEPU5(YfjX1)_-&K(P=b1Bp!8n#_wyAF-vUzySWS91V<2?9`)3Ke#( zf9p6&+J;(nW4)c&){ad4_KVf|Z?We)z~6V_{mlO+_A%878LkndRX%b}_sxjZ=gPA< zXGDPz>;FVt>{?p1ld#%t8YF8tK3^lW zZq~8r#O;F%MtW}^lTKfkqlwR%{ZIiF6`-7uciD{cX=3bIX`p9Fl!>E-{7u6Gj+F_M zaT;C|RPM*wnf&gbT$qvHxT_knn;XCj#4-ko!#=; z`A?Dnja!s5481?@Fk|2#IJOabt}0)9hS{{if~Gz#VPn0jgJp(KEB*bVpl zuy5_1N&<8ZtL4B(Nm_4Mrahz%K-t>Jit%#8!}o3TPM(L^&R%GdlGSp7nzK#9p@^{Z zI1x%gy*h=L-_4{xVn(Z7M4_c^P+hLw8WHdy=l_SJ&{ zdP#r}@eb{NIn#f*18|>{@co^K-SnADAv4>Q?kr}b$)lkuC1*EY*4C)Y6uRAE~F(W=wUh9nAohqC1F)Rrq*bc zBu!cXqb(6>%XC;i5xbXi(E!7KASUX^5Q*0l9Z7#I0fmEAACgACwI2N&O7pYvwE4#D zGqa?$9v4ivc>V^TzbJ7BA!gkhOQ>=3^eoqR^8qLYAw2f3N#U$?Rybu?IC7!d ztRxA1Fr-x{W)mE|Hcl3yOe`J*`r+yriz0+cY&Ev6#pPw-{L~GeoT(CFn{7SK{wW5K zTnPxK42e9#J)j!s&UG0!m3i0P`r)xw>FU(i6;Jf(ODyJT|9XTSl`;uEh2Xav@jr25 z;aweo?*IU>_Wc_JdlmVI`~;^MB0T}%BjNn<*fUs>qx}?$zosh%dgS7XE=C~C;w6=( z3K-W_7<|a4$z~Qz1|@S}M3?5B+@Zc_Yv^9y%=+(LXf(!WETw8wG};u2UH9j|%c3&00?(X@1{~!1*;-^a4#Nce z6niQj4SkY8R<6BCfvkAifY6Y=`u?T--BuFyc+;QcHL=Y#IiI_0n{dptQd2))LN-M)!JdRO}U*Zk}AdU_BEdt zD@HG^lqf0_59D=aN-gRBno`JobBeN5@MeE6BnPcQmTmOqi-=n~*p{6<#sYE_%q%LefA6!6Rfb0tE1h7WSY4gc0SKLORkV76^ zJk+i@_wB018p&Hz$98L zOz9^26-$V4uF=0fcwXJzb=ueRN7jG$^-ufTKTT6@6)V{i5`$%=DUIQJBw*>Cw*Jf^ zMj*t|o}%Ui3RsTI7A+JGk8{=*^CbIJF*fL zi6$5A@3ZD9Me%n-?7LR-c9G|=(FxHLKJG*k;6tl`{sS`rZwchXPplG9Br#pLC}<2| zALR$M9(eoU^Xb0>7~;D>yTD&`-6OKETp6T6RIL1i?v_Ac*K(e=55IN}RJav246$Iq zv}>-`kyJmG(^W;Du(6Dvzi!sXewJktU!REW(sS*>L&DU$Snv~V;ATP<0Dx9CjH`N< zx<)B3@nkD6=^Kn4{B$)h-_*C$t+ct_@a3EJl%S^a)^Y@tv9og|KY?D!X(45Nr|l z0SKrXZs0FfjkHJ?2BUS!HqSVy0vZ@S04fwXbc@p~{=Ef1m2YhhWrv7-8Zi*mNQuZD zNjT%Oa*ygaHluA89ay9sntc$g3`zJe-kPDc+MZ<(r5xKB8Eh|J&0u6whf$HO>a#Ay zseL&NEvd;c+8OuGmh)>l)@Ie;uE*a>Ls1%yt^9jGd+i=`@xVw3EiCc%M%DKLMKTIn1 z5(28V%8Ii_gAG(oTCxyN9h3q)II9cll>xq?2$ zDpcAi2kLoZ7CRH4gD$)hO%P`!XjO*(BcKpC@Q>?iN|t>k(oa;XQd@W0L0 zf4%}RW+23sm;8caIYhB!TLwE)Rjx1fc}>d`E%B-AyaJ9R=FkPJWuI94@pQ$yFSYI`03lPR&A4*Pi$Qx_q$42)0{eJZI8 zTNXQ|m+Zf3rS5FP=aJSJlw=*=P?+vn+@!DSZKXm8jBB^E9}95=8Y%$l(%rWCmaW+r zU)mH(fV`JV;eV6}0cJhY(*m)-yww;VpMvqBDhx@m%=y8(2EL#*R{z__NB8`!nA+tm z_6ZiI_(?o76`2ZQc0Jg3VlO8^d7A|RSQl~-3^QjX%2GzeN>4W58$X!N~oYc7I zJU$)u((>y5_;(Zm*gA0$J6)9PPBl6FYUmtKniP2DW9la+8*5t3?YT+5&6l?!U!mf; zlFs37bf4?#3tceI$1ZETZ?+y+NS@;;2{5o3ItB&|PZokRWPGpX@}Q?47^;h}?r4re zdVtplFjKGbP$`sCN3~G5_Un~w5&e_ve_CO$9+y8={v2Gbu!-fh+p({PeKeOL6hRGS ztc&tcW7E8sqxcS{{5#!Z{@5md^ye+HZLmlCS0b4PhJG*1&%aluXYad{ZL1@){mP3- zSXguQB$t9zN{Z-uh5q9syOlq^*uT|c;YBe|s!+|snPSD^dTuZsrLC}T7W;=>(KeHm zV;kklo2pf_&X+ouhDd zxLn}NQ^fL8Cs6R8^|MR@;ibrAJgCKr)reyNP?j)&@H@q^0Mq_^eK618B8#Fo*LxAo zA}i(o_-dbw@pyntke7B=GW5h7LqjUyxY_?%lIZf%OwYU6fhyyt5dt$)jaotJL?zm$ zG_RQ@7O{=Cma_(^=zmJiye#`sAHyX_!k@VKDe0HUG;J*dY=UJ30=WQ}ZHPW6YJXsN zrQ2JyqksL=bF+Gtz4CFuMAhMP1wh2%NHLYa$IIPhu(nDycz{FAk1S0Paq;w(K)F^h zq>oPaYG*DIeZXR-ix=z-IT{qnmaOC z%%PMT+`P4OT|vuQK-+j1p>S@R{bJ5uP^-eG74*j=K6Py6I@}{Q_JO=@7`(pV9Y!kE z{oi4yjjQb+KgD!}rnuYE z%QSd^wA-}8*`gRJF^Zs53OglYAyu?j&%K&uA-ZCZ7Fag3Wvv2TGMcS>T$S}7p4a~V z1xRfN1hHeg>%{C)X~x1L7bZ@yQ{#rf8>^SmRqHYo>AoXf#?V4Q2jr z)-Aq^A=H)vMEHK9Ak{0gb7buq+=1hcpvM}*^Flu+t-T*>v9q6uC zwDkP-hg%j~k^&_j&>bS0j=OcJf2&Km@cJ!`d64U`sJ2cUGsflS{`%9ePRDkKTmnP} zmO8DPA`}0owSKShG3OnUy+JB~t{}^SIL8tam21z60svXnx%0?PInB6#A}!k>FLY|B zt$Y9(erl2cu@-3S&)H>sKUKlCG1+QSWiMTZ(r(WC0Dd4@1?yE^HmE(Ge!|Dn`rkEk z)v}phH1^XM^XI?MwdW28;1~b=2nXOk0KoTz1e`LPYGck7vaCHkuDpd>O(X@yph!U= zy8%=OLg!xt6^u(hfLUe9L=jqkN6PFd%w=VGb1k58I!bo9MICFsM5;|NegRVVf0+y4pwGt++7FpxKQDp~$+Kve| z8D~%`n+b8_Lf1sQN(~v6=U3xFy)<0JJ=}RoPOQX)s zC8a5^0MP8Hu|D3#q$ZLSbdzTVI8ddQnQ%TV0{?x_Pe8d(Vr_ zCMUcCQizwqe#*&K<;5sMAknMI05VtPG$$8|fPpE)!y0N#N!pXSGT2q1G`ay+rc7jT znD*hOgu~}#mu+3%emo&&4P|yGjLr@PQ2lv$w2!|-<3hyb`ZTp8xw2HcuQ-i)rL~me z7is`L2|!o&FYCeBXAvJ7K}yQYI!}7}=gnQN9?~EfJdxOdSlB_sZTC=sS(Ul1L}wz_ ze%pd1^G>?Vm4=%%dM3nPD4pJyf38L3>!~z?dn^``lx#mpH1~)J7~p69l6-)hue_2) z7lUYST||+egZ|1PORA}H-MoP-7`l$ck9{%53^Fn@4P&e92Gpg15V~nihMM(xfEB}g z56EEOOH30Piy^P}dR=bb_5oh^x^!|!P4nm@UG?ll&v@gBY0OaysBNGgR3$S)7?`2J(i<6@ z=J%<^{pVx=>`%<$bM|wG_0O;W$T(nC8t6Fg(!E|xH#xx85(tS(ss>pKc1SCiB(P(H z{)p+{lN+;D4!^z320?9B6nq0Pg-G-$O4^xfh4job zqCHSC8zxTr%rzDxr4w|!i<1>81ge$#C@6xt@Zvn)bDNOMZ14Z zmkk6gHT887`AF!-um=DcSYjtYibJObF~COSP_(~&a{u~MY{|M8k*)SL&SSFW_Uisv z{nO1CbG?G^$wEA#OsQiLYs5OBlDB`Xa{_1zj`KmVuv_ZdPGv6U-mL&}m?-dz!KMZd za|1NBsp#*mvG@gLboq?Wxto3ps9T2usg6`uUT)g~94yo|6dTv(^cN7}KTxrR&$*Fl znl>!vIk-iQbpb16U%9LJ3*6p@f~>YIypDw|}|Tz8~*pB(diw{R`e+ z;PL?12e@2lL=hm{RBBCX$w!4R(ro1l&&sP-;l7@xv!t5CfKGY!{EWEV@Y^@j;OV8) zRqTLHVDur*cyAs_^6nY*iWZ)-S-qtUMHMip67AcO%;!sHLwF!xP&y z=C~Phzz8w}j?pMGVU<7_fwWem2VXEppolGipeTA3(2|bK*Rh=j6z{i!4i077DoUhf zA7I;bUR|#W$R{Ww^031(D!1u1$^EM4;t{W)jlE{t0yjzm*d*B6Gw273U?0Kp|Gp`O zpFIQc(O$s^U0)jgY~aelmrdSbp+CB8*;k|4FG)84E_{Ggv%adUcEsP1*+teWoxfO^ zS8rh?dbPAljw*lN0r)G*d-5t=*8GG6A-a%EZE-SD1M$jTghpz;8|`sq-M^#^%7$t2 z;!G8IvtSCaY32fQ-qhN5(3h8%UO<+dswKkePLs#XRA2*?%AaYnoApo5o`GPX6Y!R* zFGXm)5Ie)X;Hsi*az99qP&1;Y{V9biEkQ7uThKGST(8t8PFVj1$eBZQt7)kr{DUlu zPsIcnSotq4{$^x0E_2`MxvUgsTGe8i^v#=d94WQ z)qGX}D*(vOjB;QQ{)?P~kmO4O87aMb=`I7XEs((gzECHaDwaCKPSev9e*KzPj}&u7 zmH(GJLQEqs6ZZVoZ38mk3P?^hRN{$kxLp5T+0|Gn0}8(5Di-c#rc7O!@5f^B0Fg(>GzUkR{0y3t3&lPK9Kv?Jaa@uv#~0kFdQI zTmz>uS$w7j`{vb*6D%khsOsex8+HSE(UHy*9JwhRLC>4-4~+|mu<}gU~} zs0rzlhn5p5dPizy2wQ1f@KbI}Wcs`3XJ6vq2K#H%^a!>LcK$S%aiGt?`MTR=O2*|o zac}3fewy+XKuq!VKvcM_d~5J$QYSeoSNd_agquEncI)bC1-Gp$I0mO{(QT;)5QYRw zi>4@G<%%(@WEjXCX`}o7SLO~ZGJFNpoVvu#-#C@ROCguWn-RoWBo+Z|$$2BU5~jFo zNYN0Q-ygJ0oLYz{$Sb^yK7enn16IS}KyS7E&mcY6L6jO(Cv*pbkO0duREO2bY@wWi z2XvwuFyBFCBjDl5zP`F;skZRZddT5?LIL@5nt(2SUFkuvF&gBh>V<^P=}?8XTtND& zrg^RYAdvzzWrT03s4rH4luzCkqS)1q2_DZE*1x)mK>z6umf#uQ;zf+a|~XBRQ6F)U3qeM!$te

    WzSSxmi-l8K4Vq?^KnM@ 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

    7FWTeX6QV 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

    0kMhs!Wc_E;0~tq~0S!pD}T>Fj?|x`&zHVb*+ga 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 Lj!K1+<&XaZ$nKUc diff --git a/meta-moblin/packages/mutter-moblin/files/startup-notify.patch b/meta-moblin/packages/mutter-moblin/files/startup-notify.patch deleted file mode 100644 index 72ad42cd98..0000000000 --- a/meta-moblin/packages/mutter-moblin/files/startup-notify.patch +++ /dev/null @@ -1,51 +0,0 @@ -Index: git/src/mnb-drop-down.c -=================================================================== ---- git.orig/src/mnb-drop-down.c 2009-06-09 16:38:46.000000000 +0100 -+++ git/src/mnb-drop-down.c 2009-06-09 16:41:21.000000000 +0100 -@@ -68,6 +68,37 @@ - gboolean hide_toolbar : 1; - }; - -+ -+#include -+ -+static gboolean -+emit_loaded_signal (gpointer user_data) -+{ -+ DBusError error = DBUS_ERROR_INIT; -+ DBusConnection *conn; -+ DBusMessage *msg; -+ -+ conn = dbus_bus_get (DBUS_BUS_SYSTEM, &error); -+ if (!conn) { -+ g_printerr ("Cannot connect to system bus: %s", error.message); -+ dbus_error_free (&error); -+ return FALSE; -+ } -+ -+ msg = dbus_message_new_signal ("/", "org.matchbox_project.desktop", "Loaded"); -+ -+ dbus_connection_send (conn, msg, NULL); -+ dbus_message_unref (msg); -+ -+ /* Flush explicitly because we're too lazy to integrate DBus into the main -+ loop. We're only sending a signal, so if we got as far as here it's -+ unlikely to block. */ -+ dbus_connection_flush (conn); -+ dbus_connection_unref (conn); -+ -+ return FALSE; -+} -+ - static void - mnb_drop_down_get_property (GObject *object, guint property_id, - GValue *value, GParamSpec *pspec) -@@ -137,6 +168,8 @@ - - g_signal_emit (actor, dropdown_signals[SHOW_COMPLETED], 0); - g_object_unref (actor); -+ -+ g_idle_add (emit_loaded_signal, NULL); - } - - static void diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-applications.inc b/meta-moblin/packages/mutter-moblin/moblin-panel-applications.inc deleted file mode 100644 index 3bf7108555..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-applications.inc +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Moblin Applications Panel Plugin" -SECTION = "x11/wm" -LICENSE = "GPLv2" -DEPENDS = "mutter-moblin nbtk gtk+ glib-2.0 clutter-1.0 gnome-menus" - -SRC_URI = "http://download.moblin.org/sources/moblin-panel-applications/0.1/moblin-panel-applications-0.1.2.tar.bz2" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-applications_0.1.2.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-applications_0.1.2.bb deleted file mode 100644 index b80506ee89..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-applications_0.1.2.bb +++ /dev/null @@ -1 +0,0 @@ -require moblin-panel-applications.inc diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-applications_git.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-applications_git.bb deleted file mode 100644 index 21a42fb228..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-applications_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require moblin-panel-applications.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.1.2+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-media.inc b/meta-moblin/packages/mutter-moblin/moblin-panel-media.inc deleted file mode 100644 index 4170197fe5..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-media.inc +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Moblin Applications Panel Plugin" -SECTION = "x11/wm" -LICENSE = "GPLv2" -DEPENDS = "mutter-moblin bickley bognor-regis gtk+" -SRC_URI = "http://download.moblin.org/sources/moblin-panel-media/0.0/moblin-panel-media-0.0.7.tar.bz2" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-media_0.0.7.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-media_0.0.7.bb deleted file mode 100644 index 2d76297d8c..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-media_0.0.7.bb +++ /dev/null @@ -1 +0,0 @@ -require moblin-panel-media.inc diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-media_git.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-media_git.bb deleted file mode 100644 index de1351bfdb..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-media_git.bb +++ /dev/null @@ -1,6 +0,0 @@ -require moblin-panel-media.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.0.7+git${SRCPV}" -S = "${WORKDIR}/git" - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-myzone.inc b/meta-moblin/packages/mutter-moblin/moblin-panel-myzone.inc deleted file mode 100644 index e8ca32f726..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-myzone.inc +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Moblin Applications Panel Plugin" -SECTION = "x11/wm" -LICENSE = "GPLv2" -DEPENDS = "mx mutter-moblin gtk+ libsocialweb gconf libjana" -SRC_URI = "http://download.moblin.org/sources/moblin-panel-myzone/0.0/moblin-panel-myzone-0.0.12.tar.bz2" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-myzone_0.0.12.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-myzone_0.0.12.bb deleted file mode 100644 index 549df6f273..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-myzone_0.0.12.bb +++ /dev/null @@ -1,3 +0,0 @@ -require moblin-panel-myzone.inc - -DEPENDS = "nbtk mutter-moblin gtk+ mojito gconf libjana" diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-myzone_git.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-myzone_git.bb deleted file mode 100644 index 27a6fad0a4..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-myzone_git.bb +++ /dev/null @@ -1,9 +0,0 @@ -require moblin-panel-myzone.inc - -DEPENDS += "libical" - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "0.0.12+git${SRCPV}" -S = "${WORKDIR}/git" - - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard.inc b/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard.inc deleted file mode 100644 index df01edc09c..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard.inc +++ /dev/null @@ -1,10 +0,0 @@ -DESCRIPTION = "Moblin Applications Panel Plugin" -SECTION = "x11/wm" -LICENSE = "GPLv2" -DEPENDS = "nbtk mutter-moblin gtk+ clutter-1.0" -SRC_URI = "http://download.moblin.org/sources/moblin-panel-pasteboard/0.0/moblin-panel-pasteboard-0.0.2.tar.bz2" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_0.0.2.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_0.0.2.bb deleted file mode 100644 index a992971092..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_0.0.2.bb +++ /dev/null @@ -1 +0,0 @@ -require moblin-panel-pasteboard.inc diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_git.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_git.bb deleted file mode 100644 index 27394b4ea3..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-pasteboard_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require moblin-panel-pasteboard.inc - -PV = "0.0.2+git${SRCPV}" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-people.inc b/meta-moblin/packages/mutter-moblin/moblin-panel-people.inc deleted file mode 100644 index ca6880dfaf..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-people.inc +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Moblin Applications Panel Plugin" -SECTION = "x11/wm" -LICENSE = "GPLv2" -DEPENDS = "nbtk mutter-moblin anerley gtk+ glib-2.0" - -SRC_URI = "http://download.moblin.org/sources/moblin-panel-people/0.0/moblin-panel-people-0.0.9.tar.bz2" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-people_0.0.9.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-people_0.0.9.bb deleted file mode 100644 index df52a0de4e..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-people_0.0.9.bb +++ /dev/null @@ -1 +0,0 @@ -require moblin-panel-people.inc diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-people_git.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-people_git.bb deleted file mode 100644 index 1361068d34..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-people_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require moblin-panel-people.inc - -PV = "0.0.9+git${SRCPV}" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-status.inc b/meta-moblin/packages/mutter-moblin/moblin-panel-status.inc deleted file mode 100644 index c5f45a730c..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-status.inc +++ /dev/null @@ -1,11 +0,0 @@ -DESCRIPTION = "Moblin Applications Panel Plugin" -SECTION = "x11/wm" -LICENSE = "GPLv2" -DEPENDS = "mx mutter-moblin dbus-glib clutter-1.0 telepathy-mission-control libsocialweb" - -SRC_URI = "http://download.moblin.org/sources/moblin-panel-status/0.0/moblin-panel-status-0.0.9.tar.bz2" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools - diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-status_0.0.9.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-status_0.0.9.bb deleted file mode 100644 index 2a3c68b1da..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-status_0.0.9.bb +++ /dev/null @@ -1,3 +0,0 @@ -require moblin-panel-status.inc - -DEPENDS = "nbtk mutter-moblin dbus-glib clutter-1.0 telepathy-mission-control mojito" diff --git a/meta-moblin/packages/mutter-moblin/moblin-panel-status_git.bb b/meta-moblin/packages/mutter-moblin/moblin-panel-status_git.bb deleted file mode 100644 index 19fec102b8..0000000000 --- a/meta-moblin/packages/mutter-moblin/moblin-panel-status_git.bb +++ /dev/null @@ -1,6 +0,0 @@ -require moblin-panel-status.inc - -PV = "0.0.9+git${SRCPV}" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -S = "${WORKDIR}/git" - diff --git a/meta-moblin/packages/mutter-moblin/mutter-moblin.inc b/meta-moblin/packages/mutter-moblin/mutter-moblin.inc deleted file mode 100644 index 31a3d96733..0000000000 --- a/meta-moblin/packages/mutter-moblin/mutter-moblin.inc +++ /dev/null @@ -1,50 +0,0 @@ -DESCRIPTION = "A Moblin specific plugin for the Mutter composite window manager" -SECTION = "x11/wm" -LICENSE = "GPLv2" -DEPENDS = "clutter-1.0 nbtk mutter gnome-menus mojito libjana anerley clutter-mozembed bickley bognor-regis" - -SRC_URI = "http://download.moblin.org/sources/mutter-moblin/0.43/mutter-moblin-0.43.8.tar.bz2 \ - file://startup-notify.patch;patch=1 \ - file://88mutter-panelapps.sh \ - file://background-tile.png" - -FILES_${PN} += "\ - ${sysconfdir}/X11 \ - ${libdir}/metacity/plugins/clutter/*.so* \ - ${libdir}/mutter/plugins/*.so* \ - ${datadir}/mutter-moblin-netbook-plugin \ - ${datadir}/dbus-1/services \ - ${datadir}/moblin-panel-applications/theme \ - ${datadir}/moblin-panel-pasteboard/theme" -FILES_${PN}-dbg += "${libdir}/metacity/plugins/clutter/.debug/*" -FILES_${PN}-dbg += "${libdir}/mutter/plugins/.debug/*" - -ASNEEDED = "" - -EXTRA_OECONF = "--enable-ahoghill --enable-netpanel --enable-people" - -inherit autotools - -do_configure_prepend () { - rm -f ${S}/build/autotools/gtk-doc.m4 - cp ${WORKDIR}/background-tile.png ${S}/data/theme/panel/ -} - -do_install_append () { - install -d ${D}${sysconfdir}/X11/Xsession.d/ - install ${WORKDIR}/88mutter-panelapps.sh ${D}${sysconfdir}/X11/Xsession.d/ -} - - -pkg_postinst_${PN} () { -#!/bin/sh -e -if [ "x$D" != "x" ]; then - exit 1 -fi - -. ${sysconfdir}/init.d/functions - -gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type list --list-type string --set /apps/metacity/general/clutter_plugins '[moblin-netbook]' - -nbtk-create-image-cache ${datadir}/mutter-moblin/theme -} diff --git a/meta-moblin/packages/mutter-moblin/mutter-moblin_0.43.8.bb b/meta-moblin/packages/mutter-moblin/mutter-moblin_0.43.8.bb deleted file mode 100644 index 1136163a95..0000000000 --- a/meta-moblin/packages/mutter-moblin/mutter-moblin_0.43.8.bb +++ /dev/null @@ -1,6 +0,0 @@ -require mutter-moblin.inc - -SRC_URI = "http://download.moblin.org/sources/mutter-moblin/0.43/mutter-moblin-0.43.8.tar.bz2 \ - file://startup-notify.patch;patch=1 \ - file://88mutter-panelapps.sh \ - file://background-tile.png" diff --git a/meta-moblin/packages/mutter-moblin/mutter-moblin_git.bb b/meta-moblin/packages/mutter-moblin/mutter-moblin_git.bb deleted file mode 100644 index 99ce5799a3..0000000000 --- a/meta-moblin/packages/mutter-moblin/mutter-moblin_git.bb +++ /dev/null @@ -1,12 +0,0 @@ -require mutter-moblin.inc - -PV = "0.43.8+git${SRCPV}" -PR = "r11" - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git \ - file://startup-notify.patch;patch=1 \ - file://88mutter-panelapps.sh \ - file://background-tile.png" - -S = "${WORKDIR}/git" - diff --git a/meta-moblin/packages/mx/mx_git.bb b/meta-moblin/packages/mx/mx_git.bb deleted file mode 100644 index 884b22313a..0000000000 --- a/meta-moblin/packages/mx/mx_git.bb +++ /dev/null @@ -1,16 +0,0 @@ -DESCRIPTION = "Moblin toolkit library for netbooks" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -LICENSE = "LGPLv2.1" -PV = "0.0+git${SRCPV}" -PR = "r1" -DEPENDS = "clutter-1.0 clutter-imcontext" -S = "${WORKDIR}/git" - -inherit autotools - -EXTRA_OECONF = "--disable-introspection --without-clutter-gesture" - -do_configure_prepend () { - echo "EXTRA_DIST=" > ${S}/gtk-doc.make - touch ${S}/INSTALL -} diff --git a/meta-moblin/packages/nautilus/nautilus/idl-sysroot.patch b/meta-moblin/packages/nautilus/nautilus/idl-sysroot.patch deleted file mode 100644 index 0062cfb11a..0000000000 --- a/meta-moblin/packages/nautilus/nautilus/idl-sysroot.patch +++ /dev/null @@ -1,7 +0,0 @@ -Index: nautilus-2.24.2/add-include-prefix -=================================================================== ---- nautilus-2.24.2.orig/add-include-prefix 2008-10-06 17:22:21.000000000 +0000 -+++ nautilus-2.24.2/add-include-prefix 2009-04-09 16:00:05.000000000 +0000 -@@ -1 +1 @@ --sed -e 's/^/ /' -e 's/ */ /g' -e 's/ / -I /g' -e 's/ -I $//' -+sed -e 's:^: :' -e 's: *: :g' -e 's: : -I '"$SYSROOT"':g' -e 's: -I '"$SYSROOT"'$::' diff --git a/meta-moblin/packages/nautilus/nautilus/no-try-run-strftime.diff b/meta-moblin/packages/nautilus/nautilus/no-try-run-strftime.diff deleted file mode 100644 index ccd2934b3a..0000000000 --- a/meta-moblin/packages/nautilus/nautilus/no-try-run-strftime.diff +++ /dev/null @@ -1,28 +0,0 @@ ---- /tmp/configure.in 2009-04-13 11:26:43.000000000 +0200 -+++ nautilus-2.26.1/configure.in 2009-04-13 11:28:37.000000000 +0200 -@@ -375,25 +375,6 @@ - - dnl =========================================================================== - --dnl strftime checks -- --AC_TRY_RUN([#include -- int main () -- { -- char buf[100]; -- struct tm tm = {0}; -- tm.tm_year = 99; -- if (strftime(buf, 100, "%EY", &tm) == 4 && -- strcmp (buf, "1999")==0) -- return 0; -- return 1; -- } -- ], -- AC_DEFINE(HAVE_STRFTIME_EXTENSION, 1, [Define if strftime supports %E and %O modifiers.]) -- ) -- --dnl =========================================================================== -- - # - # Checks for Xft/XRender - # diff --git a/meta-moblin/packages/nautilus/nautilus_2.26.1.bb b/meta-moblin/packages/nautilus/nautilus_2.26.1.bb deleted file mode 100644 index e653ae9918..0000000000 --- a/meta-moblin/packages/nautilus/nautilus_2.26.1.bb +++ /dev/null @@ -1,29 +0,0 @@ -# nautilus OE build file -# Copyright (C) 2005, Advanced Micro Devices, Inc. All Rights Reserved -# Released under the MIT license (see packages/COPYING) - -inherit gnome - -SRC_URI += "file://idl-sysroot.patch;patch=1 \ - file://no-try-run-strftime.diff;patch=1 \ -" - -export SYSROOT = "${STAGING_DIR_HOST}" - -LICENSE = "GPL" - -DEPENDS = "gail gtk+ pango gnome-desktop libxml2 dbus-glib libunique libexif librsvg" -#DEPENDS += "gvfs" -#RDEPENDS = "gvfs gvfsd-ftp gvfsd-sftp gvfsd-trash" - -EXTRA_OECONF = " --disable-gtk-doc --disable-update-mimedb --disable-tracker --disable-beagle" - -PACKAGES += " libnautilus" - -FILES_${PN} += "${datadir}/icons /usr/libexec/ " -FILES_libnautilus = "/usr/lib/*.so*" -FILES_${PN}-dbg += "/usr/libexec/.debug" - -do_configure_prepend() { - sed -i -e /docs/d Makefile.am -} diff --git a/meta-moblin/packages/nbtk/nbtk.inc b/meta-moblin/packages/nbtk/nbtk.inc deleted file mode 100644 index 0ad2dff6c0..0000000000 --- a/meta-moblin/packages/nbtk/nbtk.inc +++ /dev/null @@ -1,15 +0,0 @@ -DESCRIPTION = "Moblin toolkit library for netbooks" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -SRC_URI = "http://download.moblin.org/sources/${PN}/1.2/${PN}-${PV}.tar.bz2" -LICENSE = "LGPLv2.1" -PR = "r4" -DEPENDS = "clutter-1.0 libccss clutter-imcontext" - -EXTRA_OECONF = "--disable-introspection" - -inherit autotools - -do_configure_prepend () { - echo "EXTRA_DIST=" > ${S}/gtk-doc.make - touch ${S}/INSTALL -} diff --git a/meta-moblin/packages/nbtk/nbtk_1.2.3.bb b/meta-moblin/packages/nbtk/nbtk_1.2.3.bb deleted file mode 100644 index d3eaf3449b..0000000000 --- a/meta-moblin/packages/nbtk/nbtk_1.2.3.bb +++ /dev/null @@ -1 +0,0 @@ -require nbtk.inc diff --git a/meta-moblin/packages/nbtk/nbtk_git.bb b/meta-moblin/packages/nbtk/nbtk_git.bb deleted file mode 100644 index 0caf4ecc75..0000000000 --- a/meta-moblin/packages/nbtk/nbtk_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -require nbtk.inc - -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git" -PV = "1.2.3+git${SRCPV}" -S = "${WORKDIR}/git" diff --git a/meta-moblin/packages/packagekit/gnome-packagekit_2.28.2.bb b/meta-moblin/packages/packagekit/gnome-packagekit_2.28.2.bb deleted file mode 100644 index 9b31e98ba3..0000000000 --- a/meta-moblin/packages/packagekit/gnome-packagekit_2.28.2.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "GNOME frontend for packagekit" -LICENSE = "GPL" - -DEPENDS = "packagekit libsexy gconf-dbus polkit polkit-gnome libunique gnome-menus devicekit-power" - -inherit gnome - -SRC_URI = "http://www.packagekit.org/releases/gnome-packagekit-${PV}.tar.gz" - -EXTRA_OECONF = " --enable-compile-warnings=no --disable-scrollkeeper " - -do_configure_prepend() { - sed -i -e s/help/docs/ Makefile.am - sed -i -e s:-Werror::g configure.ac -} - -FILES_${PN} += "${datadir}/icons ${datadir}/gnome" diff --git a/meta-moblin/packages/packagekit/packagekit-0.5.6/configurefix.patch b/meta-moblin/packages/packagekit/packagekit-0.5.6/configurefix.patch deleted file mode 100644 index 48f959186a..0000000000 --- a/meta-moblin/packages/packagekit/packagekit-0.5.6/configurefix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: PackageKit-0.6.0/configure.ac -=================================================================== ---- PackageKit-0.6.0.orig/configure.ac 2010-01-04 16:32:18.000000000 +0000 -+++ PackageKit-0.6.0/configure.ac 2010-01-29 11:33:48.000000000 +0000 -@@ -90,7 +90,7 @@ - enable_strict=$default_strict) - if test x$enable_strict != xno; then - if test "$GCC" = "yes"; then -- WARNINGFLAGS_CPP="$WARNINGFLAGS_CPP -Werror" -+ : - fi - fi - diff --git a/meta-moblin/packages/packagekit/packagekit-0.5.6/opkgfixes.patch b/meta-moblin/packages/packagekit/packagekit-0.5.6/opkgfixes.patch deleted file mode 100644 index 64da86a526..0000000000 --- a/meta-moblin/packages/packagekit/packagekit-0.5.6/opkgfixes.patch +++ /dev/null @@ -1,421 +0,0 @@ -Index: PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c -=================================================================== ---- PackageKit-0.6.0.orig/backends/opkg/pk-backend-opkg.c 2010-01-29 09:39:33.000000000 +0000 -+++ PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c 2010-01-29 11:30:51.000000000 +0000 -@@ -29,8 +29,6 @@ - - #include - --static opkg_t *opkg; -- - enum { - SEARCH_NAME, - SEARCH_DESCRIPTION, -@@ -62,7 +60,7 @@ - * check an opkg package for known GUI dependancies - */ - static gboolean --opkg_is_gui_pkg (opkg_package_t *pkg) -+opkg_is_gui_pkg (pkg_t *pkg) - { - - /* TODO: check appropriate tag */ -@@ -84,7 +82,7 @@ - * check an opkg package to determine if it is a development package - */ - static gboolean --opkg_is_devel_pkg (opkg_package_t *pkg) -+opkg_is_devel_pkg (pkg_t *pkg) - { - if (g_strrstr (pkg->name, "-dev")) - return TRUE; -@@ -105,7 +103,7 @@ - * returns true if the tag is present - */ - static gboolean --opkg_check_tag (opkg_package_t *pkg, const gchar *tag) -+opkg_check_tag (pkg_t *pkg, const gchar *tag) - { - if (pkg->tags && tag) - return (g_strrstr (pkg->tags, tag) != NULL); -@@ -118,7 +116,7 @@ - { - switch (err) - { -- case OPKG_NO_ERROR: -+/* case OPKG_NO_ERROR: - break; - case OPKG_PACKAGE_NOT_INSTALLED: - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL); -@@ -140,7 +138,7 @@ - break; - case OPKG_PACKAGE_NOT_AVAILABLE: - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, NULL); -- break; -+ break;*/ - default: - opkg_unknown_error (backend, err, "Update package"); - } -@@ -152,7 +150,7 @@ - static void - backend_initialize (PkBackend *backend) - { -- opkg = opkg_new (); -+ int opkg = opkg_new (); - - if (!opkg) { - pk_backend_error_code (backend, -@@ -162,8 +160,8 @@ - } - - #ifdef OPKG_OFFLINE_ROOT -- opkg_set_option (opkg, (char *) "offline_root", OPKG_OFFLINE_ROOT); -- opkg_re_read_config_files (opkg); -+ opkg_set_option ((char *) "offline_root", OPKG_OFFLINE_ROOT); -+ opkg_re_read_config_files (); - #endif - - } -@@ -174,22 +172,22 @@ - static void - backend_destroy (PkBackend *backend) - { -- opkg_free (opkg); -+ opkg_free (); - } - - - static void --pk_opkg_progress_cb (opkg_t *_opkg, const opkg_progress_data_t *pdata, void *data) -+pk_opkg_progress_cb (const opkg_progress_data_t *pdata, void *data) - { -- PkBackend *backend = PK_BACKEND (data); -+ PkBackend *backend = (PkBackend*) data; - if (!backend) - return; - - pk_backend_set_percentage (backend, pdata->percentage); -- if (pdata->package) -+ if (pdata->pkg) - { - gchar *uid; -- opkg_package_t *pkg = pdata->package; -+ pkg_t *pkg = pdata->pkg; - gint status = PK_INFO_ENUM_UNKNOWN; - - uid = g_strdup_printf ("%s;%s;%s;", -@@ -225,12 +223,12 @@ - { - int ret; - -- ret = opkg_update_package_lists (opkg, pk_opkg_progress_cb, backend); -+ ret = opkg_update_package_lists (pk_opkg_progress_cb, backend); - - if (ret) { -- if (ret == OPKG_DOWNLOAD_FAILED) -- pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL); -- else -+// if (ret == OPKG_DOWNLOAD_FAILED) -+// pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL); -+// else - opkg_unknown_error (backend, ret, "Refreshing cache"); - } - pk_backend_finished (backend); -@@ -256,7 +254,7 @@ - */ - - static void --pk_opkg_package_list_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data) -+pk_opkg_package_list_cb (pkg_t *pkg, void *data) - { - SearchParams *params = (SearchParams*) data; - gchar *uid; -@@ -298,7 +296,7 @@ - uid = g_strdup_printf ("%s;%s;%s;", - pkg->name, pkg->version, pkg->architecture); - -- if (pkg->installed) -+ if (pkg->state_status == SS_INSTALLED) - status = PK_INFO_ENUM_INSTALLED; - else - status = PK_INFO_ENUM_AVAILABLE; -@@ -318,10 +316,10 @@ - opkg_is_gui_pkg (pkg)) - goto end_handle; - if (pk_bitfield_contain(filters, PK_FILTER_ENUM_INSTALLED) && -- (!pkg->installed)) -+ (pkg->state_status != SS_INSTALLED)) - goto end_handle; - if (pk_bitfield_contain(filters, PK_FILTER_ENUM_NOT_INSTALLED) && -- (pkg->installed)) -+ (pkg->state_status == SS_INSTALLED)) - goto end_handle; - - pk_backend_package (params->backend, status, uid, pkg->description); -@@ -338,7 +336,7 @@ - - params = pk_backend_get_pointer (backend, "search-params"); - -- opkg_list_packages (opkg, pk_opkg_package_list_cb, params); -+ opkg_list_packages (pk_opkg_package_list_cb, params); - - pk_backend_finished (params->backend); - -@@ -349,7 +347,7 @@ - } - - static void --backend_search_name (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_name (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -360,7 +358,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_NAME; -- params->needle = g_utf8_strdown (search, -1); -+ params->needle = g_utf8_strdown (search[0], -1); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -371,7 +369,7 @@ - * backend_search_description: - */ - static void --backend_search_description (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_description (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -382,7 +380,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_DESCRIPTION; -- params->needle = g_utf8_strdown (search, -1); -+ params->needle = g_utf8_strdown (search[0], -1); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -390,7 +388,7 @@ - } - - static void --backend_search_group (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_group (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -401,7 +399,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_TAG; -- params->needle = g_strdup_printf ("group::%s", search); -+ params->needle = g_strdup_printf ("group::%s", search[0]); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -412,9 +410,9 @@ - static gboolean - backend_install_packages_thread (PkBackend *backend) - { -- PkPackageId *pi; - gint err, i; - gchar **package_ids; -+ gchar **parts; - - package_ids = pk_backend_get_strv (backend, "pkids"); - -@@ -424,13 +422,13 @@ - { - pk_backend_package (backend, PK_INFO_ENUM_INSTALLING, package_ids[i], NULL); - -- pi = pk_package_id_new_from_string (package_ids[i]); -+ parts = pk_package_id_split (package_ids[i]); - -- err = opkg_install_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ err = opkg_install_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); - if (err) - handle_install_error (backend, err); - -- pk_package_id_free (pi); -+ g_strfreev (parts); - if (err != 0) - break; - } -@@ -453,9 +451,9 @@ - static gboolean - backend_remove_packages_thread (PkBackend *backend) - { -- PkPackageId *pi; - gint err, i; - gchar **package_ids; -+ gchar **parts; - gboolean allow_deps; - gboolean autoremove; - gpointer *data; -@@ -467,29 +465,30 @@ - autoremove = GPOINTER_TO_INT (data[2]); - g_free (data); - -- opkg_set_option (opkg, (char *)"autoremove", &autoremove); -- opkg_set_option (opkg, (char *)"force_removal_of_dependent_packages", &allow_deps); -+ opkg_set_option ((char *)"autoremove", &autoremove); -+ opkg_set_option ((char *)"force_removal_of_dependent_packages", &allow_deps); - - err = 0; - - for (i = 0; package_ids[i]; i++) - { -- pi = pk_package_id_new_from_string (package_ids[i]); - pk_backend_package (backend, PK_INFO_ENUM_REMOVING, package_ids[i], NULL); - -- err = opkg_remove_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ parts = pk_package_id_split (package_ids[i]); -+ -+ err = opkg_remove_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); - - switch (err) - { -- case OPKG_NO_ERROR: -- break; -- case OPKG_PACKAGE_NOT_INSTALLED: -- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL); -- break; -+ //case OPKG_NO_ERROR: -+ // break; -+ //case OPKG_PACKAGE_NOT_INSTALLED: -+ // pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL); -+ // break; - default: - opkg_unknown_error (backend, err, "Remove"); - } -- pk_package_id_free (pi); -+ g_strfreev (parts); - - if (err != 0) - break; -@@ -540,7 +539,7 @@ - gint err; - - /* FIXME: support only_trusted */ -- err = opkg_upgrade_all (opkg, pk_opkg_progress_cb, backend); -+ err = opkg_upgrade_all (pk_opkg_progress_cb, backend); - - if (err) - opkg_unknown_error (backend, err, "Upgrading system"); -@@ -564,29 +563,28 @@ - static gboolean - backend_update_package_thread (PkBackend *backend) - { -- PkPackageId *pi; -+ gchar **parts; - gint err = 0; - const gchar *package_id; - - /* FIXME: support only_trusted */ - package_id = pk_backend_get_string (backend, "pkgid"); -- pi = pk_package_id_new_from_string (package_id); -+ parts = pk_package_id_split (package_id); - -- if (!pi->name || !pi->version) -+ if (!parts) - { - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, - "Package not found"); -- pk_package_id_free (pi); - pk_backend_finished (backend); - return FALSE; - } - -- err = opkg_upgrade_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ err = opkg_upgrade_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); - if (err) - handle_install_error (backend, err); - - -- pk_package_id_free (pi); -+ g_strfreev (parts); - pk_backend_finished (backend); - return (err != 0); - } -@@ -610,13 +608,13 @@ - */ - - static void --pk_opkg_list_upgradable_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data) -+pk_opkg_list_upgradable_cb (pkg_t *pkg, void *data) - { -- PkBackend *backend = PK_BACKEND (data); -+ PkBackend *backend = (PkBackend*) data; - gchar *uid; - gint status; - -- if (pkg->installed) -+ if (pkg->state_status == SS_INSTALLED) - status = PK_INFO_ENUM_INSTALLED; - else - status = PK_INFO_ENUM_AVAILABLE; -@@ -631,7 +629,7 @@ - static gboolean - backend_get_updates_thread (PkBackend *backend) - { -- opkg_list_upgradable_packages (opkg, pk_opkg_list_upgradable_cb, backend); -+ opkg_list_upgradable_packages (pk_opkg_list_upgradable_cb, backend); - pk_backend_finished (backend); - return TRUE; - } -@@ -668,16 +666,18 @@ - static gboolean - backend_get_details_thread (PkBackend *backend) - { -- PkPackageId *pi; - gchar **package_ids; -+ gchar **parts; - int group_index; - PkGroupEnum group = 0; -- opkg_package_t *pkg; -+ pkg_t *pkg; - gchar *newid; - - package_ids = pk_backend_get_strv(backend, "package_ids"); -- pi = pk_package_id_new_from_string (package_ids[0]); -- if (pi == NULL) -+ parts = pk_package_id_split (package_ids[0]); -+ -+ -+ if (!parts) - { - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_ID_INVALID, "invalid package id"); - pk_backend_finished (backend); -@@ -685,8 +685,8 @@ - } - - -- pkg = opkg_find_package (opkg, pi->name, pi->version, pi->arch, pi->data); -- pk_package_id_free (pi); -+ pkg = opkg_find_package (parts[PK_PACKAGE_ID_NAME], parts[PK_PACKAGE_ID_VERSION], parts[PK_PACKAGE_ID_ARCH], parts[PK_PACKAGE_ID_DATA]); -+ g_strfreev (parts); - - if (!pkg) - { -@@ -695,7 +695,7 @@ - return FALSE; - } - -- newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->repository); -+ newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->src->name); - - if (pkg->tags) { - for (group_index = 0; group < PK_GROUP_ENUM_LAST; group_index++) { -@@ -706,9 +706,8 @@ - } - } - -- pk_backend_details (backend, newid, NULL, group, pkg->description, pkg->url, pkg->size); -+ pk_backend_details (backend, newid, NULL, group, pkg->description, NULL, pkg->size); - g_free (newid); -- opkg_package_free(pkg); - pk_backend_finished (backend); - return TRUE; - } diff --git a/meta-moblin/packages/packagekit/packagekit-0.6.0/configurefix.patch b/meta-moblin/packages/packagekit/packagekit-0.6.0/configurefix.patch deleted file mode 100644 index 48f959186a..0000000000 --- a/meta-moblin/packages/packagekit/packagekit-0.6.0/configurefix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: PackageKit-0.6.0/configure.ac -=================================================================== ---- PackageKit-0.6.0.orig/configure.ac 2010-01-04 16:32:18.000000000 +0000 -+++ PackageKit-0.6.0/configure.ac 2010-01-29 11:33:48.000000000 +0000 -@@ -90,7 +90,7 @@ - enable_strict=$default_strict) - if test x$enable_strict != xno; then - if test "$GCC" = "yes"; then -- WARNINGFLAGS_CPP="$WARNINGFLAGS_CPP -Werror" -+ : - fi - fi - diff --git a/meta-moblin/packages/packagekit/packagekit-0.6.0/opkgfixes.patch b/meta-moblin/packages/packagekit/packagekit-0.6.0/opkgfixes.patch deleted file mode 100644 index 64da86a526..0000000000 --- a/meta-moblin/packages/packagekit/packagekit-0.6.0/opkgfixes.patch +++ /dev/null @@ -1,421 +0,0 @@ -Index: PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c -=================================================================== ---- PackageKit-0.6.0.orig/backends/opkg/pk-backend-opkg.c 2010-01-29 09:39:33.000000000 +0000 -+++ PackageKit-0.6.0/backends/opkg/pk-backend-opkg.c 2010-01-29 11:30:51.000000000 +0000 -@@ -29,8 +29,6 @@ - - #include - --static opkg_t *opkg; -- - enum { - SEARCH_NAME, - SEARCH_DESCRIPTION, -@@ -62,7 +60,7 @@ - * check an opkg package for known GUI dependancies - */ - static gboolean --opkg_is_gui_pkg (opkg_package_t *pkg) -+opkg_is_gui_pkg (pkg_t *pkg) - { - - /* TODO: check appropriate tag */ -@@ -84,7 +82,7 @@ - * check an opkg package to determine if it is a development package - */ - static gboolean --opkg_is_devel_pkg (opkg_package_t *pkg) -+opkg_is_devel_pkg (pkg_t *pkg) - { - if (g_strrstr (pkg->name, "-dev")) - return TRUE; -@@ -105,7 +103,7 @@ - * returns true if the tag is present - */ - static gboolean --opkg_check_tag (opkg_package_t *pkg, const gchar *tag) -+opkg_check_tag (pkg_t *pkg, const gchar *tag) - { - if (pkg->tags && tag) - return (g_strrstr (pkg->tags, tag) != NULL); -@@ -118,7 +116,7 @@ - { - switch (err) - { -- case OPKG_NO_ERROR: -+/* case OPKG_NO_ERROR: - break; - case OPKG_PACKAGE_NOT_INSTALLED: - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL); -@@ -140,7 +138,7 @@ - break; - case OPKG_PACKAGE_NOT_AVAILABLE: - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, NULL); -- break; -+ break;*/ - default: - opkg_unknown_error (backend, err, "Update package"); - } -@@ -152,7 +150,7 @@ - static void - backend_initialize (PkBackend *backend) - { -- opkg = opkg_new (); -+ int opkg = opkg_new (); - - if (!opkg) { - pk_backend_error_code (backend, -@@ -162,8 +160,8 @@ - } - - #ifdef OPKG_OFFLINE_ROOT -- opkg_set_option (opkg, (char *) "offline_root", OPKG_OFFLINE_ROOT); -- opkg_re_read_config_files (opkg); -+ opkg_set_option ((char *) "offline_root", OPKG_OFFLINE_ROOT); -+ opkg_re_read_config_files (); - #endif - - } -@@ -174,22 +172,22 @@ - static void - backend_destroy (PkBackend *backend) - { -- opkg_free (opkg); -+ opkg_free (); - } - - - static void --pk_opkg_progress_cb (opkg_t *_opkg, const opkg_progress_data_t *pdata, void *data) -+pk_opkg_progress_cb (const opkg_progress_data_t *pdata, void *data) - { -- PkBackend *backend = PK_BACKEND (data); -+ PkBackend *backend = (PkBackend*) data; - if (!backend) - return; - - pk_backend_set_percentage (backend, pdata->percentage); -- if (pdata->package) -+ if (pdata->pkg) - { - gchar *uid; -- opkg_package_t *pkg = pdata->package; -+ pkg_t *pkg = pdata->pkg; - gint status = PK_INFO_ENUM_UNKNOWN; - - uid = g_strdup_printf ("%s;%s;%s;", -@@ -225,12 +223,12 @@ - { - int ret; - -- ret = opkg_update_package_lists (opkg, pk_opkg_progress_cb, backend); -+ ret = opkg_update_package_lists (pk_opkg_progress_cb, backend); - - if (ret) { -- if (ret == OPKG_DOWNLOAD_FAILED) -- pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL); -- else -+// if (ret == OPKG_DOWNLOAD_FAILED) -+// pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_AVAILABLE, NULL); -+// else - opkg_unknown_error (backend, ret, "Refreshing cache"); - } - pk_backend_finished (backend); -@@ -256,7 +254,7 @@ - */ - - static void --pk_opkg_package_list_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data) -+pk_opkg_package_list_cb (pkg_t *pkg, void *data) - { - SearchParams *params = (SearchParams*) data; - gchar *uid; -@@ -298,7 +296,7 @@ - uid = g_strdup_printf ("%s;%s;%s;", - pkg->name, pkg->version, pkg->architecture); - -- if (pkg->installed) -+ if (pkg->state_status == SS_INSTALLED) - status = PK_INFO_ENUM_INSTALLED; - else - status = PK_INFO_ENUM_AVAILABLE; -@@ -318,10 +316,10 @@ - opkg_is_gui_pkg (pkg)) - goto end_handle; - if (pk_bitfield_contain(filters, PK_FILTER_ENUM_INSTALLED) && -- (!pkg->installed)) -+ (pkg->state_status != SS_INSTALLED)) - goto end_handle; - if (pk_bitfield_contain(filters, PK_FILTER_ENUM_NOT_INSTALLED) && -- (pkg->installed)) -+ (pkg->state_status == SS_INSTALLED)) - goto end_handle; - - pk_backend_package (params->backend, status, uid, pkg->description); -@@ -338,7 +336,7 @@ - - params = pk_backend_get_pointer (backend, "search-params"); - -- opkg_list_packages (opkg, pk_opkg_package_list_cb, params); -+ opkg_list_packages (pk_opkg_package_list_cb, params); - - pk_backend_finished (params->backend); - -@@ -349,7 +347,7 @@ - } - - static void --backend_search_name (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_name (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -360,7 +358,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_NAME; -- params->needle = g_utf8_strdown (search, -1); -+ params->needle = g_utf8_strdown (search[0], -1); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -371,7 +369,7 @@ - * backend_search_description: - */ - static void --backend_search_description (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_description (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -382,7 +380,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_DESCRIPTION; -- params->needle = g_utf8_strdown (search, -1); -+ params->needle = g_utf8_strdown (search[0], -1); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -390,7 +388,7 @@ - } - - static void --backend_search_group (PkBackend *backend, PkBitfield filters, const gchar *search) -+backend_search_group (PkBackend *backend, PkBitfield filters, gchar **search) - { - SearchParams *params; - -@@ -401,7 +399,7 @@ - params = g_new0 (SearchParams, 1); - params->filters = filters; - params->search_type = SEARCH_TAG; -- params->needle = g_strdup_printf ("group::%s", search); -+ params->needle = g_strdup_printf ("group::%s", search[0]); - params->backend = backend; - - pk_backend_set_pointer (backend, "search-params", params); -@@ -412,9 +410,9 @@ - static gboolean - backend_install_packages_thread (PkBackend *backend) - { -- PkPackageId *pi; - gint err, i; - gchar **package_ids; -+ gchar **parts; - - package_ids = pk_backend_get_strv (backend, "pkids"); - -@@ -424,13 +422,13 @@ - { - pk_backend_package (backend, PK_INFO_ENUM_INSTALLING, package_ids[i], NULL); - -- pi = pk_package_id_new_from_string (package_ids[i]); -+ parts = pk_package_id_split (package_ids[i]); - -- err = opkg_install_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ err = opkg_install_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); - if (err) - handle_install_error (backend, err); - -- pk_package_id_free (pi); -+ g_strfreev (parts); - if (err != 0) - break; - } -@@ -453,9 +451,9 @@ - static gboolean - backend_remove_packages_thread (PkBackend *backend) - { -- PkPackageId *pi; - gint err, i; - gchar **package_ids; -+ gchar **parts; - gboolean allow_deps; - gboolean autoremove; - gpointer *data; -@@ -467,29 +465,30 @@ - autoremove = GPOINTER_TO_INT (data[2]); - g_free (data); - -- opkg_set_option (opkg, (char *)"autoremove", &autoremove); -- opkg_set_option (opkg, (char *)"force_removal_of_dependent_packages", &allow_deps); -+ opkg_set_option ((char *)"autoremove", &autoremove); -+ opkg_set_option ((char *)"force_removal_of_dependent_packages", &allow_deps); - - err = 0; - - for (i = 0; package_ids[i]; i++) - { -- pi = pk_package_id_new_from_string (package_ids[i]); - pk_backend_package (backend, PK_INFO_ENUM_REMOVING, package_ids[i], NULL); - -- err = opkg_remove_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ parts = pk_package_id_split (package_ids[i]); -+ -+ err = opkg_remove_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); - - switch (err) - { -- case OPKG_NO_ERROR: -- break; -- case OPKG_PACKAGE_NOT_INSTALLED: -- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL); -- break; -+ //case OPKG_NO_ERROR: -+ // break; -+ //case OPKG_PACKAGE_NOT_INSTALLED: -+ // pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_INSTALLED, NULL); -+ // break; - default: - opkg_unknown_error (backend, err, "Remove"); - } -- pk_package_id_free (pi); -+ g_strfreev (parts); - - if (err != 0) - break; -@@ -540,7 +539,7 @@ - gint err; - - /* FIXME: support only_trusted */ -- err = opkg_upgrade_all (opkg, pk_opkg_progress_cb, backend); -+ err = opkg_upgrade_all (pk_opkg_progress_cb, backend); - - if (err) - opkg_unknown_error (backend, err, "Upgrading system"); -@@ -564,29 +563,28 @@ - static gboolean - backend_update_package_thread (PkBackend *backend) - { -- PkPackageId *pi; -+ gchar **parts; - gint err = 0; - const gchar *package_id; - - /* FIXME: support only_trusted */ - package_id = pk_backend_get_string (backend, "pkgid"); -- pi = pk_package_id_new_from_string (package_id); -+ parts = pk_package_id_split (package_id); - -- if (!pi->name || !pi->version) -+ if (!parts) - { - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, - "Package not found"); -- pk_package_id_free (pi); - pk_backend_finished (backend); - return FALSE; - } - -- err = opkg_upgrade_package (opkg, pi->name, pk_opkg_progress_cb, backend); -+ err = opkg_upgrade_package (parts[PK_PACKAGE_ID_NAME], pk_opkg_progress_cb, backend); - if (err) - handle_install_error (backend, err); - - -- pk_package_id_free (pi); -+ g_strfreev (parts); - pk_backend_finished (backend); - return (err != 0); - } -@@ -610,13 +608,13 @@ - */ - - static void --pk_opkg_list_upgradable_cb (opkg_t *_opkg, opkg_package_t *pkg, void *data) -+pk_opkg_list_upgradable_cb (pkg_t *pkg, void *data) - { -- PkBackend *backend = PK_BACKEND (data); -+ PkBackend *backend = (PkBackend*) data; - gchar *uid; - gint status; - -- if (pkg->installed) -+ if (pkg->state_status == SS_INSTALLED) - status = PK_INFO_ENUM_INSTALLED; - else - status = PK_INFO_ENUM_AVAILABLE; -@@ -631,7 +629,7 @@ - static gboolean - backend_get_updates_thread (PkBackend *backend) - { -- opkg_list_upgradable_packages (opkg, pk_opkg_list_upgradable_cb, backend); -+ opkg_list_upgradable_packages (pk_opkg_list_upgradable_cb, backend); - pk_backend_finished (backend); - return TRUE; - } -@@ -668,16 +666,18 @@ - static gboolean - backend_get_details_thread (PkBackend *backend) - { -- PkPackageId *pi; - gchar **package_ids; -+ gchar **parts; - int group_index; - PkGroupEnum group = 0; -- opkg_package_t *pkg; -+ pkg_t *pkg; - gchar *newid; - - package_ids = pk_backend_get_strv(backend, "package_ids"); -- pi = pk_package_id_new_from_string (package_ids[0]); -- if (pi == NULL) -+ parts = pk_package_id_split (package_ids[0]); -+ -+ -+ if (!parts) - { - pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_ID_INVALID, "invalid package id"); - pk_backend_finished (backend); -@@ -685,8 +685,8 @@ - } - - -- pkg = opkg_find_package (opkg, pi->name, pi->version, pi->arch, pi->data); -- pk_package_id_free (pi); -+ pkg = opkg_find_package (parts[PK_PACKAGE_ID_NAME], parts[PK_PACKAGE_ID_VERSION], parts[PK_PACKAGE_ID_ARCH], parts[PK_PACKAGE_ID_DATA]); -+ g_strfreev (parts); - - if (!pkg) - { -@@ -695,7 +695,7 @@ - return FALSE; - } - -- newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->repository); -+ newid = g_strdup_printf ("%s;%s;%s;%s", pkg->name, pkg->version, pkg->architecture, pkg->src->name); - - if (pkg->tags) { - for (group_index = 0; group < PK_GROUP_ENUM_LAST; group_index++) { -@@ -706,9 +706,8 @@ - } - } - -- pk_backend_details (backend, newid, NULL, group, pkg->description, pkg->url, pkg->size); -+ pk_backend_details (backend, newid, NULL, group, pkg->description, NULL, pkg->size); - g_free (newid); -- opkg_package_free(pkg); - pk_backend_finished (backend); - return TRUE; - } diff --git a/meta-moblin/packages/packagekit/packagekit_0.5.6.bb b/meta-moblin/packages/packagekit/packagekit_0.5.6.bb deleted file mode 100644 index 57f05650c1..0000000000 --- a/meta-moblin/packages/packagekit/packagekit_0.5.6.bb +++ /dev/null @@ -1,57 +0,0 @@ -DESCRIPTION = "PackageKit package management abstraction" -SECTION = "libs" -PRIORITY = "optional" -LICENSE = "GPL" -DEPENDS = "gtk+ python polkit dbus (>= 1.1.1) dbus-glib glib-2.0 sqlite3 opkg intltool intltool-native (>= 0.37.1) connman" -RDEPENDS_${PN} = "opkg" - -inherit gnome autotools - -SRC_URI = "http://www.packagekit.org/releases/PackageKit-${PV}.tar.gz \ - file://configurefix.patch;patch=1 \ - file://opkgfixes.patch;patch=1" -PR = "r1" - -S = "${WORKDIR}/PackageKit-${PV}" - -EXTRA_OECONF = "--with-security-framework=dummy \ - --with-default-backend=opkg \ - --enable-opkg \ - --disable-tests \ - --disable-qt \ - --disable-gstreamer-plugin \ - --disable-local \ - --disable-networkmanager \ - ac_cv_path_XMLTO=no \ - " - -do_configure_prepend() { - mkdir -p m4 - echo "EXTRA_DIST=" > gtk-doc.make -} - -do_configure_append() { - for i in $(find . -name Makefile) ; do - sed -i -e s:${STAGING_DIR_NATIVE}::g \ - -e s:${bindir}/mkdir:${STAGING_BINDIR_NATIVE}/mkdir:g \ - -e s:/usr/bin/intltool-merge:${STAGING_BINDIR_NATIVE}/intltool-merge:g \ - $i - done -} - - -PACKAGES =+ "${PN}-website" -FILES_${PN}-website = "${datadir}/PackageKit/website" - -PACKAGES =+ "${PN}-python" -FILES_${PN}-python = "${libdir}/python*" - -PACKAGES =+ "${PN}-gtkmodule" -FILES_${PN}-gtkmodule = "${libdir}/gtk-2.0/*/*.so" - -FILES_${PN} += "${libdir}/packagekit-backend/*.so ${libdir}/pm-utils ${datadir}/dbus-1/system-services/ ${datadir}/PolicyKit ${datadir}/PackageKit" -FILES_${PN}-dbg += "${libdir}/packagekit-backend/.debug/*.so ${libdir}/gtk-2.0/*/.debug" -FILES_${PN}-dev += "${libdir}/packagekit-backend/*a ${libdir}/gtk-2.0/*/*a" - - - diff --git a/meta-moblin/packages/pulseaudio/libatomics-ops/doublefix.patch b/meta-moblin/packages/pulseaudio/libatomics-ops/doublefix.patch deleted file mode 100644 index 2172cac41e..0000000000 --- a/meta-moblin/packages/pulseaudio/libatomics-ops/doublefix.patch +++ /dev/null @@ -1,25 +0,0 @@ -Double path references breaks recent autoconf+automake - -RP 2/1/10 - -Index: libatomic_ops-1.2/src/atomic_ops/sysdeps/Makefile.am -=================================================================== ---- libatomic_ops-1.2.orig/src/atomic_ops/sysdeps/Makefile.am 2005-09-28 00:53:16.000000000 +0100 -+++ libatomic_ops-1.2/src/atomic_ops/sysdeps/Makefile.am 2010-02-01 14:28:46.397820574 +0000 -@@ -25,7 +25,6 @@ - README \ - \ - gcc/alpha.h gcc/arm.h gcc/x86.h \ -- gcc/hppa.h gcc/ia64.h \ - gcc/powerpc.h gcc/sparc.h \ - gcc/hppa.h gcc/m68k.h gcc/s390.h \ - gcc/ia64.h gcc/x86_64.h gcc/cris.h \ -Index: libatomic_ops-1.2/doc/Makefile.am -=================================================================== ---- libatomic_ops-1.2.orig/doc/Makefile.am 2010-02-01 15:20:09.207788884 +0000 -+++ libatomic_ops-1.2/doc/Makefile.am 2010-02-01 15:20:20.909049794 +0000 -@@ -1,3 +1,3 @@ - # installed documentation - # --dist_pkgdata_DATA=COPYING LICENSING.txt README.txt COPYING README_stack.txt README_malloc.txt README_win32.txt -+dist_pkgdata_DATA=LICENSING.txt README.txt COPYING README_stack.txt README_malloc.txt README_win32.txt diff --git a/meta-moblin/packages/pulseaudio/libatomics-ops/fedora/libatomic_ops-1.2-ppclwzfix.patch b/meta-moblin/packages/pulseaudio/libatomics-ops/fedora/libatomic_ops-1.2-ppclwzfix.patch deleted file mode 100644 index 51161dbe0f..0000000000 --- a/meta-moblin/packages/pulseaudio/libatomics-ops/fedora/libatomic_ops-1.2-ppclwzfix.patch +++ /dev/null @@ -1,15 +0,0 @@ -http://cvs.fedoraproject.org/viewcvs/devel/libatomic_ops/libatomic_ops-1.2-ppclwzfix.patch - -* add fix for bad variable handling on PPC - ---- libatomic_ops-1.2.orig/src/atomic_ops/sysdeps/gcc/powerpc.h 2007-05-29 19:29:52.000000000 +0200 -+++ libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/powerpc.h 2007-05-29 19:30:48.000000000 +0200 -@@ -72,7 +72,7 @@ - /* registers. I always got "impossible constraint" when I */ - /* tried the "y" constraint. */ - __asm__ __volatile__ ( -- "lwz %0,%1\n" -+ "lwz%U1%X1 %0,%1\n" - "cmpw cr7,%0,%0\n" - "bne- cr7,1f\n" - "1: isync\n" diff --git a/meta-moblin/packages/pulseaudio/libatomics-ops_1.2.bb b/meta-moblin/packages/pulseaudio/libatomics-ops_1.2.bb deleted file mode 100644 index 207f1b1ec6..0000000000 --- a/meta-moblin/packages/pulseaudio/libatomics-ops_1.2.bb +++ /dev/null @@ -1,14 +0,0 @@ -DESCRIPTION = "A library for atomic integer operations" -LICENSE = "MIT" - -PR = "r4" - -SRC_URI = "http://www.hpl.hp.com/research/linux/atomic_ops/download/libatomic_ops-1.2.tar.gz \ - file://fedora/libatomic_ops-1.2-ppclwzfix.patch;patch=1 \ - file://doublefix.patch;patch=1" - -S = "${WORKDIR}/libatomic_ops-${PV}" - -ALLOW_EMPTY_${PN} = "1" - -inherit autotools pkgconfig diff --git a/meta-moblin/packages/pulseaudio/libcanberra/autoconf_version.patch b/meta-moblin/packages/pulseaudio/libcanberra/autoconf_version.patch deleted file mode 100644 index 73a2ea6e49..0000000000 --- a/meta-moblin/packages/pulseaudio/libcanberra/autoconf_version.patch +++ /dev/null @@ -1,38 +0,0 @@ -Allow a slightly older autoconf and disable the inbuild libltdl - -RP - 16/4/09 - -Index: libcanberra-0.10/Makefile.am -=================================================================== ---- libcanberra-0.10.orig/Makefile.am 2009-04-16 14:38:53.000000000 +0100 -+++ libcanberra-0.10/Makefile.am 2009-04-16 14:39:04.000000000 +0100 -@@ -19,7 +19,7 @@ - dist_doc_DATA = README - - EXTRA_DIST = bootstrap.sh autogen.sh LGPL libcanberra.schemas --SUBDIRS = src gtkdoc libltdl doc -+SUBDIRS = src gtkdoc doc - - MAINTAINERCLEANFILES = README - noinst_DATA = README -Index: libcanberra-0.10/configure.ac -=================================================================== ---- libcanberra-0.10.orig/configure.ac 2009-04-16 14:32:33.000000000 +0100 -+++ libcanberra-0.10/configure.ac 2009-04-16 14:37:50.000000000 +0100 -@@ -19,7 +19,7 @@ - # License along with libcanberra. If not, see - # . - --AC_PREREQ(2.62) -+AC_PREREQ(2.61) - - AC_INIT([libcanberra], 0.10, [mzyvopnaoreen (at) 0pointer (dot) de]) - AC_CONFIG_SRCDIR([src/common.c]) -@@ -70,7 +70,6 @@ - AC_PROG_LIBTOOL - AC_SUBST(LTDLINCL) - AC_SUBST(LIBLTDL) --AC_CONFIG_SUBDIRS(libltdl) - - #### Determine build environment #### - diff --git a/meta-moblin/packages/pulseaudio/libcanberra/nofallbackfix.patch b/meta-moblin/packages/pulseaudio/libcanberra/nofallbackfix.patch deleted file mode 100644 index 89a4fbf9f1..0000000000 --- a/meta-moblin/packages/pulseaudio/libcanberra/nofallbackfix.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: libcanberra-0.10/src/sound-theme-spec.c -=================================================================== ---- libcanberra-0.10.orig/src/sound-theme-spec.c 2009-05-22 17:08:23.000000000 +0100 -+++ libcanberra-0.10/src/sound-theme-spec.c 2009-05-22 17:12:50.000000000 +0100 -@@ -398,9 +398,9 @@ - if ((ret = load_theme_dir(t, name)) < 0) - goto fail; - -+ /* The fallback theme may intentionally not exist so ignore failure */ - if (!t->loaded_fallback_theme) -- if ((ret = load_theme_dir(t, FALLBACK_THEME)) < 0) -- goto fail; -+ load_theme_dir(t, FALLBACK_THEME); - - if (*_t) - ca_theme_data_free(*_t); diff --git a/meta-moblin/packages/pulseaudio/libcanberra_0.10.bb b/meta-moblin/packages/pulseaudio/libcanberra_0.10.bb deleted file mode 100644 index c6d25dccb0..0000000000 --- a/meta-moblin/packages/pulseaudio/libcanberra_0.10.bb +++ /dev/null @@ -1,22 +0,0 @@ -DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops." -LICENSE = "LGPL" -DEPENDS = "gtk+ pulseaudio alsa-lib libtool" -PR = "r3" - -inherit gconf autotools - -SRC_URI = "http://0pointer.de/lennart/projects/libcanberra/libcanberra-${PV}.tar.gz \ - file://nofallbackfix.patch;patch=1 \ - file://autoconf_version.patch;patch=1" - -EXTRA_OECONF = " --disable-oss --disable-ltdl-install" - -do_configure_prepend () { - rm -f ${S}/libltdl/configure* -} - -FILES_${PN} += "${libdir}/gtk-2.0/modules/ ${datadir}/gnome" -FILES_${PN}-dbg += "${libdir}/gtk-2.0/modules/.debug" - -AUTOTOOLS_STAGE_PKGCONFIG = "1" - diff --git a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/alsaerror.patch b/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/alsaerror.patch deleted file mode 100644 index 2efa3e89b8..0000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/alsaerror.patch +++ /dev/null @@ -1,525 +0,0 @@ -From: Lennart Poettering -Date: Sun, 19 Apr 2009 17:22:51 +0000 (+0200) -Subject: alsa: properly convert return values of snd_strerror() to utf8 -X-Git-Url: http://git.0pointer.de/?p=pulseaudio.git;a=commitdiff_plain;h=98a25c506e692ab091b4af7e1b37e8432fc08e8f - -alsa: properly convert return values of snd_strerror() to utf8 ---- - -diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c -index 2fbcd7b..41e8b47 100644 ---- a/src/modules/alsa/alsa-sink.c -+++ b/src/modules/alsa/alsa-sink.c -@@ -281,7 +281,7 @@ static int try_recover(struct userdata *u, const char *call, int err) { - pa_assert(call); - pa_assert(err < 0); - -- pa_log_debug("%s: %s", call, snd_strerror(err)); -+ pa_log_debug("%s: %s", call, pa_alsa_strerror(err)); - - pa_assert(err != -EAGAIN); - -@@ -289,7 +289,7 @@ static int try_recover(struct userdata *u, const char *call, int err) { - pa_log_debug("%s: Buffer underrun!", call); - - if ((err = snd_pcm_recover(u->pcm_handle, err, 1)) < 0) { -- pa_log("%s: %s", call, snd_strerror(err)); -+ pa_log("%s: %s", call, pa_alsa_strerror(err)); - return -1; - } - -@@ -636,12 +636,12 @@ static void update_smoother(struct userdata *u) { - /* Let's update the time smoother */ - - if (PA_UNLIKELY((err = pa_alsa_safe_delay(u->pcm_handle, &delay, u->hwbuf_size, &u->sink->sample_spec)) < 0)) { -- pa_log_warn("Failed to query DSP status data: %s", snd_strerror(err)); -+ pa_log_warn("Failed to query DSP status data: %s", pa_alsa_strerror(err)); - return; - } - - if (PA_UNLIKELY((err = snd_pcm_status(u->pcm_handle, status)) < 0)) -- pa_log_warn("Failed to get timestamp: %s", snd_strerror(err)); -+ pa_log_warn("Failed to get timestamp: %s", pa_alsa_strerror(err)); - else { - snd_htimestamp_t htstamp = { 0, 0 }; - snd_pcm_status_get_htstamp(status, &htstamp); -@@ -764,7 +764,7 @@ static int update_sw_params(struct userdata *u) { - pa_log_debug("setting avail_min=%lu", (unsigned long) avail_min); - - if ((err = pa_alsa_set_sw_params(u->pcm_handle, avail_min)) < 0) { -- pa_log("Failed to set software parameters: %s", snd_strerror(err)); -+ pa_log("Failed to set software parameters: %s", pa_alsa_strerror(err)); - return err; - } - -@@ -792,7 +792,7 @@ static int unsuspend(struct userdata *u) { - SND_PCM_NO_AUTO_RESAMPLE| - SND_PCM_NO_AUTO_CHANNELS| - SND_PCM_NO_AUTO_FORMAT)) < 0) { -- pa_log("Error opening PCM device %s: %s", u->device_name, snd_strerror(err)); -+ pa_log("Error opening PCM device %s: %s", u->device_name, pa_alsa_strerror(err)); - goto fail; - } - -@@ -803,7 +803,7 @@ static int unsuspend(struct userdata *u) { - d = u->use_tsched; - - if ((err = pa_alsa_set_hw_params(u->pcm_handle, &ss, &nfrags, &period_size, u->hwbuf_size / u->frame_size, &b, &d, TRUE)) < 0) { -- pa_log("Failed to set hardware parameters: %s", snd_strerror(err)); -+ pa_log("Failed to set hardware parameters: %s", pa_alsa_strerror(err)); - goto fail; - } - -@@ -1030,7 +1030,7 @@ static void sink_get_volume_cb(pa_sink *s) { - return; - - fail: -- pa_log_error("Unable to read volume: %s", snd_strerror(err)); -+ pa_log_error("Unable to read volume: %s", pa_alsa_strerror(err)); - } - - static void sink_set_volume_cb(pa_sink *s) { -@@ -1141,7 +1141,7 @@ static void sink_set_volume_cb(pa_sink *s) { - return; - - fail: -- pa_log_error("Unable to set volume: %s", snd_strerror(err)); -+ pa_log_error("Unable to set volume: %s", pa_alsa_strerror(err)); - } - - static void sink_get_mute_cb(pa_sink *s) { -@@ -1152,7 +1152,7 @@ static void sink_get_mute_cb(pa_sink *s) { - pa_assert(u->mixer_elem); - - if ((err = snd_mixer_selem_get_playback_switch(u->mixer_elem, 0, &sw)) < 0) { -- pa_log_error("Unable to get switch: %s", snd_strerror(err)); -+ pa_log_error("Unable to get switch: %s", pa_alsa_strerror(err)); - return; - } - -@@ -1167,7 +1167,7 @@ static void sink_set_mute_cb(pa_sink *s) { - pa_assert(u->mixer_elem); - - if ((err = snd_mixer_selem_set_playback_switch_all(u->mixer_elem, !s->muted)) < 0) { -- pa_log_error("Unable to set switch: %s", snd_strerror(err)); -+ pa_log_error("Unable to set switch: %s", pa_alsa_strerror(err)); - return; - } - } -@@ -1206,7 +1206,7 @@ static int process_rewind(struct userdata *u) { - pa_log_debug("Requested to rewind %lu bytes.", (unsigned long) rewind_nbytes); - - if (PA_UNLIKELY((unused = pa_alsa_safe_avail(u->pcm_handle, u->hwbuf_size, &u->sink->sample_spec)) < 0)) { -- pa_log("snd_pcm_avail() failed: %s", snd_strerror((int) unused)); -+ pa_log("snd_pcm_avail() failed: %s", pa_alsa_strerror((int) unused)); - return -1; - } - -@@ -1228,7 +1228,7 @@ static int process_rewind(struct userdata *u) { - in_frames = (snd_pcm_sframes_t) (rewind_nbytes / u->frame_size); - pa_log_debug("before: %lu", (unsigned long) in_frames); - if ((out_frames = snd_pcm_rewind(u->pcm_handle, (snd_pcm_uframes_t) in_frames)) < 0) { -- pa_log("snd_pcm_rewind() failed: %s", snd_strerror((int) out_frames)); -+ pa_log("snd_pcm_rewind() failed: %s", pa_alsa_strerror((int) out_frames)); - return -1; - } - pa_log_debug("after: %lu", (unsigned long) out_frames); -@@ -1359,7 +1359,7 @@ static void thread_func(void *userdata) { - pollfd = pa_rtpoll_item_get_pollfd(u->alsa_rtpoll_item, &n); - - if ((err = snd_pcm_poll_descriptors_revents(u->pcm_handle, pollfd, n, &revents)) < 0) { -- pa_log("snd_pcm_poll_descriptors_revents() failed: %s", snd_strerror(err)); -+ pa_log("snd_pcm_poll_descriptors_revents() failed: %s", pa_alsa_strerror(err)); - goto fail; - } - -diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c -index c59fc75..843f70b 100644 ---- a/src/modules/alsa/alsa-source.c -+++ b/src/modules/alsa/alsa-source.c -@@ -278,7 +278,7 @@ static int try_recover(struct userdata *u, const char *call, int err) { - pa_assert(call); - pa_assert(err < 0); - -- pa_log_debug("%s: %s", call, snd_strerror(err)); -+ pa_log_debug("%s: %s", call, pa_alsa_strerror(err)); - - pa_assert(err != -EAGAIN); - -@@ -286,7 +286,7 @@ static int try_recover(struct userdata *u, const char *call, int err) { - pa_log_debug("%s: Buffer overrun!", call); - - if ((err = snd_pcm_recover(u->pcm_handle, err, 1)) < 0) { -- pa_log("%s: %s", call, snd_strerror(err)); -+ pa_log("%s: %s", call, pa_alsa_strerror(err)); - return -1; - } - -@@ -606,12 +606,12 @@ static void update_smoother(struct userdata *u) { - /* Let's update the time smoother */ - - if (PA_UNLIKELY((err = pa_alsa_safe_delay(u->pcm_handle, &delay, u->hwbuf_size, &u->source->sample_spec)) < 0)) { -- pa_log_warn("Failed to get delay: %s", snd_strerror(err)); -+ pa_log_warn("Failed to get delay: %s", pa_alsa_strerror(err)); - return; - } - - if (PA_UNLIKELY((err = snd_pcm_status(u->pcm_handle, status)) < 0)) -- pa_log_warn("Failed to get timestamp: %s", snd_strerror(err)); -+ pa_log_warn("Failed to get timestamp: %s", pa_alsa_strerror(err)); - else { - snd_htimestamp_t htstamp = { 0, 0 }; - snd_pcm_status_get_htstamp(status, &htstamp); -@@ -721,7 +721,7 @@ static int update_sw_params(struct userdata *u) { - pa_log_debug("setting avail_min=%lu", (unsigned long) avail_min); - - if ((err = pa_alsa_set_sw_params(u->pcm_handle, avail_min)) < 0) { -- pa_log("Failed to set software parameters: %s", snd_strerror(err)); -+ pa_log("Failed to set software parameters: %s", pa_alsa_strerror(err)); - return err; - } - -@@ -747,7 +747,7 @@ static int unsuspend(struct userdata *u) { - SND_PCM_NO_AUTO_RESAMPLE| - SND_PCM_NO_AUTO_CHANNELS| - SND_PCM_NO_AUTO_FORMAT)) < 0) { -- pa_log("Error opening PCM device %s: %s", u->device_name, snd_strerror(err)); -+ pa_log("Error opening PCM device %s: %s", u->device_name, pa_alsa_strerror(err)); - goto fail; - } - -@@ -758,7 +758,7 @@ static int unsuspend(struct userdata *u) { - d = u->use_tsched; - - if ((err = pa_alsa_set_hw_params(u->pcm_handle, &ss, &nfrags, &period_size, u->hwbuf_size / u->frame_size, &b, &d, TRUE)) < 0) { -- pa_log("Failed to set hardware parameters: %s", snd_strerror(err)); -+ pa_log("Failed to set hardware parameters: %s", pa_alsa_strerror(err)); - goto fail; - } - -@@ -988,7 +988,7 @@ static void source_get_volume_cb(pa_source *s) { - return; - - fail: -- pa_log_error("Unable to read volume: %s", snd_strerror(err)); -+ pa_log_error("Unable to read volume: %s", pa_alsa_strerror(err)); - } - - static void source_set_volume_cb(pa_source *s) { -@@ -1100,7 +1100,7 @@ static void source_set_volume_cb(pa_source *s) { - return; - - fail: -- pa_log_error("Unable to set volume: %s", snd_strerror(err)); -+ pa_log_error("Unable to set volume: %s", pa_alsa_strerror(err)); - } - - static void source_get_mute_cb(pa_source *s) { -@@ -1111,7 +1111,7 @@ static void source_get_mute_cb(pa_source *s) { - pa_assert(u->mixer_elem); - - if ((err = snd_mixer_selem_get_capture_switch(u->mixer_elem, 0, &sw)) < 0) { -- pa_log_error("Unable to get switch: %s", snd_strerror(err)); -+ pa_log_error("Unable to get switch: %s", pa_alsa_strerror(err)); - return; - } - -@@ -1126,7 +1126,7 @@ static void source_set_mute_cb(pa_source *s) { - pa_assert(u->mixer_elem); - - if ((err = snd_mixer_selem_set_capture_switch_all(u->mixer_elem, !s->muted)) < 0) { -- pa_log_error("Unable to set switch: %s", snd_strerror(err)); -+ pa_log_error("Unable to set switch: %s", pa_alsa_strerror(err)); - return; - } - } -@@ -1218,7 +1218,7 @@ static void thread_func(void *userdata) { - pollfd = pa_rtpoll_item_get_pollfd(u->alsa_rtpoll_item, &n); - - if ((err = snd_pcm_poll_descriptors_revents(u->pcm_handle, pollfd, n, &revents)) < 0) { -- pa_log("snd_pcm_poll_descriptors_revents() failed: %s", snd_strerror(err)); -+ pa_log("snd_pcm_poll_descriptors_revents() failed: %s", pa_alsa_strerror(err)); - goto fail; - } - -diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c -index d2dc6e8..ddc3c77 100644 ---- a/src/modules/alsa/alsa-util.c -+++ b/src/modules/alsa/alsa-util.c -@@ -33,6 +33,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -40,6 +41,7 @@ - #include - #include - #include -+#include - - #include "alsa-util.h" - -@@ -106,7 +108,7 @@ static void io_cb(pa_mainloop_api*a, pa_io_event* e, int fd, pa_io_event_flags_t - pa_assert(i != fdl->num_fds); - - if ((err = snd_mixer_poll_descriptors_revents(fdl->mixer, fdl->work_fds, fdl->num_fds, &revents)) < 0) { -- pa_log_error("Unable to get poll revent: %s", snd_strerror(err)); -+ pa_log_error("Unable to get poll revent: %s", pa_alsa_strerror(err)); - return; - } - -@@ -129,7 +131,7 @@ static void defer_cb(pa_mainloop_api*a, pa_defer_event* e, void *userdata) { - a->defer_enable(fdl->defer, 0); - - if ((n = snd_mixer_poll_descriptors_count(fdl->mixer)) < 0) { -- pa_log("snd_mixer_poll_descriptors_count() failed: %s", snd_strerror(n)); -+ pa_log("snd_mixer_poll_descriptors_count() failed: %s", pa_alsa_strerror(n)); - return; - } - num_fds = (unsigned) n; -@@ -146,7 +148,7 @@ static void defer_cb(pa_mainloop_api*a, pa_defer_event* e, void *userdata) { - memset(fdl->work_fds, 0, sizeof(struct pollfd) * num_fds); - - if ((err = snd_mixer_poll_descriptors(fdl->mixer, fdl->work_fds, num_fds)) < 0) { -- pa_log_error("Unable to get poll descriptors: %s", snd_strerror(err)); -+ pa_log_error("Unable to get poll descriptors: %s", pa_alsa_strerror(err)); - return; - } - -@@ -482,42 +484,42 @@ int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min) { - snd_pcm_sw_params_alloca(&swparams); - - if ((err = snd_pcm_sw_params_current(pcm, swparams) < 0)) { -- pa_log_warn("Unable to determine current swparams: %s\n", snd_strerror(err)); -+ pa_log_warn("Unable to determine current swparams: %s\n", pa_alsa_strerror(err)); - return err; - } - - if ((err = snd_pcm_sw_params_set_period_event(pcm, swparams, 0)) < 0) { -- pa_log_warn("Unable to disable period event: %s\n", snd_strerror(err)); -+ pa_log_warn("Unable to disable period event: %s\n", pa_alsa_strerror(err)); - return err; - } - - if ((err = snd_pcm_sw_params_set_tstamp_mode(pcm, swparams, SND_PCM_TSTAMP_ENABLE)) < 0) { -- pa_log_warn("Unable to enable time stamping: %s\n", snd_strerror(err)); -+ pa_log_warn("Unable to enable time stamping: %s\n", pa_alsa_strerror(err)); - return err; - } - - if ((err = snd_pcm_sw_params_get_boundary(swparams, &boundary)) < 0) { -- pa_log_warn("Unable to get boundary: %s\n", snd_strerror(err)); -+ pa_log_warn("Unable to get boundary: %s\n", pa_alsa_strerror(err)); - return err; - } - - if ((err = snd_pcm_sw_params_set_stop_threshold(pcm, swparams, boundary)) < 0) { -- pa_log_warn("Unable to set stop threshold: %s\n", snd_strerror(err)); -+ pa_log_warn("Unable to set stop threshold: %s\n", pa_alsa_strerror(err)); - return err; - } - - if ((err = snd_pcm_sw_params_set_start_threshold(pcm, swparams, (snd_pcm_uframes_t) -1)) < 0) { -- pa_log_warn("Unable to set start threshold: %s\n", snd_strerror(err)); -+ pa_log_warn("Unable to set start threshold: %s\n", pa_alsa_strerror(err)); - return err; - } - - if ((err = snd_pcm_sw_params_set_avail_min(pcm, swparams, avail_min)) < 0) { -- pa_log_error("snd_pcm_sw_params_set_avail_min() failed: %s", snd_strerror(err)); -+ pa_log_error("snd_pcm_sw_params_set_avail_min() failed: %s", pa_alsa_strerror(err)); - return err; - } - - if ((err = snd_pcm_sw_params(pcm, swparams)) < 0) { -- pa_log_warn("Unable to set sw params: %s\n", snd_strerror(err)); -+ pa_log_warn("Unable to set sw params: %s\n", pa_alsa_strerror(err)); - return err; - } - -@@ -854,7 +856,7 @@ snd_pcm_t *pa_alsa_open_by_device_string( - SND_PCM_NO_AUTO_RESAMPLE| - SND_PCM_NO_AUTO_CHANNELS| - (reformat ? 0 : SND_PCM_NO_AUTO_FORMAT))) < 0) { -- pa_log_info("Error opening PCM device %s: %s", d, snd_strerror(err)); -+ pa_log_info("Error opening PCM device %s: %s", d, pa_alsa_strerror(err)); - goto fail; - } - -@@ -882,7 +884,7 @@ snd_pcm_t *pa_alsa_open_by_device_string( - continue; - } - -- pa_log_info("Failed to set hardware parameters on %s: %s", d, snd_strerror(err)); -+ pa_log_info("Failed to set hardware parameters on %s: %s", d, pa_alsa_strerror(err)); - snd_pcm_close(pcm_handle); - - goto fail; -@@ -1000,17 +1002,17 @@ int pa_alsa_prepare_mixer(snd_mixer_t *mixer, const char *dev) { - pa_assert(dev); - - if ((err = snd_mixer_attach(mixer, dev)) < 0) { -- pa_log_info("Unable to attach to mixer %s: %s", dev, snd_strerror(err)); -+ pa_log_info("Unable to attach to mixer %s: %s", dev, pa_alsa_strerror(err)); - return -1; - } - - if ((err = snd_mixer_selem_register(mixer, NULL, NULL)) < 0) { -- pa_log_warn("Unable to register mixer: %s", snd_strerror(err)); -+ pa_log_warn("Unable to register mixer: %s", pa_alsa_strerror(err)); - return -1; - } - - if ((err = snd_mixer_load(mixer)) < 0) { -- pa_log_warn("Unable to load mixer: %s", snd_strerror(err)); -+ pa_log_warn("Unable to load mixer: %s", pa_alsa_strerror(err)); - return -1; - } - -@@ -1136,7 +1138,7 @@ int pa_alsa_find_mixer_and_elem( - } - - if ((err = snd_mixer_open(&m, 0)) < 0) { -- pa_log("Error opening mixer: %s", snd_strerror(err)); -+ pa_log("Error opening mixer: %s", pa_alsa_strerror(err)); - return -1; - } - -@@ -1338,7 +1340,7 @@ void pa_alsa_dump(pa_log_level_t level, snd_pcm_t *pcm) { - pa_assert_se(snd_output_buffer_open(&out) == 0); - - if ((err = snd_pcm_dump(pcm, out)) < 0) -- pa_logl(level, "snd_pcm_dump(): %s", snd_strerror(err)); -+ pa_logl(level, "snd_pcm_dump(): %s", pa_alsa_strerror(err)); - else { - char *s = NULL; - snd_output_buffer_string(out, &s); -@@ -1362,7 +1364,7 @@ void pa_alsa_dump_status(snd_pcm_t *pcm) { - pa_assert_se(snd_pcm_status(pcm, status) == 0); - - if ((err = snd_pcm_status_dump(status, out)) < 0) -- pa_log_debug("snd_pcm_dump(): %s", snd_strerror(err)); -+ pa_log_debug("snd_pcm_dump(): %s", pa_alsa_strerror(err)); - else { - char *s = NULL; - snd_output_buffer_string(out, &s); -@@ -1524,7 +1526,7 @@ void pa_alsa_init_proplist_pcm(pa_core *c, pa_proplist *p, snd_pcm_t *pcm, snd_m - snd_pcm_info_alloca(&info); - - if ((err = snd_pcm_hw_params_current(pcm, hwparams)) < 0) -- pa_log_warn("Error fetching hardware parameter info: %s", snd_strerror(err)); -+ pa_log_warn("Error fetching hardware parameter info: %s", pa_alsa_strerror(err)); - else { - - if ((bits = snd_pcm_hw_params_get_sbits(hwparams)) >= 0) -@@ -1535,7 +1537,7 @@ void pa_alsa_init_proplist_pcm(pa_core *c, pa_proplist *p, snd_pcm_t *pcm, snd_m - pa_proplist_sets(p, "alsa.mixer_element", snd_mixer_selem_get_name(elem)); - - if ((err = snd_pcm_info(pcm, info)) < 0) -- pa_log_warn("Error fetching PCM info: %s", snd_strerror(err)); -+ pa_log_warn("Error fetching PCM info: %s", pa_alsa_strerror(err)); - else - pa_alsa_init_proplist_pcm_info(c, p, info); - } -@@ -1568,14 +1570,14 @@ int pa_alsa_recover_from_poll(snd_pcm_t *pcm, int revents) { - - case SND_PCM_STATE_XRUN: - if ((err = snd_pcm_recover(pcm, -EPIPE, 1)) != 0) { -- pa_log_warn("Could not recover from POLLERR|POLLNVAL|POLLHUP and XRUN: %s", snd_strerror(err)); -+ pa_log_warn("Could not recover from POLLERR|POLLNVAL|POLLHUP and XRUN: %s", pa_alsa_strerror(err)); - return -1; - } - break; - - case SND_PCM_STATE_SUSPENDED: - if ((err = snd_pcm_recover(pcm, -ESTRPIPE, 1)) != 0) { -- pa_log_warn("Could not recover from POLLERR|POLLNVAL|POLLHUP and SUSPENDED: %s", snd_strerror(err)); -+ pa_log_warn("Could not recover from POLLERR|POLLNVAL|POLLHUP and SUSPENDED: %s", pa_alsa_strerror(err)); - return -1; - } - break; -@@ -1585,7 +1587,7 @@ int pa_alsa_recover_from_poll(snd_pcm_t *pcm, int revents) { - snd_pcm_drop(pcm); - - if ((err = snd_pcm_prepare(pcm)) < 0) { -- pa_log_warn("Could not recover from POLLERR|POLLNVAL|POLLHUP with snd_pcm_prepare(): %s", snd_strerror(err)); -+ pa_log_warn("Could not recover from POLLERR|POLLNVAL|POLLHUP with snd_pcm_prepare(): %s", pa_alsa_strerror(err)); - return -1; - } - break; -@@ -1602,7 +1604,7 @@ pa_rtpoll_item* pa_alsa_build_pollfd(snd_pcm_t *pcm, pa_rtpoll *rtpoll) { - pa_assert(pcm); - - if ((n = snd_pcm_poll_descriptors_count(pcm)) < 0) { -- pa_log("snd_pcm_poll_descriptors_count() failed: %s", snd_strerror(n)); -+ pa_log("snd_pcm_poll_descriptors_count() failed: %s", pa_alsa_strerror(n)); - return NULL; - } - -@@ -1610,7 +1612,7 @@ pa_rtpoll_item* pa_alsa_build_pollfd(snd_pcm_t *pcm, pa_rtpoll *rtpoll) { - pollfd = pa_rtpoll_item_get_pollfd(item, NULL); - - if ((err = snd_pcm_poll_descriptors(pcm, pollfd, (unsigned) n)) < 0) { -- pa_log("snd_pcm_poll_descriptors() failed: %s", snd_strerror(err)); -+ pa_log("snd_pcm_poll_descriptors() failed: %s", pa_alsa_strerror(err)); - pa_rtpoll_item_free(item); - return NULL; - } -@@ -1819,3 +1821,30 @@ pa_bool_t pa_alsa_pcm_is_modem(snd_pcm_t *pcm) { - - return snd_pcm_info_get_class(info) == SND_PCM_CLASS_MODEM; - } -+ -+PA_STATIC_TLS_DECLARE(cstrerror, pa_xfree); -+ -+const char* pa_alsa_strerror(int errnum) { -+ const char *original = NULL; -+ char *translated, *t; -+ char errbuf[128]; -+ -+ if ((t = PA_STATIC_TLS_GET(cstrerror))) -+ pa_xfree(t); -+ -+ original = snd_strerror(errnum); -+ -+ if (!original) { -+ pa_snprintf(errbuf, sizeof(errbuf), "Unknown error %i", errnum); -+ original = errbuf; -+ } -+ -+ if (!(translated = pa_locale_to_utf8(original))) { -+ pa_log_warn("Unable to convert error string to locale, filtering."); -+ translated = pa_utf8_filter(original); -+ } -+ -+ PA_STATIC_TLS_SET(cstrerror, translated); -+ -+ return translated; -+} -diff --git a/src/modules/alsa/alsa-util.h b/src/modules/alsa/alsa-util.h -index c8acc7c..77ac8a7 100644 ---- a/src/modules/alsa/alsa-util.h -+++ b/src/modules/alsa/alsa-util.h -@@ -146,4 +146,6 @@ pa_bool_t pa_alsa_pcm_is_hw(snd_pcm_t *pcm); - - pa_bool_t pa_alsa_pcm_is_modem(snd_pcm_t *pcm); - -+const char* pa_alsa_strerror(int errnum); -+ - #endif -diff --git a/src/modules/alsa/module-alsa-card.c b/src/modules/alsa/module-alsa-card.c -index fdc952d..51d466e 100644 ---- a/src/modules/alsa/module-alsa-card.c -+++ b/src/modules/alsa/module-alsa-card.c -@@ -304,7 +304,7 @@ int pa__init(pa_module *m) { - u->modargs = ma; - - if ((alsa_card_index = snd_card_get_index(u->device_id)) < 0) { -- pa_log("Card '%s' doesn't exist: %s", u->device_id, snd_strerror(alsa_card_index)); -+ pa_log("Card '%s' doesn't exist: %s", u->device_id, pa_alsa_strerror(alsa_card_index)); - goto fail; - } - diff --git a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/autoconf_version.patch b/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/autoconf_version.patch deleted file mode 100644 index 7a0759da13..0000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/autoconf_version.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: pulseaudio-0.9.15/configure.ac -=================================================================== ---- pulseaudio-0.9.15.orig/configure.ac 2009-04-14 00:09:53.000000000 +0100 -+++ pulseaudio-0.9.15/configure.ac 2009-05-22 11:32:50.000000000 +0100 -@@ -20,7 +20,7 @@ - # along with PulseAudio; if not, write to the Free Software Foundation, - # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - --AC_PREREQ(2.63) -+AC_PREREQ(2.61) - - m4_define(pa_major, [0]) - m4_define(pa_minor, [9]) diff --git a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/buildfix.patch b/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/buildfix.patch deleted file mode 100644 index ca01e0d80f..0000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/buildfix.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: pulseaudio-0.9.11/src/pulsecore/atomic.h -=================================================================== ---- pulseaudio-0.9.11.orig/src/pulsecore/atomic.h -+++ pulseaudio-0.9.11/src/pulsecore/atomic.h -@@ -40,6 +40,8 @@ - #error "Please include config.h before including this file!" - #endif - -+#include "macro.h" -+ - #ifdef HAVE_ATOMIC_BUILTINS - - /* __sync based implementation */ diff --git a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/fallback.patch b/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/fallback.patch deleted file mode 100644 index 2fae0d4e78..0000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/fallback.patch +++ /dev/null @@ -1,338 +0,0 @@ -From: Lennart Poettering -Date: Tue, 28 Apr 2009 23:58:18 +0000 (+0200) -Subject: alsa: allow configuration of fallback device strings in profiles -X-Git-Url: http://git.0pointer.de/?p=pulseaudio.git;a=commitdiff_plain;h=d8710711fb0c74b4ad83ac99c2501218155b502b - -alsa: allow configuration of fallback device strings in profiles - -This has the benefit that we can properly support ALSA devices where -only the raw 'hw' device exists but no 'front' although it's a proper -2ch stereo device. ---- - -diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c -index 18d6880..a3a0450 100644 ---- a/src/modules/alsa/alsa-util.c -+++ b/src/modules/alsa/alsa-util.c -@@ -528,7 +528,7 @@ int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min) { - - static const struct pa_alsa_profile_info device_table[] = { - {{ 1, { PA_CHANNEL_POSITION_MONO }}, -- "hw", -+ "hw", NULL, - N_("Analog Mono"), - "analog-mono", - 1, -@@ -536,7 +536,7 @@ static const struct pa_alsa_profile_info device_table[] = { - "Capture", "Mic" }, - - {{ 2, { PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT }}, -- "front", -+ "front", "hw", - N_("Analog Stereo"), - "analog-stereo", - 10, -@@ -544,7 +544,7 @@ static const struct pa_alsa_profile_info device_table[] = { - "Capture", "Mic" }, - - {{ 2, { PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT }}, -- "iec958", -+ "iec958", NULL, - N_("Digital Stereo (IEC958)"), - "iec958-stereo", - 5, -@@ -552,7 +552,7 @@ static const struct pa_alsa_profile_info device_table[] = { - "IEC958 In", NULL }, - - {{ 2, { PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT }}, -- "hdmi", -+ "hdmi", NULL, - N_("Digital Stereo (HDMI)"), - "hdmi-stereo", - 4, -@@ -561,7 +561,7 @@ static const struct pa_alsa_profile_info device_table[] = { - - {{ 4, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, - PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT }}, -- "surround40", -+ "surround40", NULL, - N_("Analog Surround 4.0"), - "analog-surround-40", - 7, -@@ -570,7 +570,7 @@ static const struct pa_alsa_profile_info device_table[] = { - - {{ 4, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, - PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT }}, -- "a52", -+ "a52", NULL, - N_("Digital Surround 4.0 (IEC958/AC3)"), - "iec958-ac3-surround-40", - 2, -@@ -580,7 +580,7 @@ static const struct pa_alsa_profile_info device_table[] = { - {{ 5, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, - PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, - PA_CHANNEL_POSITION_LFE }}, -- "surround41", -+ "surround41", NULL, - N_("Analog Surround 4.1"), - "analog-surround-41", - 7, -@@ -590,7 +590,7 @@ static const struct pa_alsa_profile_info device_table[] = { - {{ 5, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, - PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, - PA_CHANNEL_POSITION_CENTER }}, -- "surround50", -+ "surround50", NULL, - N_("Analog Surround 5.0"), - "analog-surround-50", - 7, -@@ -600,7 +600,7 @@ static const struct pa_alsa_profile_info device_table[] = { - {{ 6, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, - PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, - PA_CHANNEL_POSITION_CENTER, PA_CHANNEL_POSITION_LFE }}, -- "surround51", -+ "surround51", NULL, - N_("Analog Surround 5.1"), - "analog-surround-51", - 8, -@@ -610,7 +610,7 @@ static const struct pa_alsa_profile_info device_table[] = { - {{ 6, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, - PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, - PA_CHANNEL_POSITION_FRONT_CENTER, PA_CHANNEL_POSITION_LFE}}, -- "a52", -+ "a52", NULL, - N_("Digital Surround 5.1 (IEC958/AC3)"), - "iec958-ac3-surround-51", - 3, -@@ -621,16 +621,72 @@ static const struct pa_alsa_profile_info device_table[] = { - PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, - PA_CHANNEL_POSITION_CENTER, PA_CHANNEL_POSITION_LFE, - PA_CHANNEL_POSITION_SIDE_LEFT, PA_CHANNEL_POSITION_SIDE_RIGHT }}, -- "surround71", -+ "surround71", NULL, - N_("Analog Surround 7.1"), - "analog-surround-71", - 7, - "Master", "PCM", - "Capture", "Mic" }, - -- {{ 0, { 0 }}, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL } -+ {{ 0, { 0 }}, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL } - }; - -+static snd_pcm_t *open_by_device_string_with_fallback( -+ const char *prefix, -+ const char *prefix_fallback, -+ const char *dev_id, -+ char **dev, -+ pa_sample_spec *ss, -+ pa_channel_map* map, -+ int mode, -+ uint32_t *nfrags, -+ snd_pcm_uframes_t *period_size, -+ snd_pcm_uframes_t tsched_size, -+ pa_bool_t *use_mmap, -+ pa_bool_t *use_tsched, -+ pa_bool_t require_exact_channel_number) { -+ -+ snd_pcm_t *pcm_handle; -+ char *d; -+ -+ d = pa_sprintf_malloc("%s:%s", prefix, dev_id); -+ -+ pcm_handle = pa_alsa_open_by_device_string( -+ d, -+ dev, -+ ss, -+ map, -+ mode, -+ nfrags, -+ period_size, -+ tsched_size, -+ use_mmap, -+ use_tsched, -+ require_exact_channel_number); -+ pa_xfree(d); -+ -+ if (!pcm_handle && prefix_fallback) { -+ -+ d = pa_sprintf_malloc("%s:%s", prefix_fallback, dev_id); -+ -+ pcm_handle = pa_alsa_open_by_device_string( -+ d, -+ dev, -+ ss, -+ map, -+ mode, -+ nfrags, -+ period_size, -+ tsched_size, -+ use_mmap, -+ use_tsched, -+ require_exact_channel_number); -+ pa_xfree(d); -+ } -+ -+ return pcm_handle; -+} -+ - snd_pcm_t *pa_alsa_open_by_device_id_auto( - const char *dev_id, - char **dev, -@@ -671,14 +727,14 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto( - - pa_log_debug("Checking for %s (%s)", device_table[i].name, device_table[i].alsa_name); - -- d = pa_sprintf_malloc("%s:%s", device_table[i].alsa_name, dev_id); -- - try_ss.channels = device_table[i].map.channels; - try_ss.rate = ss->rate; - try_ss.format = ss->format; - -- pcm_handle = pa_alsa_open_by_device_string( -- d, -+ pcm_handle = open_by_device_string_with_fallback( -+ device_table[i].alsa_name, -+ device_table[i].alsa_name_fallback, -+ dev_id, - dev, - &try_ss, - map, -@@ -690,8 +746,6 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto( - use_tsched, - TRUE); - -- pa_xfree(d); -- - if (pcm_handle) { - - *ss = try_ss; -@@ -703,6 +757,7 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto( - - return pcm_handle; - } -+ - } - - if (direction > 0) { -@@ -775,7 +830,6 @@ snd_pcm_t *pa_alsa_open_by_device_id_profile( - pa_bool_t *use_tsched, - const pa_alsa_profile_info *profile) { - -- char *d; - snd_pcm_t *pcm_handle; - pa_sample_spec try_ss; - -@@ -787,14 +841,14 @@ snd_pcm_t *pa_alsa_open_by_device_id_profile( - pa_assert(period_size); - pa_assert(profile); - -- d = pa_sprintf_malloc("%s:%s", profile->alsa_name, dev_id); -- - try_ss.channels = profile->map.channels; - try_ss.rate = ss->rate; - try_ss.format = ss->format; - -- pcm_handle = pa_alsa_open_by_device_string( -- d, -+ pcm_handle = open_by_device_string_with_fallback( -+ profile->alsa_name, -+ profile->alsa_name_fallback, -+ dev_id, - dev, - &try_ss, - map, -@@ -806,8 +860,6 @@ snd_pcm_t *pa_alsa_open_by_device_id_profile( - use_tsched, - TRUE); - -- pa_xfree(d); -- - if (!pcm_handle) - return NULL; - -@@ -860,6 +912,8 @@ snd_pcm_t *pa_alsa_open_by_device_string( - goto fail; - } - -+ pa_log_debug("Managed to open %s", d); -+ - if ((err = pa_alsa_set_hw_params(pcm_handle, ss, nfrags, period_size, tsched_size, use_mmap, use_tsched, require_exact_channel_number)) < 0) { - - if (!reformat) { -@@ -928,26 +982,25 @@ int pa_alsa_probe_profiles( - snd_pcm_t *pcm_i = NULL; - - if (i->alsa_name) { -- char *id; - pa_sample_spec try_ss; - pa_channel_map try_map; - - pa_log_debug("Checking for playback on %s (%s)", i->name, i->alsa_name); -- id = pa_sprintf_malloc("%s:%s", i->alsa_name, dev_id); - - try_ss = *ss; - try_ss.channels = i->map.channels; - try_map = i->map; - -- pcm_i = pa_alsa_open_by_device_string( -- id, NULL, -+ pcm_i = open_by_device_string_with_fallback( -+ i->alsa_name, -+ i->alsa_name_fallback, -+ dev_id, -+ NULL, - &try_ss, &try_map, - SND_PCM_STREAM_PLAYBACK, - NULL, NULL, 0, NULL, NULL, - TRUE); - -- pa_xfree(id); -- - if (!pcm_i) - continue; - } -@@ -956,26 +1009,25 @@ int pa_alsa_probe_profiles( - snd_pcm_t *pcm_j = NULL; - - if (j->alsa_name) { -- char *jd; - pa_sample_spec try_ss; - pa_channel_map try_map; - - pa_log_debug("Checking for capture on %s (%s)", j->name, j->alsa_name); -- jd = pa_sprintf_malloc("%s:%s", j->alsa_name, dev_id); - - try_ss = *ss; - try_ss.channels = j->map.channels; - try_map = j->map; - -- pcm_j = pa_alsa_open_by_device_string( -- jd, NULL, -+ pcm_j = open_by_device_string_with_fallback( -+ j->alsa_name, -+ j->alsa_name_fallback, -+ dev_id, -+ NULL, - &try_ss, &try_map, - SND_PCM_STREAM_CAPTURE, - NULL, NULL, 0, NULL, NULL, - TRUE); - -- pa_xfree(jd); -- - if (!pcm_j) - continue; - } -diff --git a/src/modules/alsa/alsa-util.h b/src/modules/alsa/alsa-util.h -index 77ac8a7..4c5d336 100644 ---- a/src/modules/alsa/alsa-util.h -+++ b/src/modules/alsa/alsa-util.h -@@ -56,6 +56,7 @@ int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min); - typedef struct pa_alsa_profile_info { - pa_channel_map map; - const char *alsa_name; -+ const char *alsa_name_fallback; - const char *description; /* internationalized */ - const char *name; - unsigned priority; diff --git a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/gcc4-compile-fix.patch b/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/gcc4-compile-fix.patch deleted file mode 100644 index 34ad026e4d..0000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/gcc4-compile-fix.patch +++ /dev/null @@ -1,18 +0,0 @@ -| fix for more strict syntax compliance in gcc4.x -| pulsecore/core-util.c: In function 'pa_raise_priority': -| pulsecore/core-util.c:547: error: label at end of compound statement -| Signed off: mickey@openmoko.org -| -Index: pulseaudio-0.9.6/src/pulsecore/core-util.c -=================================================================== ---- pulseaudio-0.9.6.orig/src/pulsecore/core-util.c -+++ pulseaudio-0.9.6/src/pulsecore/core-util.c -@@ -535,7 +535,7 @@ void pa_raise_priority(void) { - pa_log_info("Successfully gained high priority class."); - #endif - --fail: -+fail:; - - #if defined(HAVE_SYS_CAPABILITY_H) - if (caps) { diff --git a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/periodfix.patch b/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/periodfix.patch deleted file mode 100644 index 3a1c605009..0000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/periodfix.patch +++ /dev/null @@ -1,73 +0,0 @@ -X-Git-Url: http://git.0pointer.de/?p=pulseaudio.git;a=blobdiff_plain;f=src%2Fmodules%2Falsa%2Falsa-util.c;h=107bec357c7889f0197853f5e5f1951a5a2f5be0;hp=a3a045080dac0e1b30e8671443ce73a03337cf14;hb=4bffc7849f7898fa85dd6ac8e735db86b57814b3;hpb=d2b5ae5525e9036c4f91b1615879a5a07aac5bf2 - -diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c -index a3a0450..107bec3 100644 ---- a/src/modules/alsa/alsa-util.c -+++ b/src/modules/alsa/alsa-util.c -@@ -334,7 +334,6 @@ int pa_alsa_set_hw_params( - int ret = -1; - snd_pcm_uframes_t _period_size = period_size ? *period_size : 0; - unsigned int _periods = periods ? *periods : 0; -- snd_pcm_uframes_t buffer_size; - unsigned int r = ss->rate; - unsigned int c = ss->channels; - pa_sample_format_t f = ss->format; -@@ -390,39 +389,47 @@ int pa_alsa_set_hw_params( - goto finish; - - if (_period_size && tsched_size && _periods) { -+ - /* Adjust the buffer sizes, if we didn't get the rate we were asking for */ - _period_size = (snd_pcm_uframes_t) (((uint64_t) _period_size * r) / ss->rate); - tsched_size = (snd_pcm_uframes_t) (((uint64_t) tsched_size * r) / ss->rate); - - if (_use_tsched) { -- _period_size = tsched_size; -- _periods = 1; -+ snd_pcm_uframes_t buffer_size; - - pa_assert_se(snd_pcm_hw_params_get_buffer_size_max(hwparams, &buffer_size) == 0); - pa_log_debug("Maximum hw buffer size is %u ms", (unsigned) buffer_size * 1000 / r); -+ -+ _period_size = tsched_size; -+ _periods = 1; - } - -+ if (_period_size > 0 && _periods > 0) { -+ snd_pcm_uframes_t buffer_size; -+ - buffer_size = _periods * _period_size; - -+ if ((ret = snd_pcm_hw_params_set_buffer_size_near(pcm_handle, hwparams, &buffer_size)) < 0) -+ pa_log_info("snd_pcm_hw_params_set_buffer_size_near() failed: %s", pa_alsa_strerror(ret)); -+ } -+ - if (_periods > 0) { - -- /* First we pass 0 as direction to get exactly what we asked -- * for. That this is necessary is presumably a bug in ALSA */ -+ /* First we pass 0 as direction to get exactly what we -+ * asked for. That this is necessary is presumably a bug -+ * in ALSA. All in all this is mostly a hint to ALSA, so -+ * we don't care if this fails. */ - - dir = 0; -- if ((ret = snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir)) < 0) { -+ if (snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir) < 0) { - dir = 1; -- if ((ret = snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir)) < 0) { -+ if (snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir) < 0) { - dir = -1; - if ((ret = snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir)) < 0) -- goto finish; -+ pa_log_info("snd_pcm_hw_params_set_periods_near() failed: %s", pa_alsa_strerror(ret)); - } - } - } -- -- if (_period_size > 0) -- if ((ret = snd_pcm_hw_params_set_buffer_size_near(pcm_handle, hwparams, &buffer_size)) < 0) -- goto finish; - } - - if ((ret = snd_pcm_hw_params(pcm_handle, hwparams)) < 0) diff --git a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/volatiles.04_pulse b/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/volatiles.04_pulse deleted file mode 100644 index 5b1998032b..0000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio-0.9.15/volatiles.04_pulse +++ /dev/null @@ -1,2 +0,0 @@ -# -d pulse pulse 0755 /var/run/pulse none diff --git a/meta-moblin/packages/pulseaudio/pulseaudio.inc b/meta-moblin/packages/pulseaudio/pulseaudio.inc deleted file mode 100644 index fd8e60c471..0000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio.inc +++ /dev/null @@ -1,126 +0,0 @@ -DESCRIPTION = "Pulseaudio is a sound server for Linux and Unix-like operating systems." -HOMEPAGE = "http://www.pulseaudio.org" -AUTHOR = "Lennart Poettering" -SECTION = "libs/multimedia" -LICENSE = "LGPL" -DEPENDS = "libatomics-ops liboil avahi libsamplerate0 libsndfile1 libtool hal virtual/libx11" -# optional -DEPENDS += "alsa-lib glib-2.0 dbus consolekit hal" - -SRC_URI = "http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-${PV}.tar.gz \ - file://gcc4-compile-fix.patch;patch=1 \ - file://volatiles.04_pulse" - -inherit autotools pkgconfig - -EXTRA_OECONF = "\ - --disable-lynx \ - --disable-bluez \ - --disable-polkit \ - --with-x \ - --without-jack \ - --with-glib \ - --with-alsa \ - --with-oss \ - --with-hal \ -" - -PARALLEL_MAKE = "" - -export TARGET_PFPU = "${TARGET_FPU}" - -# TODO: Use more fine granular version -#OE_LT_RPATH_ALLOW=":${libdir}/pulse-0.9:" -OE_LT_RPATH_ALLOW = "any" -OE_LT_RPATH_ALLOW[export]="1" - -do_install_append() { - install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/volatiles.04_pulse - - if [ "x${TARGET_PFPU}" == "xsoft" ] ; then - sed -i -e s:\;\ resample-method\ =\ sinc-fastest:resample-method\ =\ trivial: ${D}${sysconfdir}/pulse/daemon.conf - fi -} - -PACKAGES =+ "libpulsecore libpulsecommon libpulsedsp libpulse libpulse-simple libpulse-browse libpulse-mainloop-glib \ - pulseaudio-server pulseaudio-misc pulseaudio-gconf-helper" - -#upgrade path: -RREPLACES_pulseaudio-server = "libpulse-bin libpulse-conf" - -PACKAGES_DYNAMIC = "pulseaudio-lib* pulseaudio-module* libpulse-lib* libpulse-module* " - -FILES_libpulsecore = "${libdir}/libpulsecore*.so" -FILES_libpulsecommon = "${libdir}/libpulsecommon*.so" -FILES_libpulsedsp = "${libdir}/libpulsedsp*.so" -FILES_libpulse = "${libdir}/libpulse.so.*" -FILES_libpulse-simple = "${libdir}/libpulse-simple.so.*" -FILES_libpulse-browse = "${libdir}/libpulse-browse.so.*" -FILES_libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*" - -FILES_${PN}-dbg += "${libexecdir}/pulse/.debug \ - ${libdir}/pulse-${PV}/modules/.debug" -FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la" -FILES_${PN}-conf = "${sysconfdir}" -FILES_${PN}-bin = "${bindir}/* \ - ${sysconfdir}/default/volatiles/volatiles.04_pulse" -FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl" -FILES_${PN}-gconf-helper = "${libexecdir}/pulse/gconf-helper" -FILES_${PN}-misc = "${bindir}/*" - -# Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it) -ALLOW_EMPTY_${PN} = "1" - -CONFFILES_pulseaudio-server = "\ - ${sysconfdir}/pulse/default.pa \ - ${sysconfdir}/pulse/daemon.conf \ - ${sysconfdir}/pulse/client.conf \ - " - -pkg_postinst_${PN}-server() { - # can't do this offline - if [ "x$D" != "x" ]; then - exit 1 - fi - grep -q pulse: /etc/group || addgroup pulse - grep -q pulse: /etc/passwd || \ - adduser --disabled-password --home=/var/run/pulse --system \ - --ingroup pulse --no-create-home -g "Pulse audio daemon" pulse - addgroup pulse audio - /etc/init.d/populate-volatile.sh update -} - -pkg_postrm_${PN}-server() { - deluser pulse || true -} - -python populate_packages_prepend() { - #bb.data.setVar('PKG_pulseaudio', 'pulseaudio', d) - - plugindir = bb.data.expand('${libdir}/pulse-${PV}/modules/', d) - do_split_packages(d, plugindir, '^module-(.*)\.so$', 'pulseaudio-module-%s', 'PulseAudio module for %s', extra_depends='' ) - do_split_packages(d, plugindir, '^lib(.*)\.so$', 'pulseaudio-lib-%s', 'PulseAudio library for %s', extra_depends='' ) -} - -RDEPENDS_pulseaudio-module-console-kit =+ "consolekit" -RDEPENDS_pulseaudio-module-hal-detect =+ "hal" -RDEPENDS_pulseaudio-server = " \ - pulseaudio-module-device-restore \ - pulseaudio-module-stream-restore \ - pulseaudio-module-card-restore \ - pulseaudio-module-augment-properties \ - pulseaudio-module-detect \ - pulseaudio-module-alsa-sink \ - pulseaudio-module-alsa-source \ - pulseaudio-module-alsa-card \ - pulseaudio-module-native-protocol-unix \ - pulseaudio-module-hal-detect \ - pulseaudio-module-default-device-restore \ - pulseaudio-module-rescue-streams \ - pulseaudio-module-always-sink \ - pulseaudio-module-suspend-on-idle \ - pulseaudio-module-console-kit \ - pulseaudio-module-position-event-sounds \ - pulseaudio-module-cork-music-on-phone " - diff --git a/meta-moblin/packages/pulseaudio/pulseaudio_0.9.15.bb b/meta-moblin/packages/pulseaudio/pulseaudio_0.9.15.bb deleted file mode 100644 index 49387ece83..0000000000 --- a/meta-moblin/packages/pulseaudio/pulseaudio_0.9.15.bb +++ /dev/null @@ -1,18 +0,0 @@ -require pulseaudio.inc - -DEPENDS += "dbus gdbm speex" -PR = "r14" - -SRC_URI += "\ - file://buildfix.patch;patch=1 \ - file://alsaerror.patch;patch=1 \ - file://periodfix.patch;patch=1 \ - file://fallback.patch;patch=1 \ - file://autoconf_version.patch;patch=1 \ -" - -do_compile_prepend() { - cd ${S} - mkdir -p ${S}/libltdl - cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl -} diff --git a/meta-moblin/packages/qmake/qmake-native/linux-oe-qmake.conf b/meta-moblin/packages/qmake/qmake-native/linux-oe-qmake.conf deleted file mode 100644 index 205b693fda..0000000000 --- a/meta-moblin/packages/qmake/qmake-native/linux-oe-qmake.conf +++ /dev/null @@ -1,82 +0,0 @@ -# -# qmake configuration for linux-oe-g++ / OpenEmbedded Build System / http://openembedded.org -# - -MAKEFILE_GENERATOR = UNIX -TEMPLATE = app -CONFIG += qt warn_on release - -QMAKE_CC = $(OE_QMAKE_CC) -QMAKE_LEX = flex -QMAKE_LEXFLAGS = -QMAKE_YACC = yacc -QMAKE_YACCFLAGS = -d -QMAKE_CFLAGS = -pipe $(OE_QMAKE_CFLAGS) $(CFLAGS_EXTRA) -QMAKE_CFLAGS_WARN_ON = -Wall -W -QMAKE_CFLAGS_WARN_OFF = -QMAKE_CFLAGS_RELEASE = $(if $(CFLAGS_RELEASE),$(CFLAGS_RELEASE), -O2) -QMAKE_CFLAGS_DEBUG = -g -QMAKE_CFLAGS_SHLIB = -fPIC -QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses -QMAKE_CFLAGS_THREAD = -D_REENTRANT - -QMAKE_CXX = $(OE_QMAKE_CXX) -QMAKE_CXXFLAGS = $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) $(CXXFLAGS_EXTRA) -QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF -QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE -QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG -QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB -QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC -QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD - -QMAKE_INCDIR = -QMAKE_LIBDIR = -QMAKE_INCDIR_X11 = -QMAKE_LIBDIR_X11 = -QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT) -QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT) -QMAKE_INCDIR_OPENGL = -QMAKE_LIBDIR_OPENGL = - -QMAKE_LINK = $(OE_QMAKE_LINK) -QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) -QMAKE_LFLAGS = $(OE_QMAKE_LDFLAGS) $(LFLAGS_EXTRA) -QMAKE_LFLAGS_RELEASE = -QMAKE_LFLAGS_DEBUG = -QMAKE_LFLAGS_SHLIB = -shared -QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_SONAME = -Wl,-soname, -QMAKE_LFLAGS_THREAD = -QMAKE_RPATH = -Wl,-rpath-link, - -QMAKE_LIBS = $(LIBS_EXTRA) -QMAKE_LIBS_DYNLOAD = -ldl -QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11) -QMAKE_LIBS_X11SM = -QMAKE_LIBS_QT = -l$(OE_QMAKE_LIBS_QT) -QMAKE_LIBS_QT_THREAD = -l$(OE_QMAKE_LIBS_QT)-mt -QMAKE_LIBS_OPENGL = $(OE_QMAKE_LIBS_OPENGL) -QMAKE_LIBS_OPENGL_QT = $(OE_QMAKE_LIBS_OPENGL_QT) -QMAKE_LIBS_THREAD = -lpthread - -QMAKE_MOC = $(OE_QMAKE_MOC) -QMAKE_UIC = $(OE_QMAKE_UIC) - -QMAKE_AR = $(OE_QMAKE_AR) cqs -QMAKE_RANLIB = - -QMAKE_TAR = tar -cf -QMAKE_GZIP = gzip -9f - -QMAKE_COPY = cp -f -QMAKE_COPY_FILE = $(COPY) -QMAKE_COPY_DIR = $(COPY) -r -QMAKE_MOVE = mv -f -QMAKE_DEL_FILE = rm -f -QMAKE_DEL_DIR = rmdir -QMAKE_STRIP = $(OE_QMAKE_STRIP) -QMAKE_STRIPFLAGS_LIB += --strip-unneeded -QMAKE_CHK_DIR_EXISTS = test -d -QMAKE_MKDIR = mkdir -p - diff --git a/meta-moblin/packages/qmake/qmake-native_1.07a.bb b/meta-moblin/packages/qmake/qmake-native_1.07a.bb deleted file mode 100644 index 82a24968af..0000000000 --- a/meta-moblin/packages/qmake/qmake-native_1.07a.bb +++ /dev/null @@ -1,47 +0,0 @@ -DESCRIPTION = "TrollTech Makefile Generator" -PRIORITY = "optional" -HOMEPAGE = "http://www.trolltech.com" -SECTION = "devel" -LICENSE = "GPL QPL" -PR = "r4" - -QTEVER = "qt-embedded-free-3.3.5" - -SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/${QTEVER}.tar.bz2 \ - file://linux-oe-qmake.conf" -S = "${WORKDIR}/${QTEVER}" - -inherit autotools native - -export QTDIR = "${S}" -EXTRA_OEMAKE = "-e" - -do_configure() { - # Install the OE build templates - for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++ - do - install -d ${S}/mkspecs/$template - install -m 0644 ${WORKDIR}/linux-oe-qmake.conf ${S}/mkspecs/$template/qmake.conf - ln -sf ../linux-g++/qplatformdefs.h ${S}/mkspecs/$template/qplatformdefs.h - done - QMAKESPEC= - PLATFORM=${HOST_OS}-oe-g++ - export PLATFORM - oenote ./configure ${EXTRA_OECONF} - echo yes | ./configure ${EXTRA_OECONF} || die "Configuring qt failed" -} - -do_compile() { - : -} - -do_install() { - install -d ${D}${bindir}/ - install -m 0755 ${S}/bin/qmake ${D}${bindir}/ - install -d ${D}/qmake/ - cp -fPR ${S}/mkspecs/* ${D}/qmake/ -} - -sysroot_stage_all_append() { - sysroot_stage_dir ${D}/qmake ${SYSROOT_DESTDIR}/${QMAKE_MKSPEC_PATH} -} diff --git a/meta-moblin/packages/samba/files/config-h.patch b/meta-moblin/packages/samba/files/config-h.patch deleted file mode 100644 index eeb22684ee..0000000000 --- a/meta-moblin/packages/samba/files/config-h.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN source.old//include/config.h.in source//include/config.h.in ---- source.old//include/config.h.in 2008-11-20 14:45:04.000000000 +0000 -+++ source//include/config.h.in 2008-11-30 21:04:17.990008933 +0000 -@@ -2672,7 +2672,7 @@ - #undef USE_SETEUID - - /* Whether setresuid() is available */ --#undef USE_SETRESUID -+#define USE_SETRESUID 1 - - /* Whether setreuid() is available */ - #undef USE_SETREUID diff --git a/meta-moblin/packages/samba/files/config-lfs.patch b/meta-moblin/packages/samba/files/config-lfs.patch deleted file mode 100644 index b37ed690ce..0000000000 --- a/meta-moblin/packages/samba/files/config-lfs.patch +++ /dev/null @@ -1,47 +0,0 @@ -Cache the check for Linux LFS support, so it can be prepopulated from -the site cache for configure variables for cross-compiling. Without this, -samba gets the idea that it can use dirent64 and friends without defining -the flags it needs to get it, such as _GNU_SOURCE and _LARGEFILE64_SOURCE. - -Symptoms of getting the configuration wrong on cross-compile inculde -warnings such as - - smbd/trans2.c: In function `get_lanman2_dir_entry': - smbd/trans2.c:1065: warning: right shift count >= width of type - -and errors like - - smbd/vfs.c:630: error: dereferencing pointer to incomplete type - -(when trying to dereference dirent64.) - ---- source/configure.in.orig 2005-05-29 14:46:18.000000000 -0700 -+++ source/configure.in 2005-05-29 14:51:57.000000000 -0700 -@@ -588,7 +588,7 @@ - # Tests for linux LFS support. Need kernel 2.4 and glibc2.2 or greater support. - # - *linux*) -- AC_MSG_CHECKING([for LFS support]) -+ AC_CACHE_CHECK([for LFS support], samba_cv_LINUX_LFS_SUPPORT,[ - old_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS" - AC_TRY_RUN([ -@@ -627,15 +627,14 @@ - exit(1); - #endif - } --], [LINUX_LFS_SUPPORT=yes], [LINUX_LFS_SUPPORT=no], [LINUX_LFS_SUPPORT=cross]) -- CPPFLAGS="$old_CPPFLAGS" -- if test x$LINUX_LFS_SUPPORT = xyes ; then -+], [samba_cv_LINUX_LFS_SUPPORT=yes], [samba_cv_LINUX_LFS_SUPPORT=no], [samba_cv_LINUX_LFS_SUPPORT=cross]) -+ CPPFLAGS="$old_CPPFLAGS"]) -+ if test x"$samba_cv_LINUX_LFS_SUPPORT" = x"yes" ; then - CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS" - AC_DEFINE(_LARGEFILE64_SOURCE, 1, [Whether to enable large file support]) - AC_DEFINE(_FILE_OFFSET_BITS, 64, [File offset bits]) - AC_DEFINE(_GNU_SOURCE, 1, [Whether to use GNU libc extensions]) - fi -- AC_MSG_RESULT([$LINUX_LFS_SUPPORT]) - ;; - - # diff --git a/meta-moblin/packages/samba/files/configure-3.3.0.patch b/meta-moblin/packages/samba/files/configure-3.3.0.patch deleted file mode 100644 index a2e2544802..0000000000 --- a/meta-moblin/packages/samba/files/configure-3.3.0.patch +++ /dev/null @@ -1,87 +0,0 @@ -Index: source/configure -=================================================================== ---- source.orig/configure 2009-01-27 07:53:11.000000000 +0000 -+++ source/configure 2009-05-15 12:51:02.000000000 +0100 -@@ -43860,13 +43860,7 @@ - *linux*) - # glibc <= 2.3.2 has a broken getgrouplist - if test "$cross_compiling" = yes; then -- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 --$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling --See \`config.log' for more details." >&5 --$as_echo "$as_me: error: cannot run test program while cross compiling --See \`config.log' for more details." >&2;} -- { (exit 1); exit 1; }; }; } -+linux_getgrouplist_ok=no - else - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ -Index: source/configure.in -=================================================================== ---- source.orig/configure.in 2009-05-15 12:51:01.000000000 +0100 -+++ source/configure.in 2009-05-15 13:02:22.000000000 +0100 -@@ -280,6 +280,8 @@ - fi - AC_SUBST(BROKEN_CC) - -+AC_TRY_COMPILE([],[(void)sizeof(char[-1])],AC_MSG_ERROR([configure's compilation assert doesn't work with $CC])) -+ - dnl Check if the C compiler understands -Werror - AC_CACHE_CHECK([that the C compiler understands -Werror],samba_cv_HAVE_Werror, [ - AC_TRY_RUN_STRICT([ -@@ -330,25 +332,11 @@ - # a runtime test is needed here - AC_SUBST(PIDL_ARGS) - AC_CACHE_CHECK([that the C compiler understands negative enum values],samba_cv_CC_NEGATIVE_ENUM_VALUES, [ -- AC_TRY_RUN( -+ AC_TRY_COMPILE([], - [ -- #include - enum negative_values { NEGATIVE_VALUE = 0xFFFFFFFF }; -- int main(void) { -- enum negative_values v1 = NEGATIVE_VALUE; -- unsigned v2 = NEGATIVE_VALUE; -- -- if (v1 != 0xFFFFFFFF) { -- printf("%u != 0xFFFFFFFF\n", v1); -- return 1; -- } -- if (v2 != 0xFFFFFFFF) { -- printf("%u != 0xFFFFFFFF\n", v2); -- return 1; -- } -- -- return 0; -- } -+ (void)sizeof(char[1-2*( (unsigned)NEGATIVE_VALUE != 0xFFFFFFFF)]); -+ (void)sizeof(char[1-2*((enum negative_values)NEGATIVE_VALUE != 0xFFFFFFFF)]); - ], - samba_cv_CC_NEGATIVE_ENUM_VALUES=yes,samba_cv__CC_NEGATIVE_ENUM_VALUES=no)]) - if test x"$samba_cv_CC_NEGATIVE_ENUM_VALUES" != x"yes"; then -@@ -1223,22 +1211,12 @@ - case "$host_os" in - *linux*) - # glibc <= 2.3.2 has a broken getgrouplist -- AC_TRY_RUN([ --#include -+ AC_TRY_COMPILE([ - #include --main() { -- /* glibc up to 2.3 has a broken getgrouplist */ -+],[ - #if defined(__GLIBC__) && defined(__GLIBC_MINOR__) -- int libc_major = __GLIBC__; -- int libc_minor = __GLIBC_MINOR__; -- -- if (libc_major < 2) -- exit(1); -- if ((libc_major == 2) && (libc_minor <= 3)) -- exit(1); -+ (void)sizeof(char[1-2*(__GLIBC__ < 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ <= 3)]); - #endif -- exit(0); --} - ], [linux_getgrouplist_ok=yes], [linux_getgrouplist_ok=no]) - if test x"$linux_getgrouplist_ok" = x"yes"; then - AC_DEFINE(HAVE_GETGROUPLIST, 1, [Have good getgrouplist]) diff --git a/meta-moblin/packages/samba/files/configure.patch b/meta-moblin/packages/samba/files/configure.patch deleted file mode 100644 index b7ba287795..0000000000 --- a/meta-moblin/packages/samba/files/configure.patch +++ /dev/null @@ -1,179 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- source/configure.in~configure 2003-12-14 22:36:25.000000000 -0500 -+++ source/configure.in 2004-01-26 14:33:15.000000000 -0500 -@@ -959,7 +959,7 @@ - #endif - exit(0); - } --], [linux_getgrouplist_ok=yes], [linux_getgrouplist_ok=no]) -+], [linux_getgrouplist_ok=yes], [linux_getgrouplist_ok=no], [linux_getgrouplist_ok=cross]) - if test x"$linux_getgrouplist_ok" = x"yes"; then - AC_DEFINE(HAVE_GETGROUPLIST, 1, [Have good getgrouplist]) - fi ---- source/aclocal.m4~configure 2004-01-26 14:33:15.000000000 -0500 -+++ source/aclocal.m4 2004-01-26 17:34:28.000000000 -0500 -@@ -2,7 +2,7 @@ - dnl if the cache file is inconsistent with the current host, - dnl target and build system types, execute CMD or print a default - dnl error message. --AC_DEFUN(AC_VALIDATE_CACHE_SYSTEM_TYPE, [ -+AC_DEFUN([AC_VALIDATE_CACHE_SYSTEM_TYPE], [ - AC_REQUIRE([AC_CANONICAL_SYSTEM]) - AC_MSG_CHECKING([config.cache system type]) - if { test x"${ac_cv_host_system_type+set}" = x"set" && -@@ -24,7 +24,7 @@ - - - dnl test whether dirent has a d_off member --AC_DEFUN(AC_DIRENT_D_OFF, -+AC_DEFUN([AC_DIRENT_D_OFF], - [AC_CACHE_CHECK([for d_off in dirent], ac_cv_dirent_d_off, - [AC_TRY_COMPILE([ - #include -@@ -38,7 +38,7 @@ - - dnl Mark specified module as shared - dnl SMB_MODULE(name,static_files,shared_files,subsystem,whatif-static,whatif-shared) --AC_DEFUN(SMB_MODULE, -+AC_DEFUN([SMB_MODULE], - [ - AC_MSG_CHECKING([how to build $1]) - if test "$[MODULE_][$1]"; then -@@ -68,7 +68,7 @@ - fi - ]) - --AC_DEFUN(SMB_SUBSYSTEM, -+AC_DEFUN([SMB_SUBSYSTEM], - [ - AC_SUBST($1_STATIC) - AC_SUBST($1_MODULES) -@@ -77,7 +77,7 @@ - ]) - - dnl AC_PROG_CC_FLAG(flag) --AC_DEFUN(AC_PROG_CC_FLAG, -+AC_DEFUN([AC_PROG_CC_FLAG], - [AC_CACHE_CHECK(whether ${CC-cc} accepts -$1, ac_cv_prog_cc_$1, - [echo 'void f(){}' > conftest.c - if test -z "`${CC-cc} -$1 -c conftest.c 2>&1`"; then -@@ -91,7 +91,7 @@ - dnl see if a declaration exists for a function or variable - dnl defines HAVE_function_DECL if it exists - dnl AC_HAVE_DECL(var, includes) --AC_DEFUN(AC_HAVE_DECL, -+AC_DEFUN([AC_HAVE_DECL], - [ - AC_CACHE_CHECK([for $1 declaration],ac_cv_have_$1_decl,[ - AC_TRY_COMPILE([$2],[int i = (int)$1], -@@ -105,7 +105,7 @@ - dnl check for a function in a library, but don't - dnl keep adding the same library to the LIBS variable. - dnl AC_LIBTESTFUNC(lib,func) --AC_DEFUN(AC_LIBTESTFUNC, -+AC_DEFUN([AC_LIBTESTFUNC], - [case "$LIBS" in - *-l$1*) AC_CHECK_FUNCS($2) ;; - *) AC_CHECK_LIB($1, $2) -@@ -223,7 +223,7 @@ - - dnl Define an AC_DEFINE with ifndef guard. - dnl AC_N_DEFINE(VARIABLE [, VALUE]) --define(AC_N_DEFINE, -+define([AC_N_DEFINE], - [cat >> confdefs.h <<\EOF - [#ifndef] $1 - [#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1) -@@ -233,14 +233,14 @@ - - dnl Add an #include - dnl AC_ADD_INCLUDE(VARIABLE) --define(AC_ADD_INCLUDE, -+define([AC_ADD_INCLUDE], - [cat >> confdefs.h <<\EOF - [#include] $1 - EOF - ]) - - dnl Copied from libtool.m4 --AC_DEFUN(AC_PROG_LD_GNU, -+AC_DEFUN([AC_PROG_LD_GNU], - [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, - [# I'd rather use --version here, but apparently some GNU ld's only accept -v. - if $LD -v 2>&1 &5; then -@@ -259,7 +259,7 @@ - dnl AM_PATH_XML2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) - dnl Test for XML, and define XML_CFLAGS and XML_LIBS - dnl --AC_DEFUN(AM_PATH_XML2,[ -+AC_DEFUN([AM_PATH_XML2],[ - AC_ARG_WITH(xml-prefix, - [ --with-xml-prefix=PFX Prefix where libxml is installed (optional)], - xml_config_prefix="$withval", xml_config_prefix="") -@@ -443,7 +443,7 @@ - dnl AM_PATH_MYSQL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) - dnl Test for MYSQL, and define MYSQL_CFLAGS and MYSQL_LIBS - dnl --AC_DEFUN(AM_PATH_MYSQL, -+AC_DEFUN([AM_PATH_MYSQL], - [dnl - dnl Get the cflags and libraries from the mysql_config script - dnl -@@ -485,7 +485,7 @@ - ]) - - dnl Removes -I/usr/include/? from given variable --AC_DEFUN(CFLAGS_REMOVE_USR_INCLUDE,[ -+AC_DEFUN([CFLAGS_REMOVE_USR_INCLUDE],[ - ac_new_flags="" - for i in [$]$1; do - case [$]i in -@@ -497,7 +497,7 @@ - ]) - - dnl Removes -L/usr/lib/? from given variable --AC_DEFUN(LIB_REMOVE_USR_LIB,[ -+AC_DEFUN([LIB_REMOVE_USR_LIB],[ - ac_new_flags="" - for i in [$]$1; do - case [$]i in -@@ -510,7 +510,7 @@ - - dnl From Bruno Haible. - --AC_DEFUN(jm_ICONV, -+AC_DEFUN([jm_ICONV], - [ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable libiconv installed). -@@ -607,7 +607,7 @@ - fi - ]) - --AC_DEFUN(rjs_CHARSET,[ -+AC_DEFUN([rjs_CHARSET],[ - dnl Find out if we can convert from $1 to UCS2-LE - AC_MSG_CHECKING([can we convert from $1 to UCS2-LE?]) - AC_TRY_RUN([ -@@ -625,7 +625,7 @@ - - dnl CFLAGS_ADD_DIR(CFLAGS, $INCDIR) - dnl This function doesn't add -I/usr/include into CFLAGS --AC_DEFUN(CFLAGS_ADD_DIR,[ -+AC_DEFUN([CFLAGS_ADD_DIR],[ - if test "$2" != "/usr/include" ; then - $1="$$1 -I$2" - fi -@@ -633,7 +633,7 @@ - - dnl LIB_ADD_DIR(LDFLAGS, $LIBDIR) - dnl This function doesn't add -L/usr/lib into LDFLAGS --AC_DEFUN(LIB_ADD_DIR,[ -+AC_DEFUN([LIB_ADD_DIR],[ - if test "$2" != "/usr/lib" ; then - $1="$$1 -L$2" - fi diff --git a/meta-moblin/packages/samba/files/init b/meta-moblin/packages/samba/files/init deleted file mode 100644 index cb57b17de4..0000000000 --- a/meta-moblin/packages/samba/files/init +++ /dev/null @@ -1,58 +0,0 @@ -#! /bin/sh -# -# This is an init script for openembedded -# Copy it to /etc/init.d/samba and type -# > update-rc.d samba defaults 60 -# - - -smbd=/usr/sbin/smbd -test -x "$smbd" || exit 0 -nmbd=/usr/sbin/nmbd -test -x "$nmbd" || exit 0 - - -case "$1" in - start) - echo -n "Starting Samba: smbd" - start-stop-daemon --start --quiet --exec $smbd - echo -n " nmbd" - start-stop-daemon --start --quiet --exec $nmbd - echo "." - ;; - stop) - echo -n "Stopping Samba: smbd" - start-stop-daemon --stop --quiet --pidfile /var/run/smbd.pid - echo -n " nmbd" - start-stop-daemon --stop --quiet --pidfile /var/run/nmbd.pid - echo "." - ;; - reload|force-reload) - start-stop-daemon --stop --quiet --signal 1 --exec $smbd - start-stop-daemon --stop --quiet --signal 1 --exec $nmbd - ;; - restart) - echo -n "Stopping Samba: smbd" - start-stop-daemon --stop --quiet --pidfile /var/run/smbd.pid - echo -n " nmbd" - start-stop-daemon --stop --quiet --pidfile /var/run/nmbd.pid - echo "" - echo -n "Waiting for samba processes to die off" - for i in 1 2 3 ; - do - sleep 1 - echo -n "." - done - echo "" - echo -n "Starting Samba: smbd" - start-stop-daemon --start --quiet --exec $smbd - echo -n " nmbd" - start-stop-daemon --start --quiet --exec $nmbd - echo "." - ;; - *) - echo "Usage: /etc/init.d/samba {start|stop|reload|restart|force-reload}" - exit 1 -esac - -exit 0 \ No newline at end of file diff --git a/meta-moblin/packages/samba/files/mtab.patch b/meta-moblin/packages/samba/files/mtab.patch deleted file mode 100644 index 2ee8ba0941..0000000000 --- a/meta-moblin/packages/samba/files/mtab.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -urN source/client/mtab.c samba-3.2.7//source/client/mtab.c ---- source/client/mtab.c 2008-12-19 13:57:33.000000000 +0000 -+++ source/client/mtab.c 2009-01-09 23:14:00.717671075 +0000 -@@ -32,6 +32,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/meta-moblin/packages/samba/files/quota.patch b/meta-moblin/packages/samba/files/quota.patch deleted file mode 100644 index 6f42ff868f..0000000000 --- a/meta-moblin/packages/samba/files/quota.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- lib/sysquotas_4A.c.old 2005-07-03 17:16:00.000000000 +0200 -+++ lib/sysquotas_4A.c 2005-07-03 17:10:09.000000000 +0200 -@@ -28,6 +28,8 @@ - /* long quotactl(int cmd, char *special, qid_t id, caddr_t addr) */ - /* this is used by: HPUX,IRIX */ - -+ #define _LINUX_QUOTA_VERSION 1 -+ - #ifdef HAVE_SYS_TYPES_H - #include - #endif diff --git a/meta-moblin/packages/samba/files/smb.conf b/meta-moblin/packages/samba/files/smb.conf deleted file mode 100644 index f07e3e4ec7..0000000000 --- a/meta-moblin/packages/samba/files/smb.conf +++ /dev/null @@ -1,266 +0,0 @@ -# This is the main Samba configuration file. You should read the -# smb.conf(5) manual page in order to understand the options listed -# here. Samba has a huge number of configurable options (perhaps too -# many!) most of which are not shown in this example -# -# For a step to step guide on installing, configuring and using samba, -# read the Samba-HOWTO-Collection. This may be obtained from: -# http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf -# -# Many working examples of smb.conf files can be found in the -# Samba-Guide which is generated daily and can be downloaded from: -# http://www.samba.org/samba/docs/Samba-Guide.pdf -# -# Any line which starts with a ; (semi-colon) or a # (hash) -# is a comment and is ignored. In this example we will use a # -# for commentry and a ; for parts of the config file that you -# may wish to enable -# -# NOTE: Whenever you modify this file you should run the command "testparm" -# to check that you have not made any basic syntactic errors. -# -#======================= Global Settings ===================================== -[global] - -# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH - workgroup = MYGROUP - -# server string is the equivalent of the NT Description field - server string = Samba Server - -# Security mode. Defines in which mode Samba will operate. Possible -# values are share, user, server, domain and ads. Most people will want -# user level security. See the Samba-HOWTO-Collection for details. - security = user - -# This option is important for security. It allows you to restrict -# connections to machines which are on your local network. The -# following example restricts access to two C class networks and -# the "loopback" interface. For more examples of the syntax see -# the smb.conf man page -; hosts allow = 192.168.1. 192.168.2. 127. - -# If you want to automatically load your printer list rather -# than setting them up individually then you'll need this - load printers = yes - -# you may wish to override the location of the printcap file -; printcap name = /etc/printcap - -# on SystemV system setting printcap name to lpstat should allow -# you to automatically obtain a printer list from the SystemV spool -# system -; printcap name = lpstat - -# It should not be necessary to specify the print system type unless -# it is non-standard. Currently supported print systems include: -# bsd, cups, sysv, plp, lprng, aix, hpux, qnx -; printing = cups - -# Uncomment this if you want a guest account, you must add this to /etc/passwd -# otherwise the user "nobody" is used -; guest account = pcguest - -# this tells Samba to use a separate log file for each machine -# that connects - log file = /var/log/samba/log.%m - -# Put a capping on the size of the log files (in Kb). - max log size = 50 - -# Use password server option only with security = server -# The argument list may include: -# password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name] -# or to auto-locate the domain controller/s -# password server = * -; password server = - -# Use the realm option only with security = ads -# Specifies the Active Directory realm the host is part of -; realm = MY_REALM - -# Backend to store user information in. New installations should -# use either tdbsam or ldapsam. smbpasswd is available for backwards -# compatibility. tdbsam requires no further configuration. -; passdb backend = tdbsam - -# Using the following line enables you to customise your configuration -# on a per machine basis. The %m gets replaced with the netbios name -# of the machine that is connecting. -# Note: Consider carefully the location in the configuration file of -# this line. The included file is read at that point. -; include = /usr/local/samba/lib/smb.conf.%m - -# Configure Samba to use multiple interfaces -# If you have multiple network interfaces then you must list them -# here. See the man page for details. -; interfaces = 192.168.12.2/24 192.168.13.2/24 - -# Browser Control Options: -# set local master to no if you don't want Samba to become a master -# browser on your network. Otherwise the normal election rules apply -; local master = no - -# OS Level determines the precedence of this server in master browser -# elections. The default value should be reasonable -; os level = 33 - -# Domain Master specifies Samba to be the Domain Master Browser. This -# allows Samba to collate browse lists between subnets. Don't use this -# if you already have a Windows NT domain controller doing this job -; domain master = yes - -# Preferred Master causes Samba to force a local browser election on startup -# and gives it a slightly higher chance of winning the election -; preferred master = yes - -# Enable this if you want Samba to be a domain logon server for -# Windows95 workstations. -; domain logons = yes - -# if you enable domain logons then you may want a per-machine or -# per user logon script -# run a specific logon batch file per workstation (machine) -; logon script = %m.bat -# run a specific logon batch file per username -; logon script = %U.bat - -# Where to store roving profiles (only for Win95 and WinNT) -# %L substitutes for this servers netbios name, %U is username -# You must uncomment the [Profiles] share below -; logon path = \\%L\Profiles\%U - -# Windows Internet Name Serving Support Section: -# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server -; wins support = yes - -# WINS Server - Tells the NMBD components of Samba to be a WINS Client -# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both -; wins server = w.x.y.z - -# WINS Proxy - Tells Samba to answer name resolution queries on -# behalf of a non WINS capable client, for this to work there must be -# at least one WINS Server on the network. The default is NO. -; wins proxy = yes - -# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names -# via DNS nslookups. The default is NO. - dns proxy = no - -# These scripts are used on a domain controller or stand-alone -# machine to add or delete corresponding unix accounts -; add user script = /usr/sbin/useradd %u -; add group script = /usr/sbin/groupadd %g -; add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u -; delete user script = /usr/sbin/userdel %u -; delete user from group script = /usr/sbin/deluser %u %g -; delete group script = /usr/sbin/groupdel %g - - -#============================ Share Definitions ============================== -[homes] - comment = Home Directories - browseable = yes - writable = yes - -# Un-comment the following and create the netlogon directory for Domain Logons -; [netlogon] -; comment = Network Logon Service -; path = /usr/local/samba/lib/netlogon -; guest ok = yes -; writable = no -; share modes = no - - -# Un-comment the following to provide a specific roving profile share -# the default is to use the user's home directory -;[Profiles] -; path = /usr/local/samba/profiles -; browseable = no -; guest ok = yes - - -# NOTE: If you have a BSD-style print system there is no need to -# specifically define each individual printer -[printers] - comment = All Printers - path = /var/spool/samba - browseable = no -# Set public = yes to allow user 'guest account' to print - guest ok = no - writable = no - printable = yes - -# This one is useful for people to share files -;[tmp] -; comment = Temporary file space -; path = /tmp -; read only = no -; public = yes - -# A publicly accessible directory, but read only, except for people in -# the "staff" group -;[public] -; comment = Public Stuff -; path = /home/samba -; public = yes -; writable = yes -; printable = no -; write list = @staff - -# Other examples. -# -# A private printer, usable only by fred. Spool data will be placed in fred's -# home directory. Note that fred must have write access to the spool directory, -# wherever it is. -;[fredsprn] -; comment = Fred's Printer -; valid users = fred -; path = /homes/fred -; printer = freds_printer -; public = no -# A private directory, usable only by fred. Note that fred requires write -# access to the directory. -;[fredsdir] -; comment = Fred's Service -; path = /usr/somewhere/private -; valid users = fred -; public = no -; writable = yes -; printable = no - -# a service which has a different directory for each machine that connects -# this allows you to tailor configurations to incoming machines. You could -# also use the %U option to tailor it by user name. -# The %m gets replaced with the machine name that is connecting. -;[pchome] -; comment = PC Directories -; path = /usr/pc/%m -; public = no -; writable = yes - -# A publicly accessible directory, read/write to all users. Note that all files -# created in the directory by users will be owned by the default user, so -# any user with access can delete any other user's files. Obviously this -# directory must be writable by the default user. Another user could of course -# be specified, in which case all files would be owned by that user instead. -;[public] -; path = /usr/somewhere/else/public -; public = yes -; only guest = yes -; writable = yes -; printable = no - -# The following two entries demonstrate how to share a directory so that two -# users can place files there that will be owned by the specific users. In this -# setup, the directory should be writable by both users and should have the -# sticky bit set on it to prevent abuse. Obviously this could be extended to -# as many users as required. -;[myshare] -; comment = Mary's and Fred's stuff -; path = /usr/somewhere/shared -; valid users = mary fred -; public = no -; writable = yes -; printable = no -; create mask = 0765 diff --git a/meta-moblin/packages/samba/files/tdb.pc b/meta-moblin/packages/samba/files/tdb.pc deleted file mode 100644 index 6307a20a03..0000000000 --- a/meta-moblin/packages/samba/files/tdb.pc +++ /dev/null @@ -1,11 +0,0 @@ -prefix=/usr -exec_prefix=/usr -libdir=/usr/lib -includedir=/usr/include - -Name: tdb -Description: A trivial database -Version: 1.1.2 -Libs: -L${libdir} -ltdb -Cflags: -I${includedir} -URL: http://tdb.samba.org/ diff --git a/meta-moblin/packages/samba/files/tdbheaderfix.patch b/meta-moblin/packages/samba/files/tdbheaderfix.patch deleted file mode 100644 index e37c9b0d5c..0000000000 --- a/meta-moblin/packages/samba/files/tdbheaderfix.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: source/lib/tdb/include/tdb.h -=================================================================== ---- source.orig/lib/tdb/include/tdb.h 2009-05-17 17:42:41.000000000 +0100 -+++ source/lib/tdb/include/tdb.h 2009-05-17 17:42:46.000000000 +0100 -@@ -1,6 +1,9 @@ - #ifndef __TDB_H__ - #define __TDB_H__ - -+#include -+ -+ - /* - Unix SMB/CIFS implementation. - diff --git a/meta-moblin/packages/samba/files/volatiles.03_samba b/meta-moblin/packages/samba/files/volatiles.03_samba deleted file mode 100644 index 469bc9e7b0..0000000000 --- a/meta-moblin/packages/samba/files/volatiles.03_samba +++ /dev/null @@ -1,2 +0,0 @@ -# -d root root 0755 /var/log/samba none diff --git a/meta-moblin/packages/samba/samba-basic.inc b/meta-moblin/packages/samba/samba-basic.inc deleted file mode 100644 index 209ba8ffc4..0000000000 --- a/meta-moblin/packages/samba/samba-basic.inc +++ /dev/null @@ -1,25 +0,0 @@ -SRC_URI += "file://config-lfs.patch;patch=1 \ - file://quota.patch;patch=1;pnum=0 \ - " - -EXTRA_OECONF += "\ - --without-ads \ - --without-winbind \ - --without-ldap \ - --without-krb5" - -PACKAGES =+ "libsmbclient libsmbclient-dev cifs cifs-doc swat libtdb" - -RCONFLICTS_${PN} = "samba-ads" -RCONFLICTS_libsmbclient = "libsmbclient-ads" -RCONFLICTS_libsmbclient-dev = "libsmbclient-ads-dev" -RCONFLICTS_cifs = "cifs-ads" -RCONFLICTS_cifs-doc = "cifs-ads-doc" -RCONFLICTS_swat = "swat-ads" - -FILES_cifs = "${base_sbindir}/mount.cifs ${base_sbindir}/umount.cifs" -FILES_cifs-doc = "${mandir}/man8/mount.cifs.8 ${mandir}/man8/umount.cifs.8" -FILES_libsmbclient = "${libdir}/libsmbclient.so.*" -FILES_libsmbclient-dev = "${libdir}/libsmbclient.so ${includedir}" -FILES_swat = "${sbindir}/swat ${datadir}/swat ${libdir}/*.msg" -FILES_libtdb = "${libdir}/libtdb.so.*" \ No newline at end of file diff --git a/meta-moblin/packages/samba/samba.inc b/meta-moblin/packages/samba/samba.inc deleted file mode 100644 index e6923e38a2..0000000000 --- a/meta-moblin/packages/samba/samba.inc +++ /dev/null @@ -1,81 +0,0 @@ -SECTION = "console/network" -LICENSE = "GPL" -DEPENDS = "readline virtual/libiconv" - -SRC_URI = "http://samba.org/samba/ftp/stable/samba-${PV}.tar.gz \ - file://volatiles.03_samba \ - file://smb.conf \ - file://init \ - file://tdb.pc \ - " - -S = "${WORKDIR}/samba-${PV}/source" - -inherit autotools update-rc.d - -FILES_${PN} += "${libdir}/vfs/*.so ${libdir}/charset/*.so ${libdir}/*.dat \ - ${libdir}/auth/*.so ${libdir}/security/*.so" -FILES_${PN}-dbg += "${libdir}/vfs/.debug/*.so ${libdir}/charset/.debug/*.so \ - ${libdir}/auth/.debug/*.so ${libdir}/security/.debug/*.so" - -# The file system settings --foodir=dirfoo and overridden unconditionally -# in the samba config by --with-foodir=dirfoo - even if the --with is not -# specified! Fix that here. Set the privatedir to /etc/samba/private. -EXTRA_OECONF='--disable-cups \ - --with-readline=${STAGING_LIBDIR}/.. \ - --with-libiconv=${STAGING_LIBDIR}/.. \ - --without-automount \ - --with-configdir=${sysconfdir}/samba \ - --with-privatedir=${sysconfdir}/samba/private \ - --with-lockdir=${localstatedir}/lock \ - --with-piddir=${localstatedir}/run \ - --with-logfilebase=${localstatedir}/log \ - --with-libdir=${libdir} \ - --with-mandir=${mandir} \ - --with-swatdir=${datadir}/swat \ - samba_cv_struct_timespec=yes' - -INITSCRIPT_NAME = "samba" -# No dependencies, goes in at level 20 (NOTE: take care with the -# level, later levels put the shutdown later too - see the links -# in rc6.d, the shutdown must precede network shutdown). -INITSCRIPT_PARAMS = "defaults" -CONFFILES_${PN} = "${sysconfdir}/samba/smb.conf" - -do_configure_prepend () { - ./script/mkversion.sh - if [ ! -e acinclude.m4 ]; then - touch aclocal.m4 - cat aclocal.m4 > acinclude.m4 - fi -} - -do_compile () { - oe_runmake proto_exists - base_do_compile -} - -do_install_append() { - install -d ${D}${libdir}/pkgconfig/ - cp ${WORKDIR}/tdb.pc ${D}${libdir}/pkgconfig/ - mv ${D}${libdir}/libsmbclient.so ${D}${libdir}/libsmbclient.so.0 || true - ln -sf libsmbclient.so.0 ${D}${libdir}/libsmbclient.so - mkdir -p ${D}${base_sbindir} - rm -f ${D}${bindir}/*.old - rm -f ${D}${sbindir}/*.old - [ -f ${D}${sbindir}/mount.cifs ] && mv ${D}${sbindir}/mount.cifs ${D}${base_sbindir}/ - [ -f ${D}${sbindir}/umount.cifs ] && mv ${D}${sbindir}/umount.cifs ${D}${base_sbindir}/ - - # This is needed for < 3.2.4 - rm -f ${D}${sbindir}/mount.smbfs ${D}${base_sbindir}/mount.smbfs - if [ -f ${D}${bindir}/smbmount ]; then - ln -sf ${bindir}/smbmount ${D}${base_sbindir}/mount.smb - ln -sf ${bindir}/smbmount ${D}${base_sbindir}/mount.smbfs - fi - - install -D -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/samba - install -D -m 644 ${WORKDIR}/smb.conf ${D}${sysconfdir}/samba/smb.conf - install -D -m 644 ${WORKDIR}/volatiles.03_samba ${D}${sysconfdir}/default/volatiles/volatiles.03_samba - install -d ${D}/var/log/samba - install -d ${D}/var/spool/samba -} diff --git a/meta-moblin/packages/samba/samba_3.3.0.bb b/meta-moblin/packages/samba/samba_3.3.0.bb deleted file mode 100644 index 87a7c5e7f7..0000000000 --- a/meta-moblin/packages/samba/samba_3.3.0.bb +++ /dev/null @@ -1,35 +0,0 @@ -require samba.inc -require samba-basic.inc -LICENSE = "GPLv3" - -# 3.3.0 and newer will upgrade your tdb database to a -# new version that you can not downgrade to use with older -# releases. More testing will happen before this is removed -# should there be further issues. Appears to work though :) -DEFAULT_PREFERENCE = "-1" - -SRC_URI += "file://configure-3.3.0.patch;patch=1 \ - file://config-h.patch;patch=1 \ - file://mtab.patch;patch=1 \ - file://tdbheaderfix.patch;patch=1 " - -PR = "r3" - -EXTRA_OECONF += "\ - SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=yes \ - samba_cv_CC_NEGATIVE_ENUM_VALUES=yes \ - linux_getgrouplist_ok=no \ - samba_cv_HAVE_BROKEN_GETGROUPS=no \ - samba_cv_HAVE_FTRUNCATE_EXTEND=yes \ - samba_cv_have_setresuid=yes \ - samba_cv_have_setresgid=yes \ - samba_cv_HAVE_WRFILE_KEYTAB=yes \ - " - -do_configure() { - oe_runconf -} - -do_compile () { - base_do_compile -} diff --git a/meta-moblin/packages/sreadahead/files/sreadahead-generate.sh b/meta-moblin/packages/sreadahead/files/sreadahead-generate.sh deleted file mode 100755 index 19438f2935..0000000000 --- a/meta-moblin/packages/sreadahead/files/sreadahead-generate.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# - -if [ -e /etc/readahead.packed ]; then - exit 0 -fi - -if [ -e /etc/readahead.packed.first ]; then - mv /etc/readahead.packed.first /etc/readahead.packed.second - exit 0 -fi - -# That's our second boot, we can generate the sreadahead file list -if [ -e /etc/readahead.packed.second ]; then - rm -f /etc/readahead.packed.second - find / -type f | grep -E -v "\/dev\/|\/proc\/|\/sys\/" > filelist.txt - - /sbin/generate_filelist filelist.txt - rm filelist.txt - mv readahead.packed /etc/ -fi diff --git a/meta-moblin/packages/sreadahead/files/sreadahead.sh b/meta-moblin/packages/sreadahead/files/sreadahead.sh deleted file mode 100755 index c7378284b2..0000000000 --- a/meta-moblin/packages/sreadahead/files/sreadahead.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# -# Start sreadahead, of the config file exists - -if [ -e /etc/readahead.packed ]; then - /sbin/sreadahead -fi diff --git a/meta-moblin/packages/sreadahead/sreadahead-0.02/readahead_c.patch b/meta-moblin/packages/sreadahead/sreadahead-0.02/readahead_c.patch deleted file mode 100644 index a65c1088f5..0000000000 --- a/meta-moblin/packages/sreadahead/sreadahead-0.02/readahead_c.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- - readahead.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -Index: sreadahead-0.02/readahead.c -=================================================================== ---- sreadahead-0.02.orig/readahead.c 2008-09-23 22:35:20.000000000 +0200 -+++ sreadahead-0.02/readahead.c 2008-10-27 16:27:52.000000000 +0100 -@@ -69,7 +69,11 @@ void *one_thread(void *ptr) - int main(int argc, char **argv) - { - FILE *file = fopen("/etc/readahead.packed", "r"); -- -+ if (!file) { -+ perror("Couldnt open /etc/readahead.packed"); -+ return -errno; -+ } -+ - daemon(0,0); - - total_files = fread(&files, sizeof(struct readahead), MAXR, file); -@@ -81,7 +85,6 @@ int main(int argc, char **argv) - pthread_create(&three, NULL, one_thread, NULL); - pthread_create(&four, NULL, one_thread, NULL); - -- printf("Waiting\n"); - pthread_join(one, NULL); - pthread_join(two, NULL); - pthread_join(three, NULL); diff --git a/meta-moblin/packages/sreadahead/sreadahead-0.02/set_to_idle.patch b/meta-moblin/packages/sreadahead/sreadahead-0.02/set_to_idle.patch deleted file mode 100644 index b48659048a..0000000000 --- a/meta-moblin/packages/sreadahead/sreadahead-0.02/set_to_idle.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -Naurp sreadahead-0.02/readahead.c sreadahead-0.02-nice/readahead.c ---- sreadahead-0.02/readahead.c 2008-11-06 00:57:17.000000000 -0500 -+++ sreadahead-0.02-nice/readahead.c 2008-11-06 02:28:29.000000000 -0500 -@@ -26,7 +26,18 @@ - #include - - #include "readahead.h" -+#include - -+# if defined(__i386__) -+# define __NR_ioprio_set 289 -+# elif defined(__x86_64__) -+# define __NR_ioprio_set 251 -+# else -+# error "Unsupported arch" -+# endif -+ -+#define IOPRIO_WHO_PROCESS 1 -+#define IOPRIO_CLASS_SHIFT 13 - #define MAXR 1024 - static struct readahead files[MAXR]; - static unsigned int total_files = 0; -@@ -68,7 +79,15 @@ void *one_thread(void *ptr) - - int main(int argc, char **argv) - { -- FILE *file = fopen("/etc/readahead.packed", "r"); -+ int iopriority = 7; /* hard code for idle */ -+ int iopriority_class = 3; /* 3 stands for idle */ -+ int pid = 0; -+ FILE *file; -+ -+ if (syscall(__NR_ioprio_set, IOPRIO_WHO_PROCESS, pid, iopriority | iopriority_class << IOPRIO_CLASS_SHIFT) == -1) -+ perror("Can not set priority to idle class"); -+ -+ file = fopen("/etc/readahead.packed", "r"); - if (!file) { - perror("Couldnt open /etc/readahead.packed"); - return -errno; diff --git a/meta-moblin/packages/sreadahead/sreadahead-0.02/sreadahead-0.02-make.patch b/meta-moblin/packages/sreadahead/sreadahead-0.02/sreadahead-0.02-make.patch deleted file mode 100644 index d0ece663b5..0000000000 --- a/meta-moblin/packages/sreadahead/sreadahead-0.02/sreadahead-0.02-make.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -Nrup sreadahead-0.02.orig/Makefile sreadahead-0.02/Makefile ---- sreadahead-0.02.orig/Makefile 2008-09-23 22:36:24.000000000 +0200 -+++ sreadahead-0.02/Makefile 2008-09-26 07:43:19.000000000 +0200 -@@ -1,11 +1,18 @@ --all: generate_filelist sreadahead -+CFLAGS=-Os -g -Wall -+PROGS=generate_filelist sreadahead -+ -+all: $(PROGS) - - - generate_filelist: readahead.h filelist.c Makefile -- gcc -Os -g -Wall -W filelist.c -o generate_filelist -+ $(CC) $(CFLAGS) -W filelist.c -o generate_filelist - - sreadahead: readahead.h readahead.c Makefile -- gcc -Os -g -Wall -lpthread -W readahead.c -o sreadahead -+ $(CC) $(CFLAGS) -lpthread -W readahead.c -o sreadahead - - clean: -- rm -f *~ sreadahead generate_filelist -\ No newline at end of file -+ rm -f *~ sreadahead generate_filelist -+ -+install: all -+ mkdir -p $(DESTDIR)/sbin -+ install -p -m 755 $(PROGS) $(DESTDIR)/sbin diff --git a/meta-moblin/packages/sreadahead/sreadahead_0.02.bb b/meta-moblin/packages/sreadahead/sreadahead_0.02.bb deleted file mode 100644 index c29a1defed..0000000000 --- a/meta-moblin/packages/sreadahead/sreadahead_0.02.bb +++ /dev/null @@ -1,48 +0,0 @@ -DESCRIPTION = "Super readahead, part of the fastboot tool set." -SECTION = "base" -HOMEPAGE = "http://www.moblin.org" -LICENSE = "GPLv2" -PR = "r13" - -inherit update-rc.d - -SRC_URI = "http://www.moblin.org/sites/all/files/sreadahead-${PV}.tar.gz \ - file://sreadahead-0.02-make.patch;patch=1 \ - file://readahead_c.patch;patch=1 \ - file://set_to_idle.patch;patch=1 \ - file://sreadahead-generate.sh \ - file://sreadahead.sh" - -CFLAGS_prepend = "-I ${S}/include " - -# -# Not compatible on arm due to the use of __sync_fetch_and_add -# Would need to use a pthread mutex on arm -# -COMPATIBLE_HOST = "(i.86).*-linux" - -PACKAGES += "${PN}-generate" -FILES_${PN} = "${base_sbindir}/sreadahead ${sysconfdir}/init.d/sreadahead.sh" -FILES_${PN}-generate = "${base_sbindir}/generate_filelist ${sysconfdir}/init.d/sreadahead-generate.sh" - -INITSCRIPT_PACKAGES = "${PN} ${PN}-generate" -INITSCRIPT_NAME = "sreadahead.sh" -INITSCRIPT_NAME_${PN}-generate = "sreadahead-generate.sh" -INITSCRIPT_PARAMS = "start 00 S ." -INITSCRIPT_PARAMS_${PN}-generate = "defaults 99" - -do_install() { - oe_runmake install DESTDIR=${D} - install -d ${D}${sysconfdir}/init.d - install -m 755 ${WORKDIR}/sreadahead.sh ${D}${sysconfdir}/init.d/ - install -m 755 ${WORKDIR}/sreadahead-generate.sh ${D}${sysconfdir}/init.d/ -} - -pkg_postinst_${PN}-generate () { - # can't do this offline - if [ "x$D" != "x" ]; then - exit 1 - fi - - touch /etc/readahead.packed.first -} diff --git a/meta-moblin/packages/syncevolution/syncevolution_git.bb b/meta-moblin/packages/syncevolution/syncevolution_git.bb deleted file mode 100644 index 9d767ca949..0000000000 --- a/meta-moblin/packages/syncevolution/syncevolution_git.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "Data synchronization tool" -SRC_URI = "git://git.moblin.org/${PN}.git;protocol=git;branch=syncevolution-0-9-branch" -LICENSE = "LGPLv2.1" -PV = "0.0+git${SRCPV}" -PR = "r1" - -DEPENDS = "libsynthesis libsoup curl boost nbtk dbus-glib glib-2.0 libglade libunique gnome-keyring eds-dbus" - -EXTRA_OECONF = "--enable-gui=moblin" - -S = "${WORKDIR}/git" - -inherit autotools - -do_configure_prepend () { - ${S}/gen-autotools.sh -} \ No newline at end of file diff --git a/meta-moblin/packages/tasks/task-moblin-apps-x11-pimlico.bb b/meta-moblin/packages/tasks/task-moblin-apps-x11-pimlico.bb deleted file mode 100644 index 54fb8d2f3e..0000000000 --- a/meta-moblin/packages/tasks/task-moblin-apps-x11-pimlico.bb +++ /dev/null @@ -1,23 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "X11 Pimlico Appications List" -PR = "r28" - -PACKAGES = "\ - task-moblin-apps-x11-pimlico \ - task-moblin-apps-x11-pimlico-dbg \ - task-moblin-apps-x11-pimlico-dev \ - " - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -ALLOW_EMPTY = "1" - -RDEPENDS_task-moblin-apps-x11-pimlico = "\ - eds-dbus \ - contacts \ - dates \ - tasks \ - gaku" \ No newline at end of file diff --git a/meta-moblin/packages/tasks/task-moblin-boot.bb b/meta-moblin/packages/tasks/task-moblin-boot.bb deleted file mode 100644 index 97d9a52f41..0000000000 --- a/meta-moblin/packages/tasks/task-moblin-boot.bb +++ /dev/null @@ -1,42 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Task for Moblin - minimal bootable image" -PACKAGE_ARCH = "${MACHINE_ARCH}" -DEPENDS = "virtual/kernel" -ALLOW_EMPTY = "1" -PR = "r8" - -# -# Set by the machine configuration with packages essential for device bootup -# -MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= "" -MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" - -RDEPENDS_task-moblin-boot = "\ - base-files \ - base-passwd \ - busybox \ - initscripts \ - ${@base_contains("MACHINE_FEATURES", "keyboard", "keymaps", "", d)} \ - modutils-initscripts \ - netbase \ - sysvinit \ - tinylogin \ - udev \ - ${VIRTUAL-RUNTIME_update-alternatives} \ - ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}" - -RDEPENDS_task-moblin-boot_append_netbook = "\ - sreadahead \ - sreadahead-generate \ - " - -RDEPENDS_task-moblin-boot_append_menlow = "\ - sreadahead \ - sreadahead-generate \ - " - -RRECOMMENDS_task-moblin-boot = "\ - ${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}" diff --git a/meta-moblin/packages/tasks/task-moblin-sdk.bb b/meta-moblin/packages/tasks/task-moblin-sdk.bb deleted file mode 100644 index 328a377c53..0000000000 --- a/meta-moblin/packages/tasks/task-moblin-sdk.bb +++ /dev/null @@ -1,85 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTON = "Software Development Tasks for Moblin" -DEPENDS = "task-moblin" -PR = "r6" - -ALLOW_EMPTY = "1" -#PACKAGEFUNCS =+ 'generate_sdk_pkgs' - -PACKAGES = "\ - task-moblin-sdk \ - task-moblin-sdk-dbg \ - task-moblin-sdk-dev" - -RDEPENDS_task-moblin-sdk = "\ - autoconf \ - automake \ - binutils \ - binutils-symlinks \ - coreutils \ - cpp \ - cpp-symlinks \ - diffutils \ - gcc \ - gcc-symlinks \ - g++ \ - g++-symlinks \ - git \ - gettext \ - make \ - intltool \ - libstdc++ \ - libstdc++-dev \ - libtool \ - perl-module-re \ - perl-module-text-wrap \ - pkgconfig \ - subversion \ - findutils \ - quilt \ - less \ - distcc" - -#python generate_sdk_pkgs () { -# moblin_pkgs = read_pkgdata('task-moblin', d)['PACKAGES'] -# pkgs = bb.data.getVar('PACKAGES', d, 1).split() -# for pkg in moblin_pkgs.split(): -# newpkg = pkg.replace('task-moblin', 'task-moblin-sdk') -# -# # for each of the task packages, add a corresponding sdk task -# pkgs.append(newpkg) -# -# # for each sdk task, take the rdepends of the non-sdk task, and turn -# # that into rrecommends upon the -dev versions of those, not unlike -# # the package depchain code -# spkgdata = read_subpkgdata(pkg, d) -# -# rdepends = explode_deps(spkgdata.get('RDEPENDS_%s' % pkg) or '') -# rreclist = [] -# -# for depend in rdepends: -# split_depend = depend.split(' (') -# name = split_depend[0].strip() -# if packaged('%s-dev' % name, d): -# rreclist.append('%s-dev' % name) -# else: -# deppkgdata = read_subpkgdata(name, d) -# rdepends2 = explode_deps(deppkgdata.get('RDEPENDS_%s' % name) or '') -# for depend in rdepends2: -# split_depend = depend.split(' (') -# name = split_depend[0].strip() -# if packaged('%s-dev' % name, d): -# rreclist.append('%s-dev' % name) -# -# oldrrec = bb.data.getVar('RRECOMMENDS_%s' % newpkg, d) or '' -# bb.data.setVar('RRECOMMENDS_%s' % newpkg, oldrrec + ' ' + ' '.join(rreclist), d) -# # bb.note('RRECOMMENDS_%s = "%s"' % (newpkg, bb.data.getVar('RRECOMMENDS_%s' % newpkg, d))) -# -# # bb.note('pkgs is %s' % pkgs) -# bb.data.setVar('PACKAGES', ' '.join(pkgs), d) -#} -# -#PACKAGES_DYNAMIC = "task-moblin-sdk-*" diff --git a/meta-moblin/packages/tasks/task-moblin-standalone-sdk-target.bb b/meta-moblin/packages/tasks/task-moblin-standalone-sdk-target.bb deleted file mode 100644 index 469bf15516..0000000000 --- a/meta-moblin/packages/tasks/task-moblin-standalone-sdk-target.bb +++ /dev/null @@ -1,67 +0,0 @@ -# -# Copyright (C) 2008-2010 Intel Corporation. -# - -DESCRIPTION = "Target packages for the standalone Moblin SDK" -PR = "r7" -LICENSE = "MIT" -ALLOW_EMPTY = "1" - -PACKAGES = "${PN} ${PN}-dbg" - -RDEPENDS_${PN} = "\ - libgcc \ - libstdc++ \ - task-poky-standalone-sdk-target \ - dbus-dev \ - dbus-glib-dev \ - gtk+-dev \ - gstreamer-dev \ - bluez4-dev \ - gconf-dbus-dev \ - avahi-dev \ - telepathy-glib-dev \ - eds-dbus-dev \ - libecal-dev \ - libebook-dev \ - libglade-dev \ - libxi-dev \ - libsqlite3-dev \ - clutter-1.0-dev \ - nbtk-dev \ - mutter-dev \ - mutter-moblin-dev \ - clutter-gst-0.10-dev \ - clutter-gtk-0.10-dev \ - clutter-imcontext \ - libccss \ - " - -GLIBC_DEPENDENCIES = "\ - libsegfault \ - glibc \ - glibc-dbg \ - glibc-dev \ - glibc-utils \ - glibc-thread-db \ - glibc-localedata-i18n \ - glibc-gconv-ibm850 \ - glibc-gconv-cp1252 \ - glibc-gconv-iso8859-1 \ - glibc-gconv-iso8859-15 \ - locale-base-en-gb \ - " - -RDEPENDS_${PN}_append_linux = "${GLIBC_DEPENDENCIES}" -RDEPENDS_${PN}_append_linux-gnueabi = "${GLIBC_DEPENDENCIES}" - -UCLIBC_DEPENDENCIES = "\ - uclibc \ - uclibc-dbg \ - uclibc-dev \ - uclibc-thread-db \ - " - -RDEPENDS_${PN}_append_linux-uclibc = "${UCLIBC_DEPENDENCIES}" -RDEPENDS_${PN}_append_linux-uclibcgnueabi = "${UCLIBC_DEPENDENCIES}" - diff --git a/meta-moblin/packages/tasks/task-moblin-tools.bb b/meta-moblin/packages/tasks/task-moblin-tools.bb deleted file mode 100644 index a26f66c417..0000000000 --- a/meta-moblin/packages/tasks/task-moblin-tools.bb +++ /dev/null @@ -1,58 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Debuggin and profiling tools tasks for Moblin" -PR = "r5" - -PACKAGES = "\ - task-moblin-tools-debug \ - task-moblin-tools-debug-dbg \ - task-moblin-tools-debug-dev \ - task-moblin-tools-profile \ - task-moblin-tools-profile-dbg \ - task-moblin-tools-profile-dev \ - task-moblin-tools-testapps \ - task-moblin-tools-testapps-dbg \ - task-moblin-tools-testapps-dev \ - " - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -ALLOW_EMPTY = "1" - -RDEPENDS_task-moblin-tools-debug = "\ - gdb \ - gdbserver \ - strace" - -RDEPENDS_task-moblin-tools-profile = "\ -# exmap-console \ -# exmap-server \ - oprofile \ - oprofileui-server \ - powertop \ -# lttng-control \ -# lttng-viewer \ - " - -RDEPENDS_task-moblin-tools-profile_qemux86 += "valgrind" - -RRECOMMENDS_task-moblin-tools-profile = "\ - kernel-module-oprofile" - -RDEPENDS_task-moblin-tools-testapps = "\ - blktool \ - tslib-calibrate \ - tslib-tests \ - lrzsz \ - kexec-tools \ - alsa-utils-amixer \ - alsa-utils-aplay \ - owl-video \ - gst-meta-video \ - gst-meta-audio \ - xrestop \ - xwininfo \ - xprop \ - xvideo-tests" diff --git a/meta-moblin/packages/tasks/task-moblin-x11-netbook.bb b/meta-moblin/packages/tasks/task-moblin-x11-netbook.bb deleted file mode 100644 index e2f8296e02..0000000000 --- a/meta-moblin/packages/tasks/task-moblin-x11-netbook.bb +++ /dev/null @@ -1,56 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Netbook GUI Tasks for Moblin" -PR = "r21" - -PACKAGES = "\ - task-moblin-x11-netbook \ - task-moblin-x11-netbook-dbg \ - task-moblin-x11-netbook-dev \ - " - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -ALLOW_EMPTY = "1" - -# matchbox-config-gtk \ -# xcursor-transparent-theme \ - -MOBLINBROWSER ?= "moblin-web-browser" - -EXTRA_MOBLIN_PACKAGES ?= "" -RDEPENDS_task-moblin-x11-netbook = "\ - bickley \ - mojito \ - mutter \ - droid-fonts \ - gnome-settings-daemon \ - librest \ - nbtk \ - nautilus \ - mutter-moblin \ - moblin-panel-applications \ - moblin-panel-media \ - moblin-panel-myzone \ - moblin-panel-pasteboard \ - moblin-panel-people \ - moblin-panel-status \ - moblin-gtk-engine \ - moblin-menus \ - moblin-user-skel \ - bisho \ - ${MOBLINBROWSER} \ - dalston \ - hornsey \ - anerley \ - bognor-regis \ - moblin-icon-theme \ - moblin-cursor-theme \ - moblin-sound-theme \ - matchbox-session-netbook \ - carrick \ - empathy \ - gnome-terminal \ - ${EXTRA_MOBLIN_PACKAGES}" diff --git a/meta-moblin/packages/tasks/task-moblin.bb b/meta-moblin/packages/tasks/task-moblin.bb deleted file mode 100644 index 7afc33a18c..0000000000 --- a/meta-moblin/packages/tasks/task-moblin.bb +++ /dev/null @@ -1,61 +0,0 @@ -# -# Copyright (C) 2008 Intel Corporation. -# - -DESCRIPTION = "Tasks for Moblin" -PR = "r35" - -PACKAGES = "\ - task-moblin-apps-console \ - task-moblin-apps-console-dbg \ - task-moblin-apps-console-dev \ - task-moblin-apps-x11-core \ - task-moblin-apps-x11-core-dbg \ - task-moblin-apps-x11-core-dev \ - task-moblin-apps-x11-games \ - task-moblin-apps-x11-games-dbg \ - task-moblin-apps-x11-games-dev \ - task-moblin-x11-base \ - task-moblin-x11-base-dbg \ - task-moblin-x11-base-dev \ - " - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -XSERVER ?= "xserver-kdrive-fbdev" - -ALLOW_EMPTY = "1" - - -RDEPENDS_task-moblin-apps-console = "\ - avahi-daemon \ - alsa-utils-alsamixer \ - dropbear \ - dbus \ - portmap \ - psplash" - - -RDEPENDS_task-moblin-x11-base = "\ - dbus \ - pointercal \ - ${XSERVER} \ - x11-common \ - xserver-nodm-init \ - liberation-fonts \ - pulseaudio-server \ - xauth \ - xhost \ - xset \ - xrandr" - - -RDEPENDS_task-moblin-apps-x11-core = "\ - leafpad \ - pcmanfm \ - matchbox-terminal \ - screenshot" - - -RDEPENDS_task-moblin-apps-x11-games = "\ - oh-puzzles" diff --git a/meta-moblin/packages/tracker/tracker-0.7.18/20-tracker-defaults.patch b/meta-moblin/packages/tracker/tracker-0.7.18/20-tracker-defaults.patch deleted file mode 100644 index 7f5b4a578b..0000000000 --- a/meta-moblin/packages/tracker/tracker-0.7.18/20-tracker-defaults.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: tracker-0.7.18/src/tracker-miner-fs/tracker-config.c -=================================================================== ---- tracker-0.7.18.orig/src/tracker-miner-fs/tracker-config.c 2010-01-26 14:57:20.000000000 +0000 -+++ tracker-0.7.18/src/tracker-miner-fs/tracker-config.c 2010-02-04 16:47:46.000000000 +0000 -@@ -42,7 +42,7 @@ - #define DEFAULT_VERBOSITY 0 - #define DEFAULT_INITIAL_SLEEP 15 /* 0->1000 */ - #define DEFAULT_ENABLE_MONITORS TRUE --#define DEFAULT_THROTTLE 0 /* 0->20 */ -+#define DEFAULT_THROTTLE 10 /* 0->20 */ - #define DEFAULT_SCAN_TIMEOUT 0 /* 0->1000 */ - #define DEFAULT_CACHE_TIMEOUT 60 /* 0->1000 */ - #define DEFAULT_INDEX_MOUNTED_DIRECTORIES TRUE diff --git a/meta-moblin/packages/tracker/tracker-0.7.18/90tracker b/meta-moblin/packages/tracker/tracker-0.7.18/90tracker deleted file mode 100755 index 9594b91689..0000000000 --- a/meta-moblin/packages/tracker/tracker-0.7.18/90tracker +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -/usr/bin/trackerd -m & - diff --git a/meta-moblin/packages/tracker/tracker-0.7.18/munge-configure.ac-cross-compile.patch b/meta-moblin/packages/tracker/tracker-0.7.18/munge-configure.ac-cross-compile.patch deleted file mode 100644 index 0e1736abe1..0000000000 --- a/meta-moblin/packages/tracker/tracker-0.7.18/munge-configure.ac-cross-compile.patch +++ /dev/null @@ -1,39 +0,0 @@ -Index: tracker-0.7.18/configure.ac -=================================================================== ---- tracker-0.7.18.orig/configure.ac 2010-01-28 18:16:36.000000000 +0000 -+++ tracker-0.7.18/configure.ac 2010-02-04 16:40:52.000000000 +0000 -@@ -1542,34 +1542,6 @@ - old_exec_message="" - old_data_message="" - --AC_CHECK_FILE("${prefix}/bin/trackerd", old_exec_trackerd=yes,,) --AC_CHECK_FILE("${prefix}/bin/tracker-indexer", old_exec_tracker_indexer=yes,,) --AC_CHECK_FILE("${prefix}/bin/tracker-extract", old_exec_tracker_extract=yes,,) --AC_CHECK_FILE("${prefix}/bin/tracker-thumbnailer", old_exec_tracker_thumbnailer=yes,,) --AC_CHECK_FILE("${DBUS_SERVICES_DIR}/tracker.service", old_data_dbus_service=yes,) --AC_CHECK_FILE("${prefix}/share/tracker/tracker-introspect.xml", old_data_dbus_xml=yes,,) --AC_CHECK_FILE("${prefix}/share/tracker/sqlite-service-stored-procs.sql", old_data_stored_procs=yes,,) -- --if test "x$old_exec_trackerd" = "xyes" -o \ -- "x$old_exec_tracker_indexer" = "xyes" -o \ -- "x$old_exec_tracker_extract" = "xyes" -o \ -- "x$old_exec_tracker_thumbnailer" = "xyes"; then -- old_exec_message=" -- Old Tracker executable files were found in your path. -- (trackerd, tracker-indexer, tracker-thumbnailer, tracker-extract)" -- old_file_action=" -- ** These files will be removed as part of the installation **" --fi -- --if test "x$old_data_dbus_service" = "xyes" -o \ -- "x$old_data_dbus_xml" = "xyes" -o \ -- "x$old_data_stored_procs" = "xyes"; then -- old_data_message=" -- Old Tracker data files were found in the prefix you are installing to." -- old_file_action=" -- ** These files will be removed as part of the installation **" --fi -- - AM_CONDITIONAL(OLD_EXEC_REMOVE_ALL, test -n "$old_exec_message") - AM_CONDITIONAL(OLD_DATA_REMOVE_ALL, test -n "$old_data_message") - diff --git a/meta-moblin/packages/tracker/tracker_0.7.18.bb b/meta-moblin/packages/tracker/tracker_0.7.18.bb deleted file mode 100644 index 2b908641e4..0000000000 --- a/meta-moblin/packages/tracker/tracker_0.7.18.bb +++ /dev/null @@ -1,26 +0,0 @@ -DESCRIPTION = "Tracker is a tool designed to extract information and metadata about your personal data so that it can be searched easily and quickly." -LICENSE = "GPLv2" -DEPENDS = "file gtk+ gstreamer gamin dbus poppler libexif libgsf libgnomecanvas" -HOMEPAGE = "http://www.tracker-project.org/" - -inherit autotools pkgconfig gnome gettext - -SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/tracker/0.7/tracker-${PV}.tar.bz2 \ - file://munge-configure.ac-cross-compile.patch;patch=1 \ - file://20-tracker-defaults.patch;patch=1 \ - file://90tracker" - -EXTRA_OECONF += " tracker_cv_have_ioprio=yes" - -LEAD_SONAME = "libtrackerclient.so.0" - -do_install_append() { - cp -dPr ${D}${STAGING_DATADIR}/* ${D}${datadir}/ || true - install -d ${D}/${sysconfdir}/X11/Xsession.d/ - install -m 0755 ${WORKDIR}/90tracker ${D}/${sysconfdir}/X11/Xsession.d/ -} - -FILES_${PN} += "${datadir}/dbus-1/" -FILES_${PN}-dbg += "${libdir}/*/*/.debug" - -CONFFILES_${PN} += "${sysconfdir}/X11/Xsession.d/90tracker" diff --git a/meta-moblin/packages/twitter-glib/twitter-glib/nodolt.patch b/meta-moblin/packages/twitter-glib/twitter-glib/nodolt.patch deleted file mode 100644 index 1eb9e3c8a8..0000000000 --- a/meta-moblin/packages/twitter-glib/twitter-glib/nodolt.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: git/configure.ac -=================================================================== ---- git.orig/configure.ac 2009-11-27 15:30:59.000000000 +0000 -+++ git/configure.ac 2009-11-27 15:31:07.000000000 +0000 -@@ -57,7 +57,6 @@ - - AC_DISABLE_STATIC - AC_PROG_LIBTOOL --DOLT - - AC_ISC_POSIX - AC_HEADER_STDC diff --git a/meta-moblin/packages/twitter-glib/twitter-glib_git.bb b/meta-moblin/packages/twitter-glib/twitter-glib_git.bb deleted file mode 100644 index 7d4d990fec..0000000000 --- a/meta-moblin/packages/twitter-glib/twitter-glib_git.bb +++ /dev/null @@ -1,17 +0,0 @@ -HOMEPAGE = "http://live.gnome.org/TwitterGlib" -SRC_URI = "git://github.com/ebassi/${PN}.git;protocol=git \ - file://nodolt.patch;patch=1" -PV = "0.1+git${SRCPV}" -PR = "r1" - -DEPENDS = "glib-2.0 gtk+ json-glib libsoup-2.4" - -S = "${WORKDIR}/git" - -EXTRA_OECONF = "--disable-shave --disable-introspection --disable-maintainer-flags" - -inherit autotools - -do_configure_prepend () { - echo "EXTRA_DIST=" > ${S}/gtk-doc.make -} diff --git a/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch b/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch deleted file mode 100644 index 0e5d3ff153..0000000000 --- a/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch +++ /dev/null @@ -1,160 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- qt-embedded-free-3.3.5/src/embedded/qgfxlinuxfb_qws.cpp~64bit-cleanup.patch -+++ qt-embedded-free-3.3.5/src/embedded/qgfxlinuxfb_qws.cpp -@@ -40,6 +40,7 @@ - - #include - #include -+#include - #include - #include - #include -@@ -176,7 +177,7 @@ - MAP_SHARED, fd, 0); - data += dataoffset; - -- if ((int)data == -1) { -+ if ((intptr_t)data == -1) { - perror("mapping /dev/fb0"); - qWarning("Error: failed to map framebuffer device to memory."); - return FALSE; -@@ -737,7 +738,7 @@ - psize += 8; // for alignment - psize &= ~0x7; // align - -- unsigned int pos=(unsigned int)data; -+ uintptr_t pos=(uintptr_t)data; - pos += psize; - entryp = ((int *)pos); - lowest = ((unsigned int *)pos)+1; ---- qt-embedded-free-3.3.5/src/kernel/qsharedmemory_p.cpp~64bit-cleanup.patch -+++ qt-embedded-free-3.3.5/src/kernel/qsharedmemory_p.cpp -@@ -31,6 +31,7 @@ - **********************************************************************/ - - #include "qsharedmemory_p.h" -+#include - - #if !defined(QT_QWS_NO_SHM) - -@@ -132,7 +133,7 @@ - shmId = shmget (key, shmSize, 0); - - shmBase = shmat (shmId, 0, 0); -- if ((int) shmBase == -1 || shmBase == 0) -+ if ((intptr_t) shmBase == -1 || shmBase == 0) - return FALSE; - else - return TRUE; ---- qt-embedded-free-3.3.5/src/kernel/qapplication_qws.cpp~64bit-cleanup.patch -+++ qt-embedded-free-3.3.5/src/kernel/qapplication_qws.cpp -@@ -107,6 +107,7 @@ - #include - #include - #include -+#include - - #if defined(Q_OS_QNX) - #include -@@ -1879,7 +1880,7 @@ - w = widgetAt(*qt_last_x, *qt_last_y, FALSE); - if ( !w ) - w = desktop(); -- QPaintDevice::qwsDisplay()->selectCursor(w, (int)app_cursor->handle()); -+ QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)app_cursor->handle()); - } - - void QApplication::restoreOverrideCursor() -@@ -1898,11 +1899,11 @@ - cursorStack = 0; - qws_overrideCursor = FALSE; - if ( w->testWState(WState_OwnCursor) ) -- QPaintDevice::qwsDisplay()->selectCursor(w, (int)w->cursor().handle()); -+ QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)w->cursor().handle()); - else - QPaintDevice::qwsDisplay()->selectCursor(w, ArrowCursor); - } else { -- QPaintDevice::qwsDisplay()->selectCursor(w, (int)app_cursor->handle()); -+ QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)app_cursor->handle()); - } - } - #endif// QT_NO_CURSOR -@@ -2130,7 +2131,7 @@ - } - if ( !qws_overrideCursor ) { - if (curs) -- QPaintDevice::qwsDisplay()->selectCursor(widget, (int)curs->handle()); -+ QPaintDevice::qwsDisplay()->selectCursor(widget, (intptr_t)curs->handle()); - else - QPaintDevice::qwsDisplay()->selectCursor(widget, ArrowCursor); - } ---- qt-embedded-free-3.3.5/src/kernel/qfont_qws.cpp~64bit-cleanup.patch -+++ qt-embedded-free-3.3.5/src/kernel/qfont_qws.cpp -@@ -49,6 +49,7 @@ - #include "qgfx_qws.h" - #include "qtextengine_p.h" - #include "qfontengine_p.h" -+#include - - QFont::Script QFontPrivate::defaultScript = QFont::UnknownScript; - -@@ -133,7 +134,7 @@ - req.pointSize = req.pixelSize*10; - - if ( ! engineData ) { -- QFontCache::Key key( req, QFont::NoScript, (int)paintdevice ); -+ QFontCache::Key key( req, QFont::NoScript, (intptr_t)paintdevice ); - - // look for the requested font in the engine data cache - engineData = QFontCache::instance->findEngineData( key ); ---- qt-embedded-free-3.3.5/src/kernel/qwsregionmanager_qws.cpp~64bit-cleanup.patch -+++ qt-embedded-free-3.3.5/src/kernel/qwsregionmanager_qws.cpp -@@ -32,6 +32,7 @@ - #include "qwsdisplay_qws.h" - #include "qwsregionmanager_qws.h" - #include -+#include - - #ifndef QT_NO_QWS_MULTIPROCESS - #include -@@ -288,7 +289,7 @@ - data = (unsigned char *)shmat( shmId, 0, 0 ); - } - -- return ( shmId != -1 && (int)data != -1 ); -+ return ( shmId != -1 && (intptr_t)data != -1 ); - #else - int dataSize = sizeof(QWSRegionHeader) // header - + sizeof(QWSRegionIndex) * QT_MAX_REGIONS // + index ---- qt-embedded-free-3.3.5/src/kernel/qwidget_qws.cpp~64bit-cleanup.patch -+++ qt-embedded-free-3.3.5/src/kernel/qwidget_qws.cpp -@@ -53,6 +53,7 @@ - #include "qwsmanager_qws.h" - #include "qwsregionmanager_qws.h" - #include "qinputcontext_p.h" -+#include - - void qt_insert_sip( QWidget*, int, int ); // defined in qapplication_x11.cpp - int qt_sip_count( QWidget* ); // --- "" --- -@@ -631,7 +632,7 @@ - qt_mouseGrb->releaseMouse(); - - qwsDisplay()->grabMouse(this,TRUE); -- qwsDisplay()->selectCursor(this, (unsigned int)cursor.handle()); -+ qwsDisplay()->selectCursor(this, (uintptr_t)cursor.handle()); - qt_mouseGrb = this; - qt_pressGrab = 0; - } -@@ -1845,7 +1846,7 @@ - QSize s( qt_screen->width(), qt_screen->height() ); - QPoint pos = qt_screen->mapToDevice(QPoint(*qt_last_x, *qt_last_y), s); - if ( r.contains(pos) ) -- qwsDisplay()->selectCursor((QWidget*)this, (unsigned int)cursor().handle()); -+ qwsDisplay()->selectCursor((QWidget*)this, (uintptr_t)cursor().handle()); - } - } - #endif diff --git a/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/no-examples.patch b/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/no-examples.patch deleted file mode 100644 index b0ee6374ef..0000000000 --- a/meta-moblin/packages/uicmoc/uicmoc3-native-3.3.5/no-examples.patch +++ /dev/null @@ -1,16 +0,0 @@ - -# -# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher -# - ---- qt-embedded-free-3.3.2/Makefile~no-examples 2003-08-11 16:37:25.000000000 +0200 -+++ qt-embedded-free-3.3.2/Makefile 2004-05-11 15:53:53.000000000 +0200 -@@ -11,7 +11,7 @@ - install: FORCE - @$(MAKE) qt.install - --all: symlinks src-qmake src-moc sub-src sub-tools sub-tutorial sub-examples -+all: symlinks src-qmake src-moc sub-src sub-tools - @echo - @echo "The Qt library is now built in ./lib" - @echo "The Qt examples are built in the directories in ./examples" diff --git a/meta-moblin/packages/uicmoc/uicmoc3-native_3.3.5.bb b/meta-moblin/packages/uicmoc/uicmoc3-native_3.3.5.bb deleted file mode 100644 index 68582850a2..0000000000 --- a/meta-moblin/packages/uicmoc/uicmoc3-native_3.3.5.bb +++ /dev/null @@ -1,56 +0,0 @@ -DESCRIPTION = "User Interface Generator and Meta Object Compiler (moc) for Qt(E) 3.x" -HOMEPAGE = "http://www.trolltech.com" -SECTION = "devel" -PRIORITY = "optional" -LICENSE = "GPL QPL" -DEPENDS = "qmake-native" -PR = "r3" - -SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-free-${PV}.tar.bz2 \ - file://no-examples.patch;patch=1 \ - file://64bit-cleanup.patch;patch=1" -S = "${WORKDIR}/qt-embedded-free-${PV}" - -inherit native qmake_base qt3e - -export QTDIR = "${S}" -export OE_QMAKE_LINK="${CXX}" -CXXFLAGS += " -DQWS" - -QT_CONFIG_FLAGS = "-release -static -depths 8,16 -qt-zlib -no-nas-sound \ - -no-sm -no-libjpeg -no-libmng -no-gif -no-xshape -no-xinerama \ - -no-xcursor -no-xrandr -no-xrender -no-xft -no-tablet \ - -no-xkb -no-dlopen-opengl -no-freetype -no-thread \ - -no-nis -no-cups -prefix ${prefix} \ - -xplatform ${OE_QMAKE_PLATFORM} \ - -platform ${OE_QMAKE_PLATFORM}" - -do_configure() { - oe_qmake_mkspecs - echo "yes" | ./configure ${QT_CONFIG_FLAGS} -} - -do_compile() { - oe_runmake symlinks || die "Can't symlink include files" - oe_runmake src-moc || die "Building moc failed" - oe_runmake sub-tools || die "Building tools failed" -} - -do_install() { - install -d ${D}${bindir}/ - install -d ${D}/qte3/lib/ - install -d ${D}/qte3/include - - install -m 0755 bin/moc ${D}${bindir}/ - install -m 0755 bin/uic ${D}${bindir}/ - install -m 0655 lib/*.a ${D}/qte3/lib/ - - for f in include/*.h - do - install -m 0644 $f ${D}/qte3/include/ - done -} - -sysroot_stage_all_append() { - sysroot_stage_dir ${D}/qte3 ${SYSROOT_DESTDIR}/${QTEDIR}/ -} diff --git a/meta-moblin/packages/xdg-user-dirs/xdg-user-dirs/configurefix.patch b/meta-moblin/packages/xdg-user-dirs/xdg-user-dirs/configurefix.patch deleted file mode 100644 index 576cdde752..0000000000 --- a/meta-moblin/packages/xdg-user-dirs/xdg-user-dirs/configurefix.patch +++ /dev/null @@ -1,18 +0,0 @@ -The AM_DISABLE_STATIC appears to pull in strange libtool junk so just remove it. - -RP - 27/5/09 - -Index: xdg-user-dirs-0.10/configure.ac -=================================================================== ---- xdg-user-dirs-0.10.orig/configure.ac 2009-05-27 22:27:20.000000000 +0100 -+++ xdg-user-dirs-0.10/configure.ac 2009-05-27 22:27:28.000000000 +0100 -@@ -13,8 +13,7 @@ - AC_PROG_INSTALL - AC_PROG_LN_S - AC_PROG_MAKE_SET --AM_PROG_MKDIR_P --AM_DISABLE_STATIC -+AM_PROG_MKDIR_P - AM_ICONV - - GETTEXT_PACKAGE=xdg-user-dirs diff --git a/meta-moblin/packages/xdg-user-dirs/xdg-user-dirs_0.10.bb b/meta-moblin/packages/xdg-user-dirs/xdg-user-dirs_0.10.bb deleted file mode 100644 index 579672cf51..0000000000 --- a/meta-moblin/packages/xdg-user-dirs/xdg-user-dirs_0.10.bb +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "xdg-user-dirs is a tool to help manage user directories like the desktop folder and the music folder" -SRC_URI = "http://user-dirs.freedesktop.org/releases/xdg-user-dirs-0.10.tar.gz \ - file://configurefix.patch;patch=1 " -DEPENDS = "gettext" -PR = "r1" - -inherit autotools - -do_install_append () { - install -d ${D}${sysconfdir}/skel/.config/ - mv ${D}${sysconfdir}/xdg/user-dirs.defaults ${D}${sysconfdir}/skel/.config/user-dirs.dirs -} diff --git a/meta-moblin/packages/xerces-c/xerces-c/nolocallink.patch b/meta-moblin/packages/xerces-c/xerces-c/nolocallink.patch deleted file mode 100644 index d1fa2de9c1..0000000000 --- a/meta-moblin/packages/xerces-c/xerces-c/nolocallink.patch +++ /dev/null @@ -1,34 +0,0 @@ -Index: xercesc/Makefile.incl -=================================================================== ---- xercesc.orig/Makefile.incl 2009-11-18 00:31:14.000000000 +0000 -+++ xercesc/Makefile.incl 2009-11-18 00:31:58.000000000 +0000 -@@ -519,23 +519,23 @@ - - ifeq (${BITSTOBUILD}, 64) - ifeq (${TRANSCODER}, ICU) -- ALLLIBS = ${LIBS} -L/usr/lib64 -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -licuuc -licudata -+ ALLLIBS = ${LIBS} -licuuc -licudata - else -- ALLLIBS = ${LIBS} -L/usr/lib64 -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -+ ALLLIBS = ${LIBS} - endif - - ifeq (${MESSAGELOADER}, ICU) -- ALLLIBS = ${LIBS} -L/usr/lib64 -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -licuuc -licudata -lXercesMessages -+ ALLLIBS = ${LIBS} -licuuc -licudata -lXercesMessages - endif - else - ifeq (${TRANSCODER}, ICU) -- ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -licuuc -licudata -+ ALLLIBS = ${LIBS} -licuuc -licudata - else -- ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -+ ALLLIBS = ${LIBS} - endif - - ifeq (${MESSAGELOADER}, ICU) -- ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -licuuc -licudata -lXercesMessages -+ ALLLIBS = ${LIBS} -licuuc -licudata -lXercesMessages - endif - endif - diff --git a/meta-moblin/packages/xerces-c/xerces-c_2.8.0.bb b/meta-moblin/packages/xerces-c/xerces-c_2.8.0.bb deleted file mode 100644 index 23f5885628..0000000000 --- a/meta-moblin/packages/xerces-c/xerces-c_2.8.0.bb +++ /dev/null @@ -1,31 +0,0 @@ -DESCRIPTION = "Xerces-c is a validating xml parser written in C++" -HOMEPAGE = "http://xerces.apache.org/xerces-c/" -SECTION = "libs" -PRIORITY = "optional" -LICENSE = "MIT" -PR = "r2" - -SRC_URI = "http://mirror.serversupportforum.de/apache/xerces/c/2/sources/xerces-c-src_2_8_0.tar.gz \ - file://nolocallink.patch;patch=1" -S = "${WORKDIR}/xerces-c-src_2_8_0/src/xercesc" - -inherit autotools pkgconfig - -CCACHE = "" -export XERCESCROOT="${WORKDIR}/xerces-c-src_2_8_0" -export cross_compiling = "yes" - -do_configure() { - ./runConfigure -plinux -c"${CC}" -x"${CXX}" -minmem -nsocket -tnative -rpthread -P${D}${prefix} \ - -C--build=${BUILD_SYS} \ - -C--host=${HOST_SYS} \ - -C--target=${TARGET_SYS} \ -} - -do_compile() { - ${MAKE} -} - -do_install () { - ${MAKE} install -} -- 2.40.1

    oV)HNmI&n?;xzOyS5=0Ti^ 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