11浏览
查看: 11|回复: 3

[项目] 【花雕动手做】基于 Kitronik 游戏机开发板之星球推杆

[复制链接]
【花雕动手做】基于 Kitronik 游戏机开发板之星球推杆图1

Kitronik ARCADE 使用 Microsoft MakeCode 平台,具有以下优势:
图形化编程界面:适合初学者,支持拖拽式编程。
即时模拟器:可以实时测试游戏效果。
硬件兼容性:可部署到 Kitronik ARCADE 设备,实现实体游戏体验。
支持 Python/JavaScript:便于进阶学习。

【花雕动手做】基于 Kitronik 游戏机开发板之星球推杆图2

驴友花雕  中级技神
 楼主|

发表于 2 小时前

【花雕动手做】基于 Kitronik 游戏机开发板之星球推杆

作为学习、练习与尝试,这里创建一个星球推杆的小游戏。
打开网页版:https://arcade.makecode.com/,设置项目名称:星球推杆

JavaScript 实验代码


  1. namespace music {
  2.     // Golf sound effects
  3.     export const golferSwing = new music.Melody("~3, C4:0-400, E4:0-400, G4:0-400, R:0, C6:0-30")
  4.     export const golfBallLand = new music.Melody("~3, B3:0")
  5.     //Angle moving up and down
  6.     export const angleUp = new music.Melody("D4:0-400")
  7.     export const angleDown = new music.Melody("B3:0-400")
  8. }
  9. namespace customArt {
  10.     export const stars = img`
  11.         . . . . . . . . . . . . . . . .
  12.         . . . . . . . 1 . . . . . . . .
  13.         . . . . . . . 1 . . . . . . . .
  14.         . . . . . . 9 1 d . . . . . . .
  15.         . . . . . . c 1 c . . . . . . .
  16.         . . . . . c a 1 a c . . . . . .
  17.         . . . 9 c a 1 1 1 a c d . . . .
  18.         . 1 1 1 1 1 1 1 1 1 1 1 1 1 . .
  19.         . . . d c a 1 1 1 a c 9 . . . .
  20.         . . . . . c a 1 a c . . . . . .
  21.         . . . . . . c 1 c . . . . . . .
  22.         . . . . . . d 1 9 . . . . . . .
  23.         . . . . . . . 1 . . . . . . . .
  24.         . . . . . . . 1 . . . . . . . .
  25.         . . . . . . . . . . . . . . . .
  26.         . . . . . . . . . . . . . . . .
  27.     `
  28.     export const ufo = img`
  29.         . . . . . 7 7 7 7 6 6 . . . . .
  30.         . . . . 7 7 8 7 7 7 6 6 . . . .
  31.         . . . . 7 8 7 7 7 7 6 6 . . . .
  32.         . . . . 7 8 7 7 7 7 6 6 . . . .
  33.         . . . . 6 7 7 7 7 6 6 6 . . . .
  34.         . . . . 6 6 6 6 6 6 6 6 . . . .
  35.         . . . 1 b b b b b b b b a . . .
  36.         . . 1 8 7 b b 8 7 b b 8 7 a . .
  37.         1 1 b 7 7 b b 7 7 b b 7 7 b a a
  38.         b b b b b b b b b b b b a a a a
  39.         . c a a a a a a a a a a a c c .
  40.         . . c c c c c c c c c c c c . .
  41.         . . 3 3 5 5 3 3 5 5 3 3 5 5 . .
  42.         . . . 3 5 . . 3 5 . . 3 5 . . .
  43.         . . . 2 4 . . 2 4 . . 2 4 . . .
  44.         . . . . 2 . . . 2 . . . 2 . . .
  45.     `
  46.     export const black_hole_up = img`
  47.         0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  48.         0 0 0 0 0 0 0 0 0 0 0 8 8 0 0 0
  49.         0 0 8 0 8 0 0 0 0 0 0 0 0 8 0 0
  50.         0 0 0 1 0 0 0 0 0 0 0 0 0 8 8 0
  51.         0 0 8 0 8 0 0 0 0 8 8 8 8 7 8 0
  52.         0 0 0 0 0 0 0 8 8 8 7 7 7 7 8 0
  53.         0 0 0 0 0 0 8 8 7 7 7 7 8 8 0 0
  54.         0 0 0 0 0 8 8 7 7 7 7 8 8 0 0 0
  55.         0 0 0 0 8 8 7 8 2 7 8 8 0 0 0 0
  56.         0 0 0 0 8 7 7 8 2 2 2 0 0 0 0 1
  57.         0 0 0 8 8 7 7 8 2 2 2 2 2 0 0 0
  58.         0 0 0 8 7 7 7 8 2 2 2 2 2 2 0 0
  59.         0 0 8 8 7 7 7 8 2 2 2 2 2 2 2 0
  60.         0 8 8 8 7 7 7 8 2 2 2 2 2 2 0 0
  61.         0 8 8 8 7 7 8 8 2 2 2 2 2 8 0 0
  62.         8 8 7 7 7 8 8 8 2 2 8 7 7 8 8 0
  63.         `;
  64.     export const black_hole_left = img`
  65.         0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8
  66.         0 0 0 0 0 0 0 0 0 0 1 0 0 0 8 8
  67.         0 0 0 0 0 0 0 0 0 1 0 0 0 0 8 7
  68.         0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 7
  69.         0 0 0 0 0 0 0 0 0 0 0 8 8 8 7 7
  70.         0 0 0 0 0 0 0 0 8 8 8 8 8 7 7 8
  71.         0 0 0 0 8 8 8 8 8 8 8 8 8 7 7 8
  72.         0 8 8 8 8 7 7 7 7 7 7 7 7 7 7 8
  73.         0 0 0 0 8 8 8 8 8 8 8 8 8 7 7 8
  74.         0 0 0 0 0 0 0 0 8 8 8 8 8 7 7 8
  75.         0 0 1 0 0 0 0 0 0 0 0 8 8 8 7 7
  76.         0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 7
  77.         0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 7
  78.         0 0 0 0 0 0 0 0 0 0 8 0 0 0 8 8
  79.         0 0 0 0 0 0 0 0 0 8 1 8 0 0 0 8
  80.         0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0
  81.     `;
  82.     export const black_hole_down = img`
  83.         0 8 8 7 7 7 8 8 8 7 7 7 8 8 0 0
  84.         0 0 8 8 7 7 7 7 7 7 7 8 8 0 0 0
  85.         0 0 0 8 8 7 7 7 7 7 7 8 0 0 0 0
  86.         0 0 0 8 8 7 7 7 7 7 7 8 0 0 0 0
  87.         0 0 0 0 8 8 7 7 7 7 8 8 0 0 0 0
  88.         0 0 0 0 8 8 7 7 7 7 8 0 0 0 0 0
  89.         0 0 0 8 8 7 7 7 7 8 8 0 0 0 0 0
  90.         0 0 8 8 7 7 7 7 8 8 0 0 0 0 0 0
  91.         0 8 8 7 7 7 7 8 8 0 0 0 0 0 0 0
  92.         8 7 7 7 7 8 8 8 0 0 0 8 0 8 0 0
  93.         8 7 8 8 8 8 0 0 0 0 0 0 1 0 0 0
  94.         8 8 0 0 0 0 0 0 0 0 0 8 0 8 0 0
  95.         0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  96.         0 0 8 8 0 0 0 0 0 0 0 0 0 0 0 0
  97.         0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  98.         0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
  99.     `;
  100.     export const black_hole_center = img`
  101.         8 7 7 8 8 8 1 8 1 1 8 8 7 7 8 8
  102.         7 7 8 8 1 1 1 8 1 1 1 8 8 7 7 8
  103.         7 8 8 1 1 1 1 8 1 1 1 1 8 8 7 7
  104.         8 8 1 1 1 1 1 8 1 1 1 1 1 8 8 7
  105.         8 1 1 1 1 1 c 8 c 1 1 1 1 1 8 7
  106.         8 1 1 1 1 c c 8 c c 1 1 1 1 8 8
  107.         1 1 1 1 c c f 8 f c c 1 1 1 1 8
  108.         1 1 1 1 c f f 8 f f c 1 1 1 1 8
  109.         1 1 1 1 c c f f f c c 1 1 1 1 8
  110.         8 1 1 1 1 c c f c c 1 1 1 1 8 8
  111.         8 1 1 1 1 1 c c c 1 1 1 1 1 8 7
  112.         8 8 8 1 1 1 1 1 1 1 1 1 1 8 8 7
  113.         7 8 8 1 1 1 1 1 1 1 1 1 8 8 7 7
  114.         7 7 8 8 1 1 1 1 1 1 1 8 8 7 7 8
  115.         8 7 7 8 8 8 1 1 1 8 8 8 7 7 8 8
  116.         8 8 7 7 7 8 8 1 8 8 7 7 7 8 8 0
  117.     `;
  118.     export const black_hole_right = img`
  119.         0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0
  120.         8 0 0 0 0 0 0 0 8 1 8 0 0 0 0 0
  121.         8 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0
  122.         8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  123.         7 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0
  124.         7 7 8 8 8 8 8 8 0 0 0 0 0 0 0 0
  125.         7 7 8 8 8 8 8 8 8 8 8 8 0 0 0 0
  126.         7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 0
  127.         7 7 8 8 8 8 8 8 8 8 8 8 0 0 0 0
  128.         7 7 8 8 8 8 8 8 0 0 0 0 0 0 0 0
  129.         7 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0
  130.         8 8 0 0 0 0 0 0 0 0 0 1 0 0 0 0
  131.         8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  132.         8 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
  133.         0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
  134.         0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  135.     `;
  136.     export const floor_inner = img`
  137.         5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
  138.         5 5 5 5 4 4 5 5 5 5 4 4 5 5 5 5
  139.         5 5 5 4 3 3 4 5 5 4 3 3 4 5 5 4
  140.         4 4 4 3 3 3 3 4 4 3 5 3 3 4 4 3
  141.         5 5 5 3 3 3 3 3 3 3 5 5 5 3 3 3
  142.         3 3 5 5 3 d 3 5 5 3 3 3 3 3 3 3
  143.         3 3 3 3 3 3 3 3 3 d 9 9 3 3 3 e
  144.         3 3 3 5 3 3 3 3 d d d d d 3 3 3
  145.         3 5 3 3 5 3 3 3 5 e e e 3 3 3 3
  146.         3 3 5 3 5 5 5 5 3 3 3 3 3 5 3 5
  147.         3 e 3 3 3 d d 3 3 3 3 3 3 3 3 3
  148.         3 3 3 3 3 e e 3 3 3 3 3 3 3 3 3
  149.         3 3 3 3 5 3 3 3 3 5 3 3 3 5 5 5
  150.         5 3 3 3 5 5 5 3 3 3 5 3 3 3 3 5
  151.         3 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3
  152.         d d 3 3 3 5 3 3 5 5 3 3 3 3 3 d
  153.     `
  154.     export const meteor_front = img`
  155.         2 2 2 2 2 2 2 2 2 2 2 2 2 . . .
  156.         4 4 4 4 4 4 4 4 4 4 4 4 2 2 . .
  157.         4 3 3 3 3 5 3 5 3 5 5 4 4 2 2 .
  158.         b b b b b b b b b b 3 5 4 4 2 2
  159.         b 1 1 1 1 1 1 1 1 1 b 3 5 4 4 2
  160.         1 1 1 1 1 1 1 1 1 1 1 b b 5 4 2
  161.         b 1 1 1 1 1 1 1 1 1 1 1 b 5 4 2
  162.         1 1 1 1 1 1 1 1 1 1 1 1 b 5 4 2
  163.         b 1 1 1 1 1 1 1 1 1 1 1 b 5 4 2
  164.         1 1 1 1 1 1 1 1 1 1 1 1 b 5 4 2
  165.         b 1 1 1 1 1 1 1 1 1 1 b b 5 4 2
  166.         1 1 1 1 1 1 1 1 1 1 b 3 5 4 4 2
  167.         b b b b b b b b b b 3 5 4 4 2 2
  168.         4 3 3 3 3 5 3 5 3 5 5 4 4 2 2 .
  169.         4 4 4 4 4 4 4 4 4 4 4 4 2 2 . .
  170.         2 2 2 2 2 2 2 2 2 2 2 2 2 . . .
  171.     `
  172.     export const meteor_middle = img`
  173.         2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
  174.         4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
  175.         5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
  176.         3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
  177.         1 2 4 4 b b b b 4 4 4 b b b 2 b
  178.         3 3 2 2 2 5 5 5 2 3 3 3 3 5 5 5
  179.         1 1 1 4 4 4 4 b 5 5 2 2 4 4 4 1
  180.         b b 5 b b b 2 2 b b b 3 3 3 b b
  181.         1 3 4 4 4 4 4 5 5 5 5 1 1 1 1 1
  182.         b b b b 2 2 b b b 4 4 4 4 b b b
  183.         5 5 5 3 3 3 3 3 3 2 2 2 2 2 5 5
  184.         b 2 2 2 b b 4 4 4 4 4 b b b b b
  185.         3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
  186.         5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
  187.         4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
  188.         2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
  189.     `
  190.     export const meteor_back = img`
  191.         . . . . 2 2 2 2 2 2 2 2 2 2 2 2
  192.         . . 5 2 5 5 4 5 4 5 5 2 3 3 4 4
  193.         4 4 4 4 3 4 4 4 4 4 3 4 4 4 5 5
  194.         . . 2 2 2 3 2 3 2 3 2 2 2 3 2 2
  195.         . 5 5 5 3 4 5 5 5 4 b b b b b b
  196.         2 2 2 5 5 5 3 2 5 3 2 b 3 2 2 b
  197.         4 4 3 4 3 3 4 3 b b b b 4 4 1 b
  198.         . 2 2 2 2 3 2 5 5 5 5 b 5 5 5 2
  199.         4 4 3 4 3 4 b b b 4 b 4 4 1 1 1
  200.         . 4 4 3 5 5 3 5 b b b b 5 5 5 1
  201.         2 2 2 3 3 2 2 b 2 3 2 b b b 2 2
  202.         . 5 5 5 5 3 3 5 b b 5 1 5 1 5 5
  203.         4 4 4 . 4 3 2 4 3 2 4 3 4 2 4 1
  204.         . . 5 4 3 4 4 4 4 3 3 3 3 3 5 5
  205.         . 4 4 2 5 5 5 2 5 4 5 4 5 5 5 4
  206.         . . . . 2 2 2 2 2 2 2 2 2 2 2 2
  207.     `
  208.     export const satellite_top = img`
  209.         . . . . . . b 1 b . . . . . . .
  210.         . a a a a a a b a a a a a a a .
  211.         a a b b b 1 1 a 1 1 1 b b b a a
  212.         a b b 1 1 1 1 a 1 1 1 1 1 b b a
  213.         c a a a b b b c b b b b a a a c
  214.         . c a a a a a a a a a a a a c .
  215.         . . c c a a a a a a a a c c . .
  216.         . . . . c c c c c c c c . . . .
  217.         . . . . . a b c b . . . . . . .
  218.         . . 2 . a b b c b . . a b . . .
  219.         . . . b b b . a b b . a b a b .
  220.         . . c b b . . a a b . a b a b .
  221.         . c b b . b . . a b b b b b b b
  222.         c b b . . . b c b b . c b c b .
  223.         . . . . . . c b b . . c b c b .
  224.         . . . . c b b b . . . c b . . .
  225.     `
  226.     export const satellite_front = img`
  227.         . . . . . a a a a a a 8 7 3 4 a
  228.         . . . b b b b b b b b 8 7 3 4 b
  229.         . . 1 1 1 1 1 1 1 1 1 7 6 4 2 1
  230.         . . 1 1 1 1 1 1 1 1 1 6 6 2 2 1
  231.         . 1 1 1 1 1 1 1 1 1 1 6 6 2 2 1
  232.         1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  233.         1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  234.         1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  235.         1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  236.         b b b b b b b b b b b b b b b b
  237.         . a a a a a a a a a a a a a a a
  238.         . . a a a a a a a a a a a a a a
  239.         . . c c c c c c c c c c c c c c
  240.         . . . c c c c c c c c c c c c c
  241.         . . . . . a a a a a a a a a a a
  242.         . . . . . . . . . . . . . . . .
  243.     `
  244.     export const satellite_middle = img`
  245.         a a a a a a a a a c c a a a a a
  246.         b b b b b b b b b c c b b b b b
  247.         1 1 1 1 1 1 1 1 1 c c 1 1 1 1 1
  248.         1 1 1 1 1 1 1 1 1 c c 1 1 1 1 1
  249.         1 1 1 1 1 1 1 1 1 c c 1 1 1 1 1
  250.         1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  251.         1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  252.         1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  253.         1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
  254.         b b b b b b b b b b b b b b b b
  255.         a a a a a a a a a a a a a a a a
  256.         a a a a a a a a a a a a a a a a
  257.         c c c c c c c c c c c c c c c c
  258.         c c c c c c c c c c c c c c c c
  259.         a a a a a a a a a a a a a a a a
  260.         . . . . . . . . . . . . . . . .
  261.     `
  262.     export const satellite_back = img`
  263.         a a a . . . . . . a a . . . . .
  264.         b b b b . . . a a c a a . . . .
  265.         1 1 1 1 1 . a c a a c a a . . .
  266.         1 1 1 1 1 1 a a c a a c a a . .
  267.         1 1 1 1 1 1 1 a c a a c a a . .
  268.         1 1 1 1 1 1 1 a c a a c a a . .
  269.         1 1 1 1 1 1 1 a c a a c a a . .
  270.         1 1 1 1 1 1 1 a c a a c a a . .
  271.         1 1 1 1 1 1 1 a c a a c a a . .
  272.         b b b b b b b a c a a c a a . .
  273.         a a a a a a a a c a a c a a . .
  274.         a a a a a . a c a a c a a . . .
  275.         c c c c c . . a a c a a . . . .
  276.         c c c c . . . . . a a . . . . .
  277.         a a a a . . . . . . . . . . . .
  278.         . . . . . . . . . . . . . . . .
  279.     `
  280. }
  281. namespace customImages {
  282.     //% fixedInstance
  283.     export const titleScreen = img`
  284.         b c c c c c c c c c c c c c c c c c c c c c c c c d c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a a a a a c c c c c c c c c c c c c c c c c c c d c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  285.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a a a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  286.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  287.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c b
  288.         b c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d c c c c c c c c c c a b a c c c c c c c c c c b
  289.         b c c c c c c c c c c a a a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a b d b a c c c c c c c c c b
  290.         b c c c c c c c c c a a a a a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c a d d b a c c c c c c c c c b
  291.         b c c a c c c c c c c a a a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a b a c c c c c c c c c c c c c c c c c c c c c c c c c c c a b a c c c c c c c c c c b
  292.         b c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c a d d b a c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c b
  293.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b d b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a d d b a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  294.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b d d d b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a b a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  295.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b d b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c b
  296.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  297.         b c c c c c c c c c c c c c c c d c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  298.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  299.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a a a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  300.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a a d a a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  301.         b c c c c c c c c c c c c c c d d d d d c c c c c c c c c c c c c c c c c c c c c c c c c d c c c c c c c c c c c c c c c d d c c c a a a c c c c c c c c c c c c c c d c c d d c c c c c c c c c c c c c c c c c d c c c d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d c c c c c c c c b
  302.         d a c c c c c c c c c c c c c d d c c c d d d d c c c c c c c c c c c c c c c c c c c c d d c c c c c c c c c c c c c c c d d d c c c a c c c c c c c c c c c c c c c c c c d d d c c c c c c c c c c c c c c c c d c c c d d c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d c c c c c c c c c b
  303.         d d a c c c c c c c c c c c c d d c c c c c c c d d d c c c c c c c c c c c c c c c c d c d c c c c c c c c c c c c c c c d d d d c c c c c c c c c c c c c c c c c c c c c d d d c c c c c c c c c c c c c c c d d c c c d d c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d c c c c c c c c c b
  304.         d a c c c c c c c c c c c c c d d c c c c c c c c c c d d d c c c c c c c c c c c c d d c d c c c c c c c c c c c c c c c d d c d c c c c c c c c c c c c c c c c c c c c c d d c d c c c c c c c c c c c c c c d d c c c d d c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d c c c c c c c c c c b
  305.         b c c c c c c c c c c c c c c d d c c c c c c c c c c c c c d d d d c c c c c c c d d c c d c c c c c c d c c c c c c c c d d c d d c c c c c c c c c c c c c c c c c c c c d d c c d c c c c c c c c c c c c c d d c c c d d c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d c c c c c c c c c c c b
  306.         b c c c c c c c c c c c c c c d d c c c c c c c c c c c c c c c c c d d c c c c d d c c c d c c c c c c c c c c c c c c c d d c c d c c c c c c c c c c c c c c c c c c c c d d c c d c c c c c c c c c c c c d c d c c c d d c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d c c c c c c c c c c c c b
  307.         b c c c c c c c c c c c c c c d d c c c c c c c c c c c c c c c c c c d c c c d d c c c c d c c c c c c c c c c c c c c c d d c c d d c c c c c c c c c c c c c c c c c c c d d c c c d c c c c c c c c c c c d c d c c c d d c c c c c c d d d d d d d d d d d d d d d c c c c c d d d d d d d d d d c c c c c c c c c c c c b
  308.         b c c c c c c c c c c c c c c d d c c c c c d c c c c c c c c c c c c d c c c d d c c c c d c c c c c c c c c c c c c c c d d c c c d c c c c c c c c c c c c c c c c c c c d d c c c d c c c c c c c c c c c d c d c c c d d c c c c c c d c c c c c c c c c c c c d d c c c c c d c c c c c c c c c c c c c c c c c c c c c b
  309.         b c c c c c c c c c c c c c c d d c c c c c d d d c c c c c c c c c c d c c c d d c c c c d c c c c c c c c c c c c c c c d d c c c d d c c c c c c c c c c c c c c c c c c d d c c c c d c c c c c c a c c d c c d c c c d d c c c c c c d c c c c c c c c c c c c d d c c c c c d c c c c c c c c c c c c c c c c c c c c c b
  310.         b c c c c c c c c c c c c c c d d c c c c c d c c d d d d c c c c c c d c c c d d c c c c d c c c c c c c c c c c c c c c d d c c c c d c c c c c c c c c c c c c c c c c c d d c c c c c d c c c c c c c c d c c d c c c d d c c c c c c d c c c c c c c c c c c c d d c c c c c d c c c c c c c c c c c c c c c c c c c c c b
  311.         b a c a c a c a c a c a c a c d d c c c c c d a c a c a c d d c c c c d c a c d d c c c c d c a c a c a c a c a c a c a c d d c c c c d d a c a c a c a c a c a c a c a c a d d c c c c c d c a c a c a c a d c c d c a c d d c c c c c c d c a c a c a c a c a c a d d c c c c c d c a c a c a c a c a c a c a c a c a c a c b
  312.         b a a a a a a a a a a a a a a d d c c c c c d a a a a a a a d c c c c d a a a d d c c c c d a a a a a a a a a a a a a a a d d c c c c c d a a a a a a a a a a a a a a a a a d d c c c c c c d a a a a a a a d c c d a a a d d c c c c c c d a a a a a a a a a a a a d d c c c c c d a a a a a a a a a a a a a a a a a a a a a b
  313.         b a a a a a a a a a a a a a a d d c c c c c d a a a a a a a d c c c c d a a a d d c c c c d a a a a a a a a a a a a a a a d d c c c c c d d a a a a a a a a a a a a a a a a d d c c c c c c c d a a a a a d c c c d a a a d d c c c c c d a a a a a a a a a a a a a d d c c c c c d a a a a a a a a a a a a a a a a a a a a a b
  314.         b a a a a a a a a a a a a a a d d c c c c c d a a a a a a a d c c c c d a a a d d c c c c d a a a a a a a a a a a a a a a d d c c c c c c d d a a a a a a a a a a a a a a a d d c c c c c c c d a a a a a d c c c d a a a d d c c c c c d a a a a a a a a a a a a a d d c c c c c d a a a a a a a a a a a a a a a a a a a a a b
  315.         b a a a a a a a a a a a a a b d d c c c c c d a a a a a a a d c c c c d a a a d d c c c c d a a a a a a a a a a a a a a a d d c c c c c c c d a a a a a a a a a a a a a a a d d c c c c c c c c d a a a a d c c c d a a a d d c c c c c d a a a a a a a a a a a a a d d c c c c c d a a a a a a a a a a a a a a a a a a a a a b
  316.         b a a a a a a a a a a a a b b d d c c c c c d a a a a a a a d c c c c d b a a d d c c c c d a a a a a a a a a a a a a a a d d c c c d c c c d d a a a a a a a a a a a a a a d d c c c c c c c c d a a a d c c c c d a a a d d c c c c c d a a a a a a a a a a a a a d d c c c c c d a a a a a a a a a a a a a a a a a a a a a b
  317.         b a a a a a a a a a a a a b b d d c c c c c d a a a d d d d d c c c c d a a a d d c c c c d a a a a a a a a a a a a a a a d d c c c d d c c c d a a a a a a a a a a a a a a d d c c c c c c c c c d a a d c c c c d a a a d d c c c c c d d d d d d d d d d a a a a d d c c c c c d a a a a a a a a a a a a a a a a a a a a a b
  318.         b a a a a a a a a a a a a a b d d c c c c c d d d d c c c c c c c c c d a a a d d c c c c d a a a a a a a a a a a a a a a d d c c c d d c c c d d a a a a a a a a a a a a a d d c c c c c c c c c c d a d c c c c d a a a d d c c c c c c c c c c c c c d a a a a a d d c c c c c d a a a a a a a a a a a a a a a a b a a a a b
  319.         b a a a a a a a a a a a a a a d d c c c c c c c c c c c c c c c c c c d a a a d d c c c c d a a a a a a a a a a a a a a a d d c c c d a d c c c d a a a a a a a a a a a a a d d c c c c c c c c c c d d c c c c c d a a a d d c c c c c c c c c c c c d a a a a a a d d c c c c c d a a a a a a a a a a a a a a a b b b a a a b
  320.         b a a a a a a a a a a a a a a d d c c c c c c c c c c c c c c c c c c d a a a d d c c c c d a a a a a a a a a a a a a a a d d c c c d a d c c c d d a a a a a a a a a a a a d d c c c c d c c c c c c d c c c c c d a a a d d c c c c c c c c c c c d a a a a a a a d d c c c c c d a a a a a a a a a a a a a a b b d b b a a b
  321.         b a a a a a a a a a a a a a a d d c c c c c c c c c c c c c c c c c c d a a a d d c c c c d a a a a a a a a a a a a a a a d d c c c d a a d c c c d a a a a a a a a a a a a d d c c c c d d c c c c c c c c c c c d a a a d d c c c c c c c c c c d a a a a a a a a d d c c c c c d a a a a a a a a a a a a a a b b d b b a a b
  322.         b a a a a a a a a a a a a a a d d c c c c c c c c c c c c c c c c c c d a a a d d c c c c d a a a a a a a a a a a a a a a d d c c c d d d d c c c d d a a a a a a a a a a a d d c c c c d d d c c c c c c c c c c d a a a d d c c c c c c c c c c d a a a a a a a a d d c c c c c d a a a a a a a a a a a a a a a b b b a a a b
  323.         b a a a a a a a a a a a a a a d d c c c c c c c c c c c c d d d d d d d a a a d d c c c c d a a a a a a a a a a a a a a a d d c c c c c c c c c c c d a a a a a a a a a a a d d c c c c d d d c c c c c c c c c c d a a a d d c c c c c d d d d d a a a a a a a a a d d c c c c c d a a a a a a a a a a a a a a a a b a a a a b
  324.         b a a a a a a a a a a a a a a d d c c c c c d d d d d d d d a a a a a a a a a d d c c c c d a a a a a a a a a a a a a a a d d c c c c c c c c c c c d d a a a a a a a a a a d d c c c c d a d d c c c c c c c c c d a a a d d c c c c c d a a a a a a a a a a a a a d d c c c c c d a a a a a a a a a a a a a a a a a a a a a b
  325.         b a a a a a a a a a a a a a a d d c c c c c d a a a a a a a a a a a a a a a a d d c c c c d a a a a a a a a a a a a a a a d d c c c c c c c c c c c c d a a a a a a b a a a d d c c c c d a d d d c c c c c c c c d a a a d d c c c c c d a a a a a a a a a a a a a d d c c c c c d a a a a a a a a a a a a a a a a a a a a a b
  326.         b a a a a a a a a a a a a a a d d a a a a a d a a a a a a a a a a a a a a a a d d a a a a d a a a a a a a a a a a a a a a d d a a a a d d a a a a a a a d a a a a b d b a a d d a a a a d a a d d d a a a a a a a d a a a d d a a a a a d a a a a a a a a a a a a a d d a a a a a d a a a a a a a a a a a a a a a a a a a a a b
  327.         b b a b a b a b a b a b a b a d d a a a a a d b a b a b a b a b a b a b a b a d d a a a a d a b a b a b a b a b a b a b a d d a a a a d a d a a a a a a d d a a b d d d b b d d a a a a d b a b d d a a a a a a a d a b a d d a a a a a d b a b a b a b a b a b a b d d a a a a a d a b a b a b a b a b a b a b a b a b a b a b
  328.         b b b b b b b b b b b b b b b d d a a a a a d b b b b b b b b b b b b b b b b d d a a a a d b b b b b a a a b b b b b b b d d a a a a d b d a a a a a a a d a b b d d d b b d d a a a a d b b b b d d a a a a a a d b b b d d a a a a a a d b b b b b b b b b b b b d d a a a a a d b b b b b d b b b b b b b b b b b b b b b b
  329.         b b b b b b b b b b b b b b b d d a a a a a d b b b b b b b b b b b b b b b b d d a a a a d b b b b b b a b b b b b b b b d d a a a a d b b d a a a a a a d d b b b d b b b d d a a a a d b b b b d d d a a a a a d b b b d d a a a a a a d b b b b b b b b b b b b d d a a a a a d b b b b b b b b b b b b b b b b b b b b b b
  330.         b b b b b b b b b b b b b b b d d a a a a a d b b b b b b b b b b b b b b b b d d a a a a d d d d d d d d b b b b b b b b d d a a a a d b b b d a a a a a a d b b b b b b b d d a a a a d b b b b b d d d a a a a d b b b d d a a a a a a d b b b b b b b b b b b b d d a a a a a d b b b b b b b b b b b b b b b b b b b b b b
  331.         b b b b b b b b b b b b b b b d d a a a a a d b b b b b b b b b b b b b b b b d d a a a a a a a a a a a a d b b b b b b b d d a a a a d b b b d a a a a a a d d b b b b b b d d a a a a d b b b b b b d d a a a a d b b b d d a a a a a a d b b b b b b b b b b b b d d a a a a a d b b b b b b b b b b b b b b b b b b b b b b
  332.         b b b b b b b b b b b b b b b d d a a a a a d b b b b b b b b b b b b b b b b d d a a a a a a a a a a a a a d b b b b b b d d a a a a d b b b b d a a a a a a d b b b b b b d d a a a a d b b b b b b b d d a a a d b b b d d a a a a a a d d d d d d b b b b b b b d d a a a a a d b b b b b b b b b b b b b b b b b b b b b b
  333.         b b b b b b b b b b b b b b a d d a a a a a d b b b b b b b b b b b b b b b b d d a a a a a a a a a a a a a d b b b b b b d d a a a a d b b b b b d a a a a a d d b b b b b d d a a a a d b b b b b b b d d d a a d b b b d d a a a a a a a a a a a a d b b b b b b d d a a a a a d b b b b b b b b b b b b b b b b b b b b b b
  334.         b b b d b b b b b b b b b b b d d a a a a a d b b b b b b b b b b b b b b b b d d a a a a a a a a a a a a a a d b b b b b d d a a a a d b b b b b d a a a a a a d b b b b b d d a a a a d b b b b b b b b d d d a d b b b d d a a a a a a a a a a a a d b b b b b b d d a a a a a d b b b b b b b b b b b b b b b b b b b b b b
  335.         b b d d d b d b d b d b d b d d d a a a a a d b d b d b d b d b d b d b d b d d d a a a a a a a a a a a a a a a d b d b d d d a a a a d d b d b d b d a a a a a d d d b d b d d a a a a d b d b d b d b d b d d a d d b d d d a a a a a a a a a a a a a d b d b d b d d a a a a a d d b d b d b d b d b d b d b d b d b d b d b
  336.         b b b d b b b b b b b b b b b d d a a a a a d b b b b b b b b d b b b b b b b d d a a a a a a a a a a a a a a a a d b b b d d a a a a d b b b b b b b d a a a a a d b b b b d d a a a a d b b b b b b b b b b d d d b b b d d a a a a a a a a a a a a a a d b b b b d d a a a a a d b b b b b b b b b b b b b b b b b b b b b b
  337.         b b b b b b b b b b b b b b b d d a a a a a d b b b b b b b b b b b b b b b b d d a a a a a a a a a a a a a a a a d b b b d d a a a a d b b b b b b b d a a a a a d d b b b d d a a a a d b b b b b b b b b b d d d b b b d d a a a a a a a a a a a a a a d b b b b d d a a a a a d b b b b b b b b b b b b b b b b b b b b b b
  338.         b b b b b b b b b b b b b b b d d d d d d d d b b b b b b b b b b b b b b b b d d d d d d d d d d d d d d d d d d d b b b d d d d d d d b b b b b b b b d d d d d d d b b b d d d d d d d b b b b b b b b b b b d d b b b d d d d d d d d d d d d d d d d d d b b b d d d d d d d d b b b b b b b b b b b b b b b b b b b b b b
  339.         b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b a b b b b b b b b
  340.         b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b a a a b b b b b b b
  341.         b b b b d d d d d b b b b b b b b b b b b b b b b b b b b b b b b b d b b b b b b d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b a b b b b b b b b
  342.         b a b a d d 6 6 6 d d d d a b a b a b a b a b a b a b a b a b a b d d a b a b a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b a b b b b b b b a b a b a b a b a b a b a b a b a b a b a b a b a b b
  343.         b a a a d d 6 6 6 6 6 6 6 d d d a a a a a a a a a a a a a a a a d 6 d a a a a a d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b b b a a a a a a a a a a a a a a a a a a a a a a a a a a a a b
  344.         b a a a d d 6 6 6 6 6 6 6 6 6 6 d d d a a a a a a a a a a a a a d 6 d a a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b
  345.         b a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 d d d d a a a a a a a a d 6 6 d a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b
  346.         b a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d d a a a a a d 6 6 6 d a a a d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b
  347.         b a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a d 6 6 6 6 d a a d d d d d d d d d d d d d d d d d 6 6 6 6 6 d d d d d d d 6 6 6 6 6 d d d d d d d d d d a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b
  348.         b a a a d d 6 6 6 6 6 d 6 6 6 6 6 6 6 6 6 6 6 6 d a a a d d 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b
  349.         b a a a d d 6 6 6 6 6 d d d 6 6 6 6 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a b
  350.         b a a a d d 6 6 6 6 6 d a a d d d d 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d d d d a a a a a a a a a a a a a a a a a a a a a a a a a d a a a a a a d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d a b
  351.         b a a a d d 6 6 6 6 6 d a a a a a a d d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 d d d d a a a a a a a a a a a a a a a a a a a a d d a a a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a b
  352.         b a a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 6 6 d d d a a a a a a a a a a a a a a a a d 6 d a a a a a d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a b
  353.         b a a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 6 6 6 6 6 d d d a a a a a a a a a a a a a d 6 d a a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a b
  354.         b a a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 d d d d a a a a a a a a d 6 6 d a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a b
  355.         b a a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d d a a a a a d 6 6 6 d a a a d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a a b
  356.         b a a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a a a d 6 6 6 6 d a a d d d d d d d d d d d d d d d d d 6 6 6 6 6 d d d d d d d 6 6 6 6 6 d d d d d d d d d d a a a b a b
  357.         b a a a d d 6 6 6 6 6 d a a a d d d d d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 d 6 6 6 6 6 6 6 6 6 6 6 6 d a a a d d 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a b b b b
  358.         b a a a d d 6 6 6 6 6 d d d d 6 6 6 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 d d d 6 6 6 6 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a a b a b
  359.         b a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 d a a d d d d 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a a a a b
  360.         b a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 d a a a a a a d d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a a a a b
  361.         b a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a a a a b
  362.         b a a a d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a a d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 d a a d d 6 6 6 6 6 d a a a a a a a d 6 6 6 6 6 d a a b d d 6 6 6 6 6 d a a a a d d 6 6 6 6 6 d a a a a a a a a a a a a a a b
  363.         b a c a d d 6 6 6 6 6 6 6 6 6 6 6 6 d d d d d d d a c d d 6 6 6 6 6 d a c a c a c a d 6 6 6 6 6 d a c a d d 6 6 6 6 6 d c a c a d d 6 6 6 6 6 d c a c a c d d 6 6 6 6 6 d a d a c a c a d 6 6 6 6 d c a d d 6 6 6 6 6 d c a c a c a c d 6 6 6 6 6 d c a a d d 6 6 6 6 6 d a c a c d d 6 6 6 6 6 d a c a c a c a c a c a c a c b
  364.         b c c c d d 6 6 6 6 6 d d d d d d d d c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
  365.         b c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
  366.         b c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c d d 6 6 6 6 6 d c c c d d d d d 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
  367.         b c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c d d 6 6 6 6 6 d d d d 6 6 6 6 6 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
  368.         b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c d 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
  369.         b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c d 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
  370.         b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c d 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
  371.         b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 6 d c c c c c d 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
  372.         b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 d d d d d 7 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 6 6 6 6 6 6 6 d d d d d d d c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c a c c c c c c c c c c c c b
  373.         b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 d d d d d d d d c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d a a a c c c c c c c c c c c b
  374.         b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d b d a a c c c c c c c a c c b
  375.         b c c c d d 7 7 7 7 7 d c c c c c c a c c c c c c c c d d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d a a a c c c c c c c c c c c b
  376.         b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c a c c c c c c c c c c c c b
  377.         b c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c c d d 6 6 6 6 6 d c c c c c c c d 6 6 6 6 6 d c c c d d 6 6 6 6 6 d c c c c d d 6 6 6 6 6 d c c c c c c c c c c c c c c b
  378.         b c c c d d d d d d d d c c c c c c c c c c c c c c c c c c d d d d d d d d d d d d d d d d c c c c c c d d d d d d d d c c c c d d d d d d d d c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c d 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
  379.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c d 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
  380.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 d c c c c c d 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
  381.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 d d d d d 7 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
  382.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
  383.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
  384.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c d d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d d c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
  385.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
  386.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c c c c d d 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 d c c c c c d d 7 7 7 7 7 d c c c c d d 7 7 7 7 7 d c c c c c c c c c c c c c c b
  387.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c d d d d d d d d c c c c c c c c c c c c c c c c c a d d d d d d d d d d d d d d d d c c c c c c d d d d d d d d c c c c d d d d d d d d c c c c c c c c c c c c c c b
  388.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c b c c c c c c c c c c c c c c c c c c c c c d c c c c c c b
  389.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  390.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  391.         b c c c c c c c c c c c d c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  392.         b c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  393.         b c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  394.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a a a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  395.         b c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a a a a a a a a a a c c c c c c c c a c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  396.         b c c c a a a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a b b b b a b a a b b b b b b b a a b a c a c a a a c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  397.         b c c a a d a a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a b d b a b a a b a a b a b a a a b b b b a a a a a c c c c c a a c c c c c c c c c c a a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c b
  398.         b c c c a a a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a a 3 b d b b d b b b b a a a a a d b b b b b b b a a a a a a a a a b d b b c c c c c c c a b b a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a a a c c c c c c c c c b
  399.         b c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a a a a a b d d d d a b a b a a b b b 3 b b b b b b b b b a a a a a d b b d d b a a c c c c a b b b d a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a a a a a c c c c c c c c b
  400.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c a b b a a a a b d d d d d d b b a b b a d d d d b d b b b b b a a a b a a a a a a b b d d b b a a c c a b b a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a a a c c c c c c c c c b
  401.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a b a c c c c c c c c c c c b b a a a a b b b b b b d d d b b b a b d b b d d b b d d d b b b a b b b a a a b b b b a b b b b b b a c a a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a c c c c c c c c c c b
  402.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c a b b b a c c c c c c c c d d b b a a b b a a a a b b 3 b b d d d d d b b b 3 b b b b b b b b b b a a b b a b a b a 3 d b b b b b b b b a c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  403.         b c c c c c c c c c c c c c c c c c c c c c c c c c c c d c c c c c c c c c c c c c a b b b a c c c c c c d d d d b b b b a a a a a a a a a b b d b a b b b b b b b b b b b 3 b a b b a b a a a a a b b b d d d b b b b b b b b a c c c c c c c c c c c c c c c c c a c c c c c c c c c c c c c c c c c c c c c c c c c c c c b
  404.     `;
  405.     export const instructions = img`
  406.         c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
  407.         c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
  408.         c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
  409.         c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
  410.         c c c c a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a c c c c
  411.         c c c c a 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 a c c c c
  412.         c c c c a 5 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 5 a c c c c
  413.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  414.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  415.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  416.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  417.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  418.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  419.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  420.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  421.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  422.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  423.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c 5 5 c c 5 5 c 5 5 5 5 5 5 c 5 5 c c c c c c 5 5 c c c c c c c c 5 5 5 5 5 5 c 5 5 5 5 5 5 c c c c c c c c 5 5 5 5 5 5 c 5 5 5 5 5 5 c 5 5 c c c c c 5 5 5 5 5 5 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  424.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c 5 5 c c 5 5 c 5 5 5 5 5 5 c 5 5 c c c c c c 5 5 c c c c c c c c 5 5 5 5 5 5 c 5 5 5 5 5 5 c c c c c c c c 5 5 5 5 5 5 c 5 5 5 5 5 5 c 5 5 c c c c c 5 5 5 5 5 5 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  425.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c 5 5 c c 5 5 c 5 5 c c 5 5 c 5 5 c c c c c c 5 5 c c c c c c c c c c 5 5 c c c 5 5 c c 5 5 c c c c c c c c 5 5 c c c c c 5 5 c c 5 5 c 5 5 c c c c c 5 5 c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  426.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c 5 5 c c 5 5 c 5 5 c c 5 5 c 5 5 c c c c c c 5 5 c c c c c c c c c c 5 5 c c c 5 5 c c 5 5 c c c c c c c c 5 5 c c c c c 5 5 c c 5 5 c 5 5 c c c c c 5 5 c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  427.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c 5 5 5 5 5 5 c 5 5 c c 5 5 c 5 5 c c c c c c 5 5 c c c c c c c c c c 5 5 c c c 5 5 c c 5 5 c c c c c c c c 5 5 c c c c c 5 5 c c 5 5 c 5 5 c c c c c 5 5 5 5 c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  428.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c 5 5 5 5 5 5 c 5 5 c c 5 5 c 5 5 c c c c c c 5 5 c c c c c c c c c c 5 5 c c c 5 5 c c 5 5 c c c c c c c c 5 5 c c c c c 5 5 c c 5 5 c 5 5 c c c c c 5 5 5 5 c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  429.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c 5 5 c c 5 5 c 5 5 c c 5 5 c 5 5 c c 5 5 c c 5 5 c c c c c c c c c c 5 5 c c c 5 5 c c 5 5 c c c c c c c c 5 5 c c 5 5 c 5 5 c c 5 5 c 5 5 c c c c c 5 5 c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  430.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c 5 5 c c 5 5 c 5 5 c c 5 5 c 5 5 c c 5 5 c c 5 5 c c c c c c c c c c 5 5 c c c 5 5 c c 5 5 c c c c c c c c 5 5 c c 5 5 c 5 5 c c 5 5 c 5 5 c c c c c 5 5 c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  431.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c 5 5 c c 5 5 c 5 5 5 5 5 5 c c c 5 5 c c 5 5 c c c c c c c c c c c c 5 5 c c c 5 5 5 5 5 5 c c c c c c c c 5 5 5 5 5 5 c 5 5 5 5 5 5 c 5 5 5 5 5 5 c 5 5 c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  432.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c 5 5 c c 5 5 c 5 5 5 5 5 5 c c c 5 5 c c 5 5 c c c c c c c c c c c c 5 5 c c c 5 5 5 5 5 5 c c c c c c c c 5 5 5 5 5 5 c 5 5 5 5 5 5 c 5 5 5 5 5 5 c 5 5 c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  433.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  434.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  435.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  436.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  437.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  438.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  439.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  440.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  441.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  442.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  443.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  444.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  445.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c c c c c c c c 1 1 1 1 1 1 1 1 1 1 c c 1 1 c c c 1 1 1 1 1 c 1 c 1 1 c 1 1 c c c 1 c c c c c 1 1 1 1 1 1 1 c c 1 1 c 1 1 c 1 1 c c 1 1 c 1 1 1 1 c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  446.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1 c 1 1 c 1 c 1 1 c 1 1 1 1 c 1 c 1 1 c 1 c 1 1 1 1 1 1 c 1 1 1 1 1 1 1 1 c 1 1 c 1 c c 1 c 1 c 1 1 1 1 c 1 1 1 1 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  447.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c c c c 1 c 1 1 c 1 1 1 1 c 1 c 1 1 c 1 1 c c 1 1 1 1 c 1 1 1 1 1 1 1 1 c c c c 1 c 1 c c 1 c 1 c c 1 c 1 1 1 1 c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  448.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c c c c c c c c 1 1 1 1 1 1 1 1 1 c 1 1 c 1 c 1 1 c 1 c 1 1 c 1 c 1 1 c 1 1 1 1 c 1 1 1 c 1 1 1 1 1 1 1 1 c 1 1 c 1 c 1 1 c 1 c 1 1 c 1 c 1 1 1 1 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  449.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c c c c c c 1 1 1 1 1 1 1 1 1 1 c 1 1 c 1 c c c 1 1 1 c c 1 1 1 c c 1 1 c c c 1 1 1 1 c 1 1 1 1 1 1 1 1 c 1 1 c 1 c 1 1 c 1 1 c c 1 1 c c c c 1 c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  450.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  451.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  452.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  453.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  454.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  455.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  456.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  457.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  458.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  459.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  460.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c 1 5 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  461.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c c 1 5 c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  462.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c c c 1 5 c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  463.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c c c c 1 5 c c c c 1 1 1 1 1 1 1 1 1 1 c c c 1 c c c c 1 c c c c c 1 1 1 1 1 1 c c c 1 1 c c c 1 c c c 1 1 c c c c 1 1 c c 1 1 c c c c c 1 c c c 1 1 c c 1 1 c 1 1 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  464.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c c c c c 1 5 c c c c c 1 1 1 1 1 1 1 1 c 1 1 1 1 c 1 1 1 1 1 1 c 1 1 1 1 1 1 1 1 c 1 1 c 1 1 c 1 1 c 1 1 c 1 c 1 1 1 1 c 1 1 c 1 1 1 c 1 1 1 1 c 1 1 c 1 1 c 1 c c 1 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  465.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 c c c c c c 1 5 c c c c c c 1 1 1 1 1 1 1 1 c c 1 1 c c c 1 1 1 1 c 1 1 1 1 1 1 1 1 c 1 1 c 1 1 c 1 1 c c c 1 1 c c c 1 1 c 1 1 1 1 1 1 c 1 1 1 1 c 1 1 c 1 1 c 1 c 1 c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  466.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c c 1 5 c c c c c 1 1 1 1 1 1 1 1 1 1 1 c 1 c 1 1 1 1 1 1 c 1 1 1 1 1 1 1 1 c 1 1 c 1 1 c 1 1 c 1 c 1 1 c 1 1 1 1 c 1 1 c 1 1 1 c 1 1 1 1 c 1 1 c 1 1 c 1 c 1 1 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  467.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c 1 5 c c c c 1 1 1 1 1 1 1 1 1 c c c 1 1 c c c c 1 1 1 c 1 1 1 1 1 1 1 1 c c c 1 1 c c c 1 c 1 1 c 1 c c c c 1 1 c c 1 1 1 1 c 1 1 1 c c c 1 1 c c 1 1 c 1 1 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  468.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c 1 5 c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  469.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c 1 5 c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  470.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c 1 5 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  471.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  472.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  473.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  474.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  475.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  476.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  477.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  478.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  479.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c 5 5 5 c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  480.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c 5 c 5 c c c c 1 1 1 1 1 1 1 1 1 c c c 1 c c c c 1 c c c c c 1 1 1 1 1 1 c c c 1 1 1 c c 1 1 c 1 1 1 c 1 c c c c 1 c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  481.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c 5 c c c 5 c c c 1 1 1 1 1 1 1 1 c 1 1 1 1 c 1 1 1 1 1 1 c 1 1 1 1 1 1 1 1 c 1 1 c 1 c 1 1 c 1 c 1 1 1 c 1 c 1 1 1 1 c 1 1 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  482.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c 5 5 5 5 5 c c c 1 1 1 1 1 1 1 1 1 c c 1 1 c c c 1 1 1 1 c 1 1 1 1 1 1 1 1 c c c 1 1 c 1 1 c 1 c 1 c 1 c 1 c c c 1 1 c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  483.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c 5 c c c c c 5 c c 1 1 1 1 1 1 1 1 1 1 1 c 1 c 1 1 1 1 1 1 c 1 1 1 1 1 1 1 1 c 1 1 1 1 c 1 1 c 1 c c 1 c c 1 c 1 1 1 1 c 1 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  484.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c 5 c c c c c 5 c c 1 1 1 1 1 1 1 1 c c c 1 1 c c c c 1 1 1 c 1 1 1 1 1 1 1 1 c 1 1 1 1 1 c c 1 1 c 1 1 1 c 1 c c c c 1 c 1 1 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  485.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 c c c c c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  486.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 c c c c c c c 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  487.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 c c c c c 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  488.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  489.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  490.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  491.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  492.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  493.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  494.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  495.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  496.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c c c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  497.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c 5 5 5 5 c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  498.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c 5 c c c 5 c c c 1 1 1 1 1 1 1 1 c 1 1 1 c 1 c c c 1 c c c c 1 c 1 1 1 c 1 1 1 1 1 1 c 1 1 1 c 1 1 c c 1 1 c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  499.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c 5 c c c 5 c c c 1 1 1 1 1 1 1 1 c 1 1 1 c 1 1 c 1 1 c 1 1 1 1 c 1 1 1 c 1 1 1 1 1 1 c c 1 c c 1 c 1 1 c 1 c 1 1 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  500.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c 5 5 5 5 c c c c 1 1 1 1 1 1 1 1 1 c 1 c 1 1 1 c 1 1 c c c 1 1 c 1 c 1 c 1 1 1 1 1 1 c 1 c 1 c 1 c c c c 1 c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  501.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c 5 c c c 5 c c c 1 1 1 1 1 1 1 1 1 c 1 c 1 1 1 c 1 1 c 1 1 1 1 c c 1 c c 1 1 1 1 1 1 c 1 1 1 c 1 c 1 1 c 1 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  502.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 c c c 5 c c c 5 c c c 1 1 1 1 1 1 1 1 1 1 c 1 1 1 c c c 1 c c c c 1 c 1 1 1 c 1 1 1 1 1 1 c 1 1 1 c 1 c 1 1 c 1 c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  503.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 c c 5 5 5 5 c c c 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  504.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 c c c c c c c 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  505.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 c c c c c 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  506.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 5 5 5 5 5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  507.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  508.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  509.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  510.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  511.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  512.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  513.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  514.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  515.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  516.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  517.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  518.         c c c c a 5 d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 d 5 a c c c c
  519.         c c c c a 5 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 5 a c c c c
  520.         c c c c a 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 a c c c c
  521.         c c c c a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a c c c c
  522.         c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
  523.         c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
  524.         c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
  525.         c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
  526.     `
  527.     export const levelOne_bg = img`
  528.         f f f f f f f f f f f f f f f f
  529.         f f f f f f f f f f f f f f f f
  530.         f f f f f f f f f f f f f f f f
  531.         f f f f f f f f f f f f f f f f
  532.         f f f f f f f f f f f f f f f f
  533.         f f f f f f f f f f f f f f f f
  534.         f f f f f f f f f f f f f f f f
  535.         f f f f f f f f f f f f f f f f
  536.         f f f f f f f f f f f f f f f f
  537.         f f f f f f f f f f f f f f f f
  538.         f f f f f f f f f f f f f f f f
  539.         f f f f f f f f f f f f f f f f
  540.         f f f f f f f f f f f f f f f f
  541.         f f f f f f f f f f f f f f f f
  542.         f f f f f f f f f f f f f f f f
  543.         f f f f f f f f f f f f f f f f
  544.     `
  545.     export const levelTwo_bg = img`
  546.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  547.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  548.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  549.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  550.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  551.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  552.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  553.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  554.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  555.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  556.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  557.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  558.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  559.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  560.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  561.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  562.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  563.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  564.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  565.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  566.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  567.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  568.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  569.         9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
  570.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  571.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 1 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  572.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  573.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  574.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  575.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  576.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  577.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  578.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  579.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 1 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 1 d d d d d
  580.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  581.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  582.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 1 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  583.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  584.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  585.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  586.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  587.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  588.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 1 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  589.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  590.         d d d d d d d d d d d d d d d 1 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 1 d d d d d d d d d d d d d d d d d d d d d d d
  591.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  592.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 1 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  593.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  594.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  595.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  596.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  597.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  598.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  599.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  600.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  601.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  602.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  603.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  604.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 1 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  605.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  606.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  607.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 1 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  608.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  609.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 1 d d d d d d d d d d d d d
  610.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d 1 d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  611.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  612.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  613.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  614.         d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d
  615.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  616.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  617.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  618.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  619.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e 1 e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  620.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  621.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e 1 e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  622.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  623.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  624.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e 1 e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  625.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  626.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  627.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  628.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  629.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  630.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  631.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  632.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  633.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  634.         e e e e e e e e e e e e 1 e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  635.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  636.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  637.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  638.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  639.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  640.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  641.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  642.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e 1 e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  643.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  644.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  645.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  646.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  647.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  648.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e 1 e e e e e e e e e e e e
  649.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  650.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  651.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  652.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  653.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  654.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  655.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  656.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e 1 e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  657.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  658.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  659.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  660.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  661.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  662.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  663.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  664.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  665.         e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e e
  666.     `
  667. }
  668. namespace customPalettes {
  669.     export const titlePalette = hex`000000
  670.     d7baf5
  671.     55139b
  672.     350583
  673.     40028c
  674.     490493
  675.     34e24e
  676.     77ff8c
  677.     5b1c9b
  678.     6624a8
  679.     836ff2
  680.     b189d3
  681.     55139b
  682.     ffffff
  683.     a076cb
  684.     77ff8c`
  685.     export const inGamePalette = hex`000000
  686.     ffffff
  687.     ff2121
  688.     ffd982
  689.     fc922f
  690.     fcc92f
  691.     34e24e
  692.     77ff8c
  693.     c9ffd1
  694.     bc1c7c
  695.     d1d1d1
  696.     efefef
  697.     716a75
  698.     961c96
  699.     531a68
  700.     000000`
  701. }
  702. namespace level {
  703.     export class Layout {
  704.         // The background color for the mini map
  705.         public mapBackgroundColor: number;
  706.         // The type is the index of the tilemap that should be rendered on the mini map.
  707.         // This can exclude things like stars/clouds. The color is the single pixel color
  708.         // that is used in the map to show the usually 16x16 tile. This can be different than
  709.         // the index used in the tilemap, and multiple maptiles can have the same color.
  710.         public mapTilesToRender: Array<{ type: number, color: number }>;
  711.         // This represents the index of the goal/hole(s) of the map. Note, if we decide to stop
  712.         // using the tilemap to track the hole and want to use a sprite instead, then we would
  713.         // need to change the map code.
  714.         public holeIndex: number;
  715.         // These are the width and height of the tilemap used for this level. Used to center the map
  716.         // on the screen, and possibly to scale the map to the size of the screen.
  717.         public height: number;
  718.         public width: number;
  719.         // The tile where the golfer will be placed when starting the level
  720.         private startTileX: number;
  721.         private startTileY: number;
  722.         constructor(startTileX: number, startTileY: number) {
  723.             this.startTileX = startTileX;
  724.             this.startTileY = startTileY;
  725.         }
  726.         public getStartingBallPosition(): { x: number, y: number } {
  727.             // Ball size is 4x4, so for setPosition we need center, so add 2 to both x & y
  728.             // we want the ball at the bottom of the tile asked, so we add 16 and then subtract 2 given ball size
  729.             return { x: (this.startTileX << 4) + 2, y: (this.startTileY << 4) + 14 };
  730.         }
  731.     }
  732.     export function showMap(ballLocationX: number, ballLocationY: number, layout: level.Layout): void {
  733.         const map = image.create(scene.screenWidth(), scene.screenHeight());
  734.         const scale = Math.floor(Math.min(scene.screenWidth() / layout.width, scene.screenHeight() / layout.height));
  735.         const offsetX = (scene.screenWidth() - layout.width * scale) / 2;
  736.         const offsetY = (scene.screenHeight() - layout.height * scale) / 2;
  737.         map.fillRect(offsetX, offsetY, layout.width * scale, layout.height * scale, 14);
  738.         for (let mapTile of layout.mapTilesToRender) {
  739.             const tiles = scene.getTilesByType(mapTile.type);
  740.             for (let tile of tiles) {
  741.                 const x = ((tile.x - 8) >> 4) * scale + offsetX;
  742.                 const y = ((tile.y - 8) >> 4) * scale + offsetY;
  743.                 for (let row = y; row < y + scale; row++) {
  744.                     for (let col = x; col < x + scale; col++) {
  745.                         map.setPixel(col, row, mapTile.color);
  746.                     }
  747.                 }
  748.             }
  749.         }
  750.         const flags = scene.getTilesByType(layout.holeIndex);
  751.         const flagPositions = [];
  752.         for (let flag of flags) {
  753.             const x = ((flag.x - 8) >> 4) * scale + offsetX + scale / 2;
  754.             const y = ((flag.y - 8) >> 4) * scale + offsetY + scale / 2;
  755.             flagPositions.push({ x: x, y: y });
  756.         }
  757.         game.pushScene();
  758.         const smallFlag = sprites.create(img`
  759.             . . 2 1
  760.             . 2 2 1
  761.             2 2 2 1
  762.             2 2 2 1
  763.             . 2 2 1
  764.             . . 2 1
  765.             . . . 1
  766.             . . . 1
  767.         `);
  768.         for (let flagPosition of flagPositions) {
  769.             smallFlag.setPosition(flagPosition.x, flagPosition.y);
  770.         }
  771.         const smallGolfer = sprites.create(img`
  772.             . 1 1 .
  773.             1 f f 1
  774.             1 f f 1
  775.             . 1 1 .
  776.             . 2 2 .
  777.             1 1 1 1
  778.             . 1 1 .
  779.             1 . . 1
  780.         `);
  781.         const golferLocationX = (ballLocationX >> 4) * scale + offsetX + scale / 2;
  782.         const golferLocationY = (ballLocationY >> 4) * scale + offsetY + scale / 2;
  783.         smallGolfer.setPosition(golferLocationX, golferLocationY);
  784.         scene.setBackgroundImage(map);
  785.         controller.pauseUntilAnyButtonIsPressed();
  786.         smallFlag.destroy();
  787.         smallGolfer.destroy();
  788.         game.popScene();
  789.     }
  790.     function setupScene(): void {
  791.         scene.setBackgroundImage(customImages.levelTwo_bg);
  792.         scene.setTile(1, customArt.stars, false);
  793.         scene.setTile(2, customArt.ufo, true);
  794.         scene.setTile(3, customArt.black_hole_center, true);
  795.         scene.setTile(4, customArt.black_hole_up, false);
  796.         scene.setTile(5, customArt.black_hole_down, false);
  797.         scene.setTile(6, customArt.black_hole_left, false);
  798.         scene.setTile(7, customArt.black_hole_right, false);
  799.         scene.setTile(8, customArt.floor_inner, true);
  800.         scene.setTile(9, customArt.meteor_front, true);
  801.         scene.setTile(10, customArt.meteor_middle, true);
  802.         scene.setTile(11, customArt.meteor_back, true);
  803.         scene.setTile(12, customArt.satellite_top, true);
  804.         scene.setTile(13, customArt.satellite_front, true);
  805.         scene.setTile(14, customArt.satellite_middle, true);
  806.         scene.setTile(15, customArt.satellite_back, true);
  807.     }
  808.     function loadLevelOne(): level.Layout {
  809.         setupScene();
  810.         scene.setTileMap(img`
  811.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  812.             . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . .
  813.             . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 .
  814.             . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . .
  815.             . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . .
  816.             . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . .
  817.             . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  818.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  819.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  820.             . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . .
  821.             . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 .
  822.             . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . .
  823.             . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . .
  824.             . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . .
  825.             . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  826.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  827.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 . . . . . . . . .
  828.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 7 . . . . . . . .
  829.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 . . . . . . . . .
  830.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  831.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  832.             . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8 . . . . . . . . . . . . . . . . 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
  833.             . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8 . . . . . . . . . . . . . . . 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
  834.             8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
  835.         `)
  836.         const layout = new level.Layout(1, 22);
  837.         layout.height = 24;
  838.         layout.width = 64;
  839.         layout.holeIndex = 3;
  840.         layout.mapTilesToRender = [
  841.             { type: 7, color: 7 },
  842.             { type: 8, color: 5 },
  843.             { type: 9, color: 5 },
  844.             { type: 10, color: 5 },
  845.             { type: 11, color: 5 },
  846.             { type: 12, color: 10 },
  847.             { type: 13, color: 10 },
  848.             { type: 14, color: 10 },
  849.             { type: 15, color: 10 },
  850.         ];
  851.         return layout;
  852.     }
  853.     function loadLevelTwo(): level.Layout {
  854.         setupScene();
  855.         scene.setTileMap(img`
  856.             . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . .
  857.             . . . 1 . . . . . . . . . . . . . . . . . . . . . . 4 . . . . .
  858.             . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 7 . . . .
  859.             . . . . . . . . . . . . . . . . . . . . . . . . . . 5 . . . . .
  860.             . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . .
  861.             . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 .
  862.             . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . .
  863.             . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . .
  864.             . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . .
  865.             . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  866.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  867.             . . . . . . . . . . . . . . . . . . . . . . . . . b a a 9 . . .
  868.             . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . .
  869.             . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 .
  870.             8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 . . . .
  871.             . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . 8
  872.             . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . 8 8 8 8
  873.             . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8
  874.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8
  875.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8
  876.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8
  877.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8
  878.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8
  879.             . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8 8 8
  880.             . . . . . 8 8 8 . . 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
  881.             . . . . 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
  882.             8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
  883.         `)
  884.         const layout = new level.Layout(1, 25);
  885.         layout.height = 27;
  886.         layout.width = 32;
  887.         layout.holeIndex = 3;
  888.         layout.mapTilesToRender = [
  889.             { type: 7, color: 7 },
  890.             { type: 8, color: 5 },
  891.             { type: 9, color: 5 },
  892.             { type: 10, color: 5 },
  893.             { type: 11, color: 5 },
  894.             { type: 12, color: 10 },
  895.             { type: 13, color: 10 },
  896.             { type: 14, color: 10 },
  897.             { type: 15, color: 10 },
  898.         ];
  899.         return layout;
  900.     }
  901.     function loadLevelThree(): level.Layout {
  902.         setupScene();
  903.         scene.setTileMap(img`
  904.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  905.             . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . .
  906.             . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 .
  907.             . 4 . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . .
  908.             6 3 7 . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . .
  909.             . 5 . . 1 . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . .
  910.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  911.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  912.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  913.             . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . .
  914.             . . . . . . . . . . . . . . 1 . . . . . . . . . 1 . . . . . 2 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 .
  915.             . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . .
  916.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . .
  917.             . . . . . . . . . . 1 . . . . . . . . . . . c . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . .
  918.             . . . 1 . . . . . . . . . . . . . . . . . . d e f . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  919.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  920.             . . . . . . . . . . b a a a 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  921.             . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . .
  922.             . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 .
  923.             . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . .
  924.             . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . c . . . . . . . . . . . . . . . . . . . 2 . . . . . . .
  925.             . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . d e e e f . . . 1 . . . . . . . . . . . . . . . . . . . . .
  926.             . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  927.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . b a a 9 . . . . . . . . . . .
  928.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  929.             . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . .
  930.             . . . c . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 .
  931.             . . . d e e f . 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . .
  932.             . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . .
  933.             . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . c . . .
  934.             . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . . . . . . . . . . . . . . . d e e e f . . .
  935.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  936.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  937.             . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . b a a a a a 9 . . . . . . 1 . . . . . . . . . . .
  938.             . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 .
  939.             . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . .
  940.             . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 . . . . . . .
  941.             . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . .
  942.             . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  943.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  944.             . . . . . . . . . . . . . . . . . . . . . . . . . b a a 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  945.             . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . .
  946.             . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . 1 .
  947.             . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . .
  948.             . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . .
  949.             . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . c . . . . . . . . . . . . . . . . . . . . . . . .
  950.             . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . d e e e e e f . . . . . . . . . . . . . . . . . . . . . .
  951.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  952.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  953.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  954.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8
  955.             . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8
  956.             . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 8 8 8 . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 . 8 8 8 8
  957.             . . . . . 8 8 8 . . 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 . . . . 8 8 8 8 8 . 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
  958.             . . . . 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 . . . . 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
  959.             8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
  960.         `)
  961.         const layout = new level.Layout(1, 54);
  962.         layout.height = 56;
  963.         layout.width = 64;
  964.         layout.holeIndex = 3;
  965.         layout.mapTilesToRender = [
  966.             { type: 7, color: 7 },
  967.             { type: 8, color: 5 },
  968.             { type: 9, color: 5 },
  969.             { type: 10, color: 5 },
  970.             { type: 11, color: 5 },
  971.             { type: 12, color: 10 },
  972.             { type: 13, color: 10 },
  973.             { type: 14, color: 10 },
  974.             { type: 15, color: 10 },
  975.         ];
  976.         return layout;
  977.     }
  978.     export function loadLevel(index: number): level.Layout {
  979.         switch (index) {
  980.             case 1: return loadLevelOne();
  981.             case 2: return loadLevelTwo();
  982.             case 3: return loadLevelThree();
  983.         }
  984.         return null;
  985.     }
  986.     export const MAX_LEVEL = 3;
  987. }
  988. /*
  989.    Animation library for sprites
  990. */
  991. namespace animation {
  992.     let onAnimationUpdate: (() => void)[] = null;
  993.     let onSpriteUpdate: (() => void)[] = null;
  994.     // Only a single animation is active within an AnimationGroup at a time.
  995.     // This allows transitioning from animations smoothly, resetting each to its initial
  996.     // frame before starting.
  997.     export class SpriteAnimationGroup {
  998.         private activeAnimationIndex: number;
  999.         private animations: Animation[];
  1000.         private _sprite: Sprite;
  1001.         constructor() {
  1002.             this.init();
  1003.             this.animations = [];
  1004.             this.activeAnimationIndex = -1;
  1005.         }
  1006.         public get activeAnimation(): Animation {
  1007.             return this.animations[this.activeAnimationIndex];
  1008.         }
  1009.         public get sprite(): Sprite {
  1010.             return this._sprite;
  1011.         }
  1012.         public set sprite(sprite: Sprite) {
  1013.             this._sprite = sprite;
  1014.         }
  1015.         /**
  1016.          * Adds an animation to the group and returns the active animation index to set to start the animation
  1017.          */
  1018.         public addAnimation(animation: Animation): number {
  1019.             this.animations.push(animation);
  1020.             return this.animations.length - 1;
  1021.         }
  1022.         /**
  1023.          * Sets the active animation and resets that animation to its initial frame. Allows
  1024.          * passing in a callback that gets invoked any time the frame of the animation changes to
  1025.          * allow coordination between sprites.
  1026.          */
  1027.         public setActiveAnimation(animationIndex: number, frameChangeCallback: (frame: number) => void = null): void {
  1028.             this.activeAnimationIndex = animationIndex;
  1029.             this.activeAnimation.reset(frameChangeCallback);
  1030.         }
  1031.         public stopActiveAnimation(): void {
  1032.             this.activeAnimationIndex = -1;
  1033.         }
  1034.         public update(): void {
  1035.             if (this.activeAnimationIndex < 0) {
  1036.                 return;
  1037.             }
  1038.             let newImage = this.activeAnimation.image;
  1039.             if (this._sprite.image !== newImage) {
  1040.                 this._sprite.setImage(newImage)
  1041.             }
  1042.         }
  1043.         private init(): void {
  1044.             if (!onAnimationUpdate) {
  1045.                 onAnimationUpdate = [];
  1046.                 game.eventContext().registerFrameHandler(15, () => {
  1047.                     onAnimationUpdate.forEach(element => {
  1048.                         element();
  1049.                     });
  1050.                 });
  1051.             }
  1052.             onAnimationUpdate.push(() => this.activeAnimationIndex > -1 && this.activeAnimation.update());
  1053.         }
  1054.     }
  1055.     export class Animation {
  1056.         private animationComplete: boolean;
  1057.         private frameChangeCallback: (frame: number) => void;
  1058.         private frames: Image[];
  1059.         private lastTime: number;
  1060.         private loop: boolean;
  1061.         // property backing fields
  1062.         private _index: number;
  1063.         private _interval: number;
  1064.         constructor(interval: number, loop: boolean = true) {
  1065.             this.reset();
  1066.             this._interval = interval;
  1067.             this.frames = [];
  1068.             this.loop = loop;
  1069.         }
  1070.         public get image(): Image {
  1071.             return this.frames[this._index];
  1072.         }
  1073.         public get interval(): number {
  1074.             return this._interval;
  1075.         }
  1076.         public set interval(interval: number) {
  1077.             this._interval = interval;
  1078.         }
  1079.         public get index(): number {
  1080.             return this._index;
  1081.         }
  1082.         /**
  1083.          * Add an image frame to an animation
  1084.         */
  1085.         public addAnimationFrame(frame: Image): void {
  1086.             this.frames.push(frame);
  1087.         }
  1088.         public reset(frameChangeCallback: (frame: number) => void = null): void {
  1089.             this.frameChangeCallback = frameChangeCallback;
  1090.             this._index = -1;
  1091.             this.lastTime = control.millis();
  1092.             this.animationComplete = false;
  1093.         }
  1094.         public update(): void {
  1095.             if (this.animationComplete) {
  1096.                 return;
  1097.             }
  1098.             let currentTime = control.millis();
  1099.             let dt = currentTime - this.lastTime;
  1100.             if (dt >= this.interval && this.frames.length) {
  1101.                 this._index++;
  1102.                 if (!this.loop && this.frames.length > 1 && this._index === this.frames.length) {
  1103.                     this.animationComplete = true;
  1104.                     return;
  1105.                 }
  1106.                 this._index = this._index % this.frames.length;
  1107.                 this.frameChangeCallback && this.frameChangeCallback(this._index);
  1108.                 this.lastTime = currentTime;
  1109.             }
  1110.         }
  1111.     }
  1112.     /**
  1113.      * Attach an animation group to a sprite
  1114.      */
  1115.     export function attachAnimation(sprite: Sprite, group: SpriteAnimationGroup) {
  1116.         if (!onSpriteUpdate) {
  1117.             // First attach register the update call back.
  1118.             // Priority 16 is slightly lower than 15 for animation update loop.
  1119.             // This is allow the animation to complete, so we have the new display ready to go.
  1120.             onSpriteUpdate = [];
  1121.             game.eventContext().registerFrameHandler(16, () => {
  1122.                 onSpriteUpdate.forEach(element => {
  1123.                     element();
  1124.                 });
  1125.             });
  1126.         }
  1127.         group.sprite = sprite;
  1128.         onSpriteUpdate.push(() => group.update());
  1129.     }
  1130. }
  1131. class DirectionIndicator {
  1132.     private color: number;
  1133.     private image: Image;
  1134.     private midpoint: number;
  1135.     private pointerSize: number;
  1136.     private points: Array<{ x: number, y: number }>;
  1137.     private size: number;
  1138.     private sprite: Sprite;
  1139.     constructor(size: number, pointerSize: number, color: number) {
  1140.         this.size = size;
  1141.         this.midpoint = this.size / 2;
  1142.         this.pointerSize = pointerSize;
  1143.         this.color = color;
  1144.         this.image = image.create(this.size, this.size);
  1145.         this.points = [
  1146.             { x: -this.midpoint, y: 0 },
  1147.             { x: -this.midpoint + this.pointerSize, y: this.pointerSize },
  1148.             { x: -this.midpoint + this.pointerSize, y: -this.pointerSize }
  1149.         ];
  1150.     }
  1151.     public hide(): void {
  1152.         this.sprite.destroy();
  1153.     }
  1154.     public rotate(degrees: number): void {
  1155.         const radians = angle * Math.PI / 180;
  1156.         let x, y;
  1157.         const rotatedPoints = [];
  1158.         for (let localPoint of this.points) {
  1159.             // rotate points
  1160.             x = localPoint.x * Math.cos(radians) - localPoint.y * Math.sin(radians);
  1161.             y = localPoint.y * Math.cos(radians) + localPoint.x * Math.sin(radians);
  1162.             // translate into image coordinates
  1163.             x += this.midpoint;
  1164.             y += this.midpoint;
  1165.             rotatedPoints.push({ x: x, y: y });
  1166.         }
  1167.         this.image.fill(0);
  1168.         // Draw the 4 lines of the direction indicator
  1169.         this.image.drawLine(this.midpoint, this.midpoint, rotatedPoints[1].x, rotatedPoints[1].y, this.color);
  1170.         this.image.drawLine(this.midpoint, this.midpoint, rotatedPoints[2].x, rotatedPoints[2].y, this.color);
  1171.         this.image.drawLine(rotatedPoints[1].x, rotatedPoints[1].y, rotatedPoints[0].x, rotatedPoints[0].y, this.color);
  1172.         this.image.drawLine(rotatedPoints[2].x, rotatedPoints[2].y, rotatedPoints[0].x, rotatedPoints[0].y, this.color);
  1173.     }
  1174.     public show(x: number, y: number): void {
  1175.         this.sprite = sprites.create(this.image);
  1176.         this.sprite.z = 2;
  1177.         this.sprite.setPosition(x, y);
  1178.     }
  1179. }
  1180. enum GolferOrientation {
  1181.     Left,
  1182.     Right
  1183. }
  1184. class Golfer {
  1185.     private leftStandingFrame: Image = null;
  1186.     private rightStandingFrame: Image = null;
  1187.     private sprite: Sprite = null;
  1188.     private spriteAnimations: animation.SpriteAnimationGroup = null;
  1189.     private swingingLeftAnimationIndex: number = -1;
  1190.     private swingingRightAnimationIndex: number = -1;
  1191.     // Backing fields for properties
  1192.     private _orientation: GolferOrientation = GolferOrientation.Right;
  1193.     constructor() {
  1194.         const frameRight1 = img`
  1195.             . . . . . . . c c c c c c c c c c . . . . . . .
  1196.             . . . . . c c c 1 1 1 1 1 1 1 1 c c c . . . . .
  1197.             . . . . c c 1 1 1 c c c c c c 1 1 1 c c . . . .
  1198.             . . . c c 1 1 c c c c c c c c c c 1 1 c c . . .
  1199.             . . . c 1 1 c c c 1 c c c c c c c c 1 1 c . . .
  1200.             . . c c 1 c c c 1 1 c c c c c c c c c 1 c c . .
  1201.             . . c 1 c c c 1 1 c c c c c c c c c c c 1 c . .
  1202.             . . c 1 c c c c c c c c c c c c c c c c 1 c . .
  1203.             . . c 1 c c c c c c c c c c c c c c c c 1 c . .
  1204.             . . c 1 c c c c c c c c c c c c c c c c 1 c . .
  1205.             . . c c 1 c c c c c c c c c c c c c c c 1 c . .
  1206.             . . . c 1 c c c c c c c c c c c c c c 1 c . . .
  1207.             . . . c c 1 1 c c c c c c c c c c 1 1 c c . . .
  1208.             . . . . c c 1 1 1 c c c c c c 1 1 1 c c . . . .
  1209.             . . . . . c c b 1 1 1 1 1 1 1 1 1 c c . . . . .
  1210.             . . . . . . c c c c 1 1 1 1 c c c c . . . . . .
  1211.             . . . . . . 2 2 2 2 2 2 2 2 2 2 2 2 . . . . . .
  1212.             . . . . . c c c 1 1 1 1 1 1 1 1 1 c c . . . . .
  1213.             . . . . . c 1 1 1 1 1 1 1 1 1 1 1 1 c . . . . .
  1214.             . . . . c c 1 1 1 1 1 1 1 1 1 1 1 1 c c . . . .
  1215.             . . . . c 1 c 1 1 1 1 1 1 1 1 1 1 c 1 c . . . .
  1216.             . . . . c 1 1 c 1 1 1 1 1 1 1 1 c 1 1 c . . . .
  1217.             . . . . . c 1 c c 1 1 1 1 1 1 c c 1 c . . . . .
  1218.             . . . . . . c c 1 c 1 f 1 c c 1 c c . . . . . .
  1219.             . . . . . . . c c c c c c c c c c . . . . . . .
  1220.             . . . . . . . c 1 c c c c c 1 1 c . . . . . . .
  1221.             . . . . . . . c 1 1 1 f c 1 1 1 c . . . . . . .
  1222.             . . . . . . . c 1 1 1 f c 1 1 1 c . . . . . . .
  1223.             . . . . . . . c 1 1 c f . c 1 1 c . . . . . . .
  1224.             . . . . . . . c 1 1 c f . c 1 1 c . . . . . . .
  1225.             . . . . . . c c 1 c . f . . c 1 c c . . . . . .
  1226.             . . . . . . c 1 1 f f f . . c 1 1 c . . . . . .
  1227.         `;
  1228.         const frameRight2 = img`
  1229.             . . . . . . . c c c c c c c c c c . . . . . . .
  1230.             . . . . . c c c 1 1 1 1 1 1 1 1 c c c . . . . .
  1231.             . . . . c c 1 1 1 c c c c c c 1 1 1 c c . . . .
  1232.             . . . c c 1 1 c c c c c c c c c c 1 1 c c . . .
  1233.             . . . c 1 1 c c c 1 c c c c c c c c 1 1 c . . .
  1234.             . . c c 1 c c c 1 1 c c c c c c c c c 1 c c . .
  1235.             . . c 1 c c c 1 1 c c c c c c c c c c c 1 c . .
  1236.             . . c 1 c c c c c c c c c c c c c c c c 1 c . .
  1237.             . . c 1 c c c c c c c c c c c c c c c c 1 c . .
  1238.             . . c 1 c c c c c c c c c c c c c c c c 1 c . .
  1239.             . . c c 1 c c c c c c c c c c c c c c c 1 c . .
  1240.             . . . c 1 c c c c c c c c c c c c c c 1 c . . .
  1241.             . . . c c 1 1 c c c c c c c c c c 1 1 c c . . .
  1242.             . . . . c c 1 1 1 c c c c c c 1 1 1 c c . . . .
  1243.             . . . . . c c 1 1 1 1 1 1 1 1 1 1 c c . . . . .
  1244.             . . . . . . c c c c 1 1 1 1 c c c c . . . . . .
  1245.             . . . . . . . 2 2 2 2 2 2 2 2 2 2 2 . . . . . .
  1246.             . . . . . c c c 1 1 1 1 1 1 1 1 1 c c . . . . .
  1247.             . . . . . c 1 1 c 1 1 1 1 1 1 1 c 1 c . . . . .
  1248.             . . . . . c c 1 1 c 1 1 1 1 1 c 1 1 c . . . . .
  1249.             . . . . . . c c 1 1 c 1 1 1 c 1 1 c . . . . . .
  1250.             . . . . . . . c c 1 1 c 1 c 1 1 c . . . . . . .
  1251.             . . . . . . . c 1 c 1 1 c 1 1 c c . . . . . . .
  1252.             . f f f f f f f f f c c c c c 1 c . . . . . . .
  1253.             . f . . . . . c c c c c c c c c c . . . . . . .
  1254.             . . . . . . . c 1 c c 1 1 1 1 1 c . . . . . . .
  1255.             . . . . . . . c 1 1 1 c c 1 1 1 c . . . . . . .
  1256.             . . . . . . . c 1 1 1 c c 1 1 1 c . . . . . . .
  1257.             . . . . . . . c 1 1 c . . c 1 1 c . . . . . . .
  1258.             . . . . . . . c 1 1 c . . c 1 1 c . . . . . . .
  1259.             . . . . . . c c 1 c . . . . c 1 c c . . . . . .
  1260.             . . . . . . c 1 1 c . . . . c 1 1 c . . . . . .
  1261.         `
  1262.         const frameRight3 = img`
  1263.             . . . . . . . c c c c c c c c c c . . . . . . .
  1264.             . . . . . c c c 1 1 1 1 1 1 1 1 c c c . . . . .
  1265.             . . . . c c 1 1 1 c c c c c c 1 1 1 c c . . . .
  1266.             . . . c c 1 1 c c c c c c c c c c 1 1 c c . . .
  1267.             . . . c 1 1 c c c 1 c c c c c c c c 1 1 c . . .
  1268.             . . c c 1 c c c 1 1 c c c c c c c c c 1 c c . .
  1269.             . . c 1 c c c 1 1 c c c c c c c c c c c 1 c . .
  1270.             . . c 1 c c c c c c c c c c c c c c c c 1 c . .
  1271.             . . c 1 c c c c c c c c c c c c c c c c 1 c . .
  1272.             . . c 1 c c c c c c c c c c c c c c c c 1 c . .
  1273.             . f c c 1 c c c c c c c c c c c c c c c 1 c . .
  1274.             f . c c 1 c c c c c c c c c c c c c c 1 c . . .
  1275.             . f . c c 1 1 c c c c c c c c c c 1 1 c c . . .
  1276.             . . f . c c 1 1 1 c c c c c c 1 1 1 c c . . . .
  1277.             . . . f . c c 1 1 1 1 1 1 1 1 1 1 c c . . . . .
  1278.             . . . . f . c c c c 1 1 1 1 c c c c . . . . . .
  1279.             . . . . . f 2 2 2 2 2 2 2 2 2 2 2 2 . . . . . .
  1280.             . . . . . c f c 1 1 1 1 1 1 1 1 c c c . . . . .
  1281.             . . . . . c 1 c c 1 c c c c c c c 1 c . . . . .
  1282.             . . . . . c 1 1 1 c c 1 1 1 1 1 1 1 c . . . . .
  1283.             . . . . . . c 1 1 c 1 c c c c c c c . . . . . .
  1284.             . . . . . . . c 1 c 1 1 1 1 1 1 c . . . . . . .
  1285.             . . . . . . . c c c 1 1 1 1 1 1 c . . . . . . .
  1286.             . . . . . . . c 1 1 1 1 1 1 1 1 c . . . . . . .
  1287.             . . . . . . . c c c c c c c c c c . . . . . . .
  1288.             . . . . . . . c 1 1 1 1 1 1 1 1 c . . . . . . .
  1289.             . . . . . . . c 1 1 1 c c 1 1 1 c . . . . . . .
  1290.             . . . . . . . c 1 1 1 c c 1 1 1 c . . . . . . .
  1291.             . . . . . . . c 1 1 c . . c 1 1 c . . . . . . .
  1292.             . . . . . . . c 1 1 c . . c 1 1 c . . . . . . .
  1293.             . . . . . . c c 1 c . . . . c 1 c c . . . . . .
  1294.             . . . . . . c 1 1 c . . . . c 1 1 c . . . . . .
  1295.         `
  1296.         const frameRight4 = img`
  1297.             . . . . . . . c c c c c c c c c c . . . . . . .
  1298.             . . . . . c c c 1 1 1 1 1 1 1 1 c c c . . . . .
  1299.             . . . . c c 1 1 1 c c c c c c 1 1 1 c c . . . .
  1300.             . . . c c 1 1 1 c c c 1 c c c c c 1 1 c c . . .
  1301.             . . . c 1 1 1 1 c c 1 1 c c c c c c 1 1 c . . .
  1302.             . . c c 1 1 1 1 c 1 1 c c c c c c c c 1 c c . .
  1303.             . . c 1 1 1 1 1 c c c c c c c c c c c c 1 c . .
  1304.             . . c 1 1 1 1 1 c c c c c c c c c c c c 1 c . .
  1305.             . . c 1 1 1 1 1 c c c c c c c c c c c c 1 c . .
  1306.             . . c 1 1 1 1 1 c c c c c c c c c c c c 1 c . .
  1307.             . . c c 1 1 1 1 c c c c c c c c c c c c 1 c . .
  1308.             . . . c 1 1 1 1 c c c c c c c c c c c 1 c . . .
  1309.             . . . c c 1 1 1 c c c c c c c c c 1 1 c c . . .
  1310.             . . . . c c 1 1 1 c c c c c c 1 1 1 c c . . . .
  1311.             . . . . . c c 1 1 1 1 1 1 1 1 1 1 c c . . . . .
  1312.             . . . . . . c c c c 1 1 1 1 c c c c . . . . . .
  1313.             . . . . . . 2 2 2 2 2 2 2 2 2 2 c c c . . . . .
  1314.             . . . . . c c c 1 1 1 1 1 1 1 1 c c c . . . . .
  1315.             . . . . . c 1 1 c 1 1 1 1 1 1 1 c 1 c . . . . .
  1316.             . . . . . c c 1 1 c 1 1 1 1 1 c 1 1 c . . . . .
  1317.             . . . . . . c c 1 1 c 1 1 1 c 1 1 c . . . . . .
  1318.             . . . . . . . c c 1 1 c 1 c 1 1 c . . . . . . .
  1319.             . . . . . . . c 1 c 1 1 c 1 1 c c . . . . . . f
  1320.             . . . . . . . c 1 1 c c f f f f f f f f f f f f
  1321.             . . . . . . . c c c c c c c c c c . . . . . . .
  1322.             . . . . . . . c 1 c c 1 1 1 1 1 c . . . . . . .
  1323.             . . . . . . . c 1 1 1 c c 1 1 1 c . . . . . . .
  1324.             . . . . . . . c 1 1 1 c c 1 1 1 c . . . . . . .
  1325.             . . . . . . . c 1 1 c . . c 1 1 c . . . . . . .
  1326.             . . . . . . . c 1 1 c . . c 1 1 c . . . . . . .
  1327.             . . . . . . . c 1 c . . . . c 1 c c . . . . . .
  1328.             . . . . . . . c 1 c . . . . c 1 1 c . . . . . .
  1329.         `
  1330.         const frameRight5 = img`
  1331.             . . . . . . . c c c c c c c c c c . . . . . . .
  1332.             . . . . . c c c 1 1 1 1 1 1 1 1 c c c . . . . .
  1333.             . . . . c c 1 1 1 1 1 c c c c 1 1 1 c c . . . .
  1334.             . . . c c 1 1 1 1 1 1 c c 1 c c c 1 1 c c . . .
  1335.             . . . c 1 1 1 1 1 1 1 c 1 c c c c c 1 1 c . . .
  1336.             . . c c 1 1 1 1 1 1 1 c c c c c c c c 1 c c . .
  1337.             . . c 1 1 1 1 1 1 1 1 c c c c c c c c c 1 c . .
  1338.             . . c 1 1 1 1 1 1 1 1 c c c c c c c c c 1 c . .
  1339.             . . c 1 1 1 1 1 1 1 1 c c c c c c c c c 1 c . .
  1340.             . . c 1 1 1 1 1 1 1 1 c c c c c c c c c 1 f . .
  1341.             . . c c 1 1 1 1 1 1 1 c c c c c c c c c 1 c f .
  1342.             . . . c 1 1 1 1 1 1 1 c c c c c c c c 1 c f . .
  1343.             . . . c c 1 1 1 1 1 1 c c c c c c 1 1 c f . . .
  1344.             . . . . c c 1 1 1 1 1 c c c c 1 1 1 c f . . . .
  1345.             . . . . . c c 1 1 1 1 1 1 1 1 1 1 c f . . . . .
  1346.             . . . . . . c c c c 1 1 1 1 c c c f . . . . . .
  1347.             . . . . . . 2 2 2 2 2 2 2 2 2 2 f c . . . . . .
  1348.             . . . . . c c c 1 1 1 1 1 1 1 f 1 c c . . . . .
  1349.             . . . . . c 1 c c c c c c c f 1 1 1 c . . . . .
  1350.             . . . . . c 1 1 1 1 1 1 1 c c 1 1 1 c . . . . .
  1351.             . . . . . . c c c c c c c 1 c 1 1 c . . . . . .
  1352.             . . . . . . . c 1 1 1 1 1 1 c 1 c . . . . . . .
  1353.             . . . . . . . c 1 1 1 1 1 1 c c c . . . . . . .
  1354.             . . . . . . . c 1 1 1 1 1 1 1 1 c . . . . . . .
  1355.             . . . . . . . c c c c c c c c c c . . . . . . .
  1356.             . . . . . . . c 1 c c 1 1 1 1 1 c . . . . . . .
  1357.             . . . . . . . c 1 1 1 c c 1 1 1 c . . . . . . .
  1358.             . . . . . . . c 1 1 1 c c 1 1 1 c . . . . . . .
  1359.             . . . . . . . c 1 1 c . . c 1 1 c . . . . . . .
  1360.             . . . . . . . c 1 1 c . . c 1 1 c . . . . . . .
  1361.             . . . . . . . c 1 c . . . . c 1 c c . . . . . .
  1362.             . . . . . . . c 1 c . . . . c 1 1 c . . . . . .
  1363.         `
  1364.         const swingingRight = new animation.Animation(100, false);
  1365.         swingingRight.addAnimationFrame(frameRight1);
  1366.         swingingRight.addAnimationFrame(frameRight2);
  1367.         swingingRight.addAnimationFrame(frameRight3);
  1368.         swingingRight.addAnimationFrame(frameRight2);
  1369.         swingingRight.addAnimationFrame(frameRight1);
  1370.         swingingRight.addAnimationFrame(frameRight4);
  1371.         swingingRight.addAnimationFrame(frameRight5);
  1372.         this.spriteAnimations = new animation.SpriteAnimationGroup();
  1373.         this.swingingRightAnimationIndex = this.spriteAnimations.addAnimation(swingingRight);
  1374.         const frameLeft1 = frameRight1.clone();
  1375.         const frameLeft2 = frameRight2.clone();
  1376.         const frameLeft3 = frameRight3.clone();
  1377.         const frameLeft4 = frameRight4.clone();
  1378.         const frameLeft5 = frameRight5.clone();
  1379.         frameLeft1.flipX();
  1380.         frameLeft2.flipX();
  1381.         frameLeft3.flipX();
  1382.         frameLeft4.flipX();
  1383.         frameLeft5.flipX();
  1384.         const swingingLeft = new animation.Animation(100, false);
  1385.         swingingLeft.addAnimationFrame(frameLeft1);
  1386.         swingingLeft.addAnimationFrame(frameLeft2);
  1387.         swingingLeft.addAnimationFrame(frameLeft3);
  1388.         swingingLeft.addAnimationFrame(frameLeft2);
  1389.         swingingLeft.addAnimationFrame(frameLeft1);
  1390.         swingingLeft.addAnimationFrame(frameLeft4);
  1391.         swingingLeft.addAnimationFrame(frameLeft5);
  1392.         this.swingingLeftAnimationIndex = this.spriteAnimations.addAnimation(swingingLeft);
  1393.         this.leftStandingFrame = frameLeft1;
  1394.         this.rightStandingFrame = frameRight1;
  1395.         this.sprite = sprites.create(this.rightStandingFrame, SpriteKind.Player);
  1396.         this.sprite.setFlag(SpriteFlag.Ghost, true);
  1397.         animation.attachAnimation(this.sprite, this.spriteAnimations);
  1398.     }
  1399.     public get bottom(): number {
  1400.         return this.sprite.bottom;
  1401.     }
  1402.     public set bottom(value: number) {
  1403.         this.sprite.bottom = value;
  1404.     }
  1405.     public get left(): number {
  1406.         return this.sprite.left;
  1407.     }
  1408.     public set left(value: number) {
  1409.         this.sprite.left = value;
  1410.     }
  1411.     public get right(): number {
  1412.         return this.sprite.right;
  1413.     }
  1414.     public set right(value: number) {
  1415.         this.sprite.right = value;
  1416.     }
  1417.     public get top(): number {
  1418.         return this.sprite.top;
  1419.     }
  1420.     public set top(value: number) {
  1421.         this.sprite.top = value;
  1422.     }
  1423.     public get orientation() {
  1424.         return this._orientation;
  1425.     }
  1426.     public set orientation(value: GolferOrientation) {
  1427.         if (value !== this._orientation) {
  1428.             this._orientation = value;
  1429.             const standingImage: Image = value === GolferOrientation.Left ? this.leftStandingFrame : this.rightStandingFrame;
  1430.             this.sprite.setImage(standingImage);
  1431.         }
  1432.     }
  1433.     public setPosition(x: number, y: number): void {
  1434.         this.sprite.setPosition(x, y);
  1435.         this.spriteAnimations.stopActiveAnimation();
  1436.         const standingImage: Image = this.orientation === GolferOrientation.Left ? this.leftStandingFrame : this.rightStandingFrame;
  1437.         this.sprite.setImage(standingImage);
  1438.     }
  1439.     public swing(hitBallCallback: () => void) {
  1440.         const animationIndex = this.orientation === GolferOrientation.Left ? this.swingingLeftAnimationIndex : this.swingingRightAnimationIndex;
  1441.         this.spriteAnimations.setActiveAnimation(animationIndex, (frame) => frame === 4 && hitBallCallback());
  1442.     }
  1443.     public say(text: string, timeOnScreen: number): void {
  1444.         this.sprite.say(text, timeOnScreen)
  1445.     }
  1446. }
  1447. class PowerMeter {
  1448.     private image: Image;
  1449.     private width: number;
  1450.     private height: number;
  1451.     private fillColor: number;
  1452.     private outlineColor: number;
  1453.     private power: number;
  1454.     private powerIncrement: number;
  1455.     private sprite: Sprite;
  1456.     // property backing fields
  1457.     private _isRunning: boolean;
  1458.     constructor(width: number, height: number, outlineColor: number, fillColor: number) {
  1459.         this.width = width;
  1460.         this.height = height;
  1461.         this.outlineColor = outlineColor;
  1462.         this.fillColor = fillColor;
  1463.         this._isRunning = false;
  1464.         this.image = image.create(width, height);
  1465.         game.currentScene().eventContext.registerFrameHandler(20, () => {
  1466.             if (this._isRunning) {
  1467.                 this.power += this.powerIncrement;
  1468.                 if (this.power === 1 || this.power === width - 1) {
  1469.                     this.powerIncrement = -this.powerIncrement;
  1470.                 }
  1471.                 this.image.fill(0);
  1472.                 this.image.drawRect(0, 0, this.width, this.height, this.outlineColor);
  1473.                 this.image.fillRect(1, 1, this.power, this.height - 2, this.fillColor);
  1474.             }
  1475.         })
  1476.     }
  1477.     public get isRunning(): boolean {
  1478.         return this._isRunning;
  1479.     }
  1480.     public start(x: number, y: number): void {
  1481.         this.sprite = sprites.create(this.image);
  1482.         this.sprite.z = 2;
  1483.         this.sprite.setPosition(x, y);
  1484.         this._isRunning = true;
  1485.         this.power = 1;
  1486.         this.powerIncrement = 1;
  1487.     }
  1488.     public stop(): number {
  1489.         this.sprite.destroy();
  1490.         this.sprite = null;
  1491.         this._isRunning = false;
  1492.         return this.power;
  1493.     }
  1494. }
  1495. // A little bit of a hack as we want things to move faster than they would based on the default
  1496. // time slices of the ArcadePhysicsEngine, so we override and set it to the max time slice it supports
  1497. class GolfPhysicsEngine extends ArcadePhysicsEngine {
  1498.     move(dt: number) {
  1499.         super.move(0.1);
  1500.     }
  1501. }
  1502. const physicsEngine = new GolfPhysicsEngine();
  1503. game.currentScene().physicsEngine = physicsEngine;
  1504. namespace SpriteKind {
  1505.     export const Goal = SpriteKind.create();
  1506. }
  1507. let levelInProgress = false;
  1508. let angle = 180;
  1509. // The number of frames the ball must remain still before moving the golfer
  1510. const QUIESCENT_FRAMES_BEFORE_MOVE = 5;
  1511. let golfBallSprite: Sprite = null;
  1512. const powerMeter = new PowerMeter(32, 8, 15, 4);
  1513. const directionIndicator = new DirectionIndicator(48, 2, 4);
  1514. let ballInFlight = false;
  1515. let swingStarted = false;
  1516. let quiescentFrames = 0;
  1517. let loadedLevel = 1;
  1518. let layout = level.loadLevel(0);
  1519. const golfer = new Golfer();
  1520. golfer.setPosition(190, 190);
  1521. function showSplash(): void {
  1522.     image.setPalette(customPalettes.titlePalette);
  1523.     scene.setBackgroundImage(customImages.titleScreen);
  1524.     waitForInput(false);
  1525. }
  1526. function showInstructions(): void {
  1527.     image.setPalette(customPalettes.inGamePalette);
  1528.     scene.setBackgroundImage(customImages.instructions);
  1529.     waitForInput(false);
  1530. }
  1531. function setupLevel(levelToLoad: number): void {
  1532.     layout = level.loadLevel(levelToLoad);
  1533.     loadedLevel == 1 && info.setScore(0);
  1534.     info.setBackgroundColor(13);
  1535.     golfBallSprite = sprites.create(img`
  1536.         . f .
  1537.         f f f
  1538.         . f .
  1539.     `, SpriteKind.Projectile)
  1540.     let startingPosition = layout.getStartingBallPosition();
  1541.     golfBallSprite.setPosition(startingPosition.x, startingPosition.y)
  1542.     golfBallSprite.z = 1;
  1543.     scene.cameraFollowSprite(golfBallSprite);
  1544.     golfer.setPosition(golfBallSprite.x - 1, golfBallSprite.y - 14);
  1545.     levelInProgress = true;
  1546. }
  1547. controller.A.onEvent(ControllerButtonEvent.Pressed, () => {
  1548.     if (levelInProgress && !ballInFlight && !swingStarted) {
  1549.         if (powerMeter.isRunning) {
  1550.             directionIndicator.hide();
  1551.             let power = powerMeter.stop() * 2.4;
  1552.             const radians = angle * Math.PI / 180;
  1553.             info.changeScoreBy(1);
  1554.             swingStarted = true;
  1555.             golfer.swing(() => {
  1556.                 swingStarted = false;
  1557.                 ballInFlight = true;
  1558.                 golfer.say("fore!", 900)
  1559.                 golfBallSprite.vx = -Math.cos(radians) * power;
  1560.                 golfBallSprite.vy = -Math.sin(radians) * power;
  1561.                 golfBallSprite.ay = 9.81;
  1562.                 golfBallSprite.ax = 0;
  1563.             });
  1564.         } else {
  1565.             directionIndicator.rotate(angle);
  1566.             directionIndicator.show(golfBallSprite.x, golfBallSprite.y);
  1567.             powerMeter.start(golfBallSprite.x + 3, golfer.top - 8);
  1568.         }
  1569.     }
  1570. });
  1571. function waitForInput(resetGame: boolean): void {
  1572.     pause(500); // wait for users to stop pressing keys
  1573.     game.waitAnyButton();
  1574.     resetGame && game.reset();
  1575. }
  1576. controller.B.onEvent(ControllerButtonEvent.Pressed, () => {
  1577.     if (levelInProgress) {
  1578.         level.showMap(golfBallSprite.x, golfBallSprite.y, layout);
  1579.     }
  1580. });
  1581. game.currentScene().eventContext.registerFrameHandler(31, () => {
  1582.     if (ballInFlight) {
  1583.         if (Math.abs(golfBallSprite.vx) < 1 && Math.abs(golfBallSprite.vy) < 1) {
  1584.             quiescentFrames++;
  1585.         } else {
  1586.             quiescentFrames = 0;
  1587.         }
  1588.         if (quiescentFrames === QUIESCENT_FRAMES_BEFORE_MOVE) {
  1589.             quiescentFrames = 0;
  1590.             golfBallSprite.vx = 0;
  1591.             golfBallSprite.vy = 0;
  1592.             golfBallSprite.ay = 0;
  1593.             ballInFlight = false;
  1594.             golfer.setPosition(golfBallSprite.x - 1, golfBallSprite.y - 14);
  1595.         }
  1596.     }
  1597.     if (powerMeter.isRunning) {
  1598.         if (controller.left.isPressed() || controller.right.isPressed()) {
  1599.             const targetOrientation = controller.left.isPressed() ? GolferOrientation.Left : GolferOrientation.Right;
  1600.             if (golfer.orientation !== targetOrientation) {
  1601.                 golfer.orientation = targetOrientation;
  1602.                 angle = 180 - angle;
  1603.                 directionIndicator.rotate(angle);
  1604.             }
  1605.         }
  1606.         if (controller.up.isPressed() || controller.down.isPressed()) {
  1607.             const extents = golfer.orientation === GolferOrientation.Right ? { bottom: 180, top: 90, increment: -1 } : { bottom: 0, top: 90, increment: 1 };
  1608.             if (controller.up.isPressed() && angle !== extents.top) {
  1609.                 angle += extents.increment;
  1610.             } else if (controller.down.isPressed() && angle !== extents.bottom) {
  1611.                 angle -= extents.increment;
  1612.             }
  1613.             directionIndicator.rotate(angle);
  1614.         }
  1615.     }
  1616. });
  1617. scene.onHitTile(SpriteKind.Projectile, 3, (sprite: Sprite) => {
  1618.     golfBallSprite.destroy();
  1619.     levelInProgress = false;
  1620.     let top = (screen.height - 72) >> 1;
  1621.     screen.fillRect(0, top, screen.width, 55, 14)
  1622.     screen.fillRect(0, top - 4, screen.width, top - 20, 3)
  1623.     screen.fillRect(0, top + 55, screen.width, top - 20, 3)
  1624.     let header = image.create(80, 8)
  1625.     header.printCenter(loadedLevel == level.MAX_LEVEL ? "GAME OVER!" : "NICE JOB!", 0, screen.isMono ? 1 : 3, image.font8)
  1626.     screen.drawTransparentImage(header.doubled(), 0, top + 7);
  1627.     if (info.hasScore()) {
  1628.         screen.printCenter("Score:" + info.score(), top + 31, screen.isMono ? 1 : 9, image.font8)
  1629.         if (loadedLevel === level.MAX_LEVEL) {
  1630.             if (info.score() < info.highScore()) {
  1631.                 info.saveHighScore();
  1632.                 screen.printCenter("New Best Score!", top + 24, screen.isMono ? 1 : 9, image.font5);
  1633.             }
  1634.             screen.printCenter("Best: " + info.highScore(), top + 42, screen.isMono ? 1 : 9, image.font8);
  1635.             waitForInput(true);
  1636.         } else {
  1637.             loadedLevel++;
  1638.             waitForInput(false);
  1639.             setupLevel(loadedLevel);
  1640.         }
  1641.     }
  1642. });
  1643. // coefficient of restituion for grass
  1644. const grassSurfaceCOR = 0.5;
  1645. function collision(sprite: Sprite) {
  1646.     sprite.vx *= grassSurfaceCOR;
  1647.     sprite.vy *= grassSurfaceCOR;
  1648.     if (sprite.isHittingTile(CollisionDirection.Left) || sprite.isHittingTile(CollisionDirection.Right)) {
  1649.         sprite.vx = -sprite.vx;
  1650.     }
  1651.     if (sprite.isHittingTile(CollisionDirection.Top) || sprite.isHittingTile(CollisionDirection.Bottom)) {
  1652.         sprite.vy = -sprite.vy;
  1653.     }
  1654. }
  1655. scene.onHitTile(SpriteKind.Projectile, 8, (sprite: Sprite) => {
  1656.     collision(sprite)
  1657. });
  1658. scene.onHitTile(SpriteKind.Projectile, 9, (sprite: Sprite) => {
  1659.     collision(sprite)
  1660. });
  1661. scene.onHitTile(SpriteKind.Projectile, 10, (sprite: Sprite) => {
  1662.     collision(sprite)
  1663. });
  1664. scene.onHitTile(SpriteKind.Projectile, 11, (sprite: Sprite) => {
  1665.     collision(sprite)
  1666. });
  1667. scene.onHitTile(SpriteKind.Projectile, 12, (sprite: Sprite) => {
  1668.     collision(sprite)
  1669. });
  1670. scene.onHitTile(SpriteKind.Projectile, 13, (sprite: Sprite) => {
  1671.     collision(sprite)
  1672. });
  1673. scene.onHitTile(SpriteKind.Projectile, 14, (sprite: Sprite) => {
  1674.     collision(sprite)
  1675. });
  1676. scene.onHitTile(SpriteKind.Projectile, 15, (sprite: Sprite) => {
  1677.     collision(sprite)
  1678. });
  1679. showSplash();
  1680. showInstructions();
  1681. setupLevel(loadedLevel);
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2 小时前

【花雕动手做】基于 Kitronik 游戏机开发板之星球推杆

通过模拟器,调试与模拟运行

【花雕动手做】基于 Kitronik 游戏机开发板之星球推杆图5

【花雕动手做】基于 Kitronik 游戏机开发板之星球推杆图6

实验场景记录

【花雕动手做】基于 Kitronik 游戏机开发板之星球推杆图4

【花雕动手做】基于 Kitronik 游戏机开发板之星球推杆图3

【花雕动手做】基于 Kitronik 游戏机开发板之星球推杆图1

【花雕动手做】基于 Kitronik 游戏机开发板之星球推杆图2

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2 小时前

【花雕动手做】基于 Kitronik 游戏机开发板之星球推杆

【花雕动手做】基于 Kitronik 游戏机开发板之星球推杆图1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail