2.5.8-pre radio driver fixes
Subsystems (6)
PATCH 1/1 2.5.8-pre radio driver fixes
Hi,
This patch adapts the radio drivers to the -pre1 videodev bugfix and makes them compile again.
This one depends on the zoltrix radio fix being applied.
Gerd
==============================[ cut here ]============================== # ChangeSet
# 1.587 02/04/08 10:03:57 [email protected] +14 -0
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
# drivers/media/radio/radio-zoltrix.c
# 1.6 02/03/19 18:24:00 [email protected] +9 -4
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
# drivers/media/radio/radio-typhoon.c
# 1.6 02/03/19 18:24:00 [email protected] +10 -5
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
# drivers/media/radio/radio-trust.c
# 1.6 02/03/19 18:24:00 [email protected] +9 -4
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
# drivers/media/radio/radio-terratec.c
# 1.6 02/03/19 18:24:00 [email protected] +9 -4
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
# drivers/media/radio/radio-sf16fmi.c
# 1.8 02/03/19 18:24:00 [email protected] +9 -4
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
# drivers/media/radio/radio-rtrack2.c
# 1.6 02/03/19 18:24:00 [email protected] +9 -4
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
# drivers/media/radio/radio-maxiradio.c
# 1.6 02/03/19 18:24:00 [email protected] +6 -6
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
# drivers/media/radio/radio-maestro.c
# 1.6 02/03/19 18:24:00 [email protected] +8 -6
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
# drivers/media/radio/radio-gemtek.c
# 1.6 02/03/19 18:24:00 [email protected] +9 -4
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
# drivers/media/radio/radio-gemtek-pci.c
# 1.6 02/03/19 18:24:00 [email protected] +9 -4
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
# drivers/media/radio/radio-cadet.c
# 1.6 02/03/19 18:24:00 [email protected] +8 -4
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
# drivers/media/radio/radio-aztech.c
# 1.6 02/03/19 18:24:00 [email protected] +9 -4
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
# drivers/media/radio/radio-aimslab.c
# 1.6 02/03/19 18:24:00 [email protected] +9 -4
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
# drivers/media/radio/miropcm20-radio.c
# 1.9 02/03/19 18:24:00 [email protected] +9 -4
# adapt v4l radio drivers to 2.5.8-pre1 videodev fix.
#
======================================================================
drivers/media/radio/miropcm20-radio.c +9 -4
@@ -121,8 +121,8 @@return 0 ; } -static int pcm20_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg) +static int pcm20_do_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,void *arg) {struct video_device *dev =video_devdata (file);struct pcm20_device *pcm20 = dev->priv;
@@ -210,6 +210,12 @@ } } +static int pcm20_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,unsigned long arg) +{ +return video_usercopy (inode, file, cmd, arg, pcm20_do_ioctl); +} +static struct pcm20_device pcm20_unit = { freq:87 *16000 , muted:1 ,
@@ -220,7 +226,7 @@ owner: THIS_MODULE, open: video_exclusive_open, release: video_exclusive_release, - ioctl: video_generic_ioctl, + ioctl: pcm20_ioctl, llseek: no_llseek, };
@@ -230,7 +236,6 @@ type: VID_TYPE_TUNER, hardware: VID_HARDWARE_RTRACK, fops: &pcm20_fops, - kernel_ioctl: pcm20_ioctl, priv: &pcm20_unit };
drivers/media/radio/radio-aimslab.c +9 -4
@@ -213,8 +213,8 @@return 1 ;/* signal present */ } -static int rt_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg) +static int rt_do_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,void *arg) {struct video_device *dev =video_devdata (file);struct rt_device *rt=dev->priv;
@@ -291,13 +291,19 @@ } } +static int rt_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,unsigned long arg) +{ +return video_usercopy (inode, file, cmd, arg, rt_do_ioctl); +} +static struct rt_device rtrack_unit;static struct file_operations rtrack_fops = { owner:THIS_MODULE , open: video_exclusive_open, release: video_exclusive_release, - ioctl: video_generic_ioctl, + ioctl: rt_ioctl, llseek: no_llseek, };
@@ -308,7 +314,6 @@ type: VID_TYPE_TUNER, hardware: VID_HARDWARE_RTRACK, fops: &rtrack_fops, - kernel_ioctl: rt_ioctl, };static int __init rtrack_init (void )
drivers/media/radio/radio-aztech.c +9 -4
@@ -157,8 +157,8 @@return 0 ; } -static int az_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg) +static int az_do_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,void *arg) {struct video_device *dev =video_devdata (file);struct az_device *az = dev->priv;
@@ -243,13 +243,19 @@ } } +static int az_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,unsigned long arg) +{ +return video_usercopy (inode, file, cmd, arg, az_do_ioctl); +} +static struct az_device aztech_unit;static struct file_operations aztech_fops = { owner:THIS_MODULE , open: video_exclusive_open, release: video_exclusive_release, - ioctl: video_generic_ioctl, + ioctl: az_ioctl, llseek: no_llseek, };
@@ -260,7 +266,6 @@ type: VID_TYPE_TUNER, hardware: VID_HARDWARE_AZTECH, fops: &aztech_fops, - kernel_ioctl: az_ioctl, };static int __init aztech_init (void )
drivers/media/radio/radio-cadet.c +8 -4
@@ -384,8 +384,8 @@ -static int cadet_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg) +static int cadet_do_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,void *arg) {switch (cmd) {
@@ -497,6 +497,11 @@ } } +static int cadet_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,unsigned long arg) +{ +return video_usercopy (inode, file, cmd, arg, cadet_do_ioctl); +}static int cadet_open (struct inode *inode,struct file *file) {
@@ -523,7 +528,7 @@ open: cadet_open, release: cadet_release, read: cadet_read, - ioctl: video_generic_ioctl, + ioctl: cadet_ioctl, llseek: no_llseek, };
@@ -534,7 +539,6 @@ type: VID_TYPE_TUNER, hardware: VID_HARDWARE_CADET, fops: &cadet_fops, - kernel_ioctl: cadet_ioctl, };static int isapnp_cadet_probe (void )
drivers/media/radio/radio-gemtek-pci.c +9 -4
@@ -177,8 +177,8 @@return (inb ( card->iobase ) &0x08 ) ?0 :1 ; } -static int gemtek_pci_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg) +static int gemtek_pci_do_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,void *arg) {struct video_device *dev =video_devdata (file);struct gemtek_pci_card *card = dev->priv;
@@ -272,6 +272,12 @@ } } +static int gemtek_pci_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,unsigned long arg) +{ +return video_usercopy (inode, file, cmd, arg, gemtek_pci_do_ioctl); +} +enum {GEMTEK_PR103 };
@@ -295,7 +301,7 @@ owner: THIS_MODULE, open: video_exclusive_open, release: video_exclusive_release, - ioctl: video_generic_ioctl, + ioctl: gemtek_pci_ioctl, llseek: no_llseek, };
@@ -305,7 +311,6 @@ type: VID_TYPE_TUNER, hardware: VID_HARDWARE_GEMTEK, fops: &gemtek_pci_fops, - kernel_ioctl: gemtek_pci_ioctl, };static int __devinit gemtek_pci_probe (struct pci_dev *pci_dev,const struct pci_device_id *pci_id )
drivers/media/radio/radio-gemtek.c +9 -4
@@ -138,8 +138,8 @@return 1 ;/* signal present */ } -static int gemtek_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg) +static int gemtek_do_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,void *arg) {struct video_device *dev =video_devdata (file);struct gemtek_device *rt=dev->priv;
@@ -220,13 +220,19 @@ } } +static int gemtek_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,unsigned long arg) +{ +return video_usercopy (inode, file, cmd, arg, gemtek_do_ioctl); +} +static struct gemtek_device gemtek_unit;static struct file_operations gemtek_fops = { owner:THIS_MODULE , open: video_exclusive_open, release: video_exclusive_release, - ioctl: video_generic_ioctl, + ioctl: gemtek_ioctl, llseek: no_llseek, };
@@ -237,7 +243,6 @@ type: VID_TYPE_TUNER, hardware: VID_HARDWARE_GEMTEK, fops: &gemtek_fops, - kernel_ioctl: gemtek_ioctl, };static int __init gemtek_init (void )
drivers/media/radio/radio-maestro.c +8 -6
@@ -65,13 +65,13 @@MODULE_PARM (radio_nr,"i" );static int radio_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg); +unsigned int cmd,unsigned long arg);static struct file_operations maestro_fops = { owner:THIS_MODULE , open: video_exclusive_open, release: video_exclusive_release, - ioctl: video_generic_ioctl, + ioctl: radio_ioctl, llseek: no_llseek, };
@@ -82,7 +82,6 @@ type: VID_TYPE_TUNER, hardware: VID_HARDWARE_SF16MI, fops: &maestro_fops, - kernel_ioctl: radio_ioctl, }; static struct radio_device
@@ -175,10 +174,12 @@sleep_125ms (); } -inline static int radio_function (struct video_device *dev, +inline static int radio_function (struct inode *inode,struct file *file,unsigned int cmd,void *arg) { +struct video_device *dev =video_devdata (file);struct radio_device *card=dev->priv; +switch (cmd) {case VIDIOCGCAP : {struct video_capability *v = arg;
@@ -257,13 +258,14 @@ }static int radio_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg) +unsigned int cmd,unsigned long arg) {struct video_device *dev =video_devdata (file);struct radio_device *card=dev->priv;int ret; +down (&card->lock); - ret =radio_function (dev, cmd, arg); + ret =video_usercopy (inode, file, cmd, arg, radio_function);up (&card->lock);return ret; }
drivers/media/radio/radio-maxiradio.c +6 -6
@@ -73,13 +73,13 @@static int radio_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg); +unsigned int cmd,unsigned long arg);static struct file_operations maxiradio_fops = { owner:THIS_MODULE , open: video_exclusive_open, release: video_exclusive_release, - ioctl: video_generic_ioctl, + ioctl: radio_ioctl, llseek: no_llseek, }; static struct video_device maxiradio_radio =
@@ -89,7 +89,6 @@ type: VID_TYPE_TUNER, hardware: VID_HARDWARE_SF16MI, fops: &maxiradio_fops, - kernel_ioctl: radio_ioctl, }; static struct radio_device
@@ -174,9 +173,10 @@ } -inline static int radio_function (struct video_device *dev, +inline static int radio_function (struct inode *inode,struct file *file,unsigned int cmd,void *arg) { +struct video_device *dev =video_devdata (file);struct radio_device *card=dev->priv;switch (cmd) {
@@ -267,14 +267,14 @@ }static int radio_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg) +unsigned int cmd,unsigned long arg) {struct video_device *dev =video_devdata (file);struct radio_device *card=dev->priv;int ret;down (&card->lock); - ret =radio_function (dev, cmd, arg); + ret =video_usercopy (inode, file, cmd, arg, radio_function);up (&card->lock);return ret; }
drivers/media/radio/radio-rtrack2.c +9 -4
@@ -106,8 +106,8 @@return 1 ;/* signal present */ } -static int rt_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg) +static int rt_do_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,void *arg) {struct video_device *dev =video_devdata (file);struct rt_device *rt=dev->priv;
@@ -186,13 +186,19 @@ } } +static int rt_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,unsigned long arg) +{ +return video_usercopy (inode, file, cmd, arg, rt_do_ioctl); +} +static struct rt_device rtrack2_unit;static struct file_operations rtrack2_fops = { owner:THIS_MODULE , open: video_exclusive_open, release: video_exclusive_release, - ioctl: video_generic_ioctl, + ioctl: rt_ioctl, llseek: no_llseek, };
@@ -203,7 +209,6 @@ type: VID_TYPE_TUNER, hardware: VID_HARDWARE_RTRACK2, fops: &rtrack2_fops, - kernel_ioctl: rt_ioctl, };static int __init rtrack2_init (void )
drivers/media/radio/radio-sf16fmi.c +9 -4
@@ -132,8 +132,8 @@return (res &2 ) ?0 :0xFFFF ; } -static int fmi_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg) +static int fmi_do_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,void *arg) {struct video_device *dev =video_devdata (file);struct fmi_device *fmi=dev->priv;
@@ -230,13 +230,19 @@ } } +static int fmi_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,unsigned long arg) +{ +return video_usercopy (inode, file, cmd, arg, fmi_do_ioctl); +} +static struct fmi_device fmi_unit;static struct file_operations fmi_fops = { owner:THIS_MODULE , open: video_exclusive_open, release: video_exclusive_release, - ioctl: video_generic_ioctl, + ioctl: fmi_ioctl, llseek: no_llseek, };
@@ -247,7 +253,6 @@ type: VID_TYPE_TUNER, hardware: VID_HARDWARE_SF16MI, fops: &fmi_fops, - kernel_ioctl: fmi_ioctl, };/* ladis: this is my card. does any other types exist? */
drivers/media/radio/radio-terratec.c +9 -4
@@ -185,8 +185,8 @@/* implement the video4linux api */ -static int tt_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg) +static int tt_do_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,void *arg) {struct video_device *dev =video_devdata (file);struct tt_device *tt=dev->priv;
@@ -263,13 +263,19 @@ } } +static int tt_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,unsigned long arg) +{ +return video_usercopy (inode, file, cmd, arg, tt_do_ioctl); +} +static struct tt_device terratec_unit;static struct file_operations terratec_fops = { owner:THIS_MODULE , open: video_exclusive_open, release: video_exclusive_release, - ioctl: video_generic_ioctl, + ioctl: tt_ioctl, llseek: no_llseek, };
@@ -280,7 +286,6 @@ type: VID_TYPE_TUNER, hardware: VID_HARDWARE_TERRATEC, fops: &terratec_fops, - kernel_ioctl: tt_ioctl, };static int __init terratec_init (void )
drivers/media/radio/radio-trust.c +9 -4
@@ -154,8 +154,8 @@write_i2c (5 ,TSA6060T_ADDR , (f <<1 ) |1 , f >>7 ,0x60 | ((f >>15 ) &1 ),0 ); } -static int tr_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg) +static int tr_do_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,void *arg) {switch (cmd) {
@@ -244,11 +244,17 @@ } } +static int tr_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,unsigned long arg) +{ +return video_usercopy (inode, file, cmd, arg, tr_do_ioctl); +} +static struct file_operations trust_fops = { owner:THIS_MODULE , open: video_exclusive_open, release: video_exclusive_release, - ioctl: video_generic_ioctl, + ioctl: tr_ioctl, llseek: no_llseek, };
@@ -259,7 +265,6 @@ type: VID_TYPE_TUNER, hardware: VID_HARDWARE_TRUST, fops: &trust_fops, - kernel_ioctl: tr_ioctl, };static int __init trust_init (void )
drivers/media/radio/radio-typhoon.c +10 -5
@@ -70,7 +70,7 @@static void typhoon_unmute (struct typhoon_device *dev);static int typhoon_setvol (struct typhoon_device *dev,int vol);static int typhoon_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg); +unsigned int cmd,unsigned long arg);#ifdef CONFIG_RADIO_TYPHOON_PROC_FS static int typhoon_get_info (char *buf,char **start,off_t offset,int len);#endif
@@ -163,8 +163,8 @@ } -static int typhoon_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg) +static int typhoon_do_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,void *arg) {struct video_device *dev =video_devdata (file);struct typhoon_device *typhoon = dev->priv;
@@ -243,6 +243,12 @@ } } +static int typhoon_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,unsigned long arg) +{ +return video_usercopy (inode, file, cmd, arg, typhoon_do_ioctl); +} +static struct typhoon_device typhoon_unit = { iobase:CONFIG_RADIO_TYPHOON_PORT ,
@@ -254,7 +260,7 @@ owner: THIS_MODULE, open: video_exclusive_open, release: video_exclusive_release, - ioctl: video_generic_ioctl, + ioctl: typhoon_ioctl, llseek: no_llseek, };
@@ -265,7 +271,6 @@ type: VID_TYPE_TUNER, hardware: VID_HARDWARE_TYPHOON, fops: &typhoon_fops, - kernel_ioctl: typhoon_ioctl, };#ifdef CONFIG_RADIO_TYPHOON_PROC_FS
drivers/media/radio/radio-zoltrix.c +9 -4
@@ -215,8 +215,8 @@return 0 ; } -static int zol_ioctl (struct inode *inode,struct file *file, -unsigned int cmd,void *arg) +static int zol_do_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,void *arg) {struct video_device *dev =video_devdata (file);struct zol_device *zol = dev->priv;
@@ -309,6 +309,12 @@ } } +static int zol_ioctl (struct inode *inode,struct file *file, +unsigned int cmd,unsigned long arg) +{ +return video_usercopy (inode, file, cmd, arg, zol_do_ioctl); +} +static struct zol_device zoltrix_unit; static struct file_operations zoltrix_fops =
@@ -316,7 +322,7 @@ owner: THIS_MODULE, open: video_exclusive_open, release: video_exclusive_release, - ioctl: video_generic_ioctl, + ioctl: zol_ioctl, llseek: no_llseek, };
@@ -327,7 +333,6 @@ type: VID_TYPE_TUNER, hardware: VID_HARDWARE_ZOLTRIX, fops: &zoltrix_fops, - kernel_ioctl: zol_ioctl, };static int __init zoltrix_init (void )
======================================================================
This BitKeeper patch contains the following changesets:
1.587
## Wrapped with gzip_uu ##
begin 664 bkpatch4815 M'XL(`$!2L3P``]V;6V_;R!7'G\5/,<"^9#>6//>+%R[2KK=MT(-4NQ;@6#$ MB\W:$@V*]B8I][OO<$:B2(J).&2T4&T'&D0FSYP9S6_^9PZ/O@._;.+\:G:? MZX_Q0_=^'NV*:YFRT]%O(D_+K+\UKSW/LO,>Y>_9OG]Y?+^$B_899)^G.<Z M2K/_/V=+L([\!SGFZL96I#ZG>+38WPU>__SWW[YYY_?!\'U-?CI3J]OXW_' M!;B^#HHL?]8/T>:-+NX>LO6BR/5ZLXH+O0BS55E?6F((L?EE2!#(>(DXI*(, M4820IBB.(*:2T\"-X$W#\ZX)"J7YQ4265I*@QN%DP*/$EI)=0@2O(+EB MXC7$5Q""0XO@-:)@#H._@&_K^T]!"'2D'POP3!^G5<0Y6DUHZ8G8"9\(>>/ M>8S<QK%610__,!+()_*H(Q<&[_<0&<\^?((:!G\Z,J*M-Y>K.$KUI?70 MO<Y7:9X]ABL,%V%CM!0B54(&%2UQ0D*:,!%IJC&!O&=>>\W7AMU"VYEWGR)! MK(2<0V8\?ZP6FZ_;M_&JB._GCV':\-NTA/(2<PAAJ44H30]B2<@28ZB&^OTE M^WO'"2483YCR38)XLDI[)IQCALM8:Z&7$158$*UDWT(>;GSO-284B@E>Z\]% M'-[U.$VP$J5@2ZRB)=$,4QXRYN=TV_;>9\:%F+*X<W-A>(_[EC87J%RJ"'&2 M*!J2B"1+SR72,;[WVFP6>,I,%_G3INCQ65$2[Y$QEL5A5H23H7T\[EENH&B M9&S*BE[I>%/D68_/"@E8)EE/$$PY@0G**9^/G>,-SA$U>8YWNO/V4.1FWWX MT&O))"I#*"!/.$6&Q@2'Q,_KCO&]UY11/F5UN)VIQVG*("^9%B*2FE$FE4I0 M,F;7Z_%9"03';M4K_3%M24#ELS1;M-$6J8R<XX0I$1(9*XXQ]Z3PP'IC]U!4 MLBD<?GJ\R\SU/20J901&169A<,:HA)123[\[QO=><ZS8I'TZ76T>]++':RR@ MD0$>)U(G4!,2)V%OF#3<>(-%IN"4N0YU%/?M>41*$W:%/!$1BBC19M6HT,_G MENGF+JT4F;(ZXCS71K;Z9%P26(J(+DE(4&2"DCC&GB1VK3?V:F:",!N-#XM> MJE#]#PJQ@D@_Q_]]LWG:Q(LH]HRN"#+K'B+S7Z68#>ZY#>W))5(R2M,35#_ M&J(OA?8*S.G91/9_!8@K2A@S,;X+%_\%YOFO]I^)V=\-_.Q&G9NS-8*</6 M262:3:&+-3IN@#.[@=C]T.4?4BSL'AX973U*2S,GXWGX`?;7(#MFTGZ8-ZK M7B^"V6P&W,_3>I/>KN/(F@Q7T05XSM((_*#SV^^#MUA0P+_0Z:@>#[NKWS$? M[BVPW?XOF.5Q\92OW8?PP2R_/,P>/[W:FK<6W=WF^HN^F?C^Q^"WX#_!#5;F M&&G&89N9_=/5;-8=Q45P0ZKSYA$*&](T&D)?\>P[1WM8-R$54@127)I=AJD1 M&'(PYV>)H8L&!F/8F)HQ%I>K2/[^A5V#A?SC\&-Q-6M]G6WK<&W,CK-:BJ M2VZ0$-7UKDG7#^DZ!@T"W2W)TSHLTFP]F#]C3U4.;/_DP#+SFH;FDFI^K_?O M1;K0KZK;*N]-D&$)LHW7T*M[A;NW:BJFZUZ.(=T>I?'CZV368<SQ/-8W"[3\
MR.P8=UPBB,TQ7F'THN311HZ#N:PG9@R5&/%*&S$2;6W,BS&:.$P2%6E+HNEK M3$<G4<+&N'<*2*#EUS4'^T^Q%T"$C@K@+JTSB3*OM),G9"W;.\:$.:(CBE\2 M8RZ/-IRQ[;R,"C^Y"S]Y)_S4GT^'&&5MQ$Q?9X-88]QUD,FLPKNF#C)W3ANV M,"='V=J>:J>@Y77F]B.K97H;5#)ASJZ2C1$O>:Y@N23"8+"VTS*&*R(KS7IK M/ILV5];DR!/=U[&B2@%VV-4W0_@;P-4>O.7KAF$;>KNFIJOANP&,$7$4L%TN M=IA?KE:/\3:MG>,X9((+.1+$B^7?/;,GXP4+XJL>%'<FSL9F3<YHEX8]^9, MO'LZ9:[D0,*PLA)FFVZ>I)8Q"@?D2+8/=Z9@YOGXR3='TC*^RY"($C/$^3@Q M.\\,B7N>YI$AV4[,&-*XS;/95]_\B*VM4*;*Z^=&)',)4:D2XS(;YL8D7!, M8L0F9,U]573G,B3</T-B;JJ&70'(N3/"3Y8J.2C@F(2H;YG)4$B_4&:RQ12S MDD,3I%E,U<O00ULV,X#2@YD9I8B86D7$K*V(UO!)PDZ,.GKHNCJGL+,]^+TF M$J>)I+DS-;RO))$</]G5=253>/.L?/&3Q([Q;>($86M<O*38TY7R#);$>F)& MH0:510W!/RPYB<QI\O\I.8D4LY)NF[WX[P]V&/*C?-45<E/X\JSA\^.K8WS' MERA1]>C/\B5?!E^N*'$P7_7$C.*+,,L7X6V^C,%10G9$QDA'QJIN1D%\$KB:
M@ZX%C+A#'6D=ZFJ_*[S8\1/=OG)E"E^^U35^@'6M;PG#N&0*P1?U>,U6"PT& M;#\QXTI/I"L]46W"BA,^7N.=W']Q1@I6'"H8%B[W+UJY_Z*A8/)XA+BMXIW$ MET^-L2=<3=..+(Q(R3$9E?L_6[)LS?1PLMRLC,**V=0_8IW4?Y&?\)$:[V"5 MGQ%6><\C->0>J:$65GGCD1H^CM6N)'<26'Y%PYYHM8WO9$N4U?>(QB3]S5EC MSLZ2+E<&/1ROW<R,*M:R!W?[6B4H!N8A$>?N27>GF&3KRN@J2\^'W;ON_/LZ M#9R=T>\)=;5=MMD3VG3>8GJ\K++^9L443#V_^^&':>]W/S"4)2%"OJC\B/LR MRV!*ZXD95[PE7?%6)[HT1D]P?JOJFWBWF_,YOS4'79=N(7M^<TV-6.UW5;1%
Quoted 1 line
[/EM]P7?\"X.[S=/JVNL*5R&6@6_`TL*GU-0/```
`
end