diff --git a/CHANGES b/CHANGES index 9c789ab..d8dba9d 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,17 @@ +09/27/99 Release 4.0.1 +---------------------- +Mains changes/modifications since 4.0.0 are: + + * Small bug fixes + + * Integration of SRFI-9 (records) + + * Accepts mailto: links in the browser + + 09/03/99 Release 4.0.0 ---------------------- -Mains changes/modifications since 4.0 are: +Mains changes/modifications since 3.99.4 are: * Lot of Win32 fixes diff --git a/ChangeLog b/ChangeLog index 7594c7f..9b20481 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,70 @@ +1999-09-27 Erick Gallesio + + * Release 4.0.1 + + * Doc/Reference/*.tex : Numerous documentation correction provided + by Ben L. Di Vito + + * Lib/srfi-9.stk: New file which implements (guess what?) SRFI-9 + aka records. + + * STklos/stklos.stk : Bug correction in find-class + +1999-09-16 Erick Gallesio + + * Doc/Reference/Reference2.tex : Added documentation on the + primitive export-al-symbols which was missing. + + * Lib/www-mailto: + * Lib/www.stk: New hook "www:hook-mailto" to handle "mailto:" + requests. Furthermore, unknown protocol are properly handled now. + + * Lib/www-browser.stklos: Added a mail composer !!! It is used + by the HTML browser when a "mailto:" is encountered. + +1999-09-15 Erick Gallesio + + * STklos/Tk/Composite/Hierarchy.stklos (maybe-update-hierarchy): + new function which retain that a update of the hierarchy is + requested. If there is already a request pending nothing is + done. This solves the problem (and enhance redisplay btw) + signalled by Harvey Stein + + * Lib/www-url.stk : Applied a patch provided by Harvey Stein to + correctly parse URL which use proxies. + + * Src/unix.c (STk_setenv): Use of STk_must_malloc instead of + malloc. + +1999-09-14 Erick Gallesio + + * Lib/init.stk (dotimes): Corrected incorrect behavior for + negative bounds. Bug signalled by "Ben L. Di Vito" + . BTW, if no result is given by the user + in the dotimes, the result is now undetermined. + + * Extensions/process.c (run_process): Added the option :fork to + run-process. This allows to simulate the "exec" command of Unix + shells. Not implemented on Win32 + + * Src/: Minor problems for Alpha compilation (thanks to Jeremie + Petit ) + +1999-09-13 Erick Gallesio + + * Demos/README.html: Modified the applet for allowing the + execution of the examples when STk is installed (bug signalled + by Harvey Stein + +1999-09-12 Erick Gallesio + + * Demos/server.stk : Bug correction: two xterm were launched and a + GC caused the death of all the demo. + + * Doc/Makefile: Added the installation of manual in + $(prefix)/stk-$(version). Manual is also added in RPMS as + requested by Harvey Stein + 1999-09-05 Erick Gallesio * Release 4.0.0 diff --git a/Contrib/STk-wtour/lib/wtour.stk b/Contrib/STk-wtour/lib/wtour.stk old mode 100644 new mode 100755 index 3cd5cb8..bc68124 --- a/Contrib/STk-wtour/lib/wtour.stk +++ b/Contrib/STk-wtour/lib/wtour.stk @@ -1,5 +1,5 @@ #!/bin/sh -:;exec /usr/local/bin/stk -f +:;exec /usr/local/bin/stk -f "$0" "$@" ;; ;; STk/Scheme widget tour, Version 0.2 ;; diff --git a/Demos/Makefile b/Demos/Makefile index 18e0f20..c3e619d 100644 --- a/Demos/Makefile +++ b/Demos/Makefile @@ -12,7 +12,7 @@ # This software is provided ``AS IS'' without express or implied # warranty. # -# Last file update: 3-Sep-1999 19:20 (eg) +# Last file update: 13-Sep-1999 18:11 (eg) # include ../config.make @@ -41,6 +41,13 @@ install: cp Html-Demos/Images/*.gif $(DEMODIR)/Html-Demos/Images chmod 0644 $(DEMODIR)/Html-Demos/Images/* (cd $(DEMODIR)/Html-Demos; ln -s ../amib.stklos ../stklos-widgets .) + -if [ ! -d $(DEMODIR)lib ] ; then mkdir -p $(DEMODIR)/lib; fi + $(CP) ../Contrib/STk-wtour/lib/*.xbm $(DEMODIR)/lib + chmod 0644 $(DEMODIR)/lib/* + -if [ ! -d $(DEMODIR)/lessons ] ; then mkdir -p $(DEMODIR)/lessons; fi + $(CP) ../Contrib/STk-wtour/lessons/*.stk $(DEMODIR)/lessons + $(CP) ../Contrib/STk-wtour/lessons/index $(DEMODIR)/lessons + chmod 0644 $(DEMODIR)/lessons/* install.libs: diff --git a/Demos/README.html b/Demos/README.html index ebda974..a44b555 100644 --- a/Demos/README.html +++ b/Demos/README.html @@ -1,7 +1,7 @@ - Demo directory README (Version 4.0 - August 1999) + Demo directory README (Version 4.0) @@ -15,10 +15,14 @@ > @@ -62,10 +66,18 @@

Running demonstration programs in the STk web browser

    +
      + Note: In this document the notation + RUN means that you must type either + ../Src/test-stk if you have not completed the + installation of STk, either type stk + (provided that the install location is in your path) +
    +

    STk provides a simple Web browser which can be used to launch the demo of this directory. If you are not running it now, you can type the following command: -

              ../Src/test-stk -f S-scape README.html
    +
              RUN -f S-scape README.html
    at the shell prompt.
@@ -80,14 +92,14 @@ that you can click on.
Run with : - ../Src/test-stk -f hello.stk + RUN -f hello.stk

  • browse.stk
    A simple Unix file browser. The code of this demo is less than a page.
    Run with: - .../Src/test-stk -f browse.stk + .RUN -f browse.stk

    1.2 Basics of STk programming

    @@ -102,7 +114,7 @@
    Run with: - ../Src/test-stk -f ./wtour.stk ../Contrib/STk-wtour + RUN -f ./wtour.stk ../Contrib/STk-wtour
    Comment: This code is a contribution of Suresh Srinivas <ssriniva@cs.indiana.edu> @@ -119,7 +131,7 @@ the socket is closed
    Run with: - ../Src/test-stk -no -f server.stk + RUN -no -f server.stk

  • mc-server.stk
    @@ -129,8 +141,8 @@ when you want to exit the demo.
    Run with: - - ../Src/test-stk -load mc-server.stk + + RUN -load mc-server.stk @@ -142,14 +154,14 @@ A Logo turtle package + some demo functions.
    Run with: - ../Src/test-stk -f turtle.stk + RUN -f turtle.stk

  • hanoi.stk
    Hanoi towers animation.
    Run with: - ../Src/test-stk -f hanoi.stk + RUN -f hanoi.stk

  • queens.stk
    @@ -158,7 +170,7 @@ puzzle starting with a given board configuration.
    Run with: - ../Src/test-stk -f queens.stk + RUN -f queens.stk
    Comment: This code is a contribution of Grant Edwards <grante@rosemount.com)> @@ -171,7 +183,7 @@ faster. Have fun.
    Run with: - ../Src/test-stk -f stetris.stk + RUN -f stetris.stk
    Comment: This code is a contribution of Harvey J. Stein @@ -184,7 +196,7 @@ board of four planes with four rows and four columns each.
    Run with: - ../Src/test-stk -f ttt.stk + RUN -f ttt.stk
    Comment: This code is a contribution of Edin "Dino" Hodzic @@ -200,7 +212,7 @@ This is a simple demo showing a repl loop in a console.
    Run with: - ../Src/test-stk -f console.stk + RUN -f console.stk
    Comment: This demo is useful for Unix users only, since under Win32 STk is started with such a console. @@ -211,7 +223,7 @@ This is a simple color palette written in STk.
    Run with: - ../Src/test-stk -f colormap.stk + RUN -f colormap.stk
    Comment: Note that this program is no more really useful since STk offers now the function Tk:choose-color @@ -223,7 +235,7 @@ This is a simple program which uses the STk font chooser.
    Run with: - ../Src/test-stk -f stkfontsel.stk + RUN -f stkfontsel.stk

  • small-ed.stk @@ -231,7 +243,7 @@ A small editor to create enhanced text
    Run with: - ../Src/test-stk -f small-ed.stk + RUN -f small-ed.stk
    Comment: This editor use a ad-hoc format for saving file and was @@ -246,9 +258,10 @@ variables (named a,b and c) Changing the value of one of these vars (with a set! for instance) will redisplay its new value immediately. +
    Run with: - - ../Src/test-stk -load showvars.stk + + RUN -load showvars.stk

  • @@ -257,7 +270,7 @@ A simple demo of the inspector on Tk widgets
    Run with: - ../Src/test-stk -f inspector.stk + RUN -f inspector.stk
    Comment: Does not work with this version of STk @@ -270,7 +283,7 @@ A simple terminal emulator (a kind of xterm, but in a text widget).
    Run with: - ../Src/test-stk -f term.stk + RUN -f term.stk
    Comment: Users of Glibc2 (aka libc6, or RedHat 5.0 users): This program has problems with new release of the @@ -314,7 +327,7 @@ demonstration in STklos
    Run with: - ../Src/test-stk -f hello.stklos + RUN -f hello.stklos

  • browse.stklos @@ -323,7 +336,7 @@ demonstration in STklos
    Run with: - ../Src/test-stk -f browse.stklos + RUN -f browse.stklos @@ -332,7 +345,7 @@ A simple demo written in STklos.
    Run with: - ../Src/test-stk -f stklos-demo.stklos + RUN -f stklos-demo.stklos
    Comment: What is interesting in this demo is not what it does, nothing specially fancy, but how it is easy to @@ -344,7 +357,7 @@
    Run with: - ../Src/test-stk -f stklos-demo2.stklos + RUN -f stklos-demo2.stklos
    Comment: Here again, what is interesting in this demo is not what it does, nothing specially fancy, but how it is easy to @@ -355,7 +368,7 @@
    Run with: - ../Src/test-stk -f classbrowse.stklos + RUN -f classbrowse.stklos
    @@ -374,7 +387,7 @@ modified version by clicking the button "Rerun demo"
    Run with: - ../Src/test-stk -f widget.stk + RUN -f widget.stk
    Comment: This demo illustrate only the simple widgets (the ones of the Tk library). For a composite widgets @@ -389,7 +402,7 @@ itself a composition of various composite widget classes.
    Run with: - ../Src/test-stk -f filebox.stklos + RUN -f filebox.stklos

  • stklos-widgets.stklos @@ -399,7 +412,7 @@
    Run with: - ../Src/test-stk -f stklos-widgets.stklos + RUN -f stklos-widgets.stklos
    Comment: This code is a contribution of Drew Whitehouse <Drew.Whitehouse@anu.edu.au>. @@ -414,7 +427,7 @@ This is a simplistic calculator.
    Run with: - ../Src/test-stk -f calc.stklos + RUN -f calc.stklos

  • tkcolor.stklos @@ -428,7 +441,7 @@ background color.
    Run with: - ../Src/test-stk -f tkcolor.stklos + RUN -f tkcolor.stklos

  • amib.stklos @@ -436,7 +449,7 @@ A Mini Interface Builder.
    Run with: - ../Src/test-stk -f amib.stklos + RUN -f amib.stklos
    Comment: The current version of AMIB allow you to: @@ -463,7 +476,7 @@
    Erick Gallesio
    -Last modified: Sat Sep 4 15:02:13 CEST 1999 +Last modified: Mon Sep 13 19:59:47 CEST 1999 diff --git a/Demos/S-scape.stklos b/Demos/S-scape.stklos old mode 100644 new mode 100755 diff --git a/Demos/amib.stklos b/Demos/amib.stklos old mode 100644 new mode 100755 diff --git a/Demos/browse.stk b/Demos/browse.stk old mode 100644 new mode 100755 diff --git a/Demos/browse.stklos b/Demos/browse.stklos old mode 100644 new mode 100755 diff --git a/Demos/calc.stklos b/Demos/calc.stklos old mode 100644 new mode 100755 diff --git a/Demos/classbrowse.stklos b/Demos/classbrowse.stklos old mode 100644 new mode 100755 diff --git a/Demos/colormap.stk b/Demos/colormap.stk old mode 100644 new mode 100755 diff --git a/Demos/console-demo.stk b/Demos/console-demo.stk old mode 100644 new mode 100755 index 4118e6a..34a87c1 --- a/Demos/console-demo.stk +++ b/Demos/console-demo.stk @@ -1,3 +1,5 @@ +#!/bin/sh +:;exec /usr/local/bin/stk -f "$0" "$*" ;;;; console-demo.stk -- A simple demo for the console ;;;; ;;;; Copyright 1999 Erick Gallesio - I3S-CNRS/ESSI @@ -13,7 +15,7 @@ ;;;; ;;;; Author: Erick Gallesio [eg@unice.fr] ;;;; Creation date: 22-Aug-1999 21:05 -;;;; Last file update: 3-Sep-1999 18:56 (eg) +;;;; Last file update: 12-Sep-1999 23:29 (eg) diff --git a/Demos/filebox.stklos b/Demos/filebox.stklos old mode 100644 new mode 100755 diff --git a/Demos/hanoi.stk b/Demos/hanoi.stk old mode 100644 new mode 100755 index fe9eda5..f2ef1c8 --- a/Demos/hanoi.stk +++ b/Demos/hanoi.stk @@ -1,4 +1,5 @@ -#!/usr/local/bin/stk -f +#!/bin/sh +:;exec /usr/local/bin/stk -f "$0" "$@" ;;;; ;;;; Hanoi - Towers of Hanoi diversion ;;;; @@ -13,7 +14,7 @@ ;;;; This software is provided ``AS IS'' without express or implied ;;;; warranty. ;;;; Author: Erick Gallesio [eg@unice.fr] -;;;; Last file update: 3-Sep-1999 19:22 (eg) +;;;; Last file update: 13-Sep-1999 18:00 (eg) ;;;; This program is a rewriting in STk of a program found on the net. Original ;;;; author is Damon A Permezel (probably fubar!dap@natinst.com) diff --git a/Demos/hello.stk b/Demos/hello.stk old mode 100644 new mode 100755 diff --git a/Demos/hello.stklos b/Demos/hello.stklos old mode 100644 new mode 100755 diff --git a/Demos/inspector.stk b/Demos/inspector.stk old mode 100644 new mode 100755 diff --git a/Demos/mc-server.stk b/Demos/mc-server.stk old mode 100644 new mode 100755 index d649e93..dc78c88 --- a/Demos/mc-server.stk +++ b/Demos/mc-server.stk @@ -1,4 +1,5 @@ -#!/usr/local/bin/stk -load +#!/bin/sh +:;exec /usr/local/bin/stk -load "$0" "$@" ;;;; ;;;; m c - s e r v e r . s t k -- A simple server which accept ;;;; multiple client connections @@ -16,7 +17,7 @@ ;;;; ;;;; Author: Erick Gallesio [eg@kaolin.unice.fr] ;;;; Creation date: 23-Jul-1996 09:00 -;;;; Last file update: 3-Sep-1999 18:58 (eg) +;;;; Last file update: 13-Sep-1999 18:01 (eg) (require "posix") (require "socket") diff --git a/Demos/queens.stk b/Demos/queens.stk index b710a76..0c4a44e 100755 --- a/Demos/queens.stk +++ b/Demos/queens.stk @@ -1,6 +1,7 @@ -#!/usr/local/bin/stk -f +#!/bin/sh +:;exec /usr/local/bin/stk -f "$0" "$@" -; -* Lisp -*- +; -* Scheme -*- ; Yet another "my first STk program" type thing. This one is the "8 ; queens" puzzle. You try to figure out how to place 8 queens on a diff --git a/Demos/server.stk b/Demos/server.stk old mode 100644 new mode 100755 index 2472d81..aeeefa7 --- a/Demos/server.stk +++ b/Demos/server.stk @@ -1,4 +1,7 @@ -#!/usr/local/bin/stk -f +#!/bin/sh +:; exec /usr/local/bin/stk -f "$0" "$@" +;;;; +;;;; ;;;; s e r v e r . s t k -- A simple sever ;;;; ;;;; Copyright 1993-1999 Erick Gallesio - I3S-CNRS/ESSI @@ -14,7 +17,7 @@ ;;;; ;;;; Author: Erick Gallesio [eg@kaolin.unice.fr] ;;;; Creation date: 4-Feb-1995 18:17 -;;;; Last file update: 4-Sep-1999 15:32 (eg) +;;;; Last file update: 12-Sep-1999 23:36 (eg) (define s (make-server-socket)) (define p (run-process ; define a var to avoid GC problems @@ -24,8 +27,6 @@ (dynamic-wind ;; Init: Launch an xterm with telnet running on the s listening port and connect (lambda () - (run-process "xterm" "-e" "telnet" "localhost" - (number->string (socket-port-number s))) (socket-accept-connection s) (format (socket-output s) "\nWelcome on the socket REPL.\n\n> ") (flush (socket-output s))) diff --git a/Demos/showvars.stk b/Demos/showvars.stk index 8bc2980..f1b7459 100755 --- a/Demos/showvars.stk +++ b/Demos/showvars.stk @@ -18,7 +18,7 @@ ;;;; ;;;; Author: Erick Gallesio [eg@unice.fr] ;;;; Creation date: 9-Aug-1993 22:06 -;;;; Last file update: 3-Sep-1999 19:23 (eg) +;;;; Last file update: 13-Sep-1999 20:01 (eg) (define (show-vars w . args) (catch (destroy w)) @@ -51,5 +51,6 @@ (define b '(1 2 (a b d) x 1)) (define c "A string") (show-vars '.test 'a 'b 'c) -(format #t "Try to modify value of displayed variables with set!\n") +(format #t + "\n***\n*** Try to modify value of displayed variables with set!\n***\n\n") diff --git a/Demos/small-ed.stk b/Demos/small-ed.stk old mode 100644 new mode 100755 index 3701fa4..def72ec --- a/Demos/small-ed.stk +++ b/Demos/small-ed.stk @@ -1,4 +1,6 @@ -#!/usr/local/bin/stk -f +#!/bin/sh +:;exec /usr/local/bin/stk -f "$0" "$@" + ;;;; s m a l l - e d . s t k -- A small editor to create enhanced ;;;; text (used for Help page construction) ;;;; @@ -15,7 +17,7 @@ ;;;; ;;;; Author: Erick Gallesio [eg@kaolin.unice.fr] ;;;; Creation date: 6-Dec-1993 17:25 -;;;; Last file update: 3-Sep-1999 18:58 (eg) +;;;; Last file update: 13-Sep-1999 18:02 (eg) (require "editor") diff --git a/Demos/stkfontsel.stk b/Demos/stkfontsel.stk old mode 100644 new mode 100755 index 3ca4048..f9726b6 --- a/Demos/stkfontsel.stk +++ b/Demos/stkfontsel.stk @@ -1,3 +1,7 @@ +#!/bin/sh +:; exec /usr/local/bin/stk -f "$0" "$@" +;;;; +;;;; ;;;; s t k f o n t s e l . s t k l o s -- A demo of the font chooser ;;;; ;;;; Copyright 1999 Erick Gallesio - I3S-CNRS/ESSI @@ -13,7 +17,7 @@ ;;;; ;;;; Author: Erick Gallesio [eg@unice.fr] ;;;; Creation date: 25-Apr-1999 19:35 -;;;; Last file update: 3-Sep-1999 18:59 (eg) +;;;; Last file update: 12-Sep-1999 23:37 (eg) (require "font-chooser") diff --git a/Demos/stklos-demo.stklos b/Demos/stklos-demo.stklos old mode 100644 new mode 100755 index e5ca766..787f9fd --- a/Demos/stklos-demo.stklos +++ b/Demos/stklos-demo.stklos @@ -1,4 +1,5 @@ -#!/usr/local/bin/stk -f +#!/bin/sh +:;exec /usr/local/bin/stk -f "$0" "$@" ;;;; ;;;; s t k l o s - d e m o . s t k -- A demo which use some STklos classes ;;;; @@ -15,7 +16,7 @@ ;;;; ;;;; Author: Erick Gallesio [eg@unice.fr] ;;;; Creation date: 24-Aug-1993 19:55 -;;;; Last file update: 3-Sep-1999 19:00 (eg) +;;;; Last file update: 13-Sep-1999 18:03 (eg) (require "Tk-classes") diff --git a/Demos/stklos-demo2.stklos b/Demos/stklos-demo2.stklos old mode 100644 new mode 100755 index 6934ca6..db75c8f --- a/Demos/stklos-demo2.stklos +++ b/Demos/stklos-demo2.stklos @@ -1,4 +1,6 @@ -#!/usr/local/bin/stk -f +#!/bin/sh +:;exec /usr/local/bin/stk -f "$0" "$@" + ;;;; ;;;; s t k l o s - d e m o 2 . s t k -- A demo which use some STklos classes ;;;; @@ -15,7 +17,7 @@ ;;;; ;;;; Author: Erick Gallesio [eg@unice.fr] ;;;; Creation date: 24-Aug-1993 19:55 -;;;; Last file update: 3-Sep-1999 19:00 (eg) +;;;; Last file update: 13-Sep-1999 18:03 (eg) (require "Tk-classes") diff --git a/Demos/term.stk b/Demos/term.stk old mode 100644 new mode 100755 diff --git a/Demos/tkcolor.stklos b/Demos/tkcolor.stklos old mode 100644 new mode 100755 diff --git a/Demos/turtle.stk b/Demos/turtle.stk old mode 100644 new mode 100755 diff --git a/Demos/widget.stk b/Demos/widget.stk old mode 100644 new mode 100755 diff --git a/Doc/Extension/Makefile b/Doc/Extension/Makefile index 05bbc0d..ec3571f 100644 --- a/Doc/Extension/Makefile +++ b/Doc/Extension/Makefile @@ -1,6 +1,7 @@ # # Makefile for Doc/Extension # +include ../../config.make SRC = Extending.tex @@ -9,6 +10,10 @@ all: dvi ps dvi: Extending.dvi ps: Extending.ps + +install: ps + $(CP) Extending.ps $(DOC_DIR) + Extending.dvi: $(SRC) echo -n > Extending.ind latex Extending; makeindex Extending; bibtex Extending; diff --git a/Doc/Isotas96/Isotas96.dvi b/Doc/Isotas96/Isotas96.dvi index 365013f..c7557f2 100644 Binary files a/Doc/Isotas96/Isotas96.dvi and b/Doc/Isotas96/Isotas96.dvi differ diff --git a/Doc/Isotas96/Isotas96.ps b/Doc/Isotas96/Isotas96.ps index 8d4e672..64e9f41 100644 --- a/Doc/Isotas96/Isotas96.ps +++ b/Doc/Isotas96/Isotas96.ps @@ -1,5 +1,5 @@ %!PS-Adobe-2.0 -%%Creator: dvips(k) 5.85 Copyright 1999 Radical Eye Software +%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: Isotas96.dvi %%Pages: 21 %%PageOrder: Ascend @@ -8,7 +8,7 @@ %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -f Isotas96.dvi %DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 1999.09.03:2218 +%DVIPSSource: TeX output 1999.09.27:1546 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -128,1491 +128,1510 @@ moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X TeXDict begin 39158280 55380996 1000 600 600 (Isotas96.dvi) @start %DVIPSBitmapFont: Fa cmmi9 9 6 -/Fa 6 119 df<010FB67E17F817FE903A001FC001FF9338003FC04A48EB1FE0170FEF07 -F0A24AC7FC18F8A302FEEC0FF0A3EF1FE0494815C0173F1880EF7F004948EB01FEEE03F8 -EE3FE091B61280494AC7FC5E9138F0007F707E4948131F707E83A2495AA44948131FA35F -49C7123FA2180C180E01FE161CA20001031F1338B500FCECE070040F13F04A903807FFE0 -C96C13809338007F0037357DB23A>82 D100 D<14FE903807FF80011F13C090387F03E09038FC00F0EA01F0485A -1207485A485A003FEB01E0EC03C0397F001F8090B512005CB512F048C8FCA45AA4151000 -7C1438007E1470EC01E0003EEB03C06CEB0F80390F80FF003807FFFC6C13F0C690C7FC1D -227DA024>I105 -D115 -D<01F0130ED803FC131F486CEB3F80D80F1F137F121C153F0038EB801FEC000F485AA201 -7E130700E015001260C65AA2150E485AA25D485AA25DA2153015705DA24A5A4A5A3801F8 -072600FC1FC7FCEB7FFEEB3FF8EB07E021227EA025>118 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fb cmr6 6 6 -/Fb 6 55 df<137013F0120712FFA212F91201B3A6B512E0A313217AA01E>49 -DI<13FE3803FFC04813E0380F03F0381E00F8 -003F13FC147C138013006C13FC000C13F8C7FCEB01F0EB03E0EB0FC03801FF00A2380003 -E0EB00F8147C147E143E143F127CA212FEA2147E5A007813FC383E01F8381FFFF0000713 -C00001130018227DA01E>I<14E0130113031307A2130F131FA2133B137313E3A2EA01C3 -EA0383EA0703A2120E121CA21238127012E0B6FCA3380003E0A6EB7FFFA318227DA11E> -I<00301330383E01F0383FFFE014C01480EBFE0013F00038C7FCA513FC383BFF80383F07 -C0383C01E0003813F0381000F8C7FCA214FCA2127812FCA314F8EAF801007013F0387803 -E0383E0FC0381FFF806C1300EA03F816227CA01E>II E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fc cmr7 7 6 -/Fc 6 55 df<13381378EA01F8121F12FF12FE12E01200B3AAB512F8A315267BA521>49 -D<13FF000313E0000F7F381E07F8383801FC486C7E0078137F00FC7F6C1480A2141FA212 -7CC7123F1500A2147EA25C5C495A495AEB078049C7FC131E5B13709038E00380EA01C0EA -03803907000700120E1218003FB5FC5AB55AA319267DA521>I<13FF000713E0487F381F -01F8383C00FC147E007E137F80A3003C5BC7127EA25C5C495AEB0FE03801FF8091C7FC38 -0003E0EB00F8147C147E80A21580A21238127C12FEA21500485B0078137E5C383F03F86C -B45A000713C0C690C7FC19277DA521>I<1438147814F8A2130113031307A2130E131C13 -38A2137013E0A2EA01C0EA0380EA0700A2120E5A121812385A5AB612E0A3C7EAF800A890 -383FFFE0A31B277EA621>I<0010130C001F137CEBFFF85C5C148049C7FCEA1DF0001CC8 -FCA6137F381DFFE0381F81F0381E0078001C7F0018133EC77EA31580A21230127C12FCA3 -150000F05B0070133E00785B6C13FC381F03F8380FFFE000035BC648C7FC19277DA521> -II +/Fa 6 119 df<010FB67E17F817FE903A003FC001FF9338003FC0EF1FE04B130FEF07F0 +147FA292C713F8A25CEF0FF05CA20101ED1FE018C04AEC3F8018000103157E4C5A4AEB07 +F0EE3FC049B500FEC7FC16F89138F0007E82010F6E7E707E5C83131FA25CA2013F141FA2 +5CA2017F143F5F91C7FC180649160E180C49161C00011718B500FC011F133893380FE070 +040713E0C93803FFC09338007F0037357DB23A>82 D100 D<14FE903807FF8090381F03C0 +90387C01E03801F800485A485A485A485A1401D83F0013C01403007EEB0F80ECFE00387F +FFF8B5128000FCC8FCA45AA415186C1438007C147015E0003CEB01C0003EEB07806CEB1E +00380F80FC3803FFE0C690C7FC1D227DA024>I105 D115 D<01F0130ED803FC131FD8071EEB +3F80EA0E1F121C0038EB801F0030140F013F130700701300006014035BD8E07E14001240 +EA00FE495B000114065BA2150E0003140C5B151C15181538491330157015606D13E04A5A +0001495A6D48C7FC3800FC1EEB3FF8EB07E021227EA025>118 D E %EndDVIPSBitmapFont +%DVIPSBitmapFont: Fb cmr6 6 6 +/Fb 6 55 df<13E01201120712FF12F91201B3A7487EB512C0A212217AA01E>49 +DI<13FF000313C0380F03E0381C00F014F800 +3E13FC147CA2001E13FC120CC712F8A2EB01F0EB03E0EB0FC03801FF00A2380003E0EB00 +F01478147C143E143F1230127812FCA2143E48137E0060137C003813F8381E03F0380FFF +C00001130018227DA01E>I<14E01301A213031307A2130D131D13391331136113E113C1 +EA01811203EA07011206120C121C12181230127012E0B6FCA2380001E0A6EB03F0EB3FFF +A218227DA11E>I<00101330381E01F0381FFFE014C01480EBFE00EA1BF00018C7FCA513 +FE381BFF80381F03C0381C01E0381800F014F8C71278A2147CA21230127812F8A2147848 +13F8006013F0387001E01238381E07803807FF00EA01F816227CA01E>II E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fc cmr7 7 6 +/Fc 6 55 df<13381378EA01F8121F12FE12E01200B3AB487EB512F8A215267BA521>49 +D<13FF000313E0380E03F0381800F848137C48137E00787F12FC6CEB1F80A4127CC7FC15 +005C143E147E147C5C495A495A5C495A010EC7FC5B5B903870018013E0EA018039030003 +0012065A001FB5FC5A485BB5FCA219267DA521>I<13FF000313E0380F01F8381C007C00 +30137E003C133E007E133FA4123CC7123E147E147C5C495AEB07E03801FF8091C7FC3800 +01E06D7E147C80143F801580A21238127C12FEA21500485B0078133E00705B6C5B381F01 +F03807FFC0C690C7FC19277DA521>I<1438A2147814F81301A2130313071306130C131C +131813301370136013C012011380EA03005A120E120C121C5A12305A12E0B612E0A2C7EA +F800A7497E90383FFFE0A21B277EA621>I<0018130C001F137CEBFFF85C5C1480D819FC +C7FC0018C8FCA7137F3819FFE0381F81F0381E0078001C7F0018133EC7FC80A21580A212 +30127C12FCA3150012F00060133E127000305B001C5B380F03E03803FFC0C648C7FC1927 +7DA521>I +I E +%EndDVIPSBitmapFont %DVIPSBitmapFont: Fd cmti9 9 59 -/Fd 59 123 df<923801FF80030F13F0033F13F892387E007C03F8131E4A48133E4A4813 -7F020714FE5D020F147C173817004A5AA54AC8FCA4011FB612E04915F06D15E09039007E -0007A34AEB0FC0A4EE1F80495AA3EE3F00A2495AA2167EA217184948141CEEFC38A44A14 -70010F14F816FCEE7CE0EE3FC04A131F011FEC0F0093C7FCA291C9FC5BA2EA1C3E123EEA -7F3C137CEAFE78127CEA78F0EA3FE06C5A6CCAFC304582B42B>12 -D33 D39 D<15C01401EC0380EC0700140E5C5C14 -785C495A495A13075C49C7FC5B131E133E5BA25BA2485AA2485AA3485AA2485AA3121F90 -C8FCA25A123EA3127E127CA412FC5AA75AA97EA21278A31238123CA2121C121E120E7EA2 -7E1A4A75B71F>I<1430143880141E140E140FA2EC0780A315C01403A415E0AC140715C0 -A5140F1580A3141F1500A3143EA3147E147CA25CA3495AA2495AA2495AA2495A91C7FC5B -131E133E133C5B5BA2485A485A485A48C8FC121E5A5A5A12C01B4A7EB71F>I44 D<387FFF80B5FCA31400110579921B>I<120E123FEA7F -80A212FFA21300127E123C0909788818>I<176017E01601A2EE03C016071780EE0F00A2 -161EA25EA25E16F85E4B5AA24B5AA24B5AA24BC7FC5D151E5DA25DA25D14015D4A5AA24A -5AA24AC8FCA2141E143E143C5CA25CA2495AA2495A13075C49C9FCA2131EA25B137C1378 -5BA2485AA2485AA2485A120F90CAFC121EA25AA25AA25AA212602B4B7EB727>I<154015 -C014011403EC0780140F141F147F903801FF00131FEB7FBFEB7E3FEB207E1300A35CA449 -5AA4495AA4495AA4495AA4495AA449C7FCA4137EA213FE387FFFFEB5FC5C1A3278B127> -49 DI<150E151F15 -3FA2157EA3157C15FCA3EC01F8A215F01403A215E0140715C0140F1580A2EC1F00A2143E -A25C147814F85C13015C903803C0E090380781F01483EB0F0390381E07E0133C13381370 -9038F00FC0EA01E0EA03C0EA0780390F001F80EA1FF8387FFF9FB61284D8E00713FE38C0 -007FC7EA3FF01500147EA45CA4495AA35C6D5A20417CB127>52 D57 D<137813FCEA01FE1203A213FCA2EA01 -F8EA00E01300AE120E123FEA7F80A212FFA21300127E123C0F20789F18>I<130FEB1F80 -EB3FC0137FA21480A2EB3F00131C90C7FCAEEA03C0487E487EA2121FA36C5A12071200A2 -485AA2485AA248C7FCA2120E5A123C12385A5A1240122F7B9F18>I<161C163CA2167C16 -FCA21501821503A21507150F150E151CA21538A2157015F015E0EC01C0A24A487EA24A48 -7EA2140E141E141C5CA25CA25C130191B6FC5BA249C7EA7F80163F130E131E131C133C13 -385BA25B12011203D80FF0147FD8FFFE90380FFFFEA217FC2F367BB539>65 -D<0107B612E04915F86D15FE903A001FC000FFEF3F804A4814C0171F18E0A24AC7FCA402 -FE15C0173FA2EF7F804948150017FE1601EE03F84948EB0FF0EE3FE091B6128094C7FC49 -15C09139F0001FE0EE07F0707E4948801601A283495AA449485C1603A24C5A49C7FC4C5A -4C5A4C5A01FE4A5A4CC7FC0001EC03FE007FB612F8B712E06C92C8FC33337CB236>II<0107B612E04915F86D15FE903A001FC000FFEF3F804A48 -EB1FC0EF0FE0EF07F017034AC713F81701A218FC14FEA4495AA4495A1703A3494815F817 -07A3494815F0170F18E0A24948EC1FC0A2EF3F80A24948EC7F00177E17FE4C5A49C7485A -4C5A4C5A4C5A01FE4AC7FC16FE0001EC07FC007FB612F0B712806C02FCC8FC36337CB23A ->I<0107B712E05B7F903A001FC0001F17074A4813031701A34AC713C0A414FE160EA349 -48011C138094C7FCA2163C49485BED01F891B5FCA2495CECF0011500A249485BA2170617 -07903A1FC001C00E1500EE001CA249485CA21778177049C812F05F1601160301FE4A5A16 -1F00014AB45A007FB7FCB8C7FC7E33337CB234>I<010FB71280A3903A003F80007F171F -4AC7120F1707A302FE1500A4495AA2163016384948EB700694C7FCA216F049485B150115 -0791B5FC495CA2ECE0071503D91FC05BA4494848C8FCA392C9FC49CAFCA413FEA4485AA2 -1203B512FCA25C31337BB232>I<92391FE001809238FFF8030207EBFE07913A1FF01F0F -0091393F80079F9139FE0001FF495AD903F06D5A495A4948147E495A49C8127C5B13FE5B -00011678485AA2485A000F1670A2485A94C7FC5B123FA3485AA490CBFC92383FFFF8484A -7F6F5B9238007F8094C7FC7EA216FEA37E4B5A7F121F6D1303000F5D6C6C13076C6C131E -D801FCEB3C783A00FF01F83090397FFFE010011F0180C8FCD903FCC9FC313775B43B>I< -0107B512804914C06D14809039001FC000A24A5AA44AC7FCA414FEA4495AA4495AA4495A -A4495AA4495AA4495AA449C8FCA413FEA21201387FFFF8B57E6C5B22337CB21E>73 -D<91381FFFFEA39138003FC0151FED3F80A4ED7F00A415FEA44A5AA44A5AA44A5AA44A5A -A44A5AA44A5AA2123E127F4AC7FC5A147E4813FE485B38E001F86C485A387007E0383C1F -C0381FFF806C48C8FCEA03F027357AB228>I<010FB512C0A25E9026003FC0C7FC5D4AC8 -FCA414FEA4495AA4495AA4495AA4495AA4495AA2EE018017C04948EB0380A2EE0700A249 -C7FC160EA2161E01FE141C163C167C5E4848130115070003EC3FF0B7FC5EA22A337BB230 ->76 D<902607FFE0EDFFFC495E7F9026001FF0913803FE00A2023B4B5A180EA2181C0273 -ED1DF818391871A2DAE1F84A5AA2EF01C3EF0383D901C1ED87E0EF0707A2170ED903814A -485AA21738EC80FCD907004A485AA217E0EE01C0010E4CC7FCEE0380A2EE070049020E13 -7EA2ED7E1CA2494A5B5EA25E494B5AED7FC01680A201F04A485A000180D807F8013E1307 -287FFF803C01B512C0B55C6CEC380146337BB245>I<902607FFC090380FFFF0496D5B6D -819026001FF0903800FE001878143FDA3BF81470A3DA71FC5CA2EC70FEA202E04A5A157F -A21680902601C03F495AA2ED1FC0A2D903804AC7FCED0FE0A216F09026070007130EA2ED -03F8A2010E6E5A1501A2ED00FE495DA2167FA24915F0163FA2161F495DA2160FA201F06E -5A1201EA07F8267FFF801303B55D6C15013C337CB239>II<0107B612C04915F86D81903A001FC001FEEE007F4A48EB3F -80EF1FC0A34AC713E0A402FEEC3FC0A318804948147F18005F5F4948495A4C5AEE0FF0EE -3FC049B6C7FC16FC16E002F0C9FC495AA4495AA4495AA449CAFCA413FEA21201387FFFF8 -B5FC7E33337CB234>I<0107B6FC4915E06D15F8903A001FC007FCEE00FE4A48137FEF3F -80A34AC713C0A402FEEC7F80A3EFFF00495A5F4C5A4C5A4948495AEE1FE0EEFF8091B548 -C7FC4914F85E9138F001F86F7E4948137EA2167FA2495AA449485BA35E90387F0001A218 -C018E001FEED01C0A20001EE0380397FFFF800B591387F0F006CED3FFEC96C5AEE03F033 -357CB238>82 D<913901FC018091380FFF034A138791397E07CF009138F800EFD901E013 -7F495A4948133E130F91C7FC5B011E143C133EA3017E1438A393C7FC137FA214C0EB3FF8 -ECFF806D13F06D13FC6D7F6D7F7FD9003F7F14039138007FC0151FA2150FA3120C120E48 -5DA393C7FC003C5C151E153E003E143C007E5C007F5C6D485A397BC003C039F1F80F8000 -E0B5C8FCEB3FFC38C00FF029377AB42B>I<0007B8FC5AA2903AF001FC007FD81F80151F -49485A001E160E5AA20038495AA248161E171C4A5A5AA34849481318C71500A34A5AA44A -C8FCA414FEA4495AA4495AA4495AA4495AA2131F003FB512F0A3303373B237>I<263FFF -FC90387FFF804892B5FC6C81C648C73807F000EE03C0485A5FA348484AC7FCA44848140E -A448485CA448485CA448485CA448C85AA400FE4A5AA34B5AA25A4BC8FCA2150E5DA2007E -5C5D003E5C6CEB03C0390F800F802607E03FC9FC3803FFFC6C13F038003F80313571B239 ->I87 D<0103B590387FFF804917C019809026001FF890 -380FF80003E014C0020F92C7FC6F130E02075C6F5B177802035C6F485A4C5A02015C6F48 -C8FC160E0200131E6F5A6F5A5E5E6F5AA3151F82153F157F8215EFEC01C791380387F8EC -078391380F03FC141EEC3C0102387F1470ECE000010180495A49487F49C77F010E143F49 -81137C01FC141F0007ED7FE0277FFF8003B5FCB549806C6E91C7FC3A337CB239>I97 -D<133EEA0FFF485A120FEA007EA25BA4485AA4485AA4485AEBE1F0EBE7FCEBFFFE380FFE -1F9038F80F8013F001E013C0EA1FC0138015E0A2EA3F00A315C0007E131FA4007CEB3F80 -12FC15005C147EA2007C5B5C495AEA3C03383E07E0381E0F806CB4C7FC6C5AEA01F01B35 -78B323>I<14FE903803FF80010F13C090383F83E0EB7E00EBF803000113073803F00FEA -07E0000F14C09038C00780001F90C7FC5B123FA248C8FCA4127E12FEA3127E1520157015 -E0003EEB01C0003FEB07806CEB1F00380FC0FE3807FFF86C13E0C66CC7FC1C2279A023> -III<151FED3FC0EDFFE0EC01F1EDE3F0EC03E7 -1407EDC7E016C091380FC380EDC000A24A5AA54AC7FCA490381FFFFE497F6D5BD9007EC7 -FCA35CA6495AA5495AA5495AA5495AA45C131FA391C8FCA25BEA1C3E123EEA7F3C137CEA -FE78127CEA78F0EA3FE06C5A6CC9FC244582B418>I<141FECFFC04913E7903907E0EF80 -90380FC07FEB1F8090383F003F013E1400137E5BA20001147E5B1203A248485BA449485A -A2120F12074A5AA21407A20003495A141F3801F07F3800FFF76D485AEB1F8FEB000FA24A -5AA4001C49C7FC123E007F137E147C00FE13FC387C01F8EB07E0383FFFC06C90C8FCEA03 -FC21317DA023>III<153815FCA21401A2EC00F815701500AA143E14FF491380903803C7C090 -380707E0EB0E031407131CA21338A29038700FC013301300A2EC1F80A4EC3F00A4147EA4 -5CA4495AA4495AA4381C07E0123E387F0FC05CD8FE1FC7FCEA7C3EEA787CEA3FF86C5AEA -0F801E4283B118>II<131F3807 -FF804813007EEA003FA2137EA45BA4485AA4485AA4485AA4485AA4485AA448C7FCA4127E -A21318131C485AA45B12F812FCEA7CE0EA3FC06C5A6CC7FC113579B314>I<2703E003F8 -137F3C07F00FFC01FF80280FF83FFF0713E03B1C7C7C1F0F83903B7EF00F9E01F026387F -C013B8028001F07F1270020013E0017E14C0A248484948485A12601200A248484948485A -A34D5A4848137EA294381F818019C0484849EC8380EF3F03A2F0070048484848133E180E -A2183C48484848EB1FF8000F01016E5A6CC748EB07C03A227AA03F>I<3903C007F0390F -E01FFC6D487E391CF8F81F2638FDE0138090387FC00FD9FF8013C04813005B5BA2D8E1F8 -EB1F8012611201A24848EB3F00A3157E485AA2EDFC18161C48481438EC01F8A21670D81F -8013F0166016E0EDF1C048C7EAFF806CEC7F00000E143E26227AA02B>I<14FE903803FF -C0010F13E090383F83F090387E00F84913FC4848137C4848137E485A120F5B001F147F5B -123F157E48C712FEA4007EEB01FC12FE15F81403007E14F0140715E0EC0FC0003EEB1F80 -003FEB3F006C137E380FC1FC3807FFF06C13C0C66CC7FC202279A027>I<010F133F9039 -3F80FFC002C113E0903973E7C1F09039E3FF01F89038E1FE00D9E3FC13FC3801C3F85CA2 -16FE48485A1201EA000716FC90380FC001A490391F8003F8A216F01507D93F0013E0A2ED -0FC0168090397F801F00153E6E5AECE1F89038FCFFF0EC7FC06EC7FC91C8FC485AA4485A -A4485AA2EA7FFFB57E91C8FC273080A027>I<3903C01F803907E07FE0390FF0FFF0391C -F9E07838387FC0EC80FCEBFF013970FE03F813FCEC01F0EC00E0D8E1F8130012611201A2 -485AA4485AA4485AA4485AA448C8FC7E120E1E227AA020>114 DI<130E131F5BA3137EA45BA4485AA2 -B512E014F014E03803F000A3485AA4485AA4485AA448C7FCA214C014E0387E01C0A2EB03 -80A2EB0700127C130EEA3E3CEA3FF86C5AEA07C0143079AE19>III<01F81570D803FC010E13F8486C90381F01FCD80F1F133F001C -150316010038150049017E137C1270173C137E00E04A13381260C65AA24A481370EA01F8 -A34848484813E0A3EE01C0A201E013E0EE0380EBF0079238F00700140F0001150E3A00FC -3CF83C90397FF87FF86D486C5A90390FC00FC02E227AA033>I121 D<903807801CEB1FC090383FE03890387F -F0789038FFF87048EBFFE09038F07FC03803C00F9038800380EC0700C7120E5C5C5C5C49 -5A495A49C7FC130E5B5B491360491370484813E0485A38070001390FF003C09038FE0F80 -48B5FCD83C1F130038380FFE00705B486C5AEB01E01E227CA01F>I +/Fd 59 123 df<923803FF80031F13F092383F00F803F8133C4A48133E4A48137E17FE4A +5A17FC17384A481300A3141F92C8FCA55C143E011FB612E0A217C09039007E0007147C16 +0F1780A214FC4A131F1700A301015C4A133EA3167E0103147C5C1718EEFC1CEEF83C0107 +15385C1778177016F0010F15F04AEBF8E01679EE3FC0011FEC0F0093C7FC91C9FCA3133E +A21238EA7E3C137CEAFE7812FC485AEA79E0EA3FC0000FCAFC2F4582B42B>12 +D33 +D39 D<1560EC01E0EC03C0EC0700140E5C143C5C5C495A495A13075C49 +C7FC5B131E5B137C137813F85B12015B12035B1207A25B120FA290C8FC5AA2121E123EA3 +123C127CA31278A212F8A35AAF12701278A21238A2123C121CA27EA27E6C7E12011B4A75 +B71F>I<14301438A28080A2140F801580A2140315C0A4140115E0A81403A415C0A31407 +A31580140FA315005CA3141E143EA2143C147CA25CA25C13015C13035C13075C130F91C7 +FC131E133E133C5B5B485AA2485A485A48C8FC121E5A12705A5A1B4A7EB71F>I44 DI<121C127F12FFA412FE12380808778718> +I<17E0EE01F0A2EE03E0A2EE07C0160F1780EE1F00A2163EA25EA25E15015E4B5AA24B5A +A24B5A151F93C7FC153EA25DA25DA24A5A14035D4A5AA24A5AA24AC8FCA2143E147E147C +5CA2495AA2495A13075C495AA249C9FCA2133EA25B13FC5B485AA2485AA2485AA2485A12 +1F90CAFC123EA25AA25AA25A5A2C4B7EB727>I49 +DI<15 +0E151FA2153F153EA3157E157CA215FC15F8A2140115F0A2EC03E0A3EC07C0A2EC0F80A2 +EC1F00A2143EA25C147814F85C1301903803E0E0ECC1F0EB0781EB0F83EC03E0131E133C +EB7C0701F813C0EA01F0EA03E03807C00FD80F801380EA1FFC383FFFCF48EBFF82D8F003 +13FF3860003FC7EA1FF8EC3F00143EA3147E147CA314FC5CA4146020417DB127>52 +D57 +D<1370EA01FC1203A413F8EA00E01300B0121C127F5AA45A12380E20779F18>I<130EEB +3F80137FA41400131C90C7FCB0EA0380EA0FC0487EA45B1207120012015BA2120390C7FC +5A1206120E5A5A123012705A5A112F7A9F18>I<161C163CA2167C16FCA21501821503A2 +ED077E150F150E151CA21538A2157015F015E0EC01C0A2913803807F82EC0700A2140E14 +1E141C5CA25CA25C49B6FCA25B913880003F49C7EA1F80A2130E131E131C133C13385B13 +F05B12011203D80FF0EC3FC0D8FFFE903807FFFEA32F367BB539>65 +D<0107B612C04915F017FC903A003F8000FE177FEF3F8092C7121FA24A15C0A2147EA214 +FE18804A143FA20101ED7F00177E4A5C16010103EC03F04C5A4AEB1FC091B6C7FC495C91 +39F0007F804AEB0FC0707E010F6E7E834A1301A2011F81A25CA2133F5F91C71203A2494A +5AA2017E4A5A4C5A01FE4A5A4CC7FC49EB01FE0001EC07FC007FB612F0B712C04BC8FC32 +337BB236>II<0107B612C04915F017 +FC903A003F8001FEEE007FEF1F8092C7EA0FC0EF07E05CEF03F0147E170102FE15F8A25C +A21301A25CA2130317035CA2130718F04A1407A2130F18E04A140F18C0011F151F18805C +EF3F00133F177E91C85AA2494A5A4C5A017E4A5A4C5A01FE4A5A047EC7FC49495A0001EC +0FF8007FB612E0B7C8FC15F835337BB23A>I<0107B712F05B18E0903A003F80001F1707 +170392C7FC17015C18C0147EA214FEA24A130EA20101EC1E03041C13804A91C7FC163C13 +035E9138F001F891B5FC5B5EECE0011500130F5E5C1707011F01015BEEC00E0280141E92 +C7121C133F173C91C812381778495DA2017E14014C5A01FE14074C5A49141F00014AB45A +007FB7FCB8FC94C7FC34337CB234>I<0107B712E05B18C0903A003F80003F170F170792 +C7FC17035C1880147EA214FEA25C161C0101EC3C07043813004A91C7FCA2010314781670 +4A13F0150349B5FCA25EECE003130F6F5A14C0A2011F13035E1480A2013F90C9FCA291CA +FCA25BA2137EA213FEA25B1201387FFFFCB5FCA233337CB232>I<92391FE001809238FF +F8030207EBFE07913A1FF01F0F0091393F80079F9139FE0003DFD901F86DB4FCD907F05C +49481300495A4948147E49C8127C137E13FE485A48481578A2485AA248481570A2485A94 +C7FC123F5BA3127F90CBFCA400FE91383FFFFCA25F9238003F8094C7FCA2007E5DA2167E +A2007F15FE7E5E6C6C1301A26C6C495A6D13076C6CEB0F786C6C133E3A00FF01FC309038 +7FFFF0011F01C0C8FCD903FEC9FC313775B43B>I<010FB51280A216009038003FC05DA2 +92C7FCA25CA2147EA214FEA25CA21301A25CA21303A25CA21307A25CA2130FA25CA2131F +A25CA2133FA291C8FCA25BA2137EA213FEA25B1201B512F8A25C21337BB21E>73 +D<91381FFFFE5C16FC9138003F80A31600A25D157EA315FE5DA314015DA314035DA31407 +5DA3140F5DA3141F5DA3143F92C7FCA2121C007E5B00FE137EA214FE485BEAF80100E05B +495A387007E038780FC06C48C8FCEA1FFCEA07F0273579B228>I<0107B512C05BA29026 +003FC0C7FC5DA292C8FCA25CA2147EA214FEA25CA21301A25CA21303A25CA21307A25CA2 +130FA25C17E0011F140117C05C1603013F1580160791C7FCEE0F005B5E017E143EA201FE +5CED01FC4913030001EC1FF8007FB6FCB7FC5E2B337CB230>76 D<902607FFC0ED7FFC49 +17FF81D9003F4B1300611803023BED077CA2027BED0EFC610273151C1838DAF1F01439F0 +71F014E118E10101ED01C36102C1EC0383EF070301031607050E5BEC80F8171C0107ED38 +0F6102001470A249EDE01FDC01C090C7FC130EEE0380011E017C5C933807003E011C140E +A2013C4A137E187C01385C5E017816FC6F485B1370ED3FC001F0EC80016000011500D807 +F81503277FFF803E90B512C0B5EB3C01151C46337BB245>I<902607FF8090383FFFC049 +6D5BA2D9001F913803F8004A6C6D5A6060EC3BF0027B140360EC71F8A202F11407DAF0FC +91C7FC14E0A20101017E5B170E14C0810103151EEE801CEC801FA20107ECC03C030F1338 +140016E049010713781770010E14F01503011E15F0705A011C1301A2013C14FD03005B13 +3816FF0178147F5F0170143FA213F070C8FC1201EA07F8267FFF807FB5140EA23A337BB2 +39>II<0107B612C04915F883903A003F +8001FEEE003FEF1F8092C713C0170F5C18E0147EA214FEEF1FC05CA201011680173F4A15 +00177E010315FE5F4AEB03F8EE07E00107EC3FC091B6C7FC16F802E0C9FC130FA25CA213 +1FA25CA2133FA291CAFCA25BA2137EA213FEA25B1201387FFFF0B5FCA233337CB234>I< +0107B512FE49ECFFC017F0903A003F8007F8EE01FCEE007E92C7127F835C1880147EA214 +FEEF7F005CA2010115FE5F4A13015F01034A5AEE0FC04A495A04FEC7FC49B512F016C091 +38E003E0ED01F8010F6D7E167C4A137EA2131FA25CA2013F14FEA291C7FCA24913015E13 +7EEF01C001FE150318805B00011607277FFFF0001400B5ECFE0EEE7E1CC9EA1FF8EE07E0 +32357BB238>82 D<913901FC018091380FFF03023F13C791387E07EF903A01F801FF0049 +487E4A7F495A4948133E131F91C7FC5B013E143CA3137E1638A293C7FC137FA26D7E14E0 +14FE90381FFFC06D13F86D7F01017F6D6C7E020F7F1400153F6F7E150FA4120EA2001E5D +121CA2151F003C92C7FCA2003E143E5D127E007F5C6D485A9038C007E039F3F80FC000F0 +B5C8FC38E03FFC38C00FF029377AB42B>I<0003B812C05A1880903AF800FC003F260FC0 +01141F0180150F01005B001EEE07001403121C003C4A5BA200380107140E127800705CA2 +020F141E00F0161CC74990C7FCA2141FA25DA2143FA292C9FCA25CA2147EA214FEA25CA2 +1301A25CA21303A25CA21307A25C497E001FB512F05AA2323374B237>I<3B3FFFF801FF +FE485CA2D801FEC7EA1FC049EC0F80170049140EA2161E120349141CA2163C1207491438 +A21678120F491470A216F0121F495CA21501123F90C75BA215035A007E5DA2150712FE48 +92C7FCA25D150E48141E151C153C153815786C5C5D007C1301007E495A003EEB0F806C01 +1EC8FC380FC0FC6CB45A000113E06C6CC9FC2F3570B239>I87 +D<902607FFFE90387FFFC0A39026001FF090380FF80003C014C0020F5D6F91C7FC020714 +1E6F5B5F02035C6F485A02015C6F485A4CC8FC0200130EEDFE1EED7E3C5EED7FF06F5A5E +5E151F82A24B7E157F1577EDE7F0EC01C7EC038302077FEC0F01021E7F143CEC38004A7F +4A137E495A0103147F49487F49C77F131E49141F017C8113FC00074B7EB5D88003B57EA2 +95C7FC3A337CB239>I97 D<137EEA0FFE121F5B1200A35BA21201A25BA21203 +A25BA21207A2EBC3E0EBCFF8380FDC3EEBF81F497E01E01380EA1FC0138015C013005AA2 +123EA2007E131F1580127CA2143F00FC14005AA2147EA25CA2387801F85C495A6C485A49 +5A6C48C7FCEA0FFCEA03F01A3578B323>I<14FCEB07FF90381F078090383E03C0EBFC01 +3801F8033803F0073807E00F13C0120F391F80070091C7FC48C8FCA35A127EA312FE5AA4 +007C14C0EC01E0A2EC03C06CEB0F80EC1F006C137C380F81F03803FFC0C648C7FC1B2278 +A023>II< +EB03F8EB0FFEEB3E0F9038F807803801F003EA03E0EA07C0120FEA1F801407D83F001300 +5C007E133EEB03F8387FFFE04848C7FC00FCC8FCA45AA4EC0180EC03C0A2007CEB0780EC +1F00003C133E6C13F8380F03E03807FF80D801FCC7FC1A2277A023>I<151FED7FC0EDF0 +E0020113F0EC03E3A2EC07C316E0EDC1C091380FC0005DA4141F92C7FCA45C143E90381F +FFFEA3D9007EC7FC147CA414FC5CA513015CA413035CA413075CA3130FA25CA3131F91C8 +FCA35B133E1238EA7E3CA2EAFE7812FC485AEA78E0EA3FC0000FC9FC244582B418>I<14 +3FECFF80903803E1E6903807C0FF90380F807FEB1F00133E017E133F49133EA24848137E +A24848137CA215FC12074913F8A21401A2D80FC013F0A21403120715E01407140F141F39 +03E03FC00001137FEBF0FF38007FCF90381F0F801300141FA21500A25C143E1238007E13 +7E5C00FE5B48485A387803E0387C0F80D81FFFC7FCEA07F820317CA023>III<1538157C15FCA315701500AB143EECFF80903801E3C090 +380383E0EB0701130FEB0E03131C133C133814071378013013C01300140FA21580A2141F +A21500A25CA2143EA2147EA2147CA214FCA25CA21301A25CA213035C1238387E07C0A238 +FE0F804848C7FCEAF83EEA787CEA3FF0EA0F801E4283B118>II<133FEA07FF5A13FEEA007EA3137CA2 +13FCA213F8A21201A213F0A21203A213E0A21207A213C0A2120FA21380A2121FA21300A2 +5AA2123EA2127EA2127C1318EAFC1C133CEAF838A21378137012F013F0EAF8E01279EA3F +C0EA0F00103579B314>I<2703C003F8137F3C0FF00FFE01FFC03C1E783C1F07C1E03C1C +7CF00F8F01F03B3C3DE0079E0026383FC001FC7FD97F805B007001005B5E137ED8F0FC90 +380FC00100E05FD860F8148012000001021F130360491400A200034A13076049013E130F +F081800007027EEC83C0051F138049017C1403A2000F02FC1407053E130049495CEF1E0E +001F01015D183C010049EB0FF0000E6D48EB03E03A227AA03F>I<3903C007F0390FF01F +FC391E787C1E391C7CF01F393C3DE00F26383FC01380EB7F8000781300EA707EA2D8F0FC +131F00E01500EA60F8120000015C153E5BA20003147E157C4913FCEDF8180007153C0201 +133801C013F0A2000F1578EDE070018014F016E0001FECE1C015E390C7EAFF00000E143E +26227AA02B>I<14FCEB07FF90381F07C090383E03E09038FC01F0EA01F83903F000F848 +5A5B120F484813FCA248C7FCA214014814F8127EA2140300FE14F05AA2EC07E0A2007CEB +0FC01580141FEC3F006C137E5C381F01F0380F83E03803FF80D800FCC7FC1E2278A027> +I<011E137C90387F81FF9039F3C387C09039E3EF03E03901E1FE01D9C1FC13F0EBC3F800 +0313F0018314F814E0EA07871307000313C01200010F130316F01480A2011F130716E014 +00A249EB0FC0A2013EEB1F80A2017EEB3F00017F133E5D5D9038FF81F09038FDC3E09038 +F8FF80027EC7FC000190C8FCA25BA21203A25BA21207A25BB5FCA325307FA027>I<3903 +C00FC0390FF03FF0391E78F078391C7DE03C393C3FC0FC00381380EB7F00007814F8D870 +7E13701500EAF0FC12E0EA60F812001201A25BA21203A25BA21207A25BA2120FA25BA212 +1FA290C8FC120E1E227AA020>114 DI<1303EB0F80A3131FA21400A25BA2133EA2137EA2137C387FFFF8A2B5FC3800 +F800A21201A25BA21203A25BA21207A25BA2120FA25B1460001F13F014E01300130114C0 +1303001E1380EB07005BEA0F1EEA07F8EA01E015307AAE19>II< +01F01338D803FC13FCEA0F1E120E121C123C0038147CEA783E0070143CA2137ED8F07C13 +38EA60FCC65A1578000114705BA215F0000314E05BA2EC01C0A2EBC003158014071500EB +E00EA26C6C5A3800F878EB7FE0EB1F801E227AA023>II<13F0D803FC1307D80F1E130F000E141F121C123C +0038143FD8783E133E1270A2017E137ED8F07C137CEA60FCC65A15FC000114F85BA21401 +000314F013E0A2140315E0EA07C0A20003130715C0EBE00F141F0001133F9038F07F8038 +007FEFEB1F8FEB001F1500A25C003E133E007E137E147C5C007C5BEA7001495A38380780 +D83C1FC7FCEA0FFCEA07F020317AA025>121 D<903807801C90381FE03C90383FF03801 +7F13789038FFF8F03901F07CE0EBE01F3903C003C09038800780EC0F00C7121E141C143C +5C5C495AEB07C0495A011EC7FC5B5B4913704913F0000114E0485A38078001390FC003C0 +381FF80790383E0F80393C1FFF00127838700FFE38F007F838E001E01E227CA01F>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fe cmtt10 10 46 -/Fe 46 123 df<121C123E127FEAFF80B0EA7F00AF123EC7FCA8121C123E127FEAFF80A3 -EA7F00123E121C09346FB32C>33 D<0018130C003C131E007E133FB4EB7F80A76C1400A8 -007E7FA5003C131E191877B32C>I<147814FC13011307EB0FF8EB1FE0EB3FC0EB7F8014 -0013FE485A12035B485A120F5B121F5BA2485AA348C7FCA45A5AAC7E7EA46C7EA36C7EA2 -7F120F7F12076C7E7F12016C7E137F1480EB3FC0EB1FE0EB0FF8EB07FC13011300147816 -4272B92C>40 D<1238127C12FEEA7F806C7E6C7E6C7E6C7E12036C7E6C7E7F7FEB3F8014 -C0131F14E0130FA2EB07F0A3EB03F8A414FC1301AC130314F8A4EB07F0A3EB0FE0A2131F -14C0133F1480EB7F005B5B485A485A1207485A485A485A485A00FEC7FC127C1238164279 -B92C>I<007FB6FCA2B71280A26C1500A221067B9B2C>45 D<121FEA3F80EA7FC0EAFFE0 -A5EA7FC0EA3F80EA1F000B0B708A2C>I<15075DED1F80A2153F16005D157E15FE5D1401 -5D14035DA214075D140F5D141F5D143F92C7FC5C147E14FE5CA213015C13035C13075C13 -0F5C131F5CA2133F91C8FC5B137E13FE5B12015B12035B12075BA2120F5B121F5B123F90 -C9FC5A127E12FE5AA21278A221417BB92C>I49 DI<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCAE121FEA3F80EA7FC0EAFF -E0A5EA7FC0EA3F80EA1F000B2470A32C>58 D<1507151FED3F8015FF020313005CEC1FFC -4A5AECFFE0491380010790C7FCEB0FFCEB3FF8EB7FE048485A4890C8FCEA0FFEEA1FF8EA -7FF013C0485AA26C7E13F0EA1FF8EA0FFEEA03FF6C13C06C6C7EEB3FF8EB0FFC6DB4FC01 -017F6D13E0EC3FF86E7EEC07FF8002001380153FED1F001507212A7BAD2C>60 -D<1270127C12FE6C7EEA7FE07FEA1FFC6C7E3803FF80C67FEB7FF0EB1FF8EB0FFEEB03FF -6D13C06D6C7EEC3FF8EC0FFC6EB4FC14016E1380A24A13001407EC0FFCEC3FF8EC7FE049 -485A4990C7FCEB0FFEEB1FF8EB7FF0EBFFC000035BD80FFEC8FC485AEA7FF05BEAFF8048 -C9FC127C1270212A7BAD2C>62 D<003FB512E04814FCB67EEDFF806C15C07E3A03F8003F -E0ED1FF0150F150716F81503A5150716F0150FED1FE0ED3FC090B6128016005DA2EDFF80 -16C09039F8007FE0ED0FF0ED07F81503ED01FCA2ED00FEA6150116FC15031507ED0FF815 -3F003FB612F04815E0B712C016806CECFE006C14F827337FB22C>66 -D<02FF13700107EBE0F84913F1013F13FF5B90B6FC4813C148EB003F01FC131F4848130F -485A491307121F5B003F14035B127F90C7FCED01F092C7FC5A5AAB7E7EA2ED01F06DEB03 -F8123F7F121F6D1307000F15F07F6C6C130F6C6CEB1FE001FFEB3FC06C9038C0FF806C90 -B5FC6D14006D13FC010F5B6D13E0010090C7FC25357DB32C>I<3A7FFF01FFFCB5008313 -FEA46C010113FC3A07F0001FC0AF90B6FCA69038F0001FB23A7FFF01FFFCB5008313FEA4 -6C010113FC27337EB22C>72 D<007FB512FCB612FEA46C14FC39000FE000B3B3A3007FB5 -12FCB612FEA46C14FC1F337AB22C>I<387FFFE0B57E80A25C6C5BD803F8C8FCB3AC16F8 -ED01FCA8007FB6FCB7FCA46C15F826337EB22C>76 D<003FB512E04814FCB67EEDFF806C -15C06C15E03803F800ED1FF0150FED07F8150316FC1501A7150316F81507ED0FF0151FED -FFE090B6FC16C01680EDFE005D15E001F8C8FCAE383FFF80487FB57EA26C5B6C5B26337F -B22C>80 D<387FFFFCB67E15E015F8816C803807F00FEC01FF6E7F157F153F82151FA415 -3F5E157F15FF4A90C7FCEC0FFE90B5FC5D5D15E081819038F007FCEC01FE14008181A816 -0E161FEE3F80A3D87FFFEB3FBFB50080EBFF00815E6F5A6C496C5AC8EA01F029347EB22C ->82 D<90381FF80790397FFF0F8048B5129F4814FF5A5A381FF01F383FC00348487E90C7 -FC48147F5AA2153FA36CEC1F0092C7FC6C7E7FEA3FF06CB4FC6C13F06C13FF6C14E06C80 -6C80011F7F01017F9038001FFF02011380EC007FED3FC0151F16E0A2003C140F127E12FE -A36C141F16C0A201C0EB3F806D137F9039FE03FF0090B55A5D5D00FD5CD8F83F13C0D870 -0790C7FC23357CB32C>I<003FB612FC4815FEB7FCA439FE00FE00A7007C157CC71400B3 -AD90383FFFF8497F90B57EA26D5B6D5B27337EB22C>I<3801FFF0000713FE486D7E4880 -4880819038C01FF8391F8007FC380F0001000680C8FCA2140FEB07FF137F48B5FC12075A -4813F8383FFC00EA7FE0EAFF8090C7FC5AA36C1301A2387F8007383FE03F90B612FC6C15 -FE7E6C143F0001EBFC1F3A007FC00FFC27247CA32C>97 DI<903803FF -F0011F13FC017F7F90B6FC4815805A48EB007FD80FF8EB3F00D81FE0131E4848130C4990 -C7FC127F90C9FCA25A5AA67E7EA26DEB0F806C6CEB1FC07F6C6C133FD80FFCEB7F803907 -FF81FF6C90B512006C5C6C5C6D5B011F13E0010390C7FC22247BA32C>IIIII< -EA3FF8487E12FFA2127F123F1201A9EC07F8EC3FFE91B5FC01FD8090B67E82ECF81F9138 -C00FF0EC800714005BA35BB13B3FFFE03FFF80486D4813C0B56CB512E0A26C496C13C06C -496C13802B3380B22C>II<1407 -EC0F80EC1FC0EC3FE0A3EC1FC0EC0F80EC070091C7FCA790B512C04814E05AA27E7EEB00 -0FB3B3EC1FC0123C007E133FB4EB7F80903801FF00EBFFFE5C6C5B6C5B6C5B000790C7FC -1B467CB32C>II<383FFFF0487FB5FCA27E7EEA0003B3B3A3003FB612804815C0B712E0 -A26C15C06C158023337CB22C>I<3A3FC1F803F03A7FE7FC0FF8B538FE3FFC6E487E6C91 -B5FC7E3B07FE1FFC3F8001FC13F89039F80FF01F01F013E0A301E013C0B2D83FFC01F813 -F03B7FFE1FFC3FF8B5393FFE7FFCA23B7FFE1FFC3FF83B3FFC0FF81FF02E2481A32C>I< -393FF807F8397FFC3FFE00FF90B5FC01FD806CB67E6C810001EBF81F9138C00FF0EC8007 -14005BA35BB13B3FFFE03FFF80486D4813C0B56CB512E0A26C496C13C06C496C13802B24 -80A32C>II<393FF80FF0397FFC7FFED8FFFDB5FC90B612806C15C06C15E000019038F03FF091 -38C00FF891380003FC5BED01FE491300A216FF167FA816FF6D14FE15017FED03FC913880 -07F8ECC00F9138F03FF091B512E016C001FD148001FC1400EC7FFCEC0FF091C8FCAC383F -FFE0487FB57EA26C5B6C5B283680A32C>I114 D<90383FF8700003B512F85A5A5A -5A387FC01F38FF000700FC1303A36CEB01F06C6CC7FCEA7FFC383FFFF06C13FF6C14C06C -14E0C614F0010F13F89038007FFCEC03FE003CEB00FF007E143F12FE7EA26D137F6D13FE -EBF00790B512FC15F815F015E000F8148039701FFC0020247AA32C>I<130F497E133FA8 -003FB6FC481580B7FCA36C150026003F80C7FCAFED0380ED07C0ED0FE0A3151F02C013C0 -011F133F9138F07F806DB5FC16006D5B6D13F801005BEC3FC0232E7EAD2C>II<3A7FFF01FFFCB5008313FE14 -C7A214836C010113FC3A03F0001F806D133F00011500A26D5B0000147EA26D13FE017E5B -A36D485AA31483011F5BA214C7010F5BA3903807EFC0A214FF6D5BA36D90C7FCA26D5A27 -247EA32C>I<3A3FFF80FFFE4801C17FB51580A26C16006C01805B3A07E00003F0A66C6C -495AA2147FECFF87A3D801F1EBC7C0A201F913CF14F7A301FB13EF000001E35BA401FF13 -FF14C1017F91C7FCA3148090383F007E29247FA32C>I<3A3FFF03FFF048018713F802C7 -13FCA2028713F86C010313F03A00FE01FC0090387F03F8EB3F83EC87F090381FCFE09038 -0FEFC0EB07FF5D6D90C7FC7F6D5A5C80497E5B497FECEFC090380FCFE0EB1FC7EC83F090 -383F03F8496C7EEBFE00497F3A3FFF03FFF848018713FCB500C713FEA26C018713FC6C01 -0313F827247EA32C>I<3A3FFF01FFFC48018313FEB512C7A26C13836C010113FC3A03F8 -001F800001143F6D140012005D6D137E137EA2017F5B7FA2EC81F8131FA2EB0FC1ECC3F0 -A2EB07E35D14E71303ECF7C0130114FF5D7FA292C7FC80A2147EA314FE5CA21301000C5B -EA3F03387F87F0138F495AEBFFC0A26C5B6C48C8FC6C5AEA07F027367EA32C>I<001FB6 -12E04815F05AA316E090C7EA3FC0ED7F80EDFF004A5AEC07FC003E495AC7485A4A5A4A5A -4A5A4990C7FC495A495A495A495A495A495A9039FF8003E04890380007F0485AEA07F848 -5A485A485A48B6FCB7FCA46C15E024247DA32C>I E +/Fe 46 123 df<121C127FEAFF80B1EA7F00AF123EC7FCA8121C127FA2EAFF80A3EA7F00 +A2121C09346FB32C>33 D<003C131E007F137F481480A66C1400A6007E7FA6003E133EA3 +003C131E001C131C191977B32C>I<143814FC13011303EB07F8EB0FF0EB1FC0EB3F80EB +7F0013FE485A485A5B12075B120F5B485AA2123F90C7FCA25A127EA312FE5AAC7E127EA3 +127F7EA27F121FA26C7E7F12077F12037F6C7E6C7E137FEB3F80EB1FC0EB0FF0EB07F8EB +03FC130113001438164272B92C>40 D<127012FC7E7E6C7E6C7EEA0FE06C7E6C7E6C7E6C +7E137F7F1480131F14C0130FEB07E0A214F01303A214F81301A314FC1300AC130114F8A3 +130314F0A2130714E0A2EB0FC0131F1480133F14005B13FE485A485A485A485AEA3FC048 +5A48C7FC5A5A1270164279B92C>I<007FB6FCB71280A46C150021067B9B2C>45 +D<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B0B708A2C>I<1507ED0F80151F +A2153F16005D157E15FE5D14015D14035DA214075D140F5D141F5D143F92C7FC5C147E14 +FE5CA213015C13035C13075C130F5C131F5CA2133F91C8FC5B137E13FE5B12015B12035B +12075BA2120F5B121F5B123F90C9FC5A127E12FE5AA25A127821417BB92C>I<1307497E +A2131FA2133F137F13FF5A1207127FB5FC13DF139FEA7C1F1200B3AE007FB512E0B612F0 +A36C14E01C3477B32C>49 DI<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F00C7FCAE12 +1FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B2470A32C>58 +D<1507ED1F80153F15FF14034A1300EC1FFC4A5AECFFE0491380010790C7FCEB0FFCEB3F +F8EB7FE048485A4890C8FCEA0FFEEA1FF8EA7FF0EAFFC05BA27FEA7FF0EA1FF8EA0FFEEA +03FF6C13C06C6C7EEB3FF8EB0FFC6DB4FC01017F6D13E0EC3FF86E7EEC07FF6E13801400 +153F151FED0700212A7BAD2C>60 D<127012FC7E6C7E13E06C7EEA1FFC6C7E3803FF80C6 +7FEB7FF0EB1FF8EB0FFEEB03FF6D13C06D6C7EEC3FF8EC0FFC6EB4FC0201138080A25C02 +071300EC0FFCEC3FF8EC7FE049485A4990C7FCEB0FFEEB1FF8EB7FF0EBFFC000035BD80F +FEC8FC485AEA7FF0485A138048C9FC5A1270212A7BAD2C>62 D<007FB512E015F8B612FE +6C8016C03903F0003FED0FE0ED07F01503A2ED01F8A6ED03F0A21507ED0FE0ED1FC0EDFF +8090B612005D5D15FF16C09039F0001FE0ED07F0ED03F81501ED00FCA216FE167EA616FE +16FC1501ED03F8150FED3FF0007FB612E016C0B712806CECFE0015F027337FB22C>66 +D<02FF13700107EBE0F84913F9013F13FD4913FFEBFF813901FE007F4848131FD807F013 +0F1507485A491303485A150148C7FCA25A007EEC00F01600A212FE5AAB7E127EA3007F15 +F06CEC01F8A26C7EA26C6C13036D14F06C6C130716E0D803FC131F6C6CEB3FC03A00FF81 +FF806DB512006D5B010F5B6D13F00100138025357DB32C>I72 D<007FB512F8B612FCA36C14F839000FC000B3B3A5007FB512F8B6 +12FCA36C14F81E3379B22C>I<387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A800 +7FB6FCB7FCA36C15F025337DB22C>76 D<007FB512C0B612F88115FF6C15802603F00013 +C0153FED0FE0ED07F0A2150316F81501A6150316F01507A2ED0FE0ED3FC015FF90B61280 +160015FC5D15C001F0C8FCB0387FFF80B57EA36C5B25337EB22C>80 +D<387FFFFCB67E15E015F86C803907E007FE1401EC007F6F7E151FA26F7EA64B5AA2153F +4BC7FCEC01FE140790B55A5D15E081819038E007FCEC01FE1400157F81A8160FEE1F80A5 +D87FFEEB1FBFB5ECFF00815E6C486D5AC8EA01F029347EB22C>82 +D<90381FF80790B5EA0F804814CF000714FF5A381FF01F383FC003497E48C7FC007E147F +00FE143F5A151FA46CEC0F00007E91C7FC127F7FEA3FE0EA1FFCEBFFC06C13FC0003EBFF +C06C14F06C6C7F01077F9038007FFEEC07FF02001380153FED1FC0A2ED0FE0A200781407 +12FCA56CEC0FC0A26CEC1F806D133F01E0EB7F009038FE01FF90B55A5D00F914F0D8F83F +13C0D8700790C7FC23357CB32C>I<007FB612FCB712FEA43AFC007E007EA70078153CC7 +1400B3AF90383FFFFCA2497F6D5BA227337EB22C>I<3801FFF0000713FE001F6D7E15E0 +48809038C01FF81407EC01FC381F80000006C77EC8127EA3ECFFFE131F90B5FC1203120F +48EB807E383FF800EA7FC090C7FC12FE5AA47E007F14FEEB8003383FE01F6CB612FC6C15 +FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>97 DI<903803FFE0011F13F801 +7F13FE48B5FC48804848C6FCEA0FF0485A49137E4848131890C9FC5A127EA25AA8127EA2 +127F6C140F6DEB1F806C7E6D133F6C6CEB7F003907FE03FF6CB55A6C5C6C6C5B011F13E0 +010390C7FC21247AA32C>IIIIII<1307EB1FC0A2497EA36D5AA20107C7FC +90C8FCA7387FFFC080B5FC7EA2EA0007B3A8007FB512FCB612FEA36C14FC1F3479B32C> +I<140EEC3F80A2EC7FC0A3EC3F80A2EC0E0091C7FCA748B512804814C0A37EC7120FB3B3 +A2141F003C1480007E133FB414005CEB01FEEBFFFC6C5B5C001F5B000790C7FC1A467CB3 +2C>II<387FFFE0B57EA37EEA0003B3B3A5007FB61280B712C0A36C158022337BB22C>I< +3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF13FF91B57E3A07FE1FFC3E01FCEBF8 +3F496C487E01F013E001E013C0A301C01380B33B7FFC3FF87FF0027F13FFD8FFFE6D13F8 +D87FFC4913F0023F137F2D2481A32C>I<397FF01FE039FFF87FFC9038F9FFFE01FB7F6C +B6FC00019038F03F80ECC01F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C +01E0140029247FA32C>II<397FF01FE039FFF8FFF801FB13FE90B6FC6C15800001 +9038F07FC09138801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14 +FCA2ED01F86D13036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813 +F8EC3FC091C8FCAD387FFFE0B57EA36C5B27367FA32C>I114 D<90387FF8700003B512F8120F5A5A387F +C00F387E00034813015AA36CEB00F0007F140013F0383FFFC06C13FE6CEBFF80000314E0 +C66C13F8010113FCEB0007EC00FE0078147F00FC143F151F7EA26C143F6D133E6D13FE90 +38F007FC90B5FC15F815E000F8148039701FFC0020247AA32C>I<131E133FA9007FB6FC +B71280A36C1500D8003FC8FCB1ED03C0ED07E0A5EC800F011FEB1FC0ECE07F6DB5128016 +0001035B6D13F89038003FE0232E7EAD2C>I<3A7FF003FF80486C487FA3007F7F0001EB +000FB3A3151FA2153F6D137F3900FE03FF90B7FC6D15807F6D13CF902603FE0713002924 +7FA32C>I<3A7FFF01FFFCB514FE148314016C15FC3A03E0000F80A26D131F00011500A2 +6D5B0000143EA26D137E017C137CA2017E13FC013E5BA2EB3F01011F5BA21483010F5BA2 +14C701075BA214EF01035BA214FF6D90C7FCA26D5A147C27247EA32C>II<3A3FFF03FFF048018713F8A36C010313F03A00FC00 +7E005D90387E01F8013F5BEB1F83EC87E090380FCFC0903807EF80EB03FF6D90C7FC5C6D +5A147C14FE130180903803EF80903807CFC0EB0FC7EC83E090381F01F0013F7FEB7E0001 +7C137C49137E0001803A7FFF01FFFC1483B514FE6C15FC140127247EA32C>I<3A7FFF01 +FFFCB5008113FE148314816C010113FC3A03E0000F806C7E151F6D140012005D6D133E13 +7C017E137E013E137CA2013F13FC6D5BA2EB0F815DA2EB07C1ECC3E0A2EB03E3ECE7C013 +0114F75DEB00FFA292C7FC80A2143EA2147E147CA214FC5CA2EA0C01003F5BEA7F83EB87 +E0EA7E0F495A387FFF806C90C8FC6C5A6C5AEA07E027367EA32C>I<003FB612E04815F0 +A4007EC7EA1FE0ED3FC0ED7F80EDFF004A5A003C495AC7485A4A5A4A5A4A5A4A5A4AC7FC +EB01FC495AEB0FF0495A495A495A49C8FC4848EB01E04848EB03F0485A485A485A485A48 +5AB7FCA46C15E024247DA32C>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Ff cmtt9 9 63 -/Ff 63 127 df<123C127E12FFAF127EAD123E121C1200A7123C127E12FFA4127E123C08 -2F71AE27>33 D<001C1338003E137C007F13FE4813FFA26C13FEAF003E137C001C133818 -1679AE27>I<90383C03C0A290387E07E0A6EBFE0F01FC13C0A2007FB512FEA2B7FCA26C -14FE6C14FC3901F81F80AC003FB512FC4814FEB7FCA26C14FEA23903F03F00A200075BEB -E07EA63803C03CA2202E7DAD27>I<000F1470486C13F0393FC001F8EA7FE0140315F038 -FFF00700F914E0A2140F15C0A2141F00FF1480387FE03F1500A26C485A381F807E380F00 -FEC75AA213015CA213035C13075CA2130F5C131F5CA2133F91C7FCA24913F090387E01F8 -9038FE03FC9038FC07FEA212019038F80FFF0003149F13F0A2120713E0A2000F14FF9038 -C007FE121F1380EC03FC390F0001F86CEB00F0203A7DB327>37 D39 DI<1238 -127C12FE127F6C7E6C7E6C7E6C7E6C7E6C7E6C7E137E137F7F1480131F14C0130FA214E0 -1307A314F01303AA130714E0A3130F14C0A2131F1480133F14005B137E13FE485A485A48 -5A485A485A485A48C7FC12FE127C1238143A7AB327>I<130F497EA60078EB81E000FEEB -87F000FF138FEBDFBF6CB512E06C14C0000F1400000313FCC613F0A2000313FC000F13FF -003F14C04814E039FFDFBFF0EB1F8F00FE13870078EB81E00000EB8000A66DC7FC1C207B -A627>III<007FB512F8A2B612FCA26C14F8A2 -1E067C9927>I<121E123FEA7F80EAFFC0A4EA7F80EA3F00121E0A0A728927>I48 D<130E131FA25BA25B5B5A5A123F5AB5FCA2133F127E1200B3A8003FB5FC48 -148015C0A215806C14001A2F79AE27>IIII<001FB512E04814F0A415E090C8FCABEB1FF0 -EB7FFC497E80158015C09038F01FE09038C007F090380003F8123E001C1301C713FC1400 -A3123C127EB4FC140115F8481303EC07F0007F131F9038C07FE06CB512C06C14806C1400 -6C13FC00015B38007FC01E2F7CAD27>I<121E123FEA7F80EAFFC0A4EA7F80EA3F00121E -C7FCAC121E123FEA7F80EAFFC0A4EA7F80EA3F00121E0A20729F27>58 -D<153815F8EC01FC1407EC0FF8143FEC7FE0ECFFC001031300495AEB1FF8495A495A3801 -FF804890C7FCEA0FFC485AEA7FF013C0485AA26C7E13F0EA1FF86C7EEA03FF6C7F38007F -E06D7E6D7EEB07FE6D7E010013C0EC7FE0EC3FF8140FEC07FC1401EC00F815381E287CAA -27>60 D<1270127C12FE6C7E6C7E13F0EA1FF86C7EEA03FF6C7F38007FE06D7E6D7EEB07 -FE6D7E010013C0EC7FE0EC3FF8140FEC07FCA2EC0FF8143FEC7FE0ECFFC001031300495A -EB1FF8495A495A3801FF804890C7FCEA0FFC485AEA7FF013C0485A48C8FC127C12701E28 -7CAA27>62 DI65 D<003FB5FC4814C0B67E15F87E6C803907E001FE1400157E157F -81A5157E15FE4A5A140390B55A5D15C015F081819038E001FEEC007FED3F80151FA2ED0F -C0A5151FA2ED3F80157F913801FF00003FB6FC485CB65A5D6C14E06C1480222E7FAD27> -I<903803F80E90381FFE1F90383FFFBF4913FF90B6FC5A3803FE073807F801EA0FF0497E -4848137F5B123F90C7123F5A127EA2151E00FE14005AAA7E127E151E153F127F7E7F001F -147F6D137E6C7E6D13FE3907F801FC3903FF07F86CEBFFF06C14E06D13C06D13806D1300 -EB03F820307DAE27>I<007FB61280B712C0A47E3907E0000FA6ED078092C7FCA2EC0780 -4A7EA390B5FCA6EBE00FA36E5A91C8FCA3ED03C0ED07E0A7007FB6FCB7FCA46C15C0232E -7FAD27>69 D<007FB61280B712C0A47E3907E0000FA6ED078092C7FCA3EC07804A7EA390 -B5FCA6EBE00FA36E5A91C8FCAAEA7FFFB57E80A25C6C90C8FC222E7EAD27>I<3A3FFC03 -FFC0486C4813E0B54813F0A26C486C13E06C486C13C03A07E0007E00AD90B512FEA69038 -E0007EAF3A3FFC03FFC0486C4813E0B54813F0A26C486C13E06C486C13C0242E7FAD27> -72 D<003FB512C04814E0B612F0A26C14E06C14C039001F8000B3B0003FB512C04814E0 -B612F0A26C14E06C14C01C2E7BAD27>I<383FFFC0487FB5FCA27E6C5BD803F0C8FCB3A8 -ED0780ED0FC0A7003FB6FC5AB7FCA27E6C1580222E7FAD27>76 DI<007FB5FCB612C015 -F081816C803907E003FF1400ED7F80153F151F16C0150FA5151F1680153F157FEDFF0014 -0390B55A5D5D5D15C092C7FC01E0C8FCABEA7FFEB5FCA46C5A222E7FAD27>80 -D<383FFFF04813FEB6FC15C06C806C803807E01FEC07F814036E7EA21400A41401A24A5A -1407EC1FF090B5FC5D5D92C7FC81819038E01FE01407811403A716F0EDF1F8A3D83FFC13 -F9397FFE01FFB514F0806C48EB7FE06C48EB3FC0C8EA1F00252F7FAD27>82 -D<90387FC0E03901FFF1F04813FF5A5A5A383FC07F387F001F007E130F00FE13075A1403 -A3EC01E06C90C7FC127E127FEA3FC013F86CB47E6C13F86C13FE00017F6C1480010F13C0 -010013E0EC0FF0EC03F81401A215FC14001238127C12FCA214016C14F8140338FF800790 -38F01FF090B512E015C01580150000F85B38701FF81E307CAE27>I<003FB612804815C0 -B7FCA439FC03F00FA60078EC0780000091C7FCB3A990387FFF8090B57E4880A26C5C6D5B -222E7EAD27>I<1278A212FCA27E127E127F7E7F121F7F120F7F12077F1203A27F12017F -12007F137E137F7F80131F80130FA280130780130380130180130080147E147F80A21580 -141F15C0140F15E0140715F0140315F8140115FC1400A2157815381E3A7CB327>92 -D<3803FFC0000F13F04813FC487F487F819038807FC0383F001F001E6D7E000C1307C7FC -EB1FFF90B5FC12075A5A383FFC07EA7FC0EAFF0012FCA3140F7E007F133FEBC0FF6CB612 -806C15C07E6C13F36C13C1C69038007F8022207C9F27>97 DIIIII<153F90391FC0FF80D97FF313C048B612E05A5A4814 -CF3A1FF07FC7C09039C01FC3809039800FC000003F80EB0007A4EB800F001F5CEBC01FEB -F07F6CB55A92C7FC485B5CEB7FF0EB1FC090C9FCA213A06CB5FC6C14E04814F848804880 -397F8001FF007EC7EA3F80007C140F00FC15C0481407A46C140F007EEC1F80D87F80137F -3A3FF003FF006CB55A6C5C6C5C000114E06C6C1380D90FFCC7FC23337EA027>II<130F497E497EA46D5A6D -C7FC90C8FCA7383FFF80487FA47EEA000FB3A2003FB512E04814F0B612F8A26C14F06C14 -E01D2F7BAE27>I<143C147E14FFA4147E143C1400A73801FFFE4813FFA47EC7123FB3AE -147F003C137E007E13FEB413FC1303EBFFF814F06C13E06C13C06C13803807FE0018407C -AE27>II<387FFF80B57EA47EEA000FB3B0007FB512F8B612FCA46C14F81E -2E7CAD27>I<397F07C01F3AFF9FF07FC09039FFF9FFE091B57EA26C81390FF87FE19038 -E03F8001C01300A3EB803EAF3A7FF07FC1FF27FFF8FFE3138001F913E7A201F813E3277F -F07FC113002920819F27>I<387FE07F39FFF1FFC001F77F90B57E817E0003EB81FCEBFE -005B5BA25BAF3A7FFF81FFE0B500C313F014C7A214C36C018113E024207F9F27>II<397FE07F8039FFF1FFE001F77F -90B57E816C800003EB81FF9039FE007F8001F8133FED1FC049130FA216E01507A6150F6D -14C0151F7FED3F806D137F9039FF83FF00ECFFFE5D5D01F75B01F313C001F090C7FC91C8 -FCAB387FFF80B57EA46C5B23317F9F27>I<90380FF03C90387FFC7EEBFFFE000313FF48 -14FE5A381FFC1FEBE003383F8001EA7F001400127E00FE147E5AA67E007E14FE127F1401 -383F8003EBE007381FF81F6CB5FC7E6C147E6C13FE38007FF8EB1FE090C7FCAB91380FFF -F04A13F84A13FCA26E13F86E13F026317E9F27>I<393FFC03FC397FFE0FFF00FF013F13 -804A13C0007F90B5FC6CB6FC39007FFE1F9138F80F809138E002004AC7FC5CA291C8FCA3 -137EAB003FB57E4880B6FCA27E6C5C22207E9F27>I<9038FFF3800007EBFFC05A5A5A5A -38FF801F38FE000F5AEC07806C90C7FCEA7F8013FC383FFFE06C13FC000713FF00011480 -D8000F13C09038007FE0140F0038EB03F0127C12FC7E6C13079038C03FE090B5FC15C015 -80150000FB13FC38707FF01C207B9F27>I<131C133E137EA7003FB512F04814F8B6FCA3 -6C14F0D8007EC7FCAB1518153C157EA4017F13FE15FCEB3FC3ECFFF86D13F06D13E06D13 -C06D1380903800FE001F297EA827>I<397FE01FF8486C487EA4007F131F00031300B114 -011403EBF80F90B612E06C15F07E7FEB3FFC90391FF07FE024207F9F27>I<3A7FFC0FFF -80486C4813C0A46C486C13803A07E001F80000035CA2EBF00300015CA2EBF80700005CA3 +/Ff 63 127 df<123C127E12FFAF127EAE123C1200A7123C127E12FFA4127E123C082F71 +AE27>33 D<00101320007C13F838FE01FCAAEAFC00007C13F8A900381370161778AE27> +I<90383C03C090387E07E0A7EBFE0F01FC13C0A2007FB512FEB7FCA4003F14FE3901F81F +80AC003FB512FEB7FCA46C14FE3903F03F00A200075BEBE07EA73803C03C202E7DAD27> +I<000F1470486C13F8383FC001EA7FE0140315F038FFF00700F914E0A2140F15C0A2141F +00FF1480387FE03F1500A26C485A381F807E380F00FEC75AA213015CA213035C13075CA2 +130F5C131F5CA2133F91C7FCA24913F090387E01F89038FE03FC9038FC07FEA212019038 +F80FFF0003149F13F0A2120713E0A2000F14FF9038C007FE121F1380EC03FC000FEB01F8 +6CC712F0203A7DB327>37 D<120FEA1FC0123F13E0A213F0121F120F1201A4120313E012 +07EA0FC0A2EA3F80EA7F005A5A12F812700C1773AD27>39 DI<127012F812FE7E6C7E6C7EEA0FE06C7E12037F6C7E1200137EA27FA2EB1F80A3EB +0FC0A4EB07E0ACEB0FC0A4EB1F80A3EB3F00A2137EA25B1201485A5B1207485AEA3FC048 +5A48C7FC5A12F81270133A7AB327>I<130F497EA60078EB81E000FEEB87F000FF138FEB +DFBF6CB512E06C14C0000F1400000313FCC613F0A2000313FC000F13FF003F14C04814E0 +39FFDFBFF0EB1F8F00FE13870078EB81E00000EB8000A66DC7FC1C207BA627>II<120FEA3FC013E0 +EA7FF0A213F8A2123FA2120F120113F01203EA07E0121FEA7FC0EAFF8013005A12700D14 +738927>I<007FB512F8B612FCA46C14F81E067C9927>I<121EEA7F80A2EAFFC0A4EA7F80 +A2EA1E000A0A728927>I48 D<130E131FA25B5BA25B5A5A127FB5 +FCA213BFEA7E3F1200B3AA003FB512805A15C01580A21A2F79AE27>IIII<001FB512E04814 +F0A315E090C8FCACEB1FF0EBFFFC14FF158015C09038F03FE09038C00FF0EB0007003EEB +03F8001C1301C7FC15FC1400A3127C12FEA2140115F84813036C14F0007F130F9038801F +E0393FE07FC06CB512806C14006C5B000113F838007FC01E2F7CAD27>I<121EEA7F80A2 +EAFFC0A4EA7F80A2EA1E00C7FCAC121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A20729F27 +>58 D<153815FC14011407140FEC3FF8EC7FE0ECFFC001031300495AEB1FF8495A495A38 +01FF804890C7FCEA0FFC485AEA7FF0EAFFC05BA27FEA7FF0EA1FF86C7EEA03FF6C7F3800 +7FE06D7E6D7EEB07FE6D7E010013C0EC7FE0EC3FF8EC0FFC14071401140015381E287CAA +27>60 D<127012FC7E6C7E7FEA7FF0EA1FF86C7EEA03FF6C7F38007FE06D7E6D7EEB07FE +6D7E010013C0EC7FE0EC3FF8EC0FFC1407A2140FEC3FF8EC7FE0ECFFC001031300495AEB +1FF8495A495A3801FF804890C7FCEA0FFC485AEA7FF0EAFFC05B48C8FC5A12701E287CAA +27>62 DI65 +D<007FB5FCB612C08115F87E3907E003FCEC00FE157E157F81A6157EA25D1403EC0FF890 +B55A15C015F081819038E000FE157FED3F80151FA2ED0FC0A6151F1680153FED7F004A5A +007FB55AB65A5D15E06C1480222E7FAD27>I<903803F80E90381FFE1F90383FFFBF90B6 +FC5A3803FE0F3807F803497E48487E485A49137FA248C7123FA25A127E151E150012FE5A +AA7E127EA2151E007F143F7EA26C7E157F6D137E6C6C13FE3907F001FCEBF8033903FE0F +F86CB512F06C14E0013F13C06D1300EB03F820307DAE27>I<007FB61280B712C0A37E39 +07E0000FA6ED078092C7FCA4EC07804A7EA390B5FCA5EBE00FA36E5A91C8FCA4ED03C0ED +07E0A7007FB6FCB7FCA36C15C0232E7FAD27>69 D<007FB61280B712C0A37E3907E0000F +A6ED078092C7FCA4EC07804A7EA390B5FCA5EBE00FA36E5A91C8FCAC387FFF80B57EA36C +5B222E7EAD27>I<3A7FFE07FFE0B54813F0A36C486C13E03A07E0007E00AF90B512FEA5 +9038E0007EB03A7FFE07FFE0B54813F0A36C486C13E0242E7FAD27>72 +D<007FB512E0B612F0A36C14E039001F8000B3B2007FB512E0B612F0A36C14E01C2E7BAD +27>I<387FFFC080B5FC7E5CD803F0C8FCB3AAED0780ED0FC0A7007FB6FCA2B7FC7E1680 +222E7FAD27>76 DI<007FB5FCB612 +E081816C803907E003FEEC00FF81ED3F80151F16C0150FA6151F1680153FED7F005DEC03 +FE90B55A5D5D5D92C7FC01E0C8FCADEA7FFEB5FCA36C5A222E7FAD27>80 +D<387FFFF0B512FE6E7E816C803907E01FF014076E7E1401811400A514015D14034A5A14 +1F90B55A5D5DA281EBE01F6E7E14076E7EA816F0EDF1F8A4397FFE01FBB5EBFFF08016E0 +6C48EB7FC0C8EA1F00252F7FAD27>82 D<90387FC0E03901FFF1F0000713FF5A5AEA3FE0 +EB801F387F000F007E130712FE5A1403A3EC01E06C90C7FC127E127FEA3FC013F86CB47E +6C13F86C13FE6CEBFF80C614C0010F13E0010013F0140FEC07F81403140115FC14001278 +12FCA46CEB01F8A26C130390388007F09038F01FE090B5FC15C0150000F85B38701FF81E +307CAE27>I<007FB61280B712C0A439FC03F00FA60078EC0780000091C7FCB3AB90B512 +C04880A36C5C222E7EAD27>I<127812F87EA27E127E127F7E7F121F7F120F7F12077F12 +03A27F12017F12007F137E137F7F80131F80130FA280130780130380130180130080147E +147F80A21580141F15C0140F15E0140715F0140315F8140115FC1400A2157C15381E3A7C +B327>92 D<3803FFC0000F13F04813FC4813FF811380EC1FC0381F000F000480C71207A2 +EB0FFF137F0003B5FC120F5A383FFC07EA7FC0130012FE5AA46C130F007F131FEBC0FF6C +B612806C15C07E000313F1C69038807F8022207C9F27>97 DIIIII< +153F90391FC0FF80D97FF313C048B612E05A4814EF390FF07F873A1FC01FC3C0EDC000EB +800F48486C7EA66C6C485AEBC01FA2390FF07F8090B5C7FC5C485BEB7FF0EB1FC090C9FC +A27F6CB5FC15E015F84814FE4880EB8001007EC7EA3F80007C140F00FC15C0481407A46C +140F007C1580007F143F6C6CEB7F009038F807FF6CB55A000714F86C5CC614C0D90FFCC7 +FC23337EA027>II<13 +0F497E497EA46D5A6DC7FC90C8FCA7383FFF80487FA37EEA000FB3A4007FB512F0B6FC15 +F815F07E1D2F7BAE27>I<143C147E14FFA4147E143C1400A73801FFFE4813FFA37EC712 +3FB3B0147E1238007C13FE38FE01FC1303B512F814F06C13E06C13803807FE0018407CAE +27>II<387F +FF80B57EA37EEA000FB3B2007FB512F8B612FCA36C14F81E2E7CAD27>I<397F07C01F3A +FF9FF07FC09039FFF9FFE091B57E7E3A0FFC7FF1F89038F03FC001E0138001C01300A3EB +803EB03A7FF0FFC3FF486C01E3138001F913E701F813E36C4801C313002920819F27>I< +387FE07F39FFF1FFC001F713F090B5FC6C80000313C1EC01FCEBFE005B5BA25BB03A7FFF +83FFE0B500C713F0A36C018313E024207F9F27>II<387FE0FFD8FFF313C090B512F0816C800003EB81FE49C67E49EB +3F8049131F16C049130FA216E01507A6150F16C07F151F6DEB3F80157F6DEBFF009038FF +83FEECFFFC5D5D01F313C0D9F0FEC7FC91C8FCAC387FFF80B57EA36C5B23317F9F27>I< +90380FF03C90383FFE7E90B5FC000314FE5A380FFC1F381FE007EBC003383F800148C7FC +127EA200FE147E5AA67E007E14FEA2007F1301EA3F80EBC003381FE007380FF81F6CB5FC +7E6C147E38007FFCEB0FF090C7FCAC91381FFFF8A24A13FC6E13F8A226317E9F27>I<39 +7FFC03FC39FFFE0FFF023F13804A13C0007F90B5FC39007FFE1F14F89138F00F809138E0 +02004AC7FC5CA291C8FCA2137EAD007FB57EB67EA36C5C22207E9F27>I<9038FFF38000 +07EBFFC0121F5A5AEB803F38FC000F5AA2EC07806C90C7FCEA7F8013FC383FFFF06C13FC +000713FF00011480D8000F13C09038003FE014070078EB03F000FC1301A27E14036CEB07 +E0EBE01F90B512C01580150000FB13FC38707FF01C207B9F27>I<133C137EA8007FB512 +F0B612F8A36C14F0D8007EC7FCAE1518157EA415FE6D13FC1483ECFFF86D13F06D13E001 +0313C0010013001F297EA827>I<397FE01FF8486C487EA3007F131F00031300B21401A2 +1403EBFC0F6CB612E016F07EEB3FFE90390FF87FE024207F9F27>I<3A7FFC0FFF80486C +4813C0A36C486C13803A07C000F800EBE00100035CA2EBF00300015CA2EBF80700005CA3 90387C0F80A36D48C7FCA3EB3F3FEB1F3EA214FE6D5AA36D5AA26D5A22207E9F27>I<3A -3FFC03FFC0486C4813E0B54813F0A26C486C13E06C486C13C03A0F80001F00A26D5B0007 -143EA414F8EBC1FC3903E3FE7CA4EBE7DEA20001EBDF78A213F7A2148F01FF13F86C5CA2 -140F140790387E03E024207F9F27>I<393FFC0FFE486C487E4A1380A26E13006C486C5A -000014C04A5A017E90C7FC6D5AEB1F7E5C6D5A13076D5A5C80497E130F497E143EEB3E3F -EB7E1F90387C0F8001F87F00016D7E393FFC0FFF486C481380B54813C0A26C486C13806C -486C130022207E9F27>I<3A7FFC0FFF80486C4813C0A46C486C13803A03E001F8005D13 -F00001130301F85B1200A26D485A137CA290387E0F80133EA2011F90C7FC5CA2EB0F9F14 -9E14BE130714FC1303A25C1301A25CA213035CA21307000C5B123FEA7F8FEB9F80EA7E7F -D87FFFC8FC5B6C5A5B6C5AEA07C022317E9F27>I<000FB512FE4814FF5AA315FE903800 -03FCEC07F8EC0FF0EC1FE0001EEB3FC0C7EA7F80ECFF00495AEB03F8495A495A495AEB7F -8049C7FC4848131E4848133F485A485A485A485A48B6FCB7FCA46C14FE20207E9F27>I< -3801F0033903F807803907FC0FC0380FFE3F48B51280481400485B38FF1FFC38FC0FF838 -7807F0383003E01A0B7AAD27>126 D E +7FFE07FFE000FF15F06D5A497E007F15E03A0F80001F00A36D5B0007143EA414F0EBC1F8 +3903E3FC7CA4EBE79EA200011478A301F713F8A2EBFF0F6C5CA3EBFE0790387C03E02420 +7F9F27>I<393FFC1FFF486C5A168016006C487E3901F807E06C6C485A4A5A017E90C7FC +6D5AEB1F7E5C6D5A13076D5A5C80497E130F497E143EEB3E3FEB7E1F90387C0F8001F87F +00016D7E3803F0033A7FFE1FFF80A2B54813C06C486C1380A222207E9F27>I<3A7FFC0F +FF80486C4813C0A36C486C13803A07E000F800000313015D13F00001130301F85B1200A2 +6D485A137CA290387E0F80133EA2011F90C7FC5CA2130F149E14BE130714FC1303A25C13 +01A25CA213035CA213075C1208EA3E0F007F5B131FD87E7FC8FCEA7FFE6C5A5B6C5AEA07 +C022317E9F27>I<001FB512FE4814FFA490380001FEEC03FCEC07F8EC0FF0001EEB1FE0 +C7EA3FC0EC7F80ECFF00495A495A495AEB1FE0495A495A49C7FC485A4848131E4848133F +485A485A485A485AB7FCA46C14FE20207E9F27>I<3901F003803903FC07C0000F130F38 +1FFE1F393FFF7F80397FBFFF0038FE1FFE486C5A00F813F0387003E01A0A7AAD27>126 +D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fg cmcsc10 12 6 -/Fg 6 116 df<49B46C13C0010FEBF001013FEBFC034913FF3A01FF007F87D803F8EB0F -CF4848EB03EFD80FC0EB00FF49147F001F153F48C8121FA248150F127E160712FE1603A3 -7E1601A27F7F007F92C7FC13F07F6CB4FC14F06C13FF6C14F815FF6C15C06C15F06C816C -6C806D80010F8001011580D9001F14C01400030F13E015019238007FF0163F161F160F17 -F80060150712E0A21603A37EA217F07E16076C16E0A26CED0FC07E6DEC1F8001E0EC3F00 -D8FDF8147ED8FCFE495A3AF87FE007F8D8F01FB55A010714C0D8E00191C7FC39C0001FF8 -2D4879C53D>83 D<003FBAFCA4903BF8001FFE000701C06D48130048C7EE3F80007E181F -007C180FA200781807A200701803A500F019C0481801A5C893C7FCB3B3A3ED3FFF0103B7 -12F0A442437BC24E>I107 -DI111 D<90390FF0018090387FFE0348B512873903F00FC73907C001FF390F80007F -48C7123F003E141F150F5A150712FCA21503A27EA26C91C7FCEA7FC013F0EA3FFEEBFFF0 -6C13FF6C14E06C14F86C806C806C6C7F010F1480010014C01407020013E0153F151FED0F -F01507126000E01403A46C15E0A27EED07C07E6CEC0F806C6CEB1F0001E0133E39F1FE01 -FC00F0B55AD8E01F13E0D8C00390C7FC24357BB32E>115 D E +/Fg 6 116 df<49B46C13C0010FEBF001013FEBFC039038FF007FD801F8EB0F874848EB +03E7D807C0EB01FF48487F001F157F90C8123F003E151FA2007E150F127C160712FC1603 +A37E16017EA27F6C6C91C7FC7F7FEA3FFCEBFFC06C13FC6CEBFFC015FC6CECFF806C15E0 +C615F86D80011F80010380D9003F1480020314C0EC003F030313E01500EE7FF0161FA2EE +0FF8160712E01603A21601A37EA217F07E16037E17E06C15076C16C06DEC0F806D141F6D +EC3F00D8F8F8147E017F5C3AF01FE007F00107B55AD8E00191C7FC39C0001FFC2D4879C5 +3D>83 D<003FBAFCA3903BF8000FFE000701C06D48130090C7163F007EF01F80007C180F +A200781807A300701803A548F001C0A5C893C7FCB3B3A44B7E92383FFF8049B712F0A342 +437BC24E>I107 +DI111 D<90390FF0018090387FFE0348B512873907F00FEF390FC001FF48C7FC003E +143F151F5A150F5A1507A36C1403A27E6C91C7FC6C7E7FEA3FF8EBFF806C13FC6CEBFFC0 +6C14F06C80C614FE011F7F01031480D9001F13C014019138003FE0151F150FED07F01503 +12E01501A37EA216E06C1403A26CEC07C06CEC0F806C6CEB1F0001E0133ED8FBFE13FC00 +F0B55AD8E01F13E0D8C00390C7FC24357BB32E>115 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fh cmcsc10 10 6 -/Fh 6 116 df83 D<003FB812FCA3D9E001EB800790C790C7FC007E177E007C173E0078171EA3 -0070170EA400F0170F481707A4C81500B3B0020313C0010FB612F0A338397CB841>I -107 DI111 D<017F13603901FFE0E0000713F9380F80FD381E001F48130714035A14 -0112F81400A37E15007EEA7F8013F86CB47E14F06C13FC6C7F00037F6C1480D8003F13C0 -13039038003FE0140FEC07F01403A20060130112E0A36C14E0A214036C14C06CEB0780B4 -130F39F7E03F0038F3FFFE00E013F838C01FE01C2D7BAB26>115 +/Fh 6 116 df83 D<003FB812FCA3D9C001EB800390C790C7FC007C173E0078171E +0070170EA300601706A400E01707481703A4C81500B3B0020313C0010FB612F0A338397C +B841>I107 DI111 D<017F13603901FFE0E0380780F9380E001F48 +130748130312780070130100F01300A315607EA26C14007E127F13C0EA3FFEEBFFE06C13 +F8000713FE6C7FC61480010F13C01300EC0FE01407EC03F01401A212C01400A37E15E06C +1301A26CEB03C06CEB0780B4EB0F0038F3E01E38E0FFF838C01FE01C2D7BAB26>115 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fi cmbx10 10 47 -/Fi 47 124 df<913801FFC0023F13F049B512FC010780011FEB00FFEB3FF890267FE001 -138049485A481380A2481300A36F13006F5A167C93C7FCA492383FFFC0B8FCA5000390C7 -FCB3A9B5D8FC3F13FFA5303A7EB935>12 D<912601FFE0EB3FF8023F9039F807FFFE49B5 -D8FC3F6D7E01076EB67E011F0100B538E01FE0D93FF86D1300D97FE0D9FFFC497E494848 -49137F4849485BA24801005CA281735A6F6F5A047F6E5A96C8FCA4953807FFF8BBFCA500 -0390C7397FE0001FB3A9B5D8FC1FB50087B512E0A54B3A7EB950>14 -D46 D<143C14FC1301130F137FB5FCA4139FEA001FB3B3A4007FB61280A5213779B630> -49 DIII58 D65 DIII72 DI76 DI79 DI< -D903FF1306013FEBE00E90B5EAF83E48ECFE7E48ECFFFE3807FE01390FF0003F4848130F -484813031501485A1500167E12FFA2163E7F7F7F6D91C7FCEBFF806C13F8ECFFC015FC6C -14FF6C8116E06C816C816C816C816C7E011F801307D9003F14801403EC001F030713C081 -8100788012F8167FA36C1680A27EEEFF007E6D5C01E0130101F8495A9039FF801FF891B5 -5A00FC5DD8F83F1480D8E00749C7FC39C0007FF02A3B7BB935>83 -D<003FB91280A5267FF801D9F00313C001E015000180163F0100161FA2007E170FA2007C -1707A400FC18E0481703A4C793C7FCB3AC011FB7FCA53B387DB742>II87 D97 D<13FFB5FCA512077EAEED -FF80020F13F8023F7F91B6FCDAFE031380DAF00013C002C0EB3FE04A14F091C7121F17F8 -A2EE0FFCA317FEA917FCA3EE1FF8A217F06EEB3FE06E137F02F0EBFFC09026FDFC071380 -01F8B5EAFE00023F5BD9F00F13F0D9E00190C7FC2F3A7EB935>I<903801FFC0010F13FC -017F7F90B6FC48018013802607FE0113C0EA0FFC13F8EA1FF0003F6D1380A24848EB7F00 -151C92C7FC12FFA9127F7FA2123F6DEB03E0121F6C6CEB07C07F6C6CEB0F8000019038E0 -3F006CEBFFFE6D5B010F13F00101138023257DA42A>II<49B47E011F13F0017F13FC90B57E0003903881FF -803907FE007F4848EB3FC04848EB1FE05B003FEC0FF0A2485A16F8150712FF90B6FCA401 -E0C8FCA4127FA27F123F16F86C7E6C6C13016DEB03F06C6CEB07E00001EBE01F6C90B512 -80013F1400010F13FC010013C025257DA42C>II<163FD907FEEBFF8090267FFFE113C048B512FB489138FFDFE0 -2607FC03131F380FF000001F159F484890387FCFC0EEC780007FEDE000A7003F5DA26C6C -495A000F92C7FC3907FC03FE90B55A485C6D13E0261E07FEC8FC90CAFCA2123FA213C06C -B512F8EDFF8016E06C81826C816C81000F815A273FC0000F13804848130148C8127FA56C -6CECFF006C6C495AD81FF0EB07FCD80FFEEB3FF86CB65A000115C06C6C91C7FC010713F0 -2B377DA530>I<13FFB5FCA512077EAEED7FC0913803FFF84A7F021F7F91383F03FFDA78 -01138014F04A6C13C05C5CA391C7FCB3A2B5D8FC3F13FFA5303A7DB935>I<13F0EA03FC -487E487EA2481380A46C1300A26C5A6C5AEA00F090C7FCA813FF127FA512077EB3A7B512 -F8A5153B7DBA1B>I<141EEC7F80ECFFC04913E0A24913F0A46D13E0A26D13C0EC7F80EC -1E0091C7FCA8EC0FF0EB0FFFA5EB007F143FB3AF120EEA3F80EA7FC0A239FFE07FE0A215 -C0ECFF80D87FC113006CB45A6C5B6C13E0000190C7FC1C4B86BA1D>I<13FFB5FCA51207 -7EAE92383FFFE0A592380FF0004B5A4B5A4BC7FC15FEEC03FC4A5A4A5AEC1FC0143F4A7E -4A7E81A281ECCFFEEC87FF1407496C7F6E7F6E7FA26F7E6F7E6F7EA26F7EB539F83FFFF8 -A52D3A7EB932>I<13FFB5FCA512077EB3B3AAB512FCA5163A7DB91B>I<01FED97FE0EB0F -FC00FF902601FFFC90383FFF8002076D90B57E021FD9FF0380DA3F03903987E07FF0DA78 -009039CF001FF800074914DE6C6C48D97FFC6D7E4A5C4A5CA391C75BB3A2B5D8FC1FB500 -83B512F0A54C257DA451>I<01FEEB7FC000FF903803FFF84A7F021F7F91383F03FFDA78 -011380000713F06C6C486C13C05C5CA391C7FCB3A2B5D8FC3F13FFA530257DA435>I<90 -3801FFC0010F13F8017F13FF90B67E0003018013E03A07FE003FF0D80FF8EB0FF8001F81 -491307003F81491303007F81A300FF1680A9007F1600A36C6C495AA2001F5D6D130F6C6C -495A6C6C495A6C6C6CB45A6C90B55A6C6C91C7FC011F13FC010113C029257DA430>I<01 -FFEBFF80B5000F13F8023F7F91B6FCDAFE071380DAF00113C000079039C0007FE06C4914 -F091C7123F17F8161F17FCA2160F17FEA917FC161FA217F8163F17F06EEB7FE06E13FFDA -F00113C0DAFC07138091B5EAFE00023F5B020F13F0020190C7FC91C9FCABB512FCA52F35 -7EA435>I<9038FE07F000FFEB1FFC4A7E4A7E02F8138002E113C0EA07FF6C13C1A20280 -1380A2ED7F00151C91C8FCB3B512FEA522257EA427>114 D<90383FF0383903FFFEF848 -13FF121F383FC00FEB0003007E1301140012FEA27E6D130013F8EBFFE06C13FC14FF6C14 -C06C14E06C14F0000314F8C614FC131F9038007FFE14070078130112F814007EA26C14FC -6C1301018013F89038F00FF090B512E000FD14C000F0140038E01FF81F257DA426>I<13 -1FA55BA45BA25BA25A5A5A001FEBFFE0B6FCA4000390C7FCB115F8A86CEB01F014816CEB -C3E090387FFFC06D13806D1300EB03FC1D357EB425>I118 DIII<003FB612C0A4D9F0031380D9C007 -130049485AEB001F007E5C4A5A147F007C495A5D495B5B495B000091C7FC495A131F5C90 -393FF807C0137FEBFFF014E04813C048140F48138014004848EB1F80121F49133F484813 -7F397FF003FFB7FCA422257DA42A>II E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fj cmti10 10 30 -/Fj 30 123 df12 D<123812F87EA27E127E -7EA2EA1F80120FEA07C01203A2EA01E0120013400B1068B92A>18 -D<387FFFF8A3B512F0A2150579941E>45 D<120FEA1F80EA3FC0127F12FFA3EA7F801300 -123C0A0A788919>I<0003B812E05AA2260FF800EB001F01C049EB07C090C71403121E4A -5A121C003C178012384A5A12781270EF07004A5A5AA2481606C7484890C7FCA44A5AA44A -5AA44AC9FCA414FEA4495AA4495AA4495AA4495AA2EB3FF0007FB512F8A3333971B83B> -84 D<14F8EB07FE90380FFF1C90383F07BE90387C03FEEBF801EA01F000035CEBE00012 -07485A4A5AEA1F80123FA249485A5AA300FE495AA448495AEDC1C0A391381F8380A2143F -127C91387F8700007E13FF393E03CF8E381F0F8F390FFF07FC3907FC03F83901F000F022 -2677A42A>97 D<133FEA0FFF5A7EEA007EA45BA4485AA4485AA4485A14F8EBE3FEEBEFFF -390FDF0F809038FC07C001F013E0EBE003EA1FC015F01380A2EA3F00A4007E1307A448EB -0FE0A315C048131FA21580EC3F00A2147E147C14FC007C5B495A383C03E0381E0FC06CB4 -C7FC6C5AEA01F01C3B77B926>I<147F903803FFC04913E090381FC1F090383F0078017C -13384913F83801F00100031303EA07E0D80FC013F0EC01E04848C7FCA2123F90C8FC5AA3 -12FEA55AA315101538007C147015F0007EEB01E0003EEB07C06CEB1F00380F80FE3807FF -F86C13E0C690C7FC1D2677A426>II<147F903803FFC0010F13E090381F81F0EB7E00491378485A485A485AA248 -5A001F14F090388001E0003FEB07C0EC3F8048B5120014FC14E090C8FC12FEA65AA2007C -14101538007E147015F0003EEB01E06CEB07C0EC1F00380F80FE3807FFF86C13E0C690C7 -FC1D2677A426>IIIII107 DIII<147F903803FF -C04913E090381FC1F090383E00F849137C49137E4848133E12034848133F485AA2485AA2 -003F147F90C7FC5AA300FE14FEA315FC14014814F8A2EC03F0A2EC07E0007CEB0FC01580 -007EEB1F00003E133E6C5B380F83F83807FFE06C5BC648C7FC202677A42A>I<90390780 -07C090390FE01FF090391FF07FF8903938F8F87C9138F9E03E903970FF803F4B7E495A17 -805CA23801C1F8A3EA00014948133FA44948EB7F00A3167E494813FEA25E4B5AEB1F804B -5A5EECC007013F5C4B5A6E48C7FCECF07E90387E7FF86E5AEC0F8091C9FC5BA4485AA448 -5AA3387FFFC0B5FC6C5B293580A42A>II<39 -03C003F03907F00FFC390FF83FFE391C7C7C1FECF00F3A387FC01F80153F00709038807F -001400153E017E131C484890C7FCA31200485AA4485AA4485AA4485AA4485AA448C9FC7E -120E212679A423>I<14FE903807FF804913C090381F03E090383C00F049137001F813F0 -EBF00100011303A215E00003EB01C06DC7FC7F3801FFC014F8806C7F6D7E6D1380130F01 -0013C0141F140FA2123C127E00FE1480A2481400485B00E0131E00705B0078137C383E03 -F06CB45A6C5BD801FEC7FC1C267AA422>I<1307EB0F80131FA4EB3F00A4137EA45BA2B5 -12FC14FE14FC3801F800A3485AA4485AA4485AA4485AA448C7FC1438A21470127E14E0A2 -EB01C0A2EB0380383E0700131EEA1FFC6C5AEA03E0173578B31C>I<13F8D801FEEB01C0 -486CEB03E039070F8007120E121C1238ED0FC0EA301F1270A23AE03F001F80A3EA007EED -3F005BA34848137EA448485B160EA3913801F81CA31638140300011307020E13702600F8 -3C13F090397FF87FE090393FF03FC090390FC00F00272679A42D>I<01F0130ED803FC13 -1F486C5BD80F1FEB7F80121C153F0038141FA24848130FA21600D8E07E7FA3C6485B150E -485AA348485BA35D485AA25DA2156015E05D14014A5A000349C7FC6D5A3801F81E3800FF -FCEB3FF0EB0FC0212679A426>I<01F01507D803FC903903800F80486C903807C01FD80E -1F010FEB3FC0121C171F0038160FED1F8048481507A21880D8E07E90383F0003A3C64815 -07037E1400485AA3484849130EA4484848485BA35FA25FA202035C1203D9F007495A0001 -90390EFC03803A00FC1E7E0F90277FFC3FFFC7FC90393FF00FFC90390FE003F0322679A4 -37>I<903907E007C090391FF01FF090393FF83FF89039783C783C9038E03EE02601C01F -137ED80380EBC0FED80700EBC1FC1581000EEC80F816704849C7FCA3C7FC147EA45CA449 -5A1670A3261C03F013E0123E007FEC01C0130700FEEC0380D8FC0FEB070039780EF80E90 -383C783C393FF83FF86C486C5A3907C00FC027267CA427>I<13F0D803FCEB01C0486CEB -03E0D80F1F1307121CA21238ED0FC0485AA3D8E07EEB1F80A3C65AED3F00485AA3484813 -7EA448485BA44A5AA314035D00031307EBF00F3801F83F6CB55AEB7FF7EB1FC7EB00074A -5AA25D001E131F003F91C7FC485B147E007E137C007C5B387001F0387803E0383C0FC0D8 -1FFFC8FC6C5AEA03F0233679A428>I<903903C00380EB0FF090391FF80700133F90387F -FC0EECFF1C9038F83FF8EBE00F3901C001F06E5A49485AC7485A4AC7FC140E5CA25C5C49 -5A495A49C8FC130E5BA249131C5B49133C4848133848481378D807E01370390FFC01F090 -38FF07E0391E3FFFC0EA3C0F486C5B007091C7FC38E003FCEB00F021267BA422>I +/Fi 47 124 df<913803FFC0027F13F00103B512FC010FEB00FED93FF8133FD97FE0EBFF +8049485A5A1480484A13C04A6C1380A36F1300167E93C7FCA592383FFFC0B8FCA4000390 +C7FCB3ABB5D8FC3F13FFA4303A7EB935>12 D<912603FFC0EB7FF8027F9039F00FFFFE49 +B5D8FC7F6D7E010F903B007FFFE01FC0D91FF8011F90380007E0D97FE0D97FFCEB1FF049 +484948133F485C02805C484E7E02004A6D5AA281735A047F6E5A96C8FCA5953807FFF8BB +FCA4000390C7397FE0001FB3ABB5D8FC1FB50087B512E0A44B3A7EB950>14 +D46 +D<141E143E14FE1307133FB5FCA313CFEA000FB3B3A6007FB61280A4213779B630>49 +DIII58 D65 DIII72 DI76 DI79 DI83 D<003FB91280A4D9F800EBF003D87FC09238007FC0 +49161F007EC7150FA2007C1707A200781703A400F818E0481701A4C892C7FCB3AE010FB7 +FCA43B387DB742>II87 D97 D<13FFB5FCA412077EAF +4AB47E020F13F0023F13FC9138FE03FFDAF00013804AEB7FC00280EB3FE091C713F0EE1F +F8A217FC160FA217FEAA17FCA3EE1FF8A217F06E133F6EEB7FE06E14C0903AFDF001FF80 +903AF8FC07FE009039F03FFFF8D9E00F13E0D9C00390C7FC2F3A7EB935>I<903801FFC0 +010F13FC017F13FFD9FF8013802603FE0013C048485AEA0FF8121F13F0123F6E13804848 +EB7F00151C92C7FC12FFA9127FA27F123FED01E06C7E15036C6CEB07C06C6C14806C6C13 +1FC69038C07E006DB45A010F13F00101138023257DA42A>II<903803FF80011F13F0017F13FC3901FF +83FE3A03FE007F804848133F484814C0001FEC1FE05B003FEC0FF0A2485A16F8150712FF +A290B6FCA301E0C8FCA4127FA36C7E1678121F6C6C14F86D14F000071403D801FFEB0FE0 +6C9038C07FC06DB51200010F13FC010113E025257DA42C>II<161FD907FEEBFFC090387FFFE348B6 +EAEFE02607FE07138F260FF801131F48486C138F003F15CF4990387FC7C0EEC000007F81 +A6003F5DA26D13FF001F5D6C6C4890C7FC3907FE07FE48B512F86D13E0261E07FEC8FC90 +CAFCA2123E123F7F6C7E90B512F8EDFF8016E06C15F86C816C815A001F81393FC0000F48 +C8138048157F5A163FA36C157F6C16006D5C6C6C495AD81FF0EB07FCD807FEEB3FF00001 +B612C06C6C91C7FC010713F02B377DA530>I<13FFB5FCA412077EAFED7FC0913803FFF8 +020F13FE91381F03FFDA3C01138014784A7E4A14C05CA25CA291C7FCB3A3B5D8FC3F13FF +A4303A7DB935>II<141FEC7FC0ECFFE0A24913F0A56D13E0A2EC7FC0 +EC1F0091C7FCA9EC0FF0EB0FFFA4EB007F143FB3B0121FEA3F80EA7FC0EAFFE0EC7FE0A2 +15C014FF6C481380903883FE006CB45A000F13F0000113801C4B86BA1D>I<13FFB5FCA4 +12077EAF92380FFFE0A4923803FC0016F0ED0FE0ED1F804BC7FC157E5DEC03F8EC07E04A +5A141FEC7FE04A7E8181A2ECCFFEEC0FFF496C7F806E7F6E7F82157F6F7E6F7E82150F82 +B5D8F83F13F8A42D3A7EB932>I<13FFB5FCA412077EB3B3ACB512FCA4163A7DB91B>I<01 +FED97FE0EB0FFC00FF902601FFFC90383FFF80020701FF90B512E0DA1F81903983F03FF0 +DA3C00903887801F000749DACF007F00034914DE6D48D97FFC6D7E4A5CA24A5CA291C75B +B3A3B5D8FC1FB50083B512F0A44C257DA451>I<01FEEB7FC000FF903803FFF8020F13FE +91381F03FFDA3C011380000713780003497E6D4814C05CA25CA291C7FCB3A3B5D8FC3F13 +FFA430257DA435>I<903801FFC0010F13F8017F13FFD9FF807F3A03FE003FE048486D7E +48486D7E48486D7EA2003F81491303007F81A300FF1680A9007F1600A3003F5D6D130700 +1F5DA26C6C495A6C6C495A6C6C495A6C6C6CB45A6C6CB5C7FC011F13FC010113C029257D +A430>I<9039FF01FF80B5000F13F0023F13FC9138FE07FFDAF00113800007496C13C06C +0180EB7FE091C713F0EE3FF8A2EE1FFCA3EE0FFEAA17FC161FA217F8163F17F06E137F6E +14E06EEBFFC0DAF00313809139FC07FE0091383FFFF8020F13E0020390C7FC91C9FCACB5 +12FCA42F357EA435>I<9038FE03F000FFEB0FFEEC3FFF91387C7F809138F8FFC000075B +6C6C5A5CA29138807F80ED3F00150C92C7FC91C8FCB3A2B512FEA422257EA427>114 +D<90383FF0383903FFFEF8000F13FF381FC00F383F0003007E1301007C130012FC15787E +7E6D130013FCEBFFE06C13FCECFF806C14C06C14F06C14F81203C614FC131F9038007FFE +140700F0130114007E157E7E157C6C14FC6C14F8EB80019038F007F090B512C000F81400 +38E01FF81F257DA426>I<130FA55BA45BA25B5BA25A1207001FEBFFE0B6FCA3000390C7 +FCB21578A815F86CEB80F014816CEBC3E090383FFFC06D1380903803FE001D357EB425> +I118 DIII<003FB612C0A3D9 +F0031380EB800749481300003E5C003C495A007C133F5D0078495A14FF5D495B5BC6485B +92C7FC495A131F5C495A017FEB03C0EBFFF014E04813C05AEC80074813005A49EB0F8048 +5A003F141F4848133F9038F001FFB7FCA322257DA42A>II E %EndDVIPSBitmapFont +%DVIPSBitmapFont: Fj cmti10 10 30 +/Fj 30 123 df12 D<127812FCA27EA27E7E7EEA1F80120F13C01207EA03E01201120013C00B1068 +B92A>18 D<387FFFF8A2B5FCA214F0150579941E>45 D<120EEA3F80127F12FFA3130012 +7E123C0909778819>I<0007B812E0A25AD9F800EB001F01C049EB07C0485AD900011403 +121E001C5C003C17801403123800785C00701607140700F01700485CA2140FC792C7FC5D +A2141FA25DA2143FA25DA2147FA292C9FCA25CA25CA21301A25CA21303A25CA21307A25C +A2130FA25CEB3FF0007FB512F8B6FCA2333971B83B>84 D<14F8EB07FE90381F871C9038 +3E03FE137CEBF801120148486C5A485A120FEBC001001F5CA2EA3F801403007F5C1300A2 +1407485C5AA2140F5D48ECC1C0A2141F15831680143F1587007C017F1300ECFF076C485B +9038038F8E391F0F079E3907FE03FC3901F000F0222677A42A>97 +D<133FEA1FFFA3C67E137EA313FE5BA312015BA312035BA31207EBE0F8EBE7FE9038EF0F +80390FFC07C013F89038F003E013E0D81FC013F0A21380A2123F1300A214075A127EA214 +0F12FE4814E0A2141F15C05AEC3F80A215005C147E5C387801F8007C5B383C03E0383E07 +C0381E1F80D80FFEC7FCEA01F01C3B77B926>I<147F903803FFC090380FC1E090381F00 +70017E13784913383901F801F83803F003120713E0120FD81FC013F091C7FC485AA2127F +90C8FCA35A5AA45AA3153015381578007C14F0007EEB01E0003EEB03C0EC0F806CEB3E00 +380F81F83803FFE0C690C7FC1D2677A426>II<147F903803FFC090380FC1E09038 +3F00F0017E13785B485A485A485A120F4913F8001F14F0383F8001EC07E0EC1F80397F81 +FF00EBFFF891C7FC90C8FC5A5AA55AA21530007C14381578007E14F0003EEB01E0EC03C0 +6CEB0F806CEB3E00380781F83803FFE0C690C7FC1D2677A426>IIIII107 DII +I<147F903803FFC090380FC1F090381F00F8017E137C5B4848137E4848133E0007143F5B +120F485AA2485A157F127F90C7FCA215FF5A4814FEA2140115FC5AEC03F8A2EC07F015E0 +140F007C14C0007EEB1F80003EEB3F00147E6C13F8380F83F03803FFC0C648C7FC202677 +A42A>I<9039078007C090391FE03FF090393CF0787C903938F8E03E9038787FC0017049 +7EECFF00D9F0FE148013E05CEA01E113C15CA2D80003143FA25CA20107147FA24A1400A2 +010F5C5E5C4B5A131F5EEC80035E013F495A6E485A5E6E48C7FC017F133EEC70FC90387E +3FF0EC0F8001FEC9FCA25BA21201A25BA21203A25B1207B512C0A3293580A42A>II<3903C003F0390FF01FFC391E783C0F381C7C70 +3A3C3EE03F8038383FC0EB7F800078150000701300151CD8F07E90C7FCEAE0FE5BA21200 +12015BA312035BA312075BA3120F5BA3121F5BA3123F90C9FC120E212679A423>I<14FE +903807FF8090380F83C090383E00E04913F00178137001F813F00001130313F0A215E000 +03EB01C06DC7FC7FEBFFC06C13F814FE6C7F6D13807F010F13C01300143F141F140F123E +127E00FE1480A348EB1F0012E06C133E00705B6C5B381E03E06CB45AD801FEC7FC1C267A +A422>II<13F8D803FEEB +01C0D8078FEB03E0390E0F8007121E121C0038140F131F007815C01270013F131F00F013 +0000E015805BD8007E133FA201FE14005B5D120149137EA215FE120349EBFC0EA2020113 +1E161C15F813E0163CD9F003133814070001ECF07091381EF8F03A00F83C78E090393FF0 +3FC090390FC00F00272679A42D>I<01F0130ED803FC133FD8071EEB7F80EA0E1F121C12 +3C0038143F49131F0070140FA25BD8F07E140000E08013FEC6485B150E12015B151E0003 +141C5BA2153C000714385B5DA35DA24A5A140300035C6D48C7FC0001130E3800F83CEB7F +F8EB0FC0212679A426>I<01F01507D803FC903903801F80D8071E903907C03FC0D80E1F +130F121C123C0038021F131F49EC800F00701607A249133FD8F07E168000E0ED000313FE +C64849130718000001147E5B03FE5B0003160E495BA2171E00070101141C01E05B173C17 +38A217781770020314F05F0003010713016D486C485A000190391E7C07802800FC3C3E0F +C7FC90393FF81FFE90390FE003F0322679A437>I<903907E007C090391FF81FF8903978 +7C383C9038F03E703A01E01EE0FE3803C01F018013C0D8070014FC481480000E1570023F +1300001E91C7FC121CA2C75AA2147EA214FEA25CA21301A24A1370A2010314F016E0001C +5B007E1401010714C000FEEC0380010F1307010EEB0F0039781CF81E9038387C3C393FF0 +3FF03907C00FC027267CA427>I<13F0D803FCEB01C0D8071EEB03E0D80E1F1307121C12 +3C0038140F4914C01270A249131FD8F07E148012E013FEC648133F160012015B5D000314 +7E5BA215FE00075C5BA214015DA314035D14070003130FEBF01F3901F87FE038007FF7EB +1FC7EB000F5DA2141F003F5C48133F92C7FC147E147C007E13FC387001F8EB03E06C485A +383C1F80D80FFEC8FCEA03F0233679A428>I<903903C0038090380FF007D91FF8130049 +6C5A017F130E9038FFFE1E9038F83FFC3901F007F849C65A495B1401C7485A4A5A4AC7FC +141E5C5C5C495A495A495A49C8FC131E5B49131C5B4848133C48481338491378000714F8 +390FF801F0391FFF07E0383E1FFFD83C0F5B00785CD8700790C7FC38F003FC38E000F021 +267BA422>I E +%EndDVIPSBitmapFont %DVIPSBitmapFont: Fk cmbx12 12 36 -/Fk 36 121 df49 DII< -163F5E5EA25D5D5DA25D5D5D5DA292B5FC5C5C15EFEC07CF140FEC1F8FEC3F0F143E147C -14FCEB01F8EB03F014E0EB07C0130FEB1F801400133E137E5B485A5B485A1207485A5B48 -C7FC5A127E5AB91280A5C8001F90C7FCAB91B71280A531417DC038>I<00031503D807E0 -143F01FFEB07FF91B6FC5E5E5E5E5E5E93C7FC15FC15F015C002FCC8FC01C0C9FCA9EC3F -F001C1B5FC01C714C001DF14F09039FFC03FF89039FE000FFC01F86D7E496D7E49158049 -15C06C5AC86C13E0A217F0A317F8A21203EA1FC0487E487E7F12FF7F17F0A25B17E06C48 -5B4915C05B6CC74813806C6C15006D495AD80FF0EB3FFCD807FEEBFFF86CB65AC615C06D -91C7FC010F13FC010113C02D427BC038>I58 D65 D67 D73 -D77 D<923807FFC092B512FE0207ECFFC0021F15 -F091267FFE0013FC902601FFF0EB1FFF010701C0010713C04990C700017F49486E7F4948 -6F7E49486F7E49486F7E488448496F13804A814819C04A814819E0A24890C96C13F0A248 -19F8A348487013FCA500FF19FEAD007F19FCA26D5EA26C19F8A36C6D4B13F0A36C6D4B13 -E0A26C6D4B13C06C19806E5D6C19006C6D4B5A6D6C4B5A6D6C4B5A6D6C6C01035B6D6D49 -5B6D01F0011F5B010101FE90B5C7FC6D90B65A023F15F8020715C002004AC8FC030713C0 -47467AC454>79 DI82 D<003FBA12E0A59026FE000FEBC003 -D87FF09338007FF049173F0180170F190790C7FC007E1803A3007C1801A400FC19F84818 -00A5C81700B3B3A20107B87EA545437CC24E>84 D<903801FFF0011F13FF017F14C048B6 -12F04848C66C7ED807F8EB1FFC486C6D7E6D6D7E486C81818381836C5A6C5A6C5A6C5AC8 -FCA30203B5FC91B6FC1307013F13F19038FFFE01000313F0481380481300485A485A485A -A2485AA45DA26C6C5BA26C6C010E13F86C6C013CEBFFC03A0FFF80F87F6CEBFFF06CECE0 -1FC66CEB8007D90FFCC9FC322F7DAD36>97 DII<4CB4FC0307B5FCA5ED001F82B1EC3FF090 -3803FFFE010FEBFF8F013F14EF90267FF807B5FC3901FFC00148496C7E4890C77E49140F -120F485AA2123FA2485AA412FFAA127FA4123F7F121FA2000F5D7F6C6C147F6C92B51280 -6CD9C00314FE6C9038F01FEF013FB512CF6D140F010713FC9026007FC0EBF80037467CC4 -3E>II<913801 -FF80021F13E0027F13F849B512FC0107138790390FFE0FFED91FFC13FF49485A137F14F0 -13FF14E048EC0FFEED07FCED03F8ED00E01600AAB612F8A5000101E0C7FCB3B0B612E0A5 -28467DC522>II<137C48B4FC487F487FA2487FA56C5BA26C5B6C90C7FCEA007C90C8FC -AAEB3FE0EA7FFFA512037EB3AFB61280A519467DC51F>105 DIII<90277FC003FFEC07FEB5011F01E090383FFFC04B01F84913F092B56C48B57E913D -C1F81FFE03F03FFC913DC3C00FFF07801FFE00039026C7800790380F000F6CD9CE00029C -8002DE6D01BC7F02DC03F8158002F85DA24A5DA34A5DB3A7B600C1B60083B6FCA5582D7D -AC5D>I<90397FC003FFB5011F13E04B13F892B57E9139C1F81FFE9139C3C00FFF000390 -38C780076CD9CE008002DE7F02DC8114F8A25CA35CB3A7B600C1B61280A5392D7DAC3E> -II<90393FE00FFCB590387FFFC002 -E3B512F002EF14FC9139FFE03FFE9238000FFF000301FC010313806C4915C04A6D13E05C -7013F018F8177FA218FCA2173F18FEAB18FC177FA318F817FF18F0A24C13E06E15C06E49 -13806E5B02FF90380FFE009238E07FFC02E7B55A02E314E002E01480DB0FF8C7FC92C9FC -ADB612C0A537407EAC3E>I<90397FC03F80B5EBFFE002C113F802C313FC9138C7C7FEEC -CF0700039038CE0FFF6C13DE14FC14F8ED07FEA29138F003FCED00F01600A25CB3A6B612 -F0A5282D7EAC2E>114 D<90391FFC038090B5128F000314FF5A380FF003381FC0004848 -133F48C7FC151FA248140FA27FA26D90C7FC13F0EBFF806C13FCECFF806C14E015F86C80 -6C806C8012016C1580011F14C01301D9000F13E014010078EB007F00F8143FA26C141FA3 -6C15C0A27E6DEB3F807F6DEBFF009038FC03FE90B55A00F814F0D8F03F5B26E007FEC7FC -232F7CAD2C>IIIIII E +/Fk 36 121 df49 DII<163FA25E5E +5D5DA25D5D5D5DA25D92B5FCEC01F7EC03E7140715C7EC0F87EC1F07143E147E147C14F8 +EB01F0EB03E0130714C0EB0F80EB1F00133E5BA25B485A485A485A120F5B48C7FC123E5A +12FCB91280A5C8000F90C7FCAC027FB61280A531417DC038>I<0007150301E0143F01FF +EB07FF91B6FC5E5E5E5E5E16804BC7FC5D15E092C8FC01C0C9FCAAEC3FF001C1B5FC01C7 +14C001DF14F09039FFE03FFC9138000FFE01FC6D7E01F06D13804915C0497F6C4815E0C8 +FC6F13F0A317F8A4EA0F80EA3FE0487E12FF7FA317F05B5D6C4815E05B007EC74813C012 +3E003F4A1380D81FC0491300D80FF0495AD807FEEBFFFC6CB612F0C65D013F1480010F01 +FCC7FC010113C02D427BC038>I58 D65 D67 D73 +D77 +D<923807FFC092B512FE0207ECFFC0021F15F091267FFE0013FC902601FFF0EB1FFF0107 +0180010313C04990C76C7FD91FFC6E6C7E49486F7E49486F7E01FF8348496F7E48496F13 +80A248496F13C0A24890C96C13E0A24819F04982003F19F8A3007F19FC49177FA400FF19 +FEAD007F19FC6D17FFA3003F19F8A26D5E6C19F0A26E5D6C19E0A26C6D4B13C06C19806E +5D6C6D4B13006C6D4B5A6D6C4B5A6D6C4B5A6D6C4A5B6D01C001075B6D01F0011F5B0101 +01FE90B5C7FC6D90B65A023F15F8020715C002004AC8FC030713C047467AC454>79 +DI82 D<003FBA12E0A59026FE000FEB8003D87FE09338003FF0 +49171F90C71607A2007E1803007C1801A300781800A400F819F8481978A5C81700B3B3A2 +0107B8FCA545437CC24E>84 D<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF8 +4848EB1FFC6D6D7E486C6D7EA26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC +1307013F13F19038FFFC01000313E0000F1380381FFE00485A5B127F5B12FF5BA35DA26D +5B6C6C5B4B13F0D83FFE013EEBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D9 +0FFCC9FC322F7DAD36>97 DIII +III<137C48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA +007C90C7FCAAEB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>105 +DIII<90277F8007FEEC0FFCB590263FFFC09038 +7FFF8092B5D8F001B512E002816E4880913D87F01FFC0FE03FF8913D8FC00FFE1F801FFC +0003D99F009026FF3E007F6C019E6D013C130F02BC5D02F86D496D7EA24A5D4A5DA34A5D +B3A7B60081B60003B512FEA5572D7CAC5E>I<90397F8007FEB590383FFF8092B512E002 +8114F8913987F03FFC91388F801F000390399F000FFE6C139E14BC02F86D7E5CA25CA35C +B3A7B60083B512FEA5372D7CAC3E>II<90397FC00FF8B590B57E02C314E002CF14F89139DFC03FFC9139FF001FFE00 +0301FCEB07FF6C496D13804A15C04A6D13E05C7013F0A2EF7FF8A4EF3FFCACEF7FF8A318 +F017FFA24C13E06E15C06E5B6E4913806E4913006E495A9139DFC07FFC02CFB512F002C3 +14C002C091C7FCED1FF092C9FCADB67EA536407DAC3E>I<90387F807FB53881FFE00283 +13F0028F13F8ED8FFC91389F1FFE000313BE6C13BC14F8A214F0ED0FFC9138E007F8ED01 +E092C7FCA35CB3A5B612E0A5272D7DAC2E>114 D<90391FFC038090B51287000314FF12 +0F381FF003383FC00049133F48C7121F127E00FE140FA215077EA27F01E090C7FC13FE38 +7FFFF014FF6C14C015F06C14FC6C800003806C15806C7E010F14C0EB003F020313E01400 +00F0143FA26C141F150FA27EA26C15C06C141FA26DEB3F8001E0EB7F009038F803FE90B5 +5A00FC5CD8F03F13E026E007FEC7FC232F7CAD2C>I +IIIII E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fl cmcsc10 9 6 -/Fl 6 116 df<90391FF00180EB7FFE48B512833903F00FC73907C003E748C712FF001E -147F48143F151F48140FA200F81407A315037EA27E007E91C7FCEA7F807FEA3FF8EBFF80 +/Fl 6 116 df83 D<007FB81280A39039C003F8 -00D87E00151F007C160F00781607A20070160300F017C0A3481601A6C792C7FCB3AB4A7E -011FB6FCA332337CB23B>I107 DI<49B4FC010F13E090383F01F890387C007C4848133FD803E0EB0F80000715 -C04848EB07E0491303001F15F048C7EA01F8A24815FCA2007E1400A200FE15FEA9007FEC -01FCA36C15F86D1303001F15F06D1307000F15E06C6CEB0FC06C6CEB1F806C6CEB3F006C -6C137E90383F01F890380FFFE0010190C7FC27287DA62F>111 D115 +ED0FE0150712C01503A47E16C07E15076C15806C140F6C15006C6C131ED8F3E0137C39E1 +FC01F839E07FFFF0D8C01F13C0268003FEC7FC23377BB42E>83 D<007FB81280A3903A80 +03F8007FD87C00150F0078160700701603A20060160100E017C0A3481600A6C71600B3AB +4A7E011FB6FCA332337CB23B>I107 DI<49B4FC010F13E090383F01F890387C007C4848133FD8 +03E0EB0F80000715C04848EB07E0491303001F15F048C7EA01F8A24815FCA2007E1400A2 +00FE15FEA9007FEC01FCA36C15F86D1303001F15F06D1307000F15E06C6CEB0FC06C6CEB +1F806C6CEB3F006C6C137E90383F01F890380FFFE0010190C7FC27287DA62F>111 +D115 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fm cmbx9 9 23 -/Fm 23 120 df46 D<143C14FC1303131FEA03FFB5FCA3EAFC1F1200B3B2007FB512FEA41F31 -7AB02C>49 D65 D67 -D -70 D83 D85 -D97 D<13FE12FFA4120F1207 -ADEC07FE91383FFFC090B612F0829138F00FFC9138C003FE91380001FF491580A26F13C0 -A317E0A917C0A34B138017006D5B9138C007FE9138F01FFC01FBB55A01F014E0D9E03F13 -809026C007FCC7FC2B347EB331>I<903807FF80013F13F090B512FC48800007EB03FFEA -0FFCEA1FF813F0123F6E5A48486C5A153000FF91C7FCA9127F7F123FED0F806C7E6DEB1F -006C6C5B3907FF80FE0001EBFFFC6C14F0013F5B010790C7FC21217DA027>III<16F890390FFC03FC90B5EACFFE000391B5FC48151F3A0FF807FC -7F391FF003FE3A3FE001FF7E163C007F1580A6003F1500A26C6C485A6C6C485A6CB55A48 -5C000E14C0261E0FFCC7FC90C9FCA2123F7F90B512F06C14FEEDFF8016E06C15F06C15F8 -A2001F15FC5A3A7F80001FFE90C71203481401A46C6CEB03FC6D13076C6CEB0FF8D81FFC -EB7FF06CB612E000031580C6ECFE00010F13E028327EA12C>103 -D105 D<13FE12FFA4120F1207B3B3A6B512F0A414347DB319>108 -D<2801FC01FF80EBFFC000FF0107D9E00313F0021FD9F80F13FC027FD9FC3F7F913BFC0F -FE7E07FF270FFDF007EBF8033C07FFC003FFE001028002C0148002001480A2491500B3B5 -D8F07FD9F83F13FCA446217DA04B>I<3901FC01FF00FF010F13E04A7F027F7F9138FC1F -FC390FFDE00F6CB4486C7E14801400A25BB3B500F0B512F0A42C217DA031>I<9038FE07 -FE00FF90383FFFC090B612F0829138F01FFC000F9038C007FE6C90380003FF4915808117 -C0A28117E0A94B13C0A34B138017006D5B9138C00FFE9138F03FFC91B55A4914E0023F13 -80DA07FCC7FC91C9FCABB512F0A42B307EA031>112 D<3901FC1F8000FFEB7FF0ECFFF8 -01FD13FCECE7FE380FFFC76C1387A21407EC03FCEC01F89038FE00601500B1B512F8A41F -217EA024>114 D<9038FFE1C0000313FF120F5A383F803F387F000F007E130712FEA26C -90C7FC13E013FF14F06C13FC6C13FF15806C14C012076C14E0C66C13F01303EB001F0078 -130F00F813077E15E07E6C130F9038C03FC090B51280150000F913FC38E03FE01C217DA0 -23>I<133EA5137EA313FEA2120112031207121FB61280A4D807FEC7FCB0EC07C0A70003 -EB0F8013FF6CEBFF006C5B6D5AEB0FF01A2F7EAE22>I118 DI E +/Fm 23 120 df<120FEA3FC0EA7FE0EAFFF0A6EA7FE0EA3FC0EA0F000C0C7A8B19>46 +D<147814F81303131FEA03FFB5FCA3EAFC1F1200B3B2007FB512FEA41F317AB02C>49 +D65 D67 +D +70 D83 D85 +D97 +DI<90 +3807FF80013F13F090B512FC3903FE01FE4848487EEA0FF8EA1FF0EA3FE0A2007F6D5A49 +6C5A153000FF91C7FCA9127F7FA2003FEC07807F6C6C130F000FEC1F00D807FE133E3903 +FF80FCC6EBFFF8013F13E0010790C7FC21217DA027>II<903803FF80013F13F090B512FC48EB03FE3907FC00 +7F4848EB3F804848EB1FC05B003FEC0FE0127F5B16F012FF150790B6FCA301C0C8FCA412 +7F7F123F16F06C7E000F14016C6CEB03E0D803FEEB0FC03A01FF807F806C6CB51200011F +13FC010313E024217EA029>I<16F890390FFC07FE90387FFF9F48B6127F3907FC0FFC38 +0FF003001F14FED9E001133E003FECFF1C1600A6001F5CEBF003000F5C3907FC0FF890B5 +12E0486C1380D90FFCC7FC48C9FCA37F7F90B512F015FE6CECFF8016E06C15F06C15F848 +15FC121F393F80001F48C7EA03FE481401481400A46C14016C6CEB03FC6C6CEB07F86C6C +EB0FF0D80FFCEB7FE00003B61280C6ECFE00010F13E028327EA12C>103 +D105 D108 +D<2703F803FEEB03FE00FF903B1FFFC01FFFC0027FD9E07F7F913BF81FF0F81FF0903CF9 +E00FF9E00FF8260FFBC0EBFBC06CB4486CB4486C7E02001400495CA3495CB2B500E0B500 +E0B512E0A443217CA04A>I<3901F803FF00FF010F13C0023F13F09138FC0FF89039F9E0 +07FC380FFBC06CB4486C7E1400A25BA25BB2B539E07FFFF0A42C217DA031>I<3901FC07 +FC00FF90387FFF8001FDB512E09039FFF01FF89138C007FC000F90380003FE6C4880496D +1380A26F13C0A3EE7FE0A9EEFFC0A34B1380A26D4913006D495A9138C00FFC9138F03FF8 +01FDB512E0D9FC7F1380DA0FF8C7FC91C9FCABB512E0A42B307EA031>112 +D<3901F81F8000FFEB7FF0ECFFF89038F9E3FC9038FBC7FE380FFF876C1307A213FEEC03 +FCEC01F8EC0060491300B1B512F0A41F217EA024>114 D<9038FFE1C0000713FF5A383F +803F387E000F14075A14037EA26C6CC7FC13FCEBFFE06C13FC806CEBFF80000F14C06C14 +E0C6FC010F13F0EB007F140F00F0130714037EA26C14E06C13076CEB0FC09038C01F8090 +B5120000F913FC38E03FE01C217DA023>I<133CA5137CA313FCA21201A212031207001F +B51280B6FCA3D807FCC7FCB0EC03C0A79038FE078012033901FF0F006C13FEEB3FFCEB0F +F01A2F7EAE22>I118 +DI E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fn cmr9 9 77 -/Fn 77 124 df<91391FE007F09139FFF81FF801079038FE7FFC903A0FE01FFC7E903A1F -803FF0FF90397E007FE0495C5B0001167E4990383F803C0003021F1300ABB812C0A33B03 -F0001F8000B3A7486C497EB50083B5FCA330357FB42D>11 DI< -EC0FF091B512C01303903807F01F90381FC03FEB3F00137E137C01FC131F49130F1201AB -B7FCA33901F8000FB3A7486CEB1FE0267FFFE3B5FCA328357FB42B>II<127812 -FCA27E7EEA7F80EA1FC0120FEA07E0EA03F0EA01F81200133C13180E0E78B326>18 -D<137813FCA212011203EA07F8EA0FE013C0EA1F80EA3F00127E127C12F012600E0E71B3 -26>I<001C1338007E13FC007F7F38FF81FFA201C11380EA7FC0A2001D133B00011303A4 -3903800700A33807000EA2000E5BA2485B485B485B0020134019187EB326>34 -D40 -D<12C07E7E12787E7E120E120F6C7E6C7EA26C7EA26C7EA27F1378137CA2133C133EA313 -1E131FA51480A2130FAC131FA21400A5131E133EA3133C137CA2137813F85BA2485AA248 -5AA2485A48C7FC120E121E5A5A5A5A5A114A7BB71E>I<121C127E127FEAFF80A213C012 -7FA2121D1201A4EA0380A3EA0700A2120EA25A5A5A12200A187A8815>44 -DI<121C123E127FEAFF80A3EA7F00123E121C09097A8815>I<15 -301578A215F0A3EC01E0A3EC03C0A3EC0780A3EC0F00A3141EA25CA35CA35CA3495AA349 -5AA3495AA249C7FCA3131EA35BA35BA35BA3485AA3485AA2485AA348C8FCA3121EA35AA3 -5AA35AA212601D4B7CB726>II<13075B5B13FF120FB5FC133F12F01200B3B3A2497E007FB51280A319327AB126>I< -EB3FC0EBFFF0000313FC380780FE380E003F48EB1F804814C0EC0FE05A007CEB07F0B4FC -15F813801403A2EA7F00A2001C1307C7FC15F0A3EC0FE015C0141F1580EC3F00147E147C -5C495A495A495A5C49C7FC131E5B4913385B485A491370485A48C7FC000E14F0001FB5FC -5A5AB612E0A31D327CB126>III<000814C0381F800F90B5FC1580ECFE005C14F014C0D81C7CC7FC90C8FCA9EB0FC0 -EB3FF8EBFFFC381DF07E381FC01F9038000F8015C0001E1307001C14E0000C14F0C71203 -A315F8A31218123E127F5AA215F0A2481307007814E012700078EB0FC0003814806CEB1F -006C133E3807C0FC6CB45A6C13E038007F801D347CB126>I<14FE903807FF804913C090 -383F01E090387C00709038F801F03901F003F83803E007EA07C0A2EA0F80001FEB03F0EC -01E048C8FCA35A007E7FEB07F8EB1FFE38FE3FFF9038700F809038E007C09038C003E039 -FF8001F015F81300EC00FCA25A15FEA4127EA56C14FCA36CEB01F8A2D80F8013F0EC03E0 -EA07C03903E007C03901F81F803900FFFE00EB3FFCEB0FE01F347DB126>I<1238123E00 -3FB6FCA34814FE15FCA20078C712380070147015E0A248EB01C0EC0380A2C7EA0700140E -5CA25C5CA25C1301A2495AA213075C130FA2131FA349C7FCA35BA55BA8137E133C20347C -B126>III<121C123E12 -7FEAFF80A3EA7F00123E121CC7FCAE121C123E127FEAFF80A3EA7F00123E121C09207A9F -15>I<121C123E127FEAFF80A3EA7F00123E121CC7FCAE121C127E127F5A1380A2127FA2 -121F1203A4EA0700A4120EA25A123C12385A1220092F7A9F15>I64 D<15E04A7EA34A7EA34A7EA3EC0EFEA3EC1C7FA34A6C7EA202787FEC701FA202F07F -ECE00FA2010180ECC007A2010380EC8003A249486C7EA3010E6D7E010FB5FCA24980011C -C77EA2496E7EA20178810170141FA201F08149140FA20001821607487ED80FF84A7EB549 -B512E0A333367DB53A>IIIIIIIII<013FB51280A39039 -001FF0006E5AB3B0121C127FA2EAFF80A25DEB001F7E007C495A003891C7FC6C137E380F -81FC6CB45A6C13E0C66CC8FC21357EB227>I -IIIIII82 D<90381FE00390387FFC0748B5FC3903F01F8F39078003 -DF48C7B4FC001E804880A24880A200F880A381A27EA2007E91C7FC127F13C0EA3FF013FF -6C13F06C13FF6C14C06C80C614F8013F7F01037FEB003FEC03FF1400ED3F80151F16C015 -0F126000E01407A47E1680A26C140F16006C5C6C141E6C6C5BD8FBE013F839F1FC03F000 -E0B55A011F138026C003FEC7FC22377CB42B>I<007FB712FEA39039C007F001D87E00EC -007E007C163E0078161E170E127000F0160FA3481607A6C71500B3AB4A7E011FB512FCA3 -30337DB237>II87 D<267FFFFC90B512C0A3C601E090383FF800D97F80EB0FC0 -013F5D6E91C7FC6D6C131E010F141C6E133C6D6C5B010314706E13F06D6C485AD900FF5B -150391387F8780DA3FC7C8FC15CFEC1FFE6E5A5D14076E7EA26E7E4A7EA24A7F91380F3F -C0140E91381E1FE04A6C7EEC380702787F4A6C7EECE00101018049486C7E49487F91C77F -496E7E011E6E7E131C013C6E7E017C6E7E13FCD807FFEC1FFEB500C090B512F8A335337E -B23A>I91 D<481302380380073807 -000E000E5B485BA2485BA2485BA348485AA400EE13DC38FF81FFA201C11380EA7FC0A239 -3F807F00001F7F380E001C191876B326>I -I97 DII<153FEC0FFFA3EC007F81AEEB0FF0EB7FFC -90B5FC3901FC0FBF3907E001FF48487E497F001F8048C7FCA25A127EA212FEA8127EA212 -7F7EA26C6C5B5D6C6C5A6C6C4813803A03F81F3FFC3801FFFE38007FF8D91FE013002635 -7DB32B>II<14FEEB03FF010F -138090381F8FC090383E1FE0137C13F81201EC0FC03903F0078091C7FCABB512F0A3D803 -F0C7FCB3A7487E387FFFE0A31B357FB417>I<151F90391FC07F8090387FF0FF3A01FFFD -E7C03903F07F873907C01F073A0F800F8380001FECC000EB00074880A76C5CEB800F000F -5C6C6C48C7FCEBF07EEBFFFC380C7FF0EB1FC0001CC9FCA2121EA27EEBFFFE6CEBFFC015 -F06C80000F80391F0001FE003EEB007F48141F168048140FA5007CEC1F00A2003F147E6C -6C5B390FF007F80003B512E0C61480D91FFCC7FC22337EA126>II<1207EA0F80EA1FC0EA3FE0A3EA1FC0EA0F80EA0700C7FC -A9EA07E012FFA3120F1207B3A6EA0FF0B5FCA310337EB215>IIII<2703F01F -E013FF00FF90267FF80313C04A6C487F903BF3C0FE1E07F03C07F7003F3801F8D803F614 -3001FC90391FE000FC495CA3495CB3486C496C487EB53BC7FFFE3FFFF0A33C217EA041> -I<3903F01FC000FFEB7FF09038F1FFF89038F3C0FC3907F7007EEA03FE497F5BA35BB348 -6CEB7F80B538C7FFFCA326217EA02B>II<3903F03FC000FFEBFFF001F313FC9038F7C0FE3907FE007F6C48EB3F -8049EB1FC049130F16E0150716F0A2150316F8A816F01507A216E0150F6D14C0ED1F806D -EB3F006D137E9038F781FC9038F3FFF801F113E09038F03F8091C8FCAA487EB512C0A325 -307EA02B>I<3803E07C00FF13FF01E113809038E39FC03807E71FEA03EE9038EC0F8090 -38FC070049C7FCA35BB2487EB512E0A31A217FA01E>114 DI<1370A513F0A31201A212031207120F121F -B512FEA33803F000AF1407A8140EEA01F8A23800FC1CEB7FF8EB3FF0EB0FC0182F7FAD1E ->III< -B53A1FFFC3FFF0A33C07F800FE007F804949EB3E000003161CA26D486C133C00011638A2 -6D486C13780000029F1370A2D9FE07EB80F0017E010F5BA2D97F0F13C190263F0E075BA2 -029E13E390261F9C035BA202FC13F790260FF80190C7FCA216FF6D486C5AA36D48137CA3 -6D48133834217F9F37>II<3A7FFF80FFF8A33A07F8003FC06C48EB1F806C6CEB0F -00150E6D131E0000141CA2017E5BA2017F13786D1370A26D6C5AA214C1010F5B14E30107 -5BA2D903F7C7FCA214FF6D5AA26D5AA31478A21470A214F05CA2495A127CEAFE035C49C8 -FC5BEAFC1EEA783CEA3FF86C5AEA07C025307F9F29>I<003FB512F0A39038800FE0393E -001FC0003C14800038133F0078EB7F0014FE00705B1301495A495A00005B495A131F495A -EC0070137E13FE485A485A4913F01207484813E0381FC0011380003F1303387F001FB6FC -A31C207E9F22>II E +/Fn 77 124 df<91393FE00FE0903A01FFF83FF8903A07E01EF83C903A1F800FF07E903A +3F001FE0FE017E133F4914C0485A1738484890381F8000ACB812C0A33B03F0001F8000B3 +A7486C497EB50083B5FCA32F357FB42D>11 DII +I<127812FCA27E7EEA7F80121FEA0FC0EA07E01203EA00F01378133C13080E0E78B326> +18 D<137813FCA212011203EA07F813E0EA0FC0EA1F801300123C5A5A12400E0E71B326> +I<003C13F0387E01F838FF03FCA2EB83FEA2EA7F81383D80F600011306A40003130EEB00 +0CA248131C00061318000E1338000C1330001C13704813E0387001C00060138017177EB3 +26>34 D<14C01301EB0380EB0F00130E5B133C5B5BA2485A485AA212075B120F90C7FC5A +A2121E123EA3123C127CA55AB0127CA5123C123EA3121E121FA27E7F12077F1203A26C7E +6C7EA213787F131C7F130FEB0380EB01C01300124A79B71E>40 D<12C07E1270123C121C +7E120F6C7E6C7EA26C7E6C7EA27F1378137C133C133EA2131E131FA37F1480A5EB07C0B0 +EB0F80A514005BA3131E133EA2133C137C137813F85BA2485A485AA2485A48C7FC120E5A +123C12705A5A124A7CB71E>I<123C127EB4FCA21380A2127F123D1201A412031300A25A +1206120E120C121C5A5A126009177A8715>44 DI<123C127E12 +FFA4127E123C08087A8715>I<1530157815F8A215F01401A215E01403A215C01407A215 +80140FA215005CA2143EA2143C147CA2147814F8A25C1301A25C1303A25C1307A2495AA2 +91C7FC5BA2131E133EA2133C137CA2137813F8A25B1201A25B1203A2485AA25B120FA290 +C8FC5AA2121E123EA2123C127CA2127812F8A25A12601D4B7CB726>II<13075B5B137FEA07FFB5FC13BFEAF83F12 +00B3B3A2497E007FB51280A319327AB126>I +III<000C14C0380FC00F90B512 +8015005C5C14F014C0D80C18C7FC90C8FCA9EB0FC0EB7FF8EBF07C380FC03F9038001F80 +EC0FC0120E000CEB07E0A2C713F01403A215F8A41218127E12FEA315F0140712F8006014 +E01270EC0FC06C131F003C14806CEB7F00380F80FE3807FFF8000113E038003F801D347C +B126>I<14FE903807FF80011F13E090383F00F0017C13703901F801F8EBF003EA03E012 +07EA0FC0EC01F04848C7FCA248C8FCA35A127EEB07F0EB1FFC38FE381F9038700F809038 +E007C039FFC003E0018013F0EC01F8130015FC1400A24814FEA5127EA4127F6C14FCA26C +1301018013F8000F14F0EBC0030007EB07E03903E00FC03901F81F806CB51200EB3FFCEB +0FE01F347DB126>I<1230123C003FB6FCA34814FEA215FC0070C7123800601430157015 +E04814C01401EC0380C7EA07001406140E5C141814385CA25CA2495A1303A3495AA2130F +A3131F91C7FCA25BA55BA9131C20347CB126>III<123C127E12FFA4127E123C1200B0123C +127E12FFA4127E123C08207A9F15>I<123C127E12FFA4127E123C1200B0123C127E12FE +12FFA3127F123F1203A412071206A3120E120C121C1238123012701260082F7A9F15>I< +EC07FC91387FFFC0903901F803F090390780003C011EC7120F0138EC0380496E7E496E7E +4848157048488127070003F87F000ED91FFE7F000C90397E078006001C9039F801C0073B +1801F000E003D8380302701380263007E0EB3F014A1481D8700F021F13C026601F801480 +A200E017E0D8C03F166091C7FCA880EAE01F1260A226700FC015E0D83007023F13C08026 +3803F0137FD81801ECFF813C1C00F801CFC180000C90397E0787C3000E903A1FFE03FF00 +6C903903F800FC6C6CCAFC6C7E6C7E0170ED03E06D150F011EED7F80D90780903803FC00 +D901F8EB7FE09027007FFFFEC7FC0207138033367CB43C>64 D<15E0A34A7EA24A7EA34A +7EA3EC0DFE140CA2EC187FA34A6C7EA202707FEC601FA202E07FECC00FA2D901807F1507 +A249486C7EA301066D7EA2010E80010FB5FCA249800118C77EA24981163FA2496E7EA349 +6E7EA20001821607487ED81FF04A7ED8FFFE49B512E0A333367DB53A>IIIIIIIII<017FB5FCA39038003FE0EC1FC0B3B112 +7EB4FCA4EC3F805A0060140000705B6C13FE6C485A380F03F03803FFC0C690C7FC20357D +B227>IIIIIII +82 D<90381FE00390387FFC0748B5FC3907F01FCF390F8003FF48C7FC003E80814880A2 +00788000F880A46C80A27E92C7FC127F13C0EA3FF013FF6C13F06C13FF6C14C06C14F0C6 +80013F7F01037F9038003FFF140302001380157F153FED1FC0150F12C0A21507A37EA26C +EC0F80A26C15006C5C6C143E6C147E01C05B39F1FC03F800E0B512E0011F138026C003FE +C7FC22377CB42B>I<007FB712FEA390398007F001D87C00EC003E0078161E0070160EA2 +0060160600E01607A3481603A6C71500B3AB4A7E011FB512FCA330337DB237>II87 +D<267FFFFC90B512C0A3000101E090381FF80026007F80EB0FC0013F6E5A6E91C7FC6D6C +130E010F140C6E5B6D6C133801035C6E13606D6C13E06D6C485A5EDA7F83C8FCEC3FC715 +C6EC1FECEC0FFC5D14076E7EA26E7E815C6F7E9138063FC0140E4A6C7E9138180FF0EC38 +0702707F91386003FCECC0010101804A6C7E49C77E4981010E6E7E010C6E7E131C496E7E +01786E7E13FCD807FEEC1FFEB56C90B512F8A335337EB23A>I91 D<0003130C48131C000E133848137000181360003813E000 +3013C0EA700100601380A2EAE00300C01300A400DE137800FF13FCEB83FEA2EA7F81A238 +3F00FC001E1378171774B326>II97 DII< +153FEC0FFFA3EC007F81AEEB07F0EB3FFCEBFC0F3901F003BF3907E001FF48487E48487F +8148C7FCA25A127E12FEAA127E127FA27E6C6C5BA26C6C5B6C6C4813803A03F007BFFC39 +00F81E3FEB3FFCD90FE0130026357DB32B>III<151F9039 +1FC07F809039FFF8E3C03901F07FC73907E03F033A0FC01F83809039800F8000001F80EB +00074880A66C5CEB800F000F5CEBC01F6C6C48C7FCEBF07C380EFFF8380C1FC0001CC9FC +A3121EA2121F380FFFFEECFFC06C14F06C14FC4880381F0001003EEB007F4880ED1F8048 +140FA56C141F007C15006C143E6C5C390FC001F83903F007E0C6B51280D91FFCC7FC2233 +7EA126>III< +EB03C0EB07E0EB0FF0A4EB07E0EB03C090C7FCAAEB03F013FFA313071303B3B01238127C +00FE13E0130714C0130F007C138038381F00EA1FFCEA07F0144384B217>II +I<2703F01FE013FF00FF90267FF80313C0903BF1E07C0F03E0903BF3803E1C01F02807F7 +003F387FD803FE1470496D486C7EA2495CA2495CB3486C496C487EB53BC7FFFE3FFFF0A3 +3C217EA041>I<3903F01FC000FFEB7FF09038F1E0FC9038F3807C3907F7007EEA03FE49 +7FA25BA25BB3486CEB7F80B538C7FFFCA326217EA02B>II<3903F03F8000FFEBFFE09038F3C0F89038F7007ED807FE +7F6C48EB1F804914C049130F16E0ED07F0A3ED03F8A9150716F0A216E0150F16C06D131F +6DEB3F80160001FF13FC9038F381F89038F1FFE0D9F07FC7FC91C8FCAA487EB512C0A325 +307EA02B>I<3803E07C38FFE1FF9038E38F809038E71FC0EA07EEEA03ECA29038FC0F80 +49C7FCA35BB2487EB512E0A31A217FA01E>114 DI<1330A51370A313F0A21201A212031207381FFFFEB5FCA23803F000 +AF1403A814073801F806A23800FC0EEB7E1CEB1FF8EB07E0182F7FAD1E>IIIII<3A7FFF807FF8A33A07F8001FC00003EC0F800001EC070015066C6C5BA26D13 +1C017E1318A26D5BA2EC8070011F1360ECC0E0010F5BA2903807E180A214F3010390C7FC +14FBEB01FEA26D5AA31478A21430A25CA214E05CA2495A1278D8FC03C8FCA21306130EEA +701CEA7838EA1FF0EA0FC025307F9F29>I<003FB512F0A2EB000F003C14E00038EB1FC0 +0030EB3F800070137F1500006013FE495A13035CC6485A495AA2495A495A49C7FC153013 +FE485A12035B48481370485A001F14604913E0485A387F000348130F90B5FCA21C207E9F +22>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fo cmr10 10 74 -/Fo 74 123 df11 DIII<121E123FEA7F80EAFFC0A7EA7F -80ABEA3F00AA121EAA120EC7FCA8121E123FEA7F80EAFFC0A4EA7F80EA3F00121E0A3C7A -BB17>33 D<001E130F003FEB1F80397F803FC039FFC07FE0A201E013F0A2007F133F003F -131F001EEB0F7000001300A4484813E0A339038001C0A23907000380A2000EEB07004813 -0E003C131E0038131C001013081C1A7DB92A>I<121E123FEA7F80EAFFC0A213E0A2127F -123F121E1200A4EA01C0A3EA0380A2EA0700A2120E5A123C123812100B1A7AB917>39 -D<14E01301EB03C0EB0780EB0F00131EA25B5B13F85B12015B12035B1207A2485AA2121F -90C7FCA25AA2123EA2127EA5127C12FCB2127C127EA5123EA2123FA27EA27F120FA26C7E -A212037F12017F12007F13787F7FA27FEB0780EB03C0EB01E01300135278BD20>I<1260 -12F012787E7E7EA26C7E6C7E7F12017F12007F1378137CA27FA2133F7FA21480A2130FA2 -14C0A5130714E0B214C0130FA51480A2131FA21400A25B133EA25BA2137813F85B12015B -12035B485A48C7FCA2121E5A5A5A126013527CBD20>I<15301578B3A6007FB812F8B912 -FCA26C17F8C80078C8FCB3A6153036367BAF41>43 D<121E123FEA7F80EAFFC0A213E0A2 -127F123F121E1200A4EA01C0A3EA0380A2EA0700A2120E5A123C123812100B1A7A8917> -II<121E123FEA7F80EAFFC0A4EA7F80EA3F00121E0A0A7A8917> -I<150C151EA2153CA31578A315F0A3EC01E0A3EC03C0A3EC0780A3EC0F00A3141EA35CA3 -5CA35CA3495AA3495AA2495AA349C7FCA3131EA35BA35BA35BA3485AA3485AA3485AA348 -C8FCA3121EA35AA35AA35AA212601F537BBD2A>IIIII<157815F8A214011403A21407A2140F141FA2143F147B147314 -F3EB01E314C31303EB07831403130F131E131C133C1378137013F0EA01E013C012031380 -EA07005A120E121E5A123812785AB712F8A3C73803F800AB4A7E0103B512F8A325397EB8 -2A>I<0004140C000F143C9038F003FC90B55A5D5D158092C7FC14FC000E13F090C9FCAB -EB07F8EB1FFE90387FFF809038F80FC0390FE007E090388003F0496C7E000E6D7E1206C8 -7EA2157FA31680A31218123E127F5AA316005A00785C00705CA26C495A5D6C495A6C495A -6C6C485A3903E03F806CB5C7FC38007FFCEB1FE0213A7CB72A>II<1238123C123F90B612E0A316C0481580A216000078C7120E00705CA25D00F05C5A5D -4A5AC7FC4A5A4AC7FC140EA25C143C14381478147014F0A2495AA21303A2495AA2130FA3 -131F5CA3133FA5137FA96DC8FC131E233B7BB82A>II<121E123FEA7F80EAFFC0A4EA7F80EA3F00 -121EC7FCB0121E123FEA7F80EAFFC0A4EA7F80EA3F00121E0A247AA317>58 -D<121E123FEA7F80EAFFC0A4EA7F80EA3F00121EC7FCB0121E123FEA7F8012FF13C0A312 -7F123F121F1201A4EA0380A312071300A2120E121E121C5AA212100A347AA317>I<1538 -157CA315FEA34A7EA34A7FA34A7F153FA2020F7FEC0E1FA2021E7FEC1C0FA2023C7FEC38 -07A202787FEC7003A202F07FECE001A20101804A7EA20103814A137FA201078191C7123F -91B6FC4981A2010EC7121F011E81011C140FA2013C8101381407A201788101701403A201 -F08116011201486C81D80FFE02071380B500C090B512FEA3373C7DBB3E>65 -DI<4AB4EB0180020FEBE003027F13F8903A01FF807E07903A03 -FC000F0FD90FF0EB079FD91FC0EB01DF4948EB00FF49C8127F13FE4848153F4848151FA2 -4848150F120F5B001F1607A2485AA21703127FA25B94C7FC12FFAB127FA26DED0380A212 -3FA36C7EEF0700120F7F0007160E6C7E5F6C7E6C6C5D017F5D6D6C14F06D6C495AD90FF0 -495AD903FC010FC7FC903901FF807E6D6CB45A020F13F002011380313D7BBA3C>III -IIII76 DIIII82 DI<003FB812E0A3D9E003EB003F90260001FE1307007EEE03 -F0007C160100781600A300701770A400F01778481738A4C71600B3B0913807FF80011FB6 -12E0A335397DB83C>II87 D<007FB590387FFFFCA3C601F8010F1380D97FE0D903FCC7FC013FEC01 -F06D6C5C5F6D6C13036D6C495A94C8FC6D6C5B161E6D6C131C6DEB803C5E91387FC07091 -383FE0F0EDE1E091381FF1C0EC0FF3EDFB806EB4C9FCA26E5A6E7EA26E7F6F7E15FF825C -913803DFF0ED8FF8140791380F07FC91380E03FE141E91381C01FF4A7E02788002706D7E -14F049486D7E4A6D7E130349486D7E91C76C7E5B011E6E7E1601013E8101FF8200076D01 -077FB500F0013FEBFF80A339397EB83E>I91 D<48148039038001C00007130301001380000EEB070048130EA2485BA2485B -A3485BA400EFEB778039FF807FC001C013E001E013F0A2007F133FA2393FC01FE0391F80 -0FC0390F0007801C1A76B92A>II< -EB3FE0EBFFFC000313FF3907C03F80390F800FC0486C6C7E01E07F6E7EA2380FC001D807 -807FEA0300C7FCA414FF130FEB7FF13801FF01EA07F8EA0FF0EA1FE0EA3FC0EA7F80A2D8 -FF00141CA41403A2387F800714063A3FC01C7E383A1FF0787FF83A0FFFF03FF0000301E0 -13E03A007F000F8026277DA52A>97 DIIII<147E903803FF80010F13C090 -381FC7E090383F07F0EB7E0F13FE13FC0001EB07E09038F803C0000390C7FCADB512FCA3 -D803F8C7FCB3AB487EB512F8A31C3B7FBA19>IIIIIII<2703F807F8EB0FF000FFD91FFEEB3FFCDA7FFFEBFFFE913AF03F81E07F -3D0FF9C00FC3801F802603FB80D9E7007F020013E601FED907FC6D7EA2495CA2495CB3A4 -486C496C497EB500E1B500C3B51280A341257EA446>I<3903F807F000FFEB1FFCEC7FFF -9138F07F80390FF9C01F2603FB807F9038FF000F49805BA35BB3A4486C497EB500E1B512 -80A329257EA42E>II<3903F80FE000FFEB7FFC9038F9FFFE9039FBE07F -803A0FFF801FC03A03FE000FE049EB07F0A249EB03F816FC150116FEA3ED00FFA916FE15 -01A316FC150316F86DEB07F0ED0FE06D14C09039FF803F809039FBE07F009038F9FFFE90 -38F87FF8EC1FC091C8FCAB487EB512E0A328357EA42E>I<903903F801C090381FFE03EB -7FFF9038FE07873901FC01C73903F000EF0007147F4848133F485A003F141F5B127FA390 -C7FC5AA96C7EA3123F7F001F143F6C7E157F6C6C13FF3903F801DF3901FE0F9F39007FFF -1FEB3FFCEB07F090C7FCABED3FE00207B5FCA328357DA42C>I<3803F03F00FFEB7F8090 -38F1FFE014C7390FF38FF03803F70F13F69038FE07E09038FC03C0EC018091C7FCA25BB3 -A3487EB512F8A31C257EA421>II<131CA5133CA3137CA213FC120112031207121FB6FC -A3D801FCC7FCB2EC01C0A93900FE0380A2017E13006D5AEB1FFE6D5AEB03F01A347FB220 ->IIIIII<003FB512FCA390 -38C007F8D83E0013F0003C130FEC1FE0003814C00078EB3F80147F0070EBFF005C130149 -5A5CEA0007495A5C495A133F90387F800E14005B485A5B0003141E485A5B4848131C001F -143C4848137C4913FC007F1303B6FCA31F247EA325>I E +/Fo 74 123 df11 +DIII<121C127FEAFF80A8EA7F00AB123EAB121CABC7FCA8121C12 +7FEAFF80A5EA7F00121C093C79BB17>33 D<001C131C007F137F39FF80FF80A26D13C0A3 +007F137F001C131C00001300A40001130101801380A20003130301001300485B00061306 +000E130E485B485B485B006013601A197DB92A>I<121C127FEAFF80A213C0A3127F121C +1200A412011380A2120313005A1206120E5A5A5A12600A1979B917>39 +D<146014E0EB01C0EB0380EB0700130E131E5B5BA25B485AA2485AA212075B120F90C7FC +A25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7EA27F12077F1203A26C7EA26C7E +1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD20>I<12C07E12707E7E7E120F +6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2131F7FA21480A3EB07C0A6EB03E0 +B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C1378A25BA2485A485AA2485A48C7 +FC120E5A5A5A5A5A13527CBD20>I<15301578B3A6007FB812F8B912FCA26C17F8C80078 +C8FCB3A6153036367BAF41>43 D<121C127FEAFF80A213C0A3127F121C1200A412011380 +A2120313005A1206120E5A5A5A12600A19798817>II<121C127F +EAFF80A5EA7F00121C0909798817>I<150C151E153EA2153C157CA2157815F8A215F014 +01A215E01403A215C01407A21580140FA215005CA2141E143EA2143C147CA2147814F8A2 +5C1301A25C1303A2495AA25C130FA291C7FC5BA2131E133EA2133C137CA2137813F8A25B +1201A25B1203A25B1207A25B120FA290C8FC5AA2121E123EA2123C127CA2127812F8A25A +12601F537BBD2A>IIIII<1538A2157815F8A2140114031407A2140F141F141B14331473146314C313011483EB +030313071306130C131C131813301370136013C01201EA038013005A120E120C5A123812 +305A12E0B712F8A3C73803F800AB4A7E0103B512F8A325397EB82A>I<0006140CD80780 +133C9038F003F890B5FC5D5D158092C7FC14FC38067FE090C9FCABEB07F8EB3FFE903878 +0F803907E007E090388003F0496C7E12066E7EC87EA28181A21680A4123E127F487EA490 +C71300485C12E000605C12700030495A00385C6C1303001E495A6C6C485A3907E03F8000 +01B5C7FC38007FFCEB1FE0213A7CB72A>II<123012 +38123E003FB612E0A316C05A168016000070C712060060140E5D151800E01438485C5D5D +C712014A5A92C7FC5C140E140C141C5CA25CA214F0495AA21303A25C1307A2130FA3495A +A3133FA5137FA96DC8FC131E233B7BB82A>II<121C127FEAFF +80A5EA7F00121CC7FCB2121C127FEAFF80A5EA7F00121C092479A317>58 +D<121C127FEAFF80A5EA7F00121CC7FCB2121C127F5A1380A4127F121D1201A412031300 +A25A1206A2120E5A121812385A1260093479A317>I<1538A3157CA315FEA34A7EA34A6C +7EA202077FEC063FA2020E7FEC0C1FA2021C7FEC180FA202387FEC3007A202707FEC6003 +A202C07F1501A2D901807F81A249C77F167FA20106810107B6FCA24981010CC7121FA249 +6E7EA3496E7EA3496E7EA213E0707E1201486C81D80FFC02071380B56C90B512FEA3373C +7DBB3E>65 DI<913A01FF800180020FEBE003027F13F8903A01FF80 +7E07903A03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F1201 +4848151F4848150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6D +ED0180A3123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D +6C5CD91FE05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F002 +011380313D7BBA3C>IIIIIII76 DIIII82 DI<003FB812E0A3D9C003EB001F +273E0001FE130348EE01F00078160000701770A300601730A400E01738481718A4C71600 +B3B0913807FF80011FB612E0A335397DB83C>II87 D<007FB590383FFFFCA3 +C601F801071380D97FE0D903FCC7FC013FEC01F06D6C5C5F6D6C5C6D6C13034CC8FC6D6C +1306160E6D6C5B6DEB8018163891387FC0306E6C5A16E06E6C5A91380FF18015FB6EB4C9 +FC5D14036E7EA26E7F6F7EA24B7E15DF9138019FF09138038FF8150F91380607FC91380E +03FE140C4A6C7EEC38000230804A6D7E14E04A6D7E49486D7E130391C76C7E01066E7E13 +0E010C6E7E011C1401013C8101FE822607FF80010713E0B500E0013FEBFF80A339397EB8 +3E>I91 D<390180018000031303 +3907000700000E130E485B0018131800381338003013300070137000601360A200E013E0 +485BA400CE13CE39FF80FF806D13C0A3007F137FA2393F803F80390E000E001A1974B92A +>II97 +DIIII<147E903803FF8090380FC1E0EB1F8790383F0FF0137EA213 +FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I< +ED03F090390FF00FF890393FFC3C3C9039F81F707C3901F00FE03903E007C03A07C003E0 +10000FECF000A248486C7EA86C6C485AA200075C6C6C485A6D485A6D48C7FC38073FFC38 +060FF0000EC9FCA4120FA213C06CB512C015F86C14FE6CECFF804815C03A0F80007FE048 +C7EA0FF0003E140348140116F8481400A56C1401007C15F06CEC03E0003F1407D80F80EB +0F80D807E0EB3F003901FC01FC39007FFFF0010790C7FC26387EA52A>IIIIII<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01E07E903BF1C01F8380 +3F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0A2495CA3495CB3A348 +6C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00FF000FFEB3FFCECF03F90 +39F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A3486C497EB500C1B51280 +A329257EA42E>II<3903F01FE000FFEB7FF89038F1E07E9039F3801F +803A0FF7000FC0D803FEEB07E049EB03F04914F849130116FC150016FEA3167FAA16FEA3 +ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F009038F1E07E9038F0FF +F8EC1FC091C8FCAB487EB512C0A328357EA42E>II<3807E01F00FFEB7FC09038E1E3 +E09038E387F0380FE707EA03E613EE9038EC03E09038FC0080491300A45BB3A2487EB512 +F0A31C257EA421>II<1318A51338A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215 +C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347FB220>IIIIII<003FB5 +12FCA2EB8003D83E0013F8003CEB07F00038EB0FE012300070EB1FC0EC3F800060137F15 +0014FE495AA2C6485A495AA2495A495A495AA290387F000613FEA2485A485A0007140E5B +4848130C4848131CA24848133C48C7127C48EB03FC90B5FCA21F247EA325>I +E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fp cmbx12 14.4 25 -/Fp 25 117 df68 -D<932601FFF8EC01C0047FD9FF8013070303B600F0130F031F03FC131F92B8133F0203EF -C07F020FDAF000EBF0FF4A49C7EA1FF9027F01F00203B5FC91B5008080010349C97E4949 -824949824901E08249498249498290B5CA7EA24849834849187FA24849183FA25A4A181F -5AA24849180FA45A4A95C8FCA3B5FCAE6C94B812E0A280A27EA295C76CEBC000A26C7FA2 -7E807EA26C7FA26C7F6C7F817F6D7F6D7F6D13F86D6D93B5FC6D01FF5D010002C05C6E01 -F05C021F01FEEC1FF76ED9FFF0EBFFE3020391B612C10200EF807F031F9238FE001F0303 -03F81307DB007F02C01301040101FCCAFC5B5479D26A>71 D77 D<93380FFFC00303B6FC031F15E092B712FC020316FF020FD9FC00 -14C0023F01C0010F13F04A90C700037F902601FFFC020013FE49496F7E49496F7F49496F -7F49496F7F49496F7F4990C96C7F4948707FA24849707F48864A83481B804A83481BC0A2 -481BE04A83A2481BF0A348497113F8A5B51AFCAF6C1BF86E5FA46C1BF0A26E5F6C1BE0A3 -6C6D4D13C0A26C6D94B51280A26C1B006C6D4C5B6E5E6C626D6D4B5B6D6D4B5B6D6D4B5B -6D6D4B5B6D6D4B5B6D01FE4AB5C7FC6D6D4A5B6D02E0011F5B023F01FC90B512F0020F90 -B712C0020394C8FC020016FC031F15E0030392C9FCDB001F13E0565479D265>79 -DI<91260FFF80130791B500F85B010302FF5B010FEDC07F013FEDF0FF4915F92701FFF8 -0090B5FC4801C0130F4849130149C87E000F824848814981003F824981007F82A283A200 -FF83A27FA2847F7F7F6E92C7FC6C13E014FCECFFC015FE6CECFFE016FF6C16E017F86C16 -FE6C707E6C83846C836C6C826D826D820107821301D9003F16801403DA003F15C01501DB -001F14E01601707E171F7113F08383127C00FC82A283A37E19E0A37E6D17C05F6D17806D -5D6D170001FC5D6D4B5AD9FFC04A5A02F8EC7FF8913AFFC003FFF0019F90B65A01075ED8 -FE0193C7FC26F8007F14FC48010714E0489026003FFEC8FC3C5479D24B>83 -D<003FBC1280A69126E0007FEBC0004848C7040F13C001F818034984498449197F49193F -A290C8171FA3007E1A0FA500FE1BE0481A07A6C994C7FCB3B3AA49B912F0A653517BD05E ->I87 D97 DI<913801FFF0021F13FF91B612E001 -0315F8010F81499038800FFE4948486C7ED9FFF8491380485B4A4913C0485B5A485BA25A -91C76C1380486F1300A2EE01FC484891C8FCA412FFAB127FA27FA27EA26C6DEC07E0A27E -6EEC0FC06C7FEF1F806C6D143F6C6DEC7F006C01FE14FE6D6C495A011F9038E00FF86D90 -B55A01035D01001580021F01FCC7FC020113E033387CB63C>I<943801FFC00407B5FCA6 -EE001F1707B3A3913801FFC0021F13F891B6FC010315C7010F15F749D9C01FB5FC90397F -FE0003494813004801F08048498048498083485BA24890C8FCA25AA2485AA412FFAB127F -A4123F7FA27EA26C7F5F6C6D5C6C6D5C6C6D91B5FC6C6D010314F06D6C49ECFFC090393F -FF803F6D90B512CF0107150F010114FCD9003F13F00203018049C7FC42547CD24B>I<91 -3803FF80023F13F891B512FE01036E7E010F15E0013F01017F903A7FFC003FF8D9FFF06D -7E48496D7E48496D7E5A4A6D13805A91C76C13C05AA24817E082485AA218F0A212FFA290 -B8FCA418E049CAFCA5127FA36C7EA36CEE01E0EF03F06C7FEF07E06C7F6C6DEC0FC06C16 -1F6C6DEC3F80D97FFCEC7F006DB4EB01FE6D9038E00FFC010790B55A010115E06D6C1480 -021F49C7FC020013E034387CB63D>I103 DI<133FEBFF -C0487F487F487FA2487FA66C5BA26C5B6C5B6C5B013FC7FC90C8FCACEB1FF8B5FCA61201 -7EB3B3A4B612F0A61C547BD326>I<153FEDFFC04A13E04A13F04A13F8A24A13FCA66E13 -F8A26E13F06E13E06E13C0ED3F0092C7FCACED1FFC91B5FCA61401EC007FB3B3AFEA0380 -EA0FE0EA3FF8487E16F8487E15FF16F0A24A13E0D87FFC14C05C6C48481380494813006C -B512FC6C5C000314E0C691C7FCEB1FF8266C88D329>III110 -D<913801FFE0021F13FE91B612C0010315F0010F15FC499038807FFE903B7FFC000FFF80 -49486D7F4801E001017F48496D7FA248496E7E488391C8123F4883A248834981A2007F18 -80A400FF18C0AC007F1880A3003F18006D5DA26C5FA26C6D4A5AA26C6D4A5A6C5F6C6D49 -5B6C01F801075B6D6C495B90273FFF807F90C7FC010F90B512FC6D5D010015C0023F91C8 -FC020113E03A387CB643>II<90393FF003FCB5EB1FFF4B13C092B512F002F114F89238FC7F -FCECF3F000039039F7E0FFFEC65CECFF805DA25CEE7FFCEE3FF85CEE0FE093C7FCA35CB3 -AAB612FEA62F367CB537>114 D<903901FFE007011FEBFC1F017FEBFF7F48B7FC120739 -0FFE003FD81FF0130749130148487F5B007F81A200FF81A37F7F01F891C7FC13FEEBFFF0 -6CEBFF8015FC6C14FF16C06C15F06C816C15FE6C817E6C6C1580011F15C01303D9003F14 -E01400030F13F01501007C8000FC157F163F6C151FA37E17E07F7FEE3FC001F0147F6DEC -FF806D4913009039FF800FFE91B55A013F5CD8FC1F14E0D8F803148027E0007FF8C7FC2C -387CB635>I<147EA614FEA41301A31303A21307A2130F131F133F137F13FF1203000F90 -B6FCB8FCA5C66C48C8FCB3A8EE0FC0AB013FEC1F808017006D5C6DEB807EEDE0FE6DEBFF -FC01015C6D5C023F13C0DA03FEC7FC2A4D7ECB34>I E +/Fp 25 117 df +68 D<932601FFFCEC01C0047FD9FFC013030307B600F81307033F03FE131F92B8EA803F +0203DAE003EBC07F020F01FCC7383FF0FF023F01E0EC0FF94A01800203B5FC494848C9FC +4901F8824949824949824949824949824990CA7E494883A2484983485B1B7F485B481A3F +A24849181FA3485B1B0FA25AA298C8FC5CA2B5FCAE6C057FB712E0A280A36C94C7003FEB +C000A36C7FA36C7FA27E6C7FA26C7F6C7FA26D7E6D7F6D7F6D6D5E6D7F6D01FC93B5FC6D +13FF6D6C6D5C6E01F0EC07FB020F01FEEC1FF10203903AFFF001FFE0020091B6EAC07F03 +3FEE001F030703FC1307DB007F02E01301040149CAFC5B5479D26A>71 +D77 D<93380FFFC00303B6FC +031F15E092B712FC0203D9FC0013FF020F01C0010F13C0023F90C7000313F0DA7FFC0200 +7F494848ED7FFE4901E0ED1FFF49496F7F49496F7F4990C96C7F49854948707F4948707F +A24849717E48864A83481B804A83481BC0A2481BE04A83A2481BF0A348497113F8A5B51A +FCAF6C1BF86E5FA46C1BF0A26E5F6C1BE0A36C6D4D13C0A26C6D4D1380A26C1B006C6D4D +5A6E5E6C626D6C4C5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B90C7FC6D6D4B5A6D +01FF02035B023F01E0011F13F0020F01FC90B512C0020390B7C8FC020016FC031F15E003 +0392C9FCDB001F13E0565479D265>79 DI<91260FFF80130791B500F85B010702FF5B011FEDC0 +3F49EDF07F9026FFFC006D5A4801E0EB0FFD4801800101B5FC4848C87E48488149150F00 +1F824981123F4981007F82A28412FF84A27FA26D82A27F7F6D93C7FC14C06C13F014FF15 +F86CECFF8016FC6CEDFFC017F06C16FC6C16FF6C17C06C836C836D826D82010F82130301 +0082021F16801400030F15C0ED007F040714E01600173F050F13F08383A200788200F882 +A3187FA27EA219E07EA26CEFFFC0A27F6D4B13806D17006D5D01FC4B5A01FF4B5A02C04A +5A02F8EC7FF0903B1FFFC003FFE0486C90B65AD8FC0393C7FC48C66C14FC48010F14F048 +D9007F90C8FC3C5479D24B>83 D<003FBC1280A59126C0003F9038C0007F49C71607D87F +F8060113C001E08449197F49193F90C8171FA2007E1A0FA3007C1A07A500FC1BE0481A03 +A6C994C7FCB3B3AC91B912F0A553517BD05E>I87 D97 DI<913801FFF8021FEBFF8091B612F0010315FC010F9038C00FFE +903A1FFE0001FFD97FFC491380D9FFF05B4817C048495B5C5A485BA2486F138091C7FC48 +6F1300705A4892C8FC5BA312FFAD127F7FA27EA2EF03E06C7F17076C6D15C07E6E140F6C +EE1F806C6DEC3F006C6D147ED97FFE5C6D6CEB03F8010F9038E01FF0010390B55A010015 +80023F49C7FC020113E033387CB63C>I<4DB47E0407B5FCA5EE001F1707B3A4913801FF +E0021F13FC91B6FC010315C7010F9038E03FE74990380007F7D97FFC0101B5FC49487F48 +49143F484980485B83485B5A91C8FC5AA3485AA412FFAC127FA36C7EA37EA26C7F5F6C6D +5C7E6C6D5C6C6D49B5FC6D6C4914E0D93FFED90FEFEBFF80903A0FFFC07FCF6D90B5128F +0101ECFE0FD9003F13F8020301C049C7FC41547CD24B>I<913803FFC0023F13FC49B6FC +010715C04901817F903A3FFC007FF849486D7E49486D7E4849130F48496D7E4817804849 +7F18C0488191C7FC4817E0A248815B18F0A212FFA490B8FCA318E049CAFCA6127FA27F7E +A218E06CEE01F06E14037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6DEC3F806D6CECFF00 +D91FFEEB03FE903A0FFFC03FF8010390B55A010015C0021F49C7FC020113F034387CB63D +>I103 DI<137F497E000313E0487F +A2487FA76C5BA26C5BC613806DC7FC90C8FCADEB3FF0B5FCA512017EB3B3A6B612E0A51B +547BD325>I<157FEDFF80020313E04A13F0A24A13F8A76E13F0A26E13E002001380ED7F +0092C7FCADED1FF891B5FCA51401EC007FB3B3B1EA0780EA1FE0487E487E486C13FF16F0 +A216E05C16C04A13806C4848130049485A003F495A000FB512F06C5C0001148026001FFC +C7FC256C87D329>III110 +D<913801FFE0021F13FE91B612C0010315F0010F9038807FFC903A1FFC000FFED97FF86D +6C7E49486D7F48496D7F48496D7F4A147F48834890C86C7EA24883A248486F7EA3007F18 +80A400FF18C0AC007F1880A3003F18006D5DA26C5FA26C5F6E147F6C5F6C6D4A5A6C6D49 +5B6C6D495B6D6C495BD93FFE011F90C7FC903A0FFF807FFC6D90B55A010015C0023F91C8 +FC020113E03A387CB643>I<903A3FF001FFE0B5010F13FE033FEBFFC092B612F002F301 +017F913AF7F8007FFE0003D9FFE0EB1FFFC602806D7F92C76C7F4A824A6E7F4A6E7FA271 +7FA285187F85A4721380AC1A0060A36118FFA2615F616E4A5BA26E4A5B6E4A5B6F495B6F +4990C7FC03F0EBFFFC9126FBFE075B02F8B612E06F1480031F01FCC8FC030313C092CBFC +B1B612F8A5414D7BB54B>I<90397FE003FEB590380FFF80033F13E04B13F09238FE1FF8 +9139E1F83FFC0003D9E3E013FEC6ECC07FECE78014EF150014EE02FEEB3FFC5CEE1FF8EE +0FF04A90C7FCA55CB3AAB612FCA52F367CB537>114 D<903903FFF00F013FEBFE1F90B7 +FC120348EB003FD80FF81307D81FE0130148487F4980127F90C87EA24881A27FA27F01F0 +91C7FC13FCEBFFC06C13FF15F86C14FF16C06C15F06C816C816C81C681013F1580010F15 +C01300020714E0EC003F030713F015010078EC007F00F8153F161F7E160FA27E17E07E6D +141F17C07F6DEC3F8001F8EC7F0001FEEB01FE9039FFC00FFC6DB55AD8FC1F14E0D8F807 +148048C601F8C7FC2C387CB635>I<143EA6147EA414FEA21301A313031307A2130F131F +133F13FF5A000F90B6FCB8FCA426003FFEC8FCB3A9EE07C0AB011FEC0F8080A26DEC1F00 +15806DEBC03E6DEBF0FC6DEBFFF86D6C5B021F5B020313802A4D7ECB34>I +E %EndDVIPSBitmapFont end %%EndProlog @@ -1623,9 +1642,9 @@ TeXDict begin %%EndSetup %%Page: 1 1 -1 0 bop 472 387 a Fp(Designing)44 b(a)h(Meta)g(Ob)7 b(ject)46 -b(Proto)t(col)e(to)i(W)-11 b(rap)44 b(a)996 527 y(Standard)h(Graphical) -e(T)-11 b(o)t(olkit)1554 815 y Fo(Eric)n(k)25 b(Gallesio)1158 +1 0 bop 472 387 a Fp(Designing)46 b(a)f(Meta)g(Ob)7 b(ject)46 +b(Proto)t(col)f(to)h(W)-11 b(rap)44 b(a)996 527 y(Standard)h(Graphical) +g(T)-11 b(o)t(olkit)1554 815 y Fo(Eric)n(k)26 b(Gallesio)1158 989 y Fn(Univ)n(ersit)n(\023)-36 b(e)25 b(de)h(Nice)50 b(-)f(Sophia)25 b(An)n(tip)r(olis)1505 1081 y(I3S/CNRS)g(-)h(ESSI)1346 1172 y(Route)f(des)g(Colles)j(-)d(B.P)-6 b(.)27 b(145)1099 @@ -1652,302 +1671,300 @@ y(system)h(implemen)n(tation)g(is)i(based)f(on)g(a)h(Meta)g(Ob)t(ject)f g(accessing)i(the)d(Tk)g(to)r(olkit)i(in)e(an)g(e\016cien)n(t)h(w)n(a)n (y)g(are)g(also)602 2605 y(presen)n(ted)g(here.)365 2880 y Fk(1)112 b(Motiv)-6 b(ations)365 3070 y Fo(The)34 b(Tk)f(pac)n(k)-5 -b(age)31 b([13)o(])j(is)e(a)h(widely)e(used)i(graphical)d(to)r(olkit)h -(whic)n(h)h(pro)n(vides)f(a)i(large)365 3170 y(set)38 -b(of)g(widgets)e(suc)n(h)h(as)g(buttons,)h(scrollbars,)c(men)n(us)i(or) -h(text)h(editors.)e(With)h(these)365 3269 y(high)25 b(lev)n(el)f -(widgets,)h(one)h(can)g(build)f(rather)g(complex)e(in)n(terfaces)i -(with)h(little)d(e\013ort)j(and)365 3369 y(without)j(coping)e(with)h -(the)i(usual)d(in)n(tricacies)e(needed)k(when)g(programming)24 -b(under)29 b(the)365 3469 y(X)h(windo)n(w)d(system)h([14)o(].)h(The)g -(Tk)g(to)r(olkit)e(relies)f(on)j(a)f(small)e(in)n(terpretativ)n(e)g -(scripting)365 3568 y(language)32 b(named)h(Tcl)g(\(T)-7 -b(o)r(ol)33 b(Command)f(Language\))23 b([11)o(],)35 b(a)f(string)e -(based)i(language)365 3668 y(with)27 b(a)h(shell-lik)n(e)22 -b(syn)n(tax.)490 3768 y(Tcl)38 b(is)h(a)g(small)d(scripting)g -(language.)h(T)-7 b(o)39 b(easily)e(em)n(b)r(ed)i(the)g(Tcl)g(in)n -(terpreter)e(in)365 3867 y(application)19 b(programs,)f(some)j(usual)f -(programming)d(languages)i(capabilities)e(ha)n(v)n(e)k(b)r(een)365 -3967 y(set)41 b(aside)d(b)n(y)j(its)e(author.)h(In)g(particular,)d(Tcl) -j(has)g(a)g(p)r(o)r(or)f(set)i(of)f(data)g(structures)365 -4066 y(reduced)28 b(to)g(c)n(haracter)e(strings)g(and)i(asso)r(ciativ)n -(e)d(arra)n(ys.)g(It)k(pro)n(vides)d(n)n(um)n(b)r(ers,)g(whic)n(h)365 -4166 y(are)k(sim)n(ulated)d(with)k(strings)d(and)j(whic)n(h)f(are,)f -(consequen)n(tly)-7 b(,)29 b(slo)n(w.)g(In)i(fact,)g(a)f(prop)r(er)365 -4266 y(usage)19 b(of)h(Tcl)f(consists)g(in)g(writing)f(small)f(scripts) -h(to)i Fj(glue)h Fo(large)c(application)g(comp)r(onen)n(ts)365 -4365 y(written)32 b(in)f(C)i(or)e(C++.)h(Ho)n(w)n(ev)n(er,)e(exp)r -(erience)h(sho)n(ws)g(that)i(p)r(eople)e(are)h(reluctan)n(t)e(to)365 -4465 y(use)e(it)f(in)f(this)h(w)n(a)n(y)-7 b(,)27 b(and)g(that)h(they)g -(often)f(prefer)g(to)h(write)e(applications)e(with)j(a)g(single)365 -4565 y(programming)c(language.)490 4664 y(Tk)e(is)g(indeed)g(an)g -(application)d(with)j(an)g(em)n(b)r(edded)g(Tcl)g(in)n(terpreter)h -([12].)f(The)h(in)n(ter-)365 4764 y(pretativ)n(e)j(nature)h(of)h(Tcl)e -(pro)n(vides)f(Tk)j(a)f(simple)e(and)i(attractiv)n(e)f(in)n(terface)g -(to)h(dev)n(elop)365 4863 y(simple)e(graphical)e(programs.)h(Ho)n(w)n -(ev)n(er,)h(the)j(easiness)c(a\013orded)j(b)n(y)g(Tcl)f(for)g(the)i +b(age)31 b([13)o(])j(is)f(a)g(widely)g(used)g(graphical)f(to)r(olkit)h +(whic)n(h)g(pro)n(vides)f(a)h(large)365 3170 y(set)38 +b(of)g(widgets)f(suc)n(h)g(as)g(buttons,)h(scrollbars,)e(men)n(us)h(or) +g(text)h(editors.)f(With)h(these)365 3269 y(high)26 b(lev)n(el)g +(widgets,)g(one)g(can)g(build)h(rather)e(complex)g(in)n(terfaces)h +(with)h(little)f(e\013ort)g(and)365 3369 y(without)k(coping)e(with)h +(the)h(usual)e(in)n(tricacies)g(needed)h(when)g(programming)e(under)i +(the)365 3469 y(X)h(windo)n(w)e(system)h([14)o(].)g(The)g(Tk)g(to)r +(olkit)g(relies)f(on)h(a)f(small)h(in)n(terpretativ)n(e)f(scripting)365 +3568 y(language)33 b(named)h(Tcl)g(\(T)-7 b(o)r(ol)34 +b(Command)g(Language\))23 b([11)o(],)35 b(a)f(string)f(based)h +(language)365 3668 y(with)28 b(a)g(shell-lik)n(e)e(syn)n(tax.)490 +3768 y(Tcl)39 b(is)h(a)f(small)g(scripting)f(language.)g(T)-7 +b(o)39 b(easily)g(em)n(b)r(ed)h(the)f(Tcl)h(in)n(terpreter)e(in)365 +3867 y(application)22 b(programs,)d(some)j(usual)f(programming)f +(languages)g(capabilities)h(ha)n(v)n(e)g(b)r(een)365 +3967 y(set)41 b(aside)e(b)n(y)i(its)f(author.)g(In)g(particular,)f(Tcl) +i(has)f(a)g(p)r(o)r(or)f(set)i(of)f(data)g(structures)365 +4066 y(reduced)28 b(to)g(c)n(haracter)e(strings)h(and)h(asso)r(ciativ)n +(e)f(arra)n(ys.)e(It)k(pro)n(vides)e(n)n(um)n(b)r(ers,)g(whic)n(h)365 +4166 y(are)j(sim)n(ulated)g(with)i(strings)d(and)i(whic)n(h)g(are,)e +(consequen)n(tly)-7 b(,)30 b(slo)n(w.)g(In)h(fact,)g(a)f(prop)r(er)365 +4266 y(usage)19 b(of)h(Tcl)g(consists)g(in)g(writing)g(small)g(scripts) +f(to)h Fj(glue)h Fo(large)d(application)i(comp)r(onen)n(ts)365 +4365 y(written)33 b(in)f(C)h(or)e(C++.)h(Ho)n(w)n(ev)n(er,)e(exp)r +(erience)i(sho)n(ws)f(that)i(p)r(eople)f(are)g(reluctan)n(t)f(to)365 +4465 y(use)d(it)g(in)f(this)h(w)n(a)n(y)-7 b(,)27 b(and)g(that)h(they)g +(often)f(prefer)g(to)h(write)f(applications)g(with)h(a)f(single)365 +4565 y(programming)f(language.)490 4664 y(Tk)21 b(is)h(indeed)g(an)f +(application)g(with)h(an)f(em)n(b)r(edded)h(Tcl)g(in)n(terpreter)h +([12].)e(The)h(in)n(ter-)365 4764 y(pretativ)n(e)k(nature)g(of)h(Tcl)f +(pro)n(vides)f(Tk)i(a)f(simple)h(and)f(attractiv)n(e)g(in)n(terface)g +(to)g(dev)n(elop)365 4863 y(simple)h(graphical)d(programs.)g(Ho)n(w)n +(ev)n(er,)g(the)j(easiness)d(a\013orded)i(b)n(y)g(Tcl)g(for)f(the)i (design)p eop %%Page: 2 2 -2 1 bop 681 387 a Fo(of)32 b(small)e(in)n(terfaces)g(is)i(misleading)c -(and)k(it)g(often)h(encourages)e(p)r(eople)g(to)i(start)f(hea)n(vy)681 -487 y(dev)n(elopmen)n(ts)18 b(with)i(this)g(language.)e(But,)j(writing) -e(large)f(applications)f(with)j(a)g(language)681 587 -y(whic)n(h)28 b(lac)n(ks)e(w)n(a)n(ys)h(of)i(structuring)e(data)i -(tends)g(to)f(b)r(e)h(more)e(and)i(more)e(painful)g(as)h(the)681 -686 y(program)f(gro)n(ws.)h(W)-7 b(e)31 b(think)f(that)g(this)g(kind)f -(of)i(usage)e(is)g(b)r(ey)n(ond)h(the)g(scop)r(e)g(of)g(a)g(lan-)681 -786 y(guage)c(suc)n(h)g(as)h(Tcl,)f(and)h(w)n(e)g(ha)n(v)n(e)f(tried)g -(to)h(prop)r(ose)f(a)h(solution)e(for)i(a)f(b)r(etter)i(using)e(of)681 -886 y(the)i(Tk)f(to)r(olkit.)805 985 y(In)42 b(order)e(to)h(impro)n(v)n -(e)d(the)k(Tk)f(to)r(olkit)f(for)h(large)e(applications,)e(w)n(e)k -(decided)g(to)681 1085 y(replace)16 b(Tcl)i(b)n(y)g(a)g(con)n(v)n(en)n -(tional)d(programming)e(language.)j(F)-7 b(urthermore,)16 -b(the)j Fj(substitute)681 1184 y Fo(language)25 b(m)n(ust)h(ful\014ll)g -(some)g(imp)r(ortan)n(t)f(requiremen)n(ts;)g(it)i(m)n(ust)f(b)r(e)733 -1330 y Fi({)41 b(high)c(lev)m(el)32 b Fo(and)h(pro)n(vides)d(useful)j -(data)f(t)n(yp)r(es)h(suc)n(h)f(as)g(structures,)g(arra)n(ys,)f(lists) +2 1 bop 681 387 a Fo(of)32 b(small)h(in)n(terfaces)e(is)i(misleading)f +(and)g(it)h(often)g(encourages)e(p)r(eople)h(to)h(start)f(hea)n(vy)681 +487 y(dev)n(elopmen)n(ts)20 b(with)h(this)g(language.)e(But,)i(writing) +g(large)e(applications)h(with)h(a)f(language)681 587 +y(whic)n(h)29 b(lac)n(ks)e(w)n(a)n(ys)g(of)i(structuring)f(data)h +(tends)g(to)f(b)r(e)h(more)f(and)h(more)f(painful)h(as)f(the)681 +686 y(program)g(gro)n(ws.)g(W)-7 b(e)31 b(think)g(that)f(this)h(kind)f +(of)h(usage)e(is)h(b)r(ey)n(ond)g(the)g(scop)r(e)g(of)g(a)g(lan-)681 +786 y(guage)c(suc)n(h)g(as)h(Tcl,)g(and)g(w)n(e)g(ha)n(v)n(e)f(tried)h +(to)g(prop)r(ose)f(a)h(solution)g(for)g(a)f(b)r(etter)i(using)f(of)681 +886 y(the)h(Tk)f(to)r(olkit.)805 985 y(In)42 b(order)e(to)h(impro)n(v)n +(e)f(the)i(Tk)f(to)r(olkit)h(for)f(large)f(applications,)g(w)n(e)h +(decided)h(to)681 1085 y(replace)17 b(Tcl)i(b)n(y)f(a)g(con)n(v)n(en)n +(tional)f(programming)f(language.)h(F)-7 b(urthermore,)17 +b(the)i Fj(substitute)681 1184 y Fo(language)26 b(m)n(ust)h(ful\014ll)i +(some)e(imp)r(ortan)n(t)g(requiremen)n(ts;)g(it)h(m)n(ust)f(b)r(e)733 +1330 y Fi({)41 b(high)c(lev)m(el)32 b Fo(and)h(pro)n(vides)e(useful)j +(data)e(t)n(yp)r(es)h(suc)n(h)f(as)g(structures,)g(arra)n(ys,)f(lists) 822 1430 y(or)c(strings)733 1530 y Fi({)41 b(small)25 -b Fo(enough)i(for)g(allo)n(wing)c(to)28 b(em)n(b)r(ed)f(it)g(in)g -(applications)c(\(as)28 b(Tcl\))733 1629 y Fi({)41 b(e\016cien)m(t)28 -b Fo(so)g(that)h(most)e(applications)d(can)k(b)r(e)h(written)f(en)n -(tirely)e(in)i(this)f(language)822 1729 y(without)g(ha)n(ving)e(to)j +b Fo(enough)i(for)g(allo)n(wing)f(to)i(em)n(b)r(ed)g(it)g(in)g +(applications)e(\(as)i(Tcl\))733 1629 y Fi({)41 b(e\016cien)m(t)28 +b Fo(so)g(that)h(most)f(applications)f(can)h(b)r(e)h(written)g(en)n +(tirely)f(in)h(this)f(language)822 1729 y(without)g(ha)n(ving)e(to)i (resort)e(to)i(C)f(or)g(C++)g(programming.)733 1828 y -Fi({)41 b Fo(easily)28 b Fi(extensible)i Fo(so)g(that)i(user)e(can)h -(in)n(v)n(estigate)c(sev)n(eral)i(in)n(teresting)f(program-)822 -1928 y(ming)d(paradigms)f(\()p Fj(e.g.)30 b Fo(ob)5 b(jects,)27 +Fi({)41 b Fo(easily)30 b Fi(extensible)g Fo(so)g(that)i(user)e(can)h +(in)n(v)n(estigate)e(sev)n(eral)h(in)n(teresting)g(program-)822 +1928 y(ming)d(paradigms)f(\()p Fj(e.g.)k Fo(ob)5 b(jects,)27 b(protot)n(yp)r(es,)f(actors,)e(.)14 b(.)g(.)g(\))733 -2028 y Fi({)41 b Fo(already)23 b Fi(de\014ned)p Fo(.)j(This)f(p)r(oin)n -(t)g(is,)g(of)h(course,)f(not)h(mandatory)-7 b(,)24 b(but)i(w)n(e)g -(think)f(that)822 2127 y(it)j(is)f(preferable)f(to)i(use)g(an)g -(existing)e(programming)d(language,)i(if)j(p)r(ossible,)e(rather)822 -2227 y(than)i(de\014ning)e(a)h(new)h(one.)681 2373 y(Sc)n(heme)d([1])i -(is)e(a)h(Lisp)g(dialect)e(whic)n(h)i(satis\014es)f(quite)g(w)n(ell)g -(the)i(previous)d(p)r(oin)n(ts.)i(It)h(is)e(a)681 2472 -y(statically)f(scop)r(ed)k(language)e(with)h(a)h(clear)e(and)i(simple)e -(seman)n(tic.)f(Moreo)n(v)n(er,)h(Sc)n(heme)681 2572 -y(pro)r(cedures)37 b(are)g(\014rst)h(class)f(ob)5 b(jects)38 -b(able)f(to)h(capture)g(their)f(creation)g(en)n(vironmen)n(t.)681 -2672 y(This)31 b(language)e(feature)i(is)g(imp)r(ortan)n(t)f(since)h -(it)g(allo)n(ws)d(us)k(to)g(en)n(vision)d(the)j(co)r(ding)f(of)681 -2771 y(in)n(terfaces)21 b Fj(c)l(al)t(lb)l(acks)k Fo(in)d(a)h(clean)f -(w)n(a)n(y)-7 b(.)22 b(In)h(this)f(framew)n(ork,)f(w)n(e)h(ha)n(v)n(e)g -(de\014ned)i Fh(STk)g Fo([3],)f(a)681 2871 y(graphical)g(pac)n(k)-5 -b(age)26 b(based)g(on)h(Tk)g(to)r(olkit)e(where)h(the)i(Tcl)e(language) -e(as)i(b)r(een)i(replaced)681 2971 y(b)n(y)f(a)g(Sc)n(heme)g(in)n -(terpreter.)805 3070 y Fh(STk)32 b Fo(is)e(a)i(small)c(and)k(e\016cien) -n(t)e(Sc)n(heme)h(in)n(terpreter.)f(As)i(Tcl,)e(it)h(is)g(small)d -(enough)681 3170 y(to)f(b)r(e)h(used)g(simply)d(as)h(a)i -Fj(glue)i(language)e Fo(whic)n(h)f(can)g(b)r(e)h(em)n(b)r(edded)f(in)g -(an)g(existing)e(ap-)681 3269 y(plication.)e(F)-7 b(urthermore,)24 -b(the)i(solid)e(basis)h(pro)n(vided)f(b)n(y)i(the)g(Sc)n(heme)f -(language)f(a\013ords)681 3369 y(the)37 b(to)r(ols)e(necessary)g(for)h -(writing,)e(and)i(main)n(taining)c(medium)i(size)i(Graphical)d(User)681 -3469 y(In)n(terfaces)28 b(\(GUI\).)i(Nev)n(ertheless,)e(w)n(e)g(think)h -(the)h(expressiv)n(e)c(p)r(o)n(w)n(er)i(of)i(Sc)n(heme)e(is)g(not)681 -3568 y(su\016cien)n(t)f(to)g(en)n(visage)f(its)h(use)g(for)g -(large-scale)d(soft)n(w)n(are)i(dev)n(elopmen)n(t.)f(In)j(particular,) -681 3668 y(the)e(lac)n(k)f(of)h(an)g(ob)5 b(ject)26 b(mec)n(hanism)d -(increases)h(the)i(programming)21 b(complexit)n(y)i(of)j(large)681 -3768 y(applications.)f Fh(STklos)o Fo(,)30 b(the)f(ob)5 -b(ject)29 b(extension)f(of)h Fh(STk)p Fo(,)g(has)g(b)r(een)h(de\014ned) -f(to)h(allevi-)681 3867 y(ate)24 b(this)g(problem.)d(This)j(extension)f -(pro)n(vides)f(meta)h(classes,)f(m)n(ultiple)f(inheritance)h(and)681 -3967 y(generic)34 b(functions)h Fj(\022)-42 b(a)37 b(la)g -Fo(CLOS)24 b([7,)36 b(15)o(])g(or)e(Dylan)24 b([2].)36 -b Fh(STklos)f Fo(has)g(also)f(b)r(een)i(used)681 4066 -y(to)c(em)n(b)r(o)r(dy)f(the)h(prede\014ned)g(Tk)g(widgets)f(in)g(a)h -(hierarc)n(h)n(y)d(of)j(classes.)e(Usage)h(of)h(these)681 -4166 y(classes)23 b(simpli\014es)e(the)k(core)f(Tk)h(usage)f(b)n(y)g -(pro)n(viding)e(an)j(homogeneous)d(access)i(to)h(wid-)681 -4266 y(get)i(options)g(and)g(b)n(y)h(hiding)e(the)i(Tk)g(widgets)e(lo)n -(w)g(lev)n(el)g(idiosyncrasies.)c(Moreo)n(v)n(er,)j(as)681 -4365 y(exp)r(ected,)34 b(usage)e(of)h(ob)5 b(jects)33 -b(facilitates)d(co)r(de)k(reuse)e(and)i(de\014nition)d(of)j(new)f -(widget-)681 4465 y(s)i(classes.)f(Finally)-7 b(,)33 -b(w)n(e)i(think)g(that)h(the)g(ob)5 b(ject)36 b(orien)n(tation)c(of)k -Fh(STklos)o Fo(,)g(as)f(w)n(ell)e(as)681 4565 y(the)d(solid)d(basis)h -(of)h(the)h(Sc)n(heme)f(programming)24 b(language,)j(a\013ord)i -(therefore)f(the)i(to)r(ols)681 4664 y(necessary)c(to)h(en)n(vision)e -(writing,)g(and)i(main)n(taining,)c(complex)j(GUI.)805 -4764 y(The)h(rest)f(of)h(this)f(pap)r(er)g(is)f(divided)g(in)h(three)h -(sections.)e(The)i(next)f(section)g(presen)n(ts)681 4863 -y(the)31 b Fh(STk)f Fo(pac)n(k)-5 b(age)28 b(and)j(its)e(ob)5 -b(ject)30 b(system.)f(W)-7 b(rapping)29 b(the)i(standard)e(Tk)h -(widgets)f(in)p eop +2028 y Fi({)41 b Fo(already)24 b Fi(de\014ned)p Fo(.)i(This)g(p)r(oin)n +(t)g(is,)g(of)g(course,)f(not)h(mandatory)-7 b(,)25 b(but)h(w)n(e)g +(think)g(that)822 2127 y(it)j(is)f(preferable)f(to)h(use)g(an)g +(existing)g(programming)e(language,)g(if)j(p)r(ossible,)f(rather)822 +2227 y(than)g(de\014ning)f(a)g(new)h(one.)681 2373 y(Sc)n(heme)e([1])h +(is)f(a)g(Lisp)h(dialect)f(whic)n(h)h(satis\014es)f(quite)g(w)n(ell)h +(the)g(previous)e(p)r(oin)n(ts.)i(It)g(is)f(a)681 2472 +y(statically)h(scop)r(ed)h(language)f(with)h(a)g(clear)f(and)h(simple)h +(seman)n(tic.)e(Moreo)n(v)n(er,)f(Sc)n(heme)681 2572 +y(pro)r(cedures)37 b(are)g(\014rst)h(class)g(ob)5 b(jects)38 +b(able)g(to)g(capture)g(their)g(creation)g(en)n(vironmen)n(t.)681 +2672 y(This)32 b(language)e(feature)h(is)h(imp)r(ortan)n(t)g(since)g +(it)g(allo)n(ws)e(us)i(to)g(en)n(vision)f(the)h(co)r(ding)g(of)681 +2771 y(in)n(terfaces)22 b Fj(c)l(al)t(lb)l(acks)j Fo(in)e(a)g(clean)g +(w)n(a)n(y)-7 b(.)22 b(In)h(this)g(framew)n(ork,)f(w)n(e)g(ha)n(v)n(e)g +(de\014ned)i Fh(STk)g Fo([3],)f(a)681 2871 y(graphical)i(pac)n(k)-5 +b(age)26 b(based)g(on)h(Tk)g(to)r(olkit)g(where)f(the)i(Tcl)f(language) +e(as)h(b)r(een)i(replaced)681 2971 y(b)n(y)f(a)g(Sc)n(heme)h(in)n +(terpreter.)805 3070 y Fh(STk)k Fo(is)f(a)h(small)f(and)h(e\016cien)n +(t)f(Sc)n(heme)h(in)n(terpreter.)f(As)h(Tcl,)f(it)h(is)g(small)f +(enough)681 3170 y(to)c(b)r(e)h(used)g(simply)g(as)e(a)i +Fj(glue)i(language)e Fo(whic)n(h)g(can)f(b)r(e)h(em)n(b)r(edded)g(in)g +(an)f(existing)g(ap-)681 3269 y(plication.)f(F)-7 b(urthermore,)25 +b(the)h(solid)g(basis)g(pro)n(vided)f(b)n(y)h(the)g(Sc)n(heme)g +(language)f(a\013ords)681 3369 y(the)37 b(to)r(ols)f(necessary)f(for)h +(writing,)g(and)g(main)n(taining)g(medium)h(size)g(Graphical)e(User)681 +3469 y(In)n(terfaces)28 b(\(GUI\).)i(Nev)n(ertheless,)f(w)n(e)f(think)i +(the)g(expressiv)n(e)d(p)r(o)n(w)n(er)h(of)i(Sc)n(heme)f(is)g(not)681 +3568 y(su\016cien)n(t)f(to)f(en)n(visage)g(its)h(use)f(for)g +(large-scale)f(soft)n(w)n(are)g(dev)n(elopmen)n(t.)h(In)h(particular,) +681 3668 y(the)e(lac)n(k)g(of)g(an)g(ob)5 b(ject)26 b(mec)n(hanism)g +(increases)f(the)h(programming)e(complexit)n(y)i(of)g(large)681 +3768 y(applications.)34 b Fh(STklos)o Fo(,)i(the)g(ob)5 +b(ject)35 b(extension)g(of)g Fh(STk)p Fo(,)g(has)g(b)r(een)h(de\014ned) +f(to)g(alle-)681 3867 y(viate)f(this)h(problem.)f(This)g(extension)g +(pro)n(vides)f(meta)i(classes,)e(m)n(ultiple)i(inheritance)681 +3967 y(and)j(generic)f(functions)h Fj(\022)-42 b(a)40 +b(la)f Fo(CLOS)24 b([7,)38 b(15)o(])g(or)g(Dylan)25 b([2)o(].)38 +b Fh(STklos)g Fo(has)f(also)g(b)r(een)681 4066 y(used)d(to)f(em)n(b)r +(o)r(dy)h(the)g(prede\014ned)g(Tk)g(widgets)f(in)h(a)g(hierarc)n(h)n(y) +e(of)h(classes.)g(Usage)g(of)681 4166 y(these)22 b(classes)g +(simpli\014es)h(the)g(core)e(Tk)i(usage)e(b)n(y)i(pro)n(viding)e(an)i +(homogeneous)d(access)i(to)681 4266 y(widget)j(options)g(and)g(b)n(y)g +(hiding)h(the)f(Tk)h(widgets)f(lo)n(w)f(lev)n(el)h(idiosyncrasies.)e +(Moreo)n(v)n(er,)681 4365 y(as)33 b(exp)r(ected,)h(usage)e(of)i(ob)5 +b(jects)33 b(facilitates)h(co)r(de)f(reuse)g(and)g(de\014nition)i(of)e +(new)h(wid-)681 4465 y(gets)27 b(classes.)e(Finally)-7 +b(,)28 b(w)n(e)f(think)g(that)h(the)f(ob)5 b(ject)27 +b(orien)n(tation)f(of)h Fh(STklos)p Fo(,)g(as)f(w)n(ell)h(as)681 +4565 y(the)j(solid)f(basis)g(of)g(the)h(Sc)n(heme)g(programming)d +(language,)h(a\013ord)h(therefore)f(the)i(to)r(ols)681 +4664 y(necessary)c(to)h(en)n(vision)g(writing,)g(and)g(main)n(taining,) +g(complex)h(GUI.)805 4764 y(The)f(rest)f(of)h(this)g(pap)r(er)f(is)g +(divided)h(in)g(three)g(sections.)f(The)h(next)f(section)h(presen)n(ts) +681 4863 y(the)k Fh(STk)f Fo(pac)n(k)-5 b(age)28 b(and)j(its)f(ob)5 +b(ject)30 b(system.)g(W)-7 b(rapping)30 b(the)h(standard)e(Tk)h +(widgets)g(in)p eop %%Page: 3 3 -3 2 bop 365 387 a Fh(STklos)28 b Fo(classes)e(and)i(the)h(in\015uence)e -(of)i(this)e(in)n(tegration)e(in)j(in)n(terfaces)e(programming)365 -487 y(are)40 b(describ)r(ed)g(in)g(section)f(3.)i Fh(STklos)f -Fo(implemen)n(tation)c(relies)i(on)j(a)f(MOP)g(\(Meta)365 -587 y(Ob)5 b(ject)21 b(Proto)r(col\),)e(in)h(the)i(spirit)d(of)i(the)h -(one)f(de\014ned)g(for)g(CLOS)j([6].)d(Section)f(4)h(presen)n(ts)365 -686 y(this)27 b(proto)r(col)f(and)i(ho)n(w)f(it)g(has)g(b)r(een)i(used) -e(to)h(in)n(tegrate)e(the)i(Tk)g(standard)f(widgets)f(in)365 -786 y(the)i(Sc)n(heme)f(w)n(orld.)365 1067 y Fk(2)112 -b(Presen)m(tation)38 b(of)g Fg(STklos)365 1278 y Fo(Programming)24 -b(with)29 b Fh(STk)h Fo(can)f(b)r(e)h(done)g(at)f(t)n(w)n(o)g(distinct) -f(lev)n(els.)f(The)j(\014rst)f(lev)n(el)f(uses)365 1378 -y(only)19 b(the)i(standard)f(Sc)n(heme)f(constructs)h(and)g(is)f(quite) -h(classical.)c(The)21 b(second)e(lev)n(el)f(giv)n(es)365 +3 2 bop 365 387 a Fh(STklos)28 b Fo(classes)f(and)h(the)h(in\015uence)f +(of)h(this)f(in)n(tegration)f(in)i(in)n(terfaces)e(programming)365 +487 y(are)40 b(describ)r(ed)h(in)g(section)f(3.)h Fh(STklos)f +Fo(implemen)n(tation)h(relies)f(on)h(a)f(MOP)g(\(Meta)365 +587 y(Ob)5 b(ject)21 b(Proto)r(col\),)f(in)h(the)h(spirit)f(of)g(the)h +(one)f(de\014ned)g(for)g(CLOS)j([6].)d(Section)g(4)g(presen)n(ts)365 +686 y(this)28 b(proto)r(col)f(and)h(ho)n(w)f(it)h(has)f(b)r(een)i(used) +e(to)h(in)n(tegrate)f(the)h(Tk)g(standard)f(widgets)g(in)365 +786 y(the)h(Sc)n(heme)g(w)n(orld.)365 1067 y Fk(2)112 +b(Presen)m(tation)37 b(of)h Fg(STklos)365 1278 y Fo(Programming)27 +b(with)j Fh(STk)g Fo(can)f(b)r(e)h(done)g(at)f(t)n(w)n(o)g(distinct)h +(lev)n(els.)f(The)h(\014rst)f(lev)n(el)h(uses)365 1378 +y(only)20 b(the)h(standard)f(Sc)n(heme)g(constructs)g(and)g(is)g(quite) +h(classical.)e(The)i(second)e(lev)n(el)h(giv)n(es)365 1478 y(access)27 b(to)g Fh(STklos)o Fo(,)h(the)g(ob)5 -b(ject)28 b(orien)n(ted)d(extension)i(of)g Fh(STk)p Fo(.)h(Of)f +b(ject)28 b(orien)n(ted)e(extension)i(of)f Fh(STk)p Fo(.)h(Of)f (course,)g(b)r(oth)h(lev)n(els)365 1577 y(can)j(b)r(e)g(used)g(at)g -(the)g(same)e(time)h(in)g(a)h(single)d(program.)g(Ho)n(w)n(ev)n(er,)h -(most)h(of)g(the)i(time,)365 1677 y(one)22 b(will)e(use)i(the)h(higher) -e(lev)n(el,)f(resorting)g(to)i(the)h(lo)n(w)n(er)d(one)i(for)g(sp)r -(eci\014c)g(purp)r(oses)g(only)-7 b(.)365 1938 y Fi(2.1)95 +(the)g(same)f(time)i(in)f(a)g(single)f(program.)f(Ho)n(w)n(ev)n(er,)g +(most)i(of)f(the)i(time,)365 1677 y(one)22 b(will)h(use)f(the)h(higher) +f(lev)n(el,)g(resorting)f(to)h(the)h(lo)n(w)n(er)e(one)h(for)g(sp)r +(eci\014c)h(purp)r(oses)f(only)-7 b(.)365 1938 y Fi(2.1)95 b Fh(STk)p Fi(:)31 b(the)h(Basic)f(La)m(y)m(er)365 2116 -y Fo(Starting)23 b(a)h(session)e(with)i Fh(STk)g Fo(brings)f(the)i -(user)e(in)h(the)h(basic)d(la)n(y)n(er)g(whic)n(h)h(giv)n(es)f(access) -365 2216 y(to)31 b(an)f(extended)h(Sc)n(heme)e(in)n(terpreter)f(able)i -(to)g(handle)f(the)i(Tk)g(to)r(olkit.)d(With)i(a)h(little)365 -2316 y(set)25 b(of)f(rewriting)d(rules)i(from)g(the)h(original)c -(Tcl/Tk)j(library)-7 b(,)21 b(and)j(the)h(Tk)f(man)n(ual)d(pages)365 -2415 y(close)26 b(at)i(hand,)f(one)g(can)h(easily)c(build)j(a)g -Fh(STk)g Fo(program)e(using)h(the)i(Tk)f(to)r(olkit.)490 -2517 y(Creation)f(of)i(new)g(widgets)f(\(button,)i(lab)r(el,)d(can)n(v) --5 b(as,)27 b(.)14 b(.)g(.)g(\))28 b(is)f(done)h(b)n(y)g(sp)r(ecial)d -Fh(STk)365 2617 y Fo(primitiv)n(es)i(pro)r(cedures.)j(F)-7 -b(or)31 b(instance,)f(creating)f(a)i(new)g(button)h(can)e(b)r(e)i(done) +y Fo(Starting)24 b(a)g(session)f(with)i Fh(STk)f Fo(brings)g(the)h +(user)e(in)i(the)g(basic)e(la)n(y)n(er)g(whic)n(h)h(giv)n(es)f(access) +365 2216 y(to)31 b(an)f(extended)h(Sc)n(heme)f(in)n(terpreter)f(able)i +(to)f(handle)g(the)h(Tk)g(to)r(olkit.)f(With)h(a)g(little)365 +2316 y(set)25 b(of)f(rewriting)f(rules)h(from)g(the)g(original)f +(Tcl/Tk)h(library)-7 b(,)23 b(and)h(the)h(Tk)f(man)n(ual)f(pages)365 +2415 y(close)k(at)h(hand,)f(one)g(can)h(easily)e(build)j(a)e +Fh(STk)g Fo(program)f(using)h(the)h(Tk)f(to)r(olkit.)490 +2517 y(Creation)g(of)h(new)g(widgets)g(\(button,)h(lab)r(el,)f(can)n(v) +-5 b(as,)27 b(.)14 b(.)g(.)g(\))28 b(is)g(done)g(b)n(y)g(sp)r(ecial)f +Fh(STk)365 2617 y Fo(primitiv)n(es)k(pro)r(cedures.)f(F)-7 +b(or)31 b(instance,)g(creating)f(a)h(new)g(button)h(can)e(b)r(e)i(done) f(as)g(fol-)365 2717 y(lo)n(w)n(ed)506 2884 y Ff(\(button)41 -b('.b\))365 3058 y Fo(Tk)21 b(uses)f(a)g(v)n(ery)f(sp)r(ecial)f(w)n(a)n -(y)h(to)i(name)e(widgets:)g(a)h(widget)g(name)f(is)g(a)h(kind)g(of)g -(pathname)365 3157 y(whic)n(h)k(re\015ects)g(its)g(p)r(osition)e(in)i -(the)h(graphical)c(hierarc)n(h)n(y)g(of)k(widgets.)e(In)i(this)f -(example,)365 3257 y(the)i(name)f(of)g(the)h(newly)f(created)g(button)h -(is)e(\\)p Fe(.b)p Fo(".)g(This)h(pathname)f(states)h(that)h(\\)p +b('.b\))365 3058 y Fo(Tk)21 b(uses)f(a)g(v)n(ery)f(sp)r(ecial)h(w)n(a)n +(y)f(to)i(name)f(widgets:)g(a)g(widget)h(name)f(is)g(a)g(kind)h(of)f +(pathname)365 3157 y(whic)n(h)25 b(re\015ects)f(its)h(p)r(osition)f(in) +h(the)g(graphical)e(hierarc)n(h)n(y)f(of)j(widgets.)f(In)h(this)g +(example,)365 3257 y(the)h(name)g(of)f(the)h(newly)g(created)f(button)h +(is)f(\\)p Fe(.b)p Fo(".)f(This)i(pathname)f(states)g(that)h(\\)p Fe(b)p Fo(")e(is)365 3356 y(a)g(son)g(of)h(\\)p Fe(.)p -Fo(",)e(the)h(ro)r(ot)g(windo)n(w.)f(Note)i(that)f(the)h(name)e(of)i -(the)f(widget)g(m)n(ust)f(b)r(e)i Fj(quote)l(d)365 3456 -y Fo(due)j(to)g(the)g(Sc)n(heme)e(ev)-5 b(aluation)25 -b(mec)n(hanism.)490 3558 y(Calling)31 b(a)k(widget)f(creation)f -(primitiv)n(e,)e(suc)n(h)j(as)h Fe(button)p Fo(,)d(builds)i(a)g(new)h -(Sc)n(heme)365 3658 y(ob)5 b(ject)40 b(whic)n(h)f(is)g(called)e(a)j -Fj(Tk-c)l(ommand)p Fo(.)h(This)e(ob)5 b(ject,)40 b(whic)n(h)f(is)f -(considered)g(as)i(a)365 3757 y(new)e(basic)e(t)n(yp)r(e)h(b)n(y)h(the) -f Fh(STk)h Fo(in)n(terpreter,)d(is)i(automatically)32 -b(stored)37 b(in)f(a)h(v)-5 b(ariable)365 3857 y(whose)34 -b(name)g(is)g(the)h(sym)n(b)r(ol)d(giv)n(en)h(to)i(the)g(creation)e -(function)h(\()p Fe(.b)g Fo(in)h(this)f(case\).)g(A)365 -3957 y(Tk-command)23 b(is)h(a)g(sp)r(ecial)f(kind)i(of)g(function)g -(whic)n(h)f(is)g(generally)e(used,)j(as)f(in)h(Tcl/Tk,)365 -4056 y(to)j(customize)d(its)i(asso)r(ciated)e(widget.)i(F)-7 -b(or)27 b(instance,)f(the)i(expression)506 4224 y Ff(\(.b)40 -b('configure)i(:text)e("Hello,)h(world")g(:border)f(3\))365 -4397 y Fo(allo)n(ws)22 b(us)j(to)g(set)h(the)f(text)h(and)f(bac)n -(kground)e(options)h(of)h(the)g Fe(.b)g Fo(button.)h(Of)f(course,)f(as) -365 4497 y(in)j(Tcl/Tk,)g(parameters)e(can)i(b)r(e)i(passed)e(at)g -(widget)g(creation)f(time,)g(and)i(the)g(previous)365 -4596 y(button)33 b(creation)c(and)j(initializatio)o(n)26 -b(could)31 b(ha)n(v)n(e)f(b)r(een)j(done)e(in)g(a)g(single)f -(expression,)365 4696 y(suc)n(h)e(as)506 4863 y Ff(\(button)41 -b('.b)f(:text)h("Hello,)f(world")h(:border)g(3\))p eop +Fo(",)e(the)h(ro)r(ot)g(windo)n(w.)g(Note)h(that)f(the)h(name)f(of)h +(the)f(widget)h(m)n(ust)f(b)r(e)h Fj(quote)l(d)365 3456 +y Fo(due)j(to)g(the)g(Sc)n(heme)f(ev)-5 b(aluation)27 +b(mec)n(hanism.)490 3558 y(Calling)34 b(a)h(widget)g(creation)f +(primitiv)n(e,)h(suc)n(h)f(as)h Fe(button)p Fo(,)d(builds)k(a)e(new)h +(Sc)n(heme)365 3658 y(ob)5 b(ject)40 b(whic)n(h)g(is)g(called)f(a)h +Fj(Tk-c)l(ommand)p Fo(.)h(This)f(ob)5 b(ject,)40 b(whic)n(h)g(is)f +(considered)g(as)h(a)365 3757 y(new)e(basic)f(t)n(yp)r(e)g(b)n(y)h(the) +f Fh(STk)h Fo(in)n(terpreter,)e(is)i(automatically)e(stored)h(in)g(a)g +(v)-5 b(ariable)365 3857 y(whose)34 b(name)h(is)g(the)g(sym)n(b)r(ol)f +(giv)n(en)g(to)h(the)g(creation)f(function)h(\()p Fe(.b)f +Fo(in)i(this)f(case\).)f(A)365 3957 y(Tk-command)25 b(is)g(a)f(sp)r +(ecial)h(kind)h(of)f(function)h(whic)n(h)f(is)g(generally)f(used,)h(as) +f(in)i(Tcl/Tk,)365 4056 y(to)i(customize)f(its)h(asso)r(ciated)e +(widget.)i(F)-7 b(or)27 b(instance,)g(the)h(expression)506 +4224 y Ff(\(.b)40 b('configure)i(:text)e("Hello,)h(world")g(:border)f +(3\))365 4397 y Fo(allo)n(ws)24 b(us)h(to)g(set)h(the)f(text)h(and)f +(bac)n(kground)e(options)i(of)g(the)g Fe(.b)g Fo(button.)h(Of)f +(course,)f(as)365 4497 y(in)k(Tcl/Tk,)g(parameters)e(can)h(b)r(e)i +(passed)e(at)g(widget)h(creation)f(time,)h(and)g(the)g(previous)365 +4596 y(button)33 b(creation)d(and)i(initialization)f(could)h(ha)n(v)n +(e)e(b)r(een)j(done)e(in)h(a)f(single)h(expression,)365 +4696 y(suc)n(h)c(as)506 4863 y Ff(\(button)41 b('.b)f(:text)h("Hello,)f +(world")h(:border)g(3\))p eop %%Page: 4 4 -4 3 bop 805 387 a Fo(Tk)34 b(prop)r(oses)f(a)h(general)e(purp)r(ose)i -(binding)e(mec)n(hanism)f(to)j(asso)r(ciate)e(a)i(handlers)681 -487 y(to)e(an)g(external)e(ev)n(en)n(t)i(\()p Fj(e.g.)i -Fo(a)e(k)n(ey)f(press)h(or)f(a)h(mouse)f(action\).)g(An)h(ev)n(en)n(t)g -(handler)f(is)681 587 y(automatically)26 b(triggered)i(b)n(y)j(the)g -(library)d(when)j(the)h(giv)n(en)d(ev)n(en)n(t)i(o)r(ccurs.)f(In)h -(Tcl,)f(an)681 686 y(ev)n(en)n(t)d(handler)f(is)h(a)g(string)f(whic)n -(h)g(is)h(ev)-5 b(aluated)26 b(at)i(the)g(global)c(lev)n(el,)i(whereas) -g(in)h Fh(STk)681 786 y Fo(it)d(is)f(a)h(Sc)n(heme)g(closure.)e(The)j -(follo)n(wing)20 b(expression)i(adds)i(a)g(new)h(ev)n(en)n(t)f(handler) -f(to)h(the)681 886 y Fe(.b)j Fo(button)h(when)g(the)g(third)e(mouse)g -(button)j(is)d(depressed)h(o)n(v)n(er)f(it:)822 1053 +4 3 bop 805 387 a Fo(Tk)34 b(prop)r(oses)f(a)h(general)f(purp)r(ose)h +(binding)g(mec)n(hanism)g(to)g(asso)r(ciate)f(a)h(handlers)681 +487 y(to)e(an)g(external)f(ev)n(en)n(t)h(\()p Fj(e.g.)i +Fo(a)e(k)n(ey)f(press)h(or)f(a)h(mouse)g(action\).)g(An)g(ev)n(en)n(t)g +(handler)g(is)681 587 y(automatically)e(triggered)f(b)n(y)i(the)g +(library)f(when)h(the)h(giv)n(en)e(ev)n(en)n(t)h(o)r(ccurs.)f(In)h +(Tcl,)g(an)681 686 y(ev)n(en)n(t)c(handler)g(is)h(a)f(string)g(whic)n +(h)g(is)h(ev)-5 b(aluated)27 b(at)h(the)g(global)e(lev)n(el,)i(whereas) +e(in)i Fh(STk)681 786 y Fo(it)d(is)f(a)g(Sc)n(heme)h(closure.)e(The)i +(follo)n(wing)e(expression)g(adds)h(a)g(new)h(ev)n(en)n(t)f(handler)g +(to)g(the)681 886 y Fe(.b)j Fo(button)h(when)g(the)g(third)f(mouse)g +(button)i(is)e(depressed)g(o)n(v)n(er)f(it:)822 1053 y Ff(\(bind)40 b(.b)g("")1057 1145 y(\(let)g(\(\(count)h (0\)\))1136 1236 y(\(lambda)g(\(\))1214 1327 y(\(set!)g(count)f(\(+)g (count)g(1\)\))1214 1419 y(\(format)h(#t)f("#)f(of)h(button)h(press:)f -(~A~\045")h(count\)\)\)\))805 1592 y Fo(This)23 b(simple)e(example)g -(sho)n(ws)h(that)i Fh(STk)f Fo(handlers)f(are)h(cleaner)e(than)j(Tcl)e -(ones:)h(the)681 1692 y(standard)j(Sc)n(heme)g(lexical)d(scoping)i -(allo)n(ws)e(a)k(handler)e(to)i(ha)n(v)n(e)f(its)g(o)n(wn)g(priv)-5 -b(ate)26 b(global)681 1791 y(v)-5 b(ariables)19 b(\(as)j -Fe(count)f Fo(here\);)h(on)g(the)h(other)f(hand,)h(a)f(Tcl)f(handler)g -(is)g(a)i(\015at)f(string)f(unable)681 1891 y(to)27 b(carry)f(an)h(en)n -(vironmen)n(t.)805 1993 y(Ev)n(en)j(if)h(closures)e(a\013ord)h(a)g(b)r -(etter)i(expressiv)n(e)c(p)r(o)n(w)n(er)i(for)g(writing)f(ev)n(en)n(t)i -(handlers)681 2093 y(than)f(Tcl)g(strings,)f(programming)c(an)30 -b(in)n(terface)f(resorting)f(only)h(to)i(the)g(constructions)681 -2192 y(of)f(the)g(basic)f(la)n(y)n(er)e(b)r(ecomes)i(rapidly)f -(tedious.)h(In)h(fact,)g(the)h Fh(STk)f Fo(basic)e(la)n(y)n(er)g(can)h -(b)r(e)681 2292 y(considered)j(as)i(a)f(kind)h(of)g Fj(assembly)j -(language)e Fo(for)f(in)n(terfaces)e(programming)d(and)34 -b(w)n(e)681 2392 y(will)27 b(see)j(in)g(section)23 b(3)30 -b(ho)n(w)g(it)g(can)g(b)r(e)g(used)h(for)f(the)g Fj(r)l(ei\014c)l -(ation)h Fo(of)g(the)f(Tk)g(widgets)f(in)681 2491 y Fh(STklos)e -Fo(classes.)681 2753 y Fi(2.2)94 b Fh(STk)p Fi(:)31 b(the)h(Ob)5 -b(ject)33 b(La)m(y)m(er)681 2931 y Fh(STklos)o Fo(,)k(the)h(ob)5 -b(ject)37 b(extension)f(of)h Fh(STk)p Fo(,)h(is)e(close)f(to)j(the)f -(CLOS)g(system)24 b([7];)37 b(it)g(is)681 3031 y(brie\015y)17 -b(in)n(tro)r(duced)g(in)h(this)g(section.)g(Note)g(that)h(w)n(e)f -(consider)f(only)g(the)i(language)d(asp)r(ects)681 3131 -y(of)27 b Fh(STklos)g Fo(here)g(and)g(w)n(e)g(forget)g(its)f(use)h(for) -g(in)n(tegrating)d(the)k(Tk)f(to)r(olkit)f(for)h(a)g(while.)805 -3233 y(De\014nition)21 b(of)i(a)f(new)g(class)f(is)g(done)h(with)g(the) -h Fe(define-class)17 b Fo(macro.)j(F)-7 b(or)22 b(instance,)822 +(~A~\045")h(count\)\)\)\))805 1592 y Fo(This)24 b(simple)g(example)f +(sho)n(ws)f(that)i Fh(STk)f Fo(handlers)g(are)g(cleaner)f(than)i(Tcl)f +(ones:)g(the)681 1692 y(standard)j(Sc)n(heme)h(lexical)f(scoping)g +(allo)n(ws)f(a)i(handler)f(to)h(ha)n(v)n(e)f(its)h(o)n(wn)f(priv)-5 +b(ate)27 b(global)681 1791 y(v)-5 b(ariables)21 b(\(as)h +Fe(count)f Fo(here\);)h(on)g(the)h(other)f(hand,)h(a)f(Tcl)g(handler)g +(is)g(a)h(\015at)f(string)g(unable)681 1891 y(to)27 b(carry)f(an)h(en)n +(vironmen)n(t.)805 1993 y(Ev)n(en)j(if)i(closures)e(a\013ord)g(a)g(b)r +(etter)i(expressiv)n(e)d(p)r(o)n(w)n(er)h(for)g(writing)h(ev)n(en)n(t)g +(handlers)681 2093 y(than)f(Tcl)h(strings,)f(programming)e(an)i(in)n +(terface)g(resorting)f(only)h(to)h(the)g(constructions)681 +2192 y(of)f(the)g(basic)g(la)n(y)n(er)e(b)r(ecomes)i(rapidly)g +(tedious.)g(In)g(fact,)g(the)h Fh(STk)f Fo(basic)f(la)n(y)n(er)g(can)g +(b)r(e)681 2292 y(considered)k(as)h(a)f(kind)i(of)f Fj(assembly)j +(language)e Fo(for)f(in)n(terfaces)f(programming)f(and)i(w)n(e)681 +2392 y(will)c(see)g(in)h(section)24 b(3)30 b(ho)n(w)g(it)h(can)f(b)r(e) +g(used)h(for)f(the)g Fj(r)l(ei\014c)l(ation)h Fo(of)g(the)f(Tk)g +(widgets)g(in)681 2491 y Fh(STklos)d Fo(classes.)681 +2753 y Fi(2.2)94 b Fh(STk)p Fi(:)31 b(the)h(Ob)5 b(ject)33 +b(La)m(y)m(er)681 2931 y Fh(STklos)o Fo(,)k(the)h(ob)5 +b(ject)37 b(extension)g(of)g Fh(STk)p Fo(,)h(is)f(close)f(to)i(the)f +(CLOS)g(system)25 b([7];)37 b(it)h(is)681 3031 y(brie\015y)18 +b(in)n(tro)r(duced)g(in)h(this)g(section.)g(Note)f(that)h(w)n(e)f +(consider)g(only)g(the)h(language)e(asp)r(ects)681 3131 +y(of)27 b Fh(STklos)g Fo(here)g(and)g(w)n(e)g(forget)g(its)g(use)g(for) +g(in)n(tegrating)f(the)i(Tk)f(to)r(olkit)h(for)f(a)g(while.)805 +3233 y(De\014nition)c(of)g(a)f(new)g(class)g(is)g(done)g(with)h(the)g +Fe(define-class)17 b Fo(macro.)k(F)-7 b(or)22 b(instance,)822 3400 y Ff(\(define-class)42 b(Point)e(\(\))940 3492 y(\(\(x)g (:init-keyword)i(:x)d(:accessor)j(x-of\))979 3583 y(\(y)e (:init-keyword)i(:y)d(:accessor)j(y-of\)\)\))681 3757 -y Fo(de\014nes)f(the)g(c)n(haracteristics)c(of)k(a)f(p)r(oin)n(t.)g(Tw) -n(o)h(slots)e(are)h(declared)f(here:)i Fe(x)f Fo(and)h -Fe(y)p Fo(.)681 3856 y(Creation)25 b(of)j(new)g(instances)e(is)g(done)h -(with)h(the)g Fe(make)e Fo(constructor:)822 4024 y Ff(\(define)41 +y Fo(de\014nes)f(the)g(c)n(haracteristics)e(of)i(a)f(p)r(oin)n(t.)h(Tw) +n(o)g(slots)f(are)g(declared)g(here:)h Fe(x)f Fo(and)h +Fe(y)p Fo(.)681 3856 y(Creation)26 b(of)i(new)g(instances)f(is)g(done)g +(with)i(the)f Fe(make)e Fo(constructor:)822 4024 y Ff(\(define)41 b(p)e(\(make)i(Point)f(:x)g(10)f(:y)h(20\)\))681 4198 -y Fo(The)27 b(ev)-5 b(aluation)24 b(of)k(the)f(preceding)f(form)f -(builds)h(a)g(new)i(p)r(oin)n(t)e(and)h(initializes)22 -b(its)k(slots)681 4297 y Fe(x)d Fo(and)h Fe(y)g Fo(with)f(the)i(v)-5 -b(alues)22 b(10)h(and)h(20.)f(Slot)g(con)n(ten)n(t)h(can)f(b)r(e)h -(accessed)f(b)n(y)h(the)g(t)n(w)n(o)f(basic)681 4397 -y(primitiv)n(es)28 b Fe(slot-ref)i Fo(and)i Fe(slot-set!)p -Fo(.)d(These)k(primitiv)n(es)28 b(are)k(lo)n(w)f(lev)n(el)f(primitiv)n -(es)681 4496 y(and)20 b(users)g(often)g(prefer)g(to)g(use)h(accessors,) -d(since)h(they)i(generally)c(lead)i(to)h(a)g(clearer)e(co)r(de.)681 -4596 y(F)-7 b(or)28 b(instance,)g(getting)f(the)j(v)-5 -b(alue)27 b(of)i(the)g Fe(y)g Fo(slot)f(of)g Fe(p)h Fo(could)f(b)r(e)h -(done)f(in)h(the)g(follo)n(wing)681 4696 y(w)n(a)n(y:)822 -4863 y Ff(\(y-of)40 b(p\))656 b Fd(;)27 b(or)h(\(slot-r)l(ef)h(p)f -('y\))p eop +y Fo(The)27 b(ev)-5 b(aluation)26 b(of)i(the)f(preceding)g(form)f +(builds)i(a)e(new)i(p)r(oin)n(t)f(and)g(initializes)g(its)g(slots)681 +4297 y Fe(x)c Fo(and)h Fe(y)g Fo(with)g(the)h(v)-5 b(alues)23 +b(10)g(and)h(20.)f(Slot)h(con)n(ten)n(t)g(can)f(b)r(e)h(accessed)f(b)n +(y)h(the)g(t)n(w)n(o)f(basic)681 4397 y(primitiv)n(es)32 +b Fe(slot-ref)e Fo(and)i Fe(slot-set!)p Fo(.)d(These)k(primitiv)n(es)f +(are)g(lo)n(w)g(lev)n(el)g(primitiv)n(es)681 4496 y(and)20 +b(users)g(often)g(prefer)g(to)g(use)h(accessors,)d(since)i(they)h +(generally)e(lead)h(to)g(a)g(clearer)f(co)r(de.)681 4596 +y(F)-7 b(or)28 b(instance,)h(getting)f(the)i(v)-5 b(alue)28 +b(of)h(the)g Fe(y)g Fo(slot)g(of)f Fe(p)h Fo(could)g(b)r(e)g(done)f(in) +i(the)f(follo)n(wing)681 4696 y(w)n(a)n(y:)822 4863 y +Ff(\(y-of)40 b(p\))656 b Fd(;)27 b(or)h(\(slot-r)l(ef)h(p)f('y\))p +eop %%Page: 5 5 -5 4 bop 365 387 a Fo(since)29 b(the)h Fe(y-of)e Fo(accessor)f(has)i(b)r -(een)i(de\014ned)f(for)f(slot)f Fe(y)p Fo(.)h(This)g(slot)f(can)i(b)r -(e)g(set)g(b)n(y)f(the)365 487 y(generalized)24 b Fe(set!)i -Fo(form,)h(as)g(illustrated)d(b)n(y)j(the)h(follo)n(wing)c(example:)506 +5 4 bop 365 387 a Fo(since)30 b(the)g Fe(y-of)e Fo(accessor)f(has)i(b)r +(een)i(de\014ned)f(for)f(slot)g Fe(y)p Fo(.)g(This)h(slot)f(can)h(b)r +(e)g(set)g(b)n(y)f(the)365 487 y(generalized)d Fe(set!)g +Fo(form,)i(as)f(illustrated)g(b)n(y)g(the)h(follo)n(wing)f(example:)506 646 y Ff(\(set!)41 b(\(y-of)f(p\))g(1\))302 b Fd(;)27 b(or)h(\(slot-set!)i(p)e('y)f(1\))365 813 y Fo(No)n(w,)g(w)n(e)h(can)f -(de\014ne)h(the)g Fe(Rectangle)c Fo(class)h(whic)n(h)i(inherits)e(from) -i(the)h Fe(Point)d Fo(class:)506 972 y Ff(\(define-class)43 +(de\014ne)h(the)g Fe(Rectangle)c Fo(class)i(whic)n(h)i(inherits)f(from) +h(the)g Fe(Point)d Fo(class:)506 972 y Ff(\(define-class)43 b(Rectangle)e(\(Point\))585 1063 y(\(\(width)80 b(:init-keyword)42 b(:width)80 b(:accessor)41 b(width-of\))624 1155 y(\(height)g (:init-keyword)h(:height)f(:accessor)g(height-of\)\)\))365 -1322 y Fo(The)30 b(instances)e(of)h(this)g(class)f(ha)n(v)n(e)g(four)h -(slots)f(\()p Fe(x)p Fo(,)i Fe(y)p Fo(,)f Fe(width)f +1322 y Fo(The)30 b(instances)f(of)g(this)h(class)f(ha)n(v)n(e)f(four)h +(slots)g(\()p Fe(x)p Fo(,)h Fe(y)p Fo(,)f Fe(width)f Fo(and)h Fe(height)p Fo(\).)f(Metho)r(ds)3210 1292 y -Fc(1)365 1421 y Fo(de\014ned)37 b(for)f(instances)e(of)i(the)h -Fe(Point)d Fo(class)h(can)g(also)g(b)r(e)h(used)g(for)g(instances)f(of) -h(the)365 1521 y Fe(Rectangle)22 b Fo(class.)i(F)-7 b(or)25 -b(example,)e(the)j Fe(x)f Fo(co)r(ordinate)e(of)j(a)f +Fc(1)365 1421 y Fo(de\014ned)37 b(for)f(instances)f(of)h(the)h +Fe(Point)d Fo(class)i(can)f(also)h(b)r(e)g(used)g(for)g(instances)g(of) +g(the)365 1521 y Fe(Rectangle)22 b Fo(class.)j(F)-7 b(or)25 +b(example,)g(the)h Fe(x)f Fo(co)r(ordinate)f(of)i(a)f Fe(Rectangle)c Fo(can)26 b(b)r(e)f(accessed)365 1621 -y(with)i(the)h(accessor)e(metho)r(d)h Fe(x-of)f Fo(de\014ned)i(b)r -(efore.)490 1721 y(Previous)20 b(class)g(de\014nition)h(represen)n(ts)g -(rectangles)g(with)h(a)g(reference)g(p)r(oin)n(t,)f(a)i(width)365 -1820 y(and)k(a)f(heigh)n(t.)f(This)g(represen)n(tation)f(for)i -(rectangles)e(is,)i(most)f(of)h(the)h(time,)e(con)n(v)n(enien)n(t)365 -1920 y(but)33 b(w)n(e)e(sometimes)d(need)k(a)f(represen)n(tation)e -(using)h(the)i(co)r(ordinates)d(of)j(t)n(w)n(o)f(opp)r(osite)365 +y(with)j(the)g(accessor)e(metho)r(d)i Fe(x-of)e Fo(de\014ned)i(b)r +(efore.)490 1721 y(Previous)21 b(class)g(de\014nition)i(represen)n(ts)e +(rectangles)h(with)h(a)f(reference)g(p)r(oin)n(t,)g(a)h(width)365 +1820 y(and)k(a)f(heigh)n(t.)g(This)g(represen)n(tation)f(for)h +(rectangles)f(is,)i(most)f(of)g(the)h(time,)g(con)n(v)n(enien)n(t)365 +1920 y(but)33 b(w)n(e)e(sometimes)g(need)h(a)f(represen)n(tation)f +(using)h(the)h(co)r(ordinates)e(of)i(t)n(w)n(o)f(opp)r(osite)365 2019 y(corners.)e(In)h(that)g(case,)g Fj(virtual)i(slots)f -Fo(can)e(b)r(e)i(used.)f(A)g(virtual)e(slot)h(is)g(a)h(slot)e(whic)n(h) -h(is)365 2119 y(de\014ned)j(as)f(a)h(normal)c(slot)j(but)h(whose)f -(allo)r(cation)d(is)i(declared)g(as)h Fe(:virtual)p Fo(.)e(Suc)n(h)j(a) -365 2219 y(slot)c(has)g(a)g(n)n(ull)f(allo)r(cation)e(and)k(its)f -(reading)e(\(resp.)j(writing\))d(pro)n(v)n(ok)n(es)g(the)k(execution) -365 2318 y(of)24 b(a)g(getter)g(\(resp.)g(setter\))g(function)g(whic)n -(h)f(m)n(ust)g(b)r(e)i(pro)n(vided)d(b)n(y)i(the)g(user)g(within)f(the) -365 2418 y(class)i(de\014nition.)f(The)j(getter)e(and)h(setter)g -(functions)g(are)f(de\014ned)i(with)e(the)i Fe(:slot-ref)365 -2518 y Fo(and)k Fe(:slot-set!)26 b Fo(options.)j(Here)h(is)f(another)g -(writing)f(of)j(the)f Fe(Rectangle)d Fo(class)i(using)365 -2617 y(virtual)c(slots:)506 2793 y Ff(\(define-class)43 +Fo(can)e(b)r(e)i(used.)f(A)g(virtual)g(slot)g(is)g(a)g(slot)f(whic)n(h) +h(is)365 2119 y(de\014ned)i(as)f(a)h(normal)e(slot)i(but)g(whose)f +(allo)r(cation)g(is)g(declared)g(as)g Fe(:virtual)p Fo(.)e(Suc)n(h)j(a) +365 2219 y(slot)d(has)f(a)g(n)n(ull)h(allo)r(cation)f(and)h(its)g +(reading)e(\(resp.)i(writing\))f(pro)n(v)n(ok)n(es)e(the)k(execution) +365 2318 y(of)24 b(a)g(getter)g(\(resp.)g(setter\))g(function)h(whic)n +(h)f(m)n(ust)g(b)r(e)h(pro)n(vided)e(b)n(y)h(the)g(user)g(within)h(the) +365 2418 y(class)h(de\014nition.)g(The)h(getter)e(and)h(setter)g +(functions)h(are)e(de\014ned)i(with)f(the)h Fe(:slot-ref)365 +2518 y Fo(and)k Fe(:slot-set!)26 b Fo(options.)k(Here)g(is)g(another)f +(writing)h(of)h(the)f Fe(Rectangle)d Fo(class)j(using)365 +2617 y(virtual)d(slots:)506 2793 y Ff(\(define-class)43 b(Rectangle)e(\(Point\))585 2884 y(\(\(width)80 b(:init-keyword)42 b(:width)80 b(:accessor)41 b(width-of\))624 2976 y(\(height)g (:init-keyword)h(:height)f(:accessor)g(height-of\))624 @@ -1962,14 +1979,14 @@ b(:virtual)938 3875 y(:slot-ref)80 b(\(lambda)41 b(\(obj\))g(\(+)e (\(y-of)i(obj\))f(\(height-of)h(obj\)\)\))938 3967 y(:slot-set!)g (\(lambda)g(\(obj)f(val\))1448 4058 y(\(set!)g(\(height-of)i(obj\))e (\(-)g(val)f(\(y-of)i(obj\)\)\)\)\)\)\))365 4242 y Fo(In)27 -b(this)e(new)i(de\014nition)d(of)j Fe(Rectangle)p Fo(,)22 -b Fe(x2)k Fo(and)g Fe(y2)g Fo(are)f(virtual)f(slots.)g(The)j(getter)e -(and)365 4342 y(setter)33 b(asso)r(ciated)e(functions)h(are)g(lam)n(b)r -(da)f(expressions)f(whic)n(h)i(compute)g(or)g(set)h(their)365 -4441 y(v)-5 b(alue)32 b(dep)r(ending)g(on)h(other)f(slots)f(v)-5 -b(alue.)32 b(Note)h(that)g(a)f(virtual)e(slot)i(accessor)e(closure)365 -4541 y(can)e(c)n(hange)e(the)i(v)-5 b(alue)26 b(of)i(standard)f(slots)f -(in)g(order)h(to)g(k)n(eep)g(the)h(system)f(coheren)n(t.)p +b(this)f(new)h(de\014nition)f(of)h Fe(Rectangle)p Fo(,)22 +b Fe(x2)k Fo(and)g Fe(y2)g Fo(are)f(virtual)h(slots.)f(The)i(getter)e +(and)365 4342 y(setter)33 b(asso)r(ciated)f(functions)h(are)f(lam)n(b)r +(da)h(expressions)e(whic)n(h)i(compute)g(or)f(set)h(their)365 +4441 y(v)-5 b(alue)33 b(dep)r(ending)g(on)g(other)f(slots)g(v)-5 +b(alue.)33 b(Note)g(that)g(a)f(virtual)g(slot)h(accessor)d(closure)365 +4541 y(can)e(c)n(hange)e(the)i(v)-5 b(alue)27 b(of)h(standard)f(slots)g +(in)g(order)g(to)g(k)n(eep)g(the)h(system)g(coheren)n(t.)p 365 4595 473 4 v 382 4649 a Fb(1)442 4681 y Fn(In)22 b Fl(STklos)q Fn([5)q(],)h(the)f(execution)h(of)g(a)g(metho)r(d)f(rely) g(on)h(a)g(subset)g(of)g(the)f(CLOS)h Fd(generic)j(func-)442 @@ -1977,88 +1994,88 @@ g(on)h(a)g(subset)g(of)g(the)f(CLOS)h Fd(generic)j(func-)442 (are)h(supp)r(orted)f(and)g(the)g(metho)r(ds)f(com)n(bination)442 4863 y(cannot)26 b(b)r(e)f(c)n(hanged\).)p eop %%Page: 6 6 -6 5 bop 805 387 a Fo(Since)40 b(virtual)d(slots)i(do)h(not)g(imply)d -(memory)h(allo)r(cation,)e(they)k(could)f(easily)e(b)r(e)681 -487 y(sim)n(ulated)20 b(with)k(classical)19 b(accessor)j(metho)r(ds.)h -(But,)h(declaring)d(a)i(slot)g(as)g(virtual)e(allo)n(ws)681 -587 y(in)n(trosp)r(ecting)27 b(functions)j(to)g(\\see")f(it)h(as)g(a)g -(standard)f(slot.)h(On)g(the)h(con)n(trary)-7 b(,)28 -b(using)h(a)681 686 y(couple)d(of)i(metho)r(ds)e(to)i(sim)n(ulate)c -(suc)n(h)j(a)h(slot)e(w)n(ould)g(hide)h(it)g(to)g(these)h(functions.) -681 965 y Fk(3)112 b(In)m(tegration)37 b(of)h(Tk)f(widgets)681 +6 5 bop 805 387 a Fo(Since)41 b(virtual)e(slots)h(do)g(not)g(imply)g +(memory)g(allo)r(cation,)f(they)h(could)g(easily)f(b)r(e)681 +487 y(sim)n(ulated)23 b(with)i(classical)d(accessor)g(metho)r(ds.)i +(But,)g(declaring)f(a)g(slot)h(as)f(virtual)g(allo)n(ws)681 +587 y(in)n(trosp)r(ecting)29 b(functions)i(to)f(\\see")f(it)i(as)f(a)g +(standard)f(slot.)i(On)f(the)h(con)n(trary)-7 b(,)28 +b(using)i(a)681 686 y(couple)d(of)h(metho)r(ds)f(to)h(sim)n(ulate)f +(suc)n(h)g(a)h(slot)f(w)n(ould)g(hide)h(it)g(to)f(these)h(functions.) +681 965 y Fk(3)112 b(In)m(tegration)36 b(of)i(Tk)f(widgets)681 1173 y Fi(3.1)94 b(The)32 b(Class)f(Hierarc)m(h)m(y)681 -1349 y Fo(This)41 b(section)h(presen)n(ts)g(ho)n(w)g(the)h(standard)f -(Tk)g(widgets)g(ha)n(v)n(e)f(b)r(een)i(em)n(b)r(o)r(died)e(in)681 -1448 y Fh(STklos)28 b Fo(classes.)e(Eac)n(h)i(graphical)d(ob)5 -b(ject)29 b(de\014ned)g(in)f(the)h(Tk)f(to)r(olkit)f(suc)n(h)h(as)h -(men)n(u,)681 1548 y(lab)r(el)35 b(or)i(button)h(is)f(represen)n(ted)f -(b)n(y)h(a)g Fh(STklos)g Fo(class.)f(The)h(corresp)r(onding)e(classes) -681 1648 y(constitute)25 b(a)g(hierarc)n(h)n(y)e(whic)n(h)h(is)h -(brie\015y)f(describ)r(ed)g(here.)i(First,)e(all)g(the)i(classes)d -(share)681 1747 y(a)k(unique)g(ancestor:)f(the)i Fe()23 -b Fo(class)2190 1717 y Fc(2)2225 1747 y Fo(.)28 b(This)e(class)g -(de\014nes)h(a)g(set)h(of)f(slots)f(nec-)681 1847 y(essary)37 -b(to)i(establish)e(a)i(comm)n(unication)c(b)r(et)n(w)n(een)k(the)g(Sc)n -(heme)f(and)i(Tk)f(w)n(orlds.)e(In)681 1947 y(particular,)24 -b(t)n(w)n(o)j(slots)f(are)h(de\014ned)h(in)e(this)h(class)2286 +1349 y Fo(This)42 b(section)h(presen)n(ts)f(ho)n(w)g(the)h(standard)f +(Tk)g(widgets)h(ha)n(v)n(e)e(b)r(een)i(em)n(b)r(o)r(died)g(in)681 +1448 y Fh(STklos)28 b Fo(classes.)f(Eac)n(h)h(graphical)f(ob)5 +b(ject)29 b(de\014ned)g(in)g(the)g(Tk)f(to)r(olkit)h(suc)n(h)f(as)h +(men)n(u,)681 1548 y(lab)r(el)37 b(or)g(button)h(is)g(represen)n(ted)e +(b)n(y)h(a)g Fh(STklos)g Fo(class.)g(The)g(corresp)r(onding)f(classes) +681 1648 y(constitute)26 b(a)f(hierarc)n(h)n(y)f(whic)n(h)h(is)h +(brie\015y)f(describ)r(ed)g(here.)h(First,)f(all)h(the)g(classes)e +(share)681 1747 y(a)j(unique)h(ancestor:)e(the)i Fe()23 +b Fo(class)2189 1717 y Fc(2)2225 1747 y Fo(.)28 b(This)f(class)g +(de\014nes)g(a)g(set)h(of)f(slots)g(nec-)681 1847 y(essary)37 +b(to)i(establish)g(a)g(comm)n(unication)g(b)r(et)n(w)n(een)g(the)g(Sc)n +(heme)g(and)h(Tk)f(w)n(orlds.)f(In)681 1947 y(particular,)26 +b(t)n(w)n(o)h(slots)g(are)g(de\014ned)h(in)f(this)h(class)2285 1916 y Fc(3)2322 1947 y Fo(:)733 2120 y Fi({)41 b Fo(The)33 -b Fe(parent)d Fo(slot)i(con)n(tains)f(a)h(reference)g(to)h(the)h(ob)5 -b(ject)32 b(whic)n(h)g(\(graphically\))d(in-)822 2220 -y(cludes)d(the)i(curren)n(t)f(ob)5 b(ject.)733 2321 y -Fi({)41 b Fo(The)33 b Fe(Id)f Fo(slot)g(con)n(tains)f(a)i(reference)f -(to)h(the)h(lo)n(w)d(lev)n(el)g Fh(STk)i Fj(Tk-c)l(ommand)h -Fo(whic)n(h)822 2421 y(implemen)n(ts)e(the)37 b Fh(STklos)e -Fo(widget.)g(This)h Fj(Tk-c)l(ommand)p Fo(,)h(whic)n(h)e(is)g -(di\013eren)n(t)g(for)822 2521 y(eac)n(h)24 b(class,)f(is)h(created)g -(during)g Fh(STklos)g Fo(instance)g(initializatio)o(n.)c(This)k(slot)f -(estab-)822 2620 y(lishes)i(the)j(link)e(b)r(et)n(w)n(een)h(the)h -Fh(STk)f Fo(and)g(the)h Fh(STklos)f Fo(la)n(y)n(ers)d(and)k(guaran)n -(tees,)d(b)n(y)822 2720 y(k)n(eeping)20 b(a)h(reference)f(to)i(the)g -(lo)n(w)e(lev)n(el)f(widget,)h(a)h(protection)f(against)g(GC)h(reco)n -(v)n(ery)-7 b(.)805 2892 y(The)34 b(next)f(lev)n(el)e(of)i(the)h(class) -e(hierarc)n(h)n(y)e(de\014nes)j(a)g(fork)g(with)g(t)n(w)n(o)f(branc)n -(hes:)g(the)681 2991 y Fe()c Fo(class)i(and)i -Fe()26 b Fo(class.)k(Instances)i(of)h(the)f(former)f -(class)681 3091 y(are)23 b(classical)d(widgets)j(suc)n(h)h(as)g -(buttons)h(or)e(men)n(us)h(whereas)f(instances)g(of)h(the)h(later)e -(are)681 3190 y(ob)5 b(jects)33 b(con)n(tained)f(in)g(a)i(can)n(v)-5 -b(as)1768 3160 y Fc(4)1837 3190 y Fo(suc)n(h)33 b(as)g(lines,)f(o)n(v) --5 b(als)31 b(or)i(rectangles.)e(Both)i(kind)g(of)681 -3290 y(Tk)24 b(ob)5 b(jects)23 b(are)g(directly)f(implemen)n(ted)f(as)i -Fh(STklos)h Fo(classes)e(in)h(a)h(one-to-one)e(relation-)681 -3390 y(ship.)k(A)i(partial)d(view)h(of)h(the)h Fh(STklos)f -Fo(hierarc)n(h)n(y)d(is)j(sho)n(wn)f(in)h(Fig.)d(1.)j(Here)g(are)f -(some)681 3489 y(imp)r(ortan)n(t)f(p)r(oin)n(ts:)733 -3663 y Fi({)41 b Fo(In)19 b(Tk,)g(in)n(terface)f(widgets)g(\()p -Fj(e.g.)j Fo(buttons\))e(are)g(\014rst)g(class)e(ob)5 +b Fe(parent)d Fo(slot)j(con)n(tains)f(a)g(reference)g(to)h(the)h(ob)5 +b(ject)32 b(whic)n(h)h(\(graphically\))f(in-)822 2220 +y(cludes)27 b(the)h(curren)n(t)f(ob)5 b(ject.)733 2321 +y Fi({)41 b Fo(The)33 b Fe(Id)f Fo(slot)h(con)n(tains)f(a)h(reference)f +(to)h(the)h(lo)n(w)e(lev)n(el)h Fh(STk)g Fj(Tk-c)l(ommand)h +Fo(whic)n(h)822 2421 y(implemen)n(ts)i(the)h Fh(STklos)e +Fo(widget.)h(This)h Fj(Tk-c)l(ommand)p Fo(,)g(whic)n(h)f(is)g +(di\013eren)n(t)g(for)822 2521 y(eac)n(h)24 b(class,)g(is)h(created)f +(during)h Fh(STklos)f Fo(instance)h(initialization.)g(This)g(slot)f +(estab-)822 2620 y(lishes)j(the)h(link)g(b)r(et)n(w)n(een)f(the)h +Fh(STk)f Fo(and)g(the)h Fh(STklos)f Fo(la)n(y)n(ers)e(and)j(guaran)n +(tees,)d(b)n(y)822 2720 y(k)n(eeping)c(a)g(reference)f(to)i(the)g(lo)n +(w)f(lev)n(el)g(widget,)g(a)g(protection)g(against)g(GC)g(reco)n(v)n +(ery)-7 b(.)805 2892 y(The)34 b(next)f(lev)n(el)g(of)g(the)h(class)f +(hierarc)n(h)n(y)e(de\014nes)i(a)g(fork)g(with)h(t)n(w)n(o)e(branc)n +(hes:)g(the)681 2991 y Fe()c Fo(class)j(and)h +Fe()26 b Fo(class.)31 b(Instances)h(of)h(the)f(former)g +(class)681 3091 y(are)23 b(classical)g(widgets)h(suc)n(h)g(as)g +(buttons)h(or)e(men)n(us)i(whereas)e(instances)h(of)g(the)h(later)f +(are)681 3190 y(ob)5 b(jects)33 b(con)n(tained)g(in)g(a)h(can)n(v)-5 +b(as)1768 3160 y Fc(4)1837 3190 y Fo(suc)n(h)33 b(as)g(lines,)h(o)n(v) +-5 b(als)32 b(or)h(rectangles.)f(Both)h(kind)h(of)681 +3290 y(Tk)24 b(ob)5 b(jects)23 b(are)g(directly)h(implemen)n(ted)h(as)e +Fh(STklos)h Fo(classes)f(in)h(a)g(one-to-one)e(relation-)681 +3390 y(ship.)27 b(A)h(partial)f(view)g(of)g(the)h Fh(STklos)f +Fo(hierarc)n(h)n(y)e(is)j(sho)n(wn)e(in)i(Fig.)d(1.)i(Here)g(are)f +(some)681 3489 y(imp)r(ortan)n(t)h(p)r(oin)n(ts:)733 +3663 y Fi({)41 b Fo(In)19 b(Tk,)g(in)n(terface)g(widgets)g(\()p +Fj(e.g.)i Fo(buttons\))e(are)g(\014rst)g(class)f(ob)5 b(jects,)19 b(but)h(can)n(v)-5 b(as)17 b(items)822 3762 -y(\()p Fj(e.g.)24 b Fo(rectangles\))c(can)j(b)r(e)f(accessed)g(only)f -(through)h(their)f(con)n(taining)f(can)n(v)-5 b(as.)21 -b(Th)n(us,)822 3862 y(actions)g(on)h(widgets)g(or)g(can)n(v)-5 -b(as)21 b(items)g(m)n(ust)h(b)r(e)h(done)f(in)g(di\013eren)n(t)g(w)n(a) -n(ys.)g(Accessing)822 3962 y(a)c(can)n(v)-5 b(as)17 b(item)h(option)f -(requires)f(t)n(w)n(o)i(references:)f(one)h(to)h(the)g(can)n(v)-5 -b(as)17 b(whic)n(h)h(con)n(tains)822 4061 y(it)29 b(and)h(one)g(to)g -(its)f(iden)n(ti\014cation)e(\(a)i(n)n(um)n(b)r(er\))h(in)f(this)g(can) +y(\()p Fj(e.g.)24 b Fo(rectangles\))d(can)i(b)r(e)f(accessed)g(only)g +(through)g(their)g(con)n(taining)g(can)n(v)-5 b(as.)21 +b(Th)n(us,)822 3862 y(actions)h(on)g(widgets)h(or)f(can)n(v)-5 +b(as)21 b(items)i(m)n(ust)g(b)r(e)g(done)f(in)h(di\013eren)n(t)g(w)n(a) +n(ys.)f(Accessing)822 3962 y(a)c(can)n(v)-5 b(as)17 b(item)j(option)e +(requires)f(t)n(w)n(o)h(references:)f(one)h(to)h(the)g(can)n(v)-5 +b(as)17 b(whic)n(h)i(con)n(tains)822 4061 y(it)30 b(and)g(one)g(to)g +(its)g(iden)n(ti\014cation)g(\(a)f(n)n(um)n(b)r(er\))i(in)f(this)g(can) n(v)-5 b(as.)29 b(In)h(order)f(to)h(mak)n(e)822 4161 -y(can)n(v)-5 b(as)18 b(items)g(\014rst)h(class)e(ob)5 -b(jects,)19 b(the)h(class)d Fe()c Fo(de\014nes)19 -b(the)h(extra)822 4261 y(slot)j Fe(Cid)f Fo(whic)n(h)h(con)n(tains)f -(the)j(Tk)f(iden)n(ti\014cation)c(n)n(um)n(b)r(er)j(asso)r(ciated)f(to) -i(the)g(item.)p 681 4321 473 4 v 697 4375 a Fb(2)758 -4407 y Fn(End)h(users)h(will)i(not)e(ha)n(v)n(e)f(to)h(use)g(direct)g -(instances)h(of)g(the)e Ff()k Fn(class)e(\(all)g(classes)758 -4498 y(whose)i(name)f(b)r(egins)h(with)g(the)f(\\Tk-")h(pre\014x)f(are) -h(abstract)g(classes)i(whic)n(h)e(should)f(not)h(b)r(e)758 -4589 y(instanced;)d(they)e(corresp)r(ond)j(to)f(the)f -Fd(implementation)j(sp)l(e)l(ci\014c)f Fn(classes)g(of)g([9]\).)697 -4649 y Fb(3)758 4681 y Fn(The)f(actual)h(implemen)n(tation)f(is)h(more) -f(complex,)g(but)f(to)i(mak)n(e)e(easier)j(the)e(reading)h(of)h(this) -758 4772 y(pap)r(er,)e(w)n(e)g(ha)n(v)n(e)f(simpli\014ed)g(the)g -(de\014nition)g(of)i(classes,)h(and)d(hence)g(the)h(class)h(hierarc)n -(h)n(y)-6 b(.)697 4832 y Fb(4)758 4863 y Fn(The)25 b(can)n(v)l(as)h -(widget)h(a\013orded)e(b)n(y)g(the)g(Tk)h(library)g(allo)n(ws)h(2D)f -(structured)f(dra)n(wing.)p eop +y(can)n(v)-5 b(as)18 b(items)i(\014rst)f(class)f(ob)5 +b(jects,)19 b(the)h(class)e Fe()13 b +Fo(de\014nes)19 b(the)h(extra)822 4261 y(slot)k Fe(Cid)e +Fo(whic)n(h)i(con)n(tains)f(the)i(Tk)f(iden)n(ti\014cation)f(n)n(um)n +(b)r(er)h(asso)r(ciated)f(to)h(the)g(item.)p 681 4321 +473 4 v 697 4375 a Fb(2)758 4407 y Fn(End)h(users)h(will)i(not)e(ha)n +(v)n(e)f(to)h(use)g(direct)g(instances)h(of)g(the)e Ff()k +Fn(class)e(\(all)g(classes)758 4498 y(whose)i(name)f(b)r(egins)h(with)g +(the)f(\\Tk-")h(pre\014x)f(are)h(abstract)g(classes)i(whic)n(h)e +(should)f(not)h(b)r(e)758 4589 y(instanced;)d(they)e(corresp)r(ond)j +(to)f(the)f Fd(implementation)j(sp)l(e)l(ci\014c)f Fn(classes)g(of)g +([9]\).)697 4649 y Fb(3)758 4681 y Fn(The)f(actual)h(implemen)n(tation) +f(is)h(more)f(complex,)g(but)f(to)i(mak)n(e)e(easier)j(the)e(reading)h +(of)h(this)758 4772 y(pap)r(er,)e(w)n(e)g(ha)n(v)n(e)f(simpli\014ed)g +(the)g(de\014nition)g(of)i(classes,)h(and)d(hence)g(the)h(class)h +(hierarc)n(h)n(y)-6 b(.)697 4832 y Fb(4)758 4863 y Fn(The)25 +b(can)n(v)l(as)h(widget)h(a\013orded)e(b)n(y)g(the)g(Tk)h(library)g +(allo)n(ws)h(2D)f(structured)f(dra)n(wing.)p eop %%Page: 7 7 7 6 bop 389 304 a 22376157 14544495 0 0 35587932 23418306 startTexFig @@ -2390,456 +2407,452 @@ rs %%EndDocument endTexFig - 1016 2321 a Fm(Fig.)14 b(1.)25 b Fd(A)j(p)l(artial)g(view)f(of)h(the)g + 1016 2321 a Fm(Fig.)15 b(1.)25 b Fd(A)j(p)l(artial)g(view)f(of)h(the)g Fl(STklos)g Fd(hier)l(ar)l(chy)417 2630 y Fi({)41 b Fo(The)23 -b(hierarc)n(hical)18 b(view)k(of)h(Tk)f(widgets)g(p)r(ermits)f(a)h(b)r -(etter)i(apprehension)c(of)j(the)g(Tk)506 2730 y(to)r(olkit,)28 -b(ev)n(en)i(if)f(there)h(is)e(no)i(notion)e(of)i(inheritance)e(in)h -(standard)g(Tk.)g(According)506 2830 y(to)37 b(Fig.)23 +b(hierarc)n(hical)e(view)i(of)g(Tk)f(widgets)h(p)r(ermits)g(a)f(b)r +(etter)i(apprehension)d(of)i(the)g(Tk)506 2730 y(to)r(olkit,)30 +b(ev)n(en)g(if)g(there)g(is)f(no)h(notion)f(of)h(inheritance)g(in)g +(standard)f(Tk.)g(According)506 2830 y(to)37 b(Fig.)24 b(1,)37 b(a)f Fj(button)f Fo(can)h(b)r(e)h(seen)f(as)g(a)g(reactiv)n(e) -e Fj(lab)l(el)p Fo(.)k(As)e(a)g(consequence,)g(the)506 -2929 y(metho)r(ds)f(in)g(c)n(harge)f(of)h(the)h(lo)r(ok)e(of)i(a)f(lab) -r(el)e(or)i(button)h(text)g(\(fon)n(t,)g(foreground)506 -3029 y(color,)28 b(.)14 b(.)g(.)g(\))30 b(can)f(b)r(e)i(gathered)d(in)h -(the)i Fe(