text:
#ifndef __HID_H
#define __HID_H

/*
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *
 * Should you need to contact me, the author, you can do so either by
 * e-mail - mail your message to <vojtech@ucw.cz>, or by paper mail:
 * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic
 */

/*
 * USB HID (Human Interface Device) interface class code
 */

#define USB_INTERFACE_CLASS_HID		3

/*
 * USB HID interface subclass and protocol codes
 */

#define USB_INTERFACE_SUBCLASS_BOOT	1
#define USB_INTERFACE_PROTOCOL_KEYBOARD	1
#define USB_INTERFACE_PROTOCOL_MOUSE	2

/*
 * HID class requests
 */

#define HID_REQ_GET_REPORT		0x01
#define HID_REQ_GET_IDLE		0x02
#define HID_REQ_GET_PROTOCOL		0x03
#define HID_REQ_SET_REPORT		0x09
#define HID_REQ_SET_IDLE		0x0A
#define HID_REQ_SET_PROTOCOL		0x0B

/*
 * HID class descriptor types
 */

#define HID_DT_HID			(USB_TYPE_CLASS | 0x01)
#define HID_DT_REPORT			(USB_TYPE_CLASS | 0x02)
#define HID_DT_PHYSICAL			(USB_TYPE_CLASS | 0x03)

#define HID_MAX_DESCRIPTOR_SIZE		4096

#ifdef __KERNEL__

#include <linux/types.h>
#include <linux/slab.h>
#include <linux/list.h>
#include <linux/mod_devicetable.h> /* hid_device_id */
#include <linux/timer.h>
#include <linux/workqueue.h>
#include <linux/input.h>
#include <linux/semaphore.h>
#include <linux/power_supply.h>

/*
 * We parse each description item into this structure. Short items data
 * values are expanded to 32-bit signed int, long items contain a pointer
 * into the data area.
 */

struct hid_item {
	unsigned  format;
	__u8      size;
	__u8      type;
	__u8      tag;
	union {
	    __u8   u8;
	    __s8   s8;
	    __u16  u16;
	    __s16  s16;
	    __u32  u32;
	    __s32  s32;
	    __u8  *longdata;
	} data;
};

/*
 * HID report item format
 */

#define HID_ITEM_FORMAT_SHORT	0
#define HID_ITEM_FORMAT_LONG	1

/*
 * Special tag indicating long items
 */

#define HID_ITEM_TAG_LONG	15

/*
 * HID report descriptor item type (prefix bit 2,3)
 */

#define HID_ITEM_TYPE_MAIN		0
#define HID_ITEM_TYPE_GLOBAL		1
#define HID_ITEM_TYPE_LOCAL		2
#define HID_ITEM_TYPE_RESERVED		3

/*
 * HID report descriptor main item tags
 */

#define HID_MAIN_ITEM_TAG_INPUT			8
#define HID_MAIN_ITEM_TAG_OUTPUT		9
#define HID_MAIN_ITEM_TAG_FEATURE		11
#define HID_MAIN_ITEM_TAG_BEGIN_COLLECTION	10
#define HID_MAIN_ITEM_TAG_END_COLLECTION	12

/*
 * HID report descriptor main item contents
 */

#define HID_MAIN_ITEM_CONSTANT		0x001
#define HID_MAIN_ITEM_VARIABLE		0x002
#define HID_MAIN_ITEM_RELATIVE		0x004
#define HID_MAIN_ITEM_WRAP		0x008
#define HID_MAIN_ITEM_NONLINEAR		0x010
#define HID_MAIN_ITEM_NO_PREFERRED	0x020
#define HID_MAIN_ITEM_NULL_STATE	0x040
#define HID_MAIN_ITEM_VOLATILE		0x080
#define HID_MAIN_ITEM_BUFFERED_BYTE	0x100

/*
 * HID report descriptor collection item types
 */

#define HID_COLLECTION_PHYSICAL		0
#define HID_COLLECTION_APPLICATION	1
#define HID_COLLECTION_LOGICAL		2

/*
 * HID report descriptor global item tags
 */

#define HID_GLOBAL_ITEM_TAG_USAGE_PAGE		0
#define HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM	1
#define HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM	2
#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM	3
#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM	4
#define HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT	5
#define HID_GLOBAL_ITEM_TAG_UNIT		6
#define HID_GLOBAL_ITEM_TAG_REPORT_SIZE		7
#define HID_GLOBAL_ITEM_TAG_REPORT_ID		8
#define HID_GLOBAL_ITEM_TAG_REPORT_COUNT	9
#define HID_GLOBAL_ITEM_TAG_PUSH		10
#define HID_GLOBAL_ITEM_TAG_POP			11

/*
 * HID report descriptor local item tags
 */

#define HID_LOCAL_ITEM_TAG_USAGE		0
#define HID_LOCAL_ITEM_TAG_USAGE_MINIMUM	1
#define HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM	2
#define HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX	3
#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM	4
#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM	5
#define HID_LOCAL_ITEM_TAG_STRING_INDEX		7
#define HID_LOCAL_ITEM_TAG_STRING_MINIMUM	8
#define HID_LOCAL_ITEM_TAG_STRING_MAXIMUM	9
#define HID_LOCAL_ITEM_TAG_DELIMITER		10

/*
 * HID usage tables
 */

#define HID_USAGE_PAGE		0xffff0000

#define HID_UP_UNDEFINED	0x00000000
#define HID_UP_GENDESK		0x00010000
#define HID_UP_SIMULATION	0x00020000
#define HID_UP_GENDEVCTRLS	0x00060000
#define HID_UP_KEYBOARD		0x00070000
#define HID_UP_LED		0x00080000
#define HID_UP_BUTTON		0x00090000
#define HID_UP_ORDINAL		0x000a0000
#define HID_UP_CONSUMER		0x000c0000
#define HID_UP_DIGITIZER	0x000d0000
#define HID_UP_PID		0x000f0000
#define HID_UP_HPVENDOR         0xff7f0000
#define HID_UP_HPVENDOR2        0xff010000
#define HID_UP_MSVENDOR		0xff000000
#define HID_UP_CUSTOM		0x00ff0000
#define HID_UP_LOGIVENDOR	0xffbc0000

#define HID_USAGE		0x0000ffff

#define HID_GD_POINTER		0x00010001
#define HID_GD_MOUSE		0x00010002
#define HID_GD_JOYSTICK		0x00010004
#define HID_GD_GAMEPAD		0x00010005
#define HID_GD_KEYBOARD		0x00010006
#define HID_GD_KEYPAD		0x00010007
#define HID_GD_MULTIAXIS	0x00010008
#define HID_GD_X		0x00010030
#define HID_GD_Y		0x00010031
#define HID_GD_Z		0x00010032
#define HID_GD_RX		0x00010033
#define HID_GD_RY		0x00010034
#define HID_GD_RZ		0x00010035
#define HID_GD_SLIDER		0x00010036
#define HID_GD_DIAL		0x00010037
#define HID_GD_WHEEL		0x00010038
#define HID_GD_HATSWITCH	0x00010039
#define HID_GD_BUFFER		0x0001003a
#define HID_GD_BYTECOUNT	0x0001003b
#define HID_GD_MOTION		0x0001003c
#define HID_GD_START		0x0001003d
#define HID_GD_SELECT		0x0001003e
#define HID_GD_VX		0x00010040
#define HID_GD_VY		0x00010041
#define HID_GD_VZ		0x00010042
#define HID_GD_VBRX		0x00010043
#define HID_GD_VBRY		0x00010044
#define HID_GD_VBRZ		0x00010045
#define HID_GD_VNO		0x00010046
#define HID_GD_FEATURE		0x00010047
#define HID_GD_UP		0x00010090
#define HID_GD_DOWN		0x00010091
#define HID_GD_RIGHT		0x00010092
#define HID_GD_LEFT		0x00010093

#define HID_DC_BATTERYSTRENGTH	0x00060020

#define HID_DG_DIGITIZER	0x000d0001
#define HID_DG_PEN		0x000d0002
#define HID_DG_LIGHTPEN		0x000d0003
#define HID_DG_TOUCHSCREEN	0x000d0004
#define HID_DG_TOUCHPAD		0x000d0005
#define HID_DG_STYLUS		0x000d0020
#define HID_DG_PUCK		0x000d0021
#define HID_DG_FINGER		0x000d0022
#define HID_DG_TIPPRESSURE	0x000d0030
#define HID_DG_BARRELPRESSURE	0x000d0031
#define HID_DG_INRANGE		0x000d0032
#define HID_DG_TOUCH		0x000d0033
#define HID_DG_UNTOUCH		0x000d0034
#define HID_DG_TAP		0x000d0035
#define HID_DG_TABLETFUNCTIONKEY	0x000d0039
#define HID_DG_PROGRAMCHANGEKEY	0x000d003a
#define HID_DG_INVERT		0x000d003c
#define HID_DG_TIPSWITCH	0x000d0042
#define HID_DG_TIPSWITCH2	0x000d0043
#define HID_DG_BARRELSWITCH	0x000d0044
#define HID_DG_ERASER		0x000d0045
#define HID_DG_TABLETPICK	0x000d0046
/*
 * as of May 20, 2009 the usages below are not yet in the official USB spec
 * but are being pushed by Microsft as described in their paper "Digitizer
 * Drivers for Windows Touch and Pen-Based Computers"
 */
#define HID_DG_CONFIDENCE	0x000d0047
#define HID_DG_WIDTH		0x000d0048
#define HID_DG_HEIGHT		0x000d0049
#define HID_DG_CONTACTID	0x000d0051
#define HID_DG_INPUTMODE	0x000d0052
#define HID_DG_DEVICEINDEX	0x000d0053
#define HID_DG_CONTACTCOUNT	0x000d0054
#define HID_DG_CONTACTMAX	0x000d0055

/*
 * HID report types --- Ouch! HID spec says 1 2 3!
 */

#define HID_INPUT_REPORT	0
#define HID_OUTPUT_REPORT	1
#define HID_FEATURE_REPORT	2

/*
 * HID connect requests
 */

#define HID_CONNECT_HIDINPUT		0x01
#define HID_CONNECT_HIDINPUT_FORCE	0x02
#define HID_CONNECT_HIDRAW		0x04
#define HID_CONNECT_HIDDEV		0x08
#define HID_CONNECT_HIDDEV_FORCE	0x10
#define HID_CONNECT_FF			0x20
#define HID_CONNECT_DEFAULT	(HID_CONNECT_HIDINPUT|HID_CONNECT_HIDRAW| \
		HID_CONNECT_HIDDEV|HID_CONNECT_FF)

/*
 * HID device quirks.
 */

/*
 * Increase this if you need to configure more HID quirks at module load time
 */
#define MAX_USBHID_BOOT_QUIRKS 4

#define HID_QUIRK_INVERT			0x00000001
#define HID_QUIRK_NOTOUCH			0x00000002
#define HID_QUIRK_IGNORE			0x00000004
#define HID_QUIRK_NOGET				0x00000008
#define HID_QUIRK_HIDDEV_FORCE			0x00000010
#define HID_QUIRK_BADPAD			0x00000020
#define HID_QUIRK_MULTI_INPUT			0x00000040
#define HID_QUIRK_HIDINPUT_FORCE		0x00000080
#define HID_QUIRK_SKIP_OUTPUT_REPORTS		0x00010000
#define HID_QUIRK_FULLSPEED_INTERVAL		0x10000000
#define HID_QUIRK_NO_INIT_REPORTS		0x20000000
#define HID_QUIRK_NO_IGNORE			0x40000000
#define HID_QUIRK_NO_INPUT_SYNC			0x80000000

/*
 * HID device groups
 */
#define HID_GROUP_GENERIC			0x0001
#define HID_GROUP_MULTITOUCH			0x0002

/*
 * This is the global environment of the parser. This information is
 * persistent for main-items. The global environment can be saved and
 * restored with PUSH/POP statements.
 */

struct hid_global {
	unsigned usage_page;
	__s32    logical_minimum;
	__s32    logical_maximum;
	__s32    physical_minimum;
	__s32    physical_maximum;
	__s32    unit_exponent;
	unsigned unit;
	unsigned report_id;
	unsigned report_size;
	unsigned report_count;
};

/*
 * This is the local environment. It is persistent up the next main-item.
 */

#define HID_MAX_USAGES			12288
#define HID_DEFAULT_NUM_COLLECTIONS	16

struct hid_local {
	unsigned usage[HID_MAX_USAGES]; /* usage array */
	unsigned collection_index[HID_MAX_USAGES]; /* collection index array */
	unsigned usage_index;
	unsigned usage_minimum;
	unsigned delimiter_depth;
	unsigned delimiter_branch;
};

/*
 * This is the collection stack. We climb up the stack to determine
 * application and function of each field.
 */

struct hid_collection {
	unsigned type;
	unsigned usage;
	unsigned level;
};

struct hid_usage {
	unsigned  hid;			/* hid usage code */
	unsigned  collection_index;	/* index into collection array */
	/* hidinput data */
	__u16     code;			/* input driver code */
	__u8      type;			/* input driver type */
	__s8	  hat_min;		/* hat switch fun */
	__s8	  hat_max;		/* ditto */
	__s8	  hat_dir;		/* ditto */
};

struct hid_input;

struct hid_field {
	unsigned  physical;		/* physical usage for this field */
	unsigned  logical;		/* logical usage for this field */
	unsigned  application;		/* application usage for this field */
	struct hid_usage *usage;	/* usage table for this function */
	unsigned  maxusage;		/* maximum usage index */
	unsigned  flags;		/* main-item flags (i.e. volatile,array,constant) */
	unsigned  report_offset;	/* bit offset in the report */
	unsigned  report_size;		/* size of this field in the report */
	unsigned  report_count;		/* number of this field in the report */
	unsigned  report_type;		/* (input,output,feature) */
	__s32    *value;		/* last known value(s) */
	__s32     logical_minimum;
	__s32     logical_maximum;
	__s32     physical_minimum;
	__s32     physical_maximum;
	__s32     unit_exponent;
	unsigned  unit;
	struct hid_report *report;	/* associated report */
	unsigned index;			/* index into report->field[] */
	/* hidinput data */
	struct hid_input *hidinput;	/* associated input structure */
	__u16 dpad;			/* dpad input code */
};

#define HID_MAX_FIELDS 128

struct hid_report {
	struct list_head list;
	unsigned id;					/* id of this report */
	unsigned type;					/* report type */
	struct hid_field *field[HID_MAX_FIELDS];	/* fields of the report */
	unsigned maxfield;				/* maximum valid field index */
	unsigned size;					/* size of the report (bits) */
	struct hid_device *device;			/* associated device */
};

struct hid_report_enum {
	unsigned numbered;
	struct list_head report_list;
	struct hid_report *report_id_hash[256];
};

#define HID_REPORT_TYPES 3

#define HID_MIN_BUFFER_SIZE	64		/* make sure there is at least a packet size of space */
#define HID_MAX_BUFFER_SIZE	4096		/* 4kb */
#define HID_CONTROL_FIFO_SIZE	256		/* to init devices with >100 reports */
#define HID_OUTPUT_FIFO_SIZE	64

struct hid_control_fifo {
	unsigned char dir;
	struct hid_report *report;
	char *raw_report;
};

struct hid_output_fifo {
	struct hid_report *report;
	char *raw_report;
};

#define HID_CLAIMED_INPUT	1
#define HID_CLAIMED_HIDDEV	2
#define HID_CLAIMED_HIDRAW	4

#define HID_STAT_ADDED		1
#define HID_STAT_PARSED		2

struct hid_input {
	struct list_head list;
	struct hid_report *report;
	struct input_dev *input;
};

enum hid_type {
	HID_TYPE_OTHER = 0,
	HID_TYPE_USBMOUSE,
	HID_TYPE_USBNONE
};

struct hid_driver;
struct hid_ll_driver;

struct hid_device {							/* device report descriptor */
	__u8 *dev_rdesc;
	unsigned dev_rsize;
	__u8 *rdesc;
	unsigned rsize;
	struct hid_collection *collection;				/* List of HID collections */
	unsigned collection_size;					/* Number of allocated hid_collections */
	unsigned maxcollection;						/* Number of parsed collections */
	unsigned maxapplication;					/* Number of applications */
	__u16 bus;							/* BUS ID */
	__u16 group;							/* Report group */
	__u32 vendor;							/* Vendor ID */
	__u32 product;							/* Product ID */
	__u32 version;							/* HID version */
	enum hid_type type;						/* device type (mouse, kbd, ...) */
	unsigned country;						/* HID country */
	struct hid_report_enum report_enum[HID_REPORT_TYPES];

	struct semaphore driver_lock;					/* protects the current driver */
	struct device dev;						/* device */
	struct hid_driver *driver;
	struct hid_ll_driver *ll_driver;

#ifdef CONFIG_HID_BATTERY_STRENGTH
	/*
	 * Power supply information for HID devices which report
	 * battery strength. power_supply is registered iff
	 * battery.name is non-NULL.
	 */
	struct power_supply battery;
	__s32 battery_min;
	__s32 battery_max;
	__s32 battery_report_type;
	__s32 battery_report_id;
#endif

	unsigned int status;						/* see STAT flags above */
	unsigned claimed;						/* Claimed by hidinput, hiddev? */
	unsigned quirks;						/* Various quirks the device can pull on us */

	struct list_head inputs;					/* The list of inputs */
	void *hiddev;							/* The hiddev structure */
	void *hidraw;
	int minor;							/* Hiddev minor number */

	int open;							/* is the device open by anyone? */
	char name[128];							/* Device name */
	char phys[64];							/* Device physical location */
	char uniq[64];							/* Device unique identifier (serial #) */

	void *driver_data;

	/* temporary hid_ff handling (until moved to the drivers) */
	int (*ff_init)(struct hid_device *);

	/* hiddev event handler */
	int (*hiddev_connect)(struct hid_device *, unsigned int);
	void (*hiddev_disconnect)(struct hid_device *);
	void (*hiddev_hid_event) (struct hid_device *, struct hid_field *field,
				  struct hid_usage *, __s32);
	void (*hiddev_report_event) (struct hid_device *, struct hid_report *);

	/* handler for raw input (Get_Report) data, used by hidraw */
	int (*hid_get_raw_report) (struct hid_device *, unsigned char, __u8 *, size_t, unsigned char);

	/* handler for raw output data, used by hidraw */
	int (*hid_output_raw_report) (struct hid_device *, __u8 *, size_t, unsigned char);

	/* debugging support via debugfs */
	unsigned short debug;
	struct dentry *debug_dir;
	struct dentry *debug_rdesc;
	struct dentry *debug_events;
	struct list_head debug_list;
	wait_queue_head_t debug_wait;
};

static inline void *hid_get_drvdata(struct hid_device *hdev)
{
	return dev_get_drvdata(&hdev->dev);
}

static inline void hid_set_drvdata(struct hid_device *hdev, void *data)
{
	dev_set_drvdata(&hdev->dev, data);
}

#define HID_GLOBAL_STACK_SIZE 4
#define HID_COLLECTION_STACK_SIZE 4

struct hid_parser {
	struct hid_global     global;
	struct hid_global     global_stack[HID_GLOBAL_STACK_SIZE];
	unsigned              global_stack_ptr;
	struct hid_local      local;
	unsigned              collection_stack[HID_COLLECTION_STACK_SIZE];
	unsigned              collection_stack_ptr;
	struct hid_device    *device;
};

struct hid_class_descriptor {
	__u8  bDescriptorType;
	__le16 wDescriptorLength;
} __attribute__ ((packed));

struct hid_descriptor {
	__u8  bLength;
	__u8  bDescriptorType;
	__le16 bcdHID;
	__u8  bCountryCode;
	__u8  bNumDescriptors;

	struct hid_class_descriptor desc[1];
} __attribute__ ((packed));

#define HID_DEVICE(b, g, ven, prod)					\
	.bus = (b), .group = (g), .vendor = (ven), .product = (prod)
#define HID_USB_DEVICE(ven, prod)				\
	.bus = BUS_USB, .vendor = (ven), .product = (prod)
#define HID_BLUETOOTH_DEVICE(ven, prod)					\
	.bus = BUS_BLUETOOTH, .vendor = (ven), .product = (prod)

#define HID_REPORT_ID(rep) \
	.report_type = (rep)
#define HID_USAGE_ID(uhid, utype, ucode) \
	.usage_hid = (uhid), .usage_type = (utype), .usage_code = (ucode)
/* we don't want to catch types and codes equal to 0 */
#define HID_TERMINATOR		(HID_ANY_ID - 1)

struct hid_report_id {
	__u32 report_type;
};
struct hid_usage_id {
	__u32 usage_hid;
	__u32 usage_type;
	__u32 usage_code;
};

/**
 * struct hid_driver
 * @name: driver name (e.g. "Footech_bar-wheel")
 * @id_table: which devices is this driver for (must be non-NULL for probe
 * 	      to be called)
 * @dyn_list: list of dynamically added device ids
 * @dyn_lock: lock protecting @dyn_list
 * @probe: new device inserted
 * @remove: device removed (NULL if not a hot-plug capable driver)
 * @report_table: on which reports to call raw_event (NULL means all)
 * @raw_event: if report in report_table, this hook is called (NULL means nop)
 * @usage_table: on which events to call event (NULL means all)
 * @event: if usage in usage_table, this hook is called (NULL means nop)
 * @report_fixup: called before report descriptor parsing (NULL means nop)
 * @input_mapping: invoked on input registering before mapping an usage
 * @input_mapped: invoked on input registering after mapping an usage
 * @feature_mapping: invoked on feature registering
 * @suspend: invoked on suspend (NULL means nop)
 * @resume: invoked on resume if device was not reset (NULL means nop)
 * @reset_resume: invoked on resume if device was reset (NULL means nop)
 *
 * raw_event and event should return 0 on no action performed, 1 when no
 * further processing should be done and negative on error
 *
 * input_mapping shall return a negative value to completely ignore this usage
 * (e.g. doubled or invalid usage), zero to continue with parsing of this
 * usage by generic code (no special handling needed) or positive to skip
 * generic parsing (needed special handling which was done in the hook already)
 * input_mapped shall return negative to inform the layer that this usage
 * should not be considered for further processing or zero to notify that
 * no processing was performed and should be done in a generic manner
 * Both these functions may be NULL which means the same behavior as returning
 * zero from them.
 */
struct hid_driver {
	char *name;
	const struct hid_device_id *id_table;

	struct list_head dyn_list;
	spinlock_t dyn_lock;

	int (*probe)(struct hid_device *dev, const struct hid_device_id *id);
	void (*remove)(struct hid_device *dev);

