{
  "type": "File",
  "start": 0,
  "end": 1768,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 64,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 1768,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 64,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 42,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 42
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 8,
            "end": 14,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 14
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 8,
              "end": 14,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 8
                },
                "end": {
                  "line": 1,
                  "column": 14
                },
                "identifierName": "Member"
              },
              "name": "Member"
            },
            "local": {
              "type": "Identifier",
              "start": 8,
              "end": 14,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 8
                },
                "end": {
                  "line": 1,
                  "column": 14
                },
                "identifierName": "Member"
              },
              "name": "Member"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 21,
          "end": 41,
          "loc": {
            "start": {
              "line": 1,
              "column": 21
            },
            "end": {
              "line": 1,
              "column": 41
            }
          },
          "extra": {
            "rawValue": "./command/lowlevel",
            "raw": "'./command/lowlevel'"
          },
          "value": "./command/lowlevel"
        },
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " Like a Ccref, but an object is not yet created,",
            "start": 44,
            "end": 94,
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 3,
                "column": 50
              }
            }
          },
          {
            "type": "CommentLine",
            "value": " we have a command (AST expression) that evaluates to it and geomParams",
            "start": 95,
            "end": 168,
            "loc": {
              "start": {
                "line": 4,
                "column": 0
              },
              "end": {
                "line": 4,
                "column": 73
              }
            }
          }
        ]
      },
      {
        "type": "VariableDeclaration",
        "start": 169,
        "end": 187,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 18
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 173,
            "end": 186,
            "loc": {
              "start": {
                "line": 5,
                "column": 4
              },
              "end": {
                "line": 5,
                "column": 17
              }
            },
            "id": {
              "type": "Identifier",
              "start": 173,
              "end": 182,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 4
                },
                "end": {
                  "line": 5,
                  "column": 13
                },
                "identifierName": "idCounter"
              },
              "name": "idCounter",
              "leadingComments": null
            },
            "init": {
              "type": "NumericLiteral",
              "start": 185,
              "end": 186,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 16
                },
                "end": {
                  "line": 5,
                  "column": 17
                }
              },
              "extra": {
                "rawValue": 0,
                "raw": "0"
              },
              "value": 0
            },
            "leadingComments": null
          }
        ],
        "kind": "let",
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Like a Ccref, but an object is not yet created,",
            "start": 44,
            "end": 94,
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 3,
                "column": 50
              }
            }
          },
          {
            "type": "CommentLine",
            "value": " we have a command (AST expression) that evaluates to it and geomParams",
            "start": 95,
            "end": 168,
            "loc": {
              "start": {
                "line": 4,
                "column": 0
              },
              "end": {
                "line": 4,
                "column": 73
              }
            }
          }
        ]
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 188,
        "end": 1767,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 63,
            "column": 1
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 203,
          "end": 1767,
          "loc": {
            "start": {
              "line": 6,
              "column": 15
            },
            "end": {
              "line": 63,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 209,
            "end": 218,
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 6,
                "column": 30
              },
              "identifierName": "Ccfuturef"
            },
            "name": "Ccfuturef"
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 219,
            "end": 1767,
            "loc": {
              "start": {
                "line": 6,
                "column": 31
              },
              "end": {
                "line": 63,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 225,
                "end": 483,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 4
                  },
                  "end": {
                    "line": 13,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 225,
                  "end": 236,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 4
                    },
                    "end": {
                      "line": 7,
                      "column": 15
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor"
                },
                "static": false,
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 237,
                    "end": 244,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 16
                      },
                      "end": {
                        "line": 7,
                        "column": 23
                      },
                      "identifierName": "command"
                    },
                    "name": "command"
                  },
                  {
                    "type": "Identifier",
                    "start": 246,
                    "end": 256,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 25
                      },
                      "end": {
                        "line": 7,
                        "column": 35
                      },
                      "identifierName": "geomParams"
                    },
                    "name": "geomParams"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 258,
                    "end": 276,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 37
                      },
                      "end": {
                        "line": 7,
                        "column": 55
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 258,
                      "end": 264,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 37
                        },
                        "end": {
                          "line": 7,
                          "column": 43
                        },
                        "identifierName": "parent"
                      },
                      "name": "parent"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 267,
                      "end": 276,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 46
                        },
                        "end": {
                          "line": 7,
                          "column": 55
                        },
                        "identifierName": "undefined"
                      },
                      "name": "undefined"
                    }
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 278,
                    "end": 299,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 57
                      },
                      "end": {
                        "line": 7,
                        "column": 78
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 278,
                      "end": 287,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 57
                        },
                        "end": {
                          "line": 7,
                          "column": 66
                        },
                        "identifierName": "pointType"
                      },
                      "name": "pointType"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 290,
                      "end": 299,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 69
                        },
                        "end": {
                          "line": 7,
                          "column": 78
                        },
                        "identifierName": "undefined"
                      },
                      "name": "undefined"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 301,
                  "end": 483,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 80
                    },
                    "end": {
                      "line": 13,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 311,
                      "end": 334,
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 8
                        },
                        "end": {
                          "line": 8,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 311,
                        "end": 333,
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 8
                          },
                          "end": {
                            "line": 8,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 311,
                          "end": 323,
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 8
                            },
                            "end": {
                              "line": 8,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 311,
                            "end": 315,
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 8
                              },
                              "end": {
                                "line": 8,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 316,
                            "end": 323,
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 13
                              },
                              "end": {
                                "line": 8,
                                "column": 20
                              },
                              "identifierName": "command"
                            },
                            "name": "command"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 326,
                          "end": 333,
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 23
                            },
                            "end": {
                              "line": 8,
                              "column": 30
                            },
                            "identifierName": "command"
                          },
                          "name": "command"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 343,
                      "end": 372,
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 8
                        },
                        "end": {
                          "line": 9,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 343,
                        "end": 371,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 8
                          },
                          "end": {
                            "line": 9,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 343,
                          "end": 358,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 8
                            },
                            "end": {
                              "line": 9,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 343,
                            "end": 347,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 8
                              },
                              "end": {
                                "line": 9,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 348,
                            "end": 358,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 13
                              },
                              "end": {
                                "line": 9,
                                "column": 23
                              },
                              "identifierName": "geomParams"
                            },
                            "name": "geomParams"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 361,
                          "end": 371,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 26
                            },
                            "end": {
                              "line": 9,
                              "column": 36
                            },
                            "identifierName": "geomParams"
                          },
                          "name": "geomParams"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 381,
                      "end": 410,
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 8
                        },
                        "end": {
                          "line": 10,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 381,
                        "end": 409,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 8
                          },
                          "end": {
                            "line": 10,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 381,
                          "end": 392,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 8
                            },
                            "end": {
                              "line": 10,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 381,
                            "end": 385,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 8
                              },
                              "end": {
                                "line": 10,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 386,
                            "end": 392,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 13
                              },
                              "end": {
                                "line": 10,
                                "column": 19
                              },
                              "identifierName": "parent"
                            },
                            "name": "parent"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 395,
                          "end": 409,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 22
                            },
                            "end": {
                              "line": 10,
                              "column": 36
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 395,
                            "end": 401,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 22
                              },
                              "end": {
                                "line": 10,
                                "column": 28
                              },
                              "identifierName": "parent"
                            },
                            "name": "parent"
                          },
                          "operator": "||",
                          "right": {
                            "type": "ThisExpression",
                            "start": 405,
                            "end": 409,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 32
                              },
                              "end": {
                                "line": 10,
                                "column": 36
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 419,
                      "end": 446,
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 8
                        },
                        "end": {
                          "line": 11,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 419,
                        "end": 445,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 8
                          },
                          "end": {
                            "line": 11,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 419,
                          "end": 433,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 8
                            },
                            "end": {
                              "line": 11,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 419,
                            "end": 423,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 8
                              },
                              "end": {
                                "line": 11,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 424,
                            "end": 433,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 13
                              },
                              "end": {
                                "line": 11,
                                "column": 22
                              },
                              "identifierName": "pointType"
                            },
                            "name": "pointType"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 436,
                          "end": 445,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 25
                            },
                            "end": {
                              "line": 11,
                              "column": 34
                            },
                            "identifierName": "pointType"
                          },
                          "name": "pointType"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 455,
                      "end": 477,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 8
                        },
                        "end": {
                          "line": 12,
                          "column": 30
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 455,
                        "end": 476,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 8
                          },
                          "end": {
                            "line": 12,
                            "column": 29
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 455,
                          "end": 462,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 8
                            },
                            "end": {
                              "line": 12,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 455,
                            "end": 459,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 8
                              },
                              "end": {
                                "line": 12,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 460,
                            "end": 462,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 13
                              },
                              "end": {
                                "line": 12,
                                "column": 15
                              },
                              "identifierName": "id"
                            },
                            "name": "id"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "UpdateExpression",
                          "start": 465,
                          "end": 476,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 18
                            },
                            "end": {
                              "line": 12,
                              "column": 29
                            }
                          },
                          "operator": "--",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 467,
                            "end": 476,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 20
                              },
                              "end": {
                                "line": 12,
                                "column": 29
                              },
                              "identifierName": "idCounter"
                            },
                            "name": "idCounter"
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 489,
                "end": 552,
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 4
                  },
                  "end": {
                    "line": 17,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 489,
                  "end": 501,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 4
                    },
                    "end": {
                      "line": 15,
                      "column": 16
                    },
                    "identifierName": "isConstraint"
                  },
                  "name": "isConstraint"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 504,
                  "end": 552,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 19
                    },
                    "end": {
                      "line": 17,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 514,
                      "end": 546,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 8
                        },
                        "end": {
                          "line": 16,
                          "column": 40
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 521,
                        "end": 545,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 15
                          },
                          "end": {
                            "line": 16,
                            "column": 39
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 521,
                          "end": 536,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 15
                            },
                            "end": {
                              "line": 16,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 521,
                            "end": 525,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 15
                              },
                              "end": {
                                "line": 16,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 526,
                            "end": 536,
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 20
                              },
                              "end": {
                                "line": 16,
                                "column": 30
                              },
                              "identifierName": "geomParams"
                            },
                            "name": "geomParams"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 537,
                          "end": 545,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 31
                            },
                            "end": {
                              "line": 16,
                              "column": 39
                            },
                            "identifierName": "entities"
                          },
                          "name": "entities"
                        },
                        "computed": false
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 558,
                "end": 637,
                "loc": {
                  "start": {
                    "line": 19,
                    "column": 4
                  },
                  "end": {
                    "line": 21,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 558,
                  "end": 565,
                  "loc": {
                    "start": {
                      "line": 19,
                      "column": 4
                    },
                    "end": {
                      "line": 19,
                      "column": 11
                    },
                    "identifierName": "isPoint"
                  },
                  "name": "isPoint"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 568,
                  "end": 637,
                  "loc": {
                    "start": {
                      "line": 19,
                      "column": 14
                    },
                    "end": {
                      "line": 21,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 578,
                      "end": 631,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 8
                        },
                        "end": {
                          "line": 20,
                          "column": 61
                        }
                      },
                      "argument": {
                        "type": "LogicalExpression",
                        "start": 585,
                        "end": 630,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 15
                          },
                          "end": {
                            "line": 20,
                            "column": 60
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 585,
                          "end": 606,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 15
                            },
                            "end": {
                              "line": 20,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 585,
                            "end": 600,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 15
                              },
                              "end": {
                                "line": 20,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 585,
                              "end": 589,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 15
                                },
                                "end": {
                                  "line": 20,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 590,
                              "end": 600,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 20
                                },
                                "end": {
                                  "line": 20,
                                  "column": 30
                                },
                                "identifierName": "geomParams"
                              },
                              "name": "geomParams"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 601,
                            "end": 606,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 31
                              },
                              "end": {
                                "line": 20,
                                "column": 36
                              },
                              "identifierName": "start"
                            },
                            "name": "start"
                          },
                          "computed": false
                        },
                        "operator": "&&",
                        "right": {
                          "type": "UnaryExpression",
                          "start": 610,
                          "end": 630,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 40
                            },
                            "end": {
                              "line": 20,
                              "column": 60
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "MemberExpression",
                            "start": 611,
                            "end": 630,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 41
                              },
                              "end": {
                                "line": 20,
                                "column": 60
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 611,
                              "end": 626,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 41
                                },
                                "end": {
                                  "line": 20,
                                  "column": 56
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 611,
                                "end": 615,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 45
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 616,
                                "end": 626,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 56
                                  },
                                  "identifierName": "geomParams"
                                },
                                "name": "geomParams"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 627,
                              "end": 630,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 57
                                },
                                "end": {
                                  "line": 20,
                                  "column": 60
                                },
                                "identifierName": "end"
                              },
                              "name": "end"
                            },
                            "computed": false
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 643,
                "end": 713,
                "loc": {
                  "start": {
                    "line": 23,
                    "column": 4
                  },
                  "end": {
                    "line": 25,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 643,
                  "end": 655,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 4
                    },
                    "end": {
                      "line": 23,
                      "column": 16
                    },
                    "identifierName": "isStartPoint"
                  },
                  "name": "isStartPoint"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 658,
                  "end": 713,
                  "loc": {
                    "start": {
                      "line": 23,
                      "column": 19
                    },
                    "end": {
                      "line": 25,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 668,
                      "end": 707,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 8
                        },
                        "end": {
                          "line": 24,
                          "column": 47
                        }
                      },
                      "argument": {
                        "type": "BinaryExpression",
                        "start": 675,
                        "end": 706,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 15
                          },
                          "end": {
                            "line": 24,
                            "column": 46
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 675,
                          "end": 689,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 15
                            },
                            "end": {
                              "line": 24,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 675,
                            "end": 679,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 15
                              },
                              "end": {
                                "line": 24,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 680,
                            "end": 689,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 20
                              },
                              "end": {
                                "line": 24,
                                "column": 29
                              },
                              "identifierName": "pointType"
                            },
                            "name": "pointType"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "StringLiteral",
                          "start": 694,
                          "end": 706,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 34
                            },
                            "end": {
                              "line": 24,
                              "column": 46
                            }
                          },
                          "extra": {
                            "rawValue": "startPoint",
                            "raw": "'startPoint'"
                          },
                          "value": "startPoint"
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 719,
                "end": 785,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 4
                  },
                  "end": {
                    "line": 29,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 719,
                  "end": 729,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 4
                    },
                    "end": {
                      "line": 27,
                      "column": 14
                    },
                    "identifierName": "isEndPoint"
                  },
                  "name": "isEndPoint"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 732,
                  "end": 785,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 17
                    },
                    "end": {
                      "line": 29,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 742,
                      "end": 779,
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 8
                        },
                        "end": {
                          "line": 28,
                          "column": 45
                        }
                      },
                      "argument": {
                        "type": "BinaryExpression",
                        "start": 749,
                        "end": 778,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 15
                          },
                          "end": {
                            "line": 28,
                            "column": 44
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 749,
                          "end": 763,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 15
                            },
                            "end": {
                              "line": 28,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 749,
                            "end": 753,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 15
                              },
                              "end": {
                                "line": 28,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 754,
                            "end": 763,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 20
                              },
                              "end": {
                                "line": 28,
                                "column": 29
                              },
                              "identifierName": "pointType"
                            },
                            "name": "pointType"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "StringLiteral",
                          "start": 768,
                          "end": 778,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 34
                            },
                            "end": {
                              "line": 28,
                              "column": 44
                            }
                          },
                          "extra": {
                            "rawValue": "endPoint",
                            "raw": "'endPoint'"
                          },
                          "value": "endPoint"
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 795,
                "end": 862,
                "loc": {
                  "start": {
                    "line": 31,
                    "column": 4
                  },
                  "end": {
                    "line": 33,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 795,
                  "end": 808,
                  "loc": {
                    "start": {
                      "line": 31,
                      "column": 4
                    },
                    "end": {
                      "line": 31,
                      "column": 17
                    },
                    "identifierName": "isCenterPoint"
                  },
                  "name": "isCenterPoint"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 811,
                  "end": 862,
                  "loc": {
                    "start": {
                      "line": 31,
                      "column": 20
                    },
                    "end": {
                      "line": 33,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 821,
                      "end": 856,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 8
                        },
                        "end": {
                          "line": 32,
                          "column": 43
                        }
                      },
                      "argument": {
                        "type": "BinaryExpression",
                        "start": 828,
                        "end": 855,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 15
                          },
                          "end": {
                            "line": 32,
                            "column": 42
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 828,
                          "end": 842,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 15
                            },
                            "end": {
                              "line": 32,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 828,
                            "end": 832,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 15
                              },
                              "end": {
                                "line": 32,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 833,
                            "end": 842,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 20
                              },
                              "end": {
                                "line": 32,
                                "column": 29
                              },
                              "identifierName": "pointType"
                            },
                            "name": "pointType"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "StringLiteral",
                          "start": 847,
                          "end": 855,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 34
                            },
                            "end": {
                              "line": 32,
                              "column": 42
                            }
                          },
                          "extra": {
                            "rawValue": "center",
                            "raw": "'center'"
                          },
                          "value": "center"
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 868,
                "end": 989,
                "loc": {
                  "start": {
                    "line": 35,
                    "column": 4
                  },
                  "end": {
                    "line": 37,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 868,
                  "end": 878,
                  "loc": {
                    "start": {
                      "line": 35,
                      "column": 4
                    },
                    "end": {
                      "line": 35,
                      "column": 14
                    },
                    "identifierName": "isSubPoint"
                  },
                  "name": "isSubPoint"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 881,
                  "end": 989,
                  "loc": {
                    "start": {
                      "line": 35,
                      "column": 17
                    },
                    "end": {
                      "line": 37,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 891,
                      "end": 983,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 8
                        },
                        "end": {
                          "line": 36,
                          "column": 100
                        }
                      },
                      "argument": {
                        "type": "LogicalExpression",
                        "start": 898,
                        "end": 982,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 15
                          },
                          "end": {
                            "line": 36,
                            "column": 99
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 898,
                          "end": 912,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 15
                            },
                            "end": {
                              "line": 36,
                              "column": 29
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 898,
                            "end": 910,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 15
                              },
                              "end": {
                                "line": 36,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 898,
                              "end": 902,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 15
                                },
                                "end": {
                                  "line": 36,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 903,
                              "end": 910,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 20
                                },
                                "end": {
                                  "line": 36,
                                  "column": 27
                                },
                                "identifierName": "isPoint"
                              },
                              "name": "isPoint"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "operator": "&&",
                        "right": {
                          "type": "LogicalExpression",
                          "start": 917,
                          "end": 981,
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 34
                            },
                            "end": {
                              "line": 36,
                              "column": 98
                            }
                          },
                          "left": {
                            "type": "LogicalExpression",
                            "start": 917,
                            "end": 957,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 34
                              },
                              "end": {
                                "line": 36,
                                "column": 74
                              }
                            },
                            "left": {
                              "type": "CallExpression",
                              "start": 917,
                              "end": 936,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 34
                                },
                                "end": {
                                  "line": 36,
                                  "column": 53
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 917,
                                "end": 934,
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 917,
                                  "end": 921,
                                  "loc": {
                                    "start": {
                                      "line": 36,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 36,
                                      "column": 38
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 922,
                                  "end": 934,
                                  "loc": {
                                    "start": {
                                      "line": 36,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 36,
                                      "column": 51
                                    },
                                    "identifierName": "isStartPoint"
                                  },
                                  "name": "isStartPoint"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "operator": "||",
                            "right": {
                              "type": "CallExpression",
                              "start": 940,
                              "end": 957,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 57
                                },
                                "end": {
                                  "line": 36,
                                  "column": 74
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 940,
                                "end": 955,
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 72
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 940,
                                  "end": 944,
                                  "loc": {
                                    "start": {
                                      "line": 36,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 36,
                                      "column": 61
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 945,
                                  "end": 955,
                                  "loc": {
                                    "start": {
                                      "line": 36,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 36,
                                      "column": 72
                                    },
                                    "identifierName": "isEndPoint"
                                  },
                                  "name": "isEndPoint"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          "operator": "||",
                          "right": {
                            "type": "CallExpression",
                            "start": 961,
                            "end": 981,
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 78
                              },
                              "end": {
                                "line": 36,
                                "column": 98
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 961,
                              "end": 979,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 78
                                },
                                "end": {
                                  "line": 36,
                                  "column": 96
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 961,
                                "end": 965,
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 78
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 82
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 966,
                                "end": 979,
                                "loc": {
                                  "start": {
                                    "line": 36,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 36,
                                    "column": 96
                                  },
                                  "identifierName": "isCenterPoint"
                                },
                                "name": "isCenterPoint"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "extra": {
                            "parenthesized": true,
                            "parenStart": 916
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 995,
                "end": 1074,
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 4
                  },
                  "end": {
                    "line": 41,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 995,
                  "end": 1001,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 4
                    },
                    "end": {
                      "line": 39,
                      "column": 10
                    },
                    "identifierName": "isLine"
                  },
                  "name": "isLine"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1004,
                  "end": 1074,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 13
                    },
                    "end": {
                      "line": 41,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 1014,
                      "end": 1068,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 8
                        },
                        "end": {
                          "line": 40,
                          "column": 62
                        }
                      },
                      "argument": {
                        "type": "LogicalExpression",
                        "start": 1021,
                        "end": 1067,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 15
                          },
                          "end": {
                            "line": 40,
                            "column": 61
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 1021,
                          "end": 1040,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 15
                            },
                            "end": {
                              "line": 40,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1021,
                            "end": 1036,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 15
                              },
                              "end": {
                                "line": 40,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1021,
                              "end": 1025,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 15
                                },
                                "end": {
                                  "line": 40,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1026,
                              "end": 1036,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 20
                                },
                                "end": {
                                  "line": 40,
                                  "column": 30
                                },
                                "identifierName": "geomParams"
                              },
                              "name": "geomParams"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1037,
                            "end": 1040,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 31
                              },
                              "end": {
                                "line": 40,
                                "column": 34
                              },
                              "identifierName": "end"
                            },
                            "name": "end"
                          },
                          "computed": false
                        },
                        "operator": "&&",
                        "right": {
                          "type": "UnaryExpression",
                          "start": 1044,
                          "end": 1067,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 38
                            },
                            "end": {
                              "line": 40,
                              "column": 61
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "MemberExpression",
                            "start": 1045,
                            "end": 1067,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 39
                              },
                              "end": {
                                "line": 40,
                                "column": 61
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1045,
                              "end": 1060,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 39
                                },
                                "end": {
                                  "line": 40,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1045,
                                "end": 1049,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 43
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1050,
                                "end": 1060,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 54
                                  },
                                  "identifierName": "geomParams"
                                },
                                "name": "geomParams"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1061,
                              "end": 1067,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 55
                                },
                                "end": {
                                  "line": 40,
                                  "column": 61
                                },
                                "identifierName": "center"
                              },
                              "name": "center"
                            },
                            "computed": false
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        }
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 1080,
                "end": 1134,
                "loc": {
                  "start": {
                    "line": 43,
                    "column": 4
                  },
                  "end": {
                    "line": 45,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1080,
                  "end": 1085,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 4
                    },
                    "end": {
                      "line": 43,
                      "column": 9
                    },
                    "identifierName": "isArc"
                  },
                  "name": "isArc"
                },
                "static": false,
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1088,
                  "end": 1134,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 12
                    },
                    "end": {
                      "line": 45,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 1098,
                      "end": 1128,
                      "loc": {
                        "start": {
                          "line": 44,
                          "column": 8
                        },
                        "end": {
                          "line": 44,
                          "column": 38
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 1105,
                        "end": 1127,
                        "loc": {
                          "start": {
                            "line": 44,
                            "column": 15
                          },
                          "end": {
                            "line": 44,
                            "column": 37
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 1105,
                          "end": 1120,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 15
                            },
                            "end": {
                              "line": 44,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1105,
                            "end": 1109,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 15
                              },
                              "end": {
                                "line": 44,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1110,
                            "end": 1120,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 20
                              },
                              "end": {
                                "line": 44,
                                "column": 30
                              },
                              "identifierName": "geomParams"
                            },
                            "name": "geomParams"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1121,
                          "end": 1127,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 31
                            },
                            "end": {
                              "line": 44,
                              "column": 37
                            },
                            "identifierName": "center"
                          },
                          "name": "center"
                        },
                        "computed": false
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 1140,
                "end": 1544,
                "loc": {
                  "start": {
                    "line": 47,
                    "column": 4
                  },
                  "end": {
                    "line": 54,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1144,
                  "end": 1152,
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 8
                    },
                    "end": {
                      "line": 47,
                      "column": 16
                    },
                    "identifierName": "children"
                  },
                  "name": "children"
                },
                "static": false,
                "kind": "get",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1155,
                  "end": 1544,
                  "loc": {
                    "start": {
                      "line": 47,
                      "column": 19
                    },
                    "end": {
                      "line": 54,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 1165,
                      "end": 1188,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 8
                        },
                        "end": {
                          "line": 48,
                          "column": 31
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1169,
                          "end": 1187,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 12
                            },
                            "end": {
                              "line": 48,
                              "column": 30
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1169,
                            "end": 1182,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 12
                              },
                              "end": {
                                "line": 48,
                                "column": 25
                              },
                              "identifierName": "childrenNames"
                            },
                            "name": "childrenNames"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 1185,
                            "end": 1187,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 28
                              },
                              "end": {
                                "line": 48,
                                "column": 30
                              }
                            },
                            "elements": []
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 1197,
                      "end": 1368,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 65
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 1201,
                        "end": 1214,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 12
                          },
                          "end": {
                            "line": 49,
                            "column": 25
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1201,
                          "end": 1212,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 12
                            },
                            "end": {
                              "line": 49,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1201,
                            "end": 1205,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 12
                              },
                              "end": {
                                "line": 49,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1206,
                            "end": 1212,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 17
                              },
                              "end": {
                                "line": 49,
                                "column": 23
                              },
                              "identifierName": "isLine"
                            },
                            "name": "isLine"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1228,
                        "end": 1271,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 12
                          },
                          "end": {
                            "line": 50,
                            "column": 55
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 1228,
                          "end": 1270,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 12
                            },
                            "end": {
                              "line": 50,
                              "column": 54
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 1228,
                            "end": 1241,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 12
                              },
                              "end": {
                                "line": 50,
                                "column": 25
                              },
                              "identifierName": "childrenNames"
                            },
                            "name": "childrenNames"
                          },
                          "right": {
                            "type": "ArrayExpression",
                            "start": 1244,
                            "end": 1270,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 28
                              },
                              "end": {
                                "line": 50,
                                "column": 54
                              }
                            },
                            "elements": [
                              {
                                "type": "StringLiteral",
                                "start": 1245,
                                "end": 1257,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 41
                                  }
                                },
                                "extra": {
                                  "rawValue": "startPoint",
                                  "raw": "'startPoint'"
                                },
                                "value": "startPoint"
                              },
                              {
                                "type": "StringLiteral",
                                "start": 1259,
                                "end": 1269,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 53
                                  }
                                },
                                "extra": {
                                  "rawValue": "endPoint",
                                  "raw": "'endPoint'"
                                },
                                "value": "endPoint"
                              }
                            ]
                          }
                        }
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "start": 1285,
                        "end": 1368,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 13
                          },
                          "end": {
                            "line": 52,
                            "column": 65
                          }
                        },
                        "test": {
                          "type": "CallExpression",
                          "start": 1289,
                          "end": 1301,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 17
                            },
                            "end": {
                              "line": 51,
                              "column": 29
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1289,
                            "end": 1299,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 17
                              },
                              "end": {
                                "line": 51,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1289,
                              "end": 1293,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 17
                                },
                                "end": {
                                  "line": 51,
                                  "column": 21
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1294,
                              "end": 1299,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 22
                                },
                                "end": {
                                  "line": 51,
                                  "column": 27
                                },
                                "identifierName": "isArc"
                              },
                              "name": "isArc"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "consequent": {
                          "type": "ExpressionStatement",
                          "start": 1315,
                          "end": 1368,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 12
                            },
                            "end": {
                              "line": 52,
                              "column": 65
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 1315,
                            "end": 1367,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 12
                              },
                              "end": {
                                "line": 52,
                                "column": 64
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 1315,
                              "end": 1328,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 12
                                },
                                "end": {
                                  "line": 52,
                                  "column": 25
                                },
                                "identifierName": "childrenNames"
                              },
                              "name": "childrenNames"
                            },
                            "right": {
                              "type": "ArrayExpression",
                              "start": 1331,
                              "end": 1367,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 28
                                },
                                "end": {
                                  "line": 52,
                                  "column": 64
                                }
                              },
                              "elements": [
                                {
                                  "type": "StringLiteral",
                                  "start": 1332,
                                  "end": 1344,
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 41
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "startPoint",
                                    "raw": "'startPoint'"
                                  },
                                  "value": "startPoint"
                                },
                                {
                                  "type": "StringLiteral",
                                  "start": 1346,
                                  "end": 1356,
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 53
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "endPoint",
                                    "raw": "'endPoint'"
                                  },
                                  "value": "endPoint"
                                },
                                {
                                  "type": "StringLiteral",
                                  "start": 1358,
                                  "end": 1366,
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 63
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "center",
                                    "raw": "'center'"
                                  },
                                  "value": "center"
                                }
                              ]
                            }
                          }
                        },
                        "alternate": null
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 1377,
                      "end": 1538,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 53,
                          "column": 169
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 1384,
                        "end": 1537,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 15
                          },
                          "end": {
                            "line": 53,
                            "column": 168
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1384,
                          "end": 1401,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 15
                            },
                            "end": {
                              "line": 53,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1384,
                            "end": 1397,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 15
                              },
                              "end": {
                                "line": 53,
                                "column": 28
                              },
                              "identifierName": "childrenNames"
                            },
                            "name": "childrenNames"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1398,
                            "end": 1401,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 29
                              },
                              "end": {
                                "line": 53,
                                "column": 32
                              },
                              "identifierName": "map"
                            },
                            "name": "map"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 1402,
                            "end": 1536,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 33
                              },
                              "end": {
                                "line": 53,
                                "column": 167
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 1402,
                                "end": 1411,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 42
                                  },
                                  "identifierName": "childName"
                                },
                                "name": "childName"
                              }
                            ],
                            "body": {
                              "type": "NewExpression",
                              "start": 1415,
                              "end": 1536,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 46
                                },
                                "end": {
                                  "line": 53,
                                  "column": 167
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 1419,
                                "end": 1428,
                                "loc": {
                                  "start": {
                                    "line": 53,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 59
                                  },
                                  "identifierName": "Ccfuturef"
                                },
                                "name": "Ccfuturef"
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 1429,
                                  "end": 1460,
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 91
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 1429,
                                    "end": 1435,
                                    "loc": {
                                      "start": {
                                        "line": 53,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 53,
                                        "column": 66
                                      },
                                      "identifierName": "Member"
                                    },
                                    "name": "Member"
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 1436,
                                      "end": 1448,
                                      "loc": {
                                        "start": {
                                          "line": 53,
                                          "column": 67
                                        },
                                        "end": {
                                          "line": 53,
                                          "column": 79
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 1436,
                                        "end": 1440,
                                        "loc": {
                                          "start": {
                                            "line": 53,
                                            "column": 67
                                          },
                                          "end": {
                                            "line": 53,
                                            "column": 71
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1441,
                                        "end": 1448,
                                        "loc": {
                                          "start": {
                                            "line": 53,
                                            "column": 72
                                          },
                                          "end": {
                                            "line": 53,
                                            "column": 79
                                          },
                                          "identifierName": "command"
                                        },
                                        "name": "command"
                                      },
                                      "computed": false
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 1450,
                                      "end": 1459,
                                      "loc": {
                                        "start": {
                                          "line": 53,
                                          "column": 81
                                        },
                                        "end": {
                                          "line": 53,
                                          "column": 90
                                        },
                                        "identifierName": "childName"
                                      },
                                      "name": "childName"
                                    }
                                  ]
                                },
                                {
                                  "type": "ObjectExpression",
                                  "start": 1462,
                                  "end": 1518,
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 93
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 149
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "ObjectProperty",
                                      "start": 1463,
                                      "end": 1517,
                                      "loc": {
                                        "start": {
                                          "line": 53,
                                          "column": 94
                                        },
                                        "end": {
                                          "line": 53,
                                          "column": 148
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 1463,
                                        "end": 1468,
                                        "loc": {
                                          "start": {
                                            "line": 53,
                                            "column": 94
                                          },
                                          "end": {
                                            "line": 53,
                                            "column": 99
                                          },
                                          "identifierName": "start"
                                        },
                                        "name": "start"
                                      },
                                      "value": {
                                        "type": "MemberExpression",
                                        "start": 1470,
                                        "end": 1517,
                                        "loc": {
                                          "start": {
                                            "line": 53,
                                            "column": 101
                                          },
                                          "end": {
                                            "line": 53,
                                            "column": 148
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 1470,
                                          "end": 1485,
                                          "loc": {
                                            "start": {
                                              "line": 53,
                                              "column": 101
                                            },
                                            "end": {
                                              "line": 53,
                                              "column": 116
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 1470,
                                            "end": 1474,
                                            "loc": {
                                              "start": {
                                                "line": 53,
                                                "column": 101
                                              },
                                              "end": {
                                                "line": 53,
                                                "column": 105
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1475,
                                            "end": 1485,
                                            "loc": {
                                              "start": {
                                                "line": 53,
                                                "column": 106
                                              },
                                              "end": {
                                                "line": 53,
                                                "column": 116
                                              },
                                              "identifierName": "geomParams"
                                            },
                                            "name": "geomParams"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "CallExpression",
                                          "start": 1486,
                                          "end": 1516,
                                          "loc": {
                                            "start": {
                                              "line": 53,
                                              "column": 117
                                            },
                                            "end": {
                                              "line": 53,
                                              "column": 147
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 1486,
                                            "end": 1503,
                                            "loc": {
                                              "start": {
                                                "line": 53,
                                                "column": 117
                                              },
                                              "end": {
                                                "line": 53,
                                                "column": 134
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 1486,
                                              "end": 1495,
                                              "loc": {
                                                "start": {
                                                  "line": 53,
                                                  "column": 117
                                                },
                                                "end": {
                                                  "line": 53,
                                                  "column": 126
                                                },
                                                "identifierName": "childName"
                                              },
                                              "name": "childName"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 1496,
                                              "end": 1503,
                                              "loc": {
                                                "start": {
                                                  "line": 53,
                                                  "column": 127
                                                },
                                                "end": {
                                                  "line": 53,
                                                  "column": 134
                                                },
                                                "identifierName": "replace"
                                              },
                                              "name": "replace"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "StringLiteral",
                                              "start": 1504,
                                              "end": 1511,
                                              "loc": {
                                                "start": {
                                                  "line": 53,
                                                  "column": 135
                                                },
                                                "end": {
                                                  "line": 53,
                                                  "column": 142
                                                }
                                              },
                                              "extra": {
                                                "rawValue": "Point",
                                                "raw": "'Point'"
                                              },
                                              "value": "Point"
                                            },
                                            {
                                              "type": "StringLiteral",
                                              "start": 1513,
                                              "end": 1515,
                                              "loc": {
                                                "start": {
                                                  "line": 53,
                                                  "column": 144
                                                },
                                                "end": {
                                                  "line": 53,
                                                  "column": 146
                                                }
                                              },
                                              "extra": {
                                                "rawValue": "",
                                                "raw": "''"
                                              },
                                              "value": ""
                                            }
                                          ]
                                        },
                                        "computed": true
                                      }
                                    }
                                  ]
                                },
                                {
                                  "type": "ThisExpression",
                                  "start": 1520,
                                  "end": 1524,
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 151
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 155
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "start": 1526,
                                  "end": 1535,
                                  "loc": {
                                    "start": {
                                      "line": 53,
                                      "column": 157
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 166
                                    },
                                    "identifierName": "childName"
                                  },
                                  "name": "childName"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              },
              {
                "type": "ClassMethod",
                "start": 1550,
                "end": 1765,
                "loc": {
                  "start": {
                    "line": 56,
                    "column": 4
                  },
                  "end": {
                    "line": 62,
                    "column": 5
                  }
                },
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1554,
                  "end": 1565,
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 8
                    },
                    "end": {
                      "line": 56,
                      "column": 19
                    },
                    "identifierName": "descendants"
                  },
                  "name": "descendants"
                },
                "static": false,
                "kind": "get",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1568,
                  "end": 1765,
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 22
                    },
                    "end": {
                      "line": 62,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 1578,
                      "end": 1759,
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 8
                        },
                        "end": {
                          "line": 61,
                          "column": 17
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 1585,
                        "end": 1758,
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 15
                          },
                          "end": {
                            "line": 61,
                            "column": 16
                          }
                        },
                        "callee": {
                          "type": "FunctionExpression",
                          "start": 1586,
                          "end": 1751,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 16
                            },
                            "end": {
                              "line": 61,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1596,
                            "end": 1607,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 26
                              },
                              "end": {
                                "line": 57,
                                "column": 37
                              },
                              "identifierName": "descendants"
                            },
                            "name": "descendants"
                          },
                          "generator": true,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 1608,
                              "end": 1617,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 38
                                },
                                "end": {
                                  "line": 57,
                                  "column": 47
                                },
                                "identifierName": "ccfuturef"
                              },
                              "name": "ccfuturef"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 1619,
                            "end": 1751,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 49
                              },
                              "end": {
                                "line": 61,
                                "column": 9
                              }
                            },
                            "body": [
                              {
                                "type": "ForOfStatement",
                                "start": 1633,
                                "end": 1712,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 41
                                  }
                                },
                                "left": {
                                  "type": "VariableDeclaration",
                                  "start": 1638,
                                  "end": 1647,
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 26
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 1642,
                                      "end": 1647,
                                      "loc": {
                                        "start": {
                                          "line": 58,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 58,
                                          "column": 26
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 1642,
                                        "end": 1647,
                                        "loc": {
                                          "start": {
                                            "line": 58,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 58,
                                            "column": 26
                                          },
                                          "identifierName": "child"
                                        },
                                        "name": "child"
                                      },
                                      "init": null
                                    }
                                  ],
                                  "kind": "let"
                                },
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 1651,
                                  "end": 1669,
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 58,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1651,
                                    "end": 1660,
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 39
                                      },
                                      "identifierName": "ccfuturef"
                                    },
                                    "name": "ccfuturef"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1661,
                                    "end": 1669,
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 48
                                      },
                                      "identifierName": "children"
                                    },
                                    "name": "children"
                                  },
                                  "computed": false
                                },
                                "body": {
                                  "type": "ExpressionStatement",
                                  "start": 1687,
                                  "end": 1712,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 41
                                    }
                                  },
                                  "expression": {
                                    "type": "YieldExpression",
                                    "start": 1687,
                                    "end": 1711,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 40
                                      }
                                    },
                                    "delegate": true,
                                    "argument": {
                                      "type": "MemberExpression",
                                      "start": 1694,
                                      "end": 1711,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 40
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1694,
                                        "end": 1699,
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 28
                                          },
                                          "identifierName": "child"
                                        },
                                        "name": "child"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1700,
                                        "end": 1711,
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 40
                                          },
                                          "identifierName": "descendants"
                                        },
                                        "name": "descendants"
                                      },
                                      "computed": false
                                    }
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 1725,
                                "end": 1741,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 28
                                  }
                                },
                                "expression": {
                                  "type": "YieldExpression",
                                  "start": 1725,
                                  "end": 1740,
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 27
                                    }
                                  },
                                  "delegate": false,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 1731,
                                    "end": 1740,
                                    "loc": {
                                      "start": {
                                        "line": 60,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 60,
                                        "column": 27
                                      },
                                      "identifierName": "ccfuturef"
                                    },
                                    "name": "ccfuturef"
                                  }
                                }
                              }
                            ],
                            "directives": []
                          },
                          "extra": {
                            "parenthesized": true,
                            "parenStart": 1585
                          }
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 1753,
                            "end": 1757,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 11
                              },
                              "end": {
                                "line": 61,
                                "column": 15
                              }
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                }
              }
            ]
          },
          "leadingComments": [],
          "trailingComments": []
        }
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentLine",
      "value": " Like a Ccref, but an object is not yet created,",
      "start": 44,
      "end": 94,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 50
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " we have a command (AST expression) that evaluates to it and geomParams",
      "start": 95,
      "end": 168,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 73
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7,
      "end": 8,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Member",
      "start": 8,
      "end": 14,
      "loc": {
        "start": {
          "line": 1,
          "column": 8
        },
        "end": {
          "line": 1,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 14,
      "end": 15,
      "loc": {
        "start": {
          "line": 1,
          "column": 14
        },
        "end": {
          "line": 1,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 16,
      "end": 20,
      "loc": {
        "start": {
          "line": 1,
          "column": 16
        },
        "end": {
          "line": 1,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./command/lowlevel",
      "start": 21,
      "end": 41,
      "loc": {
        "start": {
          "line": 1,
          "column": 21
        },
        "end": {
          "line": 1,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 41,
      "end": 42,
      "loc": {
        "start": {
          "line": 1,
          "column": 41
        },
        "end": {
          "line": 1,
          "column": 42
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Like a Ccref, but an object is not yet created,",
      "start": 44,
      "end": 94,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 50
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " we have a command (AST expression) that evaluates to it and geomParams",
      "start": 95,
      "end": 168,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 169,
      "end": 172,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "idCounter",
      "start": 173,
      "end": 182,
      "loc": {
        "start": {
          "line": 5,
          "column": 4
        },
        "end": {
          "line": 5,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 183,
      "end": 184,
      "loc": {
        "start": {
          "line": 5,
          "column": 14
        },
        "end": {
          "line": 5,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 185,
      "end": 186,
      "loc": {
        "start": {
          "line": 5,
          "column": 16
        },
        "end": {
          "line": 5,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 186,
      "end": 187,
      "loc": {
        "start": {
          "line": 5,
          "column": 17
        },
        "end": {
          "line": 5,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 188,
      "end": 194,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 195,
      "end": 202,
      "loc": {
        "start": {
          "line": 6,
          "column": 7
        },
        "end": {
          "line": 6,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 203,
      "end": 208,
      "loc": {
        "start": {
          "line": 6,
          "column": 15
        },
        "end": {
          "line": 6,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Ccfuturef",
      "start": 209,
      "end": 218,
      "loc": {
        "start": {
          "line": 6,
          "column": 21
        },
        "end": {
          "line": 6,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 219,
      "end": 220,
      "loc": {
        "start": {
          "line": 6,
          "column": 31
        },
        "end": {
          "line": 6,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 225,
      "end": 236,
      "loc": {
        "start": {
          "line": 7,
          "column": 4
        },
        "end": {
          "line": 7,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 236,
      "end": 237,
      "loc": {
        "start": {
          "line": 7,
          "column": 15
        },
        "end": {
          "line": 7,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "command",
      "start": 237,
      "end": 244,
      "loc": {
        "start": {
          "line": 7,
          "column": 16
        },
        "end": {
          "line": 7,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 244,
      "end": 245,
      "loc": {
        "start": {
          "line": 7,
          "column": 23
        },
        "end": {
          "line": 7,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 246,
      "end": 256,
      "loc": {
        "start": {
          "line": 7,
          "column": 25
        },
        "end": {
          "line": 7,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 256,
      "end": 257,
      "loc": {
        "start": {
          "line": 7,
          "column": 35
        },
        "end": {
          "line": 7,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 258,
      "end": 264,
      "loc": {
        "start": {
          "line": 7,
          "column": 37
        },
        "end": {
          "line": 7,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 265,
      "end": 266,
      "loc": {
        "start": {
          "line": 7,
          "column": 44
        },
        "end": {
          "line": 7,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 267,
      "end": 276,
      "loc": {
        "start": {
          "line": 7,
          "column": 46
        },
        "end": {
          "line": 7,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 276,
      "end": 277,
      "loc": {
        "start": {
          "line": 7,
          "column": 55
        },
        "end": {
          "line": 7,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pointType",
      "start": 278,
      "end": 287,
      "loc": {
        "start": {
          "line": 7,
          "column": 57
        },
        "end": {
          "line": 7,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 288,
      "end": 289,
      "loc": {
        "start": {
          "line": 7,
          "column": 67
        },
        "end": {
          "line": 7,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 290,
      "end": 299,
      "loc": {
        "start": {
          "line": 7,
          "column": 69
        },
        "end": {
          "line": 7,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 299,
      "end": 300,
      "loc": {
        "start": {
          "line": 7,
          "column": 78
        },
        "end": {
          "line": 7,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 301,
      "end": 302,
      "loc": {
        "start": {
          "line": 7,
          "column": 80
        },
        "end": {
          "line": 7,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 311,
      "end": 315,
      "loc": {
        "start": {
          "line": 8,
          "column": 8
        },
        "end": {
          "line": 8,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 315,
      "end": 316,
      "loc": {
        "start": {
          "line": 8,
          "column": 12
        },
        "end": {
          "line": 8,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "command",
      "start": 316,
      "end": 323,
      "loc": {
        "start": {
          "line": 8,
          "column": 13
        },
        "end": {
          "line": 8,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 324,
      "end": 325,
      "loc": {
        "start": {
          "line": 8,
          "column": 21
        },
        "end": {
          "line": 8,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "command",
      "start": 326,
      "end": 333,
      "loc": {
        "start": {
          "line": 8,
          "column": 23
        },
        "end": {
          "line": 8,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 333,
      "end": 334,
      "loc": {
        "start": {
          "line": 8,
          "column": 30
        },
        "end": {
          "line": 8,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 343,
      "end": 347,
      "loc": {
        "start": {
          "line": 9,
          "column": 8
        },
        "end": {
          "line": 9,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 347,
      "end": 348,
      "loc": {
        "start": {
          "line": 9,
          "column": 12
        },
        "end": {
          "line": 9,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 348,
      "end": 358,
      "loc": {
        "start": {
          "line": 9,
          "column": 13
        },
        "end": {
          "line": 9,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 359,
      "end": 360,
      "loc": {
        "start": {
          "line": 9,
          "column": 24
        },
        "end": {
          "line": 9,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 361,
      "end": 371,
      "loc": {
        "start": {
          "line": 9,
          "column": 26
        },
        "end": {
          "line": 9,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 371,
      "end": 372,
      "loc": {
        "start": {
          "line": 9,
          "column": 36
        },
        "end": {
          "line": 9,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 381,
      "end": 385,
      "loc": {
        "start": {
          "line": 10,
          "column": 8
        },
        "end": {
          "line": 10,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 385,
      "end": 386,
      "loc": {
        "start": {
          "line": 10,
          "column": 12
        },
        "end": {
          "line": 10,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 386,
      "end": 392,
      "loc": {
        "start": {
          "line": 10,
          "column": 13
        },
        "end": {
          "line": 10,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 393,
      "end": 394,
      "loc": {
        "start": {
          "line": 10,
          "column": 20
        },
        "end": {
          "line": 10,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 395,
      "end": 401,
      "loc": {
        "start": {
          "line": 10,
          "column": 22
        },
        "end": {
          "line": 10,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 402,
      "end": 404,
      "loc": {
        "start": {
          "line": 10,
          "column": 29
        },
        "end": {
          "line": 10,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 405,
      "end": 409,
      "loc": {
        "start": {
          "line": 10,
          "column": 32
        },
        "end": {
          "line": 10,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 409,
      "end": 410,
      "loc": {
        "start": {
          "line": 10,
          "column": 36
        },
        "end": {
          "line": 10,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 419,
      "end": 423,
      "loc": {
        "start": {
          "line": 11,
          "column": 8
        },
        "end": {
          "line": 11,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 423,
      "end": 424,
      "loc": {
        "start": {
          "line": 11,
          "column": 12
        },
        "end": {
          "line": 11,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pointType",
      "start": 424,
      "end": 433,
      "loc": {
        "start": {
          "line": 11,
          "column": 13
        },
        "end": {
          "line": 11,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 434,
      "end": 435,
      "loc": {
        "start": {
          "line": 11,
          "column": 23
        },
        "end": {
          "line": 11,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pointType",
      "start": 436,
      "end": 445,
      "loc": {
        "start": {
          "line": 11,
          "column": 25
        },
        "end": {
          "line": 11,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 445,
      "end": 446,
      "loc": {
        "start": {
          "line": 11,
          "column": 34
        },
        "end": {
          "line": 11,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 455,
      "end": 459,
      "loc": {
        "start": {
          "line": 12,
          "column": 8
        },
        "end": {
          "line": 12,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 459,
      "end": 460,
      "loc": {
        "start": {
          "line": 12,
          "column": 12
        },
        "end": {
          "line": 12,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "id",
      "start": 460,
      "end": 462,
      "loc": {
        "start": {
          "line": 12,
          "column": 13
        },
        "end": {
          "line": 12,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 463,
      "end": 464,
      "loc": {
        "start": {
          "line": 12,
          "column": 16
        },
        "end": {
          "line": 12,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "++/--",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": true,
        "binop": null
      },
      "value": "--",
      "start": 465,
      "end": 467,
      "loc": {
        "start": {
          "line": 12,
          "column": 18
        },
        "end": {
          "line": 12,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "idCounter",
      "start": 467,
      "end": 476,
      "loc": {
        "start": {
          "line": 12,
          "column": 20
        },
        "end": {
          "line": 12,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 476,
      "end": 477,
      "loc": {
        "start": {
          "line": 12,
          "column": 29
        },
        "end": {
          "line": 12,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 482,
      "end": 483,
      "loc": {
        "start": {
          "line": 13,
          "column": 4
        },
        "end": {
          "line": 13,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isConstraint",
      "start": 489,
      "end": 501,
      "loc": {
        "start": {
          "line": 15,
          "column": 4
        },
        "end": {
          "line": 15,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 501,
      "end": 502,
      "loc": {
        "start": {
          "line": 15,
          "column": 16
        },
        "end": {
          "line": 15,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 502,
      "end": 503,
      "loc": {
        "start": {
          "line": 15,
          "column": 17
        },
        "end": {
          "line": 15,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 504,
      "end": 505,
      "loc": {
        "start": {
          "line": 15,
          "column": 19
        },
        "end": {
          "line": 15,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 514,
      "end": 520,
      "loc": {
        "start": {
          "line": 16,
          "column": 8
        },
        "end": {
          "line": 16,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 521,
      "end": 525,
      "loc": {
        "start": {
          "line": 16,
          "column": 15
        },
        "end": {
          "line": 16,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 525,
      "end": 526,
      "loc": {
        "start": {
          "line": 16,
          "column": 19
        },
        "end": {
          "line": 16,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 526,
      "end": 536,
      "loc": {
        "start": {
          "line": 16,
          "column": 20
        },
        "end": {
          "line": 16,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 536,
      "end": 537,
      "loc": {
        "start": {
          "line": 16,
          "column": 30
        },
        "end": {
          "line": 16,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entities",
      "start": 537,
      "end": 545,
      "loc": {
        "start": {
          "line": 16,
          "column": 31
        },
        "end": {
          "line": 16,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 545,
      "end": 546,
      "loc": {
        "start": {
          "line": 16,
          "column": 39
        },
        "end": {
          "line": 16,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 551,
      "end": 552,
      "loc": {
        "start": {
          "line": 17,
          "column": 4
        },
        "end": {
          "line": 17,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isPoint",
      "start": 558,
      "end": 565,
      "loc": {
        "start": {
          "line": 19,
          "column": 4
        },
        "end": {
          "line": 19,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 565,
      "end": 566,
      "loc": {
        "start": {
          "line": 19,
          "column": 11
        },
        "end": {
          "line": 19,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 566,
      "end": 567,
      "loc": {
        "start": {
          "line": 19,
          "column": 12
        },
        "end": {
          "line": 19,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 568,
      "end": 569,
      "loc": {
        "start": {
          "line": 19,
          "column": 14
        },
        "end": {
          "line": 19,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 578,
      "end": 584,
      "loc": {
        "start": {
          "line": 20,
          "column": 8
        },
        "end": {
          "line": 20,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 585,
      "end": 589,
      "loc": {
        "start": {
          "line": 20,
          "column": 15
        },
        "end": {
          "line": 20,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 589,
      "end": 590,
      "loc": {
        "start": {
          "line": 20,
          "column": 19
        },
        "end": {
          "line": 20,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 590,
      "end": 600,
      "loc": {
        "start": {
          "line": 20,
          "column": 20
        },
        "end": {
          "line": 20,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 600,
      "end": 601,
      "loc": {
        "start": {
          "line": 20,
          "column": 30
        },
        "end": {
          "line": 20,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 601,
      "end": 606,
      "loc": {
        "start": {
          "line": 20,
          "column": 31
        },
        "end": {
          "line": 20,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 607,
      "end": 609,
      "loc": {
        "start": {
          "line": 20,
          "column": 37
        },
        "end": {
          "line": 20,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 610,
      "end": 611,
      "loc": {
        "start": {
          "line": 20,
          "column": 40
        },
        "end": {
          "line": 20,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 611,
      "end": 615,
      "loc": {
        "start": {
          "line": 20,
          "column": 41
        },
        "end": {
          "line": 20,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 615,
      "end": 616,
      "loc": {
        "start": {
          "line": 20,
          "column": 45
        },
        "end": {
          "line": 20,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 616,
      "end": 626,
      "loc": {
        "start": {
          "line": 20,
          "column": 46
        },
        "end": {
          "line": 20,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 626,
      "end": 627,
      "loc": {
        "start": {
          "line": 20,
          "column": 56
        },
        "end": {
          "line": 20,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "end",
      "start": 627,
      "end": 630,
      "loc": {
        "start": {
          "line": 20,
          "column": 57
        },
        "end": {
          "line": 20,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 630,
      "end": 631,
      "loc": {
        "start": {
          "line": 20,
          "column": 60
        },
        "end": {
          "line": 20,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 636,
      "end": 637,
      "loc": {
        "start": {
          "line": 21,
          "column": 4
        },
        "end": {
          "line": 21,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isStartPoint",
      "start": 643,
      "end": 655,
      "loc": {
        "start": {
          "line": 23,
          "column": 4
        },
        "end": {
          "line": 23,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 655,
      "end": 656,
      "loc": {
        "start": {
          "line": 23,
          "column": 16
        },
        "end": {
          "line": 23,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 656,
      "end": 657,
      "loc": {
        "start": {
          "line": 23,
          "column": 17
        },
        "end": {
          "line": 23,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 658,
      "end": 659,
      "loc": {
        "start": {
          "line": 23,
          "column": 19
        },
        "end": {
          "line": 23,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 668,
      "end": 674,
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 675,
      "end": 679,
      "loc": {
        "start": {
          "line": 24,
          "column": 15
        },
        "end": {
          "line": 24,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 679,
      "end": 680,
      "loc": {
        "start": {
          "line": 24,
          "column": 19
        },
        "end": {
          "line": 24,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pointType",
      "start": 680,
      "end": 689,
      "loc": {
        "start": {
          "line": 24,
          "column": 20
        },
        "end": {
          "line": 24,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 690,
      "end": 693,
      "loc": {
        "start": {
          "line": 24,
          "column": 30
        },
        "end": {
          "line": 24,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "startPoint",
      "start": 694,
      "end": 706,
      "loc": {
        "start": {
          "line": 24,
          "column": 34
        },
        "end": {
          "line": 24,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 706,
      "end": 707,
      "loc": {
        "start": {
          "line": 24,
          "column": 46
        },
        "end": {
          "line": 24,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 712,
      "end": 713,
      "loc": {
        "start": {
          "line": 25,
          "column": 4
        },
        "end": {
          "line": 25,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isEndPoint",
      "start": 719,
      "end": 729,
      "loc": {
        "start": {
          "line": 27,
          "column": 4
        },
        "end": {
          "line": 27,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 729,
      "end": 730,
      "loc": {
        "start": {
          "line": 27,
          "column": 14
        },
        "end": {
          "line": 27,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 730,
      "end": 731,
      "loc": {
        "start": {
          "line": 27,
          "column": 15
        },
        "end": {
          "line": 27,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 732,
      "end": 733,
      "loc": {
        "start": {
          "line": 27,
          "column": 17
        },
        "end": {
          "line": 27,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 742,
      "end": 748,
      "loc": {
        "start": {
          "line": 28,
          "column": 8
        },
        "end": {
          "line": 28,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 749,
      "end": 753,
      "loc": {
        "start": {
          "line": 28,
          "column": 15
        },
        "end": {
          "line": 28,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 753,
      "end": 754,
      "loc": {
        "start": {
          "line": 28,
          "column": 19
        },
        "end": {
          "line": 28,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pointType",
      "start": 754,
      "end": 763,
      "loc": {
        "start": {
          "line": 28,
          "column": 20
        },
        "end": {
          "line": 28,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 764,
      "end": 767,
      "loc": {
        "start": {
          "line": 28,
          "column": 30
        },
        "end": {
          "line": 28,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "endPoint",
      "start": 768,
      "end": 778,
      "loc": {
        "start": {
          "line": 28,
          "column": 34
        },
        "end": {
          "line": 28,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 778,
      "end": 779,
      "loc": {
        "start": {
          "line": 28,
          "column": 44
        },
        "end": {
          "line": 28,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 784,
      "end": 785,
      "loc": {
        "start": {
          "line": 29,
          "column": 4
        },
        "end": {
          "line": 29,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isCenterPoint",
      "start": 795,
      "end": 808,
      "loc": {
        "start": {
          "line": 31,
          "column": 4
        },
        "end": {
          "line": 31,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 808,
      "end": 809,
      "loc": {
        "start": {
          "line": 31,
          "column": 17
        },
        "end": {
          "line": 31,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 809,
      "end": 810,
      "loc": {
        "start": {
          "line": 31,
          "column": 18
        },
        "end": {
          "line": 31,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 811,
      "end": 812,
      "loc": {
        "start": {
          "line": 31,
          "column": 20
        },
        "end": {
          "line": 31,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 821,
      "end": 827,
      "loc": {
        "start": {
          "line": 32,
          "column": 8
        },
        "end": {
          "line": 32,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 828,
      "end": 832,
      "loc": {
        "start": {
          "line": 32,
          "column": 15
        },
        "end": {
          "line": 32,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 832,
      "end": 833,
      "loc": {
        "start": {
          "line": 32,
          "column": 19
        },
        "end": {
          "line": 32,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "pointType",
      "start": 833,
      "end": 842,
      "loc": {
        "start": {
          "line": 32,
          "column": 20
        },
        "end": {
          "line": 32,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 843,
      "end": 846,
      "loc": {
        "start": {
          "line": 32,
          "column": 30
        },
        "end": {
          "line": 32,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "center",
      "start": 847,
      "end": 855,
      "loc": {
        "start": {
          "line": 32,
          "column": 34
        },
        "end": {
          "line": 32,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 855,
      "end": 856,
      "loc": {
        "start": {
          "line": 32,
          "column": 42
        },
        "end": {
          "line": 32,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 861,
      "end": 862,
      "loc": {
        "start": {
          "line": 33,
          "column": 4
        },
        "end": {
          "line": 33,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isSubPoint",
      "start": 868,
      "end": 878,
      "loc": {
        "start": {
          "line": 35,
          "column": 4
        },
        "end": {
          "line": 35,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 878,
      "end": 879,
      "loc": {
        "start": {
          "line": 35,
          "column": 14
        },
        "end": {
          "line": 35,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 879,
      "end": 880,
      "loc": {
        "start": {
          "line": 35,
          "column": 15
        },
        "end": {
          "line": 35,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 881,
      "end": 882,
      "loc": {
        "start": {
          "line": 35,
          "column": 17
        },
        "end": {
          "line": 35,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 891,
      "end": 897,
      "loc": {
        "start": {
          "line": 36,
          "column": 8
        },
        "end": {
          "line": 36,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 898,
      "end": 902,
      "loc": {
        "start": {
          "line": 36,
          "column": 15
        },
        "end": {
          "line": 36,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 902,
      "end": 903,
      "loc": {
        "start": {
          "line": 36,
          "column": 19
        },
        "end": {
          "line": 36,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isPoint",
      "start": 903,
      "end": 910,
      "loc": {
        "start": {
          "line": 36,
          "column": 20
        },
        "end": {
          "line": 36,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 910,
      "end": 911,
      "loc": {
        "start": {
          "line": 36,
          "column": 27
        },
        "end": {
          "line": 36,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 911,
      "end": 912,
      "loc": {
        "start": {
          "line": 36,
          "column": 28
        },
        "end": {
          "line": 36,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 913,
      "end": 915,
      "loc": {
        "start": {
          "line": 36,
          "column": 30
        },
        "end": {
          "line": 36,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 916,
      "end": 917,
      "loc": {
        "start": {
          "line": 36,
          "column": 33
        },
        "end": {
          "line": 36,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 917,
      "end": 921,
      "loc": {
        "start": {
          "line": 36,
          "column": 34
        },
        "end": {
          "line": 36,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 921,
      "end": 922,
      "loc": {
        "start": {
          "line": 36,
          "column": 38
        },
        "end": {
          "line": 36,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isStartPoint",
      "start": 922,
      "end": 934,
      "loc": {
        "start": {
          "line": 36,
          "column": 39
        },
        "end": {
          "line": 36,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 934,
      "end": 935,
      "loc": {
        "start": {
          "line": 36,
          "column": 51
        },
        "end": {
          "line": 36,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 935,
      "end": 936,
      "loc": {
        "start": {
          "line": 36,
          "column": 52
        },
        "end": {
          "line": 36,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 937,
      "end": 939,
      "loc": {
        "start": {
          "line": 36,
          "column": 54
        },
        "end": {
          "line": 36,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 940,
      "end": 944,
      "loc": {
        "start": {
          "line": 36,
          "column": 57
        },
        "end": {
          "line": 36,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 944,
      "end": 945,
      "loc": {
        "start": {
          "line": 36,
          "column": 61
        },
        "end": {
          "line": 36,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isEndPoint",
      "start": 945,
      "end": 955,
      "loc": {
        "start": {
          "line": 36,
          "column": 62
        },
        "end": {
          "line": 36,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 955,
      "end": 956,
      "loc": {
        "start": {
          "line": 36,
          "column": 72
        },
        "end": {
          "line": 36,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 956,
      "end": 957,
      "loc": {
        "start": {
          "line": 36,
          "column": 73
        },
        "end": {
          "line": 36,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 958,
      "end": 960,
      "loc": {
        "start": {
          "line": 36,
          "column": 75
        },
        "end": {
          "line": 36,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 961,
      "end": 965,
      "loc": {
        "start": {
          "line": 36,
          "column": 78
        },
        "end": {
          "line": 36,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 965,
      "end": 966,
      "loc": {
        "start": {
          "line": 36,
          "column": 82
        },
        "end": {
          "line": 36,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isCenterPoint",
      "start": 966,
      "end": 979,
      "loc": {
        "start": {
          "line": 36,
          "column": 83
        },
        "end": {
          "line": 36,
          "column": 96
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 979,
      "end": 980,
      "loc": {
        "start": {
          "line": 36,
          "column": 96
        },
        "end": {
          "line": 36,
          "column": 97
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 980,
      "end": 981,
      "loc": {
        "start": {
          "line": 36,
          "column": 97
        },
        "end": {
          "line": 36,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 981,
      "end": 982,
      "loc": {
        "start": {
          "line": 36,
          "column": 98
        },
        "end": {
          "line": 36,
          "column": 99
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 982,
      "end": 983,
      "loc": {
        "start": {
          "line": 36,
          "column": 99
        },
        "end": {
          "line": 36,
          "column": 100
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 988,
      "end": 989,
      "loc": {
        "start": {
          "line": 37,
          "column": 4
        },
        "end": {
          "line": 37,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isLine",
      "start": 995,
      "end": 1001,
      "loc": {
        "start": {
          "line": 39,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1001,
      "end": 1002,
      "loc": {
        "start": {
          "line": 39,
          "column": 10
        },
        "end": {
          "line": 39,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1002,
      "end": 1003,
      "loc": {
        "start": {
          "line": 39,
          "column": 11
        },
        "end": {
          "line": 39,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1004,
      "end": 1005,
      "loc": {
        "start": {
          "line": 39,
          "column": 13
        },
        "end": {
          "line": 39,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1014,
      "end": 1020,
      "loc": {
        "start": {
          "line": 40,
          "column": 8
        },
        "end": {
          "line": 40,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1021,
      "end": 1025,
      "loc": {
        "start": {
          "line": 40,
          "column": 15
        },
        "end": {
          "line": 40,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1025,
      "end": 1026,
      "loc": {
        "start": {
          "line": 40,
          "column": 19
        },
        "end": {
          "line": 40,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 1026,
      "end": 1036,
      "loc": {
        "start": {
          "line": 40,
          "column": 20
        },
        "end": {
          "line": 40,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1036,
      "end": 1037,
      "loc": {
        "start": {
          "line": 40,
          "column": 30
        },
        "end": {
          "line": 40,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "end",
      "start": 1037,
      "end": 1040,
      "loc": {
        "start": {
          "line": 40,
          "column": 31
        },
        "end": {
          "line": 40,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1041,
      "end": 1043,
      "loc": {
        "start": {
          "line": 40,
          "column": 35
        },
        "end": {
          "line": 40,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 1044,
      "end": 1045,
      "loc": {
        "start": {
          "line": 40,
          "column": 38
        },
        "end": {
          "line": 40,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1045,
      "end": 1049,
      "loc": {
        "start": {
          "line": 40,
          "column": 39
        },
        "end": {
          "line": 40,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1049,
      "end": 1050,
      "loc": {
        "start": {
          "line": 40,
          "column": 43
        },
        "end": {
          "line": 40,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 1050,
      "end": 1060,
      "loc": {
        "start": {
          "line": 40,
          "column": 44
        },
        "end": {
          "line": 40,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1060,
      "end": 1061,
      "loc": {
        "start": {
          "line": 40,
          "column": 54
        },
        "end": {
          "line": 40,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "center",
      "start": 1061,
      "end": 1067,
      "loc": {
        "start": {
          "line": 40,
          "column": 55
        },
        "end": {
          "line": 40,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1067,
      "end": 1068,
      "loc": {
        "start": {
          "line": 40,
          "column": 61
        },
        "end": {
          "line": 40,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1073,
      "end": 1074,
      "loc": {
        "start": {
          "line": 41,
          "column": 4
        },
        "end": {
          "line": 41,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isArc",
      "start": 1080,
      "end": 1085,
      "loc": {
        "start": {
          "line": 43,
          "column": 4
        },
        "end": {
          "line": 43,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1085,
      "end": 1086,
      "loc": {
        "start": {
          "line": 43,
          "column": 9
        },
        "end": {
          "line": 43,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1086,
      "end": 1087,
      "loc": {
        "start": {
          "line": 43,
          "column": 10
        },
        "end": {
          "line": 43,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1088,
      "end": 1089,
      "loc": {
        "start": {
          "line": 43,
          "column": 12
        },
        "end": {
          "line": 43,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1098,
      "end": 1104,
      "loc": {
        "start": {
          "line": 44,
          "column": 8
        },
        "end": {
          "line": 44,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1105,
      "end": 1109,
      "loc": {
        "start": {
          "line": 44,
          "column": 15
        },
        "end": {
          "line": 44,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1109,
      "end": 1110,
      "loc": {
        "start": {
          "line": 44,
          "column": 19
        },
        "end": {
          "line": 44,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 1110,
      "end": 1120,
      "loc": {
        "start": {
          "line": 44,
          "column": 20
        },
        "end": {
          "line": 44,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1120,
      "end": 1121,
      "loc": {
        "start": {
          "line": 44,
          "column": 30
        },
        "end": {
          "line": 44,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "center",
      "start": 1121,
      "end": 1127,
      "loc": {
        "start": {
          "line": 44,
          "column": 31
        },
        "end": {
          "line": 44,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1127,
      "end": 1128,
      "loc": {
        "start": {
          "line": 44,
          "column": 37
        },
        "end": {
          "line": 44,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1133,
      "end": 1134,
      "loc": {
        "start": {
          "line": 45,
          "column": 4
        },
        "end": {
          "line": 45,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 1140,
      "end": 1143,
      "loc": {
        "start": {
          "line": 47,
          "column": 4
        },
        "end": {
          "line": 47,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 1144,
      "end": 1152,
      "loc": {
        "start": {
          "line": 47,
          "column": 8
        },
        "end": {
          "line": 47,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1152,
      "end": 1153,
      "loc": {
        "start": {
          "line": 47,
          "column": 16
        },
        "end": {
          "line": 47,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1153,
      "end": 1154,
      "loc": {
        "start": {
          "line": 47,
          "column": 17
        },
        "end": {
          "line": 47,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1155,
      "end": 1156,
      "loc": {
        "start": {
          "line": 47,
          "column": 19
        },
        "end": {
          "line": 47,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1165,
      "end": 1168,
      "loc": {
        "start": {
          "line": 48,
          "column": 8
        },
        "end": {
          "line": 48,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "childrenNames",
      "start": 1169,
      "end": 1182,
      "loc": {
        "start": {
          "line": 48,
          "column": 12
        },
        "end": {
          "line": 48,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1183,
      "end": 1184,
      "loc": {
        "start": {
          "line": 48,
          "column": 26
        },
        "end": {
          "line": 48,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1185,
      "end": 1186,
      "loc": {
        "start": {
          "line": 48,
          "column": 28
        },
        "end": {
          "line": 48,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1186,
      "end": 1187,
      "loc": {
        "start": {
          "line": 48,
          "column": 29
        },
        "end": {
          "line": 48,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1187,
      "end": 1188,
      "loc": {
        "start": {
          "line": 48,
          "column": 30
        },
        "end": {
          "line": 48,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1197,
      "end": 1199,
      "loc": {
        "start": {
          "line": 49,
          "column": 8
        },
        "end": {
          "line": 49,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1200,
      "end": 1201,
      "loc": {
        "start": {
          "line": 49,
          "column": 11
        },
        "end": {
          "line": 49,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1201,
      "end": 1205,
      "loc": {
        "start": {
          "line": 49,
          "column": 12
        },
        "end": {
          "line": 49,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1205,
      "end": 1206,
      "loc": {
        "start": {
          "line": 49,
          "column": 16
        },
        "end": {
          "line": 49,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isLine",
      "start": 1206,
      "end": 1212,
      "loc": {
        "start": {
          "line": 49,
          "column": 17
        },
        "end": {
          "line": 49,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1212,
      "end": 1213,
      "loc": {
        "start": {
          "line": 49,
          "column": 23
        },
        "end": {
          "line": 49,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1213,
      "end": 1214,
      "loc": {
        "start": {
          "line": 49,
          "column": 24
        },
        "end": {
          "line": 49,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1214,
      "end": 1215,
      "loc": {
        "start": {
          "line": 49,
          "column": 25
        },
        "end": {
          "line": 49,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "childrenNames",
      "start": 1228,
      "end": 1241,
      "loc": {
        "start": {
          "line": 50,
          "column": 12
        },
        "end": {
          "line": 50,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1242,
      "end": 1243,
      "loc": {
        "start": {
          "line": 50,
          "column": 26
        },
        "end": {
          "line": 50,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1244,
      "end": 1245,
      "loc": {
        "start": {
          "line": 50,
          "column": 28
        },
        "end": {
          "line": 50,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "startPoint",
      "start": 1245,
      "end": 1257,
      "loc": {
        "start": {
          "line": 50,
          "column": 29
        },
        "end": {
          "line": 50,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1257,
      "end": 1258,
      "loc": {
        "start": {
          "line": 50,
          "column": 41
        },
        "end": {
          "line": 50,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "endPoint",
      "start": 1259,
      "end": 1269,
      "loc": {
        "start": {
          "line": 50,
          "column": 43
        },
        "end": {
          "line": 50,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1269,
      "end": 1270,
      "loc": {
        "start": {
          "line": 50,
          "column": 53
        },
        "end": {
          "line": 50,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1270,
      "end": 1271,
      "loc": {
        "start": {
          "line": 50,
          "column": 54
        },
        "end": {
          "line": 50,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 1280,
      "end": 1284,
      "loc": {
        "start": {
          "line": 51,
          "column": 8
        },
        "end": {
          "line": 51,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1285,
      "end": 1287,
      "loc": {
        "start": {
          "line": 51,
          "column": 13
        },
        "end": {
          "line": 51,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1288,
      "end": 1289,
      "loc": {
        "start": {
          "line": 51,
          "column": 16
        },
        "end": {
          "line": 51,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1289,
      "end": 1293,
      "loc": {
        "start": {
          "line": 51,
          "column": 17
        },
        "end": {
          "line": 51,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1293,
      "end": 1294,
      "loc": {
        "start": {
          "line": 51,
          "column": 21
        },
        "end": {
          "line": 51,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isArc",
      "start": 1294,
      "end": 1299,
      "loc": {
        "start": {
          "line": 51,
          "column": 22
        },
        "end": {
          "line": 51,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1299,
      "end": 1300,
      "loc": {
        "start": {
          "line": 51,
          "column": 27
        },
        "end": {
          "line": 51,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1300,
      "end": 1301,
      "loc": {
        "start": {
          "line": 51,
          "column": 28
        },
        "end": {
          "line": 51,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1301,
      "end": 1302,
      "loc": {
        "start": {
          "line": 51,
          "column": 29
        },
        "end": {
          "line": 51,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "childrenNames",
      "start": 1315,
      "end": 1328,
      "loc": {
        "start": {
          "line": 52,
          "column": 12
        },
        "end": {
          "line": 52,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1329,
      "end": 1330,
      "loc": {
        "start": {
          "line": 52,
          "column": 26
        },
        "end": {
          "line": 52,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1331,
      "end": 1332,
      "loc": {
        "start": {
          "line": 52,
          "column": 28
        },
        "end": {
          "line": 52,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "startPoint",
      "start": 1332,
      "end": 1344,
      "loc": {
        "start": {
          "line": 52,
          "column": 29
        },
        "end": {
          "line": 52,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1344,
      "end": 1345,
      "loc": {
        "start": {
          "line": 52,
          "column": 41
        },
        "end": {
          "line": 52,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "endPoint",
      "start": 1346,
      "end": 1356,
      "loc": {
        "start": {
          "line": 52,
          "column": 43
        },
        "end": {
          "line": 52,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1356,
      "end": 1357,
      "loc": {
        "start": {
          "line": 52,
          "column": 53
        },
        "end": {
          "line": 52,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "center",
      "start": 1358,
      "end": 1366,
      "loc": {
        "start": {
          "line": 52,
          "column": 55
        },
        "end": {
          "line": 52,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1366,
      "end": 1367,
      "loc": {
        "start": {
          "line": 52,
          "column": 63
        },
        "end": {
          "line": 52,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1367,
      "end": 1368,
      "loc": {
        "start": {
          "line": 52,
          "column": 64
        },
        "end": {
          "line": 52,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1377,
      "end": 1383,
      "loc": {
        "start": {
          "line": 53,
          "column": 8
        },
        "end": {
          "line": 53,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "childrenNames",
      "start": 1384,
      "end": 1397,
      "loc": {
        "start": {
          "line": 53,
          "column": 15
        },
        "end": {
          "line": 53,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1397,
      "end": 1398,
      "loc": {
        "start": {
          "line": 53,
          "column": 28
        },
        "end": {
          "line": 53,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "map",
      "start": 1398,
      "end": 1401,
      "loc": {
        "start": {
          "line": 53,
          "column": 29
        },
        "end": {
          "line": 53,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1401,
      "end": 1402,
      "loc": {
        "start": {
          "line": 53,
          "column": 32
        },
        "end": {
          "line": 53,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "childName",
      "start": 1402,
      "end": 1411,
      "loc": {
        "start": {
          "line": 53,
          "column": 33
        },
        "end": {
          "line": 53,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1412,
      "end": 1414,
      "loc": {
        "start": {
          "line": 53,
          "column": 43
        },
        "end": {
          "line": 53,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 1415,
      "end": 1418,
      "loc": {
        "start": {
          "line": 53,
          "column": 46
        },
        "end": {
          "line": 53,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Ccfuturef",
      "start": 1419,
      "end": 1428,
      "loc": {
        "start": {
          "line": 53,
          "column": 50
        },
        "end": {
          "line": 53,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1428,
      "end": 1429,
      "loc": {
        "start": {
          "line": 53,
          "column": 59
        },
        "end": {
          "line": 53,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Member",
      "start": 1429,
      "end": 1435,
      "loc": {
        "start": {
          "line": 53,
          "column": 60
        },
        "end": {
          "line": 53,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1435,
      "end": 1436,
      "loc": {
        "start": {
          "line": 53,
          "column": 66
        },
        "end": {
          "line": 53,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1436,
      "end": 1440,
      "loc": {
        "start": {
          "line": 53,
          "column": 67
        },
        "end": {
          "line": 53,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1440,
      "end": 1441,
      "loc": {
        "start": {
          "line": 53,
          "column": 71
        },
        "end": {
          "line": 53,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "command",
      "start": 1441,
      "end": 1448,
      "loc": {
        "start": {
          "line": 53,
          "column": 72
        },
        "end": {
          "line": 53,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1448,
      "end": 1449,
      "loc": {
        "start": {
          "line": 53,
          "column": 79
        },
        "end": {
          "line": 53,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "childName",
      "start": 1450,
      "end": 1459,
      "loc": {
        "start": {
          "line": 53,
          "column": 81
        },
        "end": {
          "line": 53,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1459,
      "end": 1460,
      "loc": {
        "start": {
          "line": 53,
          "column": 90
        },
        "end": {
          "line": 53,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1460,
      "end": 1461,
      "loc": {
        "start": {
          "line": 53,
          "column": 91
        },
        "end": {
          "line": 53,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1462,
      "end": 1463,
      "loc": {
        "start": {
          "line": 53,
          "column": 93
        },
        "end": {
          "line": 53,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "start",
      "start": 1463,
      "end": 1468,
      "loc": {
        "start": {
          "line": 53,
          "column": 94
        },
        "end": {
          "line": 53,
          "column": 99
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1468,
      "end": 1469,
      "loc": {
        "start": {
          "line": 53,
          "column": 99
        },
        "end": {
          "line": 53,
          "column": 100
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1470,
      "end": 1474,
      "loc": {
        "start": {
          "line": 53,
          "column": 101
        },
        "end": {
          "line": 53,
          "column": 105
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1474,
      "end": 1475,
      "loc": {
        "start": {
          "line": 53,
          "column": 105
        },
        "end": {
          "line": 53,
          "column": 106
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "geomParams",
      "start": 1475,
      "end": 1485,
      "loc": {
        "start": {
          "line": 53,
          "column": 106
        },
        "end": {
          "line": 53,
          "column": 116
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1485,
      "end": 1486,
      "loc": {
        "start": {
          "line": 53,
          "column": 116
        },
        "end": {
          "line": 53,
          "column": 117
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "childName",
      "start": 1486,
      "end": 1495,
      "loc": {
        "start": {
          "line": 53,
          "column": 117
        },
        "end": {
          "line": 53,
          "column": 126
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1495,
      "end": 1496,
      "loc": {
        "start": {
          "line": 53,
          "column": 126
        },
        "end": {
          "line": 53,
          "column": 127
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "replace",
      "start": 1496,
      "end": 1503,
      "loc": {
        "start": {
          "line": 53,
          "column": 127
        },
        "end": {
          "line": 53,
          "column": 134
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1503,
      "end": 1504,
      "loc": {
        "start": {
          "line": 53,
          "column": 134
        },
        "end": {
          "line": 53,
          "column": 135
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Point",
      "start": 1504,
      "end": 1511,
      "loc": {
        "start": {
          "line": 53,
          "column": 135
        },
        "end": {
          "line": 53,
          "column": 142
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1511,
      "end": 1512,
      "loc": {
        "start": {
          "line": 53,
          "column": 142
        },
        "end": {
          "line": 53,
          "column": 143
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1513,
      "end": 1515,
      "loc": {
        "start": {
          "line": 53,
          "column": 144
        },
        "end": {
          "line": 53,
          "column": 146
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1515,
      "end": 1516,
      "loc": {
        "start": {
          "line": 53,
          "column": 146
        },
        "end": {
          "line": 53,
          "column": 147
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1516,
      "end": 1517,
      "loc": {
        "start": {
          "line": 53,
          "column": 147
        },
        "end": {
          "line": 53,
          "column": 148
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1517,
      "end": 1518,
      "loc": {
        "start": {
          "line": 53,
          "column": 148
        },
        "end": {
          "line": 53,
          "column": 149
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1518,
      "end": 1519,
      "loc": {
        "start": {
          "line": 53,
          "column": 149
        },
        "end": {
          "line": 53,
          "column": 150
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1520,
      "end": 1524,
      "loc": {
        "start": {
          "line": 53,
          "column": 151
        },
        "end": {
          "line": 53,
          "column": 155
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1524,
      "end": 1525,
      "loc": {
        "start": {
          "line": 53,
          "column": 155
        },
        "end": {
          "line": 53,
          "column": 156
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "childName",
      "start": 1526,
      "end": 1535,
      "loc": {
        "start": {
          "line": 53,
          "column": 157
        },
        "end": {
          "line": 53,
          "column": 166
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1535,
      "end": 1536,
      "loc": {
        "start": {
          "line": 53,
          "column": 166
        },
        "end": {
          "line": 53,
          "column": 167
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1536,
      "end": 1537,
      "loc": {
        "start": {
          "line": 53,
          "column": 167
        },
        "end": {
          "line": 53,
          "column": 168
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1537,
      "end": 1538,
      "loc": {
        "start": {
          "line": 53,
          "column": 168
        },
        "end": {
          "line": 53,
          "column": 169
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1543,
      "end": 1544,
      "loc": {
        "start": {
          "line": 54,
          "column": 4
        },
        "end": {
          "line": 54,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 1550,
      "end": 1553,
      "loc": {
        "start": {
          "line": 56,
          "column": 4
        },
        "end": {
          "line": 56,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "descendants",
      "start": 1554,
      "end": 1565,
      "loc": {
        "start": {
          "line": 56,
          "column": 8
        },
        "end": {
          "line": 56,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1565,
      "end": 1566,
      "loc": {
        "start": {
          "line": 56,
          "column": 19
        },
        "end": {
          "line": 56,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1566,
      "end": 1567,
      "loc": {
        "start": {
          "line": 56,
          "column": 20
        },
        "end": {
          "line": 56,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1568,
      "end": 1569,
      "loc": {
        "start": {
          "line": 56,
          "column": 22
        },
        "end": {
          "line": 56,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1578,
      "end": 1584,
      "loc": {
        "start": {
          "line": 57,
          "column": 8
        },
        "end": {
          "line": 57,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1585,
      "end": 1586,
      "loc": {
        "start": {
          "line": 57,
          "column": 15
        },
        "end": {
          "line": 57,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "function",
        "keyword": "function",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "function",
      "start": 1586,
      "end": 1594,
      "loc": {
        "start": {
          "line": 57,
          "column": 16
        },
        "end": {
          "line": 57,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 1595,
      "end": 1596,
      "loc": {
        "start": {
          "line": 57,
          "column": 25
        },
        "end": {
          "line": 57,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "descendants",
      "start": 1596,
      "end": 1607,
      "loc": {
        "start": {
          "line": 57,
          "column": 26
        },
        "end": {
          "line": 57,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1607,
      "end": 1608,
      "loc": {
        "start": {
          "line": 57,
          "column": 37
        },
        "end": {
          "line": 57,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ccfuturef",
      "start": 1608,
      "end": 1617,
      "loc": {
        "start": {
          "line": 57,
          "column": 38
        },
        "end": {
          "line": 57,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1617,
      "end": 1618,
      "loc": {
        "start": {
          "line": 57,
          "column": 47
        },
        "end": {
          "line": 57,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1619,
      "end": 1620,
      "loc": {
        "start": {
          "line": 57,
          "column": 49
        },
        "end": {
          "line": 57,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 1633,
      "end": 1636,
      "loc": {
        "start": {
          "line": 58,
          "column": 12
        },
        "end": {
          "line": 58,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1637,
      "end": 1638,
      "loc": {
        "start": {
          "line": 58,
          "column": 16
        },
        "end": {
          "line": 58,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1638,
      "end": 1641,
      "loc": {
        "start": {
          "line": 58,
          "column": 17
        },
        "end": {
          "line": 58,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 1642,
      "end": 1647,
      "loc": {
        "start": {
          "line": 58,
          "column": 21
        },
        "end": {
          "line": 58,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 1648,
      "end": 1650,
      "loc": {
        "start": {
          "line": 58,
          "column": 27
        },
        "end": {
          "line": 58,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ccfuturef",
      "start": 1651,
      "end": 1660,
      "loc": {
        "start": {
          "line": 58,
          "column": 30
        },
        "end": {
          "line": 58,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1660,
      "end": 1661,
      "loc": {
        "start": {
          "line": 58,
          "column": 39
        },
        "end": {
          "line": 58,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "children",
      "start": 1661,
      "end": 1669,
      "loc": {
        "start": {
          "line": 58,
          "column": 40
        },
        "end": {
          "line": 58,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1669,
      "end": 1670,
      "loc": {
        "start": {
          "line": 58,
          "column": 48
        },
        "end": {
          "line": 58,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "yield",
        "keyword": "yield",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "yield",
      "start": 1687,
      "end": 1692,
      "loc": {
        "start": {
          "line": 59,
          "column": 16
        },
        "end": {
          "line": 59,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "*",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 10,
        "updateContext": null
      },
      "value": "*",
      "start": 1693,
      "end": 1694,
      "loc": {
        "start": {
          "line": 59,
          "column": 22
        },
        "end": {
          "line": 59,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "child",
      "start": 1694,
      "end": 1699,
      "loc": {
        "start": {
          "line": 59,
          "column": 23
        },
        "end": {
          "line": 59,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1699,
      "end": 1700,
      "loc": {
        "start": {
          "line": 59,
          "column": 28
        },
        "end": {
          "line": 59,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "descendants",
      "start": 1700,
      "end": 1711,
      "loc": {
        "start": {
          "line": 59,
          "column": 29
        },
        "end": {
          "line": 59,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1711,
      "end": 1712,
      "loc": {
        "start": {
          "line": 59,
          "column": 40
        },
        "end": {
          "line": 59,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "yield",
        "keyword": "yield",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "yield",
      "start": 1725,
      "end": 1730,
      "loc": {
        "start": {
          "line": 60,
          "column": 12
        },
        "end": {
          "line": 60,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ccfuturef",
      "start": 1731,
      "end": 1740,
      "loc": {
        "start": {
          "line": 60,
          "column": 18
        },
        "end": {
          "line": 60,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1740,
      "end": 1741,
      "loc": {
        "start": {
          "line": 60,
          "column": 27
        },
        "end": {
          "line": 60,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1750,
      "end": 1751,
      "loc": {
        "start": {
          "line": 61,
          "column": 8
        },
        "end": {
          "line": 61,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1751,
      "end": 1752,
      "loc": {
        "start": {
          "line": 61,
          "column": 9
        },
        "end": {
          "line": 61,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1752,
      "end": 1753,
      "loc": {
        "start": {
          "line": 61,
          "column": 10
        },
        "end": {
          "line": 61,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 1753,
      "end": 1757,
      "loc": {
        "start": {
          "line": 61,
          "column": 11
        },
        "end": {
          "line": 61,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1757,
      "end": 1758,
      "loc": {
        "start": {
          "line": 61,
          "column": 15
        },
        "end": {
          "line": 61,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1758,
      "end": 1759,
      "loc": {
        "start": {
          "line": 61,
          "column": 16
        },
        "end": {
          "line": 61,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1764,
      "end": 1765,
      "loc": {
        "start": {
          "line": 62,
          "column": 4
        },
        "end": {
          "line": 62,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1766,
      "end": 1767,
      "loc": {
        "start": {
          "line": 63,
          "column": 0
        },
        "end": {
          "line": 63,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1768,
      "end": 1768,
      "loc": {
        "start": {
          "line": 64,
          "column": 0
        },
        "end": {
          "line": 64,
          "column": 0
        }
      }
    }
  ]
}