Files
modeling-app/rust/kcl-lib/tests/kcl_samples/axial-fan/artifact_graph_flowchart.snap.md
Adam Chalmers 89bae66257 KCL: User-defined KCL functions in examples etc now use keywords (#6603)
Preparing for the removal of positional functions from the language. The first big step is to change all our KCL code examples, test code, public samples etc to all use keyword functions.

Apologies for how large this PR is. Most of it is:

- Changing example KCL that defined its own functions, so the functions now use keyword arguments rather than positional arguments. E.g. change `cube([20, 20])` to be `cube(center = [20, 20])`.
- Some parts of the code assumed positional code and didn't handle keyword calls, e.g. the linter would only check for positional calls to startSketchOn. Now they should work with either positional or keyword.
- Update all the artifacts

This does _not_ remove support for positional calls. That will be in a follow-up PR.
2025-05-01 12:36:51 -04:00

16 KiB

flowchart LR
  subgraph path8 [Path]
    8["Path<br>[323, 370, 8]"]
    31["Segment<br>[376, 444, 8]"]
    32["Segment<br>[450, 550, 8]"]
    33["Segment<br>[556, 673, 8]"]
    34["Segment<br>[679, 764, 8]"]
    35["Segment<br>[770, 777, 8]"]
    108[Solid2d]
  end
  subgraph path9 [Path]
    9["Path<br>[801, 836, 8]"]
    36["Segment<br>[801, 836, 8]"]
    104[Solid2d]
  end
  subgraph path10 [Path]
    10["Path<br>[861, 1008, 8]"]
    37["Segment<br>[861, 1008, 8]"]
    118[Solid2d]
  end
  subgraph path11 [Path]
    11["Path<br>[1033, 1181, 8]"]
    38["Segment<br>[1033, 1181, 8]"]
    101[Solid2d]
  end
  subgraph path12 [Path]
    12["Path<br>[1206, 1354, 8]"]
    39["Segment<br>[1206, 1354, 8]"]
    113[Solid2d]
  end
  subgraph path13 [Path]
    13["Path<br>[1379, 1528, 8]"]
    40["Segment<br>[1379, 1528, 8]"]
    114[Solid2d]
  end
  subgraph path14 [Path]
    14["Path<br>[1696, 1752, 8]"]
    41["Segment<br>[1758, 1823, 8]"]
    42["Segment<br>[1829, 1881, 8]"]
    43["Segment<br>[1887, 1938, 8]"]
    44["Segment<br>[1944, 1996, 8]"]
    45["Segment<br>[2002, 2068, 8]"]
    46["Segment<br>[2074, 2126, 8]"]
    47["Segment<br>[2132, 2164, 8]"]
    48["Segment<br>[2170, 2235, 8]"]
    49["Segment<br>[2241, 2248, 8]"]
    99[Solid2d]
  end
  subgraph path15 [Path]
    15["Path<br>[2597, 2710, 8]"]
    50["Segment<br>[2716, 2771, 8]"]
    51["Segment<br>[2777, 2812, 8]"]
    52["Segment<br>[2818, 2873, 8]"]
    53["Segment<br>[2879, 2915, 8]"]
    54["Segment<br>[2921, 2976, 8]"]
    55["Segment<br>[2982, 3018, 8]"]
    56["Segment<br>[3024, 3079, 8]"]
    57["Segment<br>[3085, 3141, 8]"]
  end
  subgraph path16 [Path]
    16["Path<br>[3290, 3341, 8]"]
    58["Segment<br>[3290, 3341, 8]"]
    107[Solid2d]
  end
  subgraph path17 [Path]
    17["Path<br>[3520, 3582, 8]"]
    59["Segment<br>[3588, 3656, 8]"]
    60["Segment<br>[3662, 3762, 8]"]
    61["Segment<br>[3768, 3885, 8]"]
    62["Segment<br>[3891, 3976, 8]"]
    63["Segment<br>[3982, 3989, 8]"]
    105[Solid2d]
  end
  subgraph path18 [Path]
    18["Path<br>[4013, 4064, 8]"]
    64["Segment<br>[4013, 4064, 8]"]
    103[Solid2d]
  end
  subgraph path19 [Path]
    19["Path<br>[4089, 4236, 8]"]
    65["Segment<br>[4089, 4236, 8]"]
    106[Solid2d]
  end
  subgraph path20 [Path]
    20["Path<br>[4261, 4409, 8]"]
    66["Segment<br>[4261, 4409, 8]"]
    102[Solid2d]
  end
  subgraph path21 [Path]
    21["Path<br>[4434, 4582, 8]"]
    67["Segment<br>[4434, 4582, 8]"]
    116[Solid2d]
  end
  subgraph path22 [Path]
    22["Path<br>[4607, 4756, 8]"]
    68["Segment<br>[4607, 4756, 8]"]
    115[Solid2d]
  end
  subgraph path23 [Path]
    23["Path<br>[4898, 4936, 8]"]
    69["Segment<br>[4898, 4936, 8]"]
    117[Solid2d]
  end
  subgraph path24 [Path]
    24["Path<br>[5009, 5045, 8]"]
    70["Segment<br>[5009, 5045, 8]"]
    110[Solid2d]
  end
  subgraph path25 [Path]
    25["Path<br>[277, 327, 10]"]
    71["Segment<br>[277, 327, 10]"]
    111[Solid2d]
  end
  subgraph path26 [Path]
    26["Path<br>[502, 537, 10]"]
    72["Segment<br>[502, 537, 10]"]
    112[Solid2d]
  end
  subgraph path27 [Path]
    27["Path<br>[216, 255, 11]"]
    73["Segment<br>[261, 291, 11]"]
    74["Segment<br>[297, 336, 11]"]
    75["Segment<br>[342, 366, 11]"]
    76["Segment<br>[372, 396, 11]"]
    77["Segment<br>[402, 443, 11]"]
    78["Segment<br>[449, 487, 11]"]
    79["Segment<br>[493, 516, 11]"]
    80["Segment<br>[522, 539, 11]"]
    81["Segment<br>[545, 566, 11]"]
    82["Segment<br>[572, 659, 11]"]
    83["Segment<br>[665, 702, 11]"]
    84["Segment<br>[708, 745, 11]"]
    85["Segment<br>[751, 758, 11]"]
    98[Solid2d]
  end
  subgraph path28 [Path]
    28["Path<br>[1113, 1203, 11]"]
    95["Segment<br>[2133, 2140, 11]"]
    97[Solid2d]
  end
  subgraph path29 [Path]
    29["Path<br>[1113, 1203, 11]"]
    86["Segment<br>[1211, 1280, 11]"]
    88["Segment<br>[1288, 1588, 11]"]
    91["Segment<br>[1596, 1898, 11]"]
    93["Segment<br>[1906, 2125, 11]"]
    96["Segment<br>[2133, 2140, 11]"]
    100[Solid2d]
  end
  subgraph path30 [Path]
    30["Path<br>[1113, 1203, 11]"]
    87["Segment<br>[1211, 1280, 11]"]
    89["Segment<br>[1288, 1588, 11]"]
    90["Segment<br>[1596, 1898, 11]"]
    92["Segment<br>[1906, 2125, 11]"]
    94["Segment<br>[2133, 2140, 11]"]
    109[Solid2d]
  end
  1["Plane<br>[300, 317, 8]"]
  2["Plane<br>[204, 231, 10]"]
  3["Plane<br>[467, 495, 10]"]
  4["Plane<br>[193, 210, 11]"]
  5["Plane<br>[1066, 1104, 11]"]
  6["Plane<br>[1066, 1104, 11]"]
  7["Plane<br>[1066, 1104, 11]"]
  119["Sweep Extrusion<br>[1535, 1554, 8]"]
  120["Sweep Extrusion<br>[2388, 2408, 8]"]
  121["Sweep Extrusion<br>[2388, 2408, 8]"]
  122["Sweep Extrusion<br>[2388, 2408, 8]"]
  123["Sweep Extrusion<br>[2388, 2408, 8]"]
  124["Sweep Extrusion<br>[3147, 3182, 8]"]
  125["Sweep Extrusion<br>[3347, 3385, 8]"]
  126["Sweep Extrusion<br>[4763, 4782, 8]"]
  127["Sweep Extrusion<br>[4942, 4962, 8]"]
  128["Sweep Extrusion<br>[5051, 5072, 8]"]
  129["Sweep Extrusion<br>[333, 353, 10]"]
  130["Sweep Extrusion<br>[543, 564, 10]"]
  131["Sweep Revolve<br>[764, 846, 11]"]
  132["Sweep Loft<br>[2454, 2473, 11]"]
  133[Wall]
  134[Wall]
  135[Wall]
  136[Wall]
  137[Wall]
  138[Wall]
  139[Wall]
  140[Wall]
  141[Wall]
  142[Wall]
  143[Wall]
  144[Wall]
  145[Wall]
  146[Wall]
  147[Wall]
  148[Wall]
  149[Wall]
  150[Wall]
  151[Wall]
  152[Wall]
  153[Wall]
  154[Wall]
  155[Wall]
  156[Wall]
  157[Wall]
  158[Wall]
  159[Wall]
  160[Wall]
  161[Wall]
  162[Wall]
  163[Wall]
  164[Wall]
  165[Wall]
  166[Wall]
  167[Wall]
  168[Wall]
  169[Wall]
  170[Wall]
  171[Wall]
  172[Wall]
  173[Wall]
  174[Wall]
  175[Wall]
  176[Wall]
  177[Wall]
  178["Cap Start"]
  179["Cap Start"]
  180["Cap Start"]
  181["Cap Start"]
  182["Cap End"]
  183["Cap End"]
  184["Cap End"]
  185["Cap End"]
  186["Cap End"]
  187["Cap End"]
  188["Cap End"]
  189["Cap End"]
  190["SweepEdge Opposite"]
  191["SweepEdge Opposite"]
  192["SweepEdge Opposite"]
  193["SweepEdge Opposite"]
  194["SweepEdge Opposite"]
  195["SweepEdge Opposite"]
  196["SweepEdge Opposite"]
  197["SweepEdge Opposite"]
  198["SweepEdge Opposite"]
  199["SweepEdge Opposite"]
  200["SweepEdge Opposite"]
  201["SweepEdge Opposite"]
  202["SweepEdge Opposite"]
  203["SweepEdge Opposite"]
  204["SweepEdge Opposite"]
  205["SweepEdge Opposite"]
  206["SweepEdge Opposite"]
  207["SweepEdge Opposite"]
  208["SweepEdge Opposite"]
  209["SweepEdge Opposite"]
  210["SweepEdge Opposite"]
  211["SweepEdge Opposite"]
  212["SweepEdge Opposite"]
  213["SweepEdge Opposite"]
  214["SweepEdge Opposite"]
  215["SweepEdge Opposite"]
  216["SweepEdge Opposite"]
  217["SweepEdge Opposite"]
  218["SweepEdge Opposite"]
  219["SweepEdge Opposite"]
  220["SweepEdge Opposite"]
  221["SweepEdge Opposite"]
  222["SweepEdge Opposite"]
  223["SweepEdge Adjacent"]
  224["SweepEdge Adjacent"]
  225["SweepEdge Adjacent"]
  226["SweepEdge Adjacent"]
  227["SweepEdge Adjacent"]
  228["SweepEdge Adjacent"]
  229["SweepEdge Adjacent"]
  230["SweepEdge Adjacent"]
  231["SweepEdge Adjacent"]
  232["SweepEdge Adjacent"]
  233["SweepEdge Adjacent"]
  234["SweepEdge Adjacent"]
  235["SweepEdge Adjacent"]
  236["SweepEdge Adjacent"]
  237["SweepEdge Adjacent"]
  238["SweepEdge Adjacent"]
  239["SweepEdge Adjacent"]
  240["SweepEdge Adjacent"]
  241["SweepEdge Adjacent"]
  242["SweepEdge Adjacent"]
  243["SweepEdge Adjacent"]
  244["SweepEdge Adjacent"]
  245["SweepEdge Adjacent"]
  246["SweepEdge Adjacent"]
  247["SweepEdge Adjacent"]
  248["SweepEdge Adjacent"]
  249["SweepEdge Adjacent"]
  250["SweepEdge Adjacent"]
  251["SweepEdge Adjacent"]
  252["SweepEdge Adjacent"]
  253["SweepEdge Adjacent"]
  254["SweepEdge Adjacent"]
  255["SweepEdge Adjacent"]
  256["SweepEdge Adjacent"]
  257["SweepEdge Adjacent"]
  258["SweepEdge Adjacent"]
  259["SweepEdge Adjacent"]
  260["SweepEdge Adjacent"]
  261["SweepEdge Adjacent"]
  262["SweepEdge Adjacent"]
  263["SweepEdge Adjacent"]
  264["SweepEdge Adjacent"]
  265["SweepEdge Adjacent"]
  266["SweepEdge Adjacent"]
  267["SweepEdge Adjacent"]
  268["EdgeCut Fillet<br>[5113, 5624, 8]"]
  269["EdgeCut Fillet<br>[5113, 5624, 8]"]
  270["EdgeCut Fillet<br>[5113, 5624, 8]"]
  271["EdgeCut Fillet<br>[5113, 5624, 8]"]
  272["EdgeCut Fillet<br>[5113, 5624, 8]"]
  273["EdgeCut Fillet<br>[5113, 5624, 8]"]
  274["EdgeCut Fillet<br>[5113, 5624, 8]"]
  275["EdgeCut Fillet<br>[5113, 5624, 8]"]
  276["EdgeCut Fillet<br>[394, 452, 10]"]
  277["EdgeCut Fillet<br>[394, 452, 10]"]
  1 --- 8
  1 --- 9
  1 --- 10
  1 --- 11
  1 --- 12
  1 --- 13
  2 --- 25
  3 --- 26
  4 --- 27
  5 --- 28
  6 --- 30
  7 --- 29
  8 --- 31
  8 --- 32
  8 --- 33
  8 --- 34
  8 --- 35
  8 --- 108
  8 ---- 119
  9 --- 36
  9 --- 104
  10 --- 37
  10 --- 118
  11 --- 38
  11 --- 101
  12 --- 39
  12 --- 113
  13 --- 40
  13 --- 114
  14 --- 41
  14 --- 42
  14 --- 43
  14 --- 44
  14 --- 45
  14 --- 46
  14 --- 47
  14 --- 48
  14 --- 49
  14 --- 99
  14 ---- 123
  188 --- 14
  15 --- 50
  15 --- 51
  15 --- 52
  15 --- 53
  15 --- 54
  15 --- 55
  15 --- 56
  15 --- 57
  15 ---- 124
  188 --- 15
  16 --- 58
  16 --- 107
  16 ---- 125
  187 --- 16
  17 --- 59
  17 --- 60
  17 --- 61
  17 --- 62
  17 --- 63
  17 --- 105
  17 ---- 126
  187 --- 17
  18 --- 64
  18 --- 103
  187 --- 18
  19 --- 65
  19 --- 106
  187 --- 19
  20 --- 66
  20 --- 102
  187 --- 20
  21 --- 67
  21 --- 116
  187 --- 21
  22 --- 68
  22 --- 115
  187 --- 22
  23 --- 69
  23 --- 117
  23 ---- 127
  188 --- 23
  24 --- 70
  24 --- 110
  24 ---- 128
  189 --- 24
  25 --- 71
  25 --- 111
  25 ---- 129
  26 --- 72
  26 --- 112
  26 ---- 130
  27 --- 73
  27 --- 74
  27 --- 75
  27 --- 76
  27 --- 77
  27 --- 78
  27 --- 79
  27 --- 80
  27 --- 81
  27 --- 82
  27 --- 83
  27 --- 84
  27 --- 85
  27 --- 98
  27 ---- 131
  28 --- 95
  28 --- 97
  28 x---> 132
  28 x--> 211
  28 x--> 212
  28 x--> 213
  28 x--> 214
  29 --- 86
  29 --- 88
  29 --- 91
  29 --- 93
  29 --- 96
  29 --- 100
  29 x---> 132
  30 --- 87
  30 --- 89
  30 --- 90
  30 --- 92
  30 --- 94
  30 --- 109
  30 ---- 132
  31 --- 163
  31 x--> 181
  31 --- 208
  31 --- 252
  32 --- 164
  32 x--> 181
  32 --- 210
  32 --- 253
  33 --- 165
  33 x--> 181
  33 --- 209
  33 --- 255
  34 --- 162
  34 x--> 181
  34 --- 207
  34 --- 254
  41 --- 170
  41 x--> 188
  41 --- 219
  41 --- 267
  42 --- 176
  42 x--> 188
  42 --- 217
  42 --- 262
  43 --- 177
  43 x--> 188
  43 --- 222
  43 --- 263
  44 --- 174
  44 x--> 188
  44 --- 221
  44 --- 260
  45 --- 172
  45 x--> 188
  45 --- 218
  45 --- 264
  46 --- 175
  46 x--> 188
  46 --- 220
  46 --- 261
  47 --- 173
  47 x--> 188
  47 --- 215
  47 --- 266
  48 --- 171
  48 x--> 188
  48 --- 216
  48 --- 265
  50 --- 153
  50 x--> 188
  50 --- 194
  50 --- 242
  51 --- 149
  51 x--> 188
  51 --- 196
  51 --- 246
  52 --- 152
  52 x--> 188
  52 --- 197
  52 --- 244
  53 --- 154
  53 x--> 188
  53 --- 199
  53 --- 241
  54 --- 150
  54 x--> 188
  54 --- 200
  54 --- 240
  55 --- 156
  55 x--> 188
  55 --- 198
  55 --- 239
  56 --- 151
  56 x--> 188
  56 --- 195
  56 --- 245
  57 --- 155
  57 x--> 188
  57 --- 201
  57 --- 243
  58 --- 133
  58 x--> 187
  58 --- 190
  58 --- 223
  59 --- 161
  59 x--> 180
  59 --- 205
  59 --- 249
  60 --- 158
  60 x--> 180
  60 --- 204
  60 --- 248
  61 --- 159
  61 x--> 180
  61 --- 203
  61 --- 251
  62 --- 160
  62 x--> 180
  62 --- 206
  62 --- 250
  69 --- 135
  69 x--> 188
  69 --- 192
  69 --- 225
  70 --- 134
  70 x--> 189
  70 --- 191
  70 --- 224
  71 --- 157
  71 x--> 179
  71 --- 202
  71 --- 247
  71 --- 277
  72 --- 148
  72 x--> 178
  72 --- 193
  72 --- 238
  131 <--x 73
  73 --- 144
  73 --- 231
  131 <--x 74
  74 --- 140
  74 --- 237
  131 <--x 75
  75 --- 142
  75 --- 234
  131 <--x 76
  76 --- 139
  76 --- 228
  131 <--x 77
  77 --- 143
  77 --- 232
  131 <--x 78
  78 --- 145
  78 --- 227
  131 <--x 79
  79 --- 136
  79 --- 235
  131 <--x 80
  80 --- 146
  80 --- 230
  131 <--x 81
  81 --- 141
  81 --- 236
  131 <--x 82
  82 --- 137
  82 --- 226
  131 <--x 83
  83 --- 138
  83 --- 229
  131 <--x 84
  84 --- 147
  84 --- 233
  87 --- 169
  87 x--> 184
  87 --- 212
  87 --- 257
  89 --- 168
  89 x--> 184
  89 --- 214
  89 --- 258
  90 --- 167
  90 x--> 184
  90 --- 211
  90 --- 256
  92 --- 166
  92 x--> 184
  92 --- 213
  92 --- 259
  119 --- 162
  119 --- 163
  119 --- 164
  119 --- 165
  119 --- 181
  119 --- 188
  119 --- 207
  119 --- 208
  119 --- 209
  119 --- 210
  119 --- 252
  119 --- 253
  119 --- 254
  119 --- 255
  123 --- 170
  123 --- 171
  123 --- 172
  123 --- 173
  123 --- 174
  123 --- 175
  123 --- 176
  123 --- 177
  123 --- 215
  123 --- 216
  123 --- 217
  123 --- 218
  123 --- 219
  123 --- 220
  123 --- 221
  123 --- 222
  123 --- 260
  123 --- 261
  123 --- 262
  123 --- 263
  123 --- 264
  123 --- 265
  123 --- 266
  123 --- 267
  124 --- 149
  124 --- 150
  124 --- 151
  124 --- 152
  124 --- 153
  124 --- 154
  124 --- 155
  124 --- 156
  124 --- 187
  124 --- 194
  124 --- 195
  124 --- 196
  124 --- 197
  124 --- 198
  124 --- 199
  124 --- 200
  124 --- 201
  124 --- 239
  124 --- 240
  124 --- 241
  124 --- 242
  124 --- 243
  124 --- 244
  124 --- 245
  124 --- 246
  125 --- 133
  125 --- 190
  125 --- 223
  126 --- 158
  126 --- 159
  126 --- 160
  126 --- 161
  126 --- 180
  126 --- 186
  126 --- 203
  126 --- 204
  126 --- 205
  126 --- 206
  126 --- 248
  126 --- 249
  126 --- 250
  126 --- 251
  127 --- 135
  127 --- 189
  127 --- 192
  127 --- 225
  128 --- 134
  128 --- 191
  128 --- 224
  129 --- 157
  129 --- 179
  129 --- 185
  129 --- 202
  129 --- 247
  130 --- 148
  130 --- 178
  130 --- 182
  130 --- 193
  130 --- 238
  131 --- 136
  131 --- 137
  131 --- 138
  131 --- 139
  131 --- 140
  131 --- 141
  131 --- 142
  131 --- 143
  131 --- 144
  131 --- 145
  131 --- 146
  131 --- 147
  131 --- 226
  131 --- 227
  131 --- 228
  131 --- 229
  131 --- 230
  131 --- 231
  131 --- 232
  131 --- 233
  131 --- 234
  131 --- 235
  131 --- 236
  131 --- 237
  132 --- 166
  132 --- 167
  132 --- 168
  132 --- 169
  132 --- 183
  132 --- 184
  132 --- 211
  132 --- 212
  132 --- 213
  132 --- 214
  132 --- 256
  132 --- 257
  132 --- 258
  132 --- 259
  190 <--x 133
  223 <--x 133
  191 <--x 134
  224 <--x 134
  192 <--x 135
  225 <--x 135
  227 <--x 136
  235 <--x 136
  226 <--x 137
  236 <--x 137
  226 <--x 138
  229 <--x 138
  228 <--x 139
  234 <--x 139
  231 <--x 140
  237 <--x 140
  230 <--x 141
  236 <--x 141
  234 <--x 142
  237 <--x 142
  228 <--x 143
  232 <--x 143
  231 <--x 144
  233 <--x 144
  227 <--x 145
  232 <--x 145
  230 <--x 146
  235 <--x 146
  229 <--x 147
  233 <--x 147
  193 <--x 148
  238 <--x 148
  196 <--x 149
  242 <--x 149
  246 <--x 149
  200 <--x 150
  240 <--x 150
  241 <--x 150
  195 <--x 151
  239 <--x 151
  245 <--x 151
  197 <--x 152
  244 <--x 152
  246 <--x 152
  194 <--x 153
  242 <--x 153
  243 <--x 153
  199 <--x 154
  241 <--x 154
  244 <--x 154
  201 <--x 155
  243 <--x 155
  245 <--x 155
  198 <--x 156
  239 <--x 156
  240 <--x 156
  247 <--x 157
  204 <--x 158
  203 <--x 159
  206 <--x 160
  205 <--x 161
  207 <--x 162
  208 <--x 163
  210 <--x 164
  209 <--x 165
  213 <--x 166
  257 <--x 166
  259 <--x 166
  211 <--x 167
  256 <--x 167
  259 <--x 167
  214 <--x 168
  256 <--x 168
  258 <--x 168
  212 <--x 169
  257 <--x 169
  258 <--x 169
  219 <--x 170
  262 <--x 170
  267 <--x 170
  216 <--x 171
  265 <--x 171
  267 <--x 171
  218 <--x 172
  261 <--x 172
  264 <--x 172
  215 <--x 173
  265 <--x 173
  266 <--x 173
  221 <--x 174
  260 <--x 174
  264 <--x 174
  220 <--x 175
  261 <--x 175
  266 <--x 175
  217 <--x 176
  262 <--x 176
  263 <--x 176
  222 <--x 177
  260 <--x 177
  263 <--x 177
  215 <--x 181
  216 <--x 181
  217 <--x 181
  218 <--x 181
  219 <--x 181
  220 <--x 181
  221 <--x 181
  222 <--x 181
  193 <--x 182
  211 <--x 183
  212 <--x 183
  213 <--x 183
  214 <--x 183
  203 <--x 186
  204 <--x 186
  205 <--x 186
  206 <--x 186
  194 <--x 187
  195 <--x 187
  196 <--x 187
  197 <--x 187
  198 <--x 187
  199 <--x 187
  200 <--x 187
  201 <--x 187
  190 <--x 188
  191 <--x 188
  207 <--x 188
  208 <--x 188
  209 <--x 188
  210 <--x 188
  192 <--x 189
  202 <--x 276
  248 <--x 271
  249 <--x 272
  250 <--x 273
  251 <--x 270
  252 <--x 269
  253 <--x 274
  254 <--x 275
  255 <--x 268