.PS
# IC10107.m4
   log_init

right_
   pinlen = 2*NOT_rad
   hunit = AND_wd*L_unit*1.6
B: box invis wid hunit*4 ht hunit*2
   psep = hunit/2
   nrad = B.ht*0.06
   line from B.w+(0,nrad) to B.nw then to B.ne then to B.se then to B.sw \
     then to B.w-(0,nrad)
   arc ccw to Here+(0,2*nrad) with .c at B.w
   for i = 1 to 8 do {
     line down pinlen from B.sw+(psep/2,0)+((i-1)*psep,0)
     sprintf("\small\sf%g",i) below
     exec sprintf("P%g: last line.start",i)
     line up pinlen from B.ne-(psep/2,0)-((i-1)*psep,0)
     sprintf("\small\sf%g",8+i) above
     exec sprintf("P%g: last line.start",8+i)
     }
G1: OR_gen(2,PIBANEONSEC) with .Out at P12.x-pinlen,B.y+B.ht/4
G2: OR_gen(2,PIBANNEOSEC) with .Out at B.e.x-4*pinlen,B.y
   left_
G3: OR_gen(2,PIBANEONSEC) with .NE at P3.x,B.y-B.ht/4-AND_ht/6*L_unit

   line from G3.N_NSE.w to (P2,G3.N_NSE) then to P2
   line from P3 to G3.NE
   line right pinlen from G3.In1 then down 2*pinlen
   contline to (P4,Here) then to P4
   line from G3.In2 to (P5,G3.In2) then to P5

   line from G2.In2 left pinlen then down 2*pinlen
   contline to (P9,Here) then to P9
   line from G2.In1 left pinlen*2 then down G2.In1.y-G2.In2.y+3*pinlen
   contline to (P7,Here) then to P7
   line from G2.SE right NOT_rad+2*pinlen then up B.n.y-pinlen-G2.SE.y
   contline to (P10,Here) then to P10
   line from G2.N_NNE.e right pinlen then up B.n.y-2*pinlen-G2.N_NNE.y
   contline to (P11,Here) then to P11

   line from P12 to (P12,G1.N_NSE) then to G1.N_NSE.e
   line from P13 down pinlen
   contline to (G1.NE,Here) then to G1.NE
   line from G1.In1 to (P14,G1.In1) then to P14
   line from G1.In2 to (P15,G1.In2) then to P15

.PE
