3 %%Creator: XCircuit v3.6 rev4
4 %%CreationDate: Tue Feb 21 09:36:15 2006
6 %%BoundingBox: 0 0 612 792
7 %%DocumentNeededResources:
11 % PostScript prolog for output from xcircuit
14 % Electrical circuit (and otherwise general) drawing program
16 % Written by Tim Edwards 8/5/93--7/13/05 (tim.edwards@multigig.com)
17 % The Johns Hopkins University (1993-2004)
18 % MultiGiG, Inc. (2004-present)
20 %%BeginResource: procset XCIRCproc 3.3 0
22 % supporting definitions --- these are the primary xcircuit types.
25 /topmat matrix currentmatrix def
27 /fontslant { /slant exch def [1 0 slant 1 0 0]
28 exch findfont exch makefont dup length dict /ndict exch def
29 { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
30 ndict definefont pop} def
31 /ul { dup type /stringtype eq showflag 1 eq and { gsave
32 currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
33 false charpath flattenpath pathbbox grestore exch pop 1 index
34 sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
35 rlineto stroke moveto } if } def
36 /ol { dup type /stringtype eq showflag 1 eq and { gsave gsave
37 currentpoint topmat setmatrix 2 index stringwidth pop 3 index
38 true charpath flattenpath pathbbox grestore exch pop
39 exch pop topmat setmatrix (_) true charpath pathbbox grestore
40 exch pop 1 index sub setlinewidth exch pop currentpoint
41 exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
43 /stW { gsave currentpoint newpath moveto true charpath flattenpath
44 pathbbox pop exch pop sub grestore } def
45 /Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
46 0 currentpoint pop put} def
47 /Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
48 /Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
49 {currentpoint exch pop moveto exit} {pop} ifelse } for } def
50 /Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
51 {currentpoint exch pop moveto exit} {pop} ifelse } for } def
52 /qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
55 /cf0 { scalefont setfont } bind def
56 /Kn { dup kY add /kY exch def rmoveto } bind def
57 /ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
59 /Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
61 /ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
62 /CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto } def
63 /cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
64 { 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
65 {fscale0 mul fscale mul cf0} ifelse } def
66 /ctmk { counttomark dup 2 add -1 roll pop } bind def
67 /label { gsave translate 0 0 moveto dup scale neg /rotval exch def
68 /just exch def just 384 and 0 gt {/mshow {pop} def} {/mshow {show}
69 def} ifelse just 16 and 0 gt {gsave rotval rotate 0 1 dtransform
70 gsave pagemat setmatrix idtransform exch grestore 1 0 dtransform
71 gsave pagemat setmatrix idtransform exch grestore dup abs 1e-9 lt
72 {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse grestore {-1 /rotval
73 rotval neg def /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse
74 exch -1e-9 lt {-1 /rotval rotval neg def /just just dup 12 and
75 4 ne {12 xor} if def} {1} ifelse scale } if /showflag 0 def
76 /fspc pspc def /Bline 0 def /Tabs 0 array def /fscale 1.0 def
77 /kY 0 def gsave dup 1 add copy 0 exch 1 0 dtransform exch atan rotate
78 {exch dup type /stringtype eq {true charpath flattenpath} {dup type
79 /arraytype eq {exec} {12 string cvs true charpath flattenpath} ifelse}
80 ifelse} repeat pop pathbbox grestore 3 -1 roll pop 3 1 roll just
81 1 and 0 gt {just 2 and 0 gt {exch pop neg fspc sub} {exch sub 0.5
82 mul neg} ifelse} {pop neg fspc add} ifelse exch Bline exch just 4
83 and 0 gt {just 8 and 0 gt {exch pop neg fspc sub} {add 0.5 mul neg}
84 ifelse} {pop neg fspc add} ifelse rotval rotate Kn currentpoint
85 translate /showflag 1 def /Bline 0 def /Tabs 0 array def /fscale
86 1.0 def /kY 0 def {dup type /stringtype eq {mshow} {dup type
87 /arraytype eq {exec} {12 string cvs mshow} ifelse} ifelse} repeat
89 /pinlabel { 4 index 32 and 0 ne hlevel 0 eq or { /pspc 10 def label
90 /pspc 0 def } { pop pop pop pop pop {pop} repeat } ifelse } def
91 /pinglobal { pinlabel } def
92 /infolabel { pinlabel } def
93 /graphic { gsave 4 index cvx exec /DataSource get resetfile translate
94 0 0 moveto neg rotate dup scale cvx exec image grestore } def
96 /scb { setrgbcolor } bind def /sce { defColor aload pop scb } bind def
97 /cRedef {/defColor currentcolor 3 array astore def} def
98 /begingate {dup type /dicttype ne {1 dict} if begin % default params
99 dup type /dicttype ne {1 dict} if begin % instanced params
100 /hlevel hlevel 1 add def /defColor currentcolor sce 3 array
101 astore def gsave sce translate 0 0 moveto neg rotate dup abs scale
103 /endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
104 scb end end} bind def
107 /tmpa [1 0 0 1 0 0] def
108 /gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
109 {8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
110 {8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
111 {8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
112 {8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
113 {8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
114 {8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
115 /ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
116 neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
117 gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
118 { 3 index exch 5 exch put dup -8 3 index { 3 index
119 exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
121 currentlinewidth mul setlinewidth /style exch def
122 style 1 and 0 gt not {closepath} if
123 style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if
124 style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if
125 gsave style 16 and 0 gt { style 224 and -5 bitshift style 256 and 0 gt {
126 7 exch sub 8 div dup 1 exch sub currentrgbcolor 3 array astore
127 {3 copy mul add 4 1 roll pop} forall pop pop setrgbcolor eofill}
128 {dup 7 lt {gar exch get ppaint} {pop eofill} ifelse} ifelse}
129 {style 256 and 0 gt {1 setgray eofill} if} ifelse grestore style 8 and 0 gt
130 style 512 eq or {newpath} {stroke} ifelse grestore} def
132 /polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
133 /xcarc { gsave newpath arc setstyles } def
134 /elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
135 3 index div 1 scale } def
136 /ele { 0 4 1 roll 0 4 1 roll } bind def
137 /ellipse { gsave elb newpath ele arc setmatrix setstyles } def
138 /pellip { elb ele arc setmatrix } def
139 /nellip { elb ele arcn setmatrix } def
140 /spline { gsave moveto curveto setstyles } def
141 /polyc { {lineto} repeat } bind def
142 /beginpath { gsave moveto } bind def
143 /endpath { setstyles } bind def
144 /bop { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef } def
145 /psinsertion {/PSobj save def /showpage {} def /setpagedevice {pop} def bop
146 rotate translate dup scale} def
147 /end_insert {PSobj restore} def
148 /setpagemat {/pagemat matrix currentmatrix def} def
149 /inchscale {setpagemat 0.375 mul dup scale} def
150 /cmscale {setpagemat 0.35433071 mul dup scale} def
155 % XCircuit output starts here.
161 1 1.00 96 1920 1344 1920 2 polygon
162 1 2.00 96 1896 1344 1896 2 polygon
163 1 2.00 1416 1824 1416 96 2 polygon
164 1 2.00 1344 1824 72 0.00 90.00 xcarc
165 1 1.00 1344 1824 96 0.00 90.00 xcarc
166 1 1.00 1440 1824 1440 96 2 polygon
167 1 2.00 1344 96 72 270.00 360.00 xcarc
168 1 1.00 1344 96 96 270.00 360.00 xcarc
169 1 2.00 96 1824 72 90.00 180.00 xcarc
170 1 1.00 96 1824 96 90.00 180.00 xcarc
171 1 2.00 24 1824 24 96 2 polygon
172 1 1.00 0 1824 0 96 2 polygon
173 1 1.00 96 0 1344 0 2 polygon
174 1 2.00 96 24 1344 24 2 polygon
175 1 2.00 96 96 72 180.00 270.00 xcarc
176 1 1.00 96 96 96 180.00 270.00 xcarc
182 0.490 0.490 0.490 scb
183 504 1.00 96 1896 96 1920 1344 1920 1344 1896 4 polygon
184 504 1.00 0 96 0 1824 24 1824 24 96 4 polygon
185 504 1.00 1416 1824 1416 96 1440 96 1440 1824 4 polygon
187 96 96 96 180.00 270.00 arc
189 96 96 72 270.00 180.00 arcn
193 96 1824 96 180.00 90.00 arcn
195 96 1824 72 90.00 180.00 arc
199 1344 96 96 360.00 270.00 arcn
205 1344 1824 96 0.00 90.00 arc
210 504 1.00 1344 0 1344 24 96 24 96 0 4 polygon
220 %%PageOrientation: Portrait
221 %%PageBoundingBox: 0 0 612 792
224 2.6000 setlinewidth 0 0 translate
226 1.00 0 96 96 border-inch
227 pgsave restore showpage