$ od -c -N 50000 [eris]<Lisp>JCAI>library>IMAGEOBJ.TEDIT!1 0000000 I n t r o d u c i n g O b j e 0000020 c t s i n t o D o c u m e n 0000040 t s \r \r s t o r e d o n : { 0000060 p h y l u m } < l i s p c o r e 0000100 > l i b r a r y > I m a g e o b 0000120 j . T E d i t \r l a s t c h a 0000140 n g e d : F e b r u a r y 1 0000160 9 , 1 9 8 5 \r b y : R . B 0000200 u r t o n J . S y b a l s k y 0000220 \r \r \r T h e f o l l o w i n g 0000240 p r o p o s a l a r o s e 0000260 o u t o f d i s c u s s i o 0000300 n s b e t w e e n J o h n 0000320 S y b a l s k y , R o n K a 0000340 p l a n a n d R i c h a r d 0000360 B u r t o n a b o u t p u 0000400 t t i n g o b j e c t s i n 0000420 t o T e d i t a n d i n t 0000440 e g r a t i n g s h i f t s 0000460 e l e c t i o n a m o n g v 0000500 a r i o u s t y p e s o f 0000520 w i n d o w s . \r T h e g o a 0000540 l s a r e : \r 1 ) d e f i 0000560 n e a n o b j e c t i n t 0000600 e r f a c e f o r T e d i t 0000620 t h a t a l l o w s o b j 0000640 e c t s t o e x i s t i n 0000660 a d o c u m e n t a n d 0000700 b e e d i t t e d w i t h 0000720 t h e i r o w n e d i t o r 0000740 . ( C u r r e n t l y f o 0000760 r f o r m a t t i n g , T e 0001000 d i t w i l l v i e w a n 0001020 o b j e c t a s a l a r 0001040 g e c h a r a c t e r a n d 0001060 n o t t r y t o " f l o 0001100 w " t e x t a r o u n d i 0001120 t . M a y b e l a t e r . 0001140 ) \r 2 ) p r o v i d e a 0001160 f a c i l i t y i n w h i c 0001200 h o b j e c t s c o u l d 0001220 b e s h i f t s e l e c t e 0001240 d ( h e r e a f t e r r e f 0001260 e r r e d t o a s " c o p 0001300 y s e l e c t e d " a s i 0001320 n S t a r ) b e t w e e n 0001340 w i n d o w s i n w h i c h 0001360 t h e s o u r c e w i n d 0001400 o w ( w h e r e t h e o b 0001420 j e c t w a s c o m i n g 0001440 f r o m ) d o e s n o t h 0001460 a v e t o k n o w w h a t 0001500 s o r t o f w i n d o w 0001520 t h e d e s t i n a t i o n 0001540 w i n d o w i s a n d t h 0001560 e d e s t i n a t i o n d o 0001600 e s n o t h a v e t o k 0001620 n o w w h e r e t h e i n 0001640 s e r t i o n c a m e f r o 0001660 m . A s a s i m p l e 0001700 e x a m p l e , w e w a n t 0001720 t o b e a b l e t o c 0001740 o p y s e l e c t f r o m 0001760 a G r a p h e r w i n d o w 0002000 i n t o a T e d i t w i 0002020 n d o w . M o r e c o m p l 0002040 i c a t e d , w e w a n t 0002060 c o p y s e l e c t f r o m 0002100 a D e d i t w i n d o w 0002120 i n t o a T e d i t w i n 0002140 d o w t o p r e s e r v e 0002160 s t r u c t u r e ( i f d e 0002200 s i r e d ) w h i l e c o p 0002220 y s e l e c t i n t o a 0002240 t y p e s c r i p t w i n d o 0002260 w t o t r e a t i t a s 0002300 t y p e - i n . \r I m a g e 0002320 O b j e c t s \r T o d o t h 0002340 i s , w e p r o v i d e a 0002360 n e w d a t a t y p e , I 0002400 M A G E O B J , w h i c h c 0002420 o n t a i n s t h e d a t a 0002440 a n d t h e p r o c e d u 0002460 r e s n e c e s s a r y t o 0002500 m a n i p u l a t e a n o 0002520 b j e c t t h a t i s t o 0002540 b e p a r t o f a d o 0002560 c u m e n t . A d d i t i o 0002600 n a l l y , t h e r e i s 0002620 a n e w d a t a t y p e , 0002640 I M A G E F N S , w h i c h 0002660 i s a v e c t o r o f t 0002700 h e p r o c e d u r e s n e 0002720 c e s s a r y t o d e f i n 0002740 e t h e b e h a v i o r o 0002760 f a t y p e o f I M A G 0003000 E O B J . H a v i n g t h 0003020 e o p e r a t i o n s g r o 0003040 u p e d i n a s e p a r a 0003060 t e d a t a t y p e a l l o 0003100 w s m u l t i p l e i n s t 0003120 a n c e s o f t h e s a m 0003140 e t y p e o f i m a g e 0003160 o b j e c t t o s h a r e 0003200 t h e i r p r o c e d u r e 0003220 v e c t o r s . T h e d a 0003240 t a a n d p r o c e d u r e 0003260 f i e l d s o f a n I M 0003300 A G E O B J h a v e a u n 0003320 i f o r m i n t e r f a c e 0003340 t h r o u g h t h e f u n c 0003360 t i o n I M A G E O B J P R O 0003400 P . I M A G E O B J s a r e 0003420 c r e a t e d w i t h t h 0003440 e f u n c t i o n I M A G E 0003460 O B J C R E A T E . I M A G E 0003500 F N S a r e c r e a t e d 0003520 w i t h t h e f u n c t i o 0003540 n I M A G E F N S C R E A T E 0003560 . \r \r ( I M A G E F N S C R E A 0003600 T E D I S P L A Y F N I M A 0003620 G E B O X F N P U T F N G E 0003640 T F N C O P Y F N B U T T O 0003660 N E V E N T I N F N C O P Y B 0003700 U T T O N E V E N T I N F N W 0003720 H E N M O V E D F N W H E N I 0003740 N S E R T E D F N W H E N D E 0003760 L E T E D F N W H E N C O P I 0004000 E D F N W H E N O P E R A T E 0004020 D O N F N P R E P R I N T F N 0004040 ) \r R e t u r n s a n I M A 0004060 G E F N S w h i c h c o n t 0004100 a i n s t h e f u n c t i o 0004120 n s n e c e s s a r y t o 0004140 d e f i n e t h e b e h a v 0004160 i o r o f a n I M A G E O 0004200 B J . T h e a r g u m e n 0004220 t s a r e a s f o l l o w 0004240 s : \r D I S P L A Y F N - f 0004260 n o f { i m a g e O b j i 0004300 m a g e S t r e a m } c a l l 0004320 e d t o d i s p l a y t h 0004340 e o b j e c t a t t h e 0004360 c u r r e n t p o s i t i o n 0004400 o n i m a g e S t r e a m 0004420 - t y p e o f s t r e a m 0004440 i n d i c a t e s w h e t h 0004460 e r d e v i c e i s D I S 0004500 P L A Y , P R E S S o r I 0004520 N T E R P R E S S . \r I M A G E 0004540 B O X F N - f n o f { i 0004560 m a g e O b j i m a g e S t r 0004600 e a m c u r r e n t X r i g 0004620 h t M a r g i n } s h o u l d 0004640 r e t u r n t h e s i z e 0004660 o f t h e o b j e c t a 0004700 s a l i s t w h o s e 1 0004720 s t a n d 2 n d e l e m e 0004740 n t s a r e t h e w i d t 0004760 h a n d h e i g h t o f 0005000 t h e o b j e c t i m a g e 0005020 a n d w h o s e 3 r d a 0005040 n d 4 t h e l e m e n t s 0005060 a r e t h e p o s i t i o n 0005100 o f t h e l e f t e d g 0005120 e a n d b a s e l i n e o 0005140 f t h e i m a g e r e l a 0005160 t i v e t o t h e c u r r 0005200 e n t p o s i t i o n . F o 0005220 r c h a r a c t e r s , t h 0005240 e 3 r d e l e m e n t w o 0005260 u l d b e t h e d e s c e 0005300 n t a n d 4 t h e l e m e 0005320 n t w o u l d b e 0 s i 0005340 n c e w e d o n ' t s u p 0005360 p o r t l e f t k e r n i n 0005400 g . W e w i l l a l s o 0005420 w a n t t o s u p p o r t 0005440 5 t h a n d 6 t h e l e 0005460 m e n t s w h i c h a r e 0005500 t h e a m o u n t s t o m 0005520 o v e t h e c u r r e n t 0005540 p o s i t i o n i n t h e 0005560 X a n d Y d i r e c t i o 0005600 n s a f t e r t h e o b j 0005620 e c t i s d i s p l a y e d 0005640 . T h e R E C O R D I M 0005660 A G E B O X i s p r o v i d 0005700 e d w i t h f i e l d s ( 0005720 X S I Z E Y S I Z E Y D E S 0005740 C X K E R N ) . T h e I M 0005760 A G E B O X F N l o o k s a 0006000 t t h e t y p e o f t h 0006020 e s t r e a m t o d e t e 0006040 r m i n e t h e o u t p u t 0006060 d e v i c e i f t h e s 0006100 i z e c h a n g e s f r o m 0006120 d e v i c e t o d e v i c 0006140 e . ( F o r e x a m p l e , 0006160 a b i t m a p o b j e c t 0006200 m a y s p e c i f y a s 0006220 c a l e f a c t o r t h a t 0006240 i s i g n o r e d w h e n 0006260 i t i s d i s p l a y e d 0006300 o n t h e s c r e e n . ) 0006320 { n o t e : t h i s d o e 0006340 s n o t a d d r e s s , f 0006360 o r e x a m p l e , t h e 0006400 l a y i n g o u t o f a n 0006420 n o t a t i o n s a s i n l 0006440 i n e t e x t , f o o t n o 0006460 t e s o r b e t w e e n l 0006500 i n e t e x t . ) T h e 0006520 c u r r e n t X a n d R i g 0006540 h t M a r g i n f i e l d s 0006560 a l l o w a n o b j e c t 0006600 t o t a k e a c c o u n t 0006620 o f i t s e n v i r o n m e 0006640 n t w h e n d e c i d i n g 0006660 h o w b i g i t i s . 0006700 I f t h e s e a r e n o 0006720 t a v a i l a b l e , t h e 0006740 y w i l l b e N I L . \r T 0006760 E D I T N O T E : T E d i 0007000 t o n l y c a l l s t h i 0007020 s f u n c t i o n d u r i n 0007040 g l i n e f o r m a t t i n 0007060 g , t h e n c a c h e s t 0007100 h e i m a g e b o x a s ( 0007120 I M A G E O B J P R O P o b j 0007140 ' B O U N D B O X ) . T h 0007160 i s a v o i d s t h e n e 0007200 e d t o c a l l I M A G E 0007220 B O X F N w h e n i n c o m 0007240 p l e t e X & m a r g i n 0007260 i n f o i s a v a i l a b 0007300 l e . \r P U T F N - f n o 0007320 f { i m a g e O b j f i l e 0007340 S t r e a m } c a l l e d t 0007360 o s a v e t h e o b j e c 0007400 t o n a f i l e . P r 0007420 i n t s c h a r a c t e r s 0007440 o r w h a t e v e r o n f 0007460 i l e S t r e a m t h a t w 0007500 h e n r e a d b y G E T F 0007520 N ( s e e b e l o w ) w i 0007540 l l r e g e n e r a t e t h 0007560 e T e d i t o b j e c t . 0007600 ( T e d i t t a k e s c a 0007620 r e o f w r i t i n g o u 0007640 t t h e n a m e o f t h 0007660 e G E T F N . ) \r G E T F N 0007700 - f n o f { f i l e S t r 0007720 e a m T e x t S t r e a m } 0007740 c a l l e d w h e n t h e 0007760 o b j e c t i s e n c o u n 0010000 t e r e d o n t h e f i l 0010020 e d u r i n g i n p u t . 0010040 I t s h o u l d r e a d 0010060 t h e s t u f f t h a t w 0010100 a s p u t o u t b y t h 0010120 e P U T F N a n d r e t u 0010140 r n a n I M A G E O B J . 0010160 { n o t e : w e m a y w a 0010200 n t t o h a v e a l i b 0010220 r a r y o f i m a g e o b 0010240 j e c t t y p e s t h a t 0010260 i s s e a r c h e d w h e n 0010300 a G E T F N i s e n c o 0010320 u n t e r e d t h a t i s 0010340 u n d e f i n e d w h i c h 0010360 w o u l d l o a d t h e i 0010400 n f o r m a t i o n n e c e s 0010420 s a r y t o h a n d l e t 0010440 h a t t y p e o f o b j e 0010460 c t . ) \r C O P Y F N - f n 0010500 o f { i m a g e O b j } s 0010520 h o u l d r e t u r n a c 0010540 o p y o f i m a g e O b j . 0010560 T h e C O P Y F N i s 0010600 c a l l e d d u r i n g a 0010620 c o p y - s e l e c t o p e r 0010640 a t i o n . ) \r B U T T O N E V 0010660 E N T I N F N - f n o f 0010700 { i m a g e O b j w i n d o w 0010720 S t r e a m S e l e c t i o n 0010740 r e l X r e l Y w i n d o 0010760 w T e x t S t r e a m B u t 0011000 t o n } . T h e u s e r 0011020 h a s p r e s s e d a b u 0011040 t t o n i n s i d e t h e 0011060 o b j e c t . T h e B U T 0011100 T O N E V E N T I N F N s h o 0011120 u l d d e c i d e w h e t h 0011140 e r o r n o t t o d o 0011160 h a n d l e t h e b u t t o 0011200 n , t r a c k t h e c u r 0011220 s o r a n d r e s p o n d 0011240 t o t h e b u t t o n p r 0011260 e s s e s t o b r i n g a 0011300 b o u t w h a t e v e r e d 0011320 i t ( o r s e l e c t i o n 0011340 b u t s e e C O P Y B U T 0011360 T O N E V E N T I N F N b e l 0011400 o w ) p r o t o c o l s t h 0011420 e o b j e c t w i s h e d 0011440 t o s u p p o r t . I f 0011460 B U T T O N E V E N T I N F N 0011500 r e t u r n s N I L , T E d 0011520 i t w i l l t r e a t t h 0011540 e b u t t o n p r e s s a 0011560 s a s e l e c t i o n a t 0011600 i t s l e v e l . N o t 0011620 e t h a t w h e n i t i 0011640 s f i r s t c a l l e d , 0011660 a b u t t o n w i l l b e 0011700 d o w n . I t i s e n 0011720 v i s i o n e d t h a t T e 0011740 d i t i t s e l f c o u l d 0011760 b e u s e d r e c u r s i 0012000 v e l y t o e d i t t e x 0012020 t t h a t w a s w i t h i 0012040 n a n o b j e c t . A l 0012060 s o t h e B U T T O N E V E 0012100 N T I N F N s h o u l d s u 0012120 p p o r t t h e b u t t o n 0012140 d o w n p r o t o c o l t 0012160 o d e s c e n t i n s i d e 0012200 o f a n y c o m p o s i t 0012220 e o b j e c t s w i t h i 0012240 t . I t i s a l s o e 0012260 n v i s i o n e d t h a t t 0012300 h e B U T T O N E V E N T I N 0012320 F N w i l l r e l i n q u i 0012340 s h c o n t r o l ( i . e . 0012360 R E T U R N ) w h e n t h 0012400 e c u r s o r l e a v e s 0012420 i t s o b j e c t ' s r e g 0012440 i o n a l t h o u g h t h e 0012460 r e m a y b e c a s e s 0012500 w h e r e i t w o u l d n 0012520 o t . I n a n y c a s e 0012540 , s t a n d a r d u s e f u 0012560 l f u n c t i o n s f o r 0012600 c u r s o r t r a c k i n g 0012620 a n d e d i t t i n g i n 0012640 t h e T e d i t t r a d i t 0012660 i o n w i l l b e m a d e 0012700 a v a i l a b l e t o l e 0012720 s s e n t h e t a s k o f 0012740 b u i l d i n g B U T T O N 0012760 E V E N T I N F N s . ) \r T E D 0013000 I T N O T E : W h e n t 0013020 h i s f u n c t i o n g e t 0013040 s c a l l e d , t h e w i 0013060 n d o w ' s c l i p p i n g 0013100 r e g i o n a n d o f f s e 0013120 t s h a v e b e e n c h a 0013140 n g e d s o t h a t t h e 0013160 l o w e r l e f t c o r n 0013200 e r o f t h e o b j e c t 0013220 ' s i m a g e i s a t ( 0013240 0 , 0 ) , a n d o n l y t 0013260 h e o b j e c t ' s i m a g 0013300 e c a n b e c h a n g e d 0013320 . T h e S e l e c t i o n 0013340 i s a v a i l a b l e f o 0013360 r c h a n g i n g t o f i 0013400 t y o u r n e e d s ; t h 0013420 e m o u s e b u t t o n w 0013440 e n t d o w n a t ( r e l 0013460 X , r e l Y ) w i t h i n t 0013500 h e o b j e c t ' s i m a g 0013520 e . Y o u c a n a f f e 0013540 c t h o w T E d i t t r e 0013560 a t s t h e s e l e c t i o 0013600 n b y r e t u r n i n g o 0013620 n e o f s e v e r a l v a 0013640 l u e s : R e t u r n N I 0013660 L a n d T E d i t w i l l 0013700 f o r g e t t h a t y o u 0013720 s e l e c t e d a n o b j 0013740 e c t ; r e t u r n t h e 0013760 a t o m D O N ' T a n d T 0014000 E d i t w o n ' t p e r m i 0014020 t t h e s e l e c t i o n ; 0014040 r e t u r n t h e a t o m 0014060 C H A N G E D , a n d T E 0014100 d i t w i l l u p d a t e 0014120 t h e s c r e e n . U s e 0014140 t h i s l a t t e r t o 0014160 s i g n a l T E d i t t h a 0014200 t t h e o b j e c t h a s 0014220 c h a n g e d s i z e o r 0014240 s h o u l d h a v e s i d 0014260 e e f f e c t s o n o t h 0014300 e r p a r t s o f t h e 0014320 s c r e e n i m a g e . \r C O 0014340 P Y B U T T O N E V E N T I N F 0014360 N - f n o f { i m a g e 0014400 O b j w i n d o w S t r e a m 0014420 } . T h e u s e r h a s 0014440 b u t t o n e d i n s i d e 0014460 a n o b j e c t a n d a 0014500 c o p y k e y i s h e l 0014520 d d o w n . ( I n i n i 0014540 t i a l i m p l e m e n t a t 0014560 i o n s , t h e c o p y k 0014600 e y s w i l l b e t h e 0014620 s h i f t k e y s . T h i 0014640 s i s p r o b a b l y s o 0014660 m e t h i n g t h a t s h o 0014700 u l d b e s e t t a b l e 0014720 ( i n t h e t e r m i n a l 0014740 t a b l e ? ) . ) M a n y 0014760 o f t h e c o m m e n t s 0015000 a b o u t B U T T O N E V E 0015020 N T I N F N a p p l y h e r 0015040 e a l s o . A l s o s e 0015060 e t h e d i s c u s s i o n 0015100 b e l o w a b o u t c o p 0015120 y - s e l e c t i n g o b j e 0015140 c t s b e l o w . \r W H E N I 0015160 N S E R T E D F N - \r W H E N 0015200 M O V E D F N - \r W H E N D E 0015220 L E T E D F N - \r W H E N C O 0015240 P I E D F N - f n s o 0015260 f { i m a g e O b j T a r g 0015300 e t W i n d o w S t r e a m S 0015320 o u r c e T e x t S t r e a m 0015340 T a r g e t T e x t S t r e a m 0015360 } . P r o v i d e h o o k 0015400 s b y w h i c h t h e o 0015420 b j e c t c a n g e t n o 0015440 t i f i e d w h e n T e d i 0015460 t p e r f o r m s a n o p 0015500 e r a t i o n o n t h e w 0015520 h o l e o b j e c t . T h 0015540 e d i f f e r e n t o p e r 0015560 a t i o n s a r e : I N S E 0015600 R T , M O V E , D E L E T E 0015620 , C O P Y . { A l s o n 0015640 e e d a h o o k f o r d 0015660 e l e t e u n d o n e w h i 0015700 c h m a y b e t h e s a 0015720 m e a s i n s e r t . } 0015740 W H E N C O P I E D F N w i l 0015760 l g e t c a l l e d i n 0016000 a d d i t i o n t o ( a n d 0016020 a f t e r ) t h e C O P Y 0016040 F N a b o v e . T h e s e 0016060 f u n c t i o n s a l l o w 0016100 o b j e c t s t o h a v e 0016120 s i d e e f f e c t s . 0016140 F o r e x a m p l e , a n n 0016160 o t a t i o n s i n a d o 0016200 c u m e n t a t i o n m a i n 0016220 t a i n s a w i n d o w w 0016240 h i c h h a s s u m m a r y 0016260 o f a l l a n n o t a t i 0016300 o n s i n t h e d o c u m 0016320 e n t . T h e s e f u n c 0016340 t i o n s a l l o w s t h a 0016360 t s u m m a r y t o b e 0016400 u p d a t e d a s t h e a 0016420 n n o t a t i o n i s o p e 0016440 r a t e d o n b y T e d i 0016460 t . \r W H E N O P E R A T E D O 0016500 N F N - f n o f { i m a 0016520 g e O b j w i n d o w S t r e 0016540 a m h o w O p e r a t e d O n 0016560 S e l e c t i o n T e x t S 0016600 t r e a m } . P r o v i d e 0016620 s a h o o k f o r m i s 0016640 c e l l a n e o u s e d i t 0016660 o p e r a t i o n s . F o r 0016700 n o w t h e v a l u e s 0016720 o f h o w O p e r a t e d O n 0016740 a r e S E L E C T E D a n 0016760 d D E S E L E C T E D , H I 0017000 G H L I G H T E D a n d U N 0017020 H I L I G H T E D . T h i s 0017040 i s d i f f e r e n t f r 0017060 o m t h e B U T T O N E V E 0017100 N T I N F N b e c a u s e i 0017120 t w i l l b e c a l l e d 0017140 w h e n t h e u s e r i 0017160 s e x t e n d i n g a s e 0017200 l e c t i o n t h r o u g h 0017220 t h e o b j e c t i . e . 0017240 t h e o b j e c t i s b e 0017260 i n g t r e a t e d i n t 0017300 o t o a s a c h a r a c t 0017320 e r f r o m T e d i t . 0017340 H I G H L I G H T E D a n d 0017360 U N H I G H L I G H T E D r e 0017400 f e r t o t h e s e l e c 0017420 t i o n b e i n g h i g h l 0017440 i g h t e d o n t h e s c 0017460 r e e n , a n d t o h a v 0017500 i n g t h e h i g h l i g h 0017520 t i n g t u r n e d o f f . 0017540 T h e s e a r e c a l l 0017560 e d w h e n t h e s e l e 0017600 c t i o n i s i n s i d e 0017620 t h e o b j e c t , s o i 0017640 t m a y h a n d l e i t . 0017660 \r T E D I T N O T E : A s 0017700 w i t h t h e B U T T O N 0017720 E V E N T I N F N , t h e o 0017740 f f s e t a n d c l i p p i 0017760 n g r e g i o n f o r t h 0020000 e d i s p l a y a r e s e 0020020 t s o t h e o b j e c t ' 0020040 s i m a g e i s a t ( 0 0020060 , 0 ) , a n d o n l y t h 0020100 a t i m a g e a r e a c a 0020120 n b e m o d i f i e d . \r P 0020140 R E P R I N T F N - f n o 0020160 f { i m a g e O b j } c a l 0020200 l e d t o c o n v e r t t 0020220 h e o b j e c t i n t o s 0020240 o m e t h i n g t h a t c a 0020260 n b e p r i n t e d f o r 0020300 i n c l u s i o n i n d o 0020320 c u m e n t s . I t s h o 0020340 u l d r e t u r n a n o b 0020360 j e c t t h a t t h e r e 0020400 c e i v i n g w i n d o w c 0020420 a n p r i n t ( u s i n g 0020440 e i t h e r P R I N 1 o r 0020460 P R I N 2 - i t s c h o i 0020500 c e ) t o o b t a i n a 0020520 c h a r a c t e r r e p r e s 0020540 e n t a t i o n o f t h e 0020560 o b j e c t . I f P R E P 0020600 R I N T F N i s N I L , t 0020620 h e O B J E C T D A T U M i 0020640 t s e l f i s u s e d . 0020660 T e d i t w o u l d u s e 0020700 t h i s f u n c t i o n w h 0020720 e n t h e u s e r i n d i 0020740 c a t e s t h a t h e w a 0020760 n t s t h e c h a r a c t e 0021000 r s f r o m a n o b j e c 0021020 t r a t h e r t h a n t h 0021040 e o b j e c t i t s e l f 0021060 ( p r e s u m a b l y u s i n 0021100 g P R I N 1 c a s e ) . ( 0021120 I n t e r f a c e t o t h i 0021140 s " u n s t r u c t u r e " 0021160 o p e r a t i o n i s n o t 0021200 y e t d e t e r m i n e d . 0021220 ) \r I m a g e O b j e c t s 0021240 a n d S e c u r i t y \r E a c 0021260 h l e g i t i m a t e G E T 0021300 F N n e e d s t o b e k 0021320 n o w n t o t h e s y s t 0021340 e m , t o p r e v e n t v 0021360 a r i o u s T r o j a n - h o 0021400 r s e p r o b l e m s a n d 0021420 t o a l l o w t h e a u 0021440 t o m a t i c l o a d i n g 0021460 o f t h e s u p p o r t i n 0021500 g c o d e f o r i n f r e 0021520 q u e n t l y - u s e d I M A 0021540 G E O B J s . T o t h i s 0021560 e n d , t h e r e i s a 0021600 g l o b a l l i s t , I M 0021620 A G E O B J G E T F N S . I 0021640 t c o n t a i n s a n e n 0021660 t r y f o r e a c h G E T 0021700 F N . T h e e x i s t e n 0021720 c e o f t h e e n t r y 0021740 m a r k s t h e G E T F N 0021760 a s l e g i t i m a t e ; t 0022000 h e e n t r y i t s e l f 0022020 i s a P L i s t , w h i c 0022040 h c a n h o l d i n f o r 0022060 m a t i o n a b o u t t h e 0022100 G E T F N ( m o r e a b o 0022120 u t t h i s l a t e r ) . \r 0022140 N o a c t i o n n e e d s 0022160 t o b e t a k e n f o r 0022200 G E T F N s t h a t a r e 0022220 c u r r e n t l y i n u s e 0022240 : T h e f u n c t i o n 0022260 I M A G E F N S C R E A T E a 0022300 u t o m a t i c a l l y a d d 0022320 s i t s G E T F N a r g u 0022340 m e n t t o t h e l i s t 0022360 . H o w e v e r , p a c k 0022400 a g e s t h a t s u p p o r 0022420 t o b s o l e t e v e r s i 0022440 o n s o f o b j e c t s m 0022460 a y n e e d t o e x p l i 0022500 c i t l y a d d t h e o b 0022520 s o l e t e G E T F N s . 0022540 F o r e x a m p l e , T E d 0022560 i t s u p p o r t s b i t m 0022600 a p - t y p e I M A G E O B J 0022620 s . R e c e n t l y , t h 0022640 e r e w a s a c h a n g e 0022660 i n t h e f o r m a t i 0022700 n w h i c h o b j e c t s 0022720 w e r e s t o r e d ; t o 0022740 r e t a i n c o m p a t i b i 0022760 l i t y w i t h t h e o l 0023000 d o b j e c t f o r m a t , 0023020 t h e e a r e n o w t o 0023040 w G E T F N s . T h e c 0023060 u r r e n t G E T F N i s 0023100 a u t o m a t i c a l l y o n 0023120 t h e l i s t , c o u r t 0023140 e s y o f I M A G E F N S C 0023160 R E A T E . H o w e v e r , 0023200 t h e c o d e f i l e t 0023220 h a t s u p p o r t s t h e 0023240 o l d b i t m a p o b j e 0023260 c t s h a s a c l a u s e 0023300 i n i t : \r ( A D D V A R S 0023320 ( I M A G E O B J G E T F N S 0023340 ( o l d - g e t f n - n a m e 0023360 ) ) ) \r t h a t a d d s t h 0023400 e o l d G E T F N t o I 0023420 M A G E O B J G E T F N S . \r A 0023440 u t o m a t i c a l l y L o a 0023460 d i n g t h e C o d e t o 0023500 S u p p o r t a n I M A G 0023520 E O B J \r T h i s i s a n 0023540 i n t e r i m f a c i l i t y 0023560 ; a m o r e c o m p l e t 0023600 e d a t a b a s e o f I M 0023620 A G E O B J s a n d f i l e 0023640 s i s p l a n n e d . F 0023660 o r a g i v e n G E T F N 0023700 , t h e e n t r y o n I 0023720 M A G E O B J G E T F N S m a 0023740 y b e a p r o p e r t y 0023760 l i s t o f i n f o r m a t 0024000 i o n . R i g h t n o w , 0024020 t h e o n e p o s s i b l 0024040 e p r o p e r t y i s : \r F 0024060 I L E \t t h e n a m e o f 0024100 t h e f i l e w h i c h c 0024120 a n b e L O A D e d i f 0024140 t h e G E T F N i s n ' t 0024160 d e f i n e d . T h i s f 0024200 i l e s h o u l d a l s o 0024220 d e f i n e a l l t h e o 0024240 t h e r f u n c t i o n s n 0024260 e e d e d t o s u p p o r t 0024300 t h a t k i n d o f I M 0024320 A G E O B J . \r O t h e r p r 0024340 o p e r t i e s m a y b e 0024360 d e f i n e d i n t h e f 0024400 u t u r e . \r F o r e x a m p 0024420 l e , T E d i t i m p l e m 0024440 e n t s b i t m a p I M A G 0024460 E O B J s , w h i c h u s e 0024500 t h e G E T F N B M O B J 0024520 . G E T F N 2 ; i t s e n t 0024540 r y w o u l d l o o k l i 0024560 k e : \r ( B M O B J . G E T F N 0024600 2 F I L E I M A G E O B J ) 0024620 \r i n d i c a t i n g t h a t 0024640 t h e s u p p o r t c o d 0024660 e f o r b i t m a p i m a 0024700 g e o b j e c t s r e s i d 0024720 e s o n t h e f i l e I 0024740 M A G E O B J , a n d t h a 0024760 t t h e G E T F N f o r 0025000 t h e m i s B M O B J . G E 0025020 T F N 2 . \r T h i s m a k e s 0025040 i t p o s s i b l e t o 0025060 h a v e e n t r i e s f o r 0025100 G E T F N s w h o s e s u 0025120 p p o r t i n g c o d e i s 0025140 n ' t l o a d e d - - o n e 0025160 m i g h t , f o r i n s t a 0025200 n c e , h a v e h i s I N 0025220 I T f i l e a d d e n t r 0025240 i e s t o I M A G E O B J G 0025260 E T F N S f o r t h e k i 0025300 n d s o f i m a g e o b j 0025320 e c t s h e c o m m o n l y 0025340 u s e s . T h e s y s t 0025360 e m d e f a u l t r e a d i 0025400 n g m e t h o d w i l l a 0025420 u t o m a t i c a l l y l o a 0025440 d t h e c o d e , o n l y 0025460 a s n e e d b e . \r B u i 0025500 l t - i n S u p p o r t F u 0025520 n c t i o n s \r ( I M A G E F N 0025540 S P X ) - R e t u r n s 0025560 X i f X i s a n I M A 0025600 G E F N S , N I L o t h e r 0025620 w i s e . \r ( I M A G E O B J C 0025640 R E A T E O B J E C T D A T U 0025660 M I M A G E F N S ) \r R e t u 0025700 r n s a n I M A G E O B J 0025720 w h i c h c o n t a i n s t 0025740 h e o b j e c t d a t u m 0025760 O B J E C T D A T U M a n d 0026000 t h e o p e r a t i o n s v 0026020 e c t o r I M A G E F N S . 0026040 O B J E C T D A T U M c a n 0026060 b e a r b i t r a r y d a 0026100 t a . \r ( I M A G E O B J P X 0026120 ) - R e t u r n s X i f 0026140 X i s a n I M A G E O B 0026160 J , N I L o t h e r w i s e 0026200 . \r \r ( I M A G E O B J P R O P 0026220 I M A G E O B J E C T P R O 0026240 P E R T Y { N E W V A L U E } 0026260 ) \r A c c e s s e s a n d s 0026300 e t s p r o p e r t i e s o 0026320 f a n I M A G E O B J . 0026340 I t c a n b e u s e d o 0026360 n t h e s y s t e m p r o 0026400 p e r t i e s : O B J E C T D 0026420 A T U M , D I S P L A Y F N , 0026440 I M A G E B O X F N , P U T 0026460 F N , G E T F N , C O P Y F 0026500 N , B U T T O N E V E N T I N 0026520 F N , C O P Y B U T T O N E V 0026540 E N T I N F N , W H E N O P E 0026560 R A T E D O N F N , a n d P 0026600 R E P R I N T F N . A d d i 0026620 t i o n a l l y , i t c a n 0026640 b e u s e d t o s a v e 0026660 a r b i t r a r y p r o p e 0026700 r t i e s o n a n I M A G 0026720 E O B J . \r R e a d i n g a n 0026740 d W r i t i n g I M A G E O 0026760 B J s o n F i l e s \r I M A 0027000 G E O B J s c a n b e w r 0027020 i t t e n o u t t o f i l 0027040 e s u s i n g H P R I N T , 0027060 a n d r e a d b a c k u 0027100 s i n g R E A D . T h i s 0027120 m e t h o d u s e s t h e 0027140 f o l l o w i n g f u n c t 0027160 i o n s , w h i c h c a n 0027200 a l s o b e u s e d i n 0027220 u s e r c o d e : \r ( W R I T 0027240 E I M A G E O B J I M A G E O 0027260 B J S T R E A M ) \r P R I N 2 0027300 ' s a c a l l t o R E A 0027320 D I M A G E O B J , t h e n 0027340 c a l l s t h e P U T F N 0027360 f o r I M A G E O B J t o 0027400 w r i t e i t o n t o S T 0027420 R E A M . D u r i n g i n 0027440 p u t , t h e n , t h e c 0027460 a l l t o R E A D I M A G E 0027500 O B J i s r e a d a n d 0027520 e v a l u a t e d ; i t i n 0027540 t u r n r e a d s b a c k 0027560 t h e o b j e c t ' s d e 0027600 s c r i p t i o n , u s i n g 0027620 t h e a p p r o p r i a t e 0027640 G E T F N . \r ( R E A D I M A 0027660 G E O B J S T R E A M G E T 0027700 F N N O E R R O R ) \r R e a d 0027720 s a n I M A G E O B J f r 0027740 o m S T R E A M , s t a r t 0027760 i n g a t t h e c u r r e 0030000 n t f i l e p o s i t i o n 0030020 . U s e s t h e f u n c 0030040 t i o n G E T F N , a f t e 0030060 r v a l i d a t i n g i t 0030100 ( a n d l o a i n g s u p p 0030120 o r t c o d e , i f n e c 0030140 e s s a r y ) . I f G E T 0030160 F N c a n ' t b e v a l i 0030200 d a t e d o r i s n ' t d 0030220 e f i n e d , R E A D I M A G 0030240 E O B J w i l l r e t u r n 0030260 a n I M A G E O B J w h i 0030300 c h i s a s a f e e n c 0030320 a p s u l a t i o n : I t 0030340 w i l l d i s p l a y a s 0030360 a r e c t a n g l e t h a t 0030400 s a y s " U n k n o w n I 0030420 M A G E O B J T y p e " a n 0030440 d l i s t s t h e G E T F 0030460 N ' s n a m e . H o w e v 0030500 e r , i f N O E R R O R i 0030520 s n o n - N I L , R E A D I 0030540 M A G E O B J r e t u r n s 0030560 N I L i f i t c a n ' t 0030600 s u c c e s s f u l l y r e a 0030620 d t h e o b j e c t . \r A n 0030640 e n c a p s u l a t e d I M 0030660 A G E O B J d i s p l a y s 0030700 a s a r e c t a n g l e t 0030720 h a t s a y s " U n k n o w 0030740 n I M A G E O B J T y p e " 0030760 a n d l i s t s t h e G 0031000 E T F N ' s n a m e . S e 0031020 l e c t i n g i t w i t h 0031040 t h e m o u s e c a u s e s 0031060 a n o t h e r a t t e m p t 0031100 t o r e a d t h e o b j 0031120 e c t f r o m t h e f i l 0031140 e ; t h i s i s s o y o 0031160 u c a n l o a d a n y n 0031200 e c e s s a r y s u p p o r t 0031220 c o d e a n d t h e n g 0031240 e t t o t h e o b j e c t 0031260 . N B : Y o u c a n n 0031300 o t s a v e a n e n c a p 0031320 s u l a t e d I M A G E O B J 0031340 o n a f i l e 234 t h e r e 0031360 i s n ' t e n o u g h i n 0031400 f o r m a t i o n t o a l l 0031420 o w c o p y i n g t h e d 0031440 e s c r i p t i o n t o t h 0031460 e n e w f i l e f r o m 0031500 t h e o l d o n e . \r C o p 0031520 y s e l e c t i n g b e t w 0031540 e e n w i n d o w s \r T h e 0031560 g e n e r a l i d e a b e h 0031600 i n d c o p y i n g b e t w 0031620 e e n w i n d o w s i s t 0031640 h a t t h e s o u r c e w 0031660 i n d o w b u i l d s a n 0031700 i m a g e o b j e c t o f 0031720 w h a t t h e u s e r s h 0031740 a s s e l e c t e d a n d 0031760 c a l l s a s y s t e m f 0032000 u n c t i o n . T h e s y 0032020 s t e m f u n c t i o n f i 0032040 n d s t h e c u r r e n t 0032060 t t y w i n d o w a n d c 0032100 a l l s a f u n c t i o n 0032120 a s s o c i a t e d w i t h 0032140 i t t h a t k n o w s h o 0032160 w t o i n s e r t i m a g 0032200 e o b j e c t s . T h e 0032220 s i m p l e c a s e d o n e 0032240 n o w w i t h B K S Y S B 0032260 U F t o c o p y s t r i n 0032300 g s i s d o n e b y h a 0032320 v i n g t h e s y s t e m 0032340 f u n c t i o n c a l l B K 0032360 S Y S B U F o n t h e P R 0032400 E P R I N T F N o f t h e 0032420 i m a g e o b j e c t i f 0032440 t h e t a r g e t w i n d o 0032460 w d o e s n ' t h a v e a 0032500 n i n s e r t f u n c t i o 0032520 n . \r T h e f o l l o w i n g 0032540 t h i n g s w i l l b e 0032560 a d d e d t o t h e s y s 0032600 t e m t o i m p l e m e n t 0032620 c o p y s e l e c t i n g 0032640 o f t h i n g s b e t w e e 0032660 n w i n d o w s . \r A n e w 0032700 w i n d o w p r o p e r t y 0032720 C O P Y B U T T O N E V E N T 0032740 F N w i l l b e c a l l e 0032760 d ( i f i t e x i s t s ) 0033000 w h e n a b u t t o n e 0033020 v e n t o c c u r s a n d 0033040 a c o p y k e y i s d o 0033060 w n . I f n o C O P Y B 0033100 U T T O N E V E N T F N e x i 0033120 s t s , t h e B U T T O N E 0033140 V E N T F N i s c a l l e d 0033160 . \r A n e w w i n d o w p 0033200 r o p e r t y C O P Y I N S E 0033220 R T F N w i l l b e c a l 0033240 l e d b y C O P Y I N S E R 0033260 T ( s e e b e l o w ) w h 0033300 e n a n o t h e r w i n d o 0033320 w w a n t s t o i n s e r 0033340 t s o m e t h i n g i n t o 0033360 t h i s w i n d o w a s 0033400 a r e s u l t o f a c o 0033420 p y s e l e c t . A r g u 0033440 m e n t s a r e t h e t h 0033460 i n g t o b e i n s e r t 0033500 e d a n d t h i s w i n d 0033520 o w a n d t h e t h i n g 0033540 t o b e i n s e r t e d . 0033560 T h e t h i n g t o b 0033600 e i n s e r t e d c a n b 0033620 e ( 1 ) a S T R I N G P , 0033640 ( 2 ) a n I M A G E O B J 0033660 , o r ( 3 ) a l i s t 0033700 o f I M A G E O B J s a n d 0033720 S T R I N G P s . A s a 0033740 c o n v e n t i o n , C O P 0033760 Y I N S E R T F N s s h o u l 0034000 d c a l l B K S Y S B U F 0034020 i f t h e o b j e c t t h 0034040 e y a r e t o i n s e r t 0034060 i s a S T R I N G P . 0034100 F o r T e d i t w i n d o w 0034120 s , t h e C O P Y I N S E R 0034140 T F N w i l l b e a f u 0034160 n c t i o n t h a t c a l l 0034200 s T E D I T . I N S E R T i 0034220 f g i v e n a s t r i n g 0034240 a n d c a l l s T E D I T 0034260 . I N S E R T . O B J E C T i 0034300 f g i v e n a T e d i t 0034320 o b j e c t . ( J o h n , 0034340 c a n t h e c u r r e n t 0034360 c o p y s e l e c t b e t w 0034400 e e n T E d i t w i n d o w 0034420 s b e c h a n g e d t o 0034440 u s e t h i s b y h a v i 0034460 n g a c a s e i n t h e 0034500 C O P Y I N S E R T F N t h 0034520 a t h a n d l e s P I E C E 0034540 s ? ) \r A n e w f u n c t i 0034560 o n ( C O P Y I N S E R T i 0034600 m a g e O b j e c t ) w i l l 0034620 i n s e r t i m a g e O b j 0034640 e c t i n t o t h e w i n 0034660 d o w t h a t c u r r e n t 0034700 l y h a s t h e T T Y . 0034720 I t f i n d s t h e w i 0034740 n d o w t h a t h a s t h 0034760 e t t y ( s a y t t y W i 0035000 n d o w ) . I f t t y W i 0035020 n d o w h a s a C O P Y I 0035040 N S E R T F N , t h i s i s 0035060 c a l l e d , p a s s i n g 0035100 i t i m a g e O b j e c t . 0035120 I f n o C O P Y I N S E 0035140 R T F N e x i s t s , i f 0035160 i m a g e O b j e c t i s a 0035200 n i m a g e O b j e c t , 0035220 t h e r e s u l t o f c a 0035240 l l i n g i t s P R E P R I 0035260 N T F N o n i t i s B K 0035300 S Y S B U F e d ; o t h e r w 0035320 i s e i m a g e O b j e c t 0035340 i s B K S Y S B U F e d . 0035360 ( T h e d e f a u l t B K S 0035400 Y S B U F w i l l u s e P 0035420 R I N T 2 w i t h a r e a 0035440 d t a b l e t a k e n f r 0035460 o m t h e p r o c e s s a 0035500 s s o c i a t e d w i t h t 0035520 h e t t y W i n d o w . A 0035540 w i n d o w w h i c h w i 0035560 s h e s t o u s e P R I N 0035600 1 o r a d i f f e r e n t 0035620 r e a d t a b l e c a n p 0035640 r o v i d e i t s o w n C 0035660 O P Y I N S E R T F N t h a t 0035700 d o e s t h i s . ) T h 0035720 u s t h e C O P Y B U T T O 0035740 N E V E N T F N f o r a w 0035760 i n d o w s h o u l d a l l 0036000 o w t h e u s e r t o s 0036020 e l e c t a n o b j e c t 0036040 a n d t h e n c a l l s C 0036060 O P Y I N S E R T o n a n 0036100 i m a g e o b j e c t b u i 0036120 l t ( v i a I M A G E O B J 0036140 C R E A T E ) f r o m t h e 0036160 s e l e c t e d o b j e c t 0036200 a n d n i n e f u n c t i 0036220 o n s t h a t d e f i n e 0036240 i t s b e h a v i o r . \r \r M 0036260 i s c n o t e s : \r T h e l 0036300 a y o u t a n d d i s p l a 0036320 y i n g f u n c t i o n o f 0036340 T E d i t w i l l b e m 0036360 a d e a v a i l a b l e f o 0036400 r u s e w i t h i n i m a 0036420 g e o b j e c t d i s p l a 0036440 y f n s . T h u s , a n 0036460 a n n o t a t i o n c o u l d 0036500 c a l l t h e T E d i t 0036520 f o r m a t t i n g r o u t i 0036540 n e s t o l a y i t s e l 0036560 f o u t w i t h i n a b 0036600 o x . { T h i s a c t u a l 0036620 l y a l s o n e e d s t o 0036640 d e t e r m i n e t h e s 0036660 i z e o f t h e b o x w 0036700 h i c h s h o u l d d e p e 0036720 n d o n t h e m a r g i n 0036740 s . } \r I n t h e c a s e 0036760 o f D e d i t c o p y s e 0037000 l e c t i n g a l i s t i 0037020 n t o a T E d i t w i n d 0037040 o w , t h e d i s p l a y f 0037060 n c o u l d P R I N T D E F 0037100 t h e s t r u c t u r e a 0037120 n d p o s s i b l y D e d i 0037140 t i t a f t e r i t w a 0037160 s i n t h e T e d i t d 0037200 o c u m e n t . I n t h i 0037220 s c a s e t h e s t r u c 0037240 t u r e w o u l d n e e d 0037260 t o h a v e s o m e i d e 0037300 a o f t h e w i d t h t 0037320 o b e p r i n t e d i n t 0037340 o ( w h i c h s h o u l d 0037360 a l s o b e e d i t a b l e 0037400 s o m e h o w ) . P o s s 0037420 i b l y t h e s t r u c t u 0037440 r e t h a t T e d i t b u 0037460 i l d s c o u l d h a v e 0037500 a n e x t r a f i e l d f 0037520 o r w i d t h w h i c h i 0037540 t d e f a u l t s u p o n 0037560 c r e a t i o n b u t w h i 0037600 c h c o u l d b e c h a n 0037620 g e d . T h i s c a s e 0037640 i s i n t e r e s t i n g b 0037660 e c a u s e i t r e p r e s 0037700 e n t s a c a s e w h e r 0037720 e w e m i g h t w a n t 0037740 T e d i t t o p a s s i n 0037760 f o r m a t i o n i n t o t 0040000 h e o b j e c t ( i e . h 0040020 o w w i d e t o p r i n t 0040040 i t s e l f ) . \r T h i s d 0040060 o e s n o t a d d r e s s 0040100 t h e p r o b l e m o f i 0040120 m a g e o b j e c t s t h a 0040140 t p r i n t a s t e x t . 0040160 F o r e x a m p l e , a 0040200 n n o t a t i o n s m i g h t 0040220 b e p r i n t e d i n l 0040240 i n e i n a s m a l l e r 0040260 f o n t o r a s f o o t 0040300 n o t e s a t t h e b o t 0040320 t o m o f t h e p a g e 0040340 o r a s m a r g i n n o t 0040360 e s o r b e t w e e n t h 0040400 e l i n e s i n t e r m i x 0040420 e d w i t h t h e m a i n 0040440 t e x t . T h i s i s 0040460 a d i f f i c u l t p r o b 0040500 l e m t h a t i s i n d e 0040520 p e n d e n t o f t h e s 0040540 p e c i f i c a t i o n o f 0040560 t h i s p r o p o s a l . \r \r 0040600 P r o v i d e d I m a g e O 0040620 b j e c t t y p e s \r \r M e n 0040640 u s - S u p p o r t e d b 0040660 y J o h n S y b a l s k y . 0040700 \r B i t m a p s - s u p p o 0040720 r t e d b y G r e g N u y 0040740 e n s & R i c h a r d B u 0040760 r t o n . \r A n n o t a t i o n 0041000 s - s u p p o r t e d b y 0041020 R i c h a r d B u r t o n . 0041040 \r \r F u t u r e o b j e c t 0041060 t y p e s \r \r G r a p h e r g 0041100 r a p h s - s u p p o r t e 0041120 d b y R o n K a p l a n . 0041140 \r S - e x p r e s s i o n s - 0041160 v o l u n t e e r s ? \0 \0 0041200 \0 \0 \0 005 \0 \a \0 \0 \0 6 001 274 \0 006 \0 \0 0041220 \0 \0 003 004 \0 \0 001 \0 6 \0 \0 \0 \0 \0 \0 \0 0041240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0041260 001 324 \0 006 \0 \0 \0 \0 002 003 \0 \0 \0 \0 \0 \0 0041300 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0041320 001 324 \0 006 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 0041340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0041360 \0 \0 \0 022 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 0041400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 $ \0 $ 0041420 001 260 \0 006 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 0041440 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \f \0 \0 0041460 001 324 \0 006 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 0041500 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0041520 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 0041540 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0041560 \0 004 \0 \f \0 \t H E L V E T I C A \0 0041600 \n \0 \0 \0 \0 \0 \0 003 \0 \0 \t H E L V E 0041620 T I C A \0 \n \0 \0 \0 \0 \0 \0 002 \0 \0 005 0041640 G A C H A \0 \n \0 \0 \0 020 E D I T M 0041660 A R K . S T Y L E F N \0 \a D E L 0041700 E T E D \0 \0 \0 005 G A C H A \0 \n \0 0041720 \0 \0 020 E D I T M A R K . S T Y L 0041740 E F N \0 \0 \0 \0 \0 005 G A C H A \0 \n 0041760 \0 \0 \0 \0 \0 \0 \0 \0 005 G A C H A \0 0042000 \n \0 \0 \0 \0 \0 \0 001 \0 \0 005 G A C H A 0042020 \0 \n \0 \0 \0 \0 \0 \0 002 \0 \0 \t H E L V 0042040 E T I C A \0 \b \0 \0 \0 020 E D I T M 0042060 A R K . S T Y L E F N \0 \0 001 \0 \0 0042100 \t H E L V E T I C A \0 \b \0 \0 \0 020 0042120 E D I T M A R K . S T Y L E F N 0042140 \0 \a D E L E T E D 001 \0 \0 \t H E L 0042160 V E T I C A \0 \b \0 \0 \0 \0 \0 \0 001 \0 0042200 \0 005 G A C H A \0 \n \0 \0 \0 \0 \0 \0 \0 0042220 \0 \0 \t H E L V E T I C A \0 \f \0 \0 0042240 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 002 \0 \a \0 \0 0042260 \0 # \0 \0 \0 \0 \f \0 \0 \0 001 \0 \0 \0 \0 \v 0042300 \0 \0 \0 B \0 \0 \0 \0 \n \0 \0 \0 021 \0 \0 \0 0042320 \0 \t \0 \0 \0 005 \0 \0 \0 \0 \n \0 \0 \0 \t \0 0042340 \0 \0 \0 \b \0 \0 \0 \v \0 \0 \0 \0 \t \0 \0 \0 0042360 001 \0 \0 \0 \0 \n \0 \0 \0 002 \0 \0 \0 \0 \v \0 0042400 \0 \0 \0 \0 002 \0 006 \0 \0 \0 306 \0 \0 \0 \0 \v 0042420 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 017 \0 \0 \0 \0 0042440 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 373 \0 \0 \0 0042460 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 002 g \0 \0 0042500 \0 \0 \v \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 \r \0 0042520 \0 \0 \0 \f \0 \0 \0 001 \0 \0 \0 \0 \v \0 \0 \0 0042540 \0 \0 002 \0 006 \0 \0 002 233 \0 \0 \0 \0 \v \0 \0 0042560 \0 \0 \0 002 \0 006 \0 \0 \0 256 \0 \0 \0 \0 \a \0 0042600 \0 \0 001 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006 0042620 \0 \0 \0 201 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 0042640 006 \0 \0 \0 \t \0 \0 \0 \0 \a \0 \0 \0 257 \0 \0 0042660 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 \n \0 0042700 \0 \0 \0 \a \0 \0 004 212 \0 \0 \0 \0 \v \0 \0 \0 0042720 \0 \0 002 \0 005 \0 \0 \0 325 \0 \0 \0 \0 006 \0 \0 0042740 \0 \0 \0 002 \0 006 \0 \0 \0 005 \0 \0 \0 \0 \a \0 0042760 \0 \0 361 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006 0043000 \0 \0 \0 005 \0 \0 \0 \0 \a \0 \0 001 v \0 \0 \0 0043020 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 006 \0 \0 0043040 \0 \0 \a \0 \0 \0 m \0 \0 \0 \0 \v \0 \0 \0 \0 0043060 \0 002 \0 006 \0 \0 \0 017 \0 \0 \0 \0 \a \0 \0 004 0043100 F \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 005 \0 \0 0043120 002 341 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 006 \0 0043140 \0 \0 023 \0 \0 \0 \0 \a \0 \0 001 z \0 \0 \0 \0 0043160 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 016 \0 \0 \0 0043200 \0 \a \0 \0 \0 003 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 0043220 002 \0 006 \0 \0 \0 \v \0 \0 \0 \0 \a \0 \0 \0 003 0043240 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 0043260 \r \0 \0 \0 \0 \a \0 \0 \0 003 \0 \0 \0 \0 \v \0 0043300 \0 \0 \0 \0 002 \0 006 \0 \0 \0 \f \0 \0 \0 \0 \a 0043320 \0 \0 002 215 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 0043340 006 \0 \0 \0 020 \0 \0 \0 \0 \a \0 \0 \0 253 \0 \0 0043360 \0 \0 \v \0 \0 \0 016 \0 \0 \0 \0 005 \0 \0 001 265 0043400 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 0043420 256 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 006 \0 \0 0043440 \0 \n \0 \0 \0 \0 \a \0 \0 002 ) \0 \0 \0 \0 \v 0043460 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 032 \0 \0 \0 \0 0043500 \f \0 \0 \0 001 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 0043520 \0 006 \0 \0 001 263 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 0043540 002 \0 006 \0 \0 002 h \0 \0 \0 \0 \v \0 \0 \0 \0 0043560 \0 002 \0 002 \0 \0 \0 032 \0 \0 \0 \0 \a \0 \0 \0 0043600 016 \0 \0 \0 \0 001 \0 \0 \0 004 \0 \0 \0 \0 \a \0 0043620 \0 \0 \0 \0 002 \0 003 \0 \0 \0 + \0 \0 \0 \0 \v 0043640 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 5 \0 \0 \0 \0 0043660 \f \0 \0 \0 001 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 0043700 \0 006 \0 \0 \0 332 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 0043720 002 \0 001 \0 \0 \0 251 \0 \0 \0 \0 \v \0 \0 \0 \0 0043740 \0 002 \0 006 \0 \0 \0 / \0 \0 \0 \0 \v \0 \0 \0 0043760 \0 \0 002 \0 006 \0 \0 \0 m \0 \0 \0 \0 \v \0 \0 0044000 \0 \0 \0 002 \0 002 \0 \0 \0 035 \0 \0 \0 \0 \a \0 0044020 \0 \0 \0 \0 002 \0 003 \0 \0 \0 205 \0 \0 \0 \0 \v 0044040 \0 \0 \0 \0 \0 002 \0 006 \0 \0 001 ' \0 \0 \0 \0 0044060 \v \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 032 \0 \0 \0 0044100 \0 \f \0 \0 \0 001 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 0044120 002 \0 006 \0 \0 \0 \r \0 \0 \0 \0 \a \0 \0 \0 1 0044140 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 0044160 % \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 \0 \v \0 0044200 \0 \0 \0 \0 002 \0 006 \0 \0 \0 210 \0 \0 \0 \0 \v 0044220 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 \r \0 \0 \0 \0 0044240 \a \0 \0 \0 2 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 0044260 \0 006 \0 \0 \0 . \0 \0 \0 \0 \a \0 \0 \0 001 \0 0044300 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 001 $ 0044320 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 0044340 & \0 \0 \0 \0 \f \0 \0 \0 001 \0 \0 \0 \0 \v \0 0044360 \0 \0 \0 \0 002 \0 006 \0 \0 \0 236 \0 \0 \0 \0 \v 0044400 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 \0 \0 \0 \0 0044420 \a \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 355 \0 \0 \0 0044440 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 $ \0 \0 0044460 \0 \0 \a \0 \0 \0 \0 \0 002 \0 006 \0 \0 001 322 \0 0044500 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 001 257 0044520 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 0044540 036 \0 \0 \0 \0 \f \0 \0 \0 001 \0 \0 \0 \0 \v \0 0044560 \0 \0 \0 \0 002 \0 006 \0 \0 001 347 \0 \0 \0 \0 \v 0044600 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 h \0 \0 \0 \0 0044620 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 267 \0 \0 \0 0044640 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 270 \0 \0 0044660 \0 \0 \v \0 \0 \0 035 \0 \0 \0 \0 004 \0 \0 \0 \v 0044700 \0 \0 \0 \0 \v \0 \0 \0 035 \0 \0 \0 \0 003 \0 \0 0044720 001 365 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 \0 006 \0 0044740 \0 003 K \0 \0 \0 \0 \v \0 \0 \0 \v \0 \0 \0 \0 0044760 002 \0 \0 \0 001 \0 \0 \0 \0 \v \0 \0 \0 \0 \0 002 0045000 \0 006 \0 \0 001 ) \0 \0 \0 \0 \v \0 \0 \0 \0 \0 0045020 002 \0 006 \0 \0 002 F \0 \0 \0 \0 \v \0 \0 \0 \0 0045040 \0 002 \0 006 \0 \0 001 V \0 \0 \0 \0 \v \0 \0 \0 0045060 033 \0 \0 \0 \0 002 \0 \0 \0 = \0 \0 \0 \0 \v \0 0045100 \0 \0 \v \0 \0 \0 \0 004 \0 \0 \0 021 \0 \0 \0 \0 0045120 003 \0 \0 \0 212 \0 \0 \0 \0 \v \0 \0 B ~ \0 251 0045140 z 271 0045142