← Back to team overview

kicad-developers team mailing list archive

Re: Custom shaped pads work. third test. Need testers.

 

Le 08/02/2017 à 15:00, Wayne Stambaugh a écrit :
> JP,
> 
> Please don't commit this until I create the stable 5 branch.  Custom pad
> shapes is in the v6 road map.  I know the cern developers are getting
> close to committing the new geometry library and DRC improvements which
> are required for the custom pad shapes to be implemented properly.  In
> the mean time, everyone please test this and give JP as much feedback as
> possible so when it gets committed it's as complete as possible.
> 
> Thanks,
> 
> Wayne

No problem.

By the way, attached a board I used to test custom pads.

> 
> On 2/7/2017 12:22 PM, jp charras wrote:
>> I recently reworked on custom patches, and added a few missing features.
>>
>> I am expecting to be able to commit a first experimental version of custom pads to the master branch.
>>
>> However, before committing, more tests are needed.
>> The attached patch is the third (and last) test.
>>
>> After applying this patch you have to compile with option:
>> -DKICAD_USE_CUSTOM_PADS=ON
>> to enable the custom pad settings in the pad settings dialog.
>>
>> Currently:
>> Plot and print are working.
>> the DRC dialog now supports the custom pads
>> On the legacy canvas, the DRC now supports the custom pads during track creation
>>
>> What is missing?
>> P&S does not yet support custom pads (For that, I'll need help from P&S guys)
>> The Pad editor does not test the validity of the pad shape (the final shape must be equivalent to
>> only one polygon, not more than one)
>>
>> What needs to be defined:
>> What info must be added to a custom pad.
>> What is the shape of the clearance are in zones (currently, this is the convex hull which has some
>> advantages over the exact shape)
>> What about thermal relief (not sure a thermal relief has meaning for a custom pad)
>> Is a custom pad allowed on all copper layers, or only one layer (top or bottom) like a SMD pad
>>
>>
>> But before having answers to these questions, tests must be made with this current patch.
>>
>> Thanks.
>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>>
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 


-- 
Jean-Pierre CHARRAS
(kicad_pcb (version 20170123) (host pcbnew "(2017-02-08 revision 5e559e5)-master")

  (general
    (links 2)
    (no_connects 0)
    (area -11.000001 -1.000001 182.084524 138.075001)
    (thickness 1.6)
    (drawings 10)
    (tracks 12)
    (zones 0)
    (modules 5)
    (nets 3)
  )

  (page A4)
  (layers
    (0 F.Cu signal)
    (31 B.Cu signal)
    (32 B.Adhes user)
    (33 F.Adhes user)
    (34 B.Paste user)
    (35 F.Paste user)
    (36 B.SilkS user)
    (37 F.SilkS user)
    (38 B.Mask user)
    (39 F.Mask user)
    (40 Dwgs.User user)
    (41 Cmts.User user)
    (42 Eco1.User user)
    (43 Eco2.User user)
    (44 Edge.Cuts user)
    (45 Margin user)
    (46 B.CrtYd user)
    (47 F.CrtYd user)
    (48 B.Fab user)
    (49 F.Fab user)
  )

  (setup
    (last_trace_width 0.5)
    (trace_clearance 0.4)
    (zone_clearance 0.5)
    (zone_45_only no)
    (trace_min 0.2)
    (segment_width 2)
    (edge_width 0.15)
    (via_size 0.6)
    (via_drill 0.4)
    (via_min_size 0.4)
    (via_min_drill 0.3)
    (uvia_size 0.3)
    (uvia_drill 0.1)
    (uvias_allowed no)
    (uvia_min_size 0.2)
    (uvia_min_drill 0.1)
    (pcb_text_width 0.3)
    (pcb_text_size 1.5 1.5)
    (mod_edge_width 0.15)
    (mod_text_size 1 1)
    (mod_text_width 0.15)
    (pad_size 2.6 2.6)
    (pad_drill 0)
    (pad_to_mask_clearance 0.2)
    (aux_axis_origin 0 0)
    (visible_elements 7FFFFFFF)
    (pcbplotparams
      (layerselection 0x000fc_ffffffff)
      (usegerberextensions false)
      (usegerberattributes true)
      (usegerberadvancedattributes true)
      (excludeedgelayer true)
      (linewidth 0.150000)
      (plotframeref false)
      (viasonmask false)
      (mode 1)
      (useauxorigin false)
      (hpglpennumber 1)
      (hpglpenspeed 20)
      (hpglpendiameter 15)
      (psnegative false)
      (psa4output false)
      (plotreference true)
      (plotvalue true)
      (plotinvisibletext false)
      (padsonsilk false)
      (subtractmaskfromsilk false)
      (outputformat 1)
      (mirror false)
      (drillshape 0)
      (scaleselection 1)
      (outputdirectory plots))
  )

  (net 0 "")
  (net 1 /PAD2)
  (net 2 /PAD1)

  (net_class Default "Ceci est la Netclass par défaut"
    (clearance 0.4)
    (trace_width 0.5)
    (via_dia 0.6)
    (via_drill 0.4)
    (uvia_dia 0.3)
    (uvia_drill 0.1)
    (add_net /PAD1)
    (add_net /PAD2)
  )

  (module Dip_sockets:DIP-14__300_ELL (layer F.Cu) (tedit 588E4A9A) (tstamp 56AE982A)
    (at 167 116 180)
    (descr "14 pins DIL package, elliptical pads")
    (tags DIL)
    (fp_text reference U*** (at -5.08 -1.27 180) (layer F.SilkS)
      (effects (font (size 1.524 1.143) (thickness 0.3048)))
    )
    (fp_text value DIP-14_300_ELL (at 1.27 1.27 180) (layer F.SilkS)
      (effects (font (size 1.524 1.143) (thickness 0.3048)))
    )
    (fp_line (start -10.16 -2.54) (end 10.16 -2.54) (layer F.SilkS) (width 0.381))
    (fp_line (start 10.16 2.54) (end -10.16 2.54) (layer F.SilkS) (width 0.381))
    (fp_line (start -10.16 2.54) (end -10.16 -2.54) (layer F.SilkS) (width 0.381))
    (fp_line (start -10.16 -1.27) (end -8.89 -1.27) (layer F.SilkS) (width 0.381))
    (fp_line (start -8.89 -1.27) (end -8.89 1.27) (layer F.SilkS) (width 0.381))
    (fp_line (start -8.89 1.27) (end -10.16 1.27) (layer F.SilkS) (width 0.381))
    (fp_line (start 10.16 -2.54) (end 10.16 2.54) (layer F.SilkS) (width 0.381))
    (pad 14 thru_hole trapezoid (at -7.62 -3.81 180) (size 1.5748 2.286) (rect_delta 0 1 ) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
    (pad 13 thru_hole oval (at -5.08 -3.81 210) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
    (pad 12 thru_hole oval (at -2.54 -3.81 180) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
    (pad 11 thru_hole oval (at 0 -3.81 180) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
    (pad 10 thru_hole oval (at 2.54 -3.81 180) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
    (pad 9 thru_hole oval (at 5.08 -3.81 180) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
    (pad 8 smd custom (at 22.5 9.5 180) (size 1 1) (layers F.Cu F.Mask)
      (basic_shapes
        (anchor_pad_shape circle)
        (gr_circle (center 0 -10) (end 2.5 -10) (width 1))
        (gr_circle (center 0 -10) (end 5 -10) (width 1))
        (gr_circle (center 0 -10) (end 7.5 -10) (width 1))
        (gr_circle (center 0 -10) (end 10 -10) (width 1))
        (gr_line (start 0 0) (end 0 -7.5) (width 1))
      ))
    (pad 7 thru_hole custom (at 7.62 3.81 180) (size 1.6 1.6) (drill 0.8) (layers *.Cu *.Mask F.SilkS)
      (basic_shapes
        (anchor_pad_shape circle)
      ))
    (pad 6 thru_hole oval (at 5.08 3.81 180) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
    (pad 5 thru_hole oval (at 2.54 3.81 180) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
    (pad 4 thru_hole oval (at 0 3.81 180) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
    (pad 3 thru_hole oval (at -2.54 3.81 180) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
    (pad 2 thru_hole oval (at -5.08 3.81 180) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
    (pad 1 thru_hole rect (at -8.2 3.8 180) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
    (model dil/dil_14.wrl
      (at (xyz 0 0 0))
      (scale (xyz 1 1 1))
      (rotate (xyz 0 0 0))
    )
  )

  (module Connect:1pin (layer F.Cu) (tedit 57E50E55) (tstamp 56AA30DC)
    (at 173.3 58.7)
    (descr "module 1 pin (ou trou mecanique de percage)")
    (tags DEV)
    (fp_text reference REF_A2 (at -11.4 3) (layer F.SilkS)
      (effects (font (size 1 1) (thickness 0.15)))
    )
    (fp_text value ANTENNA_pad_polyline (at 0 2.794) (layer F.Fab)
      (effects (font (size 1 1) (thickness 0.15)))
    )
    (fp_line (start -20 -10) (end 1.5 -10) (layer F.SilkS) (width 0.15))
    (fp_line (start 1.5 -10) (end 1.5 1) (layer F.SilkS) (width 0.15))
    (fp_line (start 1.5 1) (end -20 1) (layer F.SilkS) (width 0.15))
    (fp_line (start -20 1) (end -20 -10) (layer F.SilkS) (width 0.15))
    (pad 1 smd custom (at 0 0) (size 1 1) (layers F.Cu F.Paste F.Mask)
      (basic_shapes
        (anchor_pad_shape circle)
        (gr_line (start -0.4928 -8.5) (end -0.4928 0.5) (width 0.1))
        (gr_line (start -6.4928 -8.5) (end -0.4928 -8.5) (width 0.1))
        (gr_line (start -6.4928 0.5) (end -6.4928 -8.5) (width 0.1))
        (gr_line (start -7.4928 0.5) (end -6.4928 0.5) (width 0.1))
        (gr_line (start -7.4928 -8.5) (end -7.4928 0.5) (width 0.1))
        (gr_line (start -9.4928 -8.5) (end -7.4928 -8.5) (width 0.1))
        (gr_line (start -9.4928 -4.5) (end -9.4928 -8.5) (width 0.1))
        (gr_line (start -12.4928 -4.5) (end -9.4928 -4.5) (width 0.1))
        (gr_line (start -12.4928 -8.5) (end -12.4928 -4.5) (width 0.1))
        (gr_line (start -13.4928 -8.5) (end -12.4928 -8.5) (width 0.1))
        (gr_line (start -13.4928 -4.5) (end -13.4928 -8.5) (width 0.1))
        (gr_line (start -16.4928 -4.5) (end -13.4928 -4.5) (width 0.1))
        (gr_line (start -16.4928 -8.5) (end -16.4928 -4.5) (width 0.1))
        (gr_line (start -17.4928 -8.5) (end -16.4928 -8.5) (width 0.1))
        (gr_line (start -17.4928 -4.5) (end -17.4928 -8.5) (width 0.1))
        (gr_line (start -19.4928 -4.5) (end -17.4928 -4.5) (width 0.1))
        (gr_line (start -19.4928 -9.5) (end -19.4928 -4.5) (width 0.1))
        (gr_line (start -15.4928 -9.5) (end -19.4928 -9.5) (width 0.1))
        (gr_line (start -15.4928 -5.5) (end -15.4928 -9.5) (width 0.1))
        (gr_line (start -14.4928 -5.5) (end -15.4928 -5.5) (width 0.1))
        (gr_line (start -14.4928 -9.5) (end -14.4928 -5.5) (width 0.1))
        (gr_line (start -11.4928 -9.5) (end -14.4928 -9.5) (width 0.1))
        (gr_line (start -11.4928 -5.5) (end -11.4928 -9.5) (width 0.1))
        (gr_line (start -10.4928 -5.5) (end -11.4928 -5.5) (width 0.1))
        (gr_line (start -10.4928 -9.5) (end -10.4928 -5.5) (width 0.1))
        (gr_line (start 0.5072 -9.5) (end -10.4928 -9.5) (width 0.1))
        (gr_line (start 0.5072 0.5) (end 0.5072 -9.5) (width 0.1))
        (gr_line (start -0.4928 0.5) (end 0.5072 0.5) (width 0.1))
      ))
  )

  (module Connect:1pin (layer F.Cu) (tedit 587D2039) (tstamp 56AA42FE)
    (at 90.2 62.4)
    (descr "module 1 pin (ou trou mecanique de percage)")
    (tags DEV)
    (fp_text reference REF_A1 (at 0 -3.048) (layer F.SilkS)
      (effects (font (size 1 1) (thickness 0.15)))
    )
    (fp_text value ANTENNA_pad_polygon (at -2.2 2.7) (layer F.Fab)
      (effects (font (size 1 1) (thickness 0.15)))
    )
    (fp_line (start -20 -10) (end 1.5 -10) (layer F.SilkS) (width 0.15))
    (fp_line (start 1.5 -10) (end 1.5 1) (layer F.SilkS) (width 0.15))
    (fp_line (start 1.5 1) (end -20 1) (layer F.SilkS) (width 0.15))
    (fp_line (start -20 1) (end -20 -10) (layer F.SilkS) (width 0.15))
    (pad 1 smd custom (at 0 0) (size 1 1) (layers F.Cu F.Paste F.Mask)
      (basic_shapes
        (anchor_pad_shape circle)
        (gr_poly (pts
           (xy 0.5 0.4) (xy 0.5 -9.6) (xy -10.5 -9.6) (xy -10.5 -5.6) (xy -11.5 -5.6)
           (xy -11.5 -9.6) (xy -14.5 -9.6) (xy -14.5 -5.6) (xy -15.5 -5.6) (xy -15.5 -9.6)
           (xy -19.5 -9.6) (xy -19.5 -4.6) (xy -17.5 -4.6) (xy -17.5 -8.6) (xy -16.5 -8.6)
           (xy -16.5 -4.6) (xy -13.5 -4.6) (xy -13.5 -8.6) (xy -12.5 -8.6) (xy -12.5 -4.6)
           (xy -9.5 -4.6) (xy -9.5 -8.6) (xy -7.5 -8.6) (xy -7.5 0.4) (xy -6.5 0.4)
           (xy -6.5 -8.6) (xy -0.5 -8.6) (xy -0.5 0.4)) (width 0.2))
      ))
  )

  (module Discret:C2 (layer F.Cu) (tedit 57E50E55) (tstamp 56A6452D)
    (at 104.299 99.72)
    (descr "Condensateur = 2 pas")
    (tags C)
    (path /56A7CE3B)
    (fp_text reference R1 (at -11.5 -15.1) (layer F.SilkS)
      (effects (font (size 1 1) (thickness 0.2)))
    )
    (fp_text value R (at -13.4 14) (layer F.SilkS) hide
      (effects (font (size 1.016 1.016) (thickness 0.2032)))
    )
    (fp_circle (center 0 0) (end 11.3 -11.3) (layer F.SilkS) (width 0.15))
    (pad 2 connect custom (at 10.509 -0.025 270) (size 3 2) (layers F.Cu F.Mask)
      (net 1 /PAD2)
      (basic_shapes
        (anchor_pad_shape rect)
        (gr_line (start 3 0.5) (end 3 17) (width 2))
        (gr_line (start -3 0.5) (end -3 17) (width 2))
        (gr_arc (start 0 9.9) (end -9.9 7.9) (angle 156.7) (width 2))
        (gr_arc (start 0 9.9) (end -15 7.9) (angle 165) (width 2))
        (gr_line (start 0 0) (end 0 -5) (width 2))
      ))
    (pad 1 connect custom (at -10.5 0 90) (size 1.397 1.397) (layers F.Cu F.Mask)
      (net 2 /PAD1)
      (basic_shapes
        (anchor_pad_shape circle)
        (gr_line (start 6 1.9) (end 6 13.9) (width 2))
        (gr_line (start -6 1.9) (end -6 13.9) (width 2))
        (gr_line (start 0 -0.1) (end 0 18) (width 2))
        (gr_arc (start 0 9.9) (end -9.9 7.9) (angle 156.7) (width 2))
      ))
    (model discret/capa_2pas_5x5mm.wrl
      (at (xyz 0 0 0))
      (scale (xyz 1 1 1))
      (rotate (xyz 0 0 0))
    )
  )

  (module Diodes_SMD:DO-214AB (layer F.Cu) (tedit 589B2E08) (tstamp 56A72D3C)
    (at 138.176 106.68)
    (descr "Jedec DO-214AB diode package. Designed according to Fairchild SS32 datasheet.")
    (tags "DO-214AB diode")
    (path /56A7CEC8)
    (attr smd)
    (fp_text reference R2 (at 0 -4.2) (layer F.SilkS)
      (effects (font (size 1 1) (thickness 0.15)))
    )
    (fp_text value R (at 0 4.6) (layer F.Fab)
      (effects (font (size 1 1) (thickness 0.15)))
    )
    (fp_line (start -5.15 -3.45) (end 5.15 -3.45) (layer F.CrtYd) (width 0.05))
    (fp_line (start 5.15 -3.45) (end 5.15 3.45) (layer F.CrtYd) (width 0.05))
    (fp_line (start 5.15 3.45) (end -5.15 3.45) (layer F.CrtYd) (width 0.05))
    (fp_line (start -5.15 3.45) (end -5.15 -3.45) (layer F.CrtYd) (width 0.05))
    (fp_line (start 3.5 3.2) (end -4.8 3.2) (layer F.SilkS) (width 0.15))
    (fp_line (start -4.8 -3.2) (end 3.5 -3.2) (layer F.SilkS) (width 0.15))
    (pad 1 smd roundrect (at -3.6 0) (size 2.6 3.2) (layers F.Cu F.Paste F.Mask)(roundrect_rratio 0.1)
      (net 2 /PAD1))
    (pad 2 smd circle (at 3.048 -1.524) (size 2.6 2.6) (layers F.Cu F.Paste F.Mask)
      (net 1 /PAD2))
    (model Diodes_SMD.3dshapes/DO-214AB.wrl
      (at (xyz 0 0 0))
      (scale (xyz 0.39 0.39 0.39))
      (rotate (xyz 0 0 180))
    )
  )

  (gr_line (start 61 138) (end 61 48) (angle 90) (layer Edge.Cuts) (width 0.15))
  (gr_line (start 179 138) (end 61 138) (angle 90) (layer Edge.Cuts) (width 0.15))
  (gr_line (start 179 48) (end 179 138) (angle 90) (layer Edge.Cuts) (width 0.15))
  (gr_line (start 61 48) (end 179 48) (angle 90) (layer Edge.Cuts) (width 0.15))
  (gr_line (start 2.9 0.7) (end 2.9 16.5) (layer Eco1.User) (width 2))
  (gr_line (start -3.1 0.8) (end -3.1 16.6) (layer Eco1.User) (width 2))
  (gr_line (start 5.9 2.1) (end 5.9 14.1) (layer Cmts.User) (width 2))
  (gr_line (start -6.1 2.1) (end -6.1 14.1) (layer Cmts.User) (width 2))
  (gr_line (start -0.1 0.1) (end -0.1 17.1) (layer Cmts.User) (width 2))
  (gr_arc (start -0.1 10.1) (end -10 8.1) (angle 156.7190291) (layer Cmts.User) (width 2))

  (segment (start 141.224 105.156) (end 141 104.932) (width 0.5) (layer F.Cu) (net 1))
  (segment (start 141 104.932) (end 141 102.7) (width 0.5) (layer F.Cu) (net 1))
  (segment (start 141 102.7) (end 139.7 101.4) (width 0.5) (layer F.Cu) (net 1))
  (segment (start 139.7 101.4) (end 133.531 101.4) (width 0.5) (layer F.Cu) (net 1))
  (segment (start 133.531 101.4) (end 131.826 99.695) (width 0.5) (layer F.Cu) (net 1))
  (segment (start 131.826 99.695) (end 114.808 99.695) (width 0.5) (layer F.Cu) (net 1))
  (segment (start 89.535 100.711) (end 90.526 99.72) (width 0.5) (layer F.Cu) (net 2))
  (segment (start 128.675765 111.224235) (end 94.841235 111.224235) (width 0.5) (layer F.Cu) (net 2))
  (segment (start 133.8 106.1) (end 128.675765 111.224235) (width 0.5) (layer F.Cu) (net 2))
  (segment (start 94.841235 111.224235) (end 89.535 105.918) (width 0.5) (layer F.Cu) (net 2))
  (segment (start 89.535 105.918) (end 89.535 100.711) (width 0.5) (layer F.Cu) (net 2))
  (segment (start 90.526 99.72) (end 93.799 99.72) (width 0.5) (layer F.Cu) (net 2))

  (zone (net 2) (net_name /PAD1) (layer F.Cu) (tstamp 589B2DB1) (hatch edge 0.508)
    (connect_pads (clearance 0.5))
    (min_thickness 0.254)
    (fill yes (arc_segments 16) (thermal_gap 0.508) (thermal_bridge_width 0.508))
    (polygon
      (pts
        (xy 62.992 48.768) (xy 177.8 48.768) (xy 177.8 136.652) (xy 62.992 137.16)
      )
    )
    (filled_polygon
      (pts
        (xy 153.151578 48.987968) (xy 153.15041 48.991592) (xy 153.148935 48.9963) (xy 153.14791 48.999672) (xy 153.123527 49.115146)
        (xy 153.122874 49.119412) (xy 153.122443 49.123085) (xy 153.121902 49.12807) (xy 153.117932 49.195474) (xy 153.117929 49.195838)
        (xy 153.117927 49.196172) (xy 153.117916 49.2) (xy 153.117916 54.2) (xy 153.120964 54.262355) (xy 153.121438 54.267358)
        (xy 153.121764 54.270491) (xy 153.145254 54.391361) (xy 153.146162 54.394517) (xy 153.147565 54.399219) (xy 153.14895 54.403747)
        (xy 153.194257 54.514816) (xy 153.196512 54.519167) (xy 153.198825 54.523554) (xy 153.200387 54.526452) (xy 153.267967 54.628978)
        (xy 153.270136 54.631706) (xy 153.273234 54.635531) (xy 153.275344 54.638089) (xy 153.361853 54.725792) (xy 153.364222 54.727806)
        (xy 153.368047 54.730991) (xy 153.372843 54.734935) (xy 153.469739 54.800784) (xy 153.475224 54.80382) (xy 153.479498 54.806151)
        (xy 153.482989 54.808018) (xy 153.595168 54.855622) (xy 165.595168 59.855622) (xy 165.598792 59.85679) (xy 165.6035 59.858265)
        (xy 165.606872 59.85929) (xy 165.722346 59.883673) (xy 165.726612 59.884326) (xy 165.730285 59.884757) (xy 165.73527 59.885298)
        (xy 165.802674 59.889268) (xy 165.803038 59.889271) (xy 165.803372 59.889273) (xy 165.8072 59.889284) (xy 173.8072 59.889284)
        (xy 173.869555 59.886236) (xy 173.874558 59.885762) (xy 173.877691 59.885436) (xy 173.998561 59.861946) (xy 174.001717 59.861038)
        (xy 174.006419 59.859635) (xy 174.010947 59.85825) (xy 174.122016 59.812943) (xy 174.126367 59.810688) (xy 174.130754 59.808375)
        (xy 174.133652 59.806813) (xy 174.236178 59.739233) (xy 174.238906 59.737064) (xy 174.242731 59.733966) (xy 174.245289 59.731856)
        (xy 174.332992 59.645347) (xy 174.335006 59.642978) (xy 174.338191 59.639153) (xy 174.342135 59.634357) (xy 174.407984 59.537461)
        (xy 174.41102 59.531976) (xy 174.413351 59.527702) (xy 174.415218 59.524211) (xy 174.462822 59.412032) (xy 174.46399 59.408408)
        (xy 174.465465 59.4037) (xy 174.46649 59.400328) (xy 174.490873 59.284854) (xy 174.491526 59.280588) (xy 174.491957 59.276915)
        (xy 174.492498 59.27193) (xy 174.496468 59.204526) (xy 174.496471 59.204162) (xy 174.496473 59.203828) (xy 174.496484 59.2)
        (xy 174.496484 49.2) (xy 174.493436 49.137645) (xy 174.492962 49.132642) (xy 174.492636 49.129509) (xy 174.469146 49.008639)
        (xy 174.468238 49.005483) (xy 174.466835 49.000781) (xy 174.46545 48.996253) (xy 174.424147 48.895) (xy 177.673 48.895)
        (xy 177.673 136.52556) (xy 63.119 137.032437) (xy 63.119 99.831375) (xy 91.963576 99.831375) (xy 91.966354 99.898242)
        (xy 91.967663 99.912143) (xy 91.968096 99.916578) (xy 92.166571 101.877736) (xy 92.175888 101.939498) (xy 92.208708 102.108675)
        (xy 92.22442 102.173725) (xy 92.228404 102.187107) (xy 92.229692 102.191378) (xy 92.80531 104.076635) (xy 92.826445 104.13541)
        (xy 92.891502 104.294996) (xy 92.919563 104.355781) (xy 92.926071 104.368134) (xy 92.928149 104.372046) (xy 93.858987 106.109593)
        (xy 93.891135 106.163141) (xy 93.985953 106.307055) (xy 94.025269 106.361211) (xy 94.034052 106.372065) (xy 94.036866 106.375517)
        (xy 95.287467 107.899172) (xy 95.329405 107.945458) (xy 95.450364 108.06821) (xy 95.499463 108.113709) (xy 95.510187 108.12265)
        (xy 95.513608 108.125482) (xy 97.036339 109.37721) (xy 97.086468 109.414468) (xy 97.22897 109.51139) (xy 97.285972 109.546485)
        (xy 97.298229 109.553173) (xy 97.302133 109.555286) (xy 99.038992 110.487408) (xy 99.095404 110.51422) (xy 99.254016 110.581616)
        (xy 99.316737 110.604967) (xy 99.330059 110.609147) (xy 99.33431 110.610465) (xy 101.219139 111.187478) (xy 101.279685 111.202822)
        (xy 101.470986 111.241468) (xy 101.595105 111.254122) (xy 101.79027 111.254876) (xy 101.91449 111.24318) (xy 102.106084 111.206011)
        (xy 102.161291 111.189576) (xy 105.528525 115.656769) (xy 105.651626 115.808215) (xy 105.739392 115.896888) (xy 105.889563 116.021539)
        (xy 105.992885 116.091479) (xy 106.164409 116.184588) (xy 106.279346 116.233127) (xy 106.465688 116.291147) (xy 106.587861 116.316436)
        (xy 106.781924 116.337158) (xy 106.906688 116.338236) (xy 107.10108 116.320869) (xy 107.167356 116.311429) (xy 107.181057 116.308739)
        (xy 107.185405 116.307869) (xy 109.305828 115.876258) (xy 109.366347 115.860826) (xy 109.49088 115.825223) (xy 109.554613 115.804753)
        (xy 109.567665 115.799793) (xy 109.571807 115.798202) (xy 112.325227 114.729924) (xy 112.382282 114.704515) (xy 112.536641 114.627873)
        (xy 112.595164 114.595426) (xy 112.607004 114.588026) (xy 112.61078 114.585647) (xy 115.104266 113.002906) (xy 115.155299 112.966899)
        (xy 115.291832 112.861734) (xy 115.342947 112.818531) (xy 115.353124 112.808972) (xy 115.356357 112.805913) (xy 117.494931 110.768994)
        (xy 117.537999 110.72376) (xy 117.651505 110.594079) (xy 117.693255 110.54177) (xy 117.701381 110.530417) (xy 117.703958 110.526789)
        (xy 119.406166 108.113278) (xy 119.43963 108.060536) (xy 119.525782 107.911285) (xy 119.556569 107.851878) (xy 119.562336 107.839162)
        (xy 119.564168 107.835083) (xy 119.951122 106.96575) (xy 132.641 106.96575) (xy 132.641 108.40631) (xy 132.737673 108.639699)
        (xy 132.916302 108.818327) (xy 133.149691 108.915) (xy 134.29025 108.915) (xy 134.449 108.75625) (xy 134.449 106.807)
        (xy 134.703 106.807) (xy 134.703 108.75625) (xy 134.86175 108.915) (xy 136.002309 108.915) (xy 136.235698 108.818327)
        (xy 136.414327 108.639699) (xy 136.511 108.40631) (xy 136.511 106.96575) (xy 136.35225 106.807) (xy 134.703 106.807)
        (xy 134.449 106.807) (xy 132.79975 106.807) (xy 132.641 106.96575) (xy 119.951122 106.96575) (xy 120.765169 105.13691)
        (xy 120.78775 105.078677) (xy 120.830286 104.95369) (xy 132.641 104.95369) (xy 132.641 106.39425) (xy 132.79975 106.553)
        (xy 134.449 106.553) (xy 134.449 104.60375) (xy 134.703 104.60375) (xy 134.703 106.553) (xy 136.35225 106.553)
        (xy 136.511 106.39425) (xy 136.511 104.95369) (xy 136.414327 104.720301) (xy 136.235698 104.541673) (xy 136.002309 104.445)
        (xy 134.86175 104.445) (xy 134.703 104.60375) (xy 134.449 104.60375) (xy 134.29025 104.445) (xy 133.149691 104.445)
        (xy 132.916302 104.541673) (xy 132.737673 104.720301) (xy 132.641 104.95369) (xy 120.830286 104.95369) (xy 120.843274 104.915527)
        (xy 120.861937 104.851264) (xy 120.865124 104.83767) (xy 120.866127 104.833326) (xy 121.520178 101.953263) (xy 121.531018 101.89175)
        (xy 121.553795 101.720928) (xy 121.559621 101.654268) (xy 121.560107 101.640315) (xy 121.560246 101.635851) (xy 121.589863 100.572)
        (xy 131.462734 100.572) (xy 132.910867 102.020133) (xy 133.195387 102.210242) (xy 133.531 102.277) (xy 139.336734 102.277)
        (xy 140.123 103.063265) (xy 140.123 103.532265) (xy 139.591322 104.063017) (xy 139.297335 104.771014) (xy 139.296666 105.537622)
        (xy 139.589416 106.246132) (xy 139.785628 106.442686) (xy 138.324416 107.23276) (xy 138.22098 107.302528) (xy 136.642012 108.608764)
        (xy 136.554097 108.697295) (xy 135.258917 110.285343) (xy 135.189873 110.389263) (xy 134.227813 112.198635) (xy 134.180268 112.313988)
        (xy 133.587972 114.275766) (xy 133.563738 114.398156) (xy 133.363767 116.437617) (xy 133.360778 116.508926) (xy 133.364872 116.802103)
        (xy 133.369851 116.873301) (xy 133.626689 118.906383) (xy 133.654331 119.028048) (xy 134.301172 120.972524) (xy 134.351919 121.086504)
        (xy 135.364125 122.868308) (xy 135.436044 122.97026) (xy 136.77506 124.521526) (xy 136.865413 124.607568) (xy 138.480237 125.869206)
        (xy 138.58558 125.936059) (xy 140.414703 126.860016) (xy 140.531026 126.905134) (xy 142.504778 127.456215) (xy 142.627649 127.477881)
        (xy 144.67085 127.635097) (xy 144.795589 127.632484) (xy 146.830415 127.389846) (xy 146.952271 127.363054) (xy 148.901215 126.729804)
        (xy 149.015546 126.679854) (xy 150.804373 125.680112) (xy 150.906825 125.608906) (xy 152.467401 124.280752) (xy 152.554071 124.191003)
        (xy 153.826952 122.585026) (xy 153.894539 122.480152) (xy 154.831243 120.657524) (xy 154.877172 120.541518) (xy 155.198841 119.419724)
        (xy 160.5056 119.419724) (xy 160.5056 120.200276) (xy 160.613265 120.741543) (xy 160.919868 121.200408) (xy 161.378733 121.507011)
        (xy 161.92 121.614676) (xy 162.461267 121.507011) (xy 162.920132 121.200408) (xy 163.19 120.796521) (xy 163.459868 121.200408)
        (xy 163.918733 121.507011) (xy 164.46 121.614676) (xy 165.001267 121.507011) (xy 165.460132 121.200408) (xy 165.73 120.796521)
        (xy 165.999868 121.200408) (xy 166.458733 121.507011) (xy 167 121.614676) (xy 167.541267 121.507011) (xy 168.000132 121.200408)
        (xy 168.27 120.796521) (xy 168.539868 121.200408) (xy 168.998733 121.507011) (xy 169.54 121.614676) (xy 170.081267 121.507011)
        (xy 170.540132 121.200408) (xy 170.846735 120.741543) (xy 170.882067 120.563918) (xy 171.050232 120.855189) (xy 171.414106 121.270107)
        (xy 171.909064 121.514195) (xy 172.459754 121.550288) (xy 172.982338 121.372895) (xy 173.397256 121.009021) (xy 173.536138 120.727399)
        (xy 173.746904 121.20921) (xy 173.880559 121.405041) (xy 174.087957 121.54362) (xy 174.3326 121.592283) (xy 174.9074 121.592283)
        (xy 175.140382 121.548317) (xy 175.350465 121.413843) (xy 175.493096 121.20921) (xy 176.493096 118.92321) (xy 176.546683 118.667)
        (xy 176.49802 118.422357) (xy 176.359441 118.214959) (xy 176.152043 118.07638) (xy 175.9074 118.027717) (xy 173.3326 118.027717)
        (xy 173.07639 118.081304) (xy 172.871757 118.223935) (xy 172.772044 118.379712) (xy 172.745894 118.349893) (xy 172.250936 118.105805)
        (xy 171.700246 118.069712) (xy 171.177662 118.247105) (xy 170.762744 118.610979) (xy 170.722517 118.692551) (xy 170.540132 118.419592)
        (xy 170.081267 118.112989) (xy 169.54 118.005324) (xy 168.998733 118.112989) (xy 168.539868 118.419592) (xy 168.27 118.823479)
        (xy 168.000132 118.419592) (xy 167.541267 118.112989) (xy 167 118.005324) (xy 166.458733 118.112989) (xy 165.999868 118.419592)
        (xy 165.73 118.823479) (xy 165.460132 118.419592) (xy 165.001267 118.112989) (xy 164.46 118.005324) (xy 163.918733 118.112989)
        (xy 163.459868 118.419592) (xy 163.19 118.823479) (xy 162.920132 118.419592) (xy 162.461267 118.112989) (xy 161.92 118.005324)
        (xy 161.378733 118.112989) (xy 160.919868 118.419592) (xy 160.613265 118.878457) (xy 160.5056 119.419724) (xy 155.198841 119.419724)
        (xy 155.442019 118.571661) (xy 155.464542 118.448946) (xy 155.612571 116.686136) (xy 155.636019 116.406889) (xy 155.634277 116.282137)
        (xy 155.40585 114.245667) (xy 155.37991 114.123627) (xy 154.78846 112.259141) (xy 157.944596 112.259141) (xy 157.956709 112.392236)
        (xy 157.987035 112.545395) (xy 158.023097 112.664839) (xy 158.082595 112.809191) (xy 158.141168 112.91935) (xy 158.22757 113.049396)
        (xy 158.306426 113.146084) (xy 158.416443 113.256872) (xy 158.512579 113.336402) (xy 158.642019 113.42371) (xy 158.751768 113.483051)
        (xy 158.895701 113.543555) (xy 159.014887 113.58045) (xy 159.16783 113.611845) (xy 159.291914 113.624886) (xy 159.448043 113.625976)
        (xy 159.572299 113.614668) (xy 159.725666 113.585411) (xy 159.845351 113.550185) (xy 159.990115 113.491697) (xy 160.100687 113.433892)
        (xy 160.231333 113.348399) (xy 160.328565 113.270223) (xy 160.440118 113.160983) (xy 160.520319 113.065402) (xy 160.583689 112.972852)
        (xy 160.613265 113.121543) (xy 160.919868 113.580408) (xy 161.378733 113.887011) (xy 161.92 113.994676) (xy 162.461267 113.887011)
        (xy 162.920132 113.580408) (xy 163.19 113.176521) (xy 163.459868 113.580408) (xy 163.918733 113.887011) (xy 164.46 113.994676)
        (xy 165.001267 113.887011) (xy 165.460132 113.580408) (xy 165.73 113.176521) (xy 165.999868 113.580408) (xy 166.458733 113.887011)
        (xy 167 113.994676) (xy 167.541267 113.887011) (xy 168.000132 113.580408) (xy 168.27 113.176521) (xy 168.539868 113.580408)
        (xy 168.998733 113.887011) (xy 169.54 113.994676) (xy 170.081267 113.887011) (xy 170.540132 113.580408) (xy 170.81 113.176521)
        (xy 171.079868 113.580408) (xy 171.538733 113.887011) (xy 172.08 113.994676) (xy 172.621267 113.887011) (xy 173.080132 113.580408)
        (xy 173.386735 113.121543) (xy 173.4944 112.580276) (xy 173.4944 111.799724) (xy 173.386735 111.258457) (xy 173.252127 111.057)
        (xy 173.773317 111.057) (xy 173.773317 113.343) (xy 173.82198 113.587643) (xy 173.960559 113.795041) (xy 174.167957 113.93362)
        (xy 174.4126 113.982283) (xy 175.9874 113.982283) (xy 176.232043 113.93362) (xy 176.439441 113.795041) (xy 176.57802 113.587643)
        (xy 176.626683 113.343) (xy 176.626683 111.057) (xy 176.57802 110.812357) (xy 176.439441 110.604959) (xy 176.232043 110.46638)
        (xy 175.9874 110.417717) (xy 174.4126 110.417717) (xy 174.167957 110.46638) (xy 173.960559 110.604959) (xy 173.82198 110.812357)
        (xy 173.773317 111.057) (xy 173.252127 111.057) (xy 173.080132 110.799592) (xy 172.621267 110.492989) (xy 172.08 110.385324)
        (xy 171.538733 110.492989) (xy 171.079868 110.799592) (xy 170.81 111.203479) (xy 170.540132 110.799592) (xy 170.081267 110.492989)
        (xy 169.54 110.385324) (xy 168.998733 110.492989) (xy 168.539868 110.799592) (xy 168.27 111.203479) (xy 168.000132 110.799592)
        (xy 167.541267 110.492989) (xy 167 110.385324) (xy 166.458733 110.492989) (xy 165.999868 110.799592) (xy 165.73 111.203479)
        (xy 165.460132 110.799592) (xy 165.001267 110.492989) (xy 164.46 110.385324) (xy 163.918733 110.492989) (xy 163.459868 110.799592)
        (xy 163.19 111.203479) (xy 162.920132 110.799592) (xy 162.461267 110.492989) (xy 161.92 110.385324) (xy 161.378733 110.492989)
        (xy 160.919868 110.799592) (xy 160.613265 111.258457) (xy 160.583579 111.4077) (xy 160.544317 111.346778) (xy 160.466818 111.248999)
        (xy 160.358359 111.136686) (xy 160.263344 111.055822) (xy 160.135136 110.966715) (xy 160.026223 110.905845) (xy 159.883149 110.843338)
        (xy 159.76449 110.804784) (xy 159.611999 110.771257) (xy 159.488112 110.756484) (xy 159.332014 110.753214) (xy 159.207615 110.762786)
        (xy 159.053854 110.789898) (xy 158.933684 110.82345) (xy 158.788118 110.879911) (xy 158.676752 110.936166) (xy 158.544925 111.019826)
        (xy 158.446607 111.096641) (xy 158.33354 111.204314) (xy 158.252017 111.29876) (xy 158.162017 111.426343) (xy 158.100389 111.534826)
        (xy 158.036884 111.67746) (xy 157.997502 111.795848) (xy 157.962911 111.9481) (xy 157.947086 112.080808) (xy 157.944596 112.259141)
        (xy 154.78846 112.259141) (xy 154.760281 112.17031) (xy 154.71113 112.055633) (xy 153.723901 110.259869) (xy 153.653412 110.156922)
        (xy 152.336185 108.587113) (xy 152.247043 108.499819) (xy 150.649992 107.215757) (xy 150.545592 107.147439) (xy 148.729547 106.198034)
        (xy 148.613866 106.151296) (xy 146.648001 105.57271) (xy 146.525444 105.549331) (xy 144.57259 105.364373) (xy 144.570309 105.36423)
        (xy 144.475025 105.36233) (xy 144.359874 105.364474) (xy 143.150708 105.491562) (xy 143.151334 104.774378) (xy 142.858584 104.065868)
        (xy 142.316983 103.523322) (xy 141.877 103.340624) (xy 141.877 102.700005) (xy 141.877001 102.7) (xy 141.810242 102.364387)
        (xy 141.707246 102.210242) (xy 141.620133 102.079867) (xy 141.62013 102.079865) (xy 140.320133 100.779867) (xy 140.035613 100.589758)
        (xy 139.7 100.523) (xy 133.894266 100.523) (xy 132.446133 99.074867) (xy 132.161613 98.884758) (xy 131.826 98.818)
        (xy 121.638692 98.818) (xy 121.642434 98.6836) (xy 121.641121 98.621155) (xy 121.630283 98.449155) (xy 121.623048 98.38262)
        (xy 121.620814 98.368837) (xy 121.620086 98.364448) (xy 121.127279 95.45246) (xy 121.113862 95.39146) (xy 121.069824 95.224843)
        (xy 121.049808 95.160994) (xy 121.04494 95.147908) (xy 121.043369 95.143729) (xy 119.994339 92.382918) (xy 119.969329 92.325687)
        (xy 119.893767 92.170798) (xy 119.861728 92.112046) (xy 119.854411 92.100155) (xy 119.85206 92.096365) (xy 118.286766 89.59189)
        (xy 118.251116 89.540607) (xy 118.146906 89.40334) (xy 118.104044 89.351908) (xy 118.094556 89.341665) (xy 118.091537 89.338428)
        (xy 116.069598 87.185685) (xy 116.024664 87.142301) (xy 115.89578 87.027894) (xy 115.84376 86.985778) (xy 115.832464 86.977573)
        (xy 115.828856 86.974972) (xy 113.427288 85.255958) (xy 113.374786 85.222129) (xy 113.226129 85.134931) (xy 113.16689 85.103708)
        (xy 113.154215 85.097854) (xy 113.150204 85.096018) (xy 110.460482 83.876209) (xy 110.402411 83.853223) (xy 110.239647 83.796559)
        (xy 110.175486 83.77744) (xy 110.161915 83.774159) (xy 110.157609 83.773134) (xy 107.282183 83.098993) (xy 107.220751 83.087724)
        (xy 107.027297 83.06193) (xy 106.902605 83.057587) (xy 106.707826 83.06986) (xy 106.584667 83.089819) (xy 106.39598 83.139691)
        (xy 106.279043 83.183193) (xy 106.103638 83.268764) (xy 105.997377 83.334149) (xy 105.841932 83.452161) (xy 105.750396 83.53694)
        (xy 105.620834 83.682896) (xy 102.133071 88.28214) (xy 102.037928 88.253104) (xy 101.846593 88.214624) (xy 101.722461 88.202078)
        (xy 101.527296 88.201494) (xy 101.403086 88.213298) (xy 101.211524 88.250634) (xy 101.146599 88.266857) (xy 101.133249 88.270946)
        (xy 101.128992 88.272266) (xy 99.265055 88.857418) (xy 99.206449 88.879014) (xy 99.048666 88.944705) (xy 98.988131 88.973162)
        (xy 98.975823 88.979755) (xy 98.971873 88.981889) (xy 97.240867 89.924835) (xy 97.187542 89.957358) (xy 97.0443 90.053173)
        (xy 96.990395 90.092886) (xy 96.979603 90.101745) (xy 96.976192 90.104565) (xy 95.461305 91.365772) (xy 95.415314 91.408031)
        (xy 95.293407 91.529847) (xy 95.248258 91.579256) (xy 95.239392 91.590042) (xy 95.236579 91.593489) (xy 93.995512 93.124921)
        (xy 93.958606 93.175308) (xy 93.862679 93.318487) (xy 93.827993 93.375713) (xy 93.821391 93.388015) (xy 93.819297 93.39195)
        (xy 92.899323 95.135273) (xy 92.872906 95.191869) (xy 92.806618 95.350949) (xy 92.783705 95.41383) (xy 92.779618 95.427181)
        (xy 92.778329 95.431445) (xy 92.214489 97.320258) (xy 92.199568 97.38091) (xy 92.165442 97.549832) (xy 92.15518 97.615961)
        (xy 92.153764 97.629851) (xy 92.153327 97.634289) (xy 91.967097 99.596647) (xy 91.964241 99.65904) (xy 91.963576 99.831375)
        (xy 63.119 99.831375) (xy 63.119 52.8) (xy 69.960716 52.8) (xy 69.960716 57.8) (xy 69.963793 57.862646)
        (xy 69.965714 57.882155) (xy 69.990169 58.005099) (xy 69.99586 58.023858) (xy 70.043812 58.13962) (xy 70.053053 58.156909)
        (xy 70.122671 58.261103) (xy 70.135107 58.276257) (xy 70.223743 58.364893) (xy 70.238897 58.377329) (xy 70.343091 58.446947)
        (xy 70.36038 58.456188) (xy 82.36038 63.456188) (xy 82.476142 63.50414) (xy 82.494901 63.509831) (xy 82.617845 63.534286)
        (xy 82.637354 63.536207) (xy 82.7 63.539284) (xy 90.7 63.539284) (xy 90.762646 63.536207) (xy 90.782155 63.534286)
        (xy 90.905099 63.509831) (xy 90.923858 63.50414) (xy 91.03962 63.456188) (xy 91.056909 63.446947) (xy 91.161103 63.377329)
        (xy 91.176257 63.364893) (xy 91.264893 63.276257) (xy 91.277329 63.261103) (xy 91.346947 63.156909) (xy 91.356188 63.13962)
        (xy 91.40414 63.023858) (xy 91.409831 63.005099) (xy 91.434286 62.882155) (xy 91.436207 62.862646) (xy 91.439284 62.8)
        (xy 91.439284 52.8) (xy 91.436207 52.737354) (xy 91.434286 52.717845) (xy 91.409831 52.594901) (xy 91.40414 52.576142)
        (xy 91.356188 52.46038) (xy 91.346947 52.443091) (xy 91.277329 52.338897) (xy 91.264893 52.323743) (xy 91.176257 52.235107)
        (xy 91.161103 52.222671) (xy 91.056909 52.153053) (xy 91.03962 52.143812) (xy 90.923858 52.09586) (xy 90.905099 52.090169)
        (xy 90.782155 52.065714) (xy 90.762646 52.063793) (xy 90.7 52.060716) (xy 70.7 52.060716) (xy 70.637354 52.063793)
        (xy 70.617845 52.065714) (xy 70.494901 52.090169) (xy 70.476142 52.09586) (xy 70.36038 52.143812) (xy 70.343091 52.153053)
        (xy 70.238897 52.222671) (xy 70.223743 52.235107) (xy 70.135107 52.323743) (xy 70.122671 52.338897) (xy 70.053053 52.443091)
        (xy 70.043812 52.46038) (xy 69.99586 52.576142) (xy 69.990169 52.594901) (xy 69.965714 52.717845) (xy 69.963793 52.737354)
        (xy 69.960716 52.8) (xy 63.119 52.8) (xy 63.119 48.895) (xy 153.19103 48.895)
      )
    )
  )
)

References