	const struct hid_report_id *report_table;
	int (*raw_event)(struct hid_device *hdev, struct hid_report *report,
			u8 *data, int size);
	const struct hid_usage_id *usage_table;
	int (*event)(struct hid_device *hdev, struct hid_field *field,
			struct hid_usage *usage, __s32 value);

	__u8 *(*report_fixup)(struct hid_device *hdev, __u8 *buf,
			unsigned int *size);

	int (*input_mapping)(struct hid_device *hdev,
			struct hid_input *hidinput, struct hid_field *field,
			struct hid_usage *usage, unsigned long **bit, int *max);
	int (*input_mapped)(struct hid_device *hdev,
			struct hid_input *hidinput, struct hid_field *field,
			struct hid_usage *usage, unsigned long **bit, int *max);
	void (*feature_mapping)(struct hid_device *hdev,
			struct hid_field *field,
			struct hid_usage *usage);
#ifdef CONFIG_PM
	int (*suspend)(struct hid_device *hdev, pm_message_t message);
	int (*resume)(struct hid_device *hdev);
	int (*reset_resume)(struct hid_device *hdev);
#endif
/* private: */
	struct device_driver driver;
};

/**
 * hid_ll_driver - low level driver callbacks
 * @start: called on probe to start the device
 * @stop: called on remove
 * @open: called by input layer on open
 * @close: called by input layer on close
 * @hidinput_input_event: event input event (e.g. ff or leds)
 * @parse: this method is called only once to parse the device data,
 *	   shouldn't allocate anything to not leak memory
 */
struct hid_ll_driver {
	int (*start)(struct hid_device *hdev);
	void (*stop)(struct hid_device *hdev);

	int (*open)(struct hid_device *hdev);
	void (*close)(struct hid_device *hdev);

	int (*power)(struct hid_device *hdev, int level);

	int (*hidinput_input_event) (struct input_dev *idev, unsigned int type,
			unsigned int code, int value);

	int (*parse)(struct hid_device *hdev);
};

#define	PM_HINT_FULLON	1<<5
#define PM_HINT_NORMAL	1<<1

/* Applications from HID Usage Tables 4/8/99 Version 1.1 */
/* We ignore a few input applications that are not widely used */
#define IS_INPUT_APPLICATION(a) (((a >= 0x00010000) && (a <= 0x00010008)) || (a == 0x00010080) || (a == 0x000c0001) || ((a >= 0x000d0002) && (a <= 0x000d0006)))

/* HID core API */

extern int hid_debug;

extern int hid_add_device(struct hid_device *);
extern void hid_destroy_device(struct hid_device *);

extern int __must_check __hid_register_driver(struct hid_driver *,
		struct module *, const char *mod_name);

/* use a define to avoid include chaining to get THIS_MODULE & friends */
#define hid_register_driver(driver) \
	__hid_register_driver(driver, THIS_MODULE, KBUILD_MODNAME)

extern void hid_unregister_driver(struct hid_driver *);

extern void hidinput_hid_event(struct hid_device *, struct hid_field *, struct hid_usage *, __s32);
extern void hidinput_report_event(struct hid_device *hid, struct hid_report *report);
extern int hidinput_connect(struct hid_device *hid, unsigned int force);
extern void hidinput_disconnect(struct hid_device *);

int hid_set_field(struct hid_field *, unsigned, __s32);
int hid_input_report(struct hid_device *, int type, u8 *, int, int);
int hidinput_find_field(struct hid_device *hid, unsigned int type, unsigned int code, struct hid_field **field);
struct hid_field *hidinput_get_led_field(struct hid_device *hid);
unsigned int hidinput_count_leds(struct hid_device *hid);
void hid_output_report(struct hid_report *report, __u8 *data);
struct hid_device *hid_allocate_device(void);
struct hid_report *hid_register_report(struct hid_device *device, unsigned type, unsigned id);
int hid_parse_report(struct hid_device *hid, __u8 *start, unsigned size);
int hid_open_report(struct hid_device *device);
int hid_check_keys_pressed(struct hid_device *hid);
int hid_connect(struct hid_device *hid, unsigned int connect_mask);
void hid_disconnect(struct hid_device *hid);
const struct hid_device_id *hid_match_id(struct hid_device *hdev,
					 const struct hid_device_id *id);

/**
 * hid_map_usage - map usage input bits
 *
 * @hidinput: hidinput which we are interested in
 * @usage: usage to fill in
 * @bit: pointer to input->{}bit (out parameter)
 * @max: maximal valid usage->code to consider later (out parameter)
 * @type: input event type (EV_KEY, EV_REL, ...)
 * @c: code which corresponds to this usage and type
 */
static inline void hid_map_usage(struct hid_input *hidinput,
		struct hid_usage *usage, unsigned long **bit, int *max,
		__u8 type, __u16 c)
{
	struct input_dev *input = hidinput->input;

	usage->type = type;
	usage->code = c;

	switch (type) {
	case EV_ABS:
		*bit = input->absbit;
		*max = ABS_MAX;
		break;
	case EV_REL:
		*bit = input->relbit;
		*max = REL_MAX;
		break;
	case EV_KEY:
		*bit = input->keybit;
		*max = KEY_MAX;
		break;
	case EV_LED:
		*bit = input->ledbit;
		*max = LED_MAX;
		break;
	}
}

/**
 * hid_map_usage_clear - map usage input bits and clear the input bit
 *
 * The same as hid_map_usage, except the @c bit is also cleared in supported
 * bits (@bit).
 */
static inline void hid_map_usage_clear(struct hid_input *hidinput,
		struct hid_usage *usage, unsigned long **bit, int *max,
		__u8 type, __u16 c)
{
	hid_map_usage(hidinput, usage, bit, max, type, c);
	clear_bit(c, *bit);
}

/**
 * hid_parse - parse HW reports
 *
 * @hdev: hid device
 *
 * Call this from probe after you set up the device (if needed). Your
 * report_fixup will be called (if non-NULL) after reading raw report from
 * device before passing it to hid layer for real parsing.
 */
static inline int __must_check hid_parse(struct hid_device *hdev)
{
	return hid_open_report(hdev);
}

/**
 * hid_hw_start - start underlaying HW
 *
 * @hdev: hid device
 * @connect_mask: which outputs to connect, see HID_CONNECT_*
 *
 * Call this in probe function *after* hid_parse. This will setup HW buffers
 * and start the device (if not deffered to device open). hid_hw_stop must be
 * called if this was successful.
 */
static inline int __must_check hid_hw_start(struct hid_device *hdev,
		unsigned int connect_mask)
{
	int ret = hdev->ll_driver->start(hdev);
	if (ret || !connect_mask)
		return ret;
	ret = hid_connect(hdev, connect_mask);
	if (ret)
		hdev->ll_driver->stop(hdev);
	return ret;
}

/**
 * hid_hw_stop - stop underlaying HW
 *
 * @hdev: hid device
 *
 * This is usually called from remove function or from probe when something
 * failed and hid_hw_start was called already.
 */
static inline void hid_hw_stop(struct hid_device *hdev)
{
	hid_disconnect(hdev);
	hdev->ll_driver->stop(hdev);
}

/**
 * hid_hw_open - signal underlaying HW to start delivering events
 *
 * @hdev: hid device
 *
 * Tell underlying HW to start delivering events from the device.
 * This function should be called sometime after successful call
 * to hid_hiw_start().
 */
static inline int __must_check hid_hw_open(struct hid_device *hdev)
{
	return hdev->ll_driver->open(hdev);
}

/**
 * hid_hw_close - signal underlaying HW to stop delivering events
 *
 * @hdev: hid device
 *
 * This function indicates that we are not interested in the events
 * from this device anymore. Delivery of events may or may not stop,
 * depending on the number of users still outstanding.
 */
static inline void hid_hw_close(struct hid_device *hdev)
{
	hdev->ll_driver->close(hdev);
}

/**
 * hid_hw_power - requests underlying HW to go into given power mode
 *
 * @hdev: hid device
 * @level: requested power level (one of %PM_HINT_* defines)
 *
 * This function requests underlying hardware to enter requested power
 * mode.
 */

static inline int hid_hw_power(struct hid_device *hdev, int level)
{
	return hdev->ll_driver->power ? hdev->ll_driver->power(hdev, level) : 0;
}

int hid_report_raw_event(struct hid_device *hid, int type, u8 *data, int size,
		int interrupt);

extern int hid_generic_init(void);
extern void hid_generic_exit(void);

/* HID quirks API */
u32 usbhid_lookup_quirk(const u16 idVendor, const u16 idProduct);
int usbhid_quirks_init(char **quirks_param);
void usbhid_quirks_exit(void);
void usbhid_set_leds(struct hid_device *hid);

#ifdef CONFIG_HID_PID
int hid_pidff_init(struct hid_device *hid);
#else
#define hid_pidff_init NULL
#endif

#define dbg_hid(format, arg...)						\
do {									\
	if (hid_debug)							\
		printk(KERN_DEBUG "%s: " format, __FILE__, ##arg);	\
} while (0)

#define hid_printk(level, hid, fmt, arg...)		\
	dev_printk(level, &(hid)->dev, fmt, ##arg)
#define hid_emerg(hid, fmt, arg...)			\
	dev_emerg(&(hid)->dev, fmt, ##arg)
#define hid_crit(hid, fmt, arg...)			\
	dev_crit(&(hid)->dev, fmt, ##arg)
#define hid_alert(hid, fmt, arg...)			\
	dev_alert(&(hid)->dev, fmt, ##arg)
#define hid_err(hid, fmt, arg...)			\
	dev_err(&(hid)->dev, fmt, ##arg)
#define hid_notice(hid, fmt, arg...)			\
	dev_notice(&(hid)->dev, fmt, ##arg)
#define hid_warn(hid, fmt, arg...)			\
	dev_warn(&(hid)->dev, fmt, ##arg)
#define hid_info(hid, fmt, arg...)			\
	dev_info(&(hid)->dev, fmt, ##arg)
#define hid_dbg(hid, fmt, arg...)			\
	dev_dbg(&(hid)->dev, fmt, ##arg)

#endif /* __KERNEL__ */

#endif

redpajama_set_name: RedPajamaGithub


Business Articles From AMAZINES.COM | ML Go!
There are seven main cities in Baja California Sur that provide wonderful tourism. A brand new yr brings new goals and new challenges and for many of us, which means new travel plans. My title is Avril Betts, I've over 35 years expertise in all points of Travel and Tourism. Both the organisations surveyed around 2,000 individuals and located that 33% of British snow sports activities practitioners had not learn the small print of their travel insurance coverage and nonetheless went on their Snowboarding trip.
As a last resort as your physician for a prescription medicine to help ensure chances are you'll get via the travel course of so you may take pleasure in your holidays. Your trip journeys may be tax write offs for those who use it additionally to refer travel to others. Trump's Friday directive put a one hundred twenty-day maintain on allowing refugees into the nation, an indefinite ban on refugees from Syria and a 90-day bar on citizens from Iran, Iraq, Libya, Somalia, Sudan, Syria and Yemen.
In conclusion, I am not saying you need these particular fashions (music headphones & moveable travel speakers). The Norwegian Star is its most luxurious ship that makes seasonal alternate on journeys to Alaska through the summer season and to the Mexican Riviera during winter season. The app additionally features and critiques by the opposite travelers about all these places.
A vital tip before you go on vacation is to prepare acceptable and correct travel documents. It's always beneficial to research the climate of the vacation spot when organizing your travel wardrobe. Is leading travel agency in India's wildlife with Shining Dudhwa Nationwide Park wildlife. You move from barely having the ability to arise as you travel barely downhill to with the ability to turn and, ultimately, cease.
Since traveling by cruise ship is extra widespread than ever before, because of its affordability, you can not solely go to these sunny destinations but additionally to extra uncommon ports like Hong Kong, Alaska, Norway and the Amazon River. In Baghdad, influential Shi'ite cleric Moqtada al-Sadr stated American nationals ought to go away Iraq, in retaliation for the travel curbs.


Elswick House is a very busy Nursery. There are always a number of activities going on. The Craft Room has a permanent sand pit and the lid is frequently used for playdough and foam. Sometimes it is used as a water trough. Painting, cutting, sticking and a wide range of craft materials, from glorious glitter to regal peacock feathers, are employed to produce the wonderful wall displays, not to mention the pictures to take home.
Cooking is a favourite pastime, making bread, cakes, biscuits, fruit salad and pizza; also a very tasty 'stone soup'. Storytime and singing are perennial favourites and, when the weather is good, these can take place in the garden. Keeping active is encouraged with a range of balls, skittles, bean bags and hoops to develop hand eye co-ordination and 'taking turns'.
We do regular 'Keep-Fit' session with music. Members of staff alternate this with action stories, where the children take the parts. A great favourite is "Where The Wild Things Are" which has infinite potential for stomping! Role play is one of the children's favourite activities, especially when it extends into the garden, using the Wendy House, The Den, the Tree House or the Bridge.
Visits and visitors to Elswick House always add special interest. Once a week we have French lessons with an assortment of songs, games and toys and we also have weekly music and dance sessions with Mari-V, who provides music, songs and action games. Occasionally we are visited by the Guide Dogs for the BlindOnce a year - usually at Linden's birthday - we have a visit from The Animal Man, who brings in an interesting assortment of friends - some wriggly and slithery, others furry or feathered.
Local visits are particularly important to give the children a knowledge of their locality. We go on lots of local walks into the village, to the canal, to local farms to see the new-born lambs and to go strawberry picking and into the surrounding countryside for muddy wellie walks. We regularly visit a private estate, which allows us access to their Bluebell Woods and to go pond dipping. The Tractor 'n Trailer ride round the village and the local Fisheries is a great favourite.
We organise coach trips to theatres in Birmingham, Stafford, Warwick and Stratford – our last visit was to 'We're going on a Bear Hunt' at Warwick Arts Theatre. Parents are always welcome to join their children on these visits. More recently however we have enjoyed several local productions at the Garrick Theatre in Lichfield.


text:
Date of Incident: February 07, 2021
Institution(s):Various
Region & Country:Southern Asia | Bangladesh
On February 7, 2021, police attacked students with batons during a protest over university policies.
Students from various universities gathered at an intersection in Dhaka under the name of "General Students of Polytechnic" to raise a four-point charter of demands, including a 50% waiver of tuition fees during COVID-19 and an increase in student enrollment at technical universities. Police reportedly beat students with batons and arrested five students to break up the protest.
Scholars at Risk is concerned about the use of force in response to a student protest — conduct that is expressly protected by international human rights instruments, including the Universal Declaration of Human Rights and the International Covenant on Civil and Political Rights, to which Bangladesh is a party. State authorities must refrain from the use of force against nonviolent student protesters. In addition to the harm to the immediate victims, violence in response to peaceful student expression undermines academic freedom and democratic society generally.
*SAR identified this incident in data made publicly available by the Armed Conflict Location & Event Data Project (ACLED).
https://www.newagebd.net/article/129750/police-arrogance-exceeds-that-of-jl-bcl-nur
https://www.jugantor.com/campus/391367/পলিটেকনিক-শিক্ষার্থীদের-শাহবাগে-বিক্ষোভ-আটক-৫
https://www.banglatribune.com/665746/পলিটেকনিক-শিক্ষার্থীদের-আন্দোলনে-পুলিশের-বাধা
https://www.somoyerkonthosor.com/2021/02/07/470934.htm

redpajama_set_name: RedPajamaCommonCrawl


If your spouse died in 2017, you can use married filing jointly as your filing status for 2017 if you otherwise qualify to use that status. The year of death is the last year for which you can file jointly with your deceased spouse. See Married Filing Jointly, earlier.
You may be eligible to use qualifying widow(er) as your filing status for 2 years following the year your spouse died. For example, if your spouse died in 2016, and you haven't remarried, you may be able to use this filing status for 2017 and 2018.
This filing status entitles you to use joint return tax rates and the highest standard deduction amount (if you don't itemize deductions). It doesn't entitle you to file a joint return.
Eligibility rules. You are eligible to file your 2017 return as a qualifying widow(er) if you meet all of the following tests.
You were entitled to file a joint return with your spouse for the year your spouse died. It doesn't matter whether you actually filed a joint return.
Your spouse died in 2015 or 2016 and you didn't remarry before the end of 2017.
You could be claimed as a dependent on someone else's return. If the child isn't claimed as your dependent on Form 1040 or Form 1040A, line 6c, enter the child's name on line 4 of the form you are filing. If you don't enter the name, it will take us longer to process your return.
This child lived in your home all year, except for temporary absences. See Temporary absences, earlier, under Head of Household. There are also exceptions for a child who was born or died during the year, and for a kidnapped child.
You paid more than half the cost of keeping up a home for the year. See Keeping Up a Home, earlier, under Head of Household.
After the two years, you may be able to file as Head of Household, if you qualify.


I've been banging on about how amazing Franck Khalfoun's Maniac remake is for ages now, and while the trailer gave a good idea of just how stunning this horror really is, you can't really get a proper feel for the film until you actually watch a proper clip. Thankfully my prayers were answered a few days ago, and I could happily share the first six minutes of the film with you, and I am positive if you saw it, you would have been amazed and totally hooked on seeing this classic.
Today something even better has come along: two more clips from the film have been published on-line thanks to Warner Brothers, and I am bursting with excitement for you to see them. The first clip might show a little too much, so approach with caution but it goes a long way to prove just how incredibly amazing POV camera work really is. Dazzling and utterly disturbing don't even come close to explaining quite how brilliant this way of filming is. The violence is incredibly well created, and painfully realistic.
The second clip is of one of the more iconic scenes in the film, where we actually get to see Elijah Wood stand infront of a car and recreate the famous shot used on the cover of the original film. When I saw this at FrightFest there were cheers from the crowd, loud cheers, at this point. The clip also features the only moment in the film where the camera pans back to not be POV and actually hover over Wood as he has his vicious way with his victim. What I find really chilling in this scene is the way the killers eyes, our eyes, look up at the block of flats as we are about to slaughter an innocent victim.
Both clips are incredibly NSFW, and not actually good for those who do not like the site of blood, or struggle with realistic violence. Seeing Wood stabbing away at his victim is chilling and utterly shocking, and is guaranteed to leave you shaken, but it is a truly amazing moment from one of the finest horror films I have seen in years!
Directed by Franck Khalfoun, Maniac is written by Alexandre Aja and Gregory Levasseur. Elijah Woodd stars as the killer Frank, and the rest of the cast includes Nora Arnezeder, America Olivo, Liane Balaban and Sammi Rotibi.
Maniac arrives in UK cinemas 15th March 2013.
Just when the streets seemed safe, a serial killer with a fetish for scalps is back and on the hunt.
A 21st century Jack the Ripper set in present-day LA, MANIAC is a re-boot of the cult film considered by many to be the most suspenseful slasher movie ever made – an intimate, visually daring, psychologically complex and profoundly horrific trip into the downward spiralling nightmare of a killer and his victims.


text:
[FOUNTAIN]A coat of equal colors
Durumagi, the traditional Korean coat, is a garment symbolizing equality. It is worn by men and women, young and old, from palace to shack. Men's durumagi are formal dress, while women's are winter coats. There are also five-color durumagi for children.
The durimagi, however, was not loved by many at first. During the Joseon period, the high-class yangban wore dopo or jungchimak, which had lengthy sleeves, instead of durumagi. Commoners were not allowed to wear dopo or jungchimak, thus their outer layers were often durumagi. The dress code, however, was broken in the late Joseon era. Dopo became fashionable across all classes ― even the lowly wore them.
As empty formality and vanity went too far in fashion, King Gojong initiated dress code reform in 1884. He banned lengthy sleeves and yangban were forced to wear durumagi, with no slits.
People felt more comfortable in these clothes and durumagi became the favored formal dress. With such changes, the symbol of social hierarchy in clothing faded, encouraging the ending of Korea's social hierarchy.
The appearance of vests in Korean fashion also contributed to the wide spread of durumagi. Yangbans used to put their belongings into pockets inside the sleeves of their dopo. As vests widely spread, their pockets played more effective functions.
King Gojong encouraged people to wear black durumagi, because white clothes were uneconomical. In 1903, he banned people from wearing light-colored durumagi and allowed only black ones. That was certainly a measure that went too far. Pojol, the Joseon's policemen, stood on every corner and allowed only those with black durumagi to pass. Those wearing white were punished by having ink applied to their coats. Such a measure angered the public, as much as the order to cut Koreans' long hair into a short, Western style.
Enforcement of the dress code loosened only after public petitions that it was inappropriate to stop wearing white mourning clothes to honor queen Myeongseong, since her murder had not been avenged, according to Hwang Hyeon's book, "Maecheonyarok."
After finishing meetings at the Asia-Pacific Economic Cooperation forum, the leaders of all member countries wore durumagi in seven colors for souvenir photos. It may be too much to expect a spirit of equality to spread through the international community simply because the leaders wore durumagi, but it may not be too much to expect them to remember that all matters should be resolved with reason.
by Lee Hoon-beom
The writer is the head of the JoongAng Ilbo's weekend news team.


text:
The Pat Rini Rohrer Gallery presents the 18th Annual "Emerging Artists & Their Mentors" Student Show
Pat Rini Rohrer Gallery
71 South Main Street - Canandaigua
CANANDAIGUA, NY – The Pat Rini Rohrer Gallery is proud to announce the 18th Annual "Emerging Artists & Their Mentors" Student Show, featuring work by the Pat Rini Rohrer Gallery's Studio II students and their instructors. The show is open to the public and will run from February 4, 2023 through March 2, 2023, with a show opening reception to be held on Saturday, February 4, 2023 from 12:00 p.m. to 3:30 p.m. Light refreshments will be served during the opening reception.
Our students have been diligently creating new works at the Pat Rini Rohrer Gallery's Studio II art classes under the mentorship of Pat Rini Rohrer, Steve Bondurant, Cheryl Leonard, Cindy Harris, and Pat Tribastone. We are excited to showcase their talent and growth over the past year. Their work will be on display and many pieces will be available for sale through March 2, 2023.
Light refreshments will be served during the show opening reception, which is free and open to the public. We hope you will invite your friends and family.
Spring Has Arrived … Finally
Screaming, kicking, and dragging its feet, spring has finally arrived. Personally, the anticipation of spring throughout the winter always seems to make those long…


text:
Q: Is there possible to specific type of Generic Type in C# I'm student and I wonder there're a way to specific a type for Generic type?
Example, I has a IEntity interface as the code below
public interface IEntity<T> where T : // What I should input here?
{
    public T Id { get; set; }
}

If I only want T is int, string, and Guid, what should I do?
I tried do this:
public interface IEntity<T> where T : int, string, Guid // Compile Error:
//'int' is not a valid constraint. A type used as a constraint must be an interface, a non-sealed class or a type parameter.
//'string' is not a valid constraint. A type used as a constraint must be an interface, a non-sealed class or a type parameter.
//'Guid' is not a valid constraint. A type used as a constraint must be an interface, a non-sealed class or a type parameter.
{
    public T Id { get; set; }
}

I can make T as IComparable for int, string and Guid, but some data type such as float also be delivered from IComparable too. I just want 3 type: int, string and Guid, is there able to do that?

redpajama_set_name: RedPajamaStackExchange


text:
All posts tagged "Wonga"
Blue & Green Daily: Friday 6 February headlines
Blue & Green Daily finds and summarises the top sustainability stories around the web every morning. We start with our own picks from Blue & Green...
Wonga to write off £220m of customers' debts
Payday lender Wonga has elected to write off £220 million of customers' debts, after discussions with the Financial Conduct Authority (FCA). In response to a series...
Wonga profits halved by compensation payouts
The payday lender Wonga has seen its profits fall by more than half after a year marred by controversy. Blue & Green Tomorrow is currently running...
Savers should be allowed to access pensions and avoid payday loans, say experts
Investment firm Hargreaves Lansdown have suggested that households should be able to access a cash reserve of a few hundred pounds, withdrawn from their savings, in...
Payday loans to be capped at 0.8% to cut cost of borrowing
The Financial Conduct Authority (FCA) has proposed plans to cap charges payday loan companies implement on debt – with moves that could cost the industry £420...
Invest6 years ago
UKSIF praises Church of England for move away from Wonga
The UK Sustainable Investment and Finance Association (UKSIF) has said they are pleased with the news that the Church of England has finally severed ties with...
Church of England finally cuts ties with payday lender Wonga
The Church Commissioners for England continue to move towards ethical investment as they officially announce that their indirect investment in controversial payday lender Wonga has been...
Payday loan complaints double in two years
The number of complaints made against payday lenders has more than doubled over the past two years, new figures have revealed, as a watchdog urges customers...
The Church of England's Wonga investment is a prequel for our own embarrassment
Giles Fraser, priest-in-charge at St Mary's Newington in south London, delivered Tuesday morning's Thought for the Day on the BBC Radio 4 Today programme. He chose to...
Church of England reduces exposure to 'sin stocks' after ethical investment review
The Church of England's exposure to areas like tobacco, gambling and high interest rate lending has been reduced after a review of its ethical investment strategy....
Wonga faces charges of £2.6m for impersonating law firms
Payday lender Wonga is under investigation by the City watchdog the Financial Conduct Authority (FCA) for posing as law firms and sending letters to customers in...
Blue & Green Daily: Thursday 26 June headlines
20% of loan ads break rules, says FCA
An investigation by the City watchdog the Financial Conduct Authority (FCA) has revealed that around 20% of loan and credit companies fail to be clear in...
Financial regulator to investigate payday loan debt collection
The Financial Conduct Authority (FCA) is to launch an investigation into the short-term high-cost loan industry, as new research suggests Britain's high streets have one payday...
Church of England seeks head of responsible investment
The Church of England has placed a job listing for the position of head of responsible investment. The posting follows strong criticisms around the church's investments...


text:
'popeye's organization' aclu arkansas arkansas desegregation arron perkins beyonce black students central high school 1957 dante shelton gangbanging gangs little rock little rock desegregation maumelle arkansas maumelle high school pcssd pt This is not racial transcendence pulaski county special school district racism racists segregation that's racist
Arkansas School Not Racist, Just Wants To Make Sure The Blacks Don't Gangbang Everybody
KINDA!
Maumelle High School in Maumelle, Arkansas, is doing real good at the racial issues, y'all. At least it's TRYING, but mean liberal ACLU-types are up in its grill saying, "THAT'S RACIST!" And here is why:
Shortly after arriving at school Wednesday morning, an announcement over the public announcement system instructed black freshmen to go to the auditorium for an assembly. [...]
Local youth pastor Dante Shelton spoke to the students about gang violence and his personal story.
Uh OK good idea, you guys. "Paging all The Blacks!"
Now, lest ye think this is some podunk high school in the sticks where the football field doubles in the off season as a cow-tippin' pasture, Maumelle is an upper-middle class suburb of Little Rock, just across the Arkansas River. So it's kind of, um, U R DUMB for the school to think, "Hey, here's an idea! What if we do a nice assembly JUST for freshmen of the darker persuasion, to teach them about how not to gang-bang the innocents? Maybe we could serve some fried chicken and watermelon, too!"
The school district says y'all hatin':
Freshmen students were identified by the school because it is a time of transition when they are more easily influenced. Black students were selected with the intent that the assembly would be an extension of the district's court-ordered desegregation efforts, which encourage programs and opportunities tailored to minority students. Students who did not want to attend the program were not required to do so, and the response to Mr. Shelton's presentation was overwhelmingly positive. The Pulaski County Special School District regrets that this inspirational program was not made available to all students and in the future will work to ensure that when outside speakers are brought into a school that all students are included.
[contextly_sidebar id="EIwi3B1K4oDHCrOojDrF3t13y9EPtHTA"]DE-segregation, y'all. Not RE-segregation. Because, by definition, if all the black freshmen are in the gym listening to a lecture on "Pull your pants up!" and don't shoot up all the cops like that whore Beyoncé, and all the white freshmen are in the classroom, learning about whatever the school wanted to teach the white kids about that day (Making America Great Again?), then they are SEGREGATED. We know the Little Rock area has been pretty confused about what desegregation means since, oh, 1957, but maybe the school board should Bing the Jeeves on the Google about it or something.
Our favorite person in this story is a man named Arron Perkins, whose sister was one of the black students paged for the special blacks-only seminar on How Not To Be Such A Thug:
"What does that leave kids that are mixed? 'Oh, you know, that's my other side that's calling, let me go learn about gang-banging.' To me it's just wrong on every level," said Perkins who is biracial.
GOOD POINT, Mr. Perkins, and also LOL for saying that on the Little Rock local news report.
As we mentioned above, the ACLU has fired off an angry letter and is determined to help any way it can. And MAYBE the school had good intentions, and just doesn't know how to communicate them, like how your mom always says she loves her black neighbors because they keep their yard SUPER nice. That's not a good thing to say, MOM. And doing a blacks-only assembly on How To Make Friends And Influence People Without Even Being In A Gang is not a good way to "desegregate," you dumb Arky ding-wads.
We are just saying.
[KATV]


text:
The Exes: To Be Cancelled or Renewed for Season Three?
by Trevor Kimball, September 2, 2012
This week marks the end of the second season of The Exes on TV Land. How's the show been performing? Will it be cancelled or renewed for a third season?
On The Exes, divorce attorney Holly Brooks (Kristen Johnston) is the landlord to three male friends and former clients — recently divorced Stuart (David Alan Basche), womanizing Phil (Donald Faison) and lazy Haskell (Wayne Knight).
To date, the second season of The Exes has averaged a 0.3 rating in the 18-49 demographic with 910,000 total viewers.
Compared to last season, the series has performed about as well in the demo but has fallen by 23% in viewership.
Do you think The Exes should get a third season?
When stacked against TV Land's other original sitcoms, The Exes is one of the lower-rated shows of the bunch but isn't doing that much worse. The cable channel also seems devoted to growing their slate of original comedies and to date hasn't cancelled any of them (though that may change with Retired at 35).
The Exes' fate could go either way but I suspect that it'll end up getting renewed for a third season.
But, what do you think? Are you a fan of The Exes? Do you think it should be cancelled or renewed for another season?
More about: The Exes, The Exes: canceled or renewed?, The Exes: ratings
Superstore: Kelly Stables (The Exes) to Recur on Season Three of NBC Comedy
The Exes: Season Four Ratings
The Exes: TV Land Sitcom Cancelled; No Season Five
The Exes: TV Land Orders More Episodes for Season Four
The Exes: Season Four Moves to November
The Exes: Season Three Ratings
The Exes: Fourth Season Renewal for TV Land Sitcom
The Exes: Season Four or More Season Three?
The Exes: Season Three Comes to TV Land
Hot in Cleveland, The Exes, The Soul Man: Returning June 19th
The Exes, The Soul Man: TV Land Shows Officially Renewed
The Exes: Season Two Ratings
The Exes: TV Land Orders More Episodes for Season Two
TV Land Greenlights New Pilots; The Exes and Retired at 35 Return
The Exes: Season Two for TV Land Series
terri moroe
I think Tvland should bring back the exes because there are so many stupid shows on tv that we really need a show like "The Exes and Happily Diorced because there aren't enough funny shows on tv.
Pamp440
Please keep the exes! Such a great show


Because we are roughly at the midway point of the 2013 college football campaign, let's take a look at the most intriguing games left on the regular-season slate.
There have been snickers about this being one of the biggest games in ACC history, but the winning team truly does have a chance to play for a BCS national championship in Pasadena with a little help by the end of the year. Quarterbacks Jameis Winston and Tajh Boyd also have their Heisman Trophy hopes at stake in this Atlantic division high-profile matchup. The Seminoles have not been able to earn a win in Death Valley since 2001, but they are coming off of a bye week.


text:
Sing, Say, Move and Play
Time: 8.30am to 10.30am
Venue: Online event (Zoom)
For enquiries, please write in to eceevents@suss.edu.sg.
Sing, Say, Move and Play: Music from Around the World for Teaching Young Children's Musical-Cultural-Cognitive Understandings
Music is central to young children's lives. Every day, children sing songs, say rhymes and chants, move to music, and play instruments and games — alone, together with others, and as guided by educators. As competent musicians, children reproduce songs and rhymes they have heard before, put their own spin on old favourites and compose new ones. Despite these rich and often complex childhood musical practices, music teaching in early childhood classrooms is often valued as "fun" but not gainful in the way of cognitive understanding (when in fact music is an enjoyable learning pathway). This view ultimately sells children short because they make a plenty of music. Children need attentive educators to support their development as young people who think, express, and feel. This online workshop will explore the six fundamental musical concepts of beat, rhythm, pitch tempo, dynamics, and tone colour, from an experiential perspective, and examine how teachers can scaffold children's multimodal understanding of their music-making in a playful environment. Using songs, rhymes, and games from around the world, participants will be offered a child-centred, constructivist framework within which to support children's musical play and scaffold their developing understanding. This will enable children to take greater conscious control of their own music-making and future musical endeavours.
Professor Patricia Shehan Campbell is Donald E. Peterson Professor of Music at the University of Washington, where she teaches courses at the interface of education and ethnomusicology. She lectures internationally on the pedagogy of world music and children's musical cultures. She is the author of books and chapters such as Music, Education, and Diversity: Bridging Cultures and Communities (2018), Songs in Their Heads (1998, 2010), Teaching Music Globally (2004), co-author of Music in Childhood (2018), School-Community Music Intersections (2019), and Teaching World Music in Higher Education (2020), co-editor of the Oxford Global Music Series, the Oxford Handbook on Children's Musical Cultures, and Global Music Cultures. Chair of the Advisory Board of Smithsonian Folkways and educational consultant in the repatriation of Alan Lomax recordings to the American South, she is editor of the seven-volume Routledge World Music Pedagogy Series (2018-2020).
Dr Peter Whiteman is an experienced music educator who has worked with children and families in prior-to-school, school, community and University settings. Previously Head of the Institute of Early Childhood at Macquarie University, Australia, he was a member of the team that developed the Early Years Learning Framework for Australia. He was editor of the Children and Childhoods book series (Cambridge Scholars) and served on the editorial board for Advances in Music Education Research (Information Age). Currently an Associate Faculty Member in the S R Nathan School of Human Development, Singapore University of Social Sciences, Peter has also consulted on early learning to large early childhood organisations in Australia and the Australian Broadcasting Corporation's Kids Listen.


Oldcastle GFC | Ratoath take the points at Millbrook.
Ratoath take the points at Millbrook.
A biting, bitter and twisted wind was whipping through Millbrook this morning (Sunday, 24/3/2019), as Oldcastle took on Ratoath in this Div. 1 (Rd.6) encounter. Playing with the wind, Oldcastle took the first two scores courtesy of Robbie Farrelly, before Ratoath took one of their own. A spell with some great teamwork from Oldcastle followed, summed up by the following score from a Packie Kevin kick-out to Oran O'Reilly, upfield by way of Terry Farrelly, Ger Reidy, Darren Hawdon and Paddy Rahill. He then chipped it nicely in to the waiting forwards: to Colin Hawdon who passed to Jason Scully and finally on to Lee Healy for a super goal, and just reward for the input. Packie Kevin made some super saves in this half also, but all was undone by a dodgy line-ball decision which went Ratoath's way and resulted in a quick goal. Ratoath edged ahead before a Jason Scully goal put Oldcastle into the lead again, but a few more from Ratoath before the whistle blew left it level at half-time: Oldcastle 2-04, Ratoath 1-07.
Ratoath had the advantage of the stiff breeze in the second-half, and while Oldcastle stayed with them and levelled score for score for 15 minutes, they then crept ahead and stayed there. Oldcastle never gave up and reduced the deficit near the end, but the opposition managed to stay in the lead and were still there at full-time.
Oldcastle: Packie Kevin, Louis Colleran, Cian McPartland, Oran O'Reilly, C.J. Healy, Terry Farrelly, Dylan Garrigan, Paddy Rahill, Ger Reidy, Keith Connell, Darren Hawdon, Robbie Farrelly (0-05), Lee Healy (1-00), Jason Scully (1-02), Colin Hawdon (0-01).
Subs: Paddy Gilsenan (0-01), Ronan Maguire, Rory McHugh, Stephen Lawless.


text:
Minnesota police officer charged with manslaughter in shooting of Black man
A white former suburban Minneapolis police officer was charged Wednesday with second-degree manslaughter for killing 20-year-old Black motorist Dau
https://www.cbc.ca/news/minneapolis-officer-1.5987084
Toronto police officer charged with sexual assault, watchdog says
TORONTO - Ontario's police watchdog says a Toronto officer has been charged with sexual assault.
https://www.thestar.com/news/gta/2021/04/13/toronto-police-officer-charged-with-…
La Fraternité s'insurge contre l'idée de Projet Montréal
Dans un courriel aux membres du syndicat, que La Presse a obtenu, le président de la Fraternité des policiers et policières de Montréal, Yves Franc
https://www.lapresse.ca/actualites/grand-montreal/2021-04-12/policiers-sans-arme…
Des policiers sans pistolet, proposent les troupes de Plante
Au cours d'une séance à huis clos du congrès de Projet Montréal, ses membres ont inscrit l'idée d'un projet-pilote de policiers sans pistolet dans
https://www.lapresse.ca/actualites/grand-montreal/2021-04-11/congres-de-projet-m…
OPP spent more than $16M policing 1492 Land Back Lane: Records
The Ontario Provincial Police (OPP) spent $16.3 million in just half a year policing the Haudenosaunee-led occupation of the McKenzie Meadows housi
https://www.aptnnews.ca/national-news/opp-spent-more-than-16m-policing-1492-land…
No charges in death of Ejaz Choudry, 62-year-old shot and killed by police while in crisis
Ontario's police watchdog has ruled there will be no criminal charges against police in the death of a 62-year-old father of four shot and killed b
https://www.cbc.ca/news/canada/toronto/ejaz-choudry-no-charges-siu-peel-police-1…
UPDATE: SIU investigating fatal police shooting in Northumberland County
The province's Special Investigations Unit (SIU) has released preliminary details surrounding its investigation after a 43-year-old man was shot an
https://www.thestar.com/local-northumberland/news/2021/04/06/siu-investigating-f…
Quebec coroner to hold public inquiry into 2018 police killing of Lac-Brome teen
There will be a public coroners' inquest into the death of a 17-year-old who was fatally shot by Quebec provincial police nearly three years ago
https://globalnews.ca/news/7744187/quebec-coroner-public-inquiry-2018-killing-la…
24-year-old man killed in confrontation with RCMP on O'Chiese First Nation
A man is dead and the Alberta Serious Incident Response Team (ASIRT) is investigating after an RCMP shooting at an O'Chiese First Nation residence
https://www.cbc.ca/news/canada/edmonton/man-killed-in-confrontation-with-rcmp-o-…
À la barre, des jeunes filles bouleversées de «ne pas avoir sauvé» George Floyd
Minneapolis | Deux jeunes filles, qui ont filmé l'agonie de l'Afro-Américain George Floyd, ont livré mardi des témoignages bouleversants au procès
https://www.journaldemontreal.com/2021/03/30/a-la-barre-des-temoins-de-la-mort-d…


Maddy Baca, the president of Women Advancing in Technology and Trades (WATT) and a construction management technologies major, said WATT is trying to get their name out there so more students will have the opportunity to advance in their careers.
According to their mission statement, this club has a goal to empower women and men who pursue non-traditional careers. W.A.T.T. offers networking opportunities, access to resources, and a chance to help more individuals to enter trade occupations.
Maddy Baca applying the skills she's learned from WATT to her work.
When the group was created, it was specifically for women because women are the smallest minority in the trade industry, and that was changed to include men as well in the middle of 2018 so they could recruit more members, Baca said.
"At the time we didn't realize that several males were also having trouble converting from the education into the workplace because of lack of experience," Baca said.
The thing that holds people back a lot is most companies are looking for three to five years of experience prior to going in, Baca said.
WATT is not planning on changing the name because they like how it cleverly fits with the unit of electricity the light bulbs are measured in, Baca said.
"The club's culture is mellow but professional like when we interview or do anything pertaining to the group, we make sure to follow up with people, respond back, write thank you letters, schedule and confirm appointments," Baca said.
WATT does a lot to promote their organization such as informational interviews, fund raisers, and community outreach, she said.
In 2018, HB and Sony Construction came in and they talked to WATT's HVAC, construction, electrical, and mechanical students, Baca said.
They told the club what could be expected from the corporate world and the culture within the companies, the type of experiences they expect from incoming students, and how the students can prepare themselves for the transition, Baca said.
"We're a bunch of student kids that are learning about every opportunity we have while having fun and guiding one another," Baca said.
WATT has appreciation day for engineers and national hug a plumber day, where informational interviews are held and students of a specific trade come in, Baca said.
For community outreach, the club did a little workshop with the Girl Scouts building birdhouses, and working on simple switches with batteries, Baca said.
WATT does two food drive's a year, one for Christmas and one before the end of summer.
"Summer is the biggest time that young children go hungry because they don't have school meals, "Baca said.
Last year they hosted an event for international women's day, which led to Baca being offered a summer internship position, Baca said.
The club would like to have additional events soon, such as bake sales and hands on day in the trades, Baca said.
WATT also has plans to combine different clubs in order to share resources and get their name out there, Baca said.
CNM has an electrical club that we are talking to about possibly joining, in order to share resources, Baca said.
WATT came across another new organization called Women in Construction, Baca said.
"Women in construction's goals are similar to the ones I have tried setting up with CNM, so as we continue to connect maybe we can have not only a student-based organization but potentially an out-research organization as well," Baca said.
A lot of these industries see students with no experience, and they think it's a high risk to hire them, Baca said.
Any trade is already a high-risk environment, so Baca understands the need for experience, Baca said.
"However, by meeting all these potential employers, we're trying to mend the bond of creating internships so that way we can get more students involved in the community so when they do graduate, they have at least two years' experience in an industry opposed to just going in empty handed," Baca said.
There are a lot of trade students, the demand for the industry is high, and there are several trade classes being offered at CNM, Baca said.
Baca has been the president for a year in a half, oversees finances, budgeting, fundraising events, reaching out to guest speakers, and following up with them, while maintaining professionalism, Baca said.
Baca found out about the club from Jennifer Klecker, the founder, club's staff sponsor, and an instructor for a class that teaches resources specifically for trade students, Baca said.
Baca says she'd be happy with twenty members, as the club only has a vice president, club sponsor, and treasurer, Baca said.
Our overall goal is to mend the gap between the career world and the education world, Baca said.
"We want everyone to feel welcome, and have a place and open book to resources," Baca said.
To find out more information, email Maddy Baca at Mbaca345@cnm.edu or Jennifer Klecker at Jklecker@cnm.edu.


At Mercy Medical Center, we offer comprehensive outpatient services for the Canton, Ohio, area and our five-county service area. Many of these services are offered at our eight conveniently located health centers. To learn more about our outpatient care options, click on the links below.


Whether layered under other pieces or worn on its own, this fluid American Vintage camisole is a pra..
In soft supima cotton, this white American Vintage top is the most versatile layer to add to your ed..
A good t-shirt will last you a long time. This white American Vintage tee is crafted in pure cotton ..
Styled with volume through the sleeves, this bright white cotton top from American Vintage is a ward..
In blue jersey with a cotton-infused blend, this V-neck tee from American Vintage is a wardrobe stap..
Erhalten Sie sehr niedrige Kosten American Vintage Tank mit Wolle grau - Womens Square Neck T-Shirt Low Cost Sales erwerben jetzt.


The Canada Council for the Arts (French: Conseil des Arts du Canada), commonly called the Canada Council, is a Crown Corporation established in 1957 to act as an arts council of the government of Canada, created to foster and promote the study and enjoyment of, and the production of works in, the arts. It funds Canadian artists and encourages the production of art in Canada. The current board chair of the Canada Council is Pierre Lassonde.
The Canada Council is an arms-length agency based in Ottawa, Ontario, that reports to the Crown through the Minister of Canadian Heritage. Its endowment income is supplemented by annual appropriations from parliament, donations, and bequests. Its main duty is allotting grants to Canadian artists based on the merits of their applications. The council also funds and administers many of Canada's top arts awards, including the Governor General's Literary Awards.


What a beautiful dam and visitor center located near Page, AZ. It created Lake Powell and is the 2nd largest man-made lake in the country. This dam was started in 1956 but not completed until 1966.
We parked at the visitor center and walked out onto the overlook at the dam, then crossed over the dam and back again on the walkways provided. There are slits in the fencing along both sides of the walkways to allow many great photo opportunities.


HRW is thrilled to announce our new higher education initiative, Higher Ground, a podcast featuring John Graff, a nationally recognized higher education attorney. Higher Ground's episodes will feature John and a range of guests as they dissect the unique industry of higher education and its intersection with legal complexities. Episode 1 is now live with new episodes dropping every couple of weeks.
Subscribe today on iTunes (https://itunes.apple.com/us/podcast/higher-ground/id1451197328?mt=2) or Spotify (https://open.spotify.com/show/1SKjKypNZKgrYiMb7RqB3E).


text:
Sadr, Muqtada al-
▪ 2008
born 1974, Al-Najaf, Iraq
Muqtada al-Sadr, the controversial Iraqi Shiʿite leader and head of the armed militia known as the Mahdi Army (JAM), reemerged publicly in May 2007 after nearly four months of isolation in Iran and regained momentum as one of the most powerful political forces in Iraq.
Sadr was the son of Grand Ayatollah Muhammad Sadiq al-Sadr, one of the most prominent religious figures in the Islamic world. Sadr was greatly influenced by his father's conservative thoughts and ideas and by those of his father-in-law, Shiʿite figure Muhammad Baqr al-Sadr, founder of the Islamic Daʿwah Party, who in 1980 was executed for his opposition to Iraqi strongman Saddam Hussein.
After completing middle school, Sadr enrolled in the Shiʿite hawza (religious seminary) in Najaf, but he never finished his studies. Sadr's father was killed in 1999, along with his two older brothers, reputedly by Iraqi agents. His father's will stipulated that his hawza be put in the hands of Sayyid Kadhim al-Haʿiri, an Iraqi religious scholar, but Haʿiri delegated the administrative and financial affairs of the hawza to Sadr, who became one of al-Haʿiri's disciples.
Almost immediately after the fall of Saddam's regime in 2003, Sadr emerged from the shadows and began to open offices in his father's name (known collectively as the Office of the Martyr Sadr) in Baghdad, Al-Najaf, Karbala, Basra, and other areas. He had immediate success in Madinat al-Thawra (Revolution City), a poor Baghdad suburb of two million Shiʿites, which he renamed Sadr City in honour of his father. By the end of that year, Sadr headed a Shiʿite political movement known as the Sadrist Movement and had attracted millions of Shiʿite followers across Iraq, mainly youth and the poor and downtrodden, to whom he offered a variety of social, educational, and health services. He also maintained tight security over the areas he controlled and established a Shariʿah (Islamic law)-based court system.
Sadr was accused of staging the murder of ʿAbd al-Majid al-Khuʿi, a rival Shiʿite cleric, and a warrant for his arrest was issued but never executed. Sadr concentrated his fiery rhetoric on Iraqi nationalism, especially the removal of U.S. forces from Iraq, and anti-Americanism, while his militia, an ill-coordinated collection of thousands of outlaws, engaged in direct armed clashes with the multinational forces in April and August 2004 and was accused of contributing heavily to the ongoing civil conflict between Shiʿites and Sunnis. Sadr's critics held JAM responsible for brutal acts of retribution against Sunnis, including kidnapping, killings, torture, and the destruction of mosques and property.
Many Shiʿites regarded Sadr as a hero who opposed the Sunni terrorists supporting al-Qaeda and who protected Shiʿites from Sunni insurgents. In the December 2005 election, members of Sadr's movement stood with other Shiʿite parties as part of the United Iraqi Alliance, which won a plurality of seats (128 of 275) in the parliament; 32 seats went to the Sadrists. In the formation of the government, Sadr supported Nuri al-Maliki of the Daʿwah Party for prime minister, but in April 2007 six Sadrist ministers withdrew from Maliki's cabinet after their demands for a timetable for withdrawal of foreign troops remained unrealized. In August Sadr made another tactical move, which coincided with the U.S. troop surge—he ordered that his militia suspend all activity for six months, during which time he intended to reorganize it in an attempt to restore its credibility.
Louay Bahry
▪ Iraqi Shīʿite leader
Iraqi Shīʿite leader and head of the militia known as Jaysh al-Mahdī (JAM), or Mahdī Army. He was considered one of the most powerful political figures in Iraq in the early 21st century.
Ṣadr was the son of Grand Ayatollah Muḥammad Ṣādiq al-Ṣadr, one of the most prominent religious figures in the Islamic world. Ṣadr was greatly influenced by his father's conservative thoughts and ideas and by those of his father-in-law, Ayatollah Muḥammad Bāqir al-Ṣadr, founder of the Islamic Daʿwah Party, who in 1980 was executed for his opposition to Iraqi strongman Ṣaddām Ḥussein.
After completing middle school, Ṣadr enrolled in the Shīʿite ḥawzah (religious seminary) in Al-Najaf, but he never finished his studies. Ṣadr's father was killed in 1999, along with his two older brothers, reputedly by Iraqi agents. His father's will stipulated that his ḥawzah be put in the hands of Sayyid Kāẓim al-Hāʾirī, an Iraqi religious scholar, but Hāʾirī delegated the administrative and financial affairs of the ḥawzah to Ṣadr, who became one of al-Hāʾirī's disciples.
Almost immediately after U.S.-led forces toppled Ṣaddām's regime in 2003 (see Iraq War), Ṣadr emerged from the shadows and began to open offices in his father's name (known collectively as the Office of the Martyr Ṣadr) in Baghdad, Al-Najaf, Karbalāʾ, Al-Baṣrah, and other areas. He had immediate success in Madinat al-Thawrah (Revolution City), a poor Baghdad suburb of two million Shīʿites, which he renamed Ṣadr City in honour of his father. By the end of that year Ṣadr headed a Shīʿite political movement known as the Ṣadrist Movement and had attracted millions of Shīʿite followers across Iraq, mainly youth and the poor and downtrodden, to whom he offered a variety of social, educational, and health services. He also maintained tight security over the areas he controlled and established a court system based on Sharīʿah (Islamic law).
Ṣadr was accused of staging the murder of ʿAbd al-Majīd al-Khūʾī, a rival Shīʿite cleric, and a warrant for his arrest was issued but never executed. Ṣadr concentrated his rhetoric on Iraqi nationalism, especially the removal of U.S. forces from Iraq, and anti-Americanism. His militia, an ill-coordinated collection of thousands of outlaws, engaged in direct armed clashes with the multinational forces in April and August 2004 and was accused of contributing heavily to the ongoing civil conflict between Shīʿites and Sunni (Sunnite)s. Ṣadr's critics held JAM responsible for brutal acts of retribution against Sunnis, including kidnapping, killing, torture, and the destruction of mosques and property.
Many Shīʿites regarded Ṣadr as a hero who opposed the Sunni rebels supporting al-Qaeda (Qaeda, al-) and who protected Shīʿites from Sunni insurgents. In the December 2005 election, members of Ṣadr's movement stood with other Shīʿite parties as part of the United Iraqi Alliance, which won a plurality of seats (128 of 275) in the parliament; 32 seats went to the Ṣadrists. In the formation of the government, Ṣadr supported Nūrī al-Mālikī (Mālikī, Nūrī al-) of the Daʿwah Party for prime minister, but in April 2007 six Ṣadrist ministers withdrew from Mālikī's cabinet after their demands for a timetable for withdrawal of foreign troops remained unrealized. In August Ṣadr made another tactical move, which coincided with the U.S. troop surge—he ordered that his militia suspend all activity for six months, during which time he intended to reorganize it in an attempt to restore its credibility. This suspension of all military activity was extended in late February 2008 for another six months, until August 2008. On March 25, however, the Iraqi government launched a military operation against Ṣadr's militia in Al-Baṣrah, and intense fighting ensued. The militia fought Iraqi troops to a standstill, and on March 30, following negotiations with government officials, Ṣadr ordered a cease-fire.
Louay Y. Bahry
In August 2008 Ṣadr's plan to reorganize his militia was realized in the launch of al-Mumahhidūn ("Those Who Pave the Way"), an unarmed wing of JAM that Ṣadr declared would focus on social and religious programs; only a small, specialized portion of the original Mahdī Army was to remain armed. A complete restructuring into a solely social organization, including dissolution of the organization's remaining armed branch, was made contingent upon the implementation of a timetable for U.S. withdrawal from Iraq. Shortly thereafter Ṣadr announced the indefinite extension of the cease-fire that had been put in place the previous year.
Sadie, Stanley
Sadruddin Aga Khan, Prince
Muqtada al-Sadr — Muqtada as Sadr, auch Muktada al Sadr (arabisch مقتدى الصدر, DMG Muqtadā aṣ Ṣadr; * 12. August 1974 im Irak), ist ein radikaler irakischer Geistlicher und Schiiten Politiker. Inhaltsverzeichnis 1 Schreibweise 2 Leben … Deutsch Wikipedia
Muqtada al-Sadr — Hujjat al Islam Muqtada al Sadr مقتدى الصدر Born August 12, 1973 (1973 08 12) (age 38) Baghdad … Wikipedia
Muqtada as-Sadr — Muqtada as Sadr, auch Muktada al Sadr (arabisch مقتدى الصدر, DMG Muqtadā aṣ Ṣadr; * 12. August 1973 im Irak), ist ein radikaler irakischer Geistlicher, Milizenführer und Schiiten Politiker. Inhaltsverzeichnis 1 Schreibweise 2 … Deutsch Wikipedia
Sadr (name) — Sadr (as Sadr or al Sadr) is a family name originating in the Lebanon.People with the name Sadr include*Sadr al Din bin Saleh (also Sadr ed Deen bin Saleh), 19th century Islamic scholar **Ismail as Sadr, (d. 1919 1920), son of Sadr ed Deen bin… … Wikipedia
Sadr City — ( ar. مدينة الصدر) is a suburb district of the city of Baghdad, Iraq. It was built in 1959 by Prime Minister Abdul Karim Qassim and later unofficially renamed Sadr City after deceased Shia leader Mohammad Mohammad Sadeq al Sadr. Sadr City is one… … Wikipedia
Sadr — ist der Name folgender Personen: Sadr ad Din, Groß Ayatollah Ismail as Sadr († 1919–1920), Groß Ayatollah Sadr ad Din as Sadr († 1954), Groß Ayatollah Musa as Sadr (1928–1978), libanesischer Schiitenführer Muhammad Baqir as Sadr (1935–1980), Groß … Deutsch Wikipedia
Sadr City — Blick über Sadr City Sadr City (arabisch مدينة الصدر الثاني Madīnat as Sadr ath thānī, DMG Madīnat aṣ Ṣadr aṯ ṯānī) ist ein nördlicher Stadtteil von Bagdad im … Deutsch Wikipedia
Muqtada al-Sadr — Hoyatoleslam Muqtada al Sadr (مقتدي الصدر, también conocido como Moqtada, Múqtada; al Sáder) (12 de agosto de 1973) es un joven clérigo y líder chií iraquí, nieto del famoso clérigo chií Mohamed Sadeq al Sadr. Es el líder de facto de la Ciudad de … Wikipedia Español
Muqtada al-Sadr — Hoyatoleslam Muqtada al Sadr (مقتدي الصدر, también conocido como Moqtada, Múqtada; al Sáder) (¿1974? ) es un joven clérigo y líder chií iraquí, hijo del famoso clérigo chií Mohamed Sadeq al Sadr. Es el líder de facto de la Ciudad de Sadr en… … Enciclopedia Universal
Al-Sadr — Muqtada as Sadr, auch Muktada al Sadr (arabisch مقتدى الصدر, DMG Muqtadā aṣ Ṣadr; * 12. August 1974 im Irak), ist ein radikaler irakischer Geistlicher und Schiiten Politiker. Inhaltsverzeichnis 1 Schreibweise 2 Leben … Deutsch Wikipedia


The Saab festival car show on Sunday started off with a lot better weather compared to Saturday. A bit windy but sunny! As usual, the areas with Saabs from all over Europe is huge, even bigger this year than previous years I would say.
One of my favorites from the day is the "Saab 900 Swedish police car". I don't know if it's a replica or an actual old police car, but it was fully loaded with police equipment. See pictures of the car below.
Nevs was showing their electric car, the car they were showing can take you around 200 km on one charge and it takes around 12 hours to charge it. It cannot be fast charged and charging during the night would be best I think. I would guess that they are developing a fast charging solution.
Some of the exhibitors on the area were Neo Bros, Maptun, Saab Turboklubben, Svenska Saabklubben and more. The traditional Saab swap meet was placed in the middle of the biggest exhibition area, and was full of tempting parts, details and Saab advertisement gadgets.
The Saturday at the Saab festival started very rainy, after a few hours the rain ceased. The sun was trying to show, but didn't really did as long as I was there. A few companies had a display on the side of the pit, Maptun was one of these.
As usual the cars was released onto the track in model groups, by the speaker Saab car museum super attendant Peter Bäckström.
It ss always fun to see cars from all over Europe roll in to Kinnekulle ring and all have one common interest: Saab!
Lets hope for some more sun in Trollhättan tomorrow! If you are one of these that will attend the car show tomorrow, see you there!
I still have to make it to the Saab festival some day. Hopefully, there will be another festival in 2017.


text:
The Medicine Men is a 1938 American short Pre-Code comedy film directed by Norman Taurog.

External links

1929 short films
1929 comedy films
Films directed by Norman Taurog
1920s English-language films
American comedy films
American black-and-white films

redpajama_set_name: RedPajamaWikipedia


Proof of thought - What's bothering you?
Would it bother you as much or take up as many of your daily thoughts if you just found out you only had one more week left to live? Would you be as angry if you knew that it would be the last time you ever see them? You do have control over your thoughts. You give everything as much attention and feeling as you choose to give it.


text:
Map: Search for missing mom Heidi Planck moves…
Map: Search for missing mom Heidi Planck moves out of Los Angeles
Investigators looking for a Los Angeles woman missing for more than a month began searching a landfill north of the city on Monday.
Heidi Planck. (Via Los Angeles Police Department)
The Los Angeles Police Department issued a statement saying that Heidi Planck is believed to be dead.
She was last seen alive on security video recorded Oct. 17 near a downtown Los Angeles apartment high-rise. Half an hour later, her dog was found wandering alone on the building's 28th floor.
"Forensic evidence was located inside the building which has led detectives to believe an incident occurred resulting in Planck's death," the police statement said.
The announcement coincided with the start of excavation at the Chiquita Canyon Landfill, near Castaic. The police said they are searching for human remains and "related evidence."
Planck, 39, is the mother of a boy, who turned 11 after her disappearance; she shared custody of him with her ex-husband, James Wayne. Planck works for the Los Angeles investment advisers Camden Capital.
The map above shows key locations from the investigation:
1/ Sunday, Oct. 17, afternoon: Planck attends her son's football game in Downey. Her ex-husband, who also attended, said she left around 4:30 p.m., before the game was over.
2/ Oct. 17, evening: Around 6:30 p.m., video records Planck and her dog, Seven, on foot near Hope & 12th streets, two blocks from Staples Center in downtown Los Angeles. Around 7 p.m, the dog is found wandering alone on the 28th floor of the Hope + Flower apartment tower at that intersection.
3/ Wednesday, Oct. 20: Wayne reports his ex-wife missing after she fails to pick up their son at his school in West Los Angeles. He told police that he and the boy had become worried about not being able to contact her in the previous two days.
4/ Oct. 29: Police and federal agents, with their guns drawn, enter Planck's house, in the Palms neighborhood of West Los Angeles. It is found to be unoccupied.
Nov. 4: Planck's Range Rover is found in the parking garage of an unspecified residential building "a few blocks" from the Hope + Flower building.
5/ Nov. 29: Excavation begins at the Chiquita Canyon Landfill in Castaic.
Missing Northern California woman found dead in wrecked car that had gone unnoticed
Authorities found the body of a missing California woman days after charging her boyfriend with her killing
Employee found dead in submerged golf cart at California course
Remains found by hiker in California mountains identified
Gabby Petito murder: Moab cops should be disciplined, investigation says
Top Wire
More in Crime and Public Safety
San Francisco library guard attacked by dog
Second claim filed in death of Santa Cruz County high school student killed on campus


text:
30 x 20 cm landscape
Hans Scharouns Theater für Wolfsburg 1973–2013Stadt | Raum | Geschichte Vol. 1
It was not until his late work, the Berlin Philharmonic (1956–1963), that Hans Scharoun finally achieved his deserved international acclaim. Around the same time, Scharoun also won the international architecture competition in Wolfsburg for a new theater building. After a number of drafts and tough negotiations regarding its realization, the cultural building was inaugurated ceremoniously on October 5, 1973. Four decades later the building on Klieversberg has not only established itself as one of the most significant touring theater venues in Germany, but its architecture has also retained its impressive presence and exceptional standards. On the occasion of its fortieth anniversary, Katrin Barthmann and Rocco Curti from the Lower Saxony State Office for Heritage Protection accord the first-rate cultural building its rightful place in twentieth-century architectural history. Nicole Froberg from the Wolfsburg Architecture Forum provides a virtual walkthrough of the rooms. The photographer Lars Landmann draws attention to magnificent details and enables interesting insights behind the scenes.
Erhalten. Ertüchtigen. Erneuern.Generalsanierung Theater Wolfsburg 2014–2015
Stadt | Raum | Geschichte Band 2
Preservation through progressive building. The example of the Wolfsburg Theater shows that heritage protection is based on preservation and conservation, but can also mean thinking progressively and resume building. The late work designed in 1965 by Berlin architect Hans Scharoun (1893–1972) and inaugurated on October 5, 1973, is among the "gems" of German post-war modernity, with its almost completely preserved original features. From June 2014 on, the cultural building was closed for 18 months and overhauled, modernized, and extended. This ambitious project could become a prototype for handling buildings from the 1960s successfully.
The Architecture Forum (Forum Architektur) accompanied the work and recounts the learning processes and the many facets of the building site, many of which are no longer visible since completion, but which have been captured impressively by the photographer Lars Landmann. Owners, users, architects, and monument conservators contribute views about the complex building process, by means of the categories of "preservation", "improvements", and "renewal".
With contributions by Winfried Brenne, Rocco Curti, Heidi Fengel, Nicole Froberg, Franz Jaschke, Petra Pennigsdorf, Vladimír Šlapeta, Wilfried Wang among others
Von Mosaikpflaster und SchmuckbeetenPlätze und Grünanlagen in Wolfsburg 1950 bis 1970
Stadt | Raum | Geschichte Vol. 3
In Wolfsburg life is different. The abundant greenery of the city landscape featuring many squares and parks was primarily created during the 1950s and 1960s. Today this represents a special quality that contributes significantly to a life close to nature for the locals. After more than 50 years, these open spaces are often barely consciously noticed. Many squares and parks are experiencing a process of change, in order to meet the new social requirements placed on public space resulting from demographic changes and a globalized world. Precisely for this reason, this architectural heritage must not only be preserved, but also developed further.
This publication presents various Wolfsburg squares and parks in detail, by means of designs and plans, whilst also providing stimuli for their regeneration. Some previously unpublished shots by Heinrich Heidersberger from the early 1960s, as well as a current photo series by Ali Altschaffel, make it possible to experience the quality and special atmosphere of such decorative spaces of post-war modernity.


text:
New COVID-19 relief bill
Kevane Grant Thornton Puerto Rico Ltd. Home
Kevane Grant Thornton
Advisory Alert
12 Jan 20214 min read
On December 27, 2020, President Donald Trump signed into law a $900 billion COVID-19 relief bill that provides more than $300 billion in aid for small businesses.
Jump to this section
The following modifications were implemented to the Loan Forgiveness and Loan Review Procedures Interim Final Rules:
The Consolidated Appropriations Act of 2021 legislation, ensures federal tax deductibility for business expenses paid with forgiven Paycheck Protection Program (PPP) loans, provides PPP funding, makes Sec. 501(c)(6) not-for-profit organizations eligible for loans for the first time, and offers businesses the opportunity to apply for a second loan.
The new round of PPP loans will initially open to community financial institutions on January 11, 2021, to apply for first draw PPP loans, and on January 13, 2020, to apply second draw PPP loans. The PPP will open to all participating lenders shortly afterwards.
The new legislation includes, among others:
more than $284 billion to the SBA for PPP forgivable small business loans
$20 billion allocated to provide Economic Injury Disaster Loan (EIDL) grants to businesses
live venues, independent movie theaters, and cultural institutions will have access to $15 billion in dedicated funding
$12 billion will be set aside to help business in low-income and minority communities
extends the employee retention tax credit and several expiring tax provisions
PPP eligibility
The new PPP round will be available to first-time qualified borrowers (referred to as first draw PPP loans) and to businesses that previously received a PPP loan. First-time PPP borrowers will be subject to the program's original eligibility rules. The original PPP was generally available to businesses with up to 500 employees, and there was no requirement to demonstrate a revenue loss.
The previous PPP (referred to as first draw PPP loans) recipients may apply for another loan (referred to a second draw PPP loan) of up to $2 million if they meet the following three requirements:
have 300 or fewer employees;
have used or will use the full amount of their first PPP loan; and
can demonstrate a 25% gross revenue decline in any 2020 quarter compared with the same quarter in 2019
The bill allows borrowers that returned all or part of a previous PPP loan to reapply for a second-round loan.
How much can a business obtain from the new PPP loans?
The maximum eligible loan amounts for second draw PPP loans will be $2 million. Borrowers will generally be eligible to calculate their loan amount as 2½ times their average monthly payroll costs in the prior year. Applicants in the accommodation and food services industries are eligible for loans that amount to 3½ times their average monthly payroll.
PPP loan terms
Costs eligible for loan forgiveness consist of the ones originally included in the first PPP program: payroll, rent, covered mortgage interest, and utilities; and:
covered operations expenditures
covered facility modification costs to comply with safety guidelines
covered supplier cost
covered worker protection
Borrowers who have not yet applied for forgiveness, for their original PPP loan, may now also include these types of expenses in their forgiveness application. Borrowers are still required to spend at least 60% of the funds on payroll to receive full forgiveness. The other 40% may be used on eligible costs.
Streamlined forgiveness for borrowers under $150,000
Borrowers for loans under $150,000 will only be required to submit a one-page online or paper form and will only be subject to audit if they commit fraud or use the proceeds for improper purposes.
Tax matters and changes in the bill
deductibility of expenses paid with forgiven PPP funds
expenses paid with PPP funds are now deductible for federal income tax purposes. This was already permitted for Puerto Rico income tax purposes under local Act 57-2020.
employee payroll tax deferral
the bill extends the deferral of an employee's share of social security tax on wages paid from September 1, 2020 through the end of the year from April 30, 2021 until December 31, 2021.
families First Coronavirus Response Act (FFCRA) Credits
extends the tax credit provisions of FFCRA from December 31, 2020 through March 31, 2021.
extension of the Employee Retention Tax Credit
extends the tax credit through June 30, 2021.
businesses may now claim both the Employee Retention Credit and the PPP Loan. But wages upon which the ERC is calculated is not eligible for forgiveness under the PPP program.
Bill - The Consolidated Appropriations Act of 2021
Forbes - Stimulus Payments, Paycheck Protection Program Expense Deductibility Headline Tax Changes In Latest Covid Relief Package
Journal of Accountancy - COVID-19 relief bill addresses key PPP issues
Wallstreet Journal - PPP Loans: Everything We Know About Latest Small Business Protection
We are committed to keep you updated of all developments that may affect the way you do business in Puerto Rico. Please contact us for assistance in relation to this or any other matter, we will be glad to assist you.
Gianfranco Delgado, CPA
Advisory Senior
Collaborated in the preparation of this article.
Download PDF [826 kb]