summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/xlockmore/bitmaps/l-blowfish.xbm282
-rw-r--r--app/xlockmore/bitmaps/m-blowfish.xbm75
-rw-r--r--app/xlockmore/bitmaps/s-blowfish.xbm23
-rw-r--r--app/xlockmore/configure.in9
-rw-r--r--app/xlockmore/modes/Makefile.in6
-rw-r--r--app/xlockmore/modes/life.c37
-rw-r--r--app/xlockmore/modes/life.xpm351
-rw-r--r--app/xlockmore/pixmaps/m-blowfish.xpm347
-rw-r--r--app/xlockmore/xlock/XLock.ad4
-rw-r--r--app/xlockmore/xlock/passwd.c79
-rw-r--r--app/xlockmore/xlock/resource.c2
-rw-r--r--app/xlockmore/xlock/xlock.c29
-rw-r--r--app/xlockmore/xlock/xlock.h8
-rw-r--r--app/xlockmore/xlock/xlock.man4
14 files changed, 1152 insertions, 104 deletions
diff --git a/app/xlockmore/bitmaps/l-blowfish.xbm b/app/xlockmore/bitmaps/l-blowfish.xbm
new file mode 100644
index 000000000..e389a0f32
--- /dev/null
+++ b/app/xlockmore/bitmaps/l-blowfish.xbm
@@ -0,0 +1,282 @@
+#define image_width 198
+#define image_height 167
+static char image_bits[] = {
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x70,0x00,0x80,
+ 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x80,0x01,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x78,0x00,0x78,0x00,0xc0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x10,0x78,0x60,0x78,0x00,0xe0,
+ 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0xe0,0x21,0x78,0x60,0x38,0x00,0xe0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0xe0,0x21,
+ 0xf8,0x20,0x3c,0x08,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0xe0,0x61,0xd8,0x31,0x3c,0x08,0x78,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x1c,0x00,0xe0,0x61,0xdc,0x31,0x3e,0x0c,0x78,0x80,0x01,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x40,0xe0,0xe1,
+ 0xce,0x3b,0x3e,0x04,0x7c,0xc0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x18,0xc0,0xe0,0xe3,0x8e,0x3f,0x36,0x06,0x7e,
+ 0xe0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x38,0xc0,0xe0,0xfb,0x07,0x7f,0x3f,0x06,0x37,0xe0,0x01,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0xc0,0xe0,0xff,
+ 0x03,0xfe,0x3f,0x8f,0x3f,0xe0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x78,0xc0,0x71,0x1f,0x00,0xc0,0xfb,0xff,0x39,
+ 0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0xf0,0xc0,0x71,0x07,0x00,0x80,0xfb,0xff,0x38,0xd8,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xc1,0x7f,0x07,
+ 0x00,0x80,0x31,0x00,0x38,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0xb0,0xc3,0x7f,0x06,0x00,0x80,0x31,0x00,0x38,
+ 0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x20,0x20,0xff,0x77,0x06,0x00,0xc0,0x31,0x00,0x78,0x66,0x10,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0xfe,0x63,0x0e,
+ 0x00,0xc0,0x31,0x00,0xf0,0x77,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0xe0,0x60,0x3c,0x60,0x0c,0x80,0xe0,0x30,0x00,0xe0,
+ 0x3f,0x18,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0xc0,0x61,0x00,0x60,0x1c,0x80,0x60,0x60,0x00,0xc0,0x3b,0x0c,0xc0,0x01,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x98,0xff,0x01,0x60,0x18,
+ 0xc0,0x60,0x60,0x00,0x80,0x39,0x0e,0xe0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x18,0xff,0x00,0x60,0x10,0xc0,0x61,0x60,0x40,0xc0,
+ 0x39,0x07,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x38,0x7e,0x00,0x60,0x60,0xc0,0x21,0x60,0x60,0xe0,0xf8,0x07,0x78,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x78,0x1e,0x20,0x70,0x00,
+ 0xc0,0x01,0x40,0x60,0x60,0xf8,0x07,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0xf0,0x07,0x60,0x70,0x00,0xe0,0x01,0x00,0x70,0x70,
+ 0x8c,0x07,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0xf0,0x03,0x60,0x70,0x00,0x60,0x01,0x00,0x70,0x38,0x8c,0xc7,0x0f,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x02,0x00,0xe0,0x03,0xe0,0x70,0x00,
+ 0x60,0x01,0x00,0x78,0x18,0x04,0xfe,0x07,0xc0,0x01,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x06,0x60,0xe0,0x07,0xe0,0x00,0x00,0x60,0x03,0x00,0x38,0x0e,
+ 0x04,0x7c,0x06,0xe0,0x01,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x1e,0xc0,
+ 0x77,0x0e,0xc0,0x01,0x00,0x20,0x03,0x00,0x2c,0x00,0x06,0x00,0x07,0xf8,0x03,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x3e,0x80,0xff,0x1e,0xc0,0x03,0x00,
+ 0x30,0x02,0x00,0x36,0x00,0x06,0x00,0x07,0x98,0x01,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0xf8,0x01,0xde,0x78,0xc0,0x06,0x00,0x30,0x06,0x00,0x36,0x00,
+ 0x06,0x80,0x03,0xe6,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0xf8,0x07,
+ 0xde,0xf1,0x80,0x06,0x00,0x18,0x06,0x00,0x33,0x00,0x06,0x00,0x03,0x77,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0xe0,0x7f,0xc7,0x81,0x83,0x0c,0x00,
+ 0x18,0x06,0x80,0x13,0x00,0x00,0x00,0xe7,0x39,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0xe0,0xff,0x87,0x01,0x81,0x19,0x20,0x08,0x04,0x80,0x11,0x00,
+ 0x00,0x02,0xff,0x18,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0xc0,0xf9,
+ 0x81,0x01,0x80,0x31,0x20,0x00,0x00,0xc0,0x10,0x00,0x80,0x03,0x3e,0x0e,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x80,0xe3,0x81,0x01,0x80,0x61,0x60,
+ 0x00,0x80,0x61,0x10,0x00,0x80,0x01,0x1e,0x06,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x07,0x80,0x01,0x80,0x01,0x60,0x00,0x80,0x01,0x10,0x00,
+ 0xe0,0xc1,0x87,0xe7,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x07,
+ 0x80,0x01,0x80,0x01,0x60,0x00,0x80,0x01,0x00,0x00,0xf0,0xf0,0xc3,0x73,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x16,0x00,0x01,0x80,0x01,0xe0,
+ 0x00,0xc0,0x01,0x00,0x00,0x78,0x38,0xe0,0x3f,0x00,0x1e,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x1e,0x00,0x01,0x80,0x01,0xa0,0x01,0xc0,0x01,0x00,0x00,
+ 0x7c,0x00,0xe0,0x1f,0x00,0x1f,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x1e,
+ 0x00,0x01,0x80,0x01,0x30,0x03,0x60,0x01,0x00,0x80,0x37,0x00,0xf8,0x0f,0xe0,
+ 0x07,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x06,0x1c,0x00,0x00,0x80,0x01,0x10,
+ 0x06,0x60,0x03,0x80,0xe1,0x13,0x00,0xf8,0x0f,0xf0,0x07,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0xf8,0x1f,0x00,0x00,0x04,0x00,0x18,0x00,0x20,0x06,0xc0,0x01,
+ 0x18,0x00,0xfc,0xff,0xff,0x01,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0xf0,0x0f,
+ 0x0c,0x00,0x04,0x00,0x10,0x00,0x30,0x06,0xc0,0x00,0x08,0x00,0xfe,0xff,0xef,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x80,0x07,0x39,0x00,0x18,0x00,0x00,
+ 0x00,0x00,0x02,0xa0,0x00,0x04,0x00,0x0e,0xf0,0x78,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x80,0x07,0x78,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x90,0x00,
+ 0x04,0x00,0x06,0x00,0x38,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x07,
+ 0xf8,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x8e,0x00,0x06,0x00,0x02,0x00,0x1c,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x80,0x07,0xf8,0x01,0xf0,0x01,0x00,
+ 0x00,0x00,0x00,0x86,0x00,0x06,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x80,0x03,0x1c,0x06,0x10,0x06,0x00,0x00,0x00,0x18,0xc0,0x00,
+ 0x02,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x80,0x03,
+ 0x0e,0x06,0x20,0x00,0x10,0x00,0x00,0x18,0xc0,0x00,0x82,0x00,0x00,0x00,0x07,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0xe0,0x03,0x07,0x18,0x20,0x00,0x30,
+ 0x00,0x00,0x18,0x00,0x00,0xe0,0x00,0x00,0x80,0xff,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0xe0,0x01,0x07,0x18,0x60,0x00,0x78,0x00,0x00,0x14,0x00,0x00,
+ 0x60,0x00,0x00,0x80,0x3f,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0xf8,0x81,
+ 0x01,0x70,0x60,0x00,0x98,0x01,0x00,0x04,0x00,0x00,0x78,0x00,0x80,0x01,0x07,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0xf8,0xc1,0x01,0x60,0x00,0x00,0x08,
+ 0x01,0x06,0x00,0x00,0x00,0x3c,0x00,0xe0,0x01,0x07,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0xde,0xe1,0xfc,0xe1,0x00,0x00,0x08,0x00,0x06,0x20,0x00,0x80,
+ 0x1b,0x00,0x7e,0x00,0x07,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0xce,0xe1,
+ 0xfe,0xc7,0x01,0x00,0x00,0x00,0x08,0x20,0x00,0xe0,0x19,0xc0,0x7f,0x00,0x06,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0xc7,0xf1,0x07,0xde,0x01,0x00,0x00,
+ 0x00,0x08,0x00,0x00,0x00,0x0c,0xff,0x1f,0x00,0x06,0x7e,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x80,0xc3,0xf1,0x01,0xb8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x04,0x7e,0x0e,0x00,0x06,0x7f,0x00,0x00,0x00,0xc0,0x00,0x00,0x80,0xff,0x79,
+ 0x00,0xf0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x80,0x03,0x00,0xfe,
+ 0x3f,0x00,0x00,0x00,0xc0,0x00,0x00,0x80,0xff,0x79,0x00,0xe0,0x03,0x0c,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x06,0x80,0x01,0x00,0xff,0x1e,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0xc0,0x87,0x61,0x00,0xe0,0x03,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x06,0xc0,0x00,0xfe,0x8f,0x07,0x00,0x00,0x00,0xc0,0x00,0x00,0xc0,0x83,0x21,
+ 0x00,0x60,0x02,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x40,0x00,0xfc,0x83,
+ 0x07,0x00,0x00,0x00,0xc0,0x00,0x00,0x80,0x81,0x31,0x1e,0x60,0x00,0x00,0x00,
+ 0x00,0x60,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0xf0,0x01,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x80,0x81,0x31,0x1e,0x60,0x00,0x00,0xe0,0x00,0x78,0x00,0x1e,0x00,
+ 0x00,0x20,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x80,0xf1,0x39,
+ 0x1e,0x60,0x00,0x00,0x80,0x00,0x40,0x00,0x10,0xc0,0x03,0x20,0x00,0x00,0x3c,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x80,0xf1,0x31,0x0e,0x70,0x00,0x00,0x80,
+ 0x00,0x40,0x00,0x18,0x00,0x01,0x00,0x00,0x00,0x3e,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x80,0xf1,0x31,0x00,0xf8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
+ 0x00,0x00,0x00,0x80,0x3f,0x70,0x00,0xf8,0x07,0xc0,0x00,0x00,0x80,0xe1,0x71,
+ 0x00,0xfe,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x18,0x80,0xff,
+ 0x7f,0x00,0xfe,0x1f,0xc0,0x00,0x00,0xc0,0x81,0x71,0xc0,0x0f,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x80,0x07,0x78,0xc0,0xff,0x0f,0x80,0x0f,0xfe,0xc0,
+ 0x00,0x00,0xe0,0x83,0x61,0xe0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x80,0x3f,0xe0,0xe0,0xf9,0x03,0x80,0x03,0xf8,0xc1,0x00,0x00,0xf0,0x83,0x61,
+ 0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xf0,0x81,0x63,0xf0,
+ 0x00,0x60,0x00,0xf0,0xc7,0x00,0x00,0x70,0xc6,0xe1,0x78,0x00,0x00,0x08,0x00,
+ 0x00,0x00,0x60,0x00,0x00,0x00,0x78,0x80,0x67,0x70,0x00,0x78,0x00,0xf8,0xcf,
+ 0x00,0x00,0x38,0xce,0xe0,0x1d,0x00,0x00,0x18,0x10,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x06,0x70,0x00,0x60,0x00,0x1c,0xf0,0x3f,0xc8,0x00,0x00,0x38,0xfc,0xc0,
+ 0x1f,0x00,0x00,0x38,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x18,0x00,0x60,
+ 0x00,0x0e,0xc0,0x1f,0xc0,0x00,0x00,0x1c,0xfe,0x81,0x07,0x00,0x00,0x60,0x60,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0xe0,0x80,0x07,0x00,0x06,0xc0,
+ 0x00,0x00,0x9c,0xff,0x81,0x07,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xe0,0x80,0x03,0x00,0x07,0xc0,0x00,0x00,0xce,0x07,0x03,
+ 0x07,0x00,0x00,0xc0,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x08,0xe0,
+ 0xe1,0x01,0xfe,0x03,0xc0,0x00,0x00,0xce,0x01,0x06,0x07,0x00,0x00,0xc0,0xc0,
+ 0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x18,0xe0,0xf3,0x00,0xff,0x01,0xc0,
+ 0x00,0x00,0x66,0x00,0x0e,0x07,0x00,0x00,0x80,0x81,0x00,0x00,0x00,0x80,0x00,
+ 0x00,0x00,0x00,0x78,0xe0,0x7f,0x00,0xe0,0x00,0xc0,0x00,0x00,0x67,0x00,0x0c,
+ 0x03,0x00,0x00,0x80,0x81,0x00,0x00,0x18,0xe0,0x00,0x00,0x00,0x00,0x70,0x60,
+ 0x1e,0x00,0x70,0x00,0xc0,0x00,0x80,0x67,0x00,0x18,0x07,0x00,0x00,0x80,0x81,
+ 0x01,0x04,0x20,0x00,0x00,0x06,0x80,0x01,0x80,0x27,0x00,0x00,0x78,0x00,0xc0,
+ 0x00,0x80,0x67,0x00,0x18,0x07,0x00,0x00,0x80,0x81,0x01,0x04,0x60,0x00,0x00,
+ 0x04,0x80,0x01,0xe0,0x2f,0x00,0x00,0x38,0x00,0xc0,0x00,0x80,0x63,0x10,0x70,
+ 0x07,0x00,0x00,0x00,0x81,0x01,0x04,0x18,0x00,0x80,0x07,0x80,0x01,0x7e,0x0c,
+ 0x00,0x00,0x1c,0x00,0xc0,0x00,0x80,0x63,0x10,0x60,0x06,0x00,0x00,0x00,0x81,
+ 0x01,0x00,0x00,0x00,0x80,0x00,0x00,0x03,0x0e,0x00,0x00,0x00,0x1e,0x00,0xc0,
+ 0x00,0x80,0xe1,0x60,0xc0,0x07,0x00,0x00,0x00,0x81,0x01,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x06,0x00,0x00,0x00,0xe0,0x0f,0x00,0xc0,0x00,0x80,0xe1,0xc0,0x80,
+ 0x07,0x00,0x00,0x00,0x81,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,
+ 0x00,0x00,0x07,0x00,0xc0,0x00,0xc0,0xc1,0x81,0x07,0x07,0x00,0x00,0x00,0x81,
+ 0x01,0x00,0x00,0x00,0x04,0x00,0x00,0x1c,0x00,0x00,0x00,0xb0,0x07,0x00,0xc0,
+ 0x00,0xf0,0x81,0x81,0xff,0x0f,0x00,0x00,0x80,0x81,0x01,0x00,0x00,0x00,0x00,
+ 0x60,0x00,0x18,0x00,0x00,0x00,0xf0,0x03,0x00,0xc0,0x00,0xf8,0x81,0xff,0xff,
+ 0x1f,0x00,0x00,0x80,0x81,0x00,0x80,0xf7,0xff,0x01,0x60,0x00,0x70,0x40,0x10,
+ 0x00,0x80,0x01,0x00,0xc0,0x00,0xf8,0x81,0xff,0x01,0x1f,0x00,0x00,0x80,0x81,
+ 0x00,0x80,0xff,0xff,0x03,0x40,0x00,0x60,0x40,0x10,0x00,0xc0,0x01,0x00,0xc0,
+ 0x00,0xfc,0x81,0x67,0x00,0x1f,0x00,0x00,0x80,0xc1,0x00,0x00,0x00,0x80,0x07,
+ 0x80,0xf8,0xcf,0xc1,0x00,0x00,0xe0,0x00,0x00,0xc0,0x00,0x9e,0x81,0x63,0x00,
+ 0x3f,0x00,0x00,0xc0,0x40,0x00,0x00,0x00,0x00,0x0f,0x80,0x81,0xbf,0x81,0x11,
+ 0x00,0xe0,0x00,0x00,0xc0,0x00,0x86,0x83,0x61,0x80,0x7f,0x00,0x00,0xc0,0x60,
+ 0x40,0x00,0x00,0x00,0x1e,0x00,0x03,0xe0,0x87,0x19,0x00,0x70,0x00,0x00,0xc0,
+ 0x00,0x86,0x83,0x61,0x80,0x63,0x00,0x00,0x60,0x60,0x68,0x30,0x00,0x00,0x1e,
+ 0xf0,0x03,0x80,0x87,0x19,0x00,0x71,0x00,0x00,0xc0,0x00,0x83,0xc7,0x61,0x80,
+ 0x61,0x00,0x00,0x60,0x20,0x10,0x80,0x00,0x00,0x38,0x00,0x06,0x00,0x00,0x1e,
+ 0x00,0x3e,0x00,0x00,0xc0,0x80,0x83,0xc7,0x21,0x80,0xc1,0x01,0x00,0x60,0x00,
+ 0x10,0x00,0x01,0x00,0x38,0x00,0x00,0x00,0x00,0x1e,0x00,0x3c,0x00,0x00,0xc0,
+ 0xec,0x01,0xc7,0x01,0x80,0x81,0x01,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x70,
+ 0x00,0x01,0x40,0x80,0x1f,0x80,0x18,0x00,0x00,0xc0,0xfe,0x01,0xc7,0x01,0x80,
+ 0x81,0x01,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x70,0x80,0x01,0xc0,0xe0,0x3f,
+ 0x80,0x1d,0x00,0x00,0xc0,0xfc,0x08,0xcf,0x01,0xc0,0x00,0x06,0x00,0x00,0x00,
+ 0x00,0x00,0x38,0x00,0x60,0x00,0x01,0xc0,0x61,0x78,0x00,0x1e,0x00,0x00,0xc0,
+ 0x7c,0x8a,0xce,0x01,0xc0,0x00,0x0e,0x00,0x80,0x01,0x00,0x00,0x70,0x00,0xc0,
+ 0x00,0x03,0x80,0x01,0xfc,0x00,0x1e,0x00,0x00,0xc0,0xf8,0xc5,0x9f,0x01,0x60,
+ 0x00,0x00,0x00,0x00,0x11,0x00,0x80,0x62,0x00,0x80,0x01,0x07,0x80,0x03,0xce,
+ 0x00,0x0e,0x00,0x00,0xc0,0xf0,0xe7,0x9f,0x01,0x60,0x00,0x00,0x00,0x00,0x1b,
+ 0x00,0x00,0xe3,0x02,0x80,0x03,0x06,0x80,0x07,0xc6,0x00,0x0e,0x00,0x00,0xc0,
+ 0xe0,0xff,0xf9,0x07,0x70,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x82,0x05,0x00,
+ 0x0f,0x0e,0x18,0x0e,0x87,0x61,0x06,0x00,0x00,0xc0,0xc0,0xff,0x78,0x07,0xf8,
+ 0x00,0x00,0x00,0x00,0x06,0x80,0x00,0x80,0x01,0x00,0x1e,0x0c,0x18,0x06,0x87,
+ 0x61,0x07,0x00,0x00,0xc0,0x00,0x00,0xe0,0x3e,0xfc,0x01,0x00,0x00,0x00,0x02,
+ 0x80,0x05,0x00,0x2f,0x9e,0x1e,0x18,0xe0,0x9d,0x83,0x83,0x07,0x00,0x00,0xc0,
+ 0x00,0x00,0xe0,0xfd,0xff,0x01,0x00,0x10,0x00,0x02,0x80,0x05,0x00,0x5e,0xde,
+ 0x6f,0x18,0xc0,0x9f,0x83,0x03,0x07,0x00,0x00,0xc0,0x00,0x00,0x80,0xf3,0x8f,
+ 0x81,0x01,0x10,0x08,0x00,0x00,0x03,0x00,0xfc,0xff,0x01,0x77,0x00,0xbf,0x01,
+ 0x87,0x07,0x00,0x00,0xc0,0x00,0x00,0x80,0xc7,0x87,0x81,0x01,0x10,0x0c,0x00,
+ 0x00,0x02,0x00,0xf8,0x7f,0x00,0x7e,0x00,0xfe,0x01,0x8e,0x07,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x0e,0x00,0x83,0x01,0x10,0x03,0x00,0x00,0x02,0x00,0xc0,0x03,
+ 0x00,0xf0,0x01,0xfc,0x03,0xbe,0x07,0x00,0x00,0xc0,0x00,0x00,0x00,0x1e,0x0c,
+ 0x83,0x01,0x98,0x01,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0xe0,0x01,0xfc,0x03,
+ 0xfc,0x07,0x00,0x00,0xc0,0x00,0x00,0x00,0x78,0x0c,0xc2,0x00,0xd8,0x00,0x40,
+ 0x00,0x00,0x0c,0x8c,0x00,0x01,0x00,0x03,0xf8,0x07,0xf8,0x07,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x78,0x0c,0xc2,0x60,0x78,0x00,0x40,0x00,0x00,0x06,0x18,0x00,
+ 0x01,0x20,0x00,0xf8,0x07,0xe0,0x07,0x00,0x00,0xc0,0x00,0x00,0x00,0xf8,0x07,
+ 0x60,0x1c,0x38,0x00,0x40,0x18,0x60,0x06,0x50,0x00,0x01,0x60,0x00,0x18,0x0e,
+ 0x80,0x3f,0x00,0x00,0xc0,0x00,0x00,0x00,0xf8,0x07,0x60,0x0e,0x18,0x00,0x40,
+ 0x0c,0x60,0x06,0x60,0x80,0x01,0x60,0x00,0x18,0x1c,0x00,0x3e,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0xfc,0x87,0xa0,0x03,0x1c,0x00,0x40,0x06,0xc0,0x02,0x60,0x82,
+ 0x01,0x60,0x00,0x0e,0x38,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x9e,0xe7,
+ 0xf1,0x01,0x0c,0x02,0x40,0x03,0x80,0x03,0x40,0x06,0x01,0x60,0x00,0x0e,0x30,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x87,0x7b,0x78,0x00,0x04,0x02,0x80,
+ 0x01,0x80,0x01,0x00,0x18,0x01,0x60,0x00,0x1f,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x83,0x7f,0x78,0x00,0x00,0x02,0xc0,0x01,0x80,0x01,0x00,0x30,
+ 0x01,0xc0,0x80,0x1f,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x80,0x3f,
+ 0x38,0x00,0x00,0x02,0x01,0x00,0x00,0x01,0x00,0x60,0x03,0xc0,0xc0,0x19,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0xc0,0x3b,0x1c,0x04,0x00,0x82,0x01,
+ 0x00,0x00,0x00,0x00,0x60,0x63,0xc0,0xe1,0x19,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0xe0,0x78,0x00,0x06,0x00,0xc0,0x00,0x00,0x00,0x00,0x06,0x80,
+ 0xe3,0x81,0xf1,0x39,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x40,0x70,
+ 0x00,0x04,0x00,0x61,0x00,0x00,0x00,0x02,0x03,0x80,0xc3,0x81,0xf9,0x39,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0xf0,0x00,0x06,0x00,0x31,0x00,
+ 0x00,0x01,0x86,0x01,0x00,0x87,0x87,0x9f,0x77,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0xf0,0x01,0x06,0x00,0x31,0x00,0x82,0x01,0x86,0x01,0x10,
+ 0x06,0x86,0x0f,0x7e,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0xf8,
+ 0x01,0x06,0x80,0x19,0x00,0x82,0x01,0x8c,0x01,0x10,0x00,0x9e,0x07,0x78,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x98,0x03,0x03,0x88,0x0f,0x00,
+ 0xc6,0x00,0x88,0x01,0x10,0x00,0x1e,0x03,0x78,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x9c,0x87,0x03,0x8f,0x07,0x00,0x66,0x00,0x98,0x00,0x18,
+ 0x00,0x7c,0x03,0xe0,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0xee,
+ 0x8f,0x81,0x87,0x07,0x00,0x66,0x00,0x98,0x00,0x18,0x00,0x78,0x06,0xe0,0x01,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0xff,0x9f,0xe1,0x80,0x03,0x00,
+ 0x66,0x00,0xd0,0x08,0x18,0x00,0xfe,0x06,0x80,0x01,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x80,0xff,0xbc,0xe1,0x80,0x33,0x00,0x26,0x00,0xf6,0x18,0x18,
+ 0x00,0xde,0x07,0x80,0x01,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0xc0,0x0f,
+ 0xf0,0x78,0xc0,0x31,0xc0,0x36,0x00,0x62,0x10,0x18,0x80,0x87,0x0f,0x00,0x03,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0xe0,0x03,0xe0,0x7c,0xc0,0x31,0x60,
+ 0x1e,0x01,0x63,0x70,0x18,0xc0,0x03,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x70,0x00,0x60,0x3e,0xc0,0x30,0x30,0x9e,0x81,0x61,0x60,0x18,
+ 0xf0,0x00,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x70,0x00,
+ 0x60,0x3f,0x60,0x30,0x38,0x9e,0x81,0x61,0x60,0x38,0xf8,0x00,0x1e,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0xf0,0x3f,0x00,0x30,0x18,
+ 0x9e,0x81,0x01,0xe0,0xf8,0xff,0x00,0x1c,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0xf8,0x3d,0x00,0x30,0x1c,0x8e,0xc1,0x01,0xc0,0xf8,
+ 0xff,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0xf8,0xf0,0x01,0x30,0x0e,0x8e,0xc3,0x01,0x80,0xf9,0xcf,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x78,0xe0,0x07,0x70,0x06,
+ 0x8c,0xe3,0x01,0x80,0xf9,0xc7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x7e,0x80,0x1f,0x30,0x06,0x00,0xe3,0x01,0xf0,0x19,
+ 0xdc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x3e,0x00,0x7f,0x30,0x07,0x00,0xe3,0x01,0xf8,0x1b,0xd8,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x1f,0x00,0xfe,0x3f,0x07,
+ 0x00,0xe7,0xc1,0x7f,0x1b,0xf8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0xff,0xbf,0x07,0x00,0xe7,0xf1,0x1f,0x1e,
+ 0xf0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x04,0x00,0xe7,0xbf,0x07,0x00,0xf6,0xff,0x07,0x1e,0xe0,0x01,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe7,0x9f,0xff,
+ 0x01,0xf6,0xff,0x07,0x1e,0xe0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xd8,0xff,0xff,0xff,0xff,0x03,0x1e,
+ 0xc0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x1b,0xd8,0xf9,0xff,0x3f,0xbc,0x03,0x1c,0xc0,0x01,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x0f,0xd8,0x60,
+ 0x1e,0x3e,0xb8,0x03,0x18,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x07,0xf8,0x60,0x18,0x1e,0xb8,0x01,0x18,
+ 0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x80,0x03,0x78,0x60,0x0c,0x1e,0xf8,0x01,0x00,0x00,0x01,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x78,0x60,
+ 0x0e,0x1c,0xf0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x01,0x78,0x40,0x06,0x1c,0xe0,0x01,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0xe0,0x00,0x78,0xc0,0x06,0x1c,0xe0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x3c,0xc0,
+ 0x07,0x1c,0xe0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x18,0x80,0x07,0x18,0xe0,0x01,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x80,0x03,0x08,0xc0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
+ 0x03,0x00,0xc0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0x80,0x01,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x80,0x01,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,
+ 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0xc0};
diff --git a/app/xlockmore/bitmaps/m-blowfish.xbm b/app/xlockmore/bitmaps/m-blowfish.xbm
new file mode 100644
index 000000000..d0ba1d879
--- /dev/null
+++ b/app/xlockmore/bitmaps/m-blowfish.xbm
@@ -0,0 +1,75 @@
+#define image_width 99
+#define image_height 83
+static char image_bits[] = {
+ 0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,
+ 0x0c,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x0c,0x18,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x8c,0x04,0x08,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x98,0x5c,0x06,0x0c,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x84,0x98,0x5a,0x26,0x8e,0x01,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x84,0xd8,0xf3,0x27,0x87,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x8c,0x7d,0x80,0xfd,0xc5,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9c,0x3f,
+ 0x00,0x05,0xc4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x2f,0x80,0x05,
+ 0xac,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x68,0x28,0x80,0x04,0x78,0x04,
+ 0x01,0x00,0x00,0x00,0x00,0x00,0x40,0x1f,0x48,0x88,0x08,0x50,0x82,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x40,0x0e,0x88,0x18,0x88,0xc8,0xc3,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0xc0,0x83,0x0c,0x18,0xc0,0x2c,0x73,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x80,0x81,0x0c,0x18,0xc0,0x24,0x3e,0x18,0x00,0x00,0x00,0x00,0x60,0xf8,0x82,
+ 0x01,0x10,0x20,0x20,0x30,0x1c,0x00,0x00,0x00,0x00,0xc0,0xe1,0x8c,0x02,0x24,
+ 0x60,0x20,0x10,0x0a,0x00,0x00,0x00,0x00,0x80,0xbf,0x11,0x02,0x24,0x50,0x00,
+ 0xb0,0x05,0x00,0x00,0x00,0x00,0x80,0x1d,0x01,0x05,0x00,0x48,0x00,0x61,0x02,
+ 0x00,0x00,0x00,0x00,0x00,0x03,0x01,0x81,0x00,0x41,0x80,0x39,0x0b,0x00,0x00,
+ 0x00,0x00,0x00,0x06,0x01,0x81,0x80,0x01,0xc0,0x84,0x07,0x06,0x00,0x00,0x00,
+ 0x00,0x06,0x01,0x41,0x81,0x01,0x70,0xc0,0x83,0x03,0x00,0x00,0x00,0xc0,0x07,
+ 0x20,0x40,0x00,0x82,0x41,0xe0,0xff,0x01,0x00,0x00,0x00,0x00,0x53,0x40,0x00,
+ 0x00,0x00,0x20,0x20,0xcc,0x00,0x00,0x00,0x00,0x00,0xc3,0xc1,0x00,0x00,0x20,
+ 0x20,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x61,0x42,0x02,0x00,0x84,0x00,0x00,
+ 0x20,0x00,0x00,0x00,0x00,0x80,0x31,0x04,0x40,0x00,0x04,0x80,0x00,0xf0,0x00,
+ 0x00,0x00,0x00,0xc0,0x11,0x8c,0x40,0x01,0x02,0xc0,0x00,0x31,0x00,0x00,0x00,
+ 0x00,0xe0,0xe9,0x09,0x00,0x20,0x00,0x50,0xe0,0x30,0x00,0x00,0x00,0x00,0xb0,
+ 0x3d,0x1e,0x00,0x00,0x00,0x20,0x7f,0x20,0x0e,0x00,0x00,0x00,0xf0,0x0d,0x1c,
+ 0x00,0x00,0x00,0x20,0x10,0xe0,0x07,0x00,0x00,0x00,0x38,0x09,0x18,0x04,0x00,
+ 0x00,0x20,0x08,0x3e,0x03,0x00,0x00,0x00,0x10,0x65,0x08,0x00,0x80,0x00,0x00,
+ 0x08,0xc0,0x01,0x00,0x00,0x00,0xd0,0x65,0x08,0x00,0x80,0x40,0x18,0x00,0x60,
+ 0x00,0x00,0x00,0x00,0xd0,0x05,0x1c,0x00,0x00,0x00,0x00,0x00,0x70,0x0c,0x3c,
+ 0x00,0x00,0x18,0x8d,0x03,0x00,0x00,0x00,0x00,0xc3,0xf8,0x03,0xe3,0x00,0x00,
+ 0x1c,0xc9,0x00,0x00,0x00,0x08,0x00,0x1c,0xc9,0x80,0xc0,0x03,0x00,0xa4,0x78,
+ 0x00,0x44,0x00,0x00,0x00,0xc2,0x80,0x60,0x7c,0x00,0x00,0xe6,0x31,0x00,0x88,
+ 0x00,0x00,0x00,0x01,0x80,0x30,0x20,0x00,0x00,0x3a,0x31,0x00,0x88,0x00,0x80,
+ 0x00,0x00,0x80,0x19,0x1e,0x00,0x00,0x0a,0x32,0x00,0x10,0x00,0x00,0x00,0x00,
+ 0x8c,0x0f,0x08,0x00,0x00,0x0b,0x34,0x00,0x10,0x21,0x00,0x20,0x10,0x30,0x00,
+ 0x0c,0x00,0x00,0x49,0x3c,0x00,0x10,0x21,0x04,0x30,0x10,0x2e,0x00,0x06,0x00,
+ 0x00,0x89,0x38,0x00,0x10,0x01,0x00,0x00,0x20,0x00,0x80,0x03,0x00,0x80,0x19,
+ 0x33,0x00,0x10,0x01,0x00,0x02,0x60,0x00,0x40,0x03,0x00,0xc0,0xf1,0x7f,0x00,
+ 0x10,0x00,0xff,0x81,0xc0,0x48,0x00,0x01,0x00,0xe0,0xb1,0x70,0x00,0x90,0x00,
+ 0x00,0x03,0xbc,0x09,0x80,0x00,0x00,0x20,0x91,0xf0,0x00,0x88,0x08,0x00,0x06,
+ 0x81,0x53,0xc0,0x00,0x00,0x10,0x9b,0x90,0x00,0x08,0x04,0x00,0x04,0x02,0x60,
+ 0x60,0x00,0x00,0x1a,0x1b,0x10,0x01,0x00,0x00,0x02,0x0c,0x81,0x70,0x40,0x00,
+ 0x00,0x0e,0x1b,0x08,0x02,0x00,0x00,0x04,0x08,0x81,0xc9,0x60,0x00,0x00,0xbc,
+ 0x17,0x08,0x00,0x50,0x00,0x08,0x10,0x03,0xa1,0x20,0x00,0x00,0xf8,0x3d,0x0c,
+ 0x00,0x20,0x00,0x30,0x30,0x42,0x32,0x29,0x00,0x00,0x00,0x68,0x1e,0x00,0x00,
+ 0x30,0x30,0x66,0x84,0x17,0x31,0x00,0x00,0x00,0xd0,0x13,0x41,0x00,0x10,0xe0,
+ 0x1f,0x0f,0x17,0x33,0x00,0x00,0x00,0x20,0x10,0x41,0x01,0x00,0x80,0x01,0x1c,
+ 0x1e,0x36,0x00,0x00,0x00,0xc0,0x82,0xc0,0x80,0x00,0x22,0x10,0x10,0x3c,0x3c,
+ 0x00,0x00,0x00,0xc0,0x83,0x46,0x80,0x84,0xc2,0x10,0x08,0x24,0x70,0x00,0x00,
+ 0x00,0xe0,0x03,0x61,0x80,0x82,0x80,0x10,0x08,0x42,0x00,0x00,0x00,0x00,0x30,
+ 0xcd,0x20,0x00,0x01,0x01,0x14,0x08,0x07,0x00,0x00,0x00,0x00,0x00,0x47,0x00,
+ 0x10,0x00,0x01,0x18,0x88,0x05,0x00,0x00,0x00,0x00,0x80,0x0c,0x02,0x08,0x00,
+ 0x20,0x90,0xd1,0x05,0x00,0x00,0x00,0x00,0x00,0x0c,0x02,0x05,0x10,0x12,0x30,
+ 0x73,0x0f,0x00,0x00,0x00,0x00,0x00,0x1c,0x02,0x05,0x10,0x12,0x04,0x36,0x0c,
+ 0x00,0x00,0x00,0x00,0x00,0x36,0x31,0x03,0x0a,0x04,0x04,0x1e,0x08,0x00,0x00,
+ 0x00,0x00,0x00,0x7f,0x09,0x01,0x0a,0x0c,0x04,0x2e,0x10,0x00,0x00,0x00,0x00,
+ 0x80,0xc3,0x8c,0x85,0x06,0x48,0x04,0x33,0x10,0x00,0x00,0x00,0x00,0xc0,0x80,
+ 0x86,0x44,0x16,0x89,0xc4,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x07,0x44,
+ 0x16,0x81,0xfc,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x1c,0x24,0x92,0x01,
+ 0xbd,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x70,0x24,0x90,0xc1,0xe5,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xe0,0x37,0xb0,0xf9,0xc5,0x01,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x20,0xb0,0x37,0xe0,0x3f,0x86,0x01,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0xf0,0xfc,0xff,0x1f,0x86,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x30,0x8c,0x66,0x14,0x04,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,
+ 0x8c,0x62,0x1c,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x8c,0x62,
+ 0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x86,0x63,0x18,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x18,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x10,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
diff --git a/app/xlockmore/bitmaps/s-blowfish.xbm b/app/xlockmore/bitmaps/s-blowfish.xbm
new file mode 100644
index 000000000..d16692554
--- /dev/null
+++ b/app/xlockmore/bitmaps/s-blowfish.xbm
@@ -0,0 +1,23 @@
+#define image_width 49
+#define image_height 41
+static char image_bits[] = {
+ 0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,
+ 0x00,0x20,0x02,0x00,0x00,0x00,0x00,0x00,0xe4,0x22,0x00,0x00,0x00,0x00,0x20,
+ 0xdc,0xb7,0x00,0x00,0x00,0x00,0x60,0x07,0xa3,0x00,0x00,0x00,0x00,0x80,0x00,
+ 0xe2,0x00,0x00,0x00,0x00,0x28,0x40,0xaa,0x09,0x00,0x00,0x00,0x10,0x42,0x08,
+ 0x07,0x00,0x00,0x80,0x29,0x20,0x4c,0x34,0x00,0x00,0x00,0x17,0x03,0x00,0x1d,
+ 0x00,0x00,0x00,0x12,0x01,0x81,0x3a,0x01,0x00,0x80,0x03,0x08,0x00,0xf8,0x00,
+ 0x00,0x00,0x99,0x00,0x44,0x04,0x00,0x00,0x00,0x25,0x08,0x80,0xc0,0x00,0x00,
+ 0x00,0x59,0x00,0x22,0x4c,0x00,0x00,0xc0,0x43,0x00,0x40,0xc0,0x01,0x00,0x40,
+ 0x0b,0x80,0x04,0x82,0x00,0x00,0x40,0x63,0x00,0x00,0xc0,0x73,0x00,0x20,0x09,
+ 0x00,0x02,0xb2,0x88,0x01,0xe0,0x05,0x00,0x00,0x80,0x44,0x00,0x10,0x04,0x04,
+ 0x08,0xa0,0x21,0x00,0x90,0x00,0x14,0x00,0x14,0x10,0x00,0x58,0x07,0x14,0x80,
+ 0x00,0x18,0x00,0x58,0x0c,0x00,0x10,0x0c,0x08,0x00,0x54,0x14,0x20,0x21,0x40,
+ 0x08,0x00,0x42,0x00,0x04,0x02,0x81,0x04,0x00,0x6c,0x02,0x00,0x40,0x50,0x06,
+ 0x00,0x00,0x94,0x01,0x10,0x62,0x07,0x00,0x80,0xa1,0x20,0x00,0x42,0x0c,0x00,
+ 0x40,0x0b,0x10,0x01,0x12,0x00,0x00,0x00,0x02,0x00,0xc4,0x28,0x00,0x00,0x00,
+ 0x06,0x43,0x00,0x25,0x00,0x00,0x00,0x1f,0x01,0x00,0x07,0x00,0x00,0x80,0x20,
+ 0x6a,0x8b,0x04,0x00,0x00,0x00,0x68,0x42,0x61,0x00,0x00,0x00,0x00,0x8c,0x47,
+ 0x9d,0x00,0x00,0x00,0x00,0xc0,0xfe,0x17,0x00,0x00,0x00,0x00,0x40,0x82,0x02,
+ 0x00,0x00,0x00,0x00,0x00,0x92,0x02,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,
+ 0x00,0x00};
diff --git a/app/xlockmore/configure.in b/app/xlockmore/configure.in
index c28c12310..89b4bd712 100644
--- a/app/xlockmore/configure.in
+++ b/app/xlockmore/configure.in
@@ -1974,7 +1974,7 @@ else
else
AC_DEFINE_UNQUOTED(DEF_TTFONT, "${prefix}/lib/X11/xlock/fonts/")
fi
- XLOCKLIBS="${XLOCKLIBS} -lfreetype"
+ XLOCKLIBS="${XLOCKLIBS} -lfreetype -lz"
test "x$freetype_includes" = xNONE && freetype_includes=$ac_freetype_includes
test "x$freetype_libraries" = xNONE && freetype_libraries=$ac_freetype_libraries
ac_cv_path_freetype="no_freetype= ac_freetype_includes=$freetype_includes ac_freetype_libraries=$freetype_libraries"
@@ -3337,7 +3337,7 @@ case "${canonical}" in
esac
;;
- *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | *-*-dragonfly* )
+ *-*-freebsd* | *-*-netbsd* | *-*-dragonfly* )
BITMAPTYPE="bsd"
PIXMAPTYPE="bsd"
INSTPGMFLAGS="-s -o root -m 4111"
@@ -3355,6 +3355,11 @@ case "${canonical}" in
XMLOCKLDFLAGS="-Wl,-R${XMLOCK_LDFLAGS}"
;;
+ *-*-openbsd*)
+ BITMAPTYPE="blowfish"
+ PIXMAPTYPE="blowfish"
+ INSTPGMFLAGS="-s -g auth -m 2755"
+ ;;
*-*-dgux5* )
BITMAPTYPE="x11"
PIXMAPTYPE="x11"
diff --git a/app/xlockmore/modes/Makefile.in b/app/xlockmore/modes/Makefile.in
index 57bb8ac16..c1d9cf19c 100644
--- a/app/xlockmore/modes/Makefile.in
+++ b/app/xlockmore/modes/Makefile.in
@@ -297,7 +297,7 @@ FLAGPIXMAP = $(MEDIUMPIXMAP)
#FLAGPIXMAP = m-xlock
IMAGEPIXMAP = $(MEDIUMPIXMAP)
#IMAGEPIXMAP = m-xlock
-LIFEPIXMAP = s-grelb
+#LIFEPIXMAP = s-grelb
MAZEPIXMAP = $(MEDIUMPIXMAP)
#MAZEPIXMAP = m-xlock
#PUZZLEPIXMAP = $(LARGEPIXMAP)
@@ -471,8 +471,8 @@ flag.xpm : $(PIXMAPDIR)$(FLAGPIXMAP).xpm
image.xpm : $(PIXMAPDIR)$(IMAGEPIXMAP).xpm
$(RM) image.xpm ; $(LN_S) $(PIXMAPDIR)$(IMAGEPIXMAP).xpm image.xpm
-life.xpm : $(PIXMAPDIR)$(LIFEPIXMAP).xpm
- $(RM) life.xpm ; $(LN_S) $(PIXMAPDIR)$(LIFEPIXMAP).xpm life.xpm
+#life.xpm : $(PIXMAPDIR)$(LIFEPIXMAP).xpm
+# $(RM) life.xpm ; $(LN_S) $(PIXMAPDIR)$(LIFEPIXMAP).xpm life.xpm
maze.xpm : $(PIXMAPDIR)$(MAZEPIXMAP).xpm
$(RM) maze.xpm ; $(LN_S) $(PIXMAPDIR)$(MAZEPIXMAP).xpm maze.xpm
diff --git a/app/xlockmore/modes/life.c b/app/xlockmore/modes/life.c
index 51c061340..33d962745 100644
--- a/app/xlockmore/modes/life.c
+++ b/app/xlockmore/modes/life.c
@@ -273,11 +273,13 @@ ModStruct life_description =
#endif
/* aliases for vars defined in the bitmap file */
+/*
#define CELL_WIDTH image_width
#define CELL_HEIGHT image_height
#define CELL_BITS image_bits
#include "life.xbm"
+*/
#ifdef XBM_GRELB
#include "life2.xbm"
#define CELL2_WIDTH image2_width
@@ -290,15 +292,16 @@ static XImage bimage =
#endif
#ifdef HAVE_XPM
-#define CELL_NAME image_name
-#if 1
-static char *image_name[] =
-{(char *) ""};
-#else
-/* Kind of boring... */
#include "life.xpm"
-#endif
-#define DEFAULT_XPM 0
+#define CELL_NAME life_xpm
+#define TRUE_CELL_WIDTH 26
+#define TRUE_CELL_HEIGHT 23
+#define DEFAULT_XPM 1
+#define XPATTERNS 4
+#define YPATTERNS 4
+#define CELL_BITS ""
+#define CELL_WIDTH TRUE_CELL_WIDTH * XPATTERNS
+#define CELL_HEIGHT TRUE_CELL_HEIGHT * YPATTERNS
#endif
#define REDRAWSTEP 2000 /* How many cells to draw per cycle */
@@ -1118,8 +1121,10 @@ draw_cell(ModeInfo * mi, cellstruct info)
#endif
{
(void) XPutImage(display, MI_WINDOW(mi), gc, lp->logo,
- 0, 0, lp->xb + lp->xs * col, lp->yb + lp->ys * row,
- lp->logo->width, lp->logo->height);
+ info.age%XPATTERNS * TRUE_CELL_WIDTH,
+ (info.age/XPATTERNS) * TRUE_CELL_HEIGHT,
+ lp->xb + lp->xs * col, lp->yb + lp->ys * row,
+ lp->logo->width/XPATTERNS, lp->logo->height/YPATTERNS);
}
}
} else { /* TRI */
@@ -1249,6 +1254,10 @@ setcellfromtoggle(ModeInfo * mi, int col, int row)
if ((MI_NPIXELS(mi) > 2) &&
(info.age < (unsigned short) (MI_NPIXELS(mi) * 0.7))) {
++(info.age);
+#ifdef XPATTERNS
+ if (info.age >= XPATTERNS * YPATTERNS)
+ info.age = XPATTERNS * YPATTERNS;
+#endif
/* cc: error 1405: "/opt/ansic/lbin/ccom"
terminated abnormally with signal 11.
*** Error exit code 9 */
@@ -2275,11 +2284,11 @@ init_life(ModeInfo * mi)
#else
if (size == 0 ||
MINGRIDSIZE * size > lp->width || MINGRIDSIZE * size > lp->height) {
- if (lp->width > MINGRIDSIZE * lp->logo->width &&
- lp->height > MINGRIDSIZE * lp->logo->height) {
+ if (lp->width > MINGRIDSIZE * lp->logo->width/XPATTERNS &&
+ lp->height > MINGRIDSIZE * lp->logo->height/YPATTERNS) {
lp->pixelmode = False;
- lp->xs = lp->logo->width;
- lp->ys = lp->logo->height;
+ lp->xs = lp->logo->width/XPATTERNS;
+ lp->ys = lp->logo->height/YPATTERNS;
} else
{
int min = MIN(lp->width, lp->height) / (8 * MINGRIDSIZE);
diff --git a/app/xlockmore/modes/life.xpm b/app/xlockmore/modes/life.xpm
new file mode 100644
index 000000000..5b2f01921
--- /dev/null
+++ b/app/xlockmore/modes/life.xpm
@@ -0,0 +1,351 @@
+/* XPM */
+static char * life_xpm[] = {
+"104 92 256 2",
+" c None",
+". c #020204",
+"+ c #028862",
+"@ c #8F0304",
+"# c #07491C",
+"$ c #868707",
+"% c #480411",
+"& c #022C25",
+"* c #02C858",
+"= c #474905",
+"- c #8BC807",
+"; c #0B029D",
+"> c #026734",
+", c #5B8608",
+"' c #330304",
+") c #022594",
+"! c #C9C905",
+"~ c #52C806",
+"{ c #864A04",
+"] c #06130F",
+"^ c #02A74B",
+"/ c #486804",
+"( c #2A2A05",
+"_ c #C6892C",
+": c #02E86A",
+"< c #024882",
+"[ c #CB5904",
+"} c #026A7F",
+"| c #C8EA04",
+"1 c #2B4709",
+"2 c #07035F",
+"3 c #023429",
+"4 c #028994",
+"5 c #8FA808",
+"6 c #492704",
+"7 c #02C8BA",
+"8 c #A1E804",
+"9 c #02A793",
+"0 c #4E4F74",
+"a c #03175F",
+"b c #160808",
+"c c #4A6274",
+"d c #025828",
+"e c #624E04",
+"f c #47A808",
+"g c #2B6804",
+"h c #9ECE7C",
+"i c #02B79F",
+"j c #D00204",
+"k c #866D08",
+"l c #686704",
+"m c #6C2F04",
+"n c #050B09",
+"o c #171811",
+"p c #293606",
+"q c #02D8C0",
+"r c #4A580B",
+"s c #C6C6C7",
+"t c #CA7005",
+"u c #388804",
+"v c #D2EBA9",
+"w c #AAC706",
+"x c #5FE804",
+"y c #CDA804",
+"z c #02385F",
+"A c #ADADB1",
+"B c #260EBC",
+"C c #0334CA",
+"D c #02E8CE",
+"E c #02785A",
+"F c #051B94",
+"G c #027788",
+"H c #03293F",
+"I c #1002DE",
+"J c #024745",
+"K c #A88904",
+"L c #2C180A",
+"M c #54C6B6",
+"N c #041B20",
+"O c #173709",
+"P c #029B5F",
+"Q c #843314",
+"R c #F3C904",
+"S c #A74B04",
+"T c #029A9F",
+"U c #02B7D6",
+"V c #02F6DB",
+"W c #ABAC07",
+"X c #473904",
+"Y c #5698D0",
+"Z c #265915",
+"` c #030233",
+" . c #1DC7BC",
+".. c #52B6C4",
+"+. c #6E7804",
+"@. c #26365C",
+"#. c #CEA67C",
+"$. c #02D76C",
+"%. c #678709",
+"&. c #025754",
+"*. c #74A808",
+"=. c #373805",
+"-. c #4E594F",
+";. c #F36D04",
+">. c #5A0EBC",
+",. c #C7D904",
+"'. c #02A9C2",
+"). c #E8E9AD",
+"!. c #B6D704",
+"~. c #920EBC",
+"{. c #6F0204",
+"]. c #182B0A",
+"^. c #026860",
+"/. c #54770C",
+"(. c #025A92",
+"_. c #02CAEC",
+":. c #2A799C",
+"<. c #4F4B5C",
+"[. c #E26304",
+"}. c #033C2F",
+"|. c #CA2D1F",
+"1. c #020C33",
+"2. c #C6B62C",
+"3. c #0239EC",
+"4. c #B10204",
+"5. c #2B2A62",
+"6. c #E6E704",
+"7. c #6E3A06",
+"8. c #03D5F1",
+"9. c #A9EADB",
+"0. c #F28904",
+"a. c #848484",
+"b. c #B46507",
+"c. c #0EBA18",
+"d. c #757877",
+"e. c #D6D6D4",
+"f. c #A9DEEC",
+"g. c #C49E04",
+"h. c #59D804",
+"i. c #3E9A04",
+"j. c #337708",
+"k. c #5ADAC0",
+"l. c #95D804",
+"m. c #E9F2C4",
+"n. c #461D04",
+"o. c #CE7A7C",
+"p. c #6C4A74",
+"q. c #919C04",
+"r. c #439E04",
+"s. c #6B5607",
+"t. c #6F9A04",
+"u. c #2EBA0C",
+"v. c #84BB04",
+"w. c #A79712",
+"x. c #AA1E1C",
+"y. c #9E9E9C",
+"z. c #EBCAA9",
+"A. c #4DB705",
+"B. c #E2DE04",
+"C. c #EAADAE",
+"D. c #312A9C",
+"E. c #2E447C",
+"F. c #A8F604",
+"G. c #F00304",
+"H. c #E2B704",
+"I. c #ABC7D9",
+"J. c #5672D0",
+"K. c #93560B",
+"L. c #7ACCBE",
+"M. c #2E5C7C",
+"N. c #ADB9E2",
+"O. c #A95C09",
+"P. c #B2BB05",
+"Q. c #C8CB74",
+"R. c #CF996A",
+"S. c #E2DDCE",
+"T. c #492964",
+"U. c #73C61F",
+"V. c #02F66C",
+"W. c #F2F604",
+"X. c #2E826C",
+"Y. c #625ADC",
+"Z. c #7A8ECC",
+"`. c #7BB505",
+" + c #0284F4",
+".+ c #D0F604",
+"++ c #D67906",
+"@+ c #1DC677",
+"#+ c #0378D8",
+"$+ c #2E7268",
+"%+ c #264A5C",
+"&+ c #D0DA5C",
+"*+ c #63F604",
+"=+ c #927804",
+"-+ c #2E6A74",
+";+ c #0269C0",
+">+ c #ACC654",
+",+ c #DAA25C",
+"'+ c #7AAACC",
+")+ c #04B851",
+"!+ c #E47E04",
+"~+ c #796504",
+"{+ c #C8B899",
+"]+ c #507250",
+"^+ c #DA5A5C",
+"/+ c #C6F0EC",
+"(+ c #590304",
+"_+ c #1C94B6",
+":+ c #B8C799",
+"<+ c #8EDA5C",
+"[+ c #BEE204",
+"}+ c #032CBC",
+"|+ c #6A7232",
+"1+ c #82C654",
+"2+ c #C65654",
+"3+ c #1DB3C7",
+"4+ c #361A07",
+"5+ c #3B5809",
+"6+ c #FDFDFB",
+"7+ c #B2DA5C",
+"8+ c #5A52C4",
+"9+ c #1E5404",
+"0+ c #BA0EB4",
+"a+ c #1B4806",
+"b+ c #9D8304",
+"c+ c #1EAA99",
+"d+ c #1E3EAC",
+"e+ c #768807",
+"f+ c #300A4C",
+"g+ c #02C89F",
+"h+ c #585809",
+"i+ c #B8C908",
+"j+ c #1C67B6",
+"k+ c #2E1CB6",
+"l+ c #893C04",
+"m+ c #7E7ACC",
+"n+ c #224ACC",
+"o+ c #1EAA5C",
+"p+ c #B79404",
+"q+ c #EBEDEC",
+"r+ c #726937",
+"s+ c #372804",
+"t+ c #584804",
+"u+ c #374804",
+"v+ c #DAC25C",
+"w+ c #9B4604",
+"x+ c #596804",
+"y+ c #572904",
+"z+ c #7B4304",
+"A+ c #B74F04",
+"B+ c #5B3404",
+"C+ c #D8D704",
+"D+ c #9BB504",
+"E+ c #C8CAF4",
+"F+ c #1A283C",
+"G+ c #1A2EC4",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . o ( . . . . . . . . . . . . . . . . . . . . . . . . ] ].. . . . . . . . . . . . . . . . . . . . . . . . ] ].. . . . . . . . . . . . . . . . . . . . . . . . ] ].. . . . . . . . . . . ",
+". . . . . . . . ' 4.' . = b ] =.e P.= . . . . . . . . . . . . . . . 4+w+4+. u+] b p r `.1 . . . . . . . . . . . . . . . s+K.n.. 1 ] b p r A.1 . . . . . . . . . . . . . . . s+b+=.. a+] n O 5+u.a+. . . . . . . ",
+". . . . . . . . 4.@ ' b o . . . . = e = . . . . . . . . . . . . . . A+l+4+b o . . . . 1 r 1 . . . b . . . . . . . . . . O.{ 4+o o . . . . 1 5+1 . . . b . . . . . . . . . n p+k s+o N . . . . a+Z a+. . . b . . ",
+". . . . . b G.G.j G.j 4.G.G.j % . . . o o . ' G.@ . . . . . . b [.;.[.[.[ A+;.;.[ n.. . . ] ] . 4+;.Q . . . . . . b !+0.!+0.t b.0.0.++n.. . . ] ] . 4+0.z+. . . . . . o H.R H.H.g.p+R R y X . . . ] ] . ( R k . ",
+". . . . . G.G.j 6+C.4.G.G.4.@ 4.4.= r+P.b . % G.G.. . . . . . ;.;.[ 6+z.A+[.;.A+l+S A+1 |+`.b . 4+;.;.. . . . . . 0.0.t 6+z.O.++0.b.{ b.b.9+|+A.b . s+0.0.. . . . . . R R g.6+S.p+H.R K =+p+K a+]+u.] . X R H.. ",
+". . . . . G.G.2+6+z.j G.j {.Q o.4.n.|.|.' b @ G.G.' . . . . . ;.;._ 6+S.[ ;.[ 7.K.R.K.B+_ t L b l+;.[.L . . . . . 0.0._ 6+).t 0.++7.~+#.O.X _ p+4+b { 0.!+L . . . . . R H.2.6+).g.R y s.k {+K h+2.2.s+b k R H.( ",
+". . . . . G.C.6+6+C.G.j Q q+6+S.A {.' {.j j j j 4.(+. . . . . [.z.6+6+z.;.[ { 6+6+S.y.m L z+[ [ [ [ [ y+. . . . . !+S.6+6+z.0.t s.6+6+S.A z+4+{ t t ++t t B+. . . . . H.).6+6+S.R y k 6+6+S.A ~+s+k y y y y g.e ",
+". . . . b ^+q+d.6+o.j 4.{+6+6+e.A @ % (+4.j j j 4.(+. . . . b R.q+d.q+R.A+[ N.6+6+e.A l+4+y+[ [ [ A+A+y+. . . . b ,+q+d.6+#.t t {+6+6+e.A K.4+B+t t t b.b.y+. . . . o v+q+d.6+{+g.g.s 6+6+e.y.=+( t+g.y y g.p+t+",
+". . . j G.=.. . {+|.(+@ e.d.A e.A x.{.(+@ 4.@ @ {.' . . . [ [.p . . s t y+w+e.d.A S.A O.m n.w+S w+w+m L . . . t 0.p . . s _ y+K.e.d.y.e.A b.7.y+K.O.K.K.z+4+. . . y H.p . . s y t+=+e.d.A e.N.K e = b+K b+k ~+( ",
+". . @ G.C.@ G.G.4.(+% 7.. . . e.A x.j (+{.@ {.% ' . . . l+;.z.Q ;.;.w+y+n.s.. . . e.A O.[ y+Q l+y+n.4+. . . { !+z.{ 0.!+O.B+n.r+. . . e.A b.t B+z+{ 7.6 4+. . . k H.).k R R b+t+=.|+. . . e.{+w.g.t+~+k s.X s+. ",
+". . j G.C.G.G.j 4.{.' z+. . . E+A x.G.{.(+{.% ' ' . . . [.;.z.;.;.[.S m 4+r+. . . E+A O.[.Q y+m n.L L . . n !+0.z.0.0.!+O.7.4+r+. . . E+A =+!+z+B+7.6 4+L . . b H.R z.R R H.K ~+s+|+. . . s A K H.~+e s.X ( L . ",
+". (+G.G.G.4.j 4.@ @ % 4.( . . s y.G.j 4.' ' ' . . . . n.[.;.;.A+A+A+w+Q n.S ].. . s y.[.[.w+4+L L . . . . 6 !+0.0.b.b.b.K.{ 6 O.].. . s y.!+++O.4+L L . . . . X H.R R p+p+p+=+~+X K ].. . s y.H.H.b+s+s+( n . . ",
+". ' @ G.G.@ @ @ {.(+' 4.s -.a.A d.G.j 4.' ' . . . . . n.Q ;.;.l+l+l+m y+4+w+s -.a.A d.;.[ w+n.' . . . . . s+{ 0.0.{ K.{ 7.y+4+O.s -.a.A d.!+++O.s+L n . . . . =.k R R k k k s.t+X b+s -.a.A d.R y b+s+s+. . . . ",
+". b j j j j @ % % (+4.j j j j j j G.4.@ % ' . . . . . b [.A+[ [.w+n.n.m A+[ [ [ [ [ [.[.A+w+n.4+. . . . . b !+b.++++K.6 6 B+b.t ++t t ++!+++b.K.6 4+. . . . . o H.p+y H.b+X X e p+y y y g.y H.H.g.b+X s+. . . . ",
+". . ' G.j {.@ @ 4.4.4.4.4.@ @ 4.@ @ @ {.% ' . . . . . . 4+;.[ m Q l+w+A+A+A+S w+w+w+w+l+l+m n.4+. . . . . . s+0.t 7.{ K.O.b.b.b.O.K.K.K.O.w+{ 7.6 4+. . . . . . s+R y s.~+=+K K p+p+b+b+=+b+b+k ~+s.X s+n . . . ",
+". . . j G.4.{.(+{.{.@ @ {.{.{.{.@ @ {.(+% ' b . . . . . . [ [.A+m y+m Q l+Q Q m m m l+Q m m n.4+b . . . . . . t 0.b.7.B+7.z+{ { z+7.7.7.{ z+z+B+6 4+b . . . . . . y H.g.s.t+s.~+=+k ~+s.e s.=+~+~+e X s+n . . . ",
+". . . (+4.j j G.G.j @ {.(+(+{.j j (+(+% ' ' . . . . . . . m A+[ [.[.[.[ l+m n.n.m [ [.y+6 n.L L b . . . . . . 7.O.t !+!+++t { 7.6 y+7.t !+B+y+s+4+L b . . . . . . s.K y H.H.H.g.~+s.X t+s.g.H.e X =.s+( b . . . ",
+". . . . @ 4.4.4.4.j j j j j j 4.4.(+' ' ' ' . . . . . . . b l+S A+A+A+[ [ [.[.[ [ A+S m 4+' L L . . . . . . . b { b.b.b.t t ++++++++t b.O.B+s+4+L L . . . . . . . b k K p+p+g.y y H.y y y p+K s.s+s+s+( . . . . ",
+". . . . . {.@ @ {.@ {.{.(+(+% % ' ' ' ' ' b . . . . . . . . . Q l+Q l+Q 7.m y+y+n.n.4+L 4+L L b . . . . . . . . . z+{ { z+z+z+7.B+6 6 s+s+4+L 4+L b . . . . . . . . . ~+k k ~+k ~+s.e t+X X s+( s+( ( b . . . . ",
+". . . . . ' {.{.{.{.(+(+% ' ' ' ' ' ' ' . . . . . . . . . . . 4+m m m m y+y+n.n.4+L ' L L L b . . . . . . . . . . 4+7.7.7.7.B+B+6 s+n.4+L L 4+L n . . . . . . . . . . s+s.s.s.e s.t+X =.s+s+s+( s+L n . . . . . ",
+". . . . . . . . ' ' ' ' ' ' ' ' ' b . . . . . . . . . . . . . . . . L 4+4+' L L L L 4+b . . . . . . . . . . . . . . . . s+4+L 4+L L L 4+L o . . . . . . . . . . . . . . . . s+s+( s+s+( s+( 4+o n . . . . . . . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . ] ].. . . . . . . . . . . . . . . . . . . . . . . . ] ].. . . . . . . . . . . . . . . . . . . . . . . . N ].. . . . . . . . . . . . . . . . . . . . . . . . ] ].. . . . . . . . . . . ",
+". . . . . . . . =.q.X . # ] n O Z c.# . . . . . . . . . . . . . . . p q.=.. # ] n O Z c.# . . . . . . . . . . . . . . . p t.p . # n 1.O Z c.# . . . . . . . . . . . . . . . O r.O . # ] n @.Z )+# . . . . . . . ",
+". . . . . . . n W $ p L ] . . . . # Z # . . . n . . . . . . . . . n D+e+p o ] . . . . # Z # . . . n . . . . . . . . . n `.%.O o N . . . . # Z # . . . n . . . . . . . . . n A.u O N ] . . . . J Z J . . . n . . ",
+". . . . . o C+W.B.6.! P.W.W.C+X . . . ] ] . =.W.$ . . . . . . o !..+[+| w P..+.+!.=.. . . ] ] . =..+e+. . . . . . o l.F.l.8 - v.F.F.l.=.. . . ] ] . p F., . . . . . . N h.*+h.x ~ A.*+*+h.O . . . ] ] . O *+u . ",
+". . . . . W.W.! 6+).W C+W.W $ P.W # ]+c.n . X W.B.. . . . . . .+.+w 6+v D+!..+5 e+D+5 # ]+c.n . =..+[+. . . . . . F.F.- 6+v `.l.F.*., `.*.# ]+)+n . =.F.8 . . . . . . *+*+~ 6+v A.h.*+f u A.f # ]+i ] . O *+x . ",
+". . . . . W.6.v+6+m.! W.C+l $ Q.q.r w i+( ] $ W.6.( . . . . . .+| >+6+m.w .+!.|+e+Q.5 5+- - ( ] e+.+| ( . . . . . F.8 >+6+m.- 8 l./.%.h *.5+U.U.( ] , F.8 ].. . . . . *+x 1+6+v ~ x h.j., h f 9+~ ~ ].] u *+x ].",
+". . . . . B.).6+6+).6.! $ 6+6+S.A +.=.$ ! ! C+! ! x+. . . . . [+).6+6+).| w +.q+6+S.A +.=.e+w !.!.w w / . . . . . 8 v 6+6+v F.- , q+6+S.A /.p , - l.l.- - / . . . . . x v 6+6+9.*+~ /.q+6+S.A j.O j.~ h.h.~ ~ g ",
+". . . . o &+q+d.6+Q.! P.:+6+6+e.A $ =.h+P.! ! ! W h+. . . . o &+q+d.6+Q.w w s 6+6+e.A e+p r P.w w P.D+r . . . . ] 7+q+d.6+>+- v.s 6+6+e.A , p 5+v.- - v.`.5+. . . . ] <+q+d.6+h ~ ~ I.6+6+e.y.u O g A.~ ~ A.A.9+",
+". . . ! 6.O . . s ! h+w.e.d.y.e.A W l h+w.W q.$ +.s+. . . i+| O . . s i+5+t.e.d.A e.A 5 x+5+q.5 t.e++.( . . . l.8 O . . s - 5+t.e.d.A e.A *./ 5+t.*.t., /.].. . . h.x O . . s U.9+i.e.d.A e.N.f g a+r.f i.u j.].",
+". . $ W.).$ W.6.q.h+=.|+. n . e.A W P.h++.$ l t+p . . . e+| v e+.+.+q.r =.|+. . . e.A 5 w r +.e+x+u+p . . . , 8 v , F.F.t./ p ]+. . . e.A `.v.5+/., / u+p . . . u x v u *+*+i.Z O j.. . . S.A f ~ Z j.u g a+O . ",
+". n C+W.).6.W.B.W +.=.|+. . . E+A W B.+.h+l = ( ( . . n [+| ).| | [+5 /.=.]+. . . s A 5 [++.r x+= p ( . . n l.F.v 8 8 8 *./.p /.. . . E+A *.8 /./ / 1 p ].. . n h.*+v x x x f j.O j.. . . s A f x j.g g a+O ].. ",
+". = B.W.W.P.P.W w.+.= q.].. . s y.6.B.w.=.=.( n . . . = [+.+.+D+D+D+t.+.u+5 ].. . s y.| !.5 p p ( . . . . u+l.F.F.v.`.*.t./.1 *.].. . s y.8 l.t.p O ( . . . . a+h.*+*+A.A.f i.j.a+f F+. . s y.x h.i.O O ].. . . ",
+". =.+.W.W.$ $ $ l h+X w.s -.a.A d.6.C+q.=.s+n . . . . =.+..+.+e+e+e+l r =.q.s -.a.A d.| !.5 p p n . . . . =./.F.F., , , / 5+p t.s -.a.A d.8 l.*.p ].n . . . . O j.*+*+u u u g Z O r.s -.a.A d.x h.r.O ].n . . . ",
+". L B.2.! C+w.= = l P.! C+! P.C+C+B.i+w.= p . . . . . o [+D+w ,.t.= u+x+D+i+!.w P.!.,.[+D+q.= p . . . . . o l.v.- l.t.5+1 / `.l.- l.v.l.l.l.v.t.u+p . . . . . N h.A.~ h.i.a+a+g A.h.~ h.A.h.h.h.~ i.a+O . . . . ",
+". . =.W.! l $ $ q.W P.W W w.q.w.q.b+e+l = =.. . . . . . =..+i+x+e+e+5 D+D+D+5 t.t.q.t.$ %.x+u+p n . . . . . p F.l./ , , *.*.v.`.*.t.t.t.*.t./.j.u+p . . . . . . O *+h.g u u r.A.A.A.r.r.i.r.r.u u g a+O . . . . ",
+". . . ! 6.P.l l l =+$ $ +.+.h++.$ $ l l X =.] . . . . . n w | P./.r x++.e+e++.+.h++.e++.l / X p ] . . . . . n - 8 v./ 5+/ /.%., /./ / / , /./.5+1 p ] . . . . . n ~ x A.j.Z g j.u u j.g g g u u g Z a+O ] . . . ",
+". . . l W ! B.6.B.! $ l t+h+l ! B.x+t+u+( s+b . . . . . . x+5 w [+| [+w %.x+u+r x+w [+x+5+u+( ( n . . . . . . / *.- 8 8 8 - , / 1 5+/.- 8 / u+1 ].p n . . . . . . g f ~ x x h.~ u g 9+9+j.~ x Z 9+a+].].n . . . ",
+". . . n $ W P.P.i+! ! C+! C+! W q.l =.=.p p . . . . . . . n e+5 D+D+w w !.!.!.!.i+D+5 x+=.p ( p . . . . . . . ] , *.`.v.v.- l.l.l.l.- *.t./ p p ( ].. . . . . . . n u f A.A.~ ~ h.h.~ h.~ f f g O O & O . . . . ",
+". . . . . +.$ =+$ $ +.+.h+h+= = =.=.( s+( ] . . . . . . . . . +.e+e++.%.+.x+r 5+u+u+p ( ( p ( ] . . . . . . . . . /., , /., /./ 5+u+9+u+p O ].].( ] . . . . . . . . . j.u u j.u j.g Z 9+a+a+O 3 ].].].] . . . . ",
+". . . . . =.l l l l h+h+= =.X =.( ( ( p b . . . . . . . . . . p x+x+x+x+x+r u+=.=.p ( ( p ( ] . . . . . . . . . . p / / / / / 5+u+p p p ].( O p ] . . . . . . . . . . O g g g g g Z a+O O O ].].& O ] . . . . . ",
+". . . . . . . . =.=.=.( p ( ( p =.o b . . . . . . . . . . . . . . n p p p ( p ( ( p p ] n . . . . . . . . . . . . . . . ' ' ' ' ' ' ' ' ' b . . . . . . . . . . . . . . . n O O O O ].O ].O 3 o n . . . . . . . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . ] o . . . . . . . . . . . . . . . . . . . . . . . . n o . . . . . . . . . . . . . . . . . . . . . . . . ` o . . . . . . . . . . . . . . . . . . . . . . . . ` o . . . . . . . . . . . ",
+". . . . . . . . }.P }.. H n n F+%+;+H . . . . . . . . . . . . . . . }.P }.. a . ` F+@.C 1.. . . . . . . . . . . . . . . }.T }.. 1.. . F+5.) 1.. . . . . . . . . . . . . . . }.T }.. 1.. . o 5.F 2 . . . . . . . ",
+". . . . . . . . )++ & N ] . . . . 3 %+H . . . n . . . . . . . . . n 9 + 3 N n . . . . a @.a . . . n . . . . . . . . . n 9 4 3 N 1.. . . . 1.@.1.. . . n . . . . . . . . . . i 4 & N ` . . . . 2 @.` . . . n . . ",
+". . . . . N $.V.$.: * )+V.V.$.}.. . . n 1.. }.: + . . . . . . N q V D D g+i V V $.}.. . . . . . }.V + . . . . . . N q V D D g+i V V q }.. . . ` . . }.D + . . . . . . N q V q V 7 U V V 8.}.. . . ` . . }.D 4 . ",
+". . . . . V.V.* 6+9.)+$.V.^ + )+^ H c G ] . # V.: . . . . . . V V g+6+9.i $.V 9 + i 9 a -.C ] . }.V D . . . . . . V V g+6+9.i q V 9 4 i '.1.0 }+] . J V D . . . . . . V V 7 6+f.i 8.V '.4 i '.` 0 F ] . J V D . ",
+". . . . . V.: M 6+/+* V.$.> X.L.^ d @+@+N ] + V.: & . . . . . V : M 6+/+g+V g+E X.L.9 &. . .& ] + V : H . . . . . V D M 6+/+g+V 7 E X.L.9 &. .3+& ] + V D & . . . . . V D M 6+/+7 V 8.E X.L.'.J 3+3+H n 4 V D H ",
+". . . . . : 9.6+6+9.: * X.6+6+S.A E 3 E $.* $.* * > . . . . . D 9.6+6+9.D g+X.q+6+S.A E 3 + g+g+q g+g+^.. . . . . D 9.6+6+9.D 7 X.q+6+S.A G 3 + 7 7 q 7 i ^.. . . . ` D 9.6+6+9.V 7 :.q+6+S.A G & 4 7 q 8._.7 ^.",
+". . . . ] k.m.d.6+L.* * :+6+6+e.A + }.d * * * )+)+d . . . . ] k.q+d.6+L.g+g+I.6+6+e.A + 3 &.g+g+g+i i d . . . . ] k.q+d.6+L.7 7 I.6+6+e.A + 3 &.7 g+7 g+i &.. . . . ] k.q+d.6+L.7 7 I.6+6+e.A 4 3 &.U 7 7 i i &.",
+". . . * : F+. . :+@+d + e.d.A e.A o+> # P ^ P P > & . . . g+D o . . :+ .&.P e.d.A e.A c+> J P 9 P + E & . . . 7 D F+. . s .d 4 e.d.A e.A c+^.J T 9 T 4 E & . . . _.D o . . s .&.T e.d.A e.A c+^.&.T 9 T 4 G & ",
+". . + V.9.+ V.: ^ d # $+. . . e.A o+* d E E > # 3 . . . + V 9.+ V D 9 d }.-+. . . e.A c+g+&.E + ^.J 3 . . . + D 9.4 V D 9 &.J -+. . . e.N.c+g+&.E + ^.J 3 . . . + V 9.4 V V T &.z M.. . . e.A c+7 &.G 4 ^.J 3 . ",
+". n $.V.9.: V.$.^ E 3 $+. . . s A o+$.E > > # 3 & . . n q D 9.V D D 9 E }.$+. . . s A c+q E > ^.J 3 & . . n q V 9.D D D 9 E 3 $+. . . s A c+D E ^.^.J 3 H . . . 8.V f.V V 8.9 E }.-+. . . E+A c+q G ^.^.J 3 H . ",
+". # $.V.V.)+)+)++ E # ^ o . . s y.: : P 3 3 & . . . . # D V V )+i 9 P E J 9 o . . s y.D q 9 3 3 & . . . . J q V V i i '.4 E J 9 o . . s y.D q T 3 3 & . . . . (+q V V U U i T G J 9 o . . s y.D 8.9 3 3 H . . . ",
+". # E V.V.+ + + > d }.^ s -.a.A d.: $.^ }.3 . . . . . }.E V V + + + ^.d }.9 s <.a.A d.V $.9 }.& . . . . . J G V V + 4 + E &.}.T s <.a.A d.D q 9 }.& . . . . . ' 4 V V + 4 4 ^.&.}.T s <.a.A d.V 8.9 }.& n . . . ",
+". N $.)+* $.P d # > ^ $.* * * $.$.$.)+P # 3 . . . . . N q )+g+q P J J > i g+q g+g+g+q $.i P J 3 . . . . . N D i 7 q T J J ^.i 7 q g+i q q q i T J 3 . . . . . b q U 7 8.T J J ^.U 7 8.7 7 _.q q U T J 3 . . . . ",
+". . }.: $.> + + ^ )+)+)+^ P P P P P + > # 3 n . . . . . }.D q ^.+ 4 P i i i 9 P P 9 P T E E # 3 n . . . . . }.D q ^.+ + 9 i i i 9 T P T 9 4 + E J 3 n . . . . . }.V 7 ^.+ 4 9 i i i 9 T T 9 T T + G J 3 n . . . ",
+". . n * : )+> d > E + + E > > > + E > > # & ] . . . . . n g+D i E d ^.E + + E ^.^.^.+ E ^.^.J 3 n . . . . . n 7 D i E &.^.E 4 + E E ^.^.+ E } > J 3 ] . . . . . . _.D U G &.^.G 4 4 G E &.G 4 E } ^.}.3 ] . . . ",
+". . . > )+* : : $.* + > # d > * : > d }.& 3 n . . . . . . > 9 $.q D q g++ ^.J d ^.g+D > &.}.& & ] . . . . . . ^.9 q q D q 7 + ^.J &.^.7 D ^.&.J & & n . . . . . . ^.9 q 8.D q 7 + ^.J J E 7 q ^.J J 3 & n . . . ",
+". . . n + ^ )+)+* * $.$.$.$.$.^ ^ > }.3 & & . . . . . . . ] + 9 i g+g+g+g+q $.q g+i P ^.}.3 3 & . . . . . . . ] + 9 i i 7 7 7 q q q 7 i T > 3 3 & & . . . . . . . ] 4 9 U i 7 _._.q 8.8.7 U 9 ^.z & 3 & . . . . ",
+". . . . . E + + E + E > d # # # 3 & & & & ] . . . . . . . . . E + + E + E ^.&.J # J }.& & & & ] . . . . . . . . . G + 4 E + G ^.&.J J J }.& 3 H 3 ] . . . . . . . . . G 4 4 E 4 E ^.&.&.J }.3 & 3 & & ] . . . . ",
+". . . . . 3 > > > > > d # }.}.3 & 3 3 & ] . . . . . . . . . . 3 > ^.^.> ^.&.# J }.3 & 3 3 & n . . . . . . . . . . 3 ^.^.^.^.^.&.J }.}.3 & & 3 & n . . . . . . . . . . 3 ^.^.^.^.^.&.J }.}.3 H & 3 H ] . . . . . ",
+". . . . . . . n 3 3 3 3 3 & & 3 3 N . . . . . . . . . . . . . . . n 3 }.3 3 & & & & & N . . . . . . . . . . . . . . . n 3 3 3 3 3 & 3 & 3 N . . . . . . . . . . . . . . . n 3 3 3 3 & 3 3 3 3 N n . . . . . . . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+". . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . . o . . . . . . . . . . . . . . . . . . . . . . . . b o . . . . . . . . . . . . . . . . . . . . . . . . b L . . . . . . . . . . . ",
+". . . . . . . . 3 4 3 . 2 b ` o F+B 2 . . . . . . . . . . . . . . . H (.H . f+b ` L 5.>.f+. . . . . . . . . . . . . . . 1.) 1.. f+` b L T.~.f+. . . . . . . . . . . . . . . ` ; ` . f+b ` 4+T.0+% . . . . . . . ",
+". . . . . . . n T G H N . . . . . 2 5.` . . . n . . . . . . . . . . ;+< N 1.` . . . . f+5.f+. . . . . . . . . . . . . . C ) 1.` b . . . . f+T.f+. . . . . . . . . . . . . . ; ; ` ` b . . . . % T.% . . . . . . ",
+". . . . . ] U 8.U _.'.'.8.8.'.}.. . . n . . 3 _.G . . . . . . 1.#+ +#+ +;+;+ + +;+H . . . . . . H +< . . . . . . n C 3.3.3.}+C 3.3.C 1.. . . b b . 1.3.) . . . . . . ` I I I I I I I I I ` ` . ` b b . ` I ; . ",
+". . . . . _.8.'.6+f.T U _.T G T 4 2 <.B n . z 8.U n . . . . . + +#+6+I.;+#+ +;+< (.(.f+0 >.n . H +#+. . . . . . 3.3.C 6+N.}+C 3.}+) ) }+f+p.~.. . a 3.C . . . . . . I I I 6+A ; I I I ; ; ; % p.0+` . ` I I . ",
+". . . . . _._...6+/+'._.U (.:.L.4 J _+_+H n G 8._.N . . . . . +#+Y 6+e.;+ +#+z M.'+(.) j+j+N n < + +N . . . . . 3.3.J.6+E+C 3.C F E.Z.}+1.G+G+1.. ) 3.3.1.. . . . . I I 8+6+E+I I I 2 D.m+; f+k+k+` ` ; I I ` ",
+". . . . . _.f.6+6+f._.'.:.q+6+S.A } H } '.U U '.'.&.. . . . . +I.6+6+I. +;+M.6+6+S.A z a < ;+#+#+#+;+z . . . . . 3.I.6+6+N.3.}+E.q+6+S.A F 1.) }+3.C C }+a . . . . . I N.6+6+A I I D.6+6+S.A ; ` ; I ; I I I 2 ",
+". . . . ] M q+d.6+L.'.'.N.6+6+e.A G 3 < '.'.'.'.T J . . . . n Y q+d.6+'+;+;+N.6+6+e.A < N z ;+;+;+;+;+H . . . . n J.q+d.6+Z.C C A 6+6+e.A ) 1.a }+}+C }+}+a . . . . ` Y.S.d.6+m+I ; A 6+6+e.A ; ` 2 ; I I ; ; 2 ",
+". . . U _.o ` . s 3+J 4 e.d.A e.A _+&.J 4 4 4 G (.H . . . #+ +L . . s +3 < e.d.y.e.N.j+z H (.(.(.< z N . . . C 3.L . . s n+a ) e.d.A e.A d+a a ) ) ) ) a 1.. . . I I n.` . s k+2 ; e.d.y.e.A k+2 2 ; ; ; ; 2 ` ",
+". . } _.f.G _._.4 < & M.. . . e.A _+'.&.(.} &.J & . . . < +I.(. + +(.H H E.. . . e.A j+;+z z < z H N . . . ) 3.N.) 3.3.) a 1.5.. . . e.A d+}+a F ) a a 1.. . . ; I A ; I I ; 2 ` T.. . . e.A k+; 2 2 ; 2 2 ` . ",
+". n U _.f._._.U T ^.H M.. . . s A _+U } &.(.}.H H . . n #+ +I. + +#+(.< N E.. . . s A j+#+< z z H a N . . . 3.3.N.3.3.3.) F 1.D.. . . s A d+C a a a a 1.n . . . I I A I I I ; ; ` T.. . . s A k+I 2 2 2 2 ` ` . ",
+". J _.8.8.T T T G } J 4 o . . s y._.U 4 & H H n . . . H + + +;+(.;+< < H (.o . . s y. +#+(.a N N n . . . a 3.3.3.}+}+) ) ) a }+o . . s y.3.C }+1.1.1.. . . . 2 I I I ; I ; ; 2 2 ; L . . s y.I I ; ` ` ` . . . ",
+". 3 (.8.8.G G G (.J 3 4 s <.a.A d._.U 4 z N n . . . . H z + +< < < z z a (.s <.a.A d. +#+(.H 1.. . . . . 1.) 3.3.F ) F a a 1.) s <.a.A d.3.3.) 1.1.. . . . . ` ; I I ; ; ; 2 2 ` ; s <.a.A d.I I ; ` ` . . . . ",
+". ] _.T '.U G J 3 (.T U '.U '.'.U _.'.4 J & . . . . . 1. +;+;+#+(.H H z ;+#+#+#+;+;+#+#+;+(.H N . . . . . n 3.}+C C ) a 1.a C C C C C }+C 3.}+) a 1.. . . . . ` I ; I I ; 2 2 2 ; I I I I I I I I ; 2 ` . . . . ",
+". . 3 _.U (.G G 4 T '.T 4 4 G 4 4 G } (.}.H . . . . . . H +#+z < < (.;+;+;+(.(.(.(.(.< < z H a . . . . . . 1.3.C a ) ) ) }+C }+) ) ) ) ) ) F a 1.1.. . . . . . ` I I 2 2 ; ; ; I ; ; ; ; ; ; ; 2 2 ` ` . . . . ",
+". . . '._.'.^.< (.} G G } } &.(.G } &.&.z & ] . . . . . . ;+ +;+< H z z < < < z z z < < z z H N n . . . . . . C 3.C a a a a ) ) F F a a ) F a a a 1.. . . . . . . I I I 2 2 2 2 ; ; 2 2 2 2 2 ; 2 2 2 ` . . . . ",
+". . . &.4 '.U _.U '.} &.z J ^.'.U &.J z & H n . . . . . . z (.;+ + + +;+< z H H < ;+#+z H H a N . . . . . . . a }+C C 3.3.C F a 1.a ) C 3.a a 1.1.1.. . . . . . . 2 ; I I I I I 2 2 2 2 2 I I 2 2 ` ` ` . . . . ",
+". . . 1.G T T '.'.'.U U U U U T 4 &.3 & N H . . . . . . . 1.< (.(.;+;+#+;+#+;+#+;+;+(.z a N N N . . . . . . . . ) ) }+C }+C C C C C C ) ) a 1.1.1.1.. . . . . . . . ; ; ; I ; I I I I I I ; ; 2 ` ` ` ` . . . . ",
+". . . . . } } G } G (.(.J z J z 3 H H H & n . . . . . . . . . < < < < < < z z H H H a N N a N 1.. . . . . . . . . F ) ) a ) F a a a 1.a 1.1.1.1.1.. . . . . . . . . . 2 ; ; 2 ; 2 2 2 ` 2 2 ` ` ` ` ` . . . . . ",
+". . . . . & (.&.(.&.&.&.z 3 3 H H N H H n . . . . . . . . . . a z z z z z H H H a N N N N N . . . . . . . . . . . ] a a a a a a 1.1.1.1.1.1.1.1.. . . . . . . . . . . ` 2 2 2 2 2 2 2 ` ` ` ` ` ` ` . . . . . . ",
+". . . . . . . n & & H H H H H H & ] . . . . . . . . . . . . . . . ` N a N a a N N a N 1.. . . . . . . . . . . . . . . . 1.1.1.1.1.1.1.1.1.. . . . . . . . . . . . . . . . . ` ` ` ` ` ` ` ` ` . . . . . . . . . ",
+". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "};
diff --git a/app/xlockmore/pixmaps/m-blowfish.xpm b/app/xlockmore/pixmaps/m-blowfish.xpm
new file mode 100644
index 000000000..f2c039ad2
--- /dev/null
+++ b/app/xlockmore/pixmaps/m-blowfish.xpm
@@ -0,0 +1,347 @@
+/* XPM */
+static char *image_name[] = {
+/* width height num_colors chars_per_pixel */
+" 99 84 256 2",
+/* colors */
+".. s mask c #040204",
+".# c #928528",
+".a c #d9c31c",
+".b c #cbc38f",
+".c c #444424",
+".d c #b79641",
+".e c #785c2d",
+".f c #ebe2a4",
+".g c #828371",
+".h c #b7a57d",
+".i c #cac448",
+".j c #62622a",
+".k c #e8d18a",
+".l c #3f2914",
+".m c #7c7620",
+".n c #e3e4d7",
+".o c #3c4244",
+".p c #9a9a7a",
+".q c #dec44c",
+".r c #222016",
+".s c #b6ae2e",
+".t c #5d451f",
+".u c #c7c5bb",
+".v c #776f55",
+".w c #a09e34",
+".x c #e3d76f",
+".y c #bab47c",
+".z c #f4f3de",
+".A c #9f8527",
+".B c #d4af29",
+".C c #e6ddc2",
+".D c #e7c912",
+".E c #e0c56b",
+".F c #b5b4ac",
+".G c #ead88e",
+".H c #9f8e6b",
+".I c #1c0404",
+".J c #baac50",
+".K c #605620",
+".L c #323015",
+".M c #8c7959",
+".N c #9f9c93",
+".O c #f4efc1",
+".P c #d3d3be",
+".Q c #9f942f",
+".R c #553c1d",
+".S c #d8c78b",
+".T c #636051",
+".U c #f4d990",
+".V c #77652f",
+".W c #938f75",
+".X c #977b14",
+".Y c #544f1e",
+".Z c #77746f",
+".0 c #f4f5f1",
+".1 c #f4e4a7",
+".2 c #40391d",
+".3 c #f5e5d0",
+".4 c #ccb581",
+".5 c #302110",
+".6 c #776546",
+".7 c #e3d053",
+".8 c #e7c92e",
+".9 c #625532",
+"#. c #8a7c28",
+"## c #dace19",
+"#a c #12110a",
+"#b c #c1ba5b",
+"#c c #dbd28e",
+"#d c #8b854f",
+"#e c #50451d",
+"#f c #e3d072",
+"#g c #eadcaa",
+"#h c #b7a32c",
+"#i c #90876d",
+"#j c #6c6e1c",
+"#k c #aaa894",
+"#l c #d4c4c0",
+"#m c #c4bba9",
+"#n c #5e584c",
+"#o c #b7b396",
+"#p c #837c58",
+"#q c #9c844c",
+"#r c #1e170c",
+"#s c #ecece1",
+"#t c #a29643",
+"#u c #f5e7bc",
+"#v c #4f4731",
+"#w c #b6a254",
+"#x c #61603c",
+"#y c #aca87c",
+"#z c #c0b82c",
+"#A c #d5bc54",
+"#B c #d4d4d0",
+"#C c #302124",
+"#D c #e6cf35",
+"#E c #887326",
+"#F c #ecd75d",
+"#G c #fbfae1",
+"#H c #3f3a30",
+"#I c #c7b054",
+"#J c #b5aea5",
+"#K c #c0c470",
+"#L c #5e4532",
+"#M c #fcfcf8",
+"#N c #d3c834",
+"#O c #3f3028",
+"#P c #ecc94f",
+"#Q c #846848",
+"#R c #140605",
+"#S c #ecde92",
+"#T c #6c6c5d",
+"#U c #84652a",
+"#V c #6c5733",
+"#W c #8a9046",
+"#X c #edd16f",
+"#Y c #ac9744",
+"#Z c #ece4bc",
+"#0 c #a89c6d",
+"#1 c #ccccc1",
+"#2 c #847354",
+"#3 c #fcf4df",
+"#4 c #807c74",
+"#5 c #f6edd2",
+"#6 c #796a46",
+"#7 c #edd053",
+"#8 c #8d8981",
+"#9 c #f4c63c",
+"a. c #2c180f",
+"a# c #a9a157",
+"aa c #53514d",
+"ab c #d6bb22",
+"ac c #8e933a",
+"ad c #987c3b",
+"ae c #9c948a",
+"af c #c9b124",
+"ag c #a9ae47",
+"ah c #acae34",
+"ai c #d2c377",
+"aj c #c7a52f",
+"ak c #645a74",
+"al c #b9ab7c",
+"am c #c2c2ac",
+"an c #e5d1a1",
+"ao c #cbbb3d",
+"ap c #b48e54",
+"aq c #cebd92",
+"ar c #d4cedc",
+"as c #eed778",
+"at c #8c7e78",
+"au c #f4dca7",
+"av c #94928c",
+"aw c #504946",
+"ax c #402f18",
+"ay c #9e9570",
+"az c #827c3a",
+"aA c #cfcf31",
+"aB c #d4bc3f",
+"aC c #aca129",
+"aD c #ac9e8c",
+"aE c #ac9614",
+"aF c #643e1c",
+"aG c #6c6253",
+"aH c #ccb956",
+"aI c #c4a66c",
+"aJ c #e4be4c",
+"aK c #5d4b1d",
+"aL c #c1bb7d",
+"aM c #9e8c32",
+"aN c #c4bb95",
+"aO c #dcdbd5",
+"aP c #614c2e",
+"aQ c #838482",
+"aR c #7a713d",
+"aS c #303028",
+"aT c #d6c9a2",
+"aU c #535033",
+"aV c #d9d0a7",
+"aW c #86733e",
+"aX c #ece5db",
+"aY c #c4ae74",
+"aZ c #845e1c",
+"a0 c #d4c453",
+"a1 c #ecc967",
+"a2 c #4c3d21",
+"a3 c #94864f",
+"a4 c #6c5644",
+"a5 c #a47e34",
+"a6 c #242716",
+"a7 c #e6d014",
+"a8 c #bbbcb1",
+"a9 c #9d8b50",
+"b. c #d2cb72",
+"b# c #e4deda",
+"ba c #686a3c",
+"bb c #918536",
+"bc c #6c6229",
+"bd c #f4d288",
+"be c #baae41",
+"bf c #b9ac68",
+"bg c #6c571e",
+"bh c #fceec1",
+"bi c #dcd7bc",
+"bj c #543e30",
+"bk c #b9a241",
+"bl c #aaaba6",
+"bm c #c6bbbf",
+"bn c #1f191f",
+"bo c #a39458",
+"bp c #b7a469",
+"bq c #6c633d",
+"br c #d7bd69",
+"bs c #4c3e34",
+"bt c #c4af67",
+"bu c #dcc733",
+"bv c #949450",
+"bw c #a69d7f",
+"bx c #c7b03a",
+"by c #ccc5a5",
+"bz c #1e0d09",
+"bA c #cdbd7c",
+"bB c #2e2812",
+"bC c #d5cdbd",
+"bD c #30271e",
+"bE c #ecdf79",
+"bF c #ac9464",
+"bG c #d4b644",
+"bH c #ac9857",
+"bI c #aca2ac",
+"bJ c #6c666c",
+"bK c #ccbd69",
+"bL c #b49a5c",
+"bM c #424336",
+"bN c #e4e5e5",
+"bO c #c4b57c",
+"bP c #9e8638",
+"bQ c #fcf6f1",
+"bR c #c4b68c",
+"bS c #ccb624",
+"bT c #f5eee6",
+"bU c #e4be24",
+"bV c #b8aa90",
+"bW c #8c7d3f",
+"bX c #dccf35",
+"bY c #e4be34",
+"bZ c #6c4a20",
+"b0 c #0b0a08",
+"b1 c #d9ca1a",
+"b2 c #eceaa9",
+"b3 c #e1ca4f",
+"b4 c #7c765b",
+"b5 c #dfca69",
+"b6 c #8f7e5f",
+"b7 c #a4a299",
+"b8 c #646659",
+"b9 c #f5de97",
+/* pixels */
+"......................................................................................................................................................................................................",
+"......................................................................................................................................................................................................",
+"......................................................................................................................................................................................................",
+"......................................................................................................................................................................................................",
+"....................................................................................#a..................................bD............................................................................",
+"....................................................................................bM............b0aS................#a..............................................................................",
+"......................................................................b0............bvbz..........#H.r..............b0b0..............................................................................",
+"......................................................................b0...........L.i.Kb0........aa...............r.o......b0........................................................................",
+"....................................................b0.................2.........5.JbXaobg#R......#W..........b0..#T..........a6......................................................................",
+"....................................................#a................ba.L.jbeaHbubua7#D.q.i#b.K#Hal..b0#R..#R#Ca9#d........#v#r......................................................................",
+".....................................................caU..........b0#Rbq#x.V#D.8#9#P#P#P#P#D.7.VaG.S.RaoaH#NaBaJ.7#.......#r#x........................................................................",
+"....................................................#aah.Ybz#C...cbe.Y.V.Hbgb3.8a1#9#PaJ#P#F.E.tbfana2.7#X#7#7#Xb3aH.5....#xaU........................................................................",
+"....................................................b0#z.a.X.AbxbYbXbc.Van.t#I#P#7#7#X.Ab3#F#h#L#c.1aPa0#fbd#X#7#X#Xbfaxbz#t#a........................................................................",
+"......................................................#ebG.8.8.D#9.8bg.V.GaI#E.x.7#7#f.KbO.GaRa3.G#g#6bF.G.G#fbx#7as.xbqbqaR#C........................................................................",
+"..................................................b0.ebG#PbYab.8#P.8aPaz#f#X#I#Y#X#Fb5#r.H.ka##X.G.GaHadanbE.H.6.UbE#0#eai#V#vb0..........b0..........................................................",
+"................................................ax.sbu.D.D.8#Ebk#7#N.Ybvasa1#Xbdbd.kbt#eaR.G.Uauaub9au.G.f.x.l#2#Saibj#K.G.Rb.#W#a......#a............................................................",
+"..............................................#r.2.ab1a7.8b3bLax.q.EaM#A#f#Xas.G.G.U#2b6#V.f#Sauau.1.1#Z.1#p#Oal.ka4aq.1aT#V.G.xbp.l...KaU............................................................",
+"..............................................aUaz.RbG#P.8.8a0.5.V#f.7#Xas.k.G.G.Gau.6bA.Van#u#u.1.3.1#Z.S.6#pan#gaV#g#u.4.vb9.G.k.k.4.b.2...........rbM..............................................",
+"..........................................b0#WbB#b#Y.Ra5#P#Db3bW.ebPas.Gbd.Ub9#S.1.S.6.1#6.h#Z#u#Z#u.3#uaG.hbvau#u.1.1.Caq#2au.U.G.GbEbA..........babab0..............................................",
+"..............................#Ha6.........maA.Kboas.Eapa5.8#f.Vbp#ebr.G.U#gaq#g.1.M#y#uaT.H#u#u#5#5#uaD#x#Z.W#ubh#5.3#u#uanau#ubA.U.G#ca2....#razaR#a................................................",
+".................................j.w.Kax.X.abu.V.6as#7.qa1b5#X.Vbp.4#V.Sauau#2.b#ubi#u.3#5aV.zbybi#3bC#xbi#Zay#5#5#5#u#5.3#u.3#0#V.1bE.Gbo...9#Kb4b0..................................................",
+"................................bzaM.aab.D.DbY.d.eb5#D#7#7#X#f.6a9#g.San.1.3#2#p#ubh#5#5#5.z#3b4#JbT#s#ZbT#3#k#3#3#5#5#5#u#5#i#ral#Sa#a2a2al.fb4b0....................................................",
+"...................................KaC.a.D.D.8ab#U#D#Da1#7#F.k.vb6#g#g.1au.3#paGaV#5#5.z.z#3#s#n#i.0.zbT.z#3.P#3.0bQ#5#3.C.6.r.v.3#ya#bR.Cb2bv#a......................................................",
+"..................................b0#U.8bU.8.8.8aj#7#P#X#X.k.G#6.h.f.1#u#u#Za3aT#nbC#3.z#3.z#o#4b4bQ.0bQ#G.0bQa8bCbQbiay#v#i.v.n#5#u#Z.3#u#obn........................................................",
+"..................................bzaf.D.8bGbub3b3#7#7#X.Ebp.k.S#g.1#g#u.3bCat.z.C#s.zbQbQbT.Z.P#4a8bQ#M#M#G.nbD.u#GbC#m.C#8#m#5#5#5#u.1aV.L#RbDa6b0.......rbM........................................",
+"..................................#VbU.D.8.Q.tbGb3#7#X#Xbd#QbF.1#Z.1.3#u.3#5.3.z#G#3#3#M.z.n#1.z#1#s#GbQ.0#s.vb8bN#M#G.z#s#i#3#3#5#5#u.O#p#v#o.P#caLa3aMag#Wa6........................................",
+"..................................bP.D.D#Nbb#RbBbH#f#X#X.kaYaxaPbR#u.1#5#5bT#3#3.z#M#G#M.0#G#G#M#G#G#M.0b7#4.n.pbQ#MbQ#G.Nb7#3#3#3#3#5.O#y.S.O#S.C#Sas#FbK.L..........................................",
+".................................5aob1.8bebDb7.Pa9a3.G.x.G#ga9aNalaT#5#5#5aXbC#3bQ#M#M#MbQ#M#M#M#Ma8b7#MbN.z.0#8#G#M#M#Mav.P#GaO#s#3#3bT#ubhb2.faub9as.k#V............................................",
+".................................K.8.DbuaKatbT#G.z.vaW#S#S.f#paT#u#u#5#5bQbC#va8.0#MbQ.0#M#M.0#M#G.N#8#M#M#M#M.F#M.0#MbQ#s.z.N#T#s.z.zbT#5.3.3.1.1b9.U.4#a............................................",
+"............................#rbB#U.abu#E#VaXbQ#M#3bi.9#0#S#gaqaq#5#5#5bT#3.Nbl.F.F.0#M#M.naO.0#M#s#1#1#M#M#M#M.0.0#M#M.0bT.Z.r#1.z#GbQ#3bT.3bRa4ae#gb9bA#a............................................",
+"..........................#a#0.9#E#DaC.R#waGaa.Z.Zby#paxaVau#u#u#5#5#3#3bQ.u#s.0#s#M#M#Ma8bl#M.0#M#MbI.0#M#M#M#M#M#MbNaG.Z.Tb4#G#G.0.zam.v#O#C#2.C#Zb9.Gbs............................................",
+"..........................bw#SaKaMaAbs#OaU#J#1arbI#H#x#v.M#5aubh#5#3#5bQ#M.0bQ#M#M#M#G#M.na8bN#M#M#MbN#M#M#M#M#M#M#M#s#B.nb8#s.0aQaw#n.TaG.2#o#u#Z.1b9.1bq............................................",
+".........................r.obM#aaEaW#Rakb##M#M#M#M#BaSbDaaau.3bh#5bRbQ#3#GbQ#MbQ#M#M#M#M#M.0.0#M#M#M#M#M#M#M#M#M#M#M#M#Mb7aQ#G#M#saOaO#kaUby#3#5#u.1.f#c#2....#aaSa6..................................",
+"..........................#8arb8#tbe#vbm#M.0#M#M#M.0#4bD#6#Z#u#5#5#o.gaO.0.0#M#M#M#M#M#M#M#M.0#M#M#M#M#M#M#M#M#M#M#M#M#Mav.u.0#M#M#M.O#nby.z#5#5bV#nbjbs#ebaa#aR.r....................................",
+"......................aSaa.0.0#4bPa0.YaX.N#Hbl#M#M#MaQba.C#u#5bh.zb#.CbN#M.0.n#J#M#M#M#M#MbNaQ.N#M#M#M#MbN.N.F#M#M#M.0#M#s#M#M#M#M.0#8.p.z#G#3#5#ZbC#lby#c#K.K#r......................................",
+".......................o#4.0#nbn#..i.5.0aQb0.N#M#M.0aa.v#Z#Z.3bh.zbQ.0#M.0#MbNav#M#M#M#M#M#sa8av#M#M#M#M#sbIaQ#M#M#MbNb7.Z.0#G#M#M#Mbl.z#3#3#5#3#u#u#u.faL.c..........................................",
+"......................bnaQ.0.rb0#E#NbzaObN.u#s#MbN#4#abM#p.CbQbTbT.z.0.0.0#MbQaX#M#M#M#M#M#M.0#s#M#M#M#M#MaObN#M#M#M#Mb7#1#M.0.0#M#MbT#G#G#m.C#5#5#5#ZbRbBb0..........................................",
+"........................b8bQar#nbPbu#eav.0.0aO#n#Hba#ybyaX#5bh#Zbh.z#3#M#M#M.0#M#M#M#M#M#M#M#M#M#M#M#M#M#M#M#M#M#M#M#MaO.0#G#Mb7#T#8.F#sbQam#v.g.C#uaV#O.2#H.....................5.V#Y.w.Q.Kb0........",
+".......................Y.9.ubQ#najbX.V#n#M#JbDaUal#g.O.z#5b2.ObhanbR#5#G#MaX#M#M#M.0#M#M#M#M.0#M#M.0bl.F#M#M.0#M#M#M#M.0#M#M.0#s#1.N#Hb8bi#3bib4#va8.M.6.kbR.5..............#a.v.4.U#X#7#D.J.5........",
+"....................ax#zaC.9arbMbubube#C.ZbD.v.Sb2bh.z.z#3bTaX.O.1#0#2bQbQaO.N#M#M#1#M#M#M#MaO#M#MbQ#sbN#M#M#M#M#MbQ#M#M.0#M#M.0av.N.u.n.0bC#T#yalbiaT#g#g#g.9.............r.W.fbh#ca9.VaR#H..........",
+"....................#j#NaM#C.r#Hajbub3.V#RaUb..3bh#5#3#G#MbQ#3#5#u.faRbw#M.0aQa8.0#M#M#M#M#M.0#M#M#M.0#M#M#M#M#M#M#M#M#M#M#M#M.nbl.z.0bQbQaX#1.z#5bh#u.1au#g#x..........#aay.O.zb2.Gb.aga2............",
+"..................#r.s.K#Lb7bm#k#VbSb3.i#Oa3.f#5#3bQ#GbQbQbQbQbQ.O#ZbA.v.0#MaOaQ#M#M#M#M#M#M#M#M.0.0#M.0#M.0#sbl#M#M#M#M#MbQ#M#M#M#M#M#MbQbTbQ#3#5aNaV.1#Z#gbq........#rbob2.ObiaDb6az#eb0............",
+"...................KbW.9b#bQ.0bQ#J.Vbua0a..y#Z#3bQbQ#M#M#MbQbQbQ#3bh#g.6#m#M#MaQbN#M#M#M#M#M#M#M#M.ubN#M#M#MbN.Z#s#M#M#MbQ#M.0#M#MbQ#MbQbQ#3#3bT#5aL.Yal#g#Sba#6.rb0.L#y.f.O#5an.Sbr#x................",
+"................#R#t.V#i.0.0#MbQ.0bvaM#A.IaL#u#5bQ#G#M#M#M#M#M#MbQ#3.f#0#8#M#M#4a8#M#M#MbN.F#M#M.0b#av#s.0#Mb##1#M#M#M#M#1bI#MbQ#M#M#Mbl#mbQ#3#3#5#u#y.9a4.JaRbA.SalaT#5bQ#5#uauas#Y#r................",
+".................l.i.V.g#M.P#k#M#M.nbqbH#Obf#Z#5bQ#M#M#M#M#M#MbQbQbQ.f.baQ#M#Mav.N#M#M#M#sav#M#M#M.Fav.0#M#M#M#M#M#M#M#1aQ.u.0#M#M#M#MamaG#G.0.z#J#v#2bw.Ha9.J.1.3bh#G.0bQ#5.1b9.E.2..................",
+".................9.7bbaa.z.z.p#8#s#M#l#L#CaR#u.3bT#M#M#M#M#M#MbQbQ#5#Z.b.g#M#Mavav#M#M#M#M.0#M#M.0.0.0#M#M#M#M#M.0bT#MbN#s#M.0#MbQ#MbQbQ#Tbw.z#3a8.h#g#u.1.G.GbhbQ#M#G#G.ObibObv#v....................",
+"................bc#Saiax#8#G#s#T.o#8bm#ybD.9#Z#ubT#M#M#M#M#M#M#MbQ#5auby#4#M#M#4bl#M#M#M#M#M#M.0#M#M.0#M#M#M#M#M#M.u#M#M#M#MbN.0#M#MbQ.z.P#n#k#5#5#u.f.1aub9#g#5#G#M#Mbhb2.S.H#2#r....................",
+"..............b0babh#u.M.rb8.gaS.r#nataR#r#raN.3#3#M#M#M#M#M#M#MbQbh#gayaQ.0#M.g#B#M#M#M#M#M#M.F#4av.Zaaaw#naaaa.N.0#MbQ#M#Ma8.N#M.0#s#sbTbi#x#o.3#u#SbF#S.GaY#5#M#MbQ#5.1.kbfa2......................",
+"............#H.c.jbhbhbF#aav.T#n.PbT#M.O#H..aRb2#3#3bQbQ#M#M#MbQ#3bh.fbq.F#M.0#8.0#M#M#M#M#M#M.n#o.pat.pbl#1.u.ga6#8.0#M#M.0#G#8bCam.vaaaw#TbwaUbV#u#gbqai#S.y#5#M#MbQ.3.Uas#w#r......................",
+"..........#vaV.vbjbE.1aRbJ.0#o.N.0#M#G#1bzaW.2.b#ubh#3bQbQbQ#G#M#3#uaVbq#5.0.u#8.0aOaO.u.0#M.ubi#ubh.O#3#M.0#M.zav#abl.0#M.z#1.N#TbT#s.PamaD.p#va6#kau.HazaL.M#5bQ#G#5au.kb5.9........................",
+"........#aam#Gavbzao.xaPb7#G.Fa8#M#M#M.W.Kb.#t.6an.f#5#5bTbQ#3#3#5#ZbH.pbQbQ.F.n#M.uaQb##M.0bia8aV#5#3#G#M#M#M#M#sawaa#M#M.n#ob7.Wam#3.0.z.z.O.C#kaN#uanbq.9.6#5#5#5#5.kapbg#r........................",
+"........#T.0#GbybzaMb1#Oa8#MbN#s#M#M#M.vad.7.7.ea9.G#u#5#5#5#5#5#u.Cal.CbQbQ#s.0#M.0bN.0#M#M#M.z.u#8bi#M#MbQ#M#M#G#o.r#1.0#G#G.z#1#3bQ.z.z.z#ubw#u#Zan#q#O#a#6.Gb2#ub2bpbK.9..........................",
+"....b0bM#o#obhai#v.K#Na2bI#M#M#M#M#M#sbsaHb3#7.q#E.J.G#ubh.3#Z#u#u#g#Z#Z#BbQ.0#M.0#M#M.0#M#M#M.0#M#J#n.n#M#MbQ#MbQ#s.v.W#G.0#M.P.Z#3#3.z#3.z#Z#v#y.1#qaRaDaP.r#p.G.1b9bO#.#r..........................",
+"....#R#n.va3.bba.Lbz#tbc#4#M#M.0#M.0#k.Y.q#7.E#7#A#I.kb9bh#u#u#ubh.O#3bi.ZbCbI.0#MbQ.0#M.0#M.0.FaQ.zb4#4.n#M#M#s#5#5#g#dbwbT.0.z.9#1.z#3.z.3#3b6#Hanb5asaL#r..bs#cauas.G.V............................",
+"........#r.rbB......ax#..L.u#GbQ#M.nawbcbX#Pa1#7#X#f.Ub9.f.1#u.1#u#5#5#5#4#T#1.0#M#M.0aX.0.0#M#s.Z.0.z#x#8#1aX.O.baV#S#b.Kakb##Gb7aG.z#5.zbyaq#gbs#pb9.xaR....#a.h.Gbk#I#nb0..........................",
+"......................#eaR#H.Z#Ja8#x..#Cbxa7#7#f#X#Xas.G.Gauaiau#u#u#5#5atam#G.z.z.0#Mav.Nb7#M#M.z.0.0araa.T.y.bbOaM.J#bbb#r#4.P#Z#pae.z#uby#p#6#da2albVa6......#e#f.EbPbB............................",
+"........................aUacbg.l#r.t.##e.ma7b3aBbL#X#X.G.G#fa9.f#g#0#Z#5bi#3.z#G.z#GbQ.naa.F#G#M.0#M#MbQ.u#H#OaS.9.r.L.Y#i#m.u#yat#p#vaN#s#Z#g#ya2.raw#nb0b0......azb.#bbz............................",
+"..........................#e#Iaf.s.B.DaCaPbu#9.#.V#X#X#X.kai.vana9#0#g#5#5.O#G.z.zbQ#G#3.N#sbQ#M#G.0bQ#M#MaOav#H#n.NbV.P#3#3bT#3aObwaU.2by#Zau.1bpbB#a#a..........#a#ja#b0............................",
+".............................2.s##.X.D.8#UbY.q.V#I#X#A#A#X.Hb6#ial#gbh#g#5#5.Cby#3.z#3bQbT#3bQ#G.naQ.zbQbTb7.z.p#s.z#GbTa8#3#3bT.3.zam#ybo.faub9.Ua9b0................bDb0............................",
+"...............................2.#aZ.D.Dajbu#haRbraW.Abe#X.6.9bpb9b9#g.1#u#u.Cb4#5aD.u#5.zbTbCbCae.W#3bQ#Gambw.p#3.z#3bi.Z#3#5#5#5#u#2.b.f.Gb9.Uas.Mb0................................................",
+"................................#raMbuaj.BbuaR.j.ebk.q#Fb5bg#Y.k.G.Gb9au.1#Z#gbw.H#k.3#5#3bQ.u.Z#8b#bQ.z#3.z#ob4.PbC#3by#2#3#u#u#Z#Z#p.H.1b9as.kbtbDb0................................................",
+"................................bBac.RaZaj#zax.9bkbu#Db3b3bkb5.GbH.k.1.fau.1.1#6b6#ubh#5#3#5#5#4#2.z#3#3#3.z#5.P.C.pbwbC.v#u.O#ub2.1bV.6au#S.G.Ea2....................................................",
+"..................................#a.Lab.a#U#eaf#DbS#D.8a1#7#Xb5a9.U#g.Sbp#gau#0bi#u.3bh#u#3.3#m.p#5#3.3bT#5#5.O#5.Cay#i#6#uaV#gb2#uby.R.S.Gaibqa2.2..................................................",
+".....................................Laj.DaEaBbYab.A#P.8#P#P#7#7bL#g.G.Vbp#S.fau#uau#u#u#u#u#u#u#g#u#5#u.WaV#Z#5#u#u#g#6#v#c#0.9aq#uau.9bbb.bq#R#ta3..................................................",
+".......................................t.a##.D#9.A#E.E#7#Pa1.8b3az.GaWbLas.G#g#Saq.f#ZaVay#ub2.3aebw.3aTbq#u#Z#uau.3aV.baxal#ga9#OaT#Z.vax#vb0.r#e#da6................................................",
+"....................................bB.L.X.a.DbUbgbpau#F#PaJ#D#Ibq#d#q#Xbdas.U.G.6#c#u.M#0#u.1#ZaV.v.C#i.H#uau#uauana3.f.haYau#X#2bDaT#yb0.........raS................................................",
+"....................................ac.m#r.#b1af.Kanb2.7ada5.7.##e.eb3.7#X#X#X.x.6bRaN.V#S#g#S.1.f#2#0.vaq#g.1au#ubV#6b9b9.Ganbdb.#O.L.y.c............................................................",
+"................................bn.L.c#a..#r.X#E#2#uaibg.XaBaA.V.l.sa0.E#F#f#X.GaR.h.6bH.G.U.U.G.kbf#6#E.Gbp.S#ub2.6#Q.Gbdbd#XbE#bbD...2#x............................................................",
+"..............................#a..b0........#r.2.J#wbD.e.8a7bu#V.ebXaZ.E#F.7aiadbo.6#nb5.G.kbdbEa3bK.V.6asbH.M#g.3.v.6bdbd#F#f#da6.......Lb0..........................................................",
+"...............................................Kaca.#CaBa7.D.D.taJ##aPaias.7.ebFal.l.6aMbo.G.Gbr#U.kaW.e.G#f#V#0#Zbqbq#f#FbK#2a.........b0#a..........................................................",
+"............................................b0#x.r#RaKb1.aa7ab.d.8b1bZaqasaMbZ.Ebt.I#w.V.6.G.GaW#6#f.E.d#X#Xa#.9.x.VbBa3.V.Lbza.......................................................................",
+"............................................aS#r....#abcajbUb1.8b1.8aFaiai.tbx#Dbtaxa0#WaP.G.k.l#Yb5a1#X#7#f#faKa#.V#Rb0...2.w#e......................................................................",
+"..........................................#a.r...........rbg#haA##bXaFaBaW.V.8.8.q.Ab3#I.l.Gbo#RaIb3#7.7.7bXbfa2#V#6.......La##e......................................................................",
+"..........................................bn............b0b0.5.Y.m#h.Rao.l.A#D.8.8.8#7.qaxaL.6..bp.7a0#wbg.Y#a..bB#n........awaU......................................................................",
+"...........................................................j.K....#rbjbb..bb.i.q.8a7b1##aPbHbM#R#e.K.2#R...........L..........a6......................................................................",
+"........................................................b0bvax....b0.j.j..b0.L.R.tbg.KbgaSaGb0......bz.c..........bn..................................................................................",
+".........................................................2bM.........ja6....b0.2aZax..#r#a#H........aUag..............................................................................................",
+"........................................................#a...........L........#jaA#e....b0b0.........Lac..............................................................................................",
+"....................................................................bD.........j.w#a...................c..............................................................................................",
+"....................................................................#a.........r.K....................#a..............................................................................................",
+"................................................................................#r....................................................................................................................",
+"......................................................................................................................................................................................................",
+"......................................................................................................................................................................................................",
+"......................................................................................................................................................................................................"
+};
diff --git a/app/xlockmore/xlock/XLock.ad b/app/xlockmore/xlock/XLock.ad
index d0d3b0204..a5ee29b51 100644
--- a/app/xlockmore/xlock/XLock.ad
+++ b/app/xlockmore/xlock/XLock.ad
@@ -1,8 +1,8 @@
!!!!
! XLock: Class resource for xlock (xlockmore-5.14)
!!!!
-XLock.mode: random
-!XLock.mode: blank
+!XLock.mode: random
+XLock.mode: blank
!XLock.mode: life
!XLock.erasemode: no_fade
XLock.erasedelay: 400
diff --git a/app/xlockmore/xlock/passwd.c b/app/xlockmore/xlock/passwd.c
index 6f10c5358..e24b97dbc 100644
--- a/app/xlockmore/xlock/passwd.c
+++ b/app/xlockmore/xlock/passwd.c
@@ -72,15 +72,13 @@ extern char *cpasswd;
#include <pwd.h>
#endif
-#if defined( __bsdi__ ) && _BSDI_VERSION >= 199608
+#if defined( __bsdi__ ) && _BSDI_VERSION >= 199608 || defined(__OpenBSD__)
#define BSD_AUTH
#endif
#ifdef BSD_AUTH
#include <login_cap.h>
-static login_cap_t *lc = NULL;
-static login_cap_t *rlc = NULL;
-
+#include <bsd_auth.h>
#endif
#if ( HAVE_SYSLOG_H && defined( USE_SYSLOG ))
@@ -105,9 +103,7 @@ void set_multiple(int uid);
screen. */
struct pwln {
char *pw_name;
-#ifdef BSD_AUTH
- login_cap_t *pw_lc;
-#else
+#ifndef BSD_AUTH
char *pw_passwd;
#endif
struct pwln *next;
@@ -129,9 +125,7 @@ new_pwlnode(void)
return ((pwlptr) ENOMEM);
pwl->pw_name = (char *) NULL;
-#ifdef BSD_AUTH
- pwl->pw_lc = NULL;
-#else
+#ifndef BSD_AUTH
pwl->pw_passwd = (char *) NULL;
#endif
pwl->next = (pwlptr) NULL;
@@ -1282,6 +1276,10 @@ checkPasswd(char *buffer)
char *pass;
char *style;
char *name;
+ int authok;
+ extern gid_t egid, rgid;
+
+ (void)setegid(egid);
#if ( HAVE_FCNTL_H && (defined( USE_MULTIPLE_ROOT ) || defined( USE_MULTIPLE_USER )))
/* Scan through the linked list until you match a password. Print
@@ -1292,49 +1290,31 @@ checkPasswd(char *buffer)
*/
for (pwll = pwllh; done == 0 && pwll->next; pwll = pwll->next) {
name = pwll->pw_name;
- lc = pwll->pw_lc;
#else
name = user;
#endif
if ((pass = strchr(buffer, ':')) != NULL) {
*pass++ = '\0';
- style = login_getstyle(lc, buffer, "auth-xlock");
- if (auth_response(name, lc->lc_class, style,
- "response", NULL, "", pass) > 0)
- done = True;
- else if (rlc != NULL) {
- style = login_getstyle(rlc, buffer, "auth-xlock");
- if (auth_response(ROOT, rlc->lc_class, style,
- "response", NULL, "", pass) > 0)
- done = True;
- }
- pass[-1] = ':';
- }
- if (!done) {
- style = login_getstyle(lc, NULL, "auth-xlock");
- if (auth_response(name, lc->lc_class, style,
- "response", NULL, "", buffer) > 0)
- done = True;
- else if (rlc != NULL) {
- style = login_getstyle(rlc, NULL, "auth-xlock");
- if (auth_response(ROOT, rlc->lc_class, style,
- "response", NULL, "", buffer) > 0) {
- done = True;
- if (!*buffer)
- /*
- * root has no password, don't let him in...
- */
- done = False;
+ style = buffer;
+ authok = auth_userokay(name, style, "auth-xlock", pass) ||
+ auth_userokay(ROOT, style, "auth-xlock", pass);
+ *--pass = ':';
+ } else
+ authok = 0;
+ pass = buffer;
+ style = NULL;
+ if (authok || auth_userokay(name, style, "auth-xlock", pass) ||
+ auth_userokay(ROOT, style, "auth-xlock", pass)) {
+ done = True;
#if ( HAVE_SYSLOG_H && defined( USE_SYSLOG ))
- else
- syslog(SYSLOG_NOTICE, "%s: %s unlocked screen", ProgramName, ROOT);
+ syslog(SYSLOG_NOTICE, "%s: %s unlocked screen", ProgramName,
+ ROOT);
#endif
- }
- }
}
#if ( HAVE_FCNTL_H && (defined( USE_MULTIPLE_ROOT ) || defined( USE_MULTIPLE_USER )))
}
#endif
+ (void)setegid(rgid);
#else /* !BSD_AUTH */
@@ -1923,9 +1903,7 @@ get_multiple(struct passwd *pw)
perror("new");
exit(1);
}
-#ifdef BSD_AUTH
- pwll->pw_lc = login_getclass(pw->pw_class);
-#else
+#ifndef BSD_AUTH
if ((pwll->pw_passwd = (char *) strdup(pw->pw_passwd)) == NULL) {
perror("new");
exit(1);
@@ -1960,7 +1938,6 @@ set_multiple(int uid)
perror("new");
exit(1);
}
- pwll->pw_lc = login_getclass(pw->pw_class);
if ((pwll->next = new_pwlnode()) == (pwlptr) ENOMEM) {
perror("new");
@@ -2154,15 +2131,8 @@ void
initPasswd(void)
{
getUserName();
-#if !defined( ultrix ) && !defined( DCE_PASSWD ) && !defined( USE_PAM )
+#if !defined( ultrix ) && !defined( DCE_PASSWD ) && !defined( USE_PAM ) && !defined(BSD_AUTH)
if (!nolock && !inroot && !inwindow && grabmouse) {
-#ifdef BSD_AUTH
- struct passwd *pwd = getpwnam(user);
-
- lc = login_getclass(pwd->pw_class);
- if (allowroot && (pwd = getpwnam(ROOT)) != NULL)
- rlc = login_getclass(pwd->pw_class);
-#else /* !BSD_AUTH */
#ifdef USE_XLOCKRC
gpass();
#else
@@ -2180,7 +2150,6 @@ initPasswd(void)
#ifdef USE_XLOCK_GROUP
getCryptedXlockGroupPasswds();
#endif
-#endif /* !BSD_AUTH */
}
#endif /* !ultrix && !DCE_PASSWD && !USE_PAM */
#ifdef DCE_PASSWD
diff --git a/app/xlockmore/xlock/resource.c b/app/xlockmore/xlock/resource.c
index f1b12a9d1..ef737161d 100644
--- a/app/xlockmore/xlock/resource.c
+++ b/app/xlockmore/xlock/resource.c
@@ -140,7 +140,7 @@ static int descr();
# endif
#endif
#ifndef DEF_MODE
-# if 0
+# if 1
# define DEF_MODE "blank" /* May be safer */
# else
# define DEF_MODE "random" /* May be more interesting */
diff --git a/app/xlockmore/xlock/xlock.c b/app/xlockmore/xlock/xlock.c
index c89daaa59..662df4975 100644
--- a/app/xlockmore/xlock/xlock.c
+++ b/app/xlockmore/xlock/xlock.c
@@ -311,8 +311,8 @@ pre_merge_options(void)
/* Put on the PROGCLASS.background/foreground resources. */
if ((s = (char *) malloc(50)) != NULL) {
- (void) strcpy(s, progclass);
- (void) strcat(s, ".background: black");
+ (void) strlcpy(s, progclass, 50);
+ (void) strlcat(s, ".background: black", 50);
defaults[i++] = s;
}
@@ -723,6 +723,12 @@ Window parent;
Bool parentSet = False;
Display *dsp = (Display *) NULL; /* server display connection */
+gid_t rgid;
+#if defined( HAVE_SETEUID ) || defined( HAVE_SETREUID )
+uid_t euid;
+gid_t egid;
+#endif
+
extern char user[PASSLENGTH];
extern char hostname[MAXHOSTNAMELEN];
extern char *displayname;
@@ -3183,25 +3189,6 @@ main(int argc, char **argv)
#endif
-#if ultrix
- extern gid_t rgid;
-
-#else
- gid_t rgid;
-
-#endif
-#if defined( HAVE_SETEUID ) || defined( HAVE_SETREUID )
- uid_t euid;
-
-#if ultrix
- extern gid_t egid;
-
-#else
- gid_t egid;
-
-#endif
-#endif
-
#ifdef USE_MB
setlocale(LC_ALL, "");
#endif
diff --git a/app/xlockmore/xlock/xlock.h b/app/xlockmore/xlock/xlock.h
index 608afaaab..e5b0a2ac4 100644
--- a/app/xlockmore/xlock/xlock.h
+++ b/app/xlockmore/xlock/xlock.h
@@ -156,6 +156,9 @@ XrmOptionDescRec options[100];
#endif
#define inline
#endif
+#if defined(__OpenBSD__)
+#define HAVE_SYS_PARAM_H 1
+#endif
#ifdef AIXV3
#define HAVE_SYS_SELECT_H 1
#else
@@ -338,7 +341,7 @@ XrmOptionDescRec options[100];
#define FABSF(n) ((float)fabs((double)(n)))
#endif
-#if VMS
+#ifdef VMS
#include <unixlib.h>
#endif
#if 0
@@ -514,9 +517,6 @@ extern void finish(Display * display, Bool closeDisplay);
#define error xlock_error
#endif
extern void error(const char *buf);
-#ifndef DECLARED_GETENV
-extern char * getenv(const char *);
-#endif
#ifdef __cplusplus
}
#endif
diff --git a/app/xlockmore/xlock/xlock.man b/app/xlockmore/xlock/xlock.man
index b9f6c5887..669b6b74c 100644
--- a/app/xlockmore/xlock/xlock.man
+++ b/app/xlockmore/xlock/xlock.man
@@ -1287,7 +1287,7 @@ The
option sets the number of
.I seconds
before the screen needs a password to be unlocked. Good for use with
-an autolocking mechanism like xautolock(1).
+an autolocking mechanism like xidle(1).
.TP 5
.BI \-timeout \ seconds
The
@@ -2480,7 +2480,7 @@ the SETUP menus, under 'Network Parameters', and turn off TCP/IP access
control.
.br
.SH "SEE ALSO"
-X(1), Xlib Documentation.
+xidle(1), X(1), Xlib Documentation.
.sp
.SH AUTHOR
Maintained by: