{
  "type": "Program",
  "start": 0,
  "end": 32317,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 788,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 50,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 50
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 8,
          "end": 22,
          "loc": {
            "start": {
              "line": 1,
              "column": 8
            },
            "end": {
              "line": 1,
              "column": 22
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 8,
            "end": 22,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 22
              }
            },
            "name": "ClassCadObject"
          },
          "local": {
            "type": "Identifier",
            "start": 8,
            "end": 22,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 22
              }
            },
            "name": "ClassCadObject"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 29,
        "end": 49,
        "loc": {
          "start": {
            "line": 1,
            "column": 29
          },
          "end": {
            "line": 1,
            "column": 49
          }
        },
        "value": "sketcher/ccobjects",
        "rawValue": "sketcher/ccobjects",
        "raw": "'sketcher/ccobjects'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 51,
      "end": 92,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 41
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 58,
          "end": 66,
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 15
            }
          },
          "local": {
            "type": "Identifier",
            "start": 58,
            "end": 66,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 15
              }
            },
            "name": "Sketcher"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 72,
        "end": 91,
        "loc": {
          "start": {
            "line": 2,
            "column": 21
          },
          "end": {
            "line": 2,
            "column": 40
          }
        },
        "value": "sketcher/sketcher",
        "rawValue": "sketcher/sketcher",
        "raw": "'sketcher/sketcher'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 93,
      "end": 138,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 45
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 100,
          "end": 110,
          "loc": {
            "start": {
              "line": 3,
              "column": 7
            },
            "end": {
              "line": 3,
              "column": 17
            }
          },
          "local": {
            "type": "Identifier",
            "start": 100,
            "end": 110,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 17
              }
            },
            "name": "Constraint"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 116,
        "end": 137,
        "loc": {
          "start": {
            "line": 3,
            "column": 23
          },
          "end": {
            "line": 3,
            "column": 44
          }
        },
        "value": "sketcher/constraint",
        "rawValue": "sketcher/constraint",
        "raw": "'sketcher/constraint'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 139,
      "end": 196,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 57
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 146,
          "end": 165,
          "loc": {
            "start": {
              "line": 4,
              "column": 7
            },
            "end": {
              "line": 4,
              "column": 26
            }
          },
          "local": {
            "type": "Identifier",
            "start": 146,
            "end": 165,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 26
              }
            },
            "name": "ConstraintGenerator"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 171,
        "end": 195,
        "loc": {
          "start": {
            "line": 4,
            "column": 32
          },
          "end": {
            "line": 4,
            "column": 56
          }
        },
        "value": "sketcher/constraintgen",
        "rawValue": "sketcher/constraintgen",
        "raw": "'sketcher/constraintgen'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 197,
      "end": 291,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 94
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 205,
          "end": 220,
          "loc": {
            "start": {
              "line": 5,
              "column": 8
            },
            "end": {
              "line": 5,
              "column": 23
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 205,
            "end": 220,
            "loc": {
              "start": {
                "line": 5,
                "column": 8
              },
              "end": {
                "line": 5,
                "column": 23
              }
            },
            "name": "executePrepared"
          },
          "local": {
            "type": "Identifier",
            "start": 205,
            "end": 220,
            "loc": {
              "start": {
                "line": 5,
                "column": 8
              },
              "end": {
                "line": 5,
                "column": 23
              }
            },
            "name": "executePrepared"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 222,
          "end": 234,
          "loc": {
            "start": {
              "line": 5,
              "column": 25
            },
            "end": {
              "line": 5,
              "column": 37
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 222,
            "end": 234,
            "loc": {
              "start": {
                "line": 5,
                "column": 25
              },
              "end": {
                "line": 5,
                "column": 37
              }
            },
            "name": "trackPromise"
          },
          "local": {
            "type": "Identifier",
            "start": 222,
            "end": 234,
            "loc": {
              "start": {
                "line": 5,
                "column": 25
              },
              "end": {
                "line": 5,
                "column": 37
              }
            },
            "name": "trackPromise"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 236,
          "end": 243,
          "loc": {
            "start": {
              "line": 5,
              "column": 39
            },
            "end": {
              "line": 5,
              "column": 46
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 236,
            "end": 243,
            "loc": {
              "start": {
                "line": 5,
                "column": 39
              },
              "end": {
                "line": 5,
                "column": 46
              }
            },
            "name": "Interop"
          },
          "local": {
            "type": "Identifier",
            "start": 236,
            "end": 243,
            "loc": {
              "start": {
                "line": 5,
                "column": 39
              },
              "end": {
                "line": 5,
                "column": 46
              }
            },
            "name": "Interop"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 245,
          "end": 263,
          "loc": {
            "start": {
              "line": 5,
              "column": 48
            },
            "end": {
              "line": 5,
              "column": 66
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 245,
            "end": 263,
            "loc": {
              "start": {
                "line": 5,
                "column": 48
              },
              "end": {
                "line": 5,
                "column": 66
              }
            },
            "name": "getObjectStatement"
          },
          "local": {
            "type": "Identifier",
            "start": 245,
            "end": 263,
            "loc": {
              "start": {
                "line": 5,
                "column": 48
              },
              "end": {
                "line": 5,
                "column": 66
              }
            },
            "name": "getObjectStatement"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 270,
        "end": 290,
        "loc": {
          "start": {
            "line": 5,
            "column": 73
          },
          "end": {
            "line": 5,
            "column": 93
          }
        },
        "value": "sketcher/cchelpers",
        "rawValue": "sketcher/cchelpers",
        "raw": "'sketcher/cchelpers'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 292,
      "end": 346,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 54
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 300,
          "end": 305,
          "loc": {
            "start": {
              "line": 6,
              "column": 8
            },
            "end": {
              "line": 6,
              "column": 13
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 300,
            "end": 305,
            "loc": {
              "start": {
                "line": 6,
                "column": 8
              },
              "end": {
                "line": 6,
                "column": 13
              }
            },
            "name": "Point"
          },
          "local": {
            "type": "Identifier",
            "start": 300,
            "end": 305,
            "loc": {
              "start": {
                "line": 6,
                "column": 8
              },
              "end": {
                "line": 6,
                "column": 13
              }
            },
            "name": "Point"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 307,
          "end": 311,
          "loc": {
            "start": {
              "line": 6,
              "column": 15
            },
            "end": {
              "line": 6,
              "column": 19
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 307,
            "end": 311,
            "loc": {
              "start": {
                "line": 6,
                "column": 15
              },
              "end": {
                "line": 6,
                "column": 19
              }
            },
            "name": "Line"
          },
          "local": {
            "type": "Identifier",
            "start": 307,
            "end": 311,
            "loc": {
              "start": {
                "line": 6,
                "column": 15
              },
              "end": {
                "line": 6,
                "column": 19
              }
            },
            "name": "Line"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 313,
          "end": 316,
          "loc": {
            "start": {
              "line": 6,
              "column": 21
            },
            "end": {
              "line": 6,
              "column": 24
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 313,
            "end": 316,
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 6,
                "column": 24
              }
            },
            "name": "Arc"
          },
          "local": {
            "type": "Identifier",
            "start": 313,
            "end": 316,
            "loc": {
              "start": {
                "line": 6,
                "column": 21
              },
              "end": {
                "line": 6,
                "column": 24
              }
            },
            "name": "Arc"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 323,
        "end": 345,
        "loc": {
          "start": {
            "line": 6,
            "column": 31
          },
          "end": {
            "line": 6,
            "column": 53
          }
        },
        "value": "sketcher/geomobjects",
        "rawValue": "sketcher/geomobjects",
        "raw": "'sketcher/geomobjects'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 347,
      "end": 383,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 36
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 354,
          "end": 361,
          "loc": {
            "start": {
              "line": 7,
              "column": 7
            },
            "end": {
              "line": 7,
              "column": 14
            }
          },
          "local": {
            "type": "Identifier",
            "start": 354,
            "end": 361,
            "loc": {
              "start": {
                "line": 7,
                "column": 7
              },
              "end": {
                "line": 7,
                "column": 14
              }
            },
            "name": "Object3"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 367,
        "end": 382,
        "loc": {
          "start": {
            "line": 7,
            "column": 20
          },
          "end": {
            "line": 7,
            "column": 35
          }
        },
        "value": "three/object3",
        "rawValue": "three/object3",
        "raw": "'three/object3'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 384,
      "end": 413,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 29
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 391,
          "end": 395,
          "loc": {
            "start": {
              "line": 8,
              "column": 7
            },
            "end": {
              "line": 8,
              "column": 11
            }
          },
          "local": {
            "type": "Identifier",
            "start": 391,
            "end": 395,
            "loc": {
              "start": {
                "line": 8,
                "column": 7
              },
              "end": {
                "line": 8,
                "column": 11
              }
            },
            "name": "View"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 401,
        "end": 412,
        "loc": {
          "start": {
            "line": 8,
            "column": 17
          },
          "end": {
            "line": 8,
            "column": 28
          }
        },
        "value": "core/view",
        "rawValue": "core/view",
        "raw": "'core/view'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 414,
      "end": 440,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 421,
          "end": 426,
          "loc": {
            "start": {
              "line": 9,
              "column": 7
            },
            "end": {
              "line": 9,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 421,
            "end": 426,
            "loc": {
              "start": {
                "line": 9,
                "column": 7
              },
              "end": {
                "line": 9,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 432,
        "end": 439,
        "loc": {
          "start": {
            "line": 9,
            "column": 18
          },
          "end": {
            "line": 9,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 442,
      "end": 32264,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 785,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 457,
        "end": 32264,
        "loc": {
          "start": {
            "line": 11,
            "column": 15
          },
          "end": {
            "line": 785,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 463,
          "end": 469,
          "loc": {
            "start": {
              "line": 11,
              "column": 21
            },
            "end": {
              "line": 11,
              "column": 27
            }
          },
          "name": "Sketch"
        },
        "superClass": {
          "type": "Identifier",
          "start": 478,
          "end": 492,
          "loc": {
            "start": {
              "line": 11,
              "column": 36
            },
            "end": {
              "line": 11,
              "column": 50
            }
          },
          "name": "ClassCadObject"
        },
        "body": {
          "type": "ClassBody",
          "start": 493,
          "end": 32264,
          "loc": {
            "start": {
              "line": 11,
              "column": 51
            },
            "end": {
              "line": 785,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 499,
              "end": 2601,
              "loc": {
                "start": {
                  "line": 12,
                  "column": 4
                },
                "end": {
                  "line": 54,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 499,
                "end": 510,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 4
                  },
                  "end": {
                    "line": 12,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 510,
                "end": 2601,
                "loc": {
                  "start": {
                    "line": 12,
                    "column": 15
                  },
                  "end": {
                    "line": 54,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 513,
                  "end": 2601,
                  "loc": {
                    "start": {
                      "line": 12,
                      "column": 18
                    },
                    "end": {
                      "line": 54,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 523,
                      "end": 531,
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 8
                        },
                        "end": {
                          "line": 13,
                          "column": 16
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 523,
                        "end": 530,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 8
                          },
                          "end": {
                            "line": 13,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 523,
                          "end": 528,
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 8
                            },
                            "end": {
                              "line": 13,
                              "column": 13
                            }
                          }
                        },
                        "arguments": []
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " set of objects added with addToSketch",
                          "start": 540,
                          "end": 580,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 8
                            },
                            "end": {
                              "line": 14,
                              "column": 48
                            }
                          },
                          "range": [
                            540,
                            580
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 589,
                      "end": 624,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 8
                        },
                        "end": {
                          "line": 15,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 589,
                        "end": 623,
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 8
                          },
                          "end": {
                            "line": 15,
                            "column": 42
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 589,
                          "end": 607,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 8
                            },
                            "end": {
                              "line": 15,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 589,
                            "end": 593,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 8
                              },
                              "end": {
                                "line": 15,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 594,
                            "end": 607,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 13
                              },
                              "end": {
                                "line": 15,
                                "column": 26
                              }
                            },
                            "name": "sketchObjects"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 610,
                          "end": 623,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 29
                            },
                            "end": {
                              "line": 15,
                              "column": 42
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 614,
                            "end": 621,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 33
                              },
                              "end": {
                                "line": 15,
                                "column": 40
                              }
                            },
                            "name": "WeakSet"
                          },
                          "arguments": []
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " set of objects added with addToSketch",
                          "start": 540,
                          "end": 580,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 8
                            },
                            "end": {
                              "line": 14,
                              "column": 48
                            }
                          },
                          "range": [
                            540,
                            580
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "Note: should not be accessed by anyone accept Sketcher",
                          "start": 633,
                          "end": 689,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 8
                            },
                            "end": {
                              "line": 16,
                              "column": 64
                            }
                          },
                          "range": [
                            633,
                            689
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 698,
                      "end": 805,
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 8
                        },
                        "end": {
                          "line": 17,
                          "column": 115
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 698,
                        "end": 804,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 8
                          },
                          "end": {
                            "line": 17,
                            "column": 114
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 698,
                          "end": 722,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 8
                            },
                            "end": {
                              "line": 17,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 698,
                            "end": 702,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 8
                              },
                              "end": {
                                "line": 17,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 703,
                            "end": 722,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 13
                              },
                              "end": {
                                "line": 17,
                                "column": 32
                              }
                            },
                            "name": "infiniteBoxMaterial"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 725,
                          "end": 804,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 35
                            },
                            "end": {
                              "line": 17,
                              "column": 114
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 729,
                            "end": 752,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 39
                              },
                              "end": {
                                "line": 17,
                                "column": 62
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 729,
                              "end": 734,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 39
                                },
                                "end": {
                                  "line": 17,
                                  "column": 44
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 735,
                              "end": 752,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 45
                                },
                                "end": {
                                  "line": 17,
                                  "column": 62
                                }
                              },
                              "name": "MeshBasicMaterial"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 753,
                              "end": 803,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 63
                                },
                                "end": {
                                  "line": 17,
                                  "column": 113
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 754,
                                  "end": 769,
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 64
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 79
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 754,
                                    "end": 759,
                                    "loc": {
                                      "start": {
                                        "line": 17,
                                        "column": 64
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 69
                                      }
                                    },
                                    "name": "color"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 761,
                                    "end": 769,
                                    "loc": {
                                      "start": {
                                        "line": 17,
                                        "column": 71
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 79
                                      }
                                    },
                                    "value": 4144959,
                                    "rawValue": 4144959,
                                    "raw": "0x3f3f3f"
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 771,
                                  "end": 786,
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 96
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 771,
                                    "end": 780,
                                    "loc": {
                                      "start": {
                                        "line": 17,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 90
                                      }
                                    },
                                    "name": "wireframe"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 782,
                                    "end": 786,
                                    "loc": {
                                      "start": {
                                        "line": 17,
                                        "column": 92
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 96
                                      }
                                    },
                                    "value": true,
                                    "rawValue": true,
                                    "raw": "true"
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 788,
                                  "end": 802,
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 98
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 112
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 788,
                                    "end": 795,
                                    "loc": {
                                      "start": {
                                        "line": 17,
                                        "column": 98
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 105
                                      }
                                    },
                                    "name": "visible"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 797,
                                    "end": 802,
                                    "loc": {
                                      "start": {
                                        "line": 17,
                                        "column": 107
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 112
                                      }
                                    },
                                    "value": false,
                                    "rawValue": false,
                                    "raw": "false"
                                  },
                                  "kind": "init"
                                }
                              ]
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "Note: should not be accessed by anyone accept Sketcher",
                          "start": 633,
                          "end": 689,
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 8
                            },
                            "end": {
                              "line": 16,
                              "column": 64
                            }
                          },
                          "range": [
                            633,
                            689
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 814,
                      "end": 1050,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 8
                        },
                        "end": {
                          "line": 22,
                          "column": 15
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 814,
                        "end": 1049,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 8
                          },
                          "end": {
                            "line": 22,
                            "column": 14
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 814,
                          "end": 835,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 8
                            },
                            "end": {
                              "line": 18,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 814,
                            "end": 818,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 8
                              },
                              "end": {
                                "line": 18,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 819,
                            "end": 835,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 13
                              },
                              "end": {
                                "line": 18,
                                "column": 29
                              }
                            },
                            "name": "frameBoxMaterial"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 838,
                          "end": 1049,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 32
                            },
                            "end": {
                              "line": 22,
                              "column": 14
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 842,
                            "end": 865,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 36
                              },
                              "end": {
                                "line": 18,
                                "column": 59
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 842,
                              "end": 847,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 36
                                },
                                "end": {
                                  "line": 18,
                                  "column": 41
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 848,
                              "end": 865,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 42
                                },
                                "end": {
                                  "line": 18,
                                  "column": 59
                                }
                              },
                              "name": "MeshPhongMaterial"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 879,
                              "end": 1048,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 12
                                },
                                "end": {
                                  "line": 22,
                                  "column": 13
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 897,
                                  "end": 912,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 31
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 897,
                                    "end": 902,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 21
                                      }
                                    },
                                    "name": "color"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 904,
                                    "end": 912,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 31
                                      }
                                    },
                                    "value": 16777215,
                                    "rawValue": 16777215,
                                    "raw": "0xffffff"
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 914,
                                  "end": 932,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 51
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 914,
                                    "end": 922,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 41
                                      }
                                    },
                                    "name": "emissive"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 924,
                                    "end": 932,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 51
                                      }
                                    },
                                    "value": 16777215,
                                    "rawValue": 16777215,
                                    "raw": "0xffffff"
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 934,
                                  "end": 952,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 71
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 934,
                                    "end": 942,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 61
                                      }
                                    },
                                    "name": "specular"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 944,
                                    "end": 952,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 71
                                      }
                                    },
                                    "value": 16777215,
                                    "rawValue": 16777215,
                                    "raw": "0xffffff"
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 954,
                                  "end": 966,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 73
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 85
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 954,
                                    "end": 963,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 73
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 82
                                      }
                                    },
                                    "name": "shininess"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 965,
                                    "end": 966,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 84
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 85
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 984,
                                  "end": 1001,
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 33
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 984,
                                    "end": 995,
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 27
                                      }
                                    },
                                    "name": "transparent"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 997,
                                    "end": 1001,
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 33
                                      }
                                    },
                                    "value": true,
                                    "rawValue": true,
                                    "raw": "true"
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 1003,
                                  "end": 1015,
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 47
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1003,
                                    "end": 1010,
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 42
                                      }
                                    },
                                    "name": "opacity"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 1012,
                                    "end": 1015,
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 47
                                      }
                                    },
                                    "value": 0.3,
                                    "rawValue": 0.3,
                                    "raw": "0.3"
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 1017,
                                  "end": 1034,
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 66
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1017,
                                    "end": 1027,
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 59
                                      }
                                    },
                                    "name": "depthWrite"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 1029,
                                    "end": 1034,
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 66
                                      }
                                    },
                                    "value": false,
                                    "rawValue": false,
                                    "raw": "false"
                                  },
                                  "kind": "init"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1059,
                      "end": 1145,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 8
                        },
                        "end": {
                          "line": 23,
                          "column": 94
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1059,
                        "end": 1144,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 8
                          },
                          "end": {
                            "line": 23,
                            "column": 93
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1059,
                          "end": 1069,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 8
                            },
                            "end": {
                              "line": 23,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1059,
                            "end": 1063,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 8
                              },
                              "end": {
                                "line": 23,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1064,
                            "end": 1069,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 13
                              },
                              "end": {
                                "line": 23,
                                "column": 18
                              }
                            },
                            "name": "__box"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1072,
                          "end": 1144,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 21
                            },
                            "end": {
                              "line": 23,
                              "column": 93
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1076,
                            "end": 1086,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 25
                              },
                              "end": {
                                "line": 23,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1076,
                              "end": 1081,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 25
                                },
                                "end": {
                                  "line": 23,
                                  "column": 30
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1082,
                              "end": 1086,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 31
                                },
                                "end": {
                                  "line": 23,
                                  "column": 35
                                }
                              },
                              "name": "Mesh"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NewExpression",
                              "start": 1087,
                              "end": 1117,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 36
                                },
                                "end": {
                                  "line": 23,
                                  "column": 66
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1091,
                                "end": 1108,
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 57
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1091,
                                  "end": 1096,
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 45
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1097,
                                  "end": 1108,
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 57
                                    }
                                  },
                                  "name": "BoxGeometry"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 1109,
                                  "end": 1110,
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 59
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                {
                                  "type": "Literal",
                                  "start": 1112,
                                  "end": 1113,
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 62
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                },
                                {
                                  "type": "Literal",
                                  "start": 1115,
                                  "end": 1116,
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 64
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 65
                                    }
                                  },
                                  "value": 1,
                                  "rawValue": 1,
                                  "raw": "1"
                                }
                              ]
                            },
                            {
                              "type": "MemberExpression",
                              "start": 1119,
                              "end": 1143,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 68
                                },
                                "end": {
                                  "line": 23,
                                  "column": 92
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1119,
                                "end": 1123,
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 68
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 72
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1124,
                                "end": 1143,
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 73
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 92
                                  }
                                },
                                "name": "infiniteBoxMaterial"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1154,
                      "end": 1192,
                      "loc": {
                        "start": {
                          "line": 24,
                          "column": 8
                        },
                        "end": {
                          "line": 24,
                          "column": 46
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1154,
                        "end": 1191,
                        "loc": {
                          "start": {
                            "line": 24,
                            "column": 8
                          },
                          "end": {
                            "line": 24,
                            "column": 45
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1154,
                          "end": 1167,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 8
                            },
                            "end": {
                              "line": 24,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1154,
                            "end": 1158,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 8
                              },
                              "end": {
                                "line": 24,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1159,
                            "end": 1167,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 13
                              },
                              "end": {
                                "line": 24,
                                "column": 21
                              }
                            },
                            "name": "sketcher"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1170,
                          "end": 1191,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 24
                            },
                            "end": {
                              "line": 24,
                              "column": 45
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1170,
                            "end": 1176,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 24
                              },
                              "end": {
                                "line": 24,
                                "column": 30
                              }
                            },
                            "name": "window"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1177,
                            "end": 1191,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 31
                              },
                              "end": {
                                "line": 24,
                                "column": 45
                              }
                            },
                            "name": "globalSketcher"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " FIXME usage of global variable",
                          "start": 1193,
                          "end": 1226,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 47
                            },
                            "end": {
                              "line": 24,
                              "column": 80
                            }
                          },
                          "range": [
                            1193,
                            1226
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1235,
                      "end": 1309,
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 8
                        },
                        "end": {
                          "line": 25,
                          "column": 82
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1239,
                          "end": 1252,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 12
                            },
                            "end": {
                              "line": 25,
                              "column": 25
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1239,
                            "end": 1245,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 12
                              },
                              "end": {
                                "line": 25,
                                "column": 18
                              }
                            },
                            "name": "sketch",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "ThisExpression",
                            "start": 1248,
                            "end": 1252,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 21
                              },
                              "end": {
                                "line": 25,
                                "column": 25
                              }
                            }
                          },
                          "leadingComments": null
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 1254,
                          "end": 1278,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 27
                            },
                            "end": {
                              "line": 25,
                              "column": 51
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1254,
                            "end": 1262,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 27
                              },
                              "end": {
                                "line": 25,
                                "column": 35
                              }
                            },
                            "name": "sketcher"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 1265,
                            "end": 1278,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 38
                              },
                              "end": {
                                "line": 25,
                                "column": 51
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1265,
                              "end": 1269,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 38
                                },
                                "end": {
                                  "line": 25,
                                  "column": 42
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1270,
                              "end": 1278,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 43
                                },
                                "end": {
                                  "line": 25,
                                  "column": 51
                                }
                              },
                              "name": "sketcher"
                            },
                            "computed": false
                          }
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 1280,
                          "end": 1308,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 53
                            },
                            "end": {
                              "line": 25,
                              "column": 81
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1280,
                            "end": 1284,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 53
                              },
                              "end": {
                                "line": 25,
                                "column": 57
                              }
                            },
                            "name": "view"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 1287,
                            "end": 1308,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 60
                              },
                              "end": {
                                "line": 25,
                                "column": 81
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1287,
                              "end": 1295,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 60
                                },
                                "end": {
                                  "line": 25,
                                  "column": 68
                                }
                              },
                              "name": "sketcher"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1296,
                              "end": 1308,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 69
                                },
                                "end": {
                                  "line": 25,
                                  "column": 81
                                }
                              },
                              "name": "__parentView"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " FIXME usage of global variable",
                          "start": 1193,
                          "end": 1226,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 47
                            },
                            "end": {
                              "line": 24,
                              "column": 80
                            }
                          },
                          "range": [
                            1193,
                            1226
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1318,
                      "end": 1729,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1318,
                        "end": 1728,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 8
                          },
                          "end": {
                            "line": 35,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1318,
                          "end": 1387,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 8
                            },
                            "end": {
                              "line": 28,
                              "column": 13
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 1318,
                            "end": 1384,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 8
                              },
                              "end": {
                                "line": 28,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1318,
                              "end": 1346,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 8
                                },
                                "end": {
                                  "line": 26,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1318,
                                "end": 1328,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 18
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1318,
                                  "end": 1322,
                                  "loc": {
                                    "start": {
                                      "line": 26,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 26,
                                      "column": 12
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1323,
                                  "end": 1328,
                                  "loc": {
                                    "start": {
                                      "line": 26,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 26,
                                      "column": 18
                                    }
                                  },
                                  "name": "__box"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1329,
                                "end": 1346,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 26,
                                    "column": 36
                                  }
                                },
                                "name": "createInteraction"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ObjectExpression",
                                "start": 1347,
                                "end": 1383,
                                "loc": {
                                  "start": {
                                    "line": 26,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 9
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "Property",
                                    "start": 1361,
                                    "end": 1372,
                                    "loc": {
                                      "start": {
                                        "line": 27,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 27,
                                        "column": 23
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 1361,
                                      "end": 1369,
                                      "loc": {
                                        "start": {
                                          "line": 27,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 27,
                                          "column": 20
                                        }
                                      },
                                      "name": "priority"
                                    },
                                    "value": {
                                      "type": "Literal",
                                      "start": 1371,
                                      "end": 1372,
                                      "loc": {
                                        "start": {
                                          "line": 27,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 27,
                                          "column": 23
                                        }
                                      },
                                      "value": 1,
                                      "rawValue": 1,
                                      "raw": "1"
                                    },
                                    "kind": "init"
                                  }
                                ]
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1385,
                            "end": 1387,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 11
                              },
                              "end": {
                                "line": 28,
                                "column": 13
                              }
                            },
                            "name": "on"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ObjectExpression",
                            "start": 1388,
                            "end": 1727,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 14
                              },
                              "end": {
                                "line": 35,
                                "column": 9
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 1402,
                                "end": 1716,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 13
                                  }
                                },
                                "method": true,
                                "shorthand": false,
                                "computed": true,
                                "key": {
                                  "type": "MemberExpression",
                                  "start": 1403,
                                  "end": 1437,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 47
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 1403,
                                    "end": 1429,
                                    "loc": {
                                      "start": {
                                        "line": 29,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 29,
                                        "column": 39
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 1403,
                                      "end": 1417,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1403,
                                        "end": 1410,
                                        "loc": {
                                          "start": {
                                            "line": 29,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 29,
                                            "column": 20
                                          }
                                        },
                                        "name": "Object3"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1411,
                                        "end": 1417,
                                        "loc": {
                                          "start": {
                                            "line": 29,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 29,
                                            "column": 27
                                          }
                                        },
                                        "name": "Events"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1418,
                                      "end": 1429,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 39
                                        }
                                      },
                                      "name": "Interaction"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1430,
                                    "end": 1437,
                                    "loc": {
                                      "start": {
                                        "line": 29,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 29,
                                        "column": 47
                                      }
                                    },
                                    "name": "Clicked"
                                  },
                                  "computed": false
                                },
                                "kind": "init",
                                "value": {
                                  "type": "FunctionExpression",
                                  "start": 1438,
                                  "end": 1716,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 13
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 1439,
                                      "end": 1443,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 53
                                        }
                                      },
                                      "name": "data"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 1445,
                                    "end": 1716,
                                    "loc": {
                                      "start": {
                                        "line": 29,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "SwitchStatement",
                                        "start": 1463,
                                        "end": 1702,
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 33,
                                            "column": 17
                                          }
                                        },
                                        "discriminant": {
                                          "type": "MemberExpression",
                                          "start": 1471,
                                          "end": 1503,
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 56
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 1471,
                                            "end": 1496,
                                            "loc": {
                                              "start": {
                                                "line": 30,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 30,
                                                "column": 49
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 1471,
                                              "end": 1488,
                                              "loc": {
                                                "start": {
                                                  "line": 30,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 30,
                                                  "column": 41
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 1471,
                                                "end": 1481,
                                                "loc": {
                                                  "start": {
                                                    "line": 30,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 30,
                                                    "column": 34
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 1471,
                                                  "end": 1475,
                                                  "loc": {
                                                    "start": {
                                                      "line": 30,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 30,
                                                      "column": 28
                                                    }
                                                  },
                                                  "name": "view"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 1476,
                                                  "end": 1481,
                                                  "loc": {
                                                    "start": {
                                                      "line": 30,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 30,
                                                      "column": 34
                                                    }
                                                  },
                                                  "name": "input"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 1482,
                                                "end": 1488,
                                                "loc": {
                                                  "start": {
                                                    "line": 30,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 30,
                                                    "column": 41
                                                  }
                                                },
                                                "name": "recent"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 1489,
                                              "end": 1496,
                                              "loc": {
                                                "start": {
                                                  "line": 30,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 30,
                                                  "column": 49
                                                }
                                              },
                                              "name": "mouseup"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1497,
                                            "end": 1503,
                                            "loc": {
                                              "start": {
                                                "line": 30,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 30,
                                                "column": 56
                                              }
                                            },
                                            "name": "button"
                                          },
                                          "computed": false
                                        },
                                        "cases": [
                                          {
                                            "type": "SwitchCase",
                                            "start": 1527,
                                            "end": 1608,
                                            "loc": {
                                              "start": {
                                                "line": 31,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 31,
                                                "column": 101
                                              }
                                            },
                                            "consequent": [
                                              {
                                                "type": "ExpressionStatement",
                                                "start": 1535,
                                                "end": 1601,
                                                "loc": {
                                                  "start": {
                                                    "line": 31,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 31,
                                                    "column": 94
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 1535,
                                                  "end": 1600,
                                                  "loc": {
                                                    "start": {
                                                      "line": 31,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 31,
                                                      "column": 93
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "Identifier",
                                                    "start": 1535,
                                                    "end": 1547,
                                                    "loc": {
                                                      "start": {
                                                        "line": 31,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 31,
                                                        "column": 40
                                                      }
                                                    },
                                                    "name": "trackPromise"
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "CallExpression",
                                                      "start": 1548,
                                                      "end": 1599,
                                                      "loc": {
                                                        "start": {
                                                          "line": 31,
                                                          "column": 41
                                                        },
                                                        "end": {
                                                          "line": 31,
                                                          "column": 92
                                                        }
                                                      },
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "start": 1548,
                                                        "end": 1563,
                                                        "loc": {
                                                          "start": {
                                                            "line": 31,
                                                            "column": 41
                                                          },
                                                          "end": {
                                                            "line": 31,
                                                            "column": 56
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "Identifier",
                                                          "start": 1548,
                                                          "end": 1555,
                                                          "loc": {
                                                            "start": {
                                                              "line": 31,
                                                              "column": 41
                                                            },
                                                            "end": {
                                                              "line": 31,
                                                              "column": 48
                                                            }
                                                          },
                                                          "name": "Promise"
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 1556,
                                                          "end": 1563,
                                                          "loc": {
                                                            "start": {
                                                              "line": 31,
                                                              "column": 49
                                                            },
                                                            "end": {
                                                              "line": 31,
                                                              "column": 56
                                                            }
                                                          },
                                                          "name": "resolve"
                                                        },
                                                        "computed": false
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "CallExpression",
                                                          "start": 1564,
                                                          "end": 1598,
                                                          "loc": {
                                                            "start": {
                                                              "line": 31,
                                                              "column": 57
                                                            },
                                                            "end": {
                                                              "line": 31,
                                                              "column": 91
                                                            }
                                                          },
                                                          "callee": {
                                                            "type": "MemberExpression",
                                                            "start": 1564,
                                                            "end": 1590,
                                                            "loc": {
                                                              "start": {
                                                                "line": 31,
                                                                "column": 57
                                                              },
                                                              "end": {
                                                                "line": 31,
                                                                "column": 83
                                                              }
                                                            },
                                                            "object": {
                                                              "type": "Identifier",
                                                              "start": 1564,
                                                              "end": 1572,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 31,
                                                                  "column": 57
                                                                },
                                                                "end": {
                                                                  "line": 31,
                                                                  "column": 65
                                                                }
                                                              },
                                                              "name": "sketcher"
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "start": 1573,
                                                              "end": 1590,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 31,
                                                                  "column": 66
                                                                },
                                                                "end": {
                                                                  "line": 31,
                                                                  "column": 83
                                                                }
                                                              },
                                                              "name": "sketchAreaClicked"
                                                            },
                                                            "computed": false
                                                          },
                                                          "arguments": [
                                                            {
                                                              "type": "Identifier",
                                                              "start": 1591,
                                                              "end": 1597,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 31,
                                                                  "column": 84
                                                                },
                                                                "end": {
                                                                  "line": 31,
                                                                  "column": 90
                                                                }
                                                              },
                                                              "name": "sketch"
                                                            }
                                                          ]
                                                        }
                                                      ]
                                                    }
                                                  ]
                                                }
                                              },
                                              {
                                                "type": "BreakStatement",
                                                "start": 1602,
                                                "end": 1608,
                                                "loc": {
                                                  "start": {
                                                    "line": 31,
                                                    "column": 95
                                                  },
                                                  "end": {
                                                    "line": 31,
                                                    "column": 101
                                                  }
                                                },
                                                "label": null
                                              }
                                            ],
                                            "test": {
                                              "type": "Literal",
                                              "start": 1532,
                                              "end": 1533,
                                              "loc": {
                                                "start": {
                                                  "line": 31,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 31,
                                                  "column": 26
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          },
                                          {
                                            "type": "SwitchCase",
                                            "start": 1629,
                                            "end": 1684,
                                            "loc": {
                                              "start": {
                                                "line": 32,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 32,
                                                "column": 75
                                              }
                                            },
                                            "consequent": [
                                              {
                                                "type": "ExpressionStatement",
                                                "start": 1637,
                                                "end": 1677,
                                                "loc": {
                                                  "start": {
                                                    "line": 32,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 32,
                                                    "column": 68
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 1637,
                                                  "end": 1676,
                                                  "loc": {
                                                    "start": {
                                                      "line": 32,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 32,
                                                      "column": 67
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 1637,
                                                    "end": 1668,
                                                    "loc": {
                                                      "start": {
                                                        "line": 32,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 32,
                                                        "column": 59
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 1637,
                                                      "end": 1645,
                                                      "loc": {
                                                        "start": {
                                                          "line": 32,
                                                          "column": 28
                                                        },
                                                        "end": {
                                                          "line": 32,
                                                          "column": 36
                                                        }
                                                      },
                                                      "name": "sketcher"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 1646,
                                                      "end": 1668,
                                                      "loc": {
                                                        "start": {
                                                          "line": 32,
                                                          "column": 37
                                                        },
                                                        "end": {
                                                          "line": 32,
                                                          "column": 59
                                                        }
                                                      },
                                                      "name": "sketchAreaRightClicked"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "start": 1669,
                                                      "end": 1675,
                                                      "loc": {
                                                        "start": {
                                                          "line": 32,
                                                          "column": 60
                                                        },
                                                        "end": {
                                                          "line": 32,
                                                          "column": 66
                                                        }
                                                      },
                                                      "name": "sketch"
                                                    }
                                                  ]
                                                }
                                              },
                                              {
                                                "type": "BreakStatement",
                                                "start": 1678,
                                                "end": 1684,
                                                "loc": {
                                                  "start": {
                                                    "line": 32,
                                                    "column": 69
                                                  },
                                                  "end": {
                                                    "line": 32,
                                                    "column": 75
                                                  }
                                                },
                                                "label": null
                                              }
                                            ],
                                            "test": {
                                              "type": "Literal",
                                              "start": 1634,
                                              "end": 1635,
                                              "loc": {
                                                "start": {
                                                  "line": 32,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 32,
                                                  "column": 26
                                                }
                                              },
                                              "value": 2,
                                              "rawValue": 2,
                                              "raw": "2"
                                            }
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1739,
                      "end": 1846,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 8
                        },
                        "end": {
                          "line": 37,
                          "column": 115
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1739,
                        "end": 1845,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 8
                          },
                          "end": {
                            "line": 37,
                            "column": 114
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1739,
                          "end": 1750,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 8
                            },
                            "end": {
                              "line": 37,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1739,
                            "end": 1743,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 8
                              },
                              "end": {
                                "line": 37,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1744,
                            "end": 1750,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 13
                              },
                              "end": {
                                "line": 37,
                                "column": 19
                              }
                            },
                            "name": "__grid"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1753,
                          "end": 1845,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 22
                            },
                            "end": {
                              "line": 37,
                              "column": 114
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1757,
                            "end": 1775,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 26
                              },
                              "end": {
                                "line": 37,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1757,
                              "end": 1762,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 26
                                },
                                "end": {
                                  "line": 37,
                                  "column": 31
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1763,
                              "end": 1775,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 32
                                },
                                "end": {
                                  "line": 37,
                                  "column": 44
                                }
                              },
                              "name": "LineSegments"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NewExpression",
                              "start": 1776,
                              "end": 1796,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 45
                                },
                                "end": {
                                  "line": 37,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1780,
                                "end": 1794,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 63
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1780,
                                  "end": 1785,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 54
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1786,
                                  "end": 1794,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 63
                                    }
                                  },
                                  "name": "Geometry"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            {
                              "type": "NewExpression",
                              "start": 1798,
                              "end": 1844,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 67
                                },
                                "end": {
                                  "line": 37,
                                  "column": 113
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1802,
                                "end": 1825,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 71
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 94
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1802,
                                  "end": 1807,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 71
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 76
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1808,
                                  "end": 1825,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 77
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 94
                                    }
                                  },
                                  "name": "LineBasicMaterial"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 1826,
                                  "end": 1843,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 95
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 112
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 1827,
                                      "end": 1842,
                                      "loc": {
                                        "start": {
                                          "line": 37,
                                          "column": 96
                                        },
                                        "end": {
                                          "line": 37,
                                          "column": 111
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 1827,
                                        "end": 1832,
                                        "loc": {
                                          "start": {
                                            "line": 37,
                                            "column": 96
                                          },
                                          "end": {
                                            "line": 37,
                                            "column": 101
                                          }
                                        },
                                        "name": "color"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 1834,
                                        "end": 1842,
                                        "loc": {
                                          "start": {
                                            "line": 37,
                                            "column": 103
                                          },
                                          "end": {
                                            "line": 37,
                                            "column": 111
                                          }
                                        },
                                        "value": 5263440,
                                        "rawValue": 5263440,
                                        "raw": "0x505050"
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1855,
                      "end": 1962,
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 8
                        },
                        "end": {
                          "line": 38,
                          "column": 115
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1855,
                        "end": 1961,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 8
                          },
                          "end": {
                            "line": 38,
                            "column": 114
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1855,
                          "end": 1866,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 8
                            },
                            "end": {
                              "line": 38,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1855,
                            "end": 1859,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 8
                              },
                              "end": {
                                "line": 38,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1860,
                            "end": 1866,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 13
                              },
                              "end": {
                                "line": 38,
                                "column": 19
                              }
                            },
                            "name": "__axis"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 1869,
                          "end": 1961,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 22
                            },
                            "end": {
                              "line": 38,
                              "column": 114
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1873,
                            "end": 1891,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 26
                              },
                              "end": {
                                "line": 38,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1873,
                              "end": 1878,
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 26
                                },
                                "end": {
                                  "line": 38,
                                  "column": 31
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1879,
                              "end": 1891,
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 32
                                },
                                "end": {
                                  "line": 38,
                                  "column": 44
                                }
                              },
                              "name": "LineSegments"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "NewExpression",
                              "start": 1892,
                              "end": 1912,
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 45
                                },
                                "end": {
                                  "line": 38,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1896,
                                "end": 1910,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 63
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1896,
                                  "end": 1901,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 54
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1902,
                                  "end": 1910,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 63
                                    }
                                  },
                                  "name": "Geometry"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            {
                              "type": "NewExpression",
                              "start": 1914,
                              "end": 1960,
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 67
                                },
                                "end": {
                                  "line": 38,
                                  "column": 113
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1918,
                                "end": 1941,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 71
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 94
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1918,
                                  "end": 1923,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 71
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 76
                                    }
                                  },
                                  "name": "THREE"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1924,
                                  "end": 1941,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 77
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 94
                                    }
                                  },
                                  "name": "LineBasicMaterial"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 1942,
                                  "end": 1959,
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 95
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 112
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "Property",
                                      "start": 1943,
                                      "end": 1958,
                                      "loc": {
                                        "start": {
                                          "line": 38,
                                          "column": 96
                                        },
                                        "end": {
                                          "line": 38,
                                          "column": 111
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 1943,
                                        "end": 1948,
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 96
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 101
                                          }
                                        },
                                        "name": "color"
                                      },
                                      "value": {
                                        "type": "Literal",
                                        "start": 1950,
                                        "end": 1958,
                                        "loc": {
                                          "start": {
                                            "line": 38,
                                            "column": 103
                                          },
                                          "end": {
                                            "line": 38,
                                            "column": 111
                                          }
                                        },
                                        "value": 16711680,
                                        "rawValue": 16711680,
                                        "raw": "0xff0000"
                                      },
                                      "kind": "init"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "lines are sometimes incorrectly frustum culled, so let webgl handle this",
                          "start": 1971,
                          "end": 2045,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 8
                            },
                            "end": {
                              "line": 39,
                              "column": 82
                            }
                          },
                          "range": [
                            1971,
                            2045
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2054,
                      "end": 2088,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 8
                        },
                        "end": {
                          "line": 40,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2054,
                        "end": 2087,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 8
                          },
                          "end": {
                            "line": 40,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2054,
                          "end": 2079,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 8
                            },
                            "end": {
                              "line": 40,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2054,
                            "end": 2065,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 8
                              },
                              "end": {
                                "line": 40,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2054,
                              "end": 2058,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 8
                                },
                                "end": {
                                  "line": 40,
                                  "column": 12
                                }
                              },
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2059,
                              "end": 2065,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 13
                                },
                                "end": {
                                  "line": 40,
                                  "column": 19
                                }
                              },
                              "name": "__grid"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2066,
                            "end": 2079,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 20
                              },
                              "end": {
                                "line": 40,
                                "column": 33
                              }
                            },
                            "name": "frustumCulled"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2082,
                          "end": 2087,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 36
                            },
                            "end": {
                              "line": 40,
                              "column": 41
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "lines are sometimes incorrectly frustum culled, so let webgl handle this",
                          "start": 1971,
                          "end": 2045,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 8
                            },
                            "end": {
                              "line": 39,
                              "column": 82
                            }
                          },
                          "range": [
                            1971,
                            2045
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2097,
                      "end": 2131,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 8
                        },
                        "end": {
                          "line": 41,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2097,
                        "end": 2130,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 8
                          },
                          "end": {
                            "line": 41,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2097,
                          "end": 2122,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2097,
                            "end": 2108,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 8
                              },
                              "end": {
                                "line": 41,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2097,
                              "end": 2101,
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 8
                                },
                                "end": {
                                  "line": 41,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2102,
                              "end": 2108,
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 13
                                },
                                "end": {
                                  "line": 41,
                                  "column": 19
                                }
                              },
                              "name": "__axis"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2109,
                            "end": 2122,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 20
                              },
                              "end": {
                                "line": 41,
                                "column": 33
                              }
                            },
                            "name": "frustumCulled"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2125,
                          "end": 2130,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 36
                            },
                            "end": {
                              "line": 41,
                              "column": 41
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2141,
                      "end": 2182,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 8
                        },
                        "end": {
                          "line": 43,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2141,
                        "end": 2181,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2141,
                          "end": 2158,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2141,
                            "end": 2145,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 8
                              },
                              "end": {
                                "line": 43,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2146,
                            "end": 2158,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 13
                              },
                              "end": {
                                "line": 43,
                                "column": 25
                              }
                            },
                            "name": "__dimensions"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 2161,
                          "end": 2181,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 28
                            },
                            "end": {
                              "line": 43,
                              "column": 48
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2165,
                            "end": 2179,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 32
                              },
                              "end": {
                                "line": 43,
                                "column": 46
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2165,
                              "end": 2170,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 32
                                },
                                "end": {
                                  "line": 43,
                                  "column": 37
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2171,
                              "end": 2179,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 38
                                },
                                "end": {
                                  "line": 43,
                                  "column": 46
                                }
                              },
                              "name": "Object3D"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "some default values",
                          "start": 2192,
                          "end": 2213,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 8
                            },
                            "end": {
                              "line": 45,
                              "column": 29
                            }
                          },
                          "range": [
                            2192,
                            2213
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2222,
                      "end": 2241,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 8
                        },
                        "end": {
                          "line": 46,
                          "column": 27
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2222,
                        "end": 2240,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 46,
                            "column": 26
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2222,
                          "end": 2236,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 22
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2222,
                            "end": 2226,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 8
                              },
                              "end": {
                                "line": 46,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2227,
                            "end": 2236,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 13
                              },
                              "end": {
                                "line": 46,
                                "column": 22
                              }
                            },
                            "name": "gridScale"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2239,
                          "end": 2240,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 25
                            },
                            "end": {
                              "line": 46,
                              "column": 26
                            }
                          },
                          "value": 4,
                          "rawValue": 4,
                          "raw": "4"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "some default values",
                          "start": 2192,
                          "end": 2213,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 8
                            },
                            "end": {
                              "line": 45,
                              "column": 29
                            }
                          },
                          "range": [
                            2192,
                            2213
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " empirical number for nice looking",
                          "start": 2242,
                          "end": 2278,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 28
                            },
                            "end": {
                              "line": 46,
                              "column": 64
                            }
                          },
                          "range": [
                            2242,
                            2278
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2287,
                      "end": 2308,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 47,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2287,
                        "end": 2307,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 8
                          },
                          "end": {
                            "line": 47,
                            "column": 28
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2287,
                          "end": 2300,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 8
                            },
                            "end": {
                              "line": 47,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2287,
                            "end": 2291,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 8
                              },
                              "end": {
                                "line": 47,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2292,
                            "end": 2300,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 13
                              },
                              "end": {
                                "line": 47,
                                "column": 21
                              }
                            },
                            "name": "gridSize"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2303,
                          "end": 2307,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 24
                            },
                            "end": {
                              "line": 47,
                              "column": 28
                            }
                          },
                          "value": 1000,
                          "rawValue": 1000,
                          "raw": "1000"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " empirical number for nice looking",
                          "start": 2242,
                          "end": 2278,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 28
                            },
                            "end": {
                              "line": 46,
                              "column": 64
                            }
                          },
                          "range": [
                            2242,
                            2278
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2317,
                      "end": 2347,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 8
                        },
                        "end": {
                          "line": 48,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2317,
                        "end": 2346,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 8
                          },
                          "end": {
                            "line": 48,
                            "column": 37
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2317,
                          "end": 2340,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 8
                            },
                            "end": {
                              "line": 48,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2317,
                            "end": 2321,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 8
                              },
                              "end": {
                                "line": 48,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2322,
                            "end": 2340,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 13
                              },
                              "end": {
                                "line": 48,
                                "column": 31
                              }
                            },
                            "name": "snappingSizeInGrid"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2343,
                          "end": 2346,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 34
                            },
                            "end": {
                              "line": 48,
                              "column": 37
                            }
                          },
                          "value": 0.1,
                          "rawValue": 0.1,
                          "raw": "0.1"
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " 10% of grid cell size",
                          "start": 2348,
                          "end": 2372,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 39
                            },
                            "end": {
                              "line": 48,
                              "column": 63
                            }
                          },
                          "range": [
                            2348,
                            2372
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2381,
                      "end": 2425,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 8
                        },
                        "end": {
                          "line": 49,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2381,
                        "end": 2424,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 8
                          },
                          "end": {
                            "line": 49,
                            "column": 51
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2381,
                          "end": 2401,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2381,
                            "end": 2385,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 8
                              },
                              "end": {
                                "line": 49,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2386,
                            "end": 2401,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 13
                              },
                              "end": {
                                "line": 49,
                                "column": 28
                              }
                            },
                            "name": "pointSizeInGrid"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "start": 2404,
                          "end": 2424,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 31
                            },
                            "end": {
                              "line": 49,
                              "column": 51
                            }
                          },
                          "left": {
                            "type": "Literal",
                            "start": 2404,
                            "end": 2407,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 31
                              },
                              "end": {
                                "line": 49,
                                "column": 34
                              }
                            },
                            "value": 0.1,
                            "rawValue": 0.1,
                            "raw": "0.1"
                          },
                          "operator": "/",
                          "right": {
                            "type": "MemberExpression",
                            "start": 2410,
                            "end": 2424,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 37
                              },
                              "end": {
                                "line": 49,
                                "column": 51
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2410,
                              "end": 2414,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 37
                                },
                                "end": {
                                  "line": 49,
                                  "column": 41
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2415,
                              "end": 2424,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 42
                                },
                                "end": {
                                  "line": 49,
                                  "column": 51
                                }
                              },
                              "name": "gridScale"
                            },
                            "computed": false
                          }
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " 10% of grid cell size",
                          "start": 2348,
                          "end": 2372,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 39
                            },
                            "end": {
                              "line": 48,
                              "column": 63
                            }
                          },
                          "range": [
                            2348,
                            2372
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " 10% of grid cell size",
                          "start": 2426,
                          "end": 2450,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 53
                            },
                            "end": {
                              "line": 49,
                              "column": 77
                            }
                          },
                          "range": [
                            2426,
                            2450
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2459,
                      "end": 2488,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 8
                        },
                        "end": {
                          "line": 50,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2459,
                        "end": 2487,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 8
                          },
                          "end": {
                            "line": 50,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2459,
                          "end": 2481,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 8
                            },
                            "end": {
                              "line": 50,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2459,
                            "end": 2463,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 8
                              },
                              "end": {
                                "line": 50,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2464,
                            "end": 2481,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 13
                              },
                              "end": {
                                "line": 50,
                                "column": 30
                              }
                            },
                            "name": "chosenItemOpacity"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2484,
                          "end": 2487,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 33
                            },
                            "end": {
                              "line": 50,
                              "column": 36
                            }
                          },
                          "value": 0.5,
                          "rawValue": 0.5,
                          "raw": "0.5"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " 10% of grid cell size",
                          "start": 2426,
                          "end": 2450,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 53
                            },
                            "end": {
                              "line": 49,
                              "column": 77
                            }
                          },
                          "range": [
                            2426,
                            2450
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "initialize vertex buffers of grid+axis (must be before first render)",
                          "start": 2498,
                          "end": 2568,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 78
                            }
                          },
                          "range": [
                            2498,
                            2568
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2577,
                      "end": 2595,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 53,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2577,
                        "end": 2594,
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 8
                          },
                          "end": {
                            "line": 53,
                            "column": 25
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2577,
                          "end": 2592,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 8
                            },
                            "end": {
                              "line": 53,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2577,
                            "end": 2581,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 8
                              },
                              "end": {
                                "line": 53,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2582,
                            "end": 2592,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 13
                              },
                              "end": {
                                "line": 53,
                                "column": 23
                              }
                            },
                            "name": "updateGrid"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "initialize vertex buffers of grid+axis (must be before first render)",
                          "start": 2498,
                          "end": 2568,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 78
                            }
                          },
                          "range": [
                            2498,
                            2568
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 2607,
              "end": 2768,
              "loc": {
                "start": {
                  "line": 56,
                  "column": 4
                },
                "end": {
                  "line": 62,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2614,
                "end": 2626,
                "loc": {
                  "start": {
                    "line": 56,
                    "column": 11
                  },
                  "end": {
                    "line": 56,
                    "column": 23
                  }
                },
                "name": "FindSketchOf"
              },
              "static": true,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 2626,
                "end": 2768,
                "loc": {
                  "start": {
                    "line": 56,
                    "column": 23
                  },
                  "end": {
                    "line": 62,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2627,
                    "end": 2630,
                    "loc": {
                      "start": {
                        "line": 56,
                        "column": 24
                      },
                      "end": {
                        "line": 56,
                        "column": 27
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2632,
                  "end": 2768,
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 29
                    },
                    "end": {
                      "line": 62,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "WhileStatement",
                      "start": 2642,
                      "end": 2762,
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 8
                        },
                        "end": {
                          "line": 61,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 2649,
                        "end": 2652,
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 15
                          },
                          "end": {
                            "line": 57,
                            "column": 18
                          }
                        },
                        "name": "obj"
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 2654,
                        "end": 2762,
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 20
                          },
                          "end": {
                            "line": 61,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 2668,
                            "end": 2722,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 12
                              },
                              "end": {
                                "line": 59,
                                "column": 27
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 2672,
                              "end": 2693,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 16
                                },
                                "end": {
                                  "line": 58,
                                  "column": 37
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 2672,
                                "end": 2675,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 19
                                  }
                                },
                                "name": "obj"
                              },
                              "operator": "instanceof",
                              "right": {
                                "type": "Identifier",
                                "start": 2687,
                                "end": 2693,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 37
                                  }
                                },
                                "name": "Sketch"
                              }
                            },
                            "consequent": {
                              "type": "ReturnStatement",
                              "start": 2711,
                              "end": 2722,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 16
                                },
                                "end": {
                                  "line": 59,
                                  "column": 27
                                }
                              },
                              "argument": {
                                "type": "Identifier",
                                "start": 2718,
                                "end": 2721,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 26
                                  }
                                },
                                "name": "obj"
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 2735,
                            "end": 2752,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 12
                              },
                              "end": {
                                "line": 60,
                                "column": 29
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 2735,
                              "end": 2751,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 12
                                },
                                "end": {
                                  "line": 60,
                                  "column": 28
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 2735,
                                "end": 2738,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 15
                                  }
                                },
                                "name": "obj"
                              },
                              "right": {
                                "type": "MemberExpression",
                                "start": 2741,
                                "end": 2751,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 28
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2741,
                                  "end": 2744,
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 21
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2745,
                                  "end": 2751,
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 28
                                    }
                                  },
                                  "name": "parent"
                                },
                                "computed": false
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 2774,
              "end": 2953,
              "loc": {
                "start": {
                  "line": 64,
                  "column": 4
                },
                "end": {
                  "line": 70,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2781,
                "end": 2796,
                "loc": {
                  "start": {
                    "line": 64,
                    "column": 11
                  },
                  "end": {
                    "line": 64,
                    "column": 26
                  }
                },
                "name": "FindSketchSetOf"
              },
              "static": true,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 2796,
                "end": 2953,
                "loc": {
                  "start": {
                    "line": 64,
                    "column": 26
                  },
                  "end": {
                    "line": 70,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2797,
                    "end": 2800,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 27
                      },
                      "end": {
                        "line": 64,
                        "column": 30
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2802,
                  "end": 2953,
                  "loc": {
                    "start": {
                      "line": 64,
                      "column": 32
                    },
                    "end": {
                      "line": 70,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 2812,
                      "end": 2823,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 65,
                          "column": 19
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2816,
                          "end": 2822,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 12
                            },
                            "end": {
                              "line": 65,
                              "column": 18
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2816,
                            "end": 2822,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 12
                              },
                              "end": {
                                "line": 65,
                                "column": 18
                              }
                            },
                            "name": "result"
                          },
                          "init": null
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2832,
                      "end": 2924,
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 8
                        },
                        "end": {
                          "line": 68,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2832,
                        "end": 2923,
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 8
                          },
                          "end": {
                            "line": 68,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2832,
                          "end": 2853,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 8
                            },
                            "end": {
                              "line": 66,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2832,
                            "end": 2835,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 8
                              },
                              "end": {
                                "line": 66,
                                "column": 11
                              }
                            },
                            "name": "obj"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2836,
                            "end": 2853,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 12
                              },
                              "end": {
                                "line": 66,
                                "column": 29
                              }
                            },
                            "name": "traverseAncestors"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2854,
                            "end": 2922,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 30
                              },
                              "end": {
                                "line": 68,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 2854,
                                "end": 2855,
                                "loc": {
                                  "start": {
                                    "line": 66,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 66,
                                    "column": 31
                                  }
                                },
                                "name": "s"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 2859,
                              "end": 2922,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 35
                                },
                                "end": {
                                  "line": 68,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2873,
                                  "end": 2912,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 51
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 2873,
                                    "end": 2911,
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 50
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 2873,
                                      "end": 2879,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 18
                                        }
                                      },
                                      "name": "result"
                                    },
                                    "right": {
                                      "type": "LogicalExpression",
                                      "start": 2882,
                                      "end": 2911,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 50
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 2882,
                                        "end": 2888,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 27
                                          }
                                        },
                                        "name": "result"
                                      },
                                      "operator": "||",
                                      "right": {
                                        "type": "MemberExpression",
                                        "start": 2892,
                                        "end": 2911,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 50
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 2892,
                                          "end": 2901,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 40
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2892,
                                            "end": 2893,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 32
                                              }
                                            },
                                            "name": "s"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2894,
                                            "end": 2901,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 40
                                              }
                                            },
                                            "name": "members"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2902,
                                          "end": 2911,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 50
                                            }
                                          },
                                          "name": "SketchSet"
                                        },
                                        "computed": false
                                      }
                                    }
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 2933,
                      "end": 2947,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 8
                        },
                        "end": {
                          "line": 69,
                          "column": 22
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 2940,
                        "end": 2946,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 15
                          },
                          "end": {
                            "line": 69,
                            "column": 21
                          }
                        },
                        "name": "result"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 2959,
              "end": 3036,
              "loc": {
                "start": {
                  "line": 72,
                  "column": 4
                },
                "end": {
                  "line": 74,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2959,
                "end": 2966,
                "loc": {
                  "start": {
                    "line": 72,
                    "column": 4
                  },
                  "end": {
                    "line": 72,
                    "column": 11
                  }
                },
                "name": "getPart"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 2966,
                "end": 3036,
                "loc": {
                  "start": {
                    "line": 72,
                    "column": 11
                  },
                  "end": {
                    "line": 74,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2969,
                  "end": 3036,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 14
                    },
                    "end": {
                      "line": 74,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 2979,
                      "end": 3005,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 8
                        },
                        "end": {
                          "line": 73,
                          "column": 34
                        }
                      },
                      "argument": {
                        "type": "MemberExpression",
                        "start": 2986,
                        "end": 3004,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 15
                          },
                          "end": {
                            "line": 73,
                            "column": 33
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 2986,
                          "end": 2997,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 15
                            },
                            "end": {
                              "line": 73,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2986,
                            "end": 2990,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 15
                              },
                              "end": {
                                "line": 73,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2991,
                            "end": 2997,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 20
                              },
                              "end": {
                                "line": 73,
                                "column": 26
                              }
                            },
                            "name": "parent"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2998,
                          "end": 3004,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 27
                            },
                            "end": {
                              "line": 73,
                              "column": 33
                            }
                          },
                          "name": "parent"
                        },
                        "computed": false
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Part.SketchSet.Sketch",
                          "start": 3006,
                          "end": 3030,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 35
                            },
                            "end": {
                              "line": 73,
                              "column": 59
                            }
                          },
                          "range": [
                            3006,
                            3030
                          ]
                        }
                      ]
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " Physically add objects to the sketch (in contrast to addAuxObject)",
                  "start": 3042,
                  "end": 3111,
                  "loc": {
                    "start": {
                      "line": 76,
                      "column": 4
                    },
                    "end": {
                      "line": 76,
                      "column": 73
                    }
                  },
                  "range": [
                    3042,
                    3111
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " If some objects were previously added with addAuxObject, automatically remove them from aux objects",
                  "start": 3116,
                  "end": 3218,
                  "loc": {
                    "start": {
                      "line": 77,
                      "column": 4
                    },
                    "end": {
                      "line": 77,
                      "column": 106
                    }
                  },
                  "range": [
                    3116,
                    3218
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " possible options:",
                  "start": 3223,
                  "end": 3243,
                  "loc": {
                    "start": {
                      "line": 78,
                      "column": 4
                    },
                    "end": {
                      "line": 78,
                      "column": 24
                    }
                  },
                  "range": [
                    3223,
                    3243
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "   onServer (default: true) - whether to send commands to the server.",
                  "start": 3248,
                  "end": 3319,
                  "loc": {
                    "start": {
                      "line": 79,
                      "column": 4
                    },
                    "end": {
                      "line": 79,
                      "column": 75
                    }
                  },
                  "range": [
                    3248,
                    3319
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "   onClient (default: true) - whether to add objects to children",
                  "start": 3324,
                  "end": 3390,
                  "loc": {
                    "start": {
                      "line": 80,
                      "column": 4
                    },
                    "end": {
                      "line": 80,
                      "column": 70
                    }
                  },
                  "range": [
                    3324,
                    3390
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "   autoconstraint (default: false) - if true, then implied constraints are generated if neccessary.",
                  "start": 3395,
                  "end": 3496,
                  "loc": {
                    "start": {
                      "line": 81,
                      "column": 4
                    },
                    "end": {
                      "line": 81,
                      "column": 105
                    }
                  },
                  "range": [
                    3395,
                    3496
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "   updateSketch (default: false) - whether to update sketch state for the whole sketch, not only for objets. Pass true when adding constraints.",
                  "start": 3501,
                  "end": 3646,
                  "loc": {
                    "start": {
                      "line": 82,
                      "column": 4
                    },
                    "end": {
                      "line": 82,
                      "column": 149
                    }
                  },
                  "range": [
                    3501,
                    3646
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 3651,
              "end": 5528,
              "loc": {
                "start": {
                  "line": 83,
                  "column": 4
                },
                "end": {
                  "line": 121,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3651,
                "end": 3662,
                "loc": {
                  "start": {
                    "line": 83,
                    "column": 4
                  },
                  "end": {
                    "line": 83,
                    "column": 15
                  }
                },
                "name": "addToSketch",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 3662,
                "end": 5528,
                "loc": {
                  "start": {
                    "line": 83,
                    "column": 15
                  },
                  "end": {
                    "line": 121,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3663,
                    "end": 3670,
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 16
                      },
                      "end": {
                        "line": 83,
                        "column": 23
                      }
                    },
                    "name": "objects"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 3672,
                    "end": 3684,
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 25
                      },
                      "end": {
                        "line": 83,
                        "column": 37
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 3672,
                      "end": 3679,
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 25
                        },
                        "end": {
                          "line": 83,
                          "column": 32
                        }
                      },
                      "name": "options"
                    },
                    "right": {
                      "type": "ObjectExpression",
                      "start": 3682,
                      "end": 3684,
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 35
                        },
                        "end": {
                          "line": 83,
                          "column": 37
                        }
                      },
                      "properties": []
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3686,
                  "end": 5528,
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 39
                    },
                    "end": {
                      "line": 121,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 3696,
                      "end": 3756,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 8
                        },
                        "end": {
                          "line": 84,
                          "column": 68
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 3700,
                        "end": 3730,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 12
                          },
                          "end": {
                            "line": 84,
                            "column": 42
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 3700,
                          "end": 3716,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 12
                            },
                            "end": {
                              "line": 84,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3700,
                            "end": 3707,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 12
                              },
                              "end": {
                                "line": 84,
                                "column": 19
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3708,
                            "end": 3716,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 20
                              },
                              "end": {
                                "line": 84,
                                "column": 28
                              }
                            },
                            "name": "onServer"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 3721,
                          "end": 3730,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 33
                            },
                            "end": {
                              "line": 84,
                              "column": 42
                            }
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 3732,
                        "end": 3756,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 44
                          },
                          "end": {
                            "line": 84,
                            "column": 68
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 3732,
                          "end": 3755,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 44
                            },
                            "end": {
                              "line": 84,
                              "column": 67
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 3732,
                            "end": 3748,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 44
                              },
                              "end": {
                                "line": 84,
                                "column": 60
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3732,
                              "end": 3739,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 44
                                },
                                "end": {
                                  "line": 84,
                                  "column": 51
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3740,
                              "end": 3748,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 52
                                },
                                "end": {
                                  "line": 84,
                                  "column": 60
                                }
                              },
                              "name": "onServer"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 3751,
                            "end": 3755,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 63
                              },
                              "end": {
                                "line": 84,
                                "column": 67
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 3765,
                      "end": 3825,
                      "loc": {
                        "start": {
                          "line": 85,
                          "column": 8
                        },
                        "end": {
                          "line": 85,
                          "column": 68
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 3769,
                        "end": 3799,
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 12
                          },
                          "end": {
                            "line": 85,
                            "column": 42
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 3769,
                          "end": 3785,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 12
                            },
                            "end": {
                              "line": 85,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3769,
                            "end": 3776,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 12
                              },
                              "end": {
                                "line": 85,
                                "column": 19
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3777,
                            "end": 3785,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 20
                              },
                              "end": {
                                "line": 85,
                                "column": 28
                              }
                            },
                            "name": "onClient"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 3790,
                          "end": 3799,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 33
                            },
                            "end": {
                              "line": 85,
                              "column": 42
                            }
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 3801,
                        "end": 3825,
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 44
                          },
                          "end": {
                            "line": 85,
                            "column": 68
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 3801,
                          "end": 3824,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 44
                            },
                            "end": {
                              "line": 85,
                              "column": 67
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 3801,
                            "end": 3817,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 44
                              },
                              "end": {
                                "line": 85,
                                "column": 60
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3801,
                              "end": 3808,
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 44
                                },
                                "end": {
                                  "line": 85,
                                  "column": 51
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3809,
                              "end": 3817,
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 52
                                },
                                "end": {
                                  "line": 85,
                                  "column": 60
                                }
                              },
                              "name": "onClient"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 3820,
                            "end": 3824,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 63
                              },
                              "end": {
                                "line": 85,
                                "column": 67
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 3834,
                      "end": 3903,
                      "loc": {
                        "start": {
                          "line": 86,
                          "column": 8
                        },
                        "end": {
                          "line": 86,
                          "column": 77
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 3838,
                        "end": 3872,
                        "loc": {
                          "start": {
                            "line": 86,
                            "column": 12
                          },
                          "end": {
                            "line": 86,
                            "column": 46
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 3838,
                          "end": 3858,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 12
                            },
                            "end": {
                              "line": 86,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3838,
                            "end": 3845,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 12
                              },
                              "end": {
                                "line": 86,
                                "column": 19
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3846,
                            "end": 3858,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 20
                              },
                              "end": {
                                "line": 86,
                                "column": 32
                              }
                            },
                            "name": "updateSketch"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 3863,
                          "end": 3872,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 37
                            },
                            "end": {
                              "line": 86,
                              "column": 46
                            }
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 3874,
                        "end": 3903,
                        "loc": {
                          "start": {
                            "line": 86,
                            "column": 48
                          },
                          "end": {
                            "line": 86,
                            "column": 77
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 3874,
                          "end": 3902,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 48
                            },
                            "end": {
                              "line": 86,
                              "column": 76
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 3874,
                            "end": 3894,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 48
                              },
                              "end": {
                                "line": 86,
                                "column": 68
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3874,
                              "end": 3881,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 48
                                },
                                "end": {
                                  "line": 86,
                                  "column": 55
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3882,
                              "end": 3894,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 56
                                },
                                "end": {
                                  "line": 86,
                                  "column": 68
                                }
                              },
                              "name": "updateSketch"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 3897,
                            "end": 3902,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 71
                              },
                              "end": {
                                "line": 86,
                                "column": 76
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 3912,
                      "end": 3985,
                      "loc": {
                        "start": {
                          "line": 87,
                          "column": 8
                        },
                        "end": {
                          "line": 87,
                          "column": 81
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 3916,
                        "end": 3952,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 12
                          },
                          "end": {
                            "line": 87,
                            "column": 48
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 3916,
                          "end": 3938,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 12
                            },
                            "end": {
                              "line": 87,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3916,
                            "end": 3923,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 12
                              },
                              "end": {
                                "line": 87,
                                "column": 19
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3924,
                            "end": 3938,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 20
                              },
                              "end": {
                                "line": 87,
                                "column": 34
                              }
                            },
                            "name": "autoconstraint"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 3943,
                          "end": 3952,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 39
                            },
                            "end": {
                              "line": 87,
                              "column": 48
                            }
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 3954,
                        "end": 3985,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 50
                          },
                          "end": {
                            "line": 87,
                            "column": 81
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 3954,
                          "end": 3984,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 50
                            },
                            "end": {
                              "line": 87,
                              "column": 80
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 3954,
                            "end": 3976,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 50
                              },
                              "end": {
                                "line": 87,
                                "column": 72
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3954,
                              "end": 3961,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 50
                                },
                                "end": {
                                  "line": 87,
                                  "column": 57
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3962,
                              "end": 3976,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 58
                                },
                                "end": {
                                  "line": 87,
                                  "column": 72
                                }
                              },
                              "name": "autoconstraint"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 3979,
                            "end": 3984,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 75
                              },
                              "end": {
                                "line": 87,
                                "column": 80
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 3995,
                      "end": 4024,
                      "loc": {
                        "start": {
                          "line": 89,
                          "column": 8
                        },
                        "end": {
                          "line": 89,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 3995,
                        "end": 4023,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 8
                          },
                          "end": {
                            "line": 89,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 3995,
                          "end": 4002,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 8
                            },
                            "end": {
                              "line": 89,
                              "column": 15
                            }
                          },
                          "name": "objects"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 4005,
                          "end": 4023,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 18
                            },
                            "end": {
                              "line": 89,
                              "column": 36
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4005,
                            "end": 4014,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 18
                              },
                              "end": {
                                "line": 89,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "ArrayExpression",
                              "start": 4005,
                              "end": 4007,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 18
                                },
                                "end": {
                                  "line": 89,
                                  "column": 20
                                }
                              },
                              "elements": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4008,
                              "end": 4014,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 21
                                },
                                "end": {
                                  "line": 89,
                                  "column": 27
                                }
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 4015,
                              "end": 4022,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 28
                                },
                                "end": {
                                  "line": 89,
                                  "column": 35
                                }
                              },
                              "name": "objects"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 4033,
                      "end": 4062,
                      "loc": {
                        "start": {
                          "line": 90,
                          "column": 8
                        },
                        "end": {
                          "line": 90,
                          "column": 37
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4037,
                          "end": 4061,
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 12
                            },
                            "end": {
                              "line": 90,
                              "column": 36
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4037,
                            "end": 4045,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 12
                              },
                              "end": {
                                "line": 90,
                                "column": 20
                              }
                            },
                            "name": "sketcher"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 4048,
                            "end": 4061,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 23
                              },
                              "end": {
                                "line": 90,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4048,
                              "end": 4052,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 23
                                },
                                "end": {
                                  "line": 90,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4053,
                              "end": 4061,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 28
                                },
                                "end": {
                                  "line": 90,
                                  "column": 36
                                }
                              },
                              "name": "sketcher"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 4071,
                      "end": 4104,
                      "loc": {
                        "start": {
                          "line": 91,
                          "column": 8
                        },
                        "end": {
                          "line": 91,
                          "column": 41
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4075,
                          "end": 4103,
                          "loc": {
                            "start": {
                              "line": 91,
                              "column": 12
                            },
                            "end": {
                              "line": 91,
                              "column": 40
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4075,
                            "end": 4079,
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 12
                              },
                              "end": {
                                "line": 91,
                                "column": 16
                              }
                            },
                            "name": "view"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 4082,
                            "end": 4103,
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 19
                              },
                              "end": {
                                "line": 91,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4082,
                              "end": 4090,
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 19
                                },
                                "end": {
                                  "line": 91,
                                  "column": 27
                                }
                              },
                              "name": "sketcher"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4091,
                              "end": 4103,
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 28
                                },
                                "end": {
                                  "line": 91,
                                  "column": 40
                                }
                              },
                              "name": "__parentView"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 4114,
                      "end": 4202,
                      "loc": {
                        "start": {
                          "line": 93,
                          "column": 8
                        },
                        "end": {
                          "line": 94,
                          "column": 42
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 4118,
                        "end": 4158,
                        "loc": {
                          "start": {
                            "line": 93,
                            "column": 12
                          },
                          "end": {
                            "line": 93,
                            "column": 52
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 4118,
                          "end": 4138,
                          "loc": {
                            "start": {
                              "line": 93,
                              "column": 12
                            },
                            "end": {
                              "line": 93,
                              "column": 32
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 4118,
                            "end": 4132,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 12
                              },
                              "end": {
                                "line": 93,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4118,
                              "end": 4125,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 12
                                },
                                "end": {
                                  "line": 93,
                                  "column": 19
                                }
                              },
                              "name": "objects"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4126,
                              "end": 4132,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 20
                                },
                                "end": {
                                  "line": 93,
                                  "column": 26
                                }
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "operator": "!==",
                          "right": {
                            "type": "Literal",
                            "start": 4137,
                            "end": 4138,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 31
                              },
                              "end": {
                                "line": 93,
                                "column": 32
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 4142,
                          "end": 4158,
                          "loc": {
                            "start": {
                              "line": 93,
                              "column": 36
                            },
                            "end": {
                              "line": 93,
                              "column": 52
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4142,
                            "end": 4149,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 36
                              },
                              "end": {
                                "line": 93,
                                "column": 43
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4150,
                            "end": 4158,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 44
                              },
                              "end": {
                                "line": 93,
                                "column": 52
                              }
                            },
                            "name": "onClient"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 4172,
                        "end": 4202,
                        "loc": {
                          "start": {
                            "line": 94,
                            "column": 12
                          },
                          "end": {
                            "line": 94,
                            "column": 42
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 4172,
                          "end": 4201,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 12
                            },
                            "end": {
                              "line": 94,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4172,
                            "end": 4186,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 12
                              },
                              "end": {
                                "line": 94,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 4172,
                              "end": 4180,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 12
                                },
                                "end": {
                                  "line": 94,
                                  "column": 20
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 4172,
                                "end": 4176,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 16
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4177,
                                "end": 4180,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 20
                                  }
                                },
                                "name": "add"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4181,
                              "end": 4186,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 21
                                },
                                "end": {
                                  "line": 94,
                                  "column": 26
                                }
                              },
                              "name": "apply"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 4187,
                              "end": 4191,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 27
                                },
                                "end": {
                                  "line": 94,
                                  "column": 31
                                }
                              }
                            },
                            {
                              "type": "Identifier",
                              "start": 4193,
                              "end": 4200,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 33
                                },
                                "end": {
                                  "line": 94,
                                  "column": 40
                                }
                              },
                              "name": "objects"
                            }
                          ]
                        },
                        "trailingComments": null
                      },
                      "alternate": null,
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " must be done before server command so that parseObjectTree can find the objects in children",
                          "start": 4203,
                          "end": 4297,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 43
                            },
                            "end": {
                              "line": 94,
                              "column": 137
                            }
                          },
                          "range": [
                            4203,
                            4297
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 4307,
                      "end": 5106,
                      "loc": {
                        "start": {
                          "line": 96,
                          "column": 8
                        },
                        "end": {
                          "line": 112,
                          "column": 10
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4311,
                          "end": 5105,
                          "loc": {
                            "start": {
                              "line": 96,
                              "column": 12
                            },
                            "end": {
                              "line": 112,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4311,
                            "end": 4322,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 12
                              },
                              "end": {
                                "line": 96,
                                "column": 23
                              }
                            },
                            "name": "afterServer",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "ArrowFunctionExpression",
                            "start": 4325,
                            "end": 5105,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 26
                              },
                              "end": {
                                "line": 112,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "BlockStatement",
                              "start": 4331,
                              "end": 5105,
                              "loc": {
                                "start": {
                                  "line": 96,
                                  "column": 32
                                },
                                "end": {
                                  "line": 112,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 4345,
                                  "end": 4613,
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 103,
                                      "column": 15
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 4345,
                                    "end": 4612,
                                    "loc": {
                                      "start": {
                                        "line": 97,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 103,
                                        "column": 14
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4345,
                                      "end": 4360,
                                      "loc": {
                                        "start": {
                                          "line": 97,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 97,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4345,
                                        "end": 4352,
                                        "loc": {
                                          "start": {
                                            "line": 97,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 97,
                                            "column": 19
                                          }
                                        },
                                        "name": "objects"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4353,
                                        "end": 4360,
                                        "loc": {
                                          "start": {
                                            "line": 97,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 97,
                                            "column": 27
                                          }
                                        },
                                        "name": "forEach"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "start": 4361,
                                        "end": 4611,
                                        "loc": {
                                          "start": {
                                            "line": 97,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 103,
                                            "column": 13
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 4361,
                                            "end": 4364,
                                            "loc": {
                                              "start": {
                                                "line": 97,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 97,
                                                "column": 31
                                              }
                                            },
                                            "name": "obj"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 4368,
                                          "end": 4611,
                                          "loc": {
                                            "start": {
                                              "line": 97,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 103,
                                              "column": 13
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "IfStatement",
                                              "start": 4386,
                                              "end": 4446,
                                              "loc": {
                                                "start": {
                                                  "line": 98,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 99,
                                                  "column": 27
                                                }
                                              },
                                              "test": {
                                                "type": "CallExpression",
                                                "start": 4390,
                                                "end": 4417,
                                                "loc": {
                                                  "start": {
                                                    "line": 98,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 98,
                                                    "column": 47
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 4390,
                                                  "end": 4412,
                                                  "loc": {
                                                    "start": {
                                                      "line": 98,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 98,
                                                      "column": 42
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 4390,
                                                    "end": 4408,
                                                    "loc": {
                                                      "start": {
                                                        "line": 98,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 98,
                                                        "column": 38
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 4390,
                                                      "end": 4394,
                                                      "loc": {
                                                        "start": {
                                                          "line": 98,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 98,
                                                          "column": 24
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4395,
                                                      "end": 4408,
                                                      "loc": {
                                                        "start": {
                                                          "line": 98,
                                                          "column": 25
                                                        },
                                                        "end": {
                                                          "line": 98,
                                                          "column": 38
                                                        }
                                                      },
                                                      "name": "sketchObjects"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4409,
                                                    "end": 4412,
                                                    "loc": {
                                                      "start": {
                                                        "line": 98,
                                                        "column": 39
                                                      },
                                                      "end": {
                                                        "line": 98,
                                                        "column": 42
                                                      }
                                                    },
                                                    "name": "has"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 4413,
                                                    "end": 4416,
                                                    "loc": {
                                                      "start": {
                                                        "line": 98,
                                                        "column": 43
                                                      },
                                                      "end": {
                                                        "line": 98,
                                                        "column": 46
                                                      }
                                                    },
                                                    "name": "obj"
                                                  }
                                                ]
                                              },
                                              "consequent": {
                                                "type": "ReturnStatement",
                                                "start": 4439,
                                                "end": 4446,
                                                "loc": {
                                                  "start": {
                                                    "line": 99,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 99,
                                                    "column": 27
                                                  }
                                                },
                                                "argument": null
                                              },
                                              "alternate": null
                                            },
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 4463,
                                              "end": 4491,
                                              "loc": {
                                                "start": {
                                                  "line": 100,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 100,
                                                  "column": 44
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 4463,
                                                "end": 4490,
                                                "loc": {
                                                  "start": {
                                                    "line": 100,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 100,
                                                    "column": 43
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 4463,
                                                  "end": 4485,
                                                  "loc": {
                                                    "start": {
                                                      "line": 100,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 100,
                                                      "column": 38
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 4463,
                                                    "end": 4481,
                                                    "loc": {
                                                      "start": {
                                                        "line": 100,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 100,
                                                        "column": 34
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 4463,
                                                      "end": 4467,
                                                      "loc": {
                                                        "start": {
                                                          "line": 100,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 100,
                                                          "column": 20
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4468,
                                                      "end": 4481,
                                                      "loc": {
                                                        "start": {
                                                          "line": 100,
                                                          "column": 21
                                                        },
                                                        "end": {
                                                          "line": 100,
                                                          "column": 34
                                                        }
                                                      },
                                                      "name": "sketchObjects"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4482,
                                                    "end": 4485,
                                                    "loc": {
                                                      "start": {
                                                        "line": 100,
                                                        "column": 35
                                                      },
                                                      "end": {
                                                        "line": 100,
                                                        "column": 38
                                                      }
                                                    },
                                                    "name": "add"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 4486,
                                                    "end": 4489,
                                                    "loc": {
                                                      "start": {
                                                        "line": 100,
                                                        "column": 39
                                                      },
                                                      "end": {
                                                        "line": 100,
                                                        "column": 42
                                                      }
                                                    },
                                                    "name": "obj"
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 4508,
                                              "end": 4550,
                                              "loc": {
                                                "start": {
                                                  "line": 101,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 101,
                                                  "column": 58
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 4508,
                                                "end": 4549,
                                                "loc": {
                                                  "start": {
                                                    "line": 101,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 101,
                                                    "column": 57
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 4508,
                                                  "end": 4538,
                                                  "loc": {
                                                    "start": {
                                                      "line": 101,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 101,
                                                      "column": 46
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 4508,
                                                    "end": 4516,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "Sketcher"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4517,
                                                    "end": 4538,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 46
                                                      }
                                                    },
                                                    "name": "registerVisualization"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 4539,
                                                    "end": 4543,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 47
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 51
                                                      }
                                                    },
                                                    "name": "view"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 4545,
                                                    "end": 4548,
                                                    "loc": {
                                                      "start": {
                                                        "line": 101,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 101,
                                                        "column": 56
                                                      }
                                                    },
                                                    "name": "obj"
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 4567,
                                              "end": 4597,
                                              "loc": {
                                                "start": {
                                                  "line": 102,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 102,
                                                  "column": 46
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 4567,
                                                "end": 4596,
                                                "loc": {
                                                  "start": {
                                                    "line": 102,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 102,
                                                    "column": 45
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 4567,
                                                  "end": 4576,
                                                  "loc": {
                                                    "start": {
                                                      "line": 102,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 102,
                                                      "column": 25
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 4567,
                                                    "end": 4571,
                                                    "loc": {
                                                      "start": {
                                                        "line": 102,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 102,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 4572,
                                                    "end": 4576,
                                                    "loc": {
                                                      "start": {
                                                        "line": 102,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 102,
                                                        "column": 25
                                                      }
                                                    },
                                                    "name": "emit"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Literal",
                                                    "start": 4577,
                                                    "end": 4590,
                                                    "loc": {
                                                      "start": {
                                                        "line": 102,
                                                        "column": 26
                                                      },
                                                      "end": {
                                                        "line": 102,
                                                        "column": 39
                                                      }
                                                    },
                                                    "value": "SketchAdded",
                                                    "rawValue": "SketchAdded",
                                                    "raw": "'SketchAdded'"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 4592,
                                                    "end": 4595,
                                                    "loc": {
                                                      "start": {
                                                        "line": 102,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 102,
                                                        "column": 44
                                                      }
                                                    },
                                                    "name": "obj"
                                                  }
                                                ]
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 4627,
                                  "end": 5095,
                                  "loc": {
                                    "start": {
                                      "line": 105,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 111,
                                      "column": 13
                                    }
                                  },
                                  "test": {
                                    "type": "LogicalExpression",
                                    "start": 4631,
                                    "end": 4701,
                                    "loc": {
                                      "start": {
                                        "line": 105,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 105,
                                        "column": 86
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 4631,
                                      "end": 4653,
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 38
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4631,
                                        "end": 4638,
                                        "loc": {
                                          "start": {
                                            "line": 105,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 105,
                                            "column": 23
                                          }
                                        },
                                        "name": "options"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4639,
                                        "end": 4653,
                                        "loc": {
                                          "start": {
                                            "line": 105,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 105,
                                            "column": 38
                                          }
                                        },
                                        "name": "autoconstraint"
                                      },
                                      "computed": false
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 4657,
                                      "end": 4701,
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 86
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 4657,
                                        "end": 4675,
                                        "loc": {
                                          "start": {
                                            "line": 105,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 105,
                                            "column": 60
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4657,
                                          "end": 4665,
                                          "loc": {
                                            "start": {
                                              "line": 105,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 105,
                                              "column": 50
                                            }
                                          },
                                          "name": "sketcher"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4666,
                                          "end": 4675,
                                          "loc": {
                                            "start": {
                                              "line": 105,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 105,
                                              "column": 60
                                            }
                                          },
                                          "name": "modelData"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4676,
                                        "end": 4701,
                                        "loc": {
                                          "start": {
                                            "line": 105,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 105,
                                            "column": 86
                                          }
                                        },
                                        "name": "autoconstraintIncremental"
                                      },
                                      "computed": false
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 4703,
                                    "end": 5095,
                                    "loc": {
                                      "start": {
                                        "line": 105,
                                        "column": 88
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "VariableDeclaration",
                                        "start": 4803,
                                        "end": 4847,
                                        "loc": {
                                          "start": {
                                            "line": 107,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 107,
                                            "column": 60
                                          }
                                        },
                                        "declarations": [
                                          {
                                            "type": "VariableDeclarator",
                                            "start": 4807,
                                            "end": 4846,
                                            "loc": {
                                              "start": {
                                                "line": 107,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 107,
                                                "column": 59
                                              }
                                            },
                                            "id": {
                                              "type": "Identifier",
                                              "start": 4807,
                                              "end": 4814,
                                              "loc": {
                                                "start": {
                                                  "line": 107,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 107,
                                                  "column": 27
                                                }
                                              },
                                              "name": "autogen",
                                              "leadingComments": null
                                            },
                                            "init": {
                                              "type": "NewExpression",
                                              "start": 4817,
                                              "end": 4846,
                                              "loc": {
                                                "start": {
                                                  "line": 107,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 107,
                                                  "column": 59
                                                }
                                              },
                                              "callee": {
                                                "type": "Identifier",
                                                "start": 4821,
                                                "end": 4840,
                                                "loc": {
                                                  "start": {
                                                    "line": 107,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 107,
                                                    "column": 53
                                                  }
                                                },
                                                "name": "ConstraintGenerator"
                                              },
                                              "arguments": [
                                                {
                                                  "type": "ThisExpression",
                                                  "start": 4841,
                                                  "end": 4845,
                                                  "loc": {
                                                    "start": {
                                                      "line": 107,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 107,
                                                      "column": 58
                                                    }
                                                  }
                                                }
                                              ]
                                            },
                                            "leadingComments": null
                                          }
                                        ],
                                        "kind": "var",
                                        "leadingComments": [
                                          {
                                            "type": "CommentLine",
                                            "value": "generate implied constraints for the objects just drawn by user",
                                            "start": 4721,
                                            "end": 4786,
                                            "loc": {
                                              "start": {
                                                "line": 106,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 106,
                                                "column": 81
                                              }
                                            },
                                            "range": [
                                              4721,
                                              4786
                                            ]
                                          }
                                        ]
                                      },
                                      {
                                        "type": "VariableDeclaration",
                                        "start": 4864,
                                        "end": 4957,
                                        "loc": {
                                          "start": {
                                            "line": 108,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 108,
                                            "column": 109
                                          }
                                        },
                                        "declarations": [
                                          {
                                            "type": "VariableDeclarator",
                                            "start": 4868,
                                            "end": 4956,
                                            "loc": {
                                              "start": {
                                                "line": 108,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 108,
                                                "column": 108
                                              }
                                            },
                                            "id": {
                                              "type": "Identifier",
                                              "start": 4868,
                                              "end": 4879,
                                              "loc": {
                                                "start": {
                                                  "line": 108,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 108,
                                                  "column": 31
                                                }
                                              },
                                              "name": "constraints"
                                            },
                                            "init": {
                                              "type": "CallExpression",
                                              "start": 4882,
                                              "end": 4956,
                                              "loc": {
                                                "start": {
                                                  "line": 108,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 108,
                                                  "column": 108
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 4882,
                                                "end": 4916,
                                                "loc": {
                                                  "start": {
                                                    "line": 108,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 108,
                                                    "column": 68
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 4882,
                                                  "end": 4889,
                                                  "loc": {
                                                    "start": {
                                                      "line": 108,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 108,
                                                      "column": 41
                                                    }
                                                  },
                                                  "name": "autogen"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4890,
                                                  "end": 4916,
                                                  "loc": {
                                                    "start": {
                                                      "line": 108,
                                                      "column": 42
                                                    },
                                                    "end": {
                                                      "line": 108,
                                                      "column": 68
                                                    }
                                                  },
                                                  "name": "generateImpliedConstraints"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "CallExpression",
                                                  "start": 4917,
                                                  "end": 4955,
                                                  "loc": {
                                                    "start": {
                                                      "line": 108,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 108,
                                                      "column": 107
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 4917,
                                                    "end": 4946,
                                                    "loc": {
                                                      "start": {
                                                        "line": 108,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 108,
                                                        "column": 98
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 4917,
                                                      "end": 4923,
                                                      "loc": {
                                                        "start": {
                                                          "line": 108,
                                                          "column": 69
                                                        },
                                                        "end": {
                                                          "line": 108,
                                                          "column": 75
                                                        }
                                                      },
                                                      "name": "Sketch"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 4924,
                                                      "end": 4946,
                                                      "loc": {
                                                        "start": {
                                                          "line": 108,
                                                          "column": 76
                                                        },
                                                        "end": {
                                                          "line": 108,
                                                          "column": 98
                                                        }
                                                      },
                                                      "name": "ForObjectsWithChildren"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "start": 4947,
                                                      "end": 4954,
                                                      "loc": {
                                                        "start": {
                                                          "line": 108,
                                                          "column": 99
                                                        },
                                                        "end": {
                                                          "line": 108,
                                                          "column": 106
                                                        }
                                                      },
                                                      "name": "objects"
                                                    }
                                                  ]
                                                }
                                              ]
                                            }
                                          }
                                        ],
                                        "kind": "var"
                                      },
                                      {
                                        "type": "IfStatement",
                                        "start": 4974,
                                        "end": 5081,
                                        "loc": {
                                          "start": {
                                            "line": 109,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 110,
                                            "column": 79
                                          }
                                        },
                                        "test": {
                                          "type": "BinaryExpression",
                                          "start": 4978,
                                          "end": 5000,
                                          "loc": {
                                            "start": {
                                              "line": 109,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 109,
                                              "column": 42
                                            }
                                          },
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 4978,
                                            "end": 4996,
                                            "loc": {
                                              "start": {
                                                "line": 109,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 109,
                                                "column": 38
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 4978,
                                              "end": 4989,
                                              "loc": {
                                                "start": {
                                                  "line": 109,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 109,
                                                  "column": 31
                                                }
                                              },
                                              "name": "constraints"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4990,
                                              "end": 4996,
                                              "loc": {
                                                "start": {
                                                  "line": 109,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 109,
                                                  "column": 38
                                                }
                                              },
                                              "name": "length"
                                            },
                                            "computed": false
                                          },
                                          "operator": ">",
                                          "right": {
                                            "type": "Literal",
                                            "start": 4999,
                                            "end": 5000,
                                            "loc": {
                                              "start": {
                                                "line": 109,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 109,
                                                "column": 42
                                              }
                                            },
                                            "value": 0,
                                            "rawValue": 0,
                                            "raw": "0"
                                          }
                                        },
                                        "consequent": {
                                          "type": "ReturnStatement",
                                          "start": 5022,
                                          "end": 5081,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 79
                                            }
                                          },
                                          "argument": {
                                            "type": "CallExpression",
                                            "start": 5029,
                                            "end": 5080,
                                            "loc": {
                                              "start": {
                                                "line": 110,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 110,
                                                "column": 78
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 5029,
                                              "end": 5045,
                                              "loc": {
                                                "start": {
                                                  "line": 110,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 110,
                                                  "column": 43
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 5029,
                                                "end": 5033,
                                                "loc": {
                                                  "start": {
                                                    "line": 110,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 110,
                                                    "column": 31
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5034,
                                                "end": 5045,
                                                "loc": {
                                                  "start": {
                                                    "line": 110,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 110,
                                                    "column": 43
                                                  }
                                                },
                                                "name": "addToSketch"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5046,
                                                "end": 5057,
                                                "loc": {
                                                  "start": {
                                                    "line": 110,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 110,
                                                    "column": 55
                                                  }
                                                },
                                                "name": "constraints"
                                              },
                                              {
                                                "type": "ObjectExpression",
                                                "start": 5059,
                                                "end": 5079,
                                                "loc": {
                                                  "start": {
                                                    "line": 110,
                                                    "column": 57
                                                  },
                                                  "end": {
                                                    "line": 110,
                                                    "column": 77
                                                  }
                                                },
                                                "properties": [
                                                  {
                                                    "type": "Property",
                                                    "start": 5060,
                                                    "end": 5078,
                                                    "loc": {
                                                      "start": {
                                                        "line": 110,
                                                        "column": 58
                                                      },
                                                      "end": {
                                                        "line": 110,
                                                        "column": 76
                                                      }
                                                    },
                                                    "method": false,
                                                    "shorthand": false,
                                                    "computed": false,
                                                    "key": {
                                                      "type": "Identifier",
                                                      "start": 5060,
                                                      "end": 5072,
                                                      "loc": {
                                                        "start": {
                                                          "line": 110,
                                                          "column": 58
                                                        },
                                                        "end": {
                                                          "line": 110,
                                                          "column": 70
                                                        }
                                                      },
                                                      "name": "updateSketch"
                                                    },
                                                    "value": {
                                                      "type": "Literal",
                                                      "start": 5074,
                                                      "end": 5078,
                                                      "loc": {
                                                        "start": {
                                                          "line": 110,
                                                          "column": 72
                                                        },
                                                        "end": {
                                                          "line": 110,
                                                          "column": 76
                                                        }
                                                      },
                                                      "value": true,
                                                      "rawValue": true,
                                                      "raw": "true"
                                                    },
                                                    "kind": "init"
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        },
                                        "alternate": null
                                      }
                                    ]
                                  },
                                  "alternate": null
                                }
                              ]
                            }
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " must be done before server command so that parseObjectTree can find the objects in children",
                          "start": 4203,
                          "end": 4297,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 43
                            },
                            "end": {
                              "line": 94,
                              "column": 137
                            }
                          },
                          "range": [
                            4203,
                            4297
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add objects to the sketch on the server and, if successful, on the client",
                          "start": 5116,
                          "end": 5192,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 8
                            },
                            "end": {
                              "line": 114,
                              "column": 84
                            }
                          },
                          "range": [
                            5116,
                            5192
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 5201,
                      "end": 5474,
                      "loc": {
                        "start": {
                          "line": 115,
                          "column": 8
                        },
                        "end": {
                          "line": 118,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 5205,
                        "end": 5221,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 12
                          },
                          "end": {
                            "line": 115,
                            "column": 28
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 5205,
                          "end": 5212,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 12
                            },
                            "end": {
                              "line": 115,
                              "column": 19
                            }
                          },
                          "name": "options",
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5213,
                          "end": 5221,
                          "loc": {
                            "start": {
                              "line": 115,
                              "column": 20
                            },
                            "end": {
                              "line": 115,
                              "column": 28
                            }
                          },
                          "name": "onServer"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 5223,
                        "end": 5474,
                        "loc": {
                          "start": {
                            "line": 115,
                            "column": 30
                          },
                          "end": {
                            "line": 118,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 5237,
                            "end": 5307,
                            "loc": {
                              "start": {
                                "line": 116,
                                "column": 12
                              },
                              "end": {
                                "line": 116,
                                "column": 82
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 5241,
                                "end": 5306,
                                "loc": {
                                  "start": {
                                    "line": 116,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 116,
                                    "column": 81
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 5241,
                                  "end": 5249,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 24
                                    }
                                  },
                                  "name": "commands"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 5252,
                                  "end": 5306,
                                  "loc": {
                                    "start": {
                                      "line": 116,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 116,
                                      "column": 81
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 5252,
                                    "end": 5263,
                                    "loc": {
                                      "start": {
                                        "line": 116,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 116,
                                        "column": 38
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 5252,
                                      "end": 5259,
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 34
                                        }
                                      },
                                      "name": "objects"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5260,
                                      "end": 5263,
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 38
                                        }
                                      },
                                      "name": "map"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "start": 5264,
                                      "end": 5305,
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 80
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": true,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 5264,
                                          "end": 5270,
                                          "loc": {
                                            "start": {
                                              "line": 116,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 116,
                                              "column": 45
                                            }
                                          },
                                          "name": "object"
                                        }
                                      ],
                                      "body": {
                                        "type": "CallExpression",
                                        "start": 5274,
                                        "end": 5305,
                                        "loc": {
                                          "start": {
                                            "line": 116,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 116,
                                            "column": 80
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 5274,
                                          "end": 5299,
                                          "loc": {
                                            "start": {
                                              "line": 116,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 116,
                                              "column": 74
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 5274,
                                            "end": 5280,
                                            "loc": {
                                              "start": {
                                                "line": 116,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 116,
                                                "column": 55
                                              }
                                            },
                                            "name": "object"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 5281,
                                            "end": 5299,
                                            "loc": {
                                              "start": {
                                                "line": 116,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 116,
                                                "column": 74
                                              }
                                            },
                                            "name": "prepareAddOnServer"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ThisExpression",
                                            "start": 5300,
                                            "end": 5304,
                                            "loc": {
                                              "start": {
                                                "line": 116,
                                                "column": 75
                                              },
                                              "end": {
                                                "line": 116,
                                                "column": 79
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 5320,
                            "end": 5464,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 12
                              },
                              "end": {
                                "line": 117,
                                "column": 156
                              }
                            },
                            "argument": {
                              "type": "CallExpression",
                              "start": 5327,
                              "end": 5463,
                              "loc": {
                                "start": {
                                  "line": 117,
                                  "column": 19
                                },
                                "end": {
                                  "line": 117,
                                  "column": 155
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 5327,
                                "end": 5450,
                                "loc": {
                                  "start": {
                                    "line": 117,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 117,
                                    "column": 142
                                  }
                                },
                                "object": {
                                  "type": "ConditionalExpression",
                                  "start": 5328,
                                  "end": 5444,
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 117,
                                      "column": 136
                                    }
                                  },
                                  "test": {
                                    "type": "MemberExpression",
                                    "start": 5328,
                                    "end": 5348,
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 40
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 5328,
                                      "end": 5335,
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 27
                                        }
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5336,
                                      "end": 5348,
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 40
                                        }
                                      },
                                      "name": "updateSketch"
                                    },
                                    "computed": false
                                  },
                                  "consequent": {
                                    "type": "CallExpression",
                                    "start": 5351,
                                    "end": 5399,
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 91
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 5351,
                                      "end": 5372,
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 64
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 5351,
                                        "end": 5355,
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 117,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5356,
                                        "end": 5372,
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 117,
                                            "column": 64
                                          }
                                        },
                                        "name": "updateFromServer"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 5373,
                                        "end": 5388,
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 117,
                                            "column": 80
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 5373,
                                          "end": 5381,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 65
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 73
                                            }
                                          },
                                          "name": "sketcher"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 5382,
                                          "end": 5388,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 74
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 80
                                            }
                                          },
                                          "name": "server"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 5390,
                                        "end": 5398,
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 82
                                          },
                                          "end": {
                                            "line": 117,
                                            "column": 90
                                          }
                                        },
                                        "name": "commands"
                                      }
                                    ]
                                  },
                                  "alternate": {
                                    "type": "CallExpression",
                                    "start": 5402,
                                    "end": 5444,
                                    "loc": {
                                      "start": {
                                        "line": 117,
                                        "column": 94
                                      },
                                      "end": {
                                        "line": 117,
                                        "column": 136
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 5402,
                                      "end": 5417,
                                      "loc": {
                                        "start": {
                                          "line": 117,
                                          "column": 94
                                        },
                                        "end": {
                                          "line": 117,
                                          "column": 109
                                        }
                                      },
                                      "name": "executePrepared"
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 5418,
                                        "end": 5433,
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 110
                                          },
                                          "end": {
                                            "line": 117,
                                            "column": 125
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 5418,
                                          "end": 5426,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 110
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 118
                                            }
                                          },
                                          "name": "sketcher"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 5427,
                                          "end": 5433,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 119
                                            },
                                            "end": {
                                              "line": 117,
                                              "column": 125
                                            }
                                          },
                                          "name": "server"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 5435,
                                        "end": 5443,
                                        "loc": {
                                          "start": {
                                            "line": 117,
                                            "column": 127
                                          },
                                          "end": {
                                            "line": 117,
                                            "column": 135
                                          }
                                        },
                                        "name": "commands"
                                      }
                                    ]
                                  },
                                  "parenthesizedExpression": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5446,
                                  "end": 5450,
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 138
                                    },
                                    "end": {
                                      "line": 117,
                                      "column": 142
                                    }
                                  },
                                  "name": "then"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 5451,
                                  "end": 5462,
                                  "loc": {
                                    "start": {
                                      "line": 117,
                                      "column": 143
                                    },
                                    "end": {
                                      "line": 117,
                                      "column": 154
                                    }
                                  },
                                  "name": "afterServer"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " add objects to the sketch on the server and, if successful, on the client",
                          "start": 5116,
                          "end": 5192,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 8
                            },
                            "end": {
                              "line": 114,
                              "column": 84
                            }
                          },
                          "range": [
                            5116,
                            5192
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 5484,
                      "end": 5522,
                      "loc": {
                        "start": {
                          "line": 120,
                          "column": 8
                        },
                        "end": {
                          "line": 120,
                          "column": 46
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 5491,
                        "end": 5521,
                        "loc": {
                          "start": {
                            "line": 120,
                            "column": 15
                          },
                          "end": {
                            "line": 120,
                            "column": 45
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5491,
                          "end": 5506,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 15
                            },
                            "end": {
                              "line": 120,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5491,
                            "end": 5498,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 15
                              },
                              "end": {
                                "line": 120,
                                "column": 22
                              }
                            },
                            "name": "Promise"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5499,
                            "end": 5506,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 23
                              },
                              "end": {
                                "line": 120,
                                "column": 30
                              }
                            },
                            "name": "resolve"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 5507,
                            "end": 5520,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 31
                              },
                              "end": {
                                "line": 120,
                                "column": 44
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 5507,
                              "end": 5518,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 31
                                },
                                "end": {
                                  "line": 120,
                                  "column": 42
                                }
                              },
                              "name": "afterServer"
                            },
                            "arguments": []
                          }
                        ]
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " Part.SketchSet.Sketch",
                  "start": 3006,
                  "end": 3030,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 35
                    },
                    "end": {
                      "line": 73,
                      "column": 59
                    }
                  },
                  "range": [
                    3006,
                    3030
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " Physically add objects to the sketch (in contrast to addAuxObject)",
                  "start": 3042,
                  "end": 3111,
                  "loc": {
                    "start": {
                      "line": 76,
                      "column": 4
                    },
                    "end": {
                      "line": 76,
                      "column": 73
                    }
                  },
                  "range": [
                    3042,
                    3111
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " If some objects were previously added with addAuxObject, automatically remove them from aux objects",
                  "start": 3116,
                  "end": 3218,
                  "loc": {
                    "start": {
                      "line": 77,
                      "column": 4
                    },
                    "end": {
                      "line": 77,
                      "column": 106
                    }
                  },
                  "range": [
                    3116,
                    3218
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " possible options:",
                  "start": 3223,
                  "end": 3243,
                  "loc": {
                    "start": {
                      "line": 78,
                      "column": 4
                    },
                    "end": {
                      "line": 78,
                      "column": 24
                    }
                  },
                  "range": [
                    3223,
                    3243
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "   onServer (default: true) - whether to send commands to the server.",
                  "start": 3248,
                  "end": 3319,
                  "loc": {
                    "start": {
                      "line": 79,
                      "column": 4
                    },
                    "end": {
                      "line": 79,
                      "column": 75
                    }
                  },
                  "range": [
                    3248,
                    3319
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "   onClient (default: true) - whether to add objects to children",
                  "start": 3324,
                  "end": 3390,
                  "loc": {
                    "start": {
                      "line": 80,
                      "column": 4
                    },
                    "end": {
                      "line": 80,
                      "column": 70
                    }
                  },
                  "range": [
                    3324,
                    3390
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "   autoconstraint (default: false) - if true, then implied constraints are generated if neccessary.",
                  "start": 3395,
                  "end": 3496,
                  "loc": {
                    "start": {
                      "line": 81,
                      "column": 4
                    },
                    "end": {
                      "line": 81,
                      "column": 105
                    }
                  },
                  "range": [
                    3395,
                    3496
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": "   updateSketch (default: false) - whether to update sketch state for the whole sketch, not only for objets. Pass true when adding constraints.",
                  "start": 3501,
                  "end": 3646,
                  "loc": {
                    "start": {
                      "line": 82,
                      "column": 4
                    },
                    "end": {
                      "line": 82,
                      "column": 149
                    }
                  },
                  "range": [
                    3501,
                    3646
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " Remove objects previously added with addToSketch",
                  "start": 5534,
                  "end": 5585,
                  "loc": {
                    "start": {
                      "line": 123,
                      "column": 4
                    },
                    "end": {
                      "line": 123,
                      "column": 55
                    }
                  },
                  "range": [
                    5534,
                    5585
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 5590,
              "end": 7260,
              "loc": {
                "start": {
                  "line": 124,
                  "column": 4
                },
                "end": {
                  "line": 159,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5590,
                "end": 5606,
                "loc": {
                  "start": {
                    "line": 124,
                    "column": 4
                  },
                  "end": {
                    "line": 124,
                    "column": 20
                  }
                },
                "name": "removeFromSketch",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5606,
                "end": 7260,
                "loc": {
                  "start": {
                    "line": 124,
                    "column": 20
                  },
                  "end": {
                    "line": 159,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5607,
                    "end": 5614,
                    "loc": {
                      "start": {
                        "line": 124,
                        "column": 21
                      },
                      "end": {
                        "line": 124,
                        "column": 28
                      }
                    },
                    "name": "objects"
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 5616,
                    "end": 5628,
                    "loc": {
                      "start": {
                        "line": 124,
                        "column": 30
                      },
                      "end": {
                        "line": 124,
                        "column": 42
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 5616,
                      "end": 5623,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 30
                        },
                        "end": {
                          "line": 124,
                          "column": 37
                        }
                      },
                      "name": "options"
                    },
                    "right": {
                      "type": "ObjectExpression",
                      "start": 5626,
                      "end": 5628,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 40
                        },
                        "end": {
                          "line": 124,
                          "column": 42
                        }
                      },
                      "properties": []
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5630,
                  "end": 7260,
                  "loc": {
                    "start": {
                      "line": 124,
                      "column": 44
                    },
                    "end": {
                      "line": 159,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 5640,
                      "end": 5700,
                      "loc": {
                        "start": {
                          "line": 125,
                          "column": 8
                        },
                        "end": {
                          "line": 125,
                          "column": 68
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5644,
                        "end": 5674,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 12
                          },
                          "end": {
                            "line": 125,
                            "column": 42
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 5644,
                          "end": 5660,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 12
                            },
                            "end": {
                              "line": 125,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5644,
                            "end": 5651,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 12
                              },
                              "end": {
                                "line": 125,
                                "column": 19
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5652,
                            "end": 5660,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 20
                              },
                              "end": {
                                "line": 125,
                                "column": 28
                              }
                            },
                            "name": "onServer"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 5665,
                          "end": 5674,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 33
                            },
                            "end": {
                              "line": 125,
                              "column": 42
                            }
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 5676,
                        "end": 5700,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 44
                          },
                          "end": {
                            "line": 125,
                            "column": 68
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 5676,
                          "end": 5699,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 44
                            },
                            "end": {
                              "line": 125,
                              "column": 67
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 5676,
                            "end": 5692,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 44
                              },
                              "end": {
                                "line": 125,
                                "column": 60
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5676,
                              "end": 5683,
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 44
                                },
                                "end": {
                                  "line": 125,
                                  "column": 51
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5684,
                              "end": 5692,
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 52
                                },
                                "end": {
                                  "line": 125,
                                  "column": 60
                                }
                              },
                              "name": "onServer"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 5695,
                            "end": 5699,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 63
                              },
                              "end": {
                                "line": 125,
                                "column": 67
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 5709,
                      "end": 5769,
                      "loc": {
                        "start": {
                          "line": 126,
                          "column": 8
                        },
                        "end": {
                          "line": 126,
                          "column": 68
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5713,
                        "end": 5743,
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 12
                          },
                          "end": {
                            "line": 126,
                            "column": 42
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 5713,
                          "end": 5729,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 12
                            },
                            "end": {
                              "line": 126,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5713,
                            "end": 5720,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 12
                              },
                              "end": {
                                "line": 126,
                                "column": 19
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5721,
                            "end": 5729,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 20
                              },
                              "end": {
                                "line": 126,
                                "column": 28
                              }
                            },
                            "name": "onClient"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 5734,
                          "end": 5743,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 33
                            },
                            "end": {
                              "line": 126,
                              "column": 42
                            }
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 5745,
                        "end": 5769,
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 44
                          },
                          "end": {
                            "line": 126,
                            "column": 68
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 5745,
                          "end": 5768,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 44
                            },
                            "end": {
                              "line": 126,
                              "column": 67
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 5745,
                            "end": 5761,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 44
                              },
                              "end": {
                                "line": 126,
                                "column": 60
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5745,
                              "end": 5752,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 44
                                },
                                "end": {
                                  "line": 126,
                                  "column": 51
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5753,
                              "end": 5761,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 52
                                },
                                "end": {
                                  "line": 126,
                                  "column": 60
                                }
                              },
                              "name": "onClient"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 5764,
                            "end": 5768,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 63
                              },
                              "end": {
                                "line": 126,
                                "column": 67
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 5778,
                      "end": 5847,
                      "loc": {
                        "start": {
                          "line": 127,
                          "column": 8
                        },
                        "end": {
                          "line": 127,
                          "column": 77
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5782,
                        "end": 5816,
                        "loc": {
                          "start": {
                            "line": 127,
                            "column": 12
                          },
                          "end": {
                            "line": 127,
                            "column": 46
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 5782,
                          "end": 5802,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 12
                            },
                            "end": {
                              "line": 127,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5782,
                            "end": 5789,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 12
                              },
                              "end": {
                                "line": 127,
                                "column": 19
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5790,
                            "end": 5802,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 20
                              },
                              "end": {
                                "line": 127,
                                "column": 32
                              }
                            },
                            "name": "updateSketch"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Identifier",
                          "start": 5807,
                          "end": 5816,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 37
                            },
                            "end": {
                              "line": 127,
                              "column": 46
                            }
                          },
                          "name": "undefined"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 5818,
                        "end": 5847,
                        "loc": {
                          "start": {
                            "line": 127,
                            "column": 48
                          },
                          "end": {
                            "line": 127,
                            "column": 77
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 5818,
                          "end": 5846,
                          "loc": {
                            "start": {
                              "line": 127,
                              "column": 48
                            },
                            "end": {
                              "line": 127,
                              "column": 76
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 5818,
                            "end": 5838,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 48
                              },
                              "end": {
                                "line": 127,
                                "column": 68
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5818,
                              "end": 5825,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 48
                                },
                                "end": {
                                  "line": 127,
                                  "column": 55
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5826,
                              "end": 5838,
                              "loc": {
                                "start": {
                                  "line": 127,
                                  "column": 56
                                },
                                "end": {
                                  "line": 127,
                                  "column": 68
                                }
                              },
                              "name": "updateSketch"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 5841,
                            "end": 5846,
                            "loc": {
                              "start": {
                                "line": 127,
                                "column": 71
                              },
                              "end": {
                                "line": 127,
                                "column": 76
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 5857,
                      "end": 5886,
                      "loc": {
                        "start": {
                          "line": 129,
                          "column": 8
                        },
                        "end": {
                          "line": 129,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5857,
                        "end": 5885,
                        "loc": {
                          "start": {
                            "line": 129,
                            "column": 8
                          },
                          "end": {
                            "line": 129,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 5857,
                          "end": 5864,
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 8
                            },
                            "end": {
                              "line": 129,
                              "column": 15
                            }
                          },
                          "name": "objects"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 5867,
                          "end": 5885,
                          "loc": {
                            "start": {
                              "line": 129,
                              "column": 18
                            },
                            "end": {
                              "line": 129,
                              "column": 36
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5867,
                            "end": 5876,
                            "loc": {
                              "start": {
                                "line": 129,
                                "column": 18
                              },
                              "end": {
                                "line": 129,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "ArrayExpression",
                              "start": 5867,
                              "end": 5869,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 18
                                },
                                "end": {
                                  "line": 129,
                                  "column": 20
                                }
                              },
                              "elements": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5870,
                              "end": 5876,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 21
                                },
                                "end": {
                                  "line": 129,
                                  "column": 27
                                }
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 5877,
                              "end": 5884,
                              "loc": {
                                "start": {
                                  "line": 129,
                                  "column": 28
                                },
                                "end": {
                                  "line": 129,
                                  "column": 35
                                }
                              },
                              "name": "objects"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 5895,
                      "end": 5924,
                      "loc": {
                        "start": {
                          "line": 130,
                          "column": 8
                        },
                        "end": {
                          "line": 130,
                          "column": 37
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5899,
                          "end": 5923,
                          "loc": {
                            "start": {
                              "line": 130,
                              "column": 12
                            },
                            "end": {
                              "line": 130,
                              "column": 36
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5899,
                            "end": 5907,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 12
                              },
                              "end": {
                                "line": 130,
                                "column": 20
                              }
                            },
                            "name": "sketcher"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 5910,
                            "end": 5923,
                            "loc": {
                              "start": {
                                "line": 130,
                                "column": 23
                              },
                              "end": {
                                "line": 130,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5910,
                              "end": 5914,
                              "loc": {
                                "start": {
                                  "line": 130,
                                  "column": 23
                                },
                                "end": {
                                  "line": 130,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5915,
                              "end": 5923,
                              "loc": {
                                "start": {
                                  "line": 130,
                                  "column": 28
                                },
                                "end": {
                                  "line": 130,
                                  "column": 36
                                }
                              },
                              "name": "sketcher"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 5933,
                      "end": 5966,
                      "loc": {
                        "start": {
                          "line": 131,
                          "column": 8
                        },
                        "end": {
                          "line": 131,
                          "column": 41
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 5937,
                          "end": 5965,
                          "loc": {
                            "start": {
                              "line": 131,
                              "column": 12
                            },
                            "end": {
                              "line": 131,
                              "column": 40
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 5937,
                            "end": 5941,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 12
                              },
                              "end": {
                                "line": 131,
                                "column": 16
                              }
                            },
                            "name": "view"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 5944,
                            "end": 5965,
                            "loc": {
                              "start": {
                                "line": 131,
                                "column": 19
                              },
                              "end": {
                                "line": 131,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5944,
                              "end": 5952,
                              "loc": {
                                "start": {
                                  "line": 131,
                                  "column": 19
                                },
                                "end": {
                                  "line": 131,
                                  "column": 27
                                }
                              },
                              "name": "sketcher"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5953,
                              "end": 5965,
                              "loc": {
                                "start": {
                                  "line": 131,
                                  "column": 28
                                },
                                "end": {
                                  "line": 131,
                                  "column": 40
                                }
                              },
                              "name": "__parentView"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "add related constraints for removal (before objects)",
                          "start": 5976,
                          "end": 6030,
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 8
                            },
                            "end": {
                              "line": 133,
                              "column": 62
                            }
                          },
                          "range": [
                            5976,
                            6030
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 6039,
                      "end": 6094,
                      "loc": {
                        "start": {
                          "line": 134,
                          "column": 8
                        },
                        "end": {
                          "line": 134,
                          "column": 63
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6043,
                          "end": 6093,
                          "loc": {
                            "start": {
                              "line": 134,
                              "column": 12
                            },
                            "end": {
                              "line": 134,
                              "column": 62
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6043,
                            "end": 6052,
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 12
                              },
                              "end": {
                                "line": 134,
                                "column": 21
                              }
                            },
                            "name": "objectsCh",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 6055,
                            "end": 6093,
                            "loc": {
                              "start": {
                                "line": 134,
                                "column": 24
                              },
                              "end": {
                                "line": 134,
                                "column": 62
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6055,
                              "end": 6084,
                              "loc": {
                                "start": {
                                  "line": 134,
                                  "column": 24
                                },
                                "end": {
                                  "line": 134,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6055,
                                "end": 6061,
                                "loc": {
                                  "start": {
                                    "line": 134,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 134,
                                    "column": 30
                                  }
                                },
                                "name": "Sketch"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6062,
                                "end": 6084,
                                "loc": {
                                  "start": {
                                    "line": 134,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 134,
                                    "column": 53
                                  }
                                },
                                "name": "ForObjectsWithChildren"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 6085,
                                "end": 6092,
                                "loc": {
                                  "start": {
                                    "line": 134,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 134,
                                    "column": 61
                                  }
                                },
                                "name": "objects"
                              }
                            ]
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "add related constraints for removal (before objects)",
                          "start": 5976,
                          "end": 6030,
                          "loc": {
                            "start": {
                              "line": 133,
                              "column": 8
                            },
                            "end": {
                              "line": 133,
                              "column": 62
                            }
                          },
                          "range": [
                            5976,
                            6030
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 6103,
                      "end": 6167,
                      "loc": {
                        "start": {
                          "line": 135,
                          "column": 8
                        },
                        "end": {
                          "line": 135,
                          "column": 72
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6107,
                          "end": 6166,
                          "loc": {
                            "start": {
                              "line": 135,
                              "column": 12
                            },
                            "end": {
                              "line": 135,
                              "column": 71
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6107,
                            "end": 6125,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 12
                              },
                              "end": {
                                "line": 135,
                                "column": 30
                              }
                            },
                            "name": "relatedConstraints"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 6128,
                            "end": 6166,
                            "loc": {
                              "start": {
                                "line": 135,
                                "column": 33
                              },
                              "end": {
                                "line": 135,
                                "column": 71
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6128,
                              "end": 6155,
                              "loc": {
                                "start": {
                                  "line": 135,
                                  "column": 33
                                },
                                "end": {
                                  "line": 135,
                                  "column": 60
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 6128,
                                "end": 6132,
                                "loc": {
                                  "start": {
                                    "line": 135,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 135,
                                    "column": 37
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6133,
                                "end": 6155,
                                "loc": {
                                  "start": {
                                    "line": 135,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 135,
                                    "column": 60
                                  }
                                },
                                "name": "getConstraintsOnSketch"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 6156,
                                "end": 6165,
                                "loc": {
                                  "start": {
                                    "line": 135,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 135,
                                    "column": 70
                                  }
                                },
                                "name": "objectsCh"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6176,
                      "end": 6275,
                      "loc": {
                        "start": {
                          "line": 136,
                          "column": 8
                        },
                        "end": {
                          "line": 136,
                          "column": 107
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6176,
                        "end": 6274,
                        "loc": {
                          "start": {
                            "line": 136,
                            "column": 8
                          },
                          "end": {
                            "line": 136,
                            "column": 106
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 6176,
                          "end": 6183,
                          "loc": {
                            "start": {
                              "line": 136,
                              "column": 8
                            },
                            "end": {
                              "line": 136,
                              "column": 15
                            }
                          },
                          "name": "objects"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 6186,
                          "end": 6274,
                          "loc": {
                            "start": {
                              "line": 136,
                              "column": 18
                            },
                            "end": {
                              "line": 136,
                              "column": 106
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6186,
                            "end": 6211,
                            "loc": {
                              "start": {
                                "line": 136,
                                "column": 18
                              },
                              "end": {
                                "line": 136,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6186,
                              "end": 6204,
                              "loc": {
                                "start": {
                                  "line": 136,
                                  "column": 18
                                },
                                "end": {
                                  "line": 136,
                                  "column": 36
                                }
                              },
                              "name": "relatedConstraints"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6205,
                              "end": 6211,
                              "loc": {
                                "start": {
                                  "line": 136,
                                  "column": 37
                                },
                                "end": {
                                  "line": 136,
                                  "column": 43
                                }
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 6212,
                              "end": 6273,
                              "loc": {
                                "start": {
                                  "line": 136,
                                  "column": 44
                                },
                                "end": {
                                  "line": 136,
                                  "column": 105
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6212,
                                "end": 6226,
                                "loc": {
                                  "start": {
                                    "line": 136,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 136,
                                    "column": 58
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6212,
                                  "end": 6219,
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 51
                                    }
                                  },
                                  "name": "objects"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6220,
                                  "end": 6226,
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 58
                                    }
                                  },
                                  "name": "filter"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 6227,
                                  "end": 6272,
                                  "loc": {
                                    "start": {
                                      "line": 136,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 136,
                                      "column": 104
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": true,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 6227,
                                      "end": 6230,
                                      "loc": {
                                        "start": {
                                          "line": 136,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 136,
                                          "column": 62
                                        }
                                      },
                                      "name": "obj"
                                    }
                                  ],
                                  "body": {
                                    "type": "BinaryExpression",
                                    "start": 6234,
                                    "end": 6272,
                                    "loc": {
                                      "start": {
                                        "line": 136,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 136,
                                        "column": 104
                                      }
                                    },
                                    "left": {
                                      "type": "CallExpression",
                                      "start": 6234,
                                      "end": 6265,
                                      "loc": {
                                        "start": {
                                          "line": 136,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 136,
                                          "column": 97
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 6234,
                                        "end": 6260,
                                        "loc": {
                                          "start": {
                                            "line": 136,
                                            "column": 66
                                          },
                                          "end": {
                                            "line": 136,
                                            "column": 92
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 6234,
                                          "end": 6252,
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 66
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 84
                                            }
                                          },
                                          "name": "relatedConstraints"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6253,
                                          "end": 6260,
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 85
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 92
                                            }
                                          },
                                          "name": "indexOf"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 6261,
                                          "end": 6264,
                                          "loc": {
                                            "start": {
                                              "line": 136,
                                              "column": 93
                                            },
                                            "end": {
                                              "line": 136,
                                              "column": 96
                                            }
                                          },
                                          "name": "obj"
                                        }
                                      ]
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "UnaryExpression",
                                      "start": 6270,
                                      "end": 6272,
                                      "loc": {
                                        "start": {
                                          "line": 136,
                                          "column": 102
                                        },
                                        "end": {
                                          "line": 136,
                                          "column": 104
                                        }
                                      },
                                      "operator": "-",
                                      "prefix": true,
                                      "argument": {
                                        "type": "Literal",
                                        "start": 6271,
                                        "end": 6272,
                                        "loc": {
                                          "start": {
                                            "line": 136,
                                            "column": 103
                                          },
                                          "end": {
                                            "line": 136,
                                            "column": 104
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    }
                                  }
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6284,
                      "end": 6387,
                      "loc": {
                        "start": {
                          "line": 137,
                          "column": 8
                        },
                        "end": {
                          "line": 137,
                          "column": 111
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 6284,
                        "end": 6386,
                        "loc": {
                          "start": {
                            "line": 137,
                            "column": 8
                          },
                          "end": {
                            "line": 137,
                            "column": 110
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 6284,
                          "end": 6293,
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 8
                            },
                            "end": {
                              "line": 137,
                              "column": 17
                            }
                          },
                          "name": "objectsCh"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 6296,
                          "end": 6386,
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 20
                            },
                            "end": {
                              "line": 137,
                              "column": 110
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 6296,
                            "end": 6321,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 20
                              },
                              "end": {
                                "line": 137,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6296,
                              "end": 6314,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 20
                                },
                                "end": {
                                  "line": 137,
                                  "column": 38
                                }
                              },
                              "name": "relatedConstraints"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6315,
                              "end": 6321,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 39
                                },
                                "end": {
                                  "line": 137,
                                  "column": 45
                                }
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 6322,
                              "end": 6385,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 46
                                },
                                "end": {
                                  "line": 137,
                                  "column": 109
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6322,
                                "end": 6338,
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 46
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 62
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6322,
                                  "end": 6331,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 55
                                    }
                                  },
                                  "name": "objectsCh"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6332,
                                  "end": 6338,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 62
                                    }
                                  },
                                  "name": "filter"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 6339,
                                  "end": 6384,
                                  "loc": {
                                    "start": {
                                      "line": 137,
                                      "column": 63
                                    },
                                    "end": {
                                      "line": 137,
                                      "column": 108
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": true,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 6339,
                                      "end": 6342,
                                      "loc": {
                                        "start": {
                                          "line": 137,
                                          "column": 63
                                        },
                                        "end": {
                                          "line": 137,
                                          "column": 66
                                        }
                                      },
                                      "name": "obj"
                                    }
                                  ],
                                  "body": {
                                    "type": "BinaryExpression",
                                    "start": 6346,
                                    "end": 6384,
                                    "loc": {
                                      "start": {
                                        "line": 137,
                                        "column": 70
                                      },
                                      "end": {
                                        "line": 137,
                                        "column": 108
                                      }
                                    },
                                    "left": {
                                      "type": "CallExpression",
                                      "start": 6346,
                                      "end": 6377,
                                      "loc": {
                                        "start": {
                                          "line": 137,
                                          "column": 70
                                        },
                                        "end": {
                                          "line": 137,
                                          "column": 101
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 6346,
                                        "end": 6372,
                                        "loc": {
                                          "start": {
                                            "line": 137,
                                            "column": 70
                                          },
                                          "end": {
                                            "line": 137,
                                            "column": 96
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 6346,
                                          "end": 6364,
                                          "loc": {
                                            "start": {
                                              "line": 137,
                                              "column": 70
                                            },
                                            "end": {
                                              "line": 137,
                                              "column": 88
                                            }
                                          },
                                          "name": "relatedConstraints"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6365,
                                          "end": 6372,
                                          "loc": {
                                            "start": {
                                              "line": 137,
                                              "column": 89
                                            },
                                            "end": {
                                              "line": 137,
                                              "column": 96
                                            }
                                          },
                                          "name": "indexOf"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 6373,
                                          "end": 6376,
                                          "loc": {
                                            "start": {
                                              "line": 137,
                                              "column": 97
                                            },
                                            "end": {
                                              "line": 137,
                                              "column": 100
                                            }
                                          },
                                          "name": "obj"
                                        }
                                      ]
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "UnaryExpression",
                                      "start": 6382,
                                      "end": 6384,
                                      "loc": {
                                        "start": {
                                          "line": 137,
                                          "column": 106
                                        },
                                        "end": {
                                          "line": 137,
                                          "column": 108
                                        }
                                      },
                                      "operator": "-",
                                      "prefix": true,
                                      "argument": {
                                        "type": "Literal",
                                        "start": 6383,
                                        "end": 6384,
                                        "loc": {
                                          "start": {
                                            "line": 137,
                                            "column": 107
                                          },
                                          "end": {
                                            "line": 137,
                                            "column": 108
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    }
                                  }
                                }
                              ]
                            }
                          ]
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "remove all interactions first (including children)",
                          "start": 6397,
                          "end": 6449,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 8
                            },
                            "end": {
                              "line": 139,
                              "column": 60
                            }
                          },
                          "range": [
                            6397,
                            6449
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 6458,
                      "end": 6579,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 8
                        },
                        "end": {
                          "line": 143,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6458,
                        "end": 6578,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 8
                          },
                          "end": {
                            "line": 143,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6458,
                          "end": 6475,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 8
                            },
                            "end": {
                              "line": 140,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 6458,
                            "end": 6467,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 8
                              },
                              "end": {
                                "line": 140,
                                "column": 17
                              }
                            },
                            "name": "objectsCh",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6468,
                            "end": 6475,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 18
                              },
                              "end": {
                                "line": 140,
                                "column": 25
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 6476,
                            "end": 6577,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 26
                              },
                              "end": {
                                "line": 143,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 6476,
                                "end": 6479,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 29
                                  }
                                },
                                "name": "obj"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 6483,
                              "end": 6577,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 33
                                },
                                "end": {
                                  "line": 143,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 6497,
                                  "end": 6530,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 45
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 6497,
                                    "end": 6529,
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 44
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 6497,
                                      "end": 6527,
                                      "loc": {
                                        "start": {
                                          "line": 141,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 141,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 6497,
                                        "end": 6509,
                                        "loc": {
                                          "start": {
                                            "line": 141,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 141,
                                            "column": 24
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 6497,
                                          "end": 6500,
                                          "loc": {
                                            "start": {
                                              "line": 141,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 141,
                                              "column": 15
                                            }
                                          },
                                          "name": "obj"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6501,
                                          "end": 6509,
                                          "loc": {
                                            "start": {
                                              "line": 141,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 141,
                                              "column": 24
                                            }
                                          },
                                          "name": "interact"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 6510,
                                        "end": 6527,
                                        "loc": {
                                          "start": {
                                            "line": 141,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 141,
                                            "column": 42
                                          }
                                        },
                                        "name": "removeInteraction"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 6543,
                                  "end": 6567,
                                  "loc": {
                                    "start": {
                                      "line": 142,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 142,
                                      "column": 36
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 6543,
                                    "end": 6566,
                                    "loc": {
                                      "start": {
                                        "line": 142,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 142,
                                        "column": 35
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 6543,
                                      "end": 6564,
                                      "loc": {
                                        "start": {
                                          "line": 142,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 142,
                                          "column": 33
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 6543,
                                        "end": 6546,
                                        "loc": {
                                          "start": {
                                            "line": 142,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 142,
                                            "column": 15
                                          }
                                        },
                                        "name": "obj"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 6547,
                                        "end": 6564,
                                        "loc": {
                                          "start": {
                                            "line": 142,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 142,
                                            "column": 33
                                          }
                                        },
                                        "name": "removeInteraction"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                }
                              ]
                            }
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "remove all interactions first (including children)",
                          "start": 6397,
                          "end": 6449,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 8
                            },
                            "end": {
                              "line": 139,
                              "column": 60
                            }
                          },
                          "range": [
                            6397,
                            6449
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 6589,
                      "end": 6831,
                      "loc": {
                        "start": {
                          "line": 145,
                          "column": 8
                        },
                        "end": {
                          "line": 151,
                          "column": 10
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6593,
                          "end": 6830,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 12
                            },
                            "end": {
                              "line": 151,
                              "column": 9
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6593,
                            "end": 6604,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 12
                              },
                              "end": {
                                "line": 145,
                                "column": 23
                              }
                            },
                            "name": "afterServer"
                          },
                          "init": {
                            "type": "ArrowFunctionExpression",
                            "start": 6607,
                            "end": 6830,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 26
                              },
                              "end": {
                                "line": 151,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "BlockStatement",
                              "start": 6613,
                              "end": 6830,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 32
                                },
                                "end": {
                                  "line": 151,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 6627,
                                  "end": 6820,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 150,
                                      "column": 15
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 6627,
                                    "end": 6819,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 150,
                                        "column": 14
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 6627,
                                      "end": 6642,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 6627,
                                        "end": 6634,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 19
                                          }
                                        },
                                        "name": "objects"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 6635,
                                        "end": 6642,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 27
                                          }
                                        },
                                        "name": "forEach"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "start": 6643,
                                        "end": 6818,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 150,
                                            "column": 13
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 6643,
                                            "end": 6646,
                                            "loc": {
                                              "start": {
                                                "line": 146,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 146,
                                                "column": 31
                                              }
                                            },
                                            "name": "obj"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 6650,
                                          "end": 6818,
                                          "loc": {
                                            "start": {
                                              "line": 146,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 150,
                                              "column": 13
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "IfStatement",
                                              "start": 6668,
                                              "end": 6707,
                                              "loc": {
                                                "start": {
                                                  "line": 147,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 147,
                                                  "column": 55
                                                }
                                              },
                                              "test": {
                                                "type": "MemberExpression",
                                                "start": 6672,
                                                "end": 6688,
                                                "loc": {
                                                  "start": {
                                                    "line": 147,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 147,
                                                    "column": 36
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 6672,
                                                  "end": 6679,
                                                  "loc": {
                                                    "start": {
                                                      "line": 147,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 147,
                                                      "column": 27
                                                    }
                                                  },
                                                  "name": "options"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 6680,
                                                  "end": 6688,
                                                  "loc": {
                                                    "start": {
                                                      "line": 147,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 147,
                                                      "column": 36
                                                    }
                                                  },
                                                  "name": "onClient"
                                                },
                                                "computed": false
                                              },
                                              "consequent": {
                                                "type": "ExpressionStatement",
                                                "start": 6690,
                                                "end": 6707,
                                                "loc": {
                                                  "start": {
                                                    "line": 147,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 147,
                                                    "column": 55
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 6690,
                                                  "end": 6706,
                                                  "loc": {
                                                    "start": {
                                                      "line": 147,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 147,
                                                      "column": 54
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 6690,
                                                    "end": 6701,
                                                    "loc": {
                                                      "start": {
                                                        "line": 147,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 147,
                                                        "column": 49
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 6690,
                                                      "end": 6694,
                                                      "loc": {
                                                        "start": {
                                                          "line": 147,
                                                          "column": 38
                                                        },
                                                        "end": {
                                                          "line": 147,
                                                          "column": 42
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 6695,
                                                      "end": 6701,
                                                      "loc": {
                                                        "start": {
                                                          "line": 147,
                                                          "column": 43
                                                        },
                                                        "end": {
                                                          "line": 147,
                                                          "column": 49
                                                        }
                                                      },
                                                      "name": "remove"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "start": 6702,
                                                      "end": 6705,
                                                      "loc": {
                                                        "start": {
                                                          "line": 147,
                                                          "column": 50
                                                        },
                                                        "end": {
                                                          "line": 147,
                                                          "column": 53
                                                        }
                                                      },
                                                      "name": "obj"
                                                    }
                                                  ]
                                                }
                                              },
                                              "alternate": null
                                            },
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 6724,
                                              "end": 6755,
                                              "loc": {
                                                "start": {
                                                  "line": 148,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 148,
                                                  "column": 47
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 6724,
                                                "end": 6754,
                                                "loc": {
                                                  "start": {
                                                    "line": 148,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 148,
                                                    "column": 46
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 6724,
                                                  "end": 6749,
                                                  "loc": {
                                                    "start": {
                                                      "line": 148,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 148,
                                                      "column": 41
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 6724,
                                                    "end": 6742,
                                                    "loc": {
                                                      "start": {
                                                        "line": 148,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 148,
                                                        "column": 34
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 6724,
                                                      "end": 6728,
                                                      "loc": {
                                                        "start": {
                                                          "line": 148,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 148,
                                                          "column": 20
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 6729,
                                                      "end": 6742,
                                                      "loc": {
                                                        "start": {
                                                          "line": 148,
                                                          "column": 21
                                                        },
                                                        "end": {
                                                          "line": 148,
                                                          "column": 34
                                                        }
                                                      },
                                                      "name": "sketchObjects"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 6743,
                                                    "end": 6749,
                                                    "loc": {
                                                      "start": {
                                                        "line": 148,
                                                        "column": 35
                                                      },
                                                      "end": {
                                                        "line": 148,
                                                        "column": 41
                                                      }
                                                    },
                                                    "name": "delete"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 6750,
                                                    "end": 6753,
                                                    "loc": {
                                                      "start": {
                                                        "line": 148,
                                                        "column": 42
                                                      },
                                                      "end": {
                                                        "line": 148,
                                                        "column": 45
                                                      }
                                                    },
                                                    "name": "obj"
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 6772,
                                              "end": 6804,
                                              "loc": {
                                                "start": {
                                                  "line": 149,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 149,
                                                  "column": 48
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 6772,
                                                "end": 6803,
                                                "loc": {
                                                  "start": {
                                                    "line": 149,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 149,
                                                    "column": 47
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 6772,
                                                  "end": 6781,
                                                  "loc": {
                                                    "start": {
                                                      "line": 149,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 149,
                                                      "column": 25
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 6772,
                                                    "end": 6776,
                                                    "loc": {
                                                      "start": {
                                                        "line": 149,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 149,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 6777,
                                                    "end": 6781,
                                                    "loc": {
                                                      "start": {
                                                        "line": 149,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 149,
                                                        "column": 25
                                                      }
                                                    },
                                                    "name": "emit"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Literal",
                                                    "start": 6782,
                                                    "end": 6797,
                                                    "loc": {
                                                      "start": {
                                                        "line": 149,
                                                        "column": 26
                                                      },
                                                      "end": {
                                                        "line": 149,
                                                        "column": 41
                                                      }
                                                    },
                                                    "value": "SketchRemoved",
                                                    "rawValue": "SketchRemoved",
                                                    "raw": "'SketchRemoved'"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 6799,
                                                    "end": 6802,
                                                    "loc": {
                                                      "start": {
                                                        "line": 149,
                                                        "column": 43
                                                      },
                                                      "end": {
                                                        "line": 149,
                                                        "column": 46
                                                      }
                                                    },
                                                    "name": "obj"
                                                  }
                                                ]
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        }
                      ],
                      "kind": "var",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " remove objects from the sketch on the server and, if successful, on the client",
                          "start": 6841,
                          "end": 6922,
                          "loc": {
                            "start": {
                              "line": 153,
                              "column": 8
                            },
                            "end": {
                              "line": 153,
                              "column": 89
                            }
                          },
                          "range": [
                            6841,
                            6922
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 6931,
                      "end": 7207,
                      "loc": {
                        "start": {
                          "line": 154,
                          "column": 8
                        },
                        "end": {
                          "line": 157,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 6935,
                        "end": 6951,
                        "loc": {
                          "start": {
                            "line": 154,
                            "column": 12
                          },
                          "end": {
                            "line": 154,
                            "column": 28
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 6935,
                          "end": 6942,
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 12
                            },
                            "end": {
                              "line": 154,
                              "column": 19
                            }
                          },
                          "name": "options",
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6943,
                          "end": 6951,
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 20
                            },
                            "end": {
                              "line": 154,
                              "column": 28
                            }
                          },
                          "name": "onServer"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 6953,
                        "end": 7207,
                        "loc": {
                          "start": {
                            "line": 154,
                            "column": 30
                          },
                          "end": {
                            "line": 157,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 6967,
                            "end": 7040,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 12
                              },
                              "end": {
                                "line": 155,
                                "column": 85
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 6971,
                                "end": 7039,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 84
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 6971,
                                  "end": 6979,
                                  "loc": {
                                    "start": {
                                      "line": 155,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 155,
                                      "column": 24
                                    }
                                  },
                                  "name": "commands"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 6982,
                                  "end": 7039,
                                  "loc": {
                                    "start": {
                                      "line": 155,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 155,
                                      "column": 84
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 6982,
                                    "end": 6993,
                                    "loc": {
                                      "start": {
                                        "line": 155,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 155,
                                        "column": 38
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 6982,
                                      "end": 6989,
                                      "loc": {
                                        "start": {
                                          "line": 155,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 155,
                                          "column": 34
                                        }
                                      },
                                      "name": "objects"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 6990,
                                      "end": 6993,
                                      "loc": {
                                        "start": {
                                          "line": 155,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 155,
                                          "column": 38
                                        }
                                      },
                                      "name": "map"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "start": 6994,
                                      "end": 7038,
                                      "loc": {
                                        "start": {
                                          "line": 155,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 155,
                                          "column": 83
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": true,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 6994,
                                          "end": 7000,
                                          "loc": {
                                            "start": {
                                              "line": 155,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 155,
                                              "column": 45
                                            }
                                          },
                                          "name": "object"
                                        }
                                      ],
                                      "body": {
                                        "type": "CallExpression",
                                        "start": 7004,
                                        "end": 7038,
                                        "loc": {
                                          "start": {
                                            "line": 155,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 155,
                                            "column": 83
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 7004,
                                          "end": 7032,
                                          "loc": {
                                            "start": {
                                              "line": 155,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 155,
                                              "column": 77
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 7004,
                                            "end": 7010,
                                            "loc": {
                                              "start": {
                                                "line": 155,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 155,
                                                "column": 55
                                              }
                                            },
                                            "name": "object"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 7011,
                                            "end": 7032,
                                            "loc": {
                                              "start": {
                                                "line": 155,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 155,
                                                "column": 77
                                              }
                                            },
                                            "name": "prepareRemoveOnServer"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ThisExpression",
                                            "start": 7033,
                                            "end": 7037,
                                            "loc": {
                                              "start": {
                                                "line": 155,
                                                "column": 78
                                              },
                                              "end": {
                                                "line": 155,
                                                "column": 82
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 7053,
                            "end": 7197,
                            "loc": {
                              "start": {
                                "line": 156,
                                "column": 12
                              },
                              "end": {
                                "line": 156,
                                "column": 156
                              }
                            },
                            "argument": {
                              "type": "CallExpression",
                              "start": 7060,
                              "end": 7196,
                              "loc": {
                                "start": {
                                  "line": 156,
                                  "column": 19
                                },
                                "end": {
                                  "line": 156,
                                  "column": 155
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7060,
                                "end": 7183,
                                "loc": {
                                  "start": {
                                    "line": 156,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 156,
                                    "column": 142
                                  }
                                },
                                "object": {
                                  "type": "ConditionalExpression",
                                  "start": 7061,
                                  "end": 7177,
                                  "loc": {
                                    "start": {
                                      "line": 156,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 156,
                                      "column": 136
                                    }
                                  },
                                  "test": {
                                    "type": "MemberExpression",
                                    "start": 7061,
                                    "end": 7081,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 40
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7061,
                                      "end": 7068,
                                      "loc": {
                                        "start": {
                                          "line": 156,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 156,
                                          "column": 27
                                        }
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7069,
                                      "end": 7081,
                                      "loc": {
                                        "start": {
                                          "line": 156,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 156,
                                          "column": 40
                                        }
                                      },
                                      "name": "updateSketch"
                                    },
                                    "computed": false
                                  },
                                  "consequent": {
                                    "type": "CallExpression",
                                    "start": 7084,
                                    "end": 7132,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 91
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 7084,
                                      "end": 7105,
                                      "loc": {
                                        "start": {
                                          "line": 156,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 156,
                                          "column": 64
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 7084,
                                        "end": 7088,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7089,
                                        "end": 7105,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 64
                                          }
                                        },
                                        "name": "updateFromServer"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 7106,
                                        "end": 7121,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 80
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 7106,
                                          "end": 7114,
                                          "loc": {
                                            "start": {
                                              "line": 156,
                                              "column": 65
                                            },
                                            "end": {
                                              "line": 156,
                                              "column": 73
                                            }
                                          },
                                          "name": "sketcher"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 7115,
                                          "end": 7121,
                                          "loc": {
                                            "start": {
                                              "line": 156,
                                              "column": 74
                                            },
                                            "end": {
                                              "line": 156,
                                              "column": 80
                                            }
                                          },
                                          "name": "server"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 7123,
                                        "end": 7131,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 82
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 90
                                          }
                                        },
                                        "name": "commands"
                                      }
                                    ]
                                  },
                                  "alternate": {
                                    "type": "CallExpression",
                                    "start": 7135,
                                    "end": 7177,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 94
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 136
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 7135,
                                      "end": 7150,
                                      "loc": {
                                        "start": {
                                          "line": 156,
                                          "column": 94
                                        },
                                        "end": {
                                          "line": 156,
                                          "column": 109
                                        }
                                      },
                                      "name": "executePrepared"
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 7151,
                                        "end": 7166,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 110
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 125
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 7151,
                                          "end": 7159,
                                          "loc": {
                                            "start": {
                                              "line": 156,
                                              "column": 110
                                            },
                                            "end": {
                                              "line": 156,
                                              "column": 118
                                            }
                                          },
                                          "name": "sketcher"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 7160,
                                          "end": 7166,
                                          "loc": {
                                            "start": {
                                              "line": 156,
                                              "column": 119
                                            },
                                            "end": {
                                              "line": 156,
                                              "column": 125
                                            }
                                          },
                                          "name": "server"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 7168,
                                        "end": 7176,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 127
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 135
                                          }
                                        },
                                        "name": "commands"
                                      }
                                    ]
                                  },
                                  "parenthesizedExpression": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7179,
                                  "end": 7183,
                                  "loc": {
                                    "start": {
                                      "line": 156,
                                      "column": 138
                                    },
                                    "end": {
                                      "line": 156,
                                      "column": 142
                                    }
                                  },
                                  "name": "then"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 7184,
                                  "end": 7195,
                                  "loc": {
                                    "start": {
                                      "line": 156,
                                      "column": 143
                                    },
                                    "end": {
                                      "line": 156,
                                      "column": 154
                                    }
                                  },
                                  "name": "afterServer"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " remove objects from the sketch on the server and, if successful, on the client",
                          "start": 6841,
                          "end": 6922,
                          "loc": {
                            "start": {
                              "line": 153,
                              "column": 8
                            },
                            "end": {
                              "line": 153,
                              "column": 89
                            }
                          },
                          "range": [
                            6841,
                            6922
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 7216,
                      "end": 7254,
                      "loc": {
                        "start": {
                          "line": 158,
                          "column": 8
                        },
                        "end": {
                          "line": 158,
                          "column": 46
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 7223,
                        "end": 7253,
                        "loc": {
                          "start": {
                            "line": 158,
                            "column": 15
                          },
                          "end": {
                            "line": 158,
                            "column": 45
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 7223,
                          "end": 7238,
                          "loc": {
                            "start": {
                              "line": 158,
                              "column": 15
                            },
                            "end": {
                              "line": 158,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 7223,
                            "end": 7230,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 15
                              },
                              "end": {
                                "line": 158,
                                "column": 22
                              }
                            },
                            "name": "Promise"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7231,
                            "end": 7238,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 23
                              },
                              "end": {
                                "line": 158,
                                "column": 30
                              }
                            },
                            "name": "resolve"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 7239,
                            "end": 7252,
                            "loc": {
                              "start": {
                                "line": 158,
                                "column": 31
                              },
                              "end": {
                                "line": 158,
                                "column": 44
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 7239,
                              "end": 7250,
                              "loc": {
                                "start": {
                                  "line": 158,
                                  "column": 31
                                },
                                "end": {
                                  "line": 158,
                                  "column": 42
                                }
                              },
                              "name": "afterServer"
                            },
                            "arguments": []
                          }
                        ]
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " Remove objects previously added with addToSketch",
                  "start": 5534,
                  "end": 5585,
                  "loc": {
                    "start": {
                      "line": 123,
                      "column": 4
                    },
                    "end": {
                      "line": 123,
                      "column": 55
                    }
                  },
                  "range": [
                    5534,
                    5585
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " Return list of objects added with addToSketch (but not addAuxObject)",
                  "start": 7266,
                  "end": 7337,
                  "loc": {
                    "start": {
                      "line": 161,
                      "column": 4
                    },
                    "end": {
                      "line": 161,
                      "column": 75
                    }
                  },
                  "range": [
                    7266,
                    7337
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 7342,
              "end": 7439,
              "loc": {
                "start": {
                  "line": 162,
                  "column": 4
                },
                "end": {
                  "line": 164,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7342,
                "end": 7360,
                "loc": {
                  "start": {
                    "line": 162,
                    "column": 4
                  },
                  "end": {
                    "line": 162,
                    "column": 22
                  }
                },
                "name": "getObjectsOnSketch",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 7360,
                "end": 7439,
                "loc": {
                  "start": {
                    "line": 162,
                    "column": 22
                  },
                  "end": {
                    "line": 164,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 7363,
                  "end": 7439,
                  "loc": {
                    "start": {
                      "line": 162,
                      "column": 25
                    },
                    "end": {
                      "line": 164,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 7373,
                      "end": 7433,
                      "loc": {
                        "start": {
                          "line": 163,
                          "column": 8
                        },
                        "end": {
                          "line": 163,
                          "column": 68
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 7380,
                        "end": 7432,
                        "loc": {
                          "start": {
                            "line": 163,
                            "column": 15
                          },
                          "end": {
                            "line": 163,
                            "column": 67
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 7380,
                          "end": 7400,
                          "loc": {
                            "start": {
                              "line": 163,
                              "column": 15
                            },
                            "end": {
                              "line": 163,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7380,
                            "end": 7393,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 15
                              },
                              "end": {
                                "line": 163,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 7380,
                              "end": 7384,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 15
                                },
                                "end": {
                                  "line": 163,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7385,
                              "end": 7393,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 20
                                },
                                "end": {
                                  "line": 163,
                                  "column": 28
                                }
                              },
                              "name": "children"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7394,
                            "end": 7400,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 29
                              },
                              "end": {
                                "line": 163,
                                "column": 35
                              }
                            },
                            "name": "filter"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 7401,
                            "end": 7431,
                            "loc": {
                              "start": {
                                "line": 163,
                                "column": 36
                              },
                              "end": {
                                "line": 163,
                                "column": 66
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 7401,
                                "end": 7402,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 37
                                  }
                                },
                                "name": "c"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 7406,
                              "end": 7431,
                              "loc": {
                                "start": {
                                  "line": 163,
                                  "column": 41
                                },
                                "end": {
                                  "line": 163,
                                  "column": 66
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7406,
                                "end": 7428,
                                "loc": {
                                  "start": {
                                    "line": 163,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 163,
                                    "column": 63
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7406,
                                  "end": 7424,
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 59
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 7406,
                                    "end": 7410,
                                    "loc": {
                                      "start": {
                                        "line": 163,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 163,
                                        "column": 45
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7411,
                                    "end": 7424,
                                    "loc": {
                                      "start": {
                                        "line": 163,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 163,
                                        "column": 59
                                      }
                                    },
                                    "name": "sketchObjects"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7425,
                                  "end": 7428,
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 63
                                    }
                                  },
                                  "name": "has"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 7429,
                                  "end": 7430,
                                  "loc": {
                                    "start": {
                                      "line": 163,
                                      "column": 64
                                    },
                                    "end": {
                                      "line": 163,
                                      "column": 65
                                    }
                                  },
                                  "name": "c"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " Return list of objects added with addToSketch (but not addAuxObject)",
                  "start": 7266,
                  "end": 7337,
                  "loc": {
                    "start": {
                      "line": 161,
                      "column": 4
                    },
                    "end": {
                      "line": 161,
                      "column": 75
                    }
                  },
                  "range": [
                    7266,
                    7337
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " Return list of constraints related to passed object or objects,",
                  "start": 7445,
                  "end": 7511,
                  "loc": {
                    "start": {
                      "line": 166,
                      "column": 4
                    },
                    "end": {
                      "line": 166,
                      "column": 70
                    }
                  },
                  "range": [
                    7445,
                    7511
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " or list of all constraints, if 'objects' parameter is undefined",
                  "start": 7516,
                  "end": 7582,
                  "loc": {
                    "start": {
                      "line": 167,
                      "column": 4
                    },
                    "end": {
                      "line": 167,
                      "column": 70
                    }
                  },
                  "range": [
                    7516,
                    7582
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 7587,
              "end": 8024,
              "loc": {
                "start": {
                  "line": 168,
                  "column": 4
                },
                "end": {
                  "line": 178,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7587,
                "end": 7609,
                "loc": {
                  "start": {
                    "line": 168,
                    "column": 4
                  },
                  "end": {
                    "line": 168,
                    "column": 26
                  }
                },
                "name": "getConstraintsOnSketch",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 7609,
                "end": 8024,
                "loc": {
                  "start": {
                    "line": 168,
                    "column": 26
                  },
                  "end": {
                    "line": 178,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 7610,
                    "end": 7617,
                    "loc": {
                      "start": {
                        "line": 168,
                        "column": 27
                      },
                      "end": {
                        "line": 168,
                        "column": 34
                      }
                    },
                    "name": "objects"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7619,
                  "end": 8024,
                  "loc": {
                    "start": {
                      "line": 168,
                      "column": 36
                    },
                    "end": {
                      "line": 178,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 7629,
                      "end": 7671,
                      "loc": {
                        "start": {
                          "line": 169,
                          "column": 8
                        },
                        "end": {
                          "line": 169,
                          "column": 50
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 7633,
                        "end": 7640,
                        "loc": {
                          "start": {
                            "line": 169,
                            "column": 12
                          },
                          "end": {
                            "line": 169,
                            "column": 19
                          }
                        },
                        "name": "objects"
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 7642,
                        "end": 7671,
                        "loc": {
                          "start": {
                            "line": 169,
                            "column": 21
                          },
                          "end": {
                            "line": 169,
                            "column": 50
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 7642,
                          "end": 7670,
                          "loc": {
                            "start": {
                              "line": 169,
                              "column": 21
                            },
                            "end": {
                              "line": 169,
                              "column": 49
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 7642,
                            "end": 7649,
                            "loc": {
                              "start": {
                                "line": 169,
                                "column": 21
                              },
                              "end": {
                                "line": 169,
                                "column": 28
                              }
                            },
                            "name": "objects"
                          },
                          "right": {
                            "type": "CallExpression",
                            "start": 7652,
                            "end": 7670,
                            "loc": {
                              "start": {
                                "line": 169,
                                "column": 31
                              },
                              "end": {
                                "line": 169,
                                "column": 49
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7652,
                              "end": 7661,
                              "loc": {
                                "start": {
                                  "line": 169,
                                  "column": 31
                                },
                                "end": {
                                  "line": 169,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "ArrayExpression",
                                "start": 7652,
                                "end": 7654,
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 33
                                  }
                                },
                                "elements": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7655,
                                "end": 7661,
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 40
                                  }
                                },
                                "name": "concat"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 7662,
                                "end": 7669,
                                "loc": {
                                  "start": {
                                    "line": 169,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 169,
                                    "column": 48
                                  }
                                },
                                "name": "objects"
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7681,
                      "end": 7752,
                      "loc": {
                        "start": {
                          "line": 171,
                          "column": 8
                        },
                        "end": {
                          "line": 171,
                          "column": 79
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7685,
                          "end": 7751,
                          "loc": {
                            "start": {
                              "line": 171,
                              "column": 12
                            },
                            "end": {
                              "line": 171,
                              "column": 78
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7685,
                            "end": 7698,
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 12
                              },
                              "end": {
                                "line": 171,
                                "column": 25
                              }
                            },
                            "name": "inObjectsList"
                          },
                          "init": {
                            "type": "ArrowFunctionExpression",
                            "start": 7702,
                            "end": 7750,
                            "loc": {
                              "start": {
                                "line": 171,
                                "column": 29
                              },
                              "end": {
                                "line": 171,
                                "column": 77
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 7702,
                                "end": 7706,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 33
                                  }
                                },
                                "name": "elem"
                              }
                            ],
                            "body": {
                              "type": "LogicalExpression",
                              "start": 7710,
                              "end": 7750,
                              "loc": {
                                "start": {
                                  "line": 171,
                                  "column": 37
                                },
                                "end": {
                                  "line": 171,
                                  "column": 77
                                }
                              },
                              "left": {
                                "type": "UnaryExpression",
                                "start": 7710,
                                "end": 7718,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 45
                                  }
                                },
                                "operator": "!",
                                "prefix": true,
                                "argument": {
                                  "type": "Identifier",
                                  "start": 7711,
                                  "end": 7718,
                                  "loc": {
                                    "start": {
                                      "line": 171,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 171,
                                      "column": 45
                                    }
                                  },
                                  "name": "objects"
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 7722,
                                "end": 7750,
                                "loc": {
                                  "start": {
                                    "line": 171,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 171,
                                    "column": 77
                                  }
                                },
                                "left": {
                                  "type": "CallExpression",
                                  "start": 7722,
                                  "end": 7743,
                                  "loc": {
                                    "start": {
                                      "line": 171,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 171,
                                      "column": 70
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 7722,
                                    "end": 7737,
                                    "loc": {
                                      "start": {
                                        "line": 171,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 171,
                                        "column": 64
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 7722,
                                      "end": 7729,
                                      "loc": {
                                        "start": {
                                          "line": 171,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 171,
                                          "column": 56
                                        }
                                      },
                                      "name": "objects"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7730,
                                      "end": 7737,
                                      "loc": {
                                        "start": {
                                          "line": 171,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 171,
                                          "column": 64
                                        }
                                      },
                                      "name": "indexOf"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 7738,
                                      "end": 7742,
                                      "loc": {
                                        "start": {
                                          "line": 171,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 171,
                                          "column": 69
                                        }
                                      },
                                      "name": "elem"
                                    }
                                  ]
                                },
                                "operator": "!==",
                                "right": {
                                  "type": "UnaryExpression",
                                  "start": 7748,
                                  "end": 7750,
                                  "loc": {
                                    "start": {
                                      "line": 171,
                                      "column": 75
                                    },
                                    "end": {
                                      "line": 171,
                                      "column": 77
                                    }
                                  },
                                  "operator": "-",
                                  "prefix": true,
                                  "argument": {
                                    "type": "Literal",
                                    "start": 7749,
                                    "end": 7750,
                                    "loc": {
                                      "start": {
                                        "line": 171,
                                        "column": 76
                                      },
                                      "end": {
                                        "line": 171,
                                        "column": 77
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  }
                                }
                              }
                            },
                            "parenthesizedExpression": true
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7761,
                      "end": 7830,
                      "loc": {
                        "start": {
                          "line": 172,
                          "column": 8
                        },
                        "end": {
                          "line": 172,
                          "column": 77
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7765,
                          "end": 7829,
                          "loc": {
                            "start": {
                              "line": 172,
                              "column": 12
                            },
                            "end": {
                              "line": 172,
                              "column": 76
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7765,
                            "end": 7783,
                            "loc": {
                              "start": {
                                "line": 172,
                                "column": 12
                              },
                              "end": {
                                "line": 172,
                                "column": 30
                              }
                            },
                            "name": "isRelatedToObjects"
                          },
                          "init": {
                            "type": "ArrowFunctionExpression",
                            "start": 7787,
                            "end": 7828,
                            "loc": {
                              "start": {
                                "line": 172,
                                "column": 34
                              },
                              "end": {
                                "line": 172,
                                "column": 75
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 7787,
                                "end": 7793,
                                "loc": {
                                  "start": {
                                    "line": 172,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 172,
                                    "column": 40
                                  }
                                },
                                "name": "constr"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 7797,
                              "end": 7828,
                              "loc": {
                                "start": {
                                  "line": 172,
                                  "column": 44
                                },
                                "end": {
                                  "line": 172,
                                  "column": 75
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7797,
                                "end": 7813,
                                "loc": {
                                  "start": {
                                    "line": 172,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 172,
                                    "column": 60
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 7797,
                                  "end": 7808,
                                  "loc": {
                                    "start": {
                                      "line": 172,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 172,
                                      "column": 55
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7797,
                                    "end": 7803,
                                    "loc": {
                                      "start": {
                                        "line": 172,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 172,
                                        "column": 50
                                      }
                                    },
                                    "name": "constr"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7804,
                                    "end": 7808,
                                    "loc": {
                                      "start": {
                                        "line": 172,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 172,
                                        "column": 55
                                      }
                                    },
                                    "name": "args"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7809,
                                  "end": 7813,
                                  "loc": {
                                    "start": {
                                      "line": 172,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 172,
                                      "column": 60
                                    }
                                  },
                                  "name": "some"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 7814,
                                  "end": 7827,
                                  "loc": {
                                    "start": {
                                      "line": 172,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 172,
                                      "column": 74
                                    }
                                  },
                                  "name": "inObjectsList"
                                }
                              ]
                            },
                            "parenthesizedExpression": true
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7840,
                      "end": 7986,
                      "loc": {
                        "start": {
                          "line": 174,
                          "column": 8
                        },
                        "end": {
                          "line": 176,
                          "column": 40
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7844,
                          "end": 7985,
                          "loc": {
                            "start": {
                              "line": 174,
                              "column": 12
                            },
                            "end": {
                              "line": 176,
                              "column": 39
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7844,
                            "end": 7859,
                            "loc": {
                              "start": {
                                "line": 174,
                                "column": 12
                              },
                              "end": {
                                "line": 174,
                                "column": 27
                              }
                            },
                            "name": "constraintsList"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 7862,
                            "end": 7985,
                            "loc": {
                              "start": {
                                "line": 174,
                                "column": 30
                              },
                              "end": {
                                "line": 176,
                                "column": 39
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7862,
                              "end": 7965,
                              "loc": {
                                "start": {
                                  "line": 174,
                                  "column": 30
                                },
                                "end": {
                                  "line": 176,
                                  "column": 19
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 7862,
                                "end": 7945,
                                "loc": {
                                  "start": {
                                    "line": 174,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 175,
                                    "column": 57
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 7862,
                                  "end": 7907,
                                  "loc": {
                                    "start": {
                                      "line": 174,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 175,
                                      "column": 19
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 7862,
                                    "end": 7887,
                                    "loc": {
                                      "start": {
                                        "line": 174,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 174,
                                        "column": 55
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 7862,
                                      "end": 7885,
                                      "loc": {
                                        "start": {
                                          "line": 174,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 174,
                                          "column": 53
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 7862,
                                        "end": 7866,
                                        "loc": {
                                          "start": {
                                            "line": 174,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 174,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7867,
                                        "end": 7885,
                                        "loc": {
                                          "start": {
                                            "line": 174,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 174,
                                            "column": 53
                                          }
                                        },
                                        "name": "getObjectsOnSketch"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7901,
                                    "end": 7907,
                                    "loc": {
                                      "start": {
                                        "line": 175,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 175,
                                        "column": 19
                                      }
                                    },
                                    "name": "filter"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ArrowFunctionExpression",
                                    "start": 7908,
                                    "end": 7944,
                                    "loc": {
                                      "start": {
                                        "line": 175,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 175,
                                        "column": 56
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": true,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 7908,
                                        "end": 7913,
                                        "loc": {
                                          "start": {
                                            "line": 175,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 175,
                                            "column": 25
                                          }
                                        },
                                        "name": "child"
                                      }
                                    ],
                                    "body": {
                                      "type": "BinaryExpression",
                                      "start": 7917,
                                      "end": 7944,
                                      "loc": {
                                        "start": {
                                          "line": 175,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 175,
                                          "column": 56
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 7917,
                                        "end": 7922,
                                        "loc": {
                                          "start": {
                                            "line": 175,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 175,
                                            "column": 34
                                          }
                                        },
                                        "name": "child"
                                      },
                                      "operator": "instanceof",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 7934,
                                        "end": 7944,
                                        "loc": {
                                          "start": {
                                            "line": 175,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 175,
                                            "column": 56
                                          }
                                        },
                                        "name": "Constraint"
                                      }
                                    }
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7959,
                                "end": 7965,
                                "loc": {
                                  "start": {
                                    "line": 176,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 176,
                                    "column": 19
                                  }
                                },
                                "name": "filter"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 7966,
                                "end": 7984,
                                "loc": {
                                  "start": {
                                    "line": 176,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 176,
                                    "column": 38
                                  }
                                },
                                "name": "isRelatedToObjects"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 7995,
                      "end": 8018,
                      "loc": {
                        "start": {
                          "line": 177,
                          "column": 8
                        },
                        "end": {
                          "line": 177,
                          "column": 31
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 8002,
                        "end": 8017,
                        "loc": {
                          "start": {
                            "line": 177,
                            "column": 15
                          },
                          "end": {
                            "line": 177,
                            "column": 30
                          }
                        },
                        "name": "constraintsList"
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " Return list of constraints related to passed object or objects,",
                  "start": 7445,
                  "end": 7511,
                  "loc": {
                    "start": {
                      "line": 166,
                      "column": 4
                    },
                    "end": {
                      "line": 166,
                      "column": 70
                    }
                  },
                  "range": [
                    7445,
                    7511
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " or list of all constraints, if 'objects' parameter is undefined",
                  "start": 7516,
                  "end": 7582,
                  "loc": {
                    "start": {
                      "line": 167,
                      "column": 4
                    },
                    "end": {
                      "line": 167,
                      "column": 70
                    }
                  },
                  "range": [
                    7516,
                    7582
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " Return ancestor of the object that is directly lying on the sketch",
                  "start": 8030,
                  "end": 8099,
                  "loc": {
                    "start": {
                      "line": 180,
                      "column": 4
                    },
                    "end": {
                      "line": 180,
                      "column": 73
                    }
                  },
                  "range": [
                    8030,
                    8099
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 8104,
              "end": 8298,
              "loc": {
                "start": {
                  "line": 181,
                  "column": 4
                },
                "end": {
                  "line": 187,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8104,
                "end": 8123,
                "loc": {
                  "start": {
                    "line": 181,
                    "column": 4
                  },
                  "end": {
                    "line": 181,
                    "column": 23
                  }
                },
                "name": "getAncestorOnSketch",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8123,
                "end": 8298,
                "loc": {
                  "start": {
                    "line": 181,
                    "column": 23
                  },
                  "end": {
                    "line": 187,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8124,
                    "end": 8130,
                    "loc": {
                      "start": {
                        "line": 181,
                        "column": 24
                      },
                      "end": {
                        "line": 181,
                        "column": 30
                      }
                    },
                    "name": "object"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8132,
                  "end": 8298,
                  "loc": {
                    "start": {
                      "line": 181,
                      "column": 32
                    },
                    "end": {
                      "line": 187,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 8142,
                      "end": 8269,
                      "loc": {
                        "start": {
                          "line": 182,
                          "column": 8
                        },
                        "end": {
                          "line": 185,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 8142,
                        "end": 8268,
                        "loc": {
                          "start": {
                            "line": 182,
                            "column": 8
                          },
                          "end": {
                            "line": 185,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8142,
                          "end": 8166,
                          "loc": {
                            "start": {
                              "line": 182,
                              "column": 8
                            },
                            "end": {
                              "line": 182,
                              "column": 32
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8142,
                            "end": 8148,
                            "loc": {
                              "start": {
                                "line": 182,
                                "column": 8
                              },
                              "end": {
                                "line": 182,
                                "column": 14
                              }
                            },
                            "name": "object"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8149,
                            "end": 8166,
                            "loc": {
                              "start": {
                                "line": 182,
                                "column": 15
                              },
                              "end": {
                                "line": 182,
                                "column": 32
                              }
                            },
                            "name": "traverseAncestors"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 8167,
                            "end": 8267,
                            "loc": {
                              "start": {
                                "line": 182,
                                "column": 33
                              },
                              "end": {
                                "line": 185,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 8167,
                                "end": 8175,
                                "loc": {
                                  "start": {
                                    "line": 182,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 182,
                                    "column": 41
                                  }
                                },
                                "name": "ancestor"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 8179,
                              "end": 8267,
                              "loc": {
                                "start": {
                                  "line": 182,
                                  "column": 45
                                },
                                "end": {
                                  "line": 185,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "start": 8193,
                                  "end": 8257,
                                  "loc": {
                                    "start": {
                                      "line": 183,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 184,
                                      "column": 34
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 8197,
                                    "end": 8221,
                                    "loc": {
                                      "start": {
                                        "line": 183,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 183,
                                        "column": 40
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 8197,
                                      "end": 8212,
                                      "loc": {
                                        "start": {
                                          "line": 183,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 183,
                                          "column": 31
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8197,
                                        "end": 8205,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 24
                                          }
                                        },
                                        "name": "ancestor"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8206,
                                        "end": 8212,
                                        "loc": {
                                          "start": {
                                            "line": 183,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 183,
                                            "column": 31
                                          }
                                        },
                                        "name": "parent"
                                      },
                                      "computed": false
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "ThisExpression",
                                      "start": 8217,
                                      "end": 8221,
                                      "loc": {
                                        "start": {
                                          "line": 183,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 183,
                                          "column": 40
                                        }
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 8239,
                                    "end": 8257,
                                    "loc": {
                                      "start": {
                                        "line": 184,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 184,
                                        "column": 34
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 8239,
                                      "end": 8256,
                                      "loc": {
                                        "start": {
                                          "line": 184,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 184,
                                          "column": 33
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 8239,
                                        "end": 8245,
                                        "loc": {
                                          "start": {
                                            "line": 184,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 184,
                                            "column": 22
                                          }
                                        },
                                        "name": "object"
                                      },
                                      "right": {
                                        "type": "Identifier",
                                        "start": 8248,
                                        "end": 8256,
                                        "loc": {
                                          "start": {
                                            "line": 184,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 184,
                                            "column": 33
                                          }
                                        },
                                        "name": "ancestor"
                                      }
                                    }
                                  },
                                  "alternate": null
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 8278,
                      "end": 8292,
                      "loc": {
                        "start": {
                          "line": 186,
                          "column": 8
                        },
                        "end": {
                          "line": 186,
                          "column": 22
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 8285,
                        "end": 8291,
                        "loc": {
                          "start": {
                            "line": 186,
                            "column": 15
                          },
                          "end": {
                            "line": 186,
                            "column": 21
                          }
                        },
                        "name": "object"
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " Return ancestor of the object that is directly lying on the sketch",
                  "start": 8030,
                  "end": 8099,
                  "loc": {
                    "start": {
                      "line": 180,
                      "column": 4
                    },
                    "end": {
                      "line": 180,
                      "column": 73
                    }
                  },
                  "range": [
                    8030,
                    8099
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " Return true if object was added with addToSketch",
                  "start": 8304,
                  "end": 8355,
                  "loc": {
                    "start": {
                      "line": 189,
                      "column": 4
                    },
                    "end": {
                      "line": 189,
                      "column": 55
                    }
                  },
                  "range": [
                    8304,
                    8355
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 8360,
              "end": 8433,
              "loc": {
                "start": {
                  "line": 190,
                  "column": 4
                },
                "end": {
                  "line": 192,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8360,
                "end": 8370,
                "loc": {
                  "start": {
                    "line": 190,
                    "column": 4
                  },
                  "end": {
                    "line": 190,
                    "column": 14
                  }
                },
                "name": "isOnSketch",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8370,
                "end": 8433,
                "loc": {
                  "start": {
                    "line": 190,
                    "column": 14
                  },
                  "end": {
                    "line": 192,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8371,
                    "end": 8377,
                    "loc": {
                      "start": {
                        "line": 190,
                        "column": 15
                      },
                      "end": {
                        "line": 190,
                        "column": 21
                      }
                    },
                    "name": "object"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8379,
                  "end": 8433,
                  "loc": {
                    "start": {
                      "line": 190,
                      "column": 23
                    },
                    "end": {
                      "line": 192,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 8389,
                      "end": 8427,
                      "loc": {
                        "start": {
                          "line": 191,
                          "column": 8
                        },
                        "end": {
                          "line": 191,
                          "column": 46
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 8396,
                        "end": 8426,
                        "loc": {
                          "start": {
                            "line": 191,
                            "column": 15
                          },
                          "end": {
                            "line": 191,
                            "column": 45
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8396,
                          "end": 8418,
                          "loc": {
                            "start": {
                              "line": 191,
                              "column": 15
                            },
                            "end": {
                              "line": 191,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 8396,
                            "end": 8414,
                            "loc": {
                              "start": {
                                "line": 191,
                                "column": 15
                              },
                              "end": {
                                "line": 191,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8396,
                              "end": 8400,
                              "loc": {
                                "start": {
                                  "line": 191,
                                  "column": 15
                                },
                                "end": {
                                  "line": 191,
                                  "column": 19
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8401,
                              "end": 8414,
                              "loc": {
                                "start": {
                                  "line": 191,
                                  "column": 20
                                },
                                "end": {
                                  "line": 191,
                                  "column": 33
                                }
                              },
                              "name": "sketchObjects"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8415,
                            "end": 8418,
                            "loc": {
                              "start": {
                                "line": 191,
                                "column": 34
                              },
                              "end": {
                                "line": 191,
                                "column": 37
                              }
                            },
                            "name": "has"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 8419,
                            "end": 8425,
                            "loc": {
                              "start": {
                                "line": 191,
                                "column": 38
                              },
                              "end": {
                                "line": 191,
                                "column": 44
                              }
                            },
                            "name": "object"
                          }
                        ]
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " Return true if object was added with addToSketch",
                  "start": 8304,
                  "end": 8355,
                  "loc": {
                    "start": {
                      "line": 189,
                      "column": 4
                    },
                    "end": {
                      "line": 189,
                      "column": 55
                    }
                  },
                  "range": [
                    8304,
                    8355
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " Add auxiliary objects which shouldn't physically be on the sketch",
                  "start": 8439,
                  "end": 8507,
                  "loc": {
                    "start": {
                      "line": 194,
                      "column": 4
                    },
                    "end": {
                      "line": 194,
                      "column": 72
                    }
                  },
                  "range": [
                    8439,
                    8507
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " These objects will be displayed in sketch coordinates but not returned from getObjectsOnSketch",
                  "start": 8512,
                  "end": 8609,
                  "loc": {
                    "start": {
                      "line": 195,
                      "column": 4
                    },
                    "end": {
                      "line": 195,
                      "column": 101
                    }
                  },
                  "range": [
                    8512,
                    8609
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " Example of such objects: sketch's grid, preview line segment for polyline being created",
                  "start": 8614,
                  "end": 8704,
                  "loc": {
                    "start": {
                      "line": 196,
                      "column": 4
                    },
                    "end": {
                      "line": 196,
                      "column": 94
                    }
                  },
                  "range": [
                    8614,
                    8704
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 8709,
              "end": 9410,
              "loc": {
                "start": {
                  "line": 197,
                  "column": 4
                },
                "end": {
                  "line": 209,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8709,
                "end": 8721,
                "loc": {
                  "start": {
                    "line": 197,
                    "column": 4
                  },
                  "end": {
                    "line": 197,
                    "column": 16
                  }
                },
                "name": "addAuxObject",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 8721,
                "end": 9410,
                "loc": {
                  "start": {
                    "line": 197,
                    "column": 16
                  },
                  "end": {
                    "line": 209,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8722,
                    "end": 8729,
                    "loc": {
                      "start": {
                        "line": 197,
                        "column": 17
                      },
                      "end": {
                        "line": 197,
                        "column": 24
                      }
                    },
                    "name": "objects",
                    "leadingComments": null,
                    "trailingComments": [
                      {
                        "type": "Block",
                        "value": ", options",
                        "start": 8729,
                        "end": 8742,
                        "loc": {
                          "start": {
                            "line": 197,
                            "column": 24
                          },
                          "end": {
                            "line": 197,
                            "column": 37
                          }
                        },
                        "range": [
                          8729,
                          8742
                        ]
                      }
                    ]
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8744,
                  "end": 9410,
                  "loc": {
                    "start": {
                      "line": 197,
                      "column": 39
                    },
                    "end": {
                      "line": 209,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 8754,
                      "end": 8783,
                      "loc": {
                        "start": {
                          "line": 198,
                          "column": 8
                        },
                        "end": {
                          "line": 198,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 8754,
                        "end": 8782,
                        "loc": {
                          "start": {
                            "line": 198,
                            "column": 8
                          },
                          "end": {
                            "line": 198,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 8754,
                          "end": 8761,
                          "loc": {
                            "start": {
                              "line": 198,
                              "column": 8
                            },
                            "end": {
                              "line": 198,
                              "column": 15
                            }
                          },
                          "name": "objects",
                          "leadingComments": null
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 8764,
                          "end": 8782,
                          "loc": {
                            "start": {
                              "line": 198,
                              "column": 18
                            },
                            "end": {
                              "line": 198,
                              "column": 36
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 8764,
                            "end": 8773,
                            "loc": {
                              "start": {
                                "line": 198,
                                "column": 18
                              },
                              "end": {
                                "line": 198,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "ArrayExpression",
                              "start": 8764,
                              "end": 8766,
                              "loc": {
                                "start": {
                                  "line": 198,
                                  "column": 18
                                },
                                "end": {
                                  "line": 198,
                                  "column": 20
                                }
                              },
                              "elements": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8767,
                              "end": 8773,
                              "loc": {
                                "start": {
                                  "line": 198,
                                  "column": 21
                                },
                                "end": {
                                  "line": 198,
                                  "column": 27
                                }
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 8774,
                              "end": 8781,
                              "loc": {
                                "start": {
                                  "line": 198,
                                  "column": 28
                                },
                                "end": {
                                  "line": 198,
                                  "column": 35
                                }
                              },
                              "name": "objects"
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 8792,
                      "end": 8830,
                      "loc": {
                        "start": {
                          "line": 199,
                          "column": 8
                        },
                        "end": {
                          "line": 199,
                          "column": 46
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8796,
                          "end": 8829,
                          "loc": {
                            "start": {
                              "line": 199,
                              "column": 12
                            },
                            "end": {
                              "line": 199,
                              "column": 45
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8796,
                            "end": 8800,
                            "loc": {
                              "start": {
                                "line": 199,
                                "column": 12
                              },
                              "end": {
                                "line": 199,
                                "column": 16
                              }
                            },
                            "name": "view"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 8803,
                            "end": 8829,
                            "loc": {
                              "start": {
                                "line": 199,
                                "column": 19
                              },
                              "end": {
                                "line": 199,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 8803,
                              "end": 8816,
                              "loc": {
                                "start": {
                                  "line": 199,
                                  "column": 19
                                },
                                "end": {
                                  "line": 199,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 8803,
                                "end": 8807,
                                "loc": {
                                  "start": {
                                    "line": 199,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 199,
                                    "column": 23
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8808,
                                "end": 8816,
                                "loc": {
                                  "start": {
                                    "line": 199,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 199,
                                    "column": 32
                                  }
                                },
                                "name": "sketcher"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8817,
                              "end": 8829,
                              "loc": {
                                "start": {
                                  "line": 199,
                                  "column": 33
                                },
                                "end": {
                                  "line": 199,
                                  "column": 45
                                }
                              },
                              "name": "__parentView"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var",
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " we can't automatically remove objects from the sketch because",
                          "start": 8839,
                          "end": 8903,
                          "loc": {
                            "start": {
                              "line": 200,
                              "column": 8
                            },
                            "end": {
                              "line": 200,
                              "column": 72
                            }
                          },
                          "range": [
                            8839,
                            8903
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " it's an asynchronous action; this function should be synchronous",
                          "start": 8912,
                          "end": 8979,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 8
                            },
                            "end": {
                              "line": 201,
                              "column": 75
                            }
                          },
                          "range": [
                            8912,
                            8979
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 8988,
                      "end": 9151,
                      "loc": {
                        "start": {
                          "line": 202,
                          "column": 8
                        },
                        "end": {
                          "line": 203,
                          "column": 85
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 8992,
                        "end": 9064,
                        "loc": {
                          "start": {
                            "line": 202,
                            "column": 12
                          },
                          "end": {
                            "line": 202,
                            "column": 84
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8992,
                          "end": 9004,
                          "loc": {
                            "start": {
                              "line": 202,
                              "column": 12
                            },
                            "end": {
                              "line": 202,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8992,
                            "end": 8999,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 12
                              },
                              "end": {
                                "line": 202,
                                "column": 19
                              }
                            },
                            "name": "objects",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9000,
                            "end": 9004,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 20
                              },
                              "end": {
                                "line": 202,
                                "column": 24
                              }
                            },
                            "name": "some"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "FunctionExpression",
                            "start": 9005,
                            "end": 9057,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 25
                              },
                              "end": {
                                "line": 202,
                                "column": 77
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 9014,
                                "end": 9020,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 40
                                  }
                                },
                                "name": "object"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 9022,
                              "end": 9057,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 42
                                },
                                "end": {
                                  "line": 202,
                                  "column": 77
                                }
                              },
                              "body": [
                                {
                                  "type": "ReturnStatement",
                                  "start": 9024,
                                  "end": 9055,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 75
                                    }
                                  },
                                  "argument": {
                                    "type": "CallExpression",
                                    "start": 9031,
                                    "end": 9054,
                                    "loc": {
                                      "start": {
                                        "line": 202,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 202,
                                        "column": 74
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9031,
                                      "end": 9046,
                                      "loc": {
                                        "start": {
                                          "line": 202,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 202,
                                          "column": 66
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9031,
                                        "end": 9035,
                                        "loc": {
                                          "start": {
                                            "line": 202,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 202,
                                            "column": 55
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9036,
                                        "end": 9046,
                                        "loc": {
                                          "start": {
                                            "line": 202,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 202,
                                            "column": 66
                                          }
                                        },
                                        "name": "isOnSketch"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 9047,
                                        "end": 9053,
                                        "loc": {
                                          "start": {
                                            "line": 202,
                                            "column": 67
                                          },
                                          "end": {
                                            "line": 202,
                                            "column": 73
                                          }
                                        },
                                        "name": "object"
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          },
                          {
                            "type": "ThisExpression",
                            "start": 9059,
                            "end": 9063,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 79
                              },
                              "end": {
                                "line": 202,
                                "column": 83
                              }
                            }
                          }
                        ],
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ThrowStatement",
                        "start": 9078,
                        "end": 9151,
                        "loc": {
                          "start": {
                            "line": 203,
                            "column": 12
                          },
                          "end": {
                            "line": 203,
                            "column": 85
                          }
                        },
                        "argument": {
                          "type": "Literal",
                          "start": 9084,
                          "end": 9150,
                          "loc": {
                            "start": {
                              "line": 203,
                              "column": 18
                            },
                            "end": {
                              "line": 203,
                              "column": 84
                            }
                          },
                          "value": "Sketch.addAuxObject: can't add object on sketch. Remove it first",
                          "rawValue": "Sketch.addAuxObject: can't add object on sketch. Remove it first",
                          "raw": "\"Sketch.addAuxObject: can't add object on sketch. Remove it first\""
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " we can't automatically remove objects from the sketch because",
                          "start": 8839,
                          "end": 8903,
                          "loc": {
                            "start": {
                              "line": 200,
                              "column": 8
                            },
                            "end": {
                              "line": 200,
                              "column": 72
                            }
                          },
                          "range": [
                            8839,
                            8903
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " it's an asynchronous action; this function should be synchronous",
                          "start": 8912,
                          "end": 8979,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 8
                            },
                            "end": {
                              "line": 201,
                              "column": 75
                            }
                          },
                          "range": [
                            8912,
                            8979
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9160,
                      "end": 9404,
                      "loc": {
                        "start": {
                          "line": 204,
                          "column": 8
                        },
                        "end": {
                          "line": 208,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9160,
                        "end": 9403,
                        "loc": {
                          "start": {
                            "line": 204,
                            "column": 8
                          },
                          "end": {
                            "line": 208,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9160,
                          "end": 9175,
                          "loc": {
                            "start": {
                              "line": 204,
                              "column": 8
                            },
                            "end": {
                              "line": 204,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 9160,
                            "end": 9167,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 8
                              },
                              "end": {
                                "line": 204,
                                "column": 15
                              }
                            },
                            "name": "objects"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9168,
                            "end": 9175,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 16
                              },
                              "end": {
                                "line": 204,
                                "column": 23
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 9176,
                            "end": 9402,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 24
                              },
                              "end": {
                                "line": 208,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 9176,
                                "end": 9179,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 27
                                  }
                                },
                                "name": "obj"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 9183,
                              "end": 9402,
                              "loc": {
                                "start": {
                                  "line": 204,
                                  "column": 31
                                },
                                "end": {
                                  "line": 208,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9197,
                                  "end": 9211,
                                  "loc": {
                                    "start": {
                                      "line": 205,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 205,
                                      "column": 26
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 9197,
                                    "end": 9210,
                                    "loc": {
                                      "start": {
                                        "line": 205,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 205,
                                        "column": 25
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9197,
                                      "end": 9205,
                                      "loc": {
                                        "start": {
                                          "line": 205,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 205,
                                          "column": 20
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9197,
                                        "end": 9201,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9202,
                                        "end": 9205,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 20
                                          }
                                        },
                                        "name": "add"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 9206,
                                        "end": 9209,
                                        "loc": {
                                          "start": {
                                            "line": 205,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 205,
                                            "column": 24
                                          }
                                        },
                                        "name": "obj"
                                      }
                                    ]
                                  },
                                  "trailingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": "note: some auxilliary objects have custom visualization system (e.g. sketch grid and box)",
                                      "start": 9224,
                                      "end": 9315,
                                      "loc": {
                                        "start": {
                                          "line": 206,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 206,
                                          "column": 103
                                        }
                                      },
                                      "range": [
                                        9224,
                                        9315
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "type": "TryStatement",
                                  "start": 9328,
                                  "end": 9392,
                                  "loc": {
                                    "start": {
                                      "line": 207,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 207,
                                      "column": 76
                                    }
                                  },
                                  "block": {
                                    "type": "BlockStatement",
                                    "start": 9332,
                                    "end": 9378,
                                    "loc": {
                                      "start": {
                                        "line": 207,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 207,
                                        "column": 62
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 9334,
                                        "end": 9376,
                                        "loc": {
                                          "start": {
                                            "line": 207,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 207,
                                            "column": 60
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 9334,
                                          "end": 9375,
                                          "loc": {
                                            "start": {
                                              "line": 207,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 207,
                                              "column": 59
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 9334,
                                            "end": 9364,
                                            "loc": {
                                              "start": {
                                                "line": 207,
                                                "column": 18
                                              },
                                              "end": {
                                                "line": 207,
                                                "column": 48
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 9334,
                                              "end": 9342,
                                              "loc": {
                                                "start": {
                                                  "line": 207,
                                                  "column": 18
                                                },
                                                "end": {
                                                  "line": 207,
                                                  "column": 26
                                                }
                                              },
                                              "name": "Sketcher",
                                              "leadingComments": null
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 9343,
                                              "end": 9364,
                                              "loc": {
                                                "start": {
                                                  "line": 207,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 207,
                                                  "column": 48
                                                }
                                              },
                                              "name": "registerVisualization"
                                            },
                                            "computed": false,
                                            "leadingComments": null
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 9365,
                                              "end": 9369,
                                              "loc": {
                                                "start": {
                                                  "line": 207,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 207,
                                                  "column": 53
                                                }
                                              },
                                              "name": "view"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 9371,
                                              "end": 9374,
                                              "loc": {
                                                "start": {
                                                  "line": 207,
                                                  "column": 55
                                                },
                                                "end": {
                                                  "line": 207,
                                                  "column": 58
                                                }
                                              },
                                              "name": "obj"
                                            }
                                          ],
                                          "leadingComments": null
                                        },
                                        "leadingComments": null
                                      }
                                    ],
                                    "leadingComments": null
                                  },
                                  "handler": {
                                    "type": "CatchClause",
                                    "start": 9379,
                                    "end": 9392,
                                    "loc": {
                                      "start": {
                                        "line": 207,
                                        "column": 63
                                      },
                                      "end": {
                                        "line": 207,
                                        "column": 76
                                      }
                                    },
                                    "param": {
                                      "type": "Identifier",
                                      "start": 9385,
                                      "end": 9388,
                                      "loc": {
                                        "start": {
                                          "line": 207,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 207,
                                          "column": 72
                                        }
                                      },
                                      "name": "err"
                                    },
                                    "body": {
                                      "type": "BlockStatement",
                                      "start": 9390,
                                      "end": 9392,
                                      "loc": {
                                        "start": {
                                          "line": 207,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 207,
                                          "column": 76
                                        }
                                      },
                                      "body": []
                                    }
                                  },
                                  "guardedHandlers": [],
                                  "finalizer": null,
                                  "leadingComments": [
                                    {
                                      "type": "CommentLine",
                                      "value": "note: some auxilliary objects have custom visualization system (e.g. sketch grid and box)",
                                      "start": 9224,
                                      "end": 9315,
                                      "loc": {
                                        "start": {
                                          "line": 206,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 206,
                                          "column": 103
                                        }
                                      },
                                      "range": [
                                        9224,
                                        9315
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "leadingComments": [
                    {
                      "type": "Block",
                      "value": ", options",
                      "start": 8729,
                      "end": 8742,
                      "loc": {
                        "start": {
                          "line": 197,
                          "column": 24
                        },
                        "end": {
                          "line": 197,
                          "column": 37
                        }
                      },
                      "range": [
                        8729,
                        8742
                      ]
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " Add auxiliary objects which shouldn't physically be on the sketch",
                  "start": 8439,
                  "end": 8507,
                  "loc": {
                    "start": {
                      "line": 194,
                      "column": 4
                    },
                    "end": {
                      "line": 194,
                      "column": 72
                    }
                  },
                  "range": [
                    8439,
                    8507
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " These objects will be displayed in sketch coordinates but not returned from getObjectsOnSketch",
                  "start": 8512,
                  "end": 8609,
                  "loc": {
                    "start": {
                      "line": 195,
                      "column": 4
                    },
                    "end": {
                      "line": 195,
                      "column": 101
                    }
                  },
                  "range": [
                    8512,
                    8609
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " Example of such objects: sketch's grid, preview line segment for polyline being created",
                  "start": 8614,
                  "end": 8704,
                  "loc": {
                    "start": {
                      "line": 196,
                      "column": 4
                    },
                    "end": {
                      "line": 196,
                      "column": 94
                    }
                  },
                  "range": [
                    8614,
                    8704
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " Remove objects previously added with addAuxObject",
                  "start": 9416,
                  "end": 9468,
                  "loc": {
                    "start": {
                      "line": 211,
                      "column": 4
                    },
                    "end": {
                      "line": 211,
                      "column": 56
                    }
                  },
                  "range": [
                    9416,
                    9468
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 9473,
              "end": 9678,
              "loc": {
                "start": {
                  "line": 212,
                  "column": 4
                },
                "end": {
                  "line": 218,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9473,
                "end": 9488,
                "loc": {
                  "start": {
                    "line": 212,
                    "column": 4
                  },
                  "end": {
                    "line": 212,
                    "column": 19
                  }
                },
                "name": "removeAuxObject",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9488,
                "end": 9678,
                "loc": {
                  "start": {
                    "line": 212,
                    "column": 19
                  },
                  "end": {
                    "line": 218,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9489,
                    "end": 9496,
                    "loc": {
                      "start": {
                        "line": 212,
                        "column": 20
                      },
                      "end": {
                        "line": 212,
                        "column": 27
                      }
                    },
                    "name": "objects",
                    "leadingComments": null,
                    "trailingComments": [
                      {
                        "type": "Block",
                        "value": ", options",
                        "start": 9496,
                        "end": 9509,
                        "loc": {
                          "start": {
                            "line": 212,
                            "column": 27
                          },
                          "end": {
                            "line": 212,
                            "column": 40
                          }
                        },
                        "range": [
                          9496,
                          9509
                        ]
                      }
                    ]
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9511,
                  "end": 9678,
                  "loc": {
                    "start": {
                      "line": 212,
                      "column": 42
                    },
                    "end": {
                      "line": 218,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 9521,
                      "end": 9550,
                      "loc": {
                        "start": {
                          "line": 213,
                          "column": 8
                        },
                        "end": {
                          "line": 213,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 9521,
                        "end": 9549,
                        "loc": {
                          "start": {
                            "line": 213,
                            "column": 8
                          },
                          "end": {
                            "line": 213,
                            "column": 36
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 9521,
                          "end": 9528,
                          "loc": {
                            "start": {
                              "line": 213,
                              "column": 8
                            },
                            "end": {
                              "line": 213,
                              "column": 15
                            }
                          },
                          "name": "objects",
                          "leadingComments": null
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 9531,
                          "end": 9549,
                          "loc": {
                            "start": {
                              "line": 213,
                              "column": 18
                            },
                            "end": {
                              "line": 213,
                              "column": 36
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 9531,
                            "end": 9540,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 18
                              },
                              "end": {
                                "line": 213,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "ArrayExpression",
                              "start": 9531,
                              "end": 9533,
                              "loc": {
                                "start": {
                                  "line": 213,
                                  "column": 18
                                },
                                "end": {
                                  "line": 213,
                                  "column": 20
                                }
                              },
                              "elements": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9534,
                              "end": 9540,
                              "loc": {
                                "start": {
                                  "line": 213,
                                  "column": 21
                                },
                                "end": {
                                  "line": 213,
                                  "column": 27
                                }
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 9541,
                              "end": 9548,
                              "loc": {
                                "start": {
                                  "line": 213,
                                  "column": 28
                                },
                                "end": {
                                  "line": 213,
                                  "column": 35
                                }
                              },
                              "name": "objects"
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9559,
                      "end": 9597,
                      "loc": {
                        "start": {
                          "line": 214,
                          "column": 8
                        },
                        "end": {
                          "line": 214,
                          "column": 46
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9563,
                          "end": 9596,
                          "loc": {
                            "start": {
                              "line": 214,
                              "column": 12
                            },
                            "end": {
                              "line": 214,
                              "column": 45
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9563,
                            "end": 9567,
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 12
                              },
                              "end": {
                                "line": 214,
                                "column": 16
                              }
                            },
                            "name": "view"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 9570,
                            "end": 9596,
                            "loc": {
                              "start": {
                                "line": 214,
                                "column": 19
                              },
                              "end": {
                                "line": 214,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 9570,
                              "end": 9583,
                              "loc": {
                                "start": {
                                  "line": 214,
                                  "column": 19
                                },
                                "end": {
                                  "line": 214,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 9570,
                                "end": 9574,
                                "loc": {
                                  "start": {
                                    "line": 214,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 214,
                                    "column": 23
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9575,
                                "end": 9583,
                                "loc": {
                                  "start": {
                                    "line": 214,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 214,
                                    "column": 32
                                  }
                                },
                                "name": "sketcher"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9584,
                              "end": 9596,
                              "loc": {
                                "start": {
                                  "line": 214,
                                  "column": 33
                                },
                                "end": {
                                  "line": 214,
                                  "column": 45
                                }
                              },
                              "name": "__parentView"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 9606,
                      "end": 9672,
                      "loc": {
                        "start": {
                          "line": 215,
                          "column": 8
                        },
                        "end": {
                          "line": 217,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9606,
                        "end": 9671,
                        "loc": {
                          "start": {
                            "line": 215,
                            "column": 8
                          },
                          "end": {
                            "line": 217,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9606,
                          "end": 9621,
                          "loc": {
                            "start": {
                              "line": 215,
                              "column": 8
                            },
                            "end": {
                              "line": 215,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 9606,
                            "end": 9613,
                            "loc": {
                              "start": {
                                "line": 215,
                                "column": 8
                              },
                              "end": {
                                "line": 215,
                                "column": 15
                              }
                            },
                            "name": "objects"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9614,
                            "end": 9621,
                            "loc": {
                              "start": {
                                "line": 215,
                                "column": 16
                              },
                              "end": {
                                "line": 215,
                                "column": 23
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 9622,
                            "end": 9670,
                            "loc": {
                              "start": {
                                "line": 215,
                                "column": 24
                              },
                              "end": {
                                "line": 217,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 9622,
                                "end": 9625,
                                "loc": {
                                  "start": {
                                    "line": 215,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 215,
                                    "column": 27
                                  }
                                },
                                "name": "obj"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 9629,
                              "end": 9670,
                              "loc": {
                                "start": {
                                  "line": 215,
                                  "column": 31
                                },
                                "end": {
                                  "line": 217,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9643,
                                  "end": 9660,
                                  "loc": {
                                    "start": {
                                      "line": 216,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 216,
                                      "column": 29
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 9643,
                                    "end": 9659,
                                    "loc": {
                                      "start": {
                                        "line": 216,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 216,
                                        "column": 28
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9643,
                                      "end": 9654,
                                      "loc": {
                                        "start": {
                                          "line": 216,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 216,
                                          "column": 23
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9643,
                                        "end": 9647,
                                        "loc": {
                                          "start": {
                                            "line": 216,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 216,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9648,
                                        "end": 9654,
                                        "loc": {
                                          "start": {
                                            "line": 216,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 216,
                                            "column": 23
                                          }
                                        },
                                        "name": "remove"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 9655,
                                        "end": 9658,
                                        "loc": {
                                          "start": {
                                            "line": 216,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 216,
                                            "column": 27
                                          }
                                        },
                                        "name": "obj"
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "leadingComments": [
                    {
                      "type": "Block",
                      "value": ", options",
                      "start": 9496,
                      "end": 9509,
                      "loc": {
                        "start": {
                          "line": 212,
                          "column": 27
                        },
                        "end": {
                          "line": 212,
                          "column": 40
                        }
                      },
                      "range": [
                        9496,
                        9509
                      ]
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " Remove objects previously added with addAuxObject",
                  "start": 9416,
                  "end": 9468,
                  "loc": {
                    "start": {
                      "line": 211,
                      "column": 4
                    },
                    "end": {
                      "line": 211,
                      "column": 56
                    }
                  },
                  "range": [
                    9416,
                    9468
                  ]
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " customize ClassCadObject interface add/remove member function to track sketchObjects",
                  "start": 9684,
                  "end": 9771,
                  "loc": {
                    "start": {
                      "line": 220,
                      "column": 4
                    },
                    "end": {
                      "line": 220,
                      "column": 91
                    }
                  },
                  "range": [
                    9684,
                    9771
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 9776,
              "end": 10003,
              "loc": {
                "start": {
                  "line": 221,
                  "column": 4
                },
                "end": {
                  "line": 225,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9776,
                "end": 9785,
                "loc": {
                  "start": {
                    "line": 221,
                    "column": 4
                  },
                  "end": {
                    "line": 221,
                    "column": 13
                  }
                },
                "name": "addMember",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 9785,
                "end": 10003,
                "loc": {
                  "start": {
                    "line": 221,
                    "column": 13
                  },
                  "end": {
                    "line": 225,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9786,
                    "end": 9792,
                    "loc": {
                      "start": {
                        "line": 221,
                        "column": 14
                      },
                      "end": {
                        "line": 221,
                        "column": 20
                      }
                    },
                    "name": "member"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9794,
                  "end": 10003,
                  "loc": {
                    "start": {
                      "line": 221,
                      "column": 22
                    },
                    "end": {
                      "line": 225,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 9804,
                      "end": 9862,
                      "loc": {
                        "start": {
                          "line": 222,
                          "column": 8
                        },
                        "end": {
                          "line": 222,
                          "column": 66
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 9804,
                        "end": 9861,
                        "loc": {
                          "start": {
                            "line": 222,
                            "column": 8
                          },
                          "end": {
                            "line": 222,
                            "column": 65
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9804,
                          "end": 9844,
                          "loc": {
                            "start": {
                              "line": 222,
                              "column": 8
                            },
                            "end": {
                              "line": 222,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 9804,
                            "end": 9838,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 8
                              },
                              "end": {
                                "line": 222,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 9804,
                              "end": 9828,
                              "loc": {
                                "start": {
                                  "line": 222,
                                  "column": 8
                                },
                                "end": {
                                  "line": 222,
                                  "column": 32
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9804,
                                "end": 9818,
                                "loc": {
                                  "start": {
                                    "line": 222,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 222,
                                    "column": 22
                                  }
                                },
                                "name": "ClassCadObject"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9819,
                                "end": 9828,
                                "loc": {
                                  "start": {
                                    "line": 222,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 222,
                                    "column": 32
                                  }
                                },
                                "name": "prototype"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9829,
                              "end": 9838,
                              "loc": {
                                "start": {
                                  "line": 222,
                                  "column": 33
                                },
                                "end": {
                                  "line": 222,
                                  "column": 42
                                }
                              },
                              "name": "addMember"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9839,
                            "end": 9844,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 43
                              },
                              "end": {
                                "line": 222,
                                "column": 48
                              }
                            },
                            "name": "apply"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 9845,
                            "end": 9849,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 49
                              },
                              "end": {
                                "line": 222,
                                "column": 53
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "start": 9851,
                            "end": 9860,
                            "loc": {
                              "start": {
                                "line": 222,
                                "column": 55
                              },
                              "end": {
                                "line": 222,
                                "column": 64
                              }
                            },
                            "name": "arguments"
                          }
                        ]
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 9871,
                      "end": 9997,
                      "loc": {
                        "start": {
                          "line": 223,
                          "column": 8
                        },
                        "end": {
                          "line": 224,
                          "column": 73
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 9875,
                        "end": 9922,
                        "loc": {
                          "start": {
                            "line": 223,
                            "column": 12
                          },
                          "end": {
                            "line": 223,
                            "column": 59
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 9875,
                          "end": 9906,
                          "loc": {
                            "start": {
                              "line": 223,
                              "column": 12
                            },
                            "end": {
                              "line": 223,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 9875,
                            "end": 9901,
                            "loc": {
                              "start": {
                                "line": 223,
                                "column": 12
                              },
                              "end": {
                                "line": 223,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 9875,
                              "end": 9890,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 12
                                },
                                "end": {
                                  "line": 223,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9875,
                                "end": 9881,
                                "loc": {
                                  "start": {
                                    "line": 223,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 223,
                                    "column": 18
                                  }
                                },
                                "name": "member"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9882,
                                "end": 9890,
                                "loc": {
                                  "start": {
                                    "line": 223,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 223,
                                    "column": 27
                                  }
                                },
                                "name": "userData"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9891,
                              "end": 9901,
                              "loc": {
                                "start": {
                                  "line": 223,
                                  "column": 28
                                },
                                "end": {
                                  "line": 223,
                                  "column": 38
                                }
                              },
                              "name": "memberInfo"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9902,
                            "end": 9906,
                            "loc": {
                              "start": {
                                "line": 223,
                                "column": 39
                              },
                              "end": {
                                "line": 223,
                                "column": 43
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 9911,
                          "end": 9922,
                          "loc": {
                            "start": {
                              "line": 223,
                              "column": 48
                            },
                            "end": {
                              "line": 223,
                              "column": 59
                            }
                          },
                          "value": "objectMem",
                          "rawValue": "objectMem",
                          "raw": "'objectMem'"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 9936,
                        "end": 9997,
                        "loc": {
                          "start": {
                            "line": 224,
                            "column": 12
                          },
                          "end": {
                            "line": 224,
                            "column": 73
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 9936,
                          "end": 9996,
                          "loc": {
                            "start": {
                              "line": 224,
                              "column": 12
                            },
                            "end": {
                              "line": 224,
                              "column": 72
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 9936,
                            "end": 9952,
                            "loc": {
                              "start": {
                                "line": 224,
                                "column": 12
                              },
                              "end": {
                                "line": 224,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9936,
                              "end": 9940,
                              "loc": {
                                "start": {
                                  "line": 224,
                                  "column": 12
                                },
                                "end": {
                                  "line": 224,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9941,
                              "end": 9952,
                              "loc": {
                                "start": {
                                  "line": 224,
                                  "column": 17
                                },
                                "end": {
                                  "line": 224,
                                  "column": 28
                                }
                              },
                              "name": "addToSketch"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 9953,
                              "end": 9959,
                              "loc": {
                                "start": {
                                  "line": 224,
                                  "column": 29
                                },
                                "end": {
                                  "line": 224,
                                  "column": 35
                                }
                              },
                              "name": "member"
                            },
                            {
                              "type": "ObjectExpression",
                              "start": 9961,
                              "end": 9995,
                              "loc": {
                                "start": {
                                  "line": 224,
                                  "column": 37
                                },
                                "end": {
                                  "line": 224,
                                  "column": 71
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 9962,
                                  "end": 9977,
                                  "loc": {
                                    "start": {
                                      "line": 224,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 224,
                                      "column": 53
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 9962,
                                    "end": 9970,
                                    "loc": {
                                      "start": {
                                        "line": 224,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 224,
                                        "column": 46
                                      }
                                    },
                                    "name": "onServer"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 9972,
                                    "end": 9977,
                                    "loc": {
                                      "start": {
                                        "line": 224,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 224,
                                        "column": 53
                                      }
                                    },
                                    "value": false,
                                    "rawValue": false,
                                    "raw": "false"
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 9979,
                                  "end": 9994,
                                  "loc": {
                                    "start": {
                                      "line": 224,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 224,
                                      "column": 70
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 9979,
                                    "end": 9987,
                                    "loc": {
                                      "start": {
                                        "line": 224,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 224,
                                        "column": 63
                                      }
                                    },
                                    "name": "onClient"
                                  },
                                  "value": {
                                    "type": "Literal",
                                    "start": 9989,
                                    "end": 9994,
                                    "loc": {
                                      "start": {
                                        "line": 224,
                                        "column": 65
                                      },
                                      "end": {
                                        "line": 224,
                                        "column": 70
                                      }
                                    },
                                    "value": false,
                                    "rawValue": false,
                                    "raw": "false"
                                  },
                                  "kind": "init"
                                }
                              ]
                            }
                          ]
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " customize ClassCadObject interface add/remove member function to track sketchObjects",
                  "start": 9684,
                  "end": 9771,
                  "loc": {
                    "start": {
                      "line": 220,
                      "column": 4
                    },
                    "end": {
                      "line": 220,
                      "column": 91
                    }
                  },
                  "range": [
                    9684,
                    9771
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 10009,
              "end": 10239,
              "loc": {
                "start": {
                  "line": 227,
                  "column": 4
                },
                "end": {
                  "line": 231,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10009,
                "end": 10033,
                "loc": {
                  "start": {
                    "line": 227,
                    "column": 4
                  },
                  "end": {
                    "line": 227,
                    "column": 28
                  }
                },
                "name": "removeSuperfluousMembers"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 10033,
                "end": 10239,
                "loc": {
                  "start": {
                    "line": 227,
                    "column": 28
                  },
                  "end": {
                    "line": 231,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 10036,
                  "end": 10239,
                  "loc": {
                    "start": {
                      "line": 227,
                      "column": 31
                    },
                    "end": {
                      "line": 231,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 10046,
                      "end": 10133,
                      "loc": {
                        "start": {
                          "line": 228,
                          "column": 8
                        },
                        "end": {
                          "line": 228,
                          "column": 95
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10050,
                          "end": 10132,
                          "loc": {
                            "start": {
                              "line": 228,
                              "column": 12
                            },
                            "end": {
                              "line": 228,
                              "column": 94
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10050,
                            "end": 10057,
                            "loc": {
                              "start": {
                                "line": 228,
                                "column": 12
                              },
                              "end": {
                                "line": 228,
                                "column": 19
                              }
                            },
                            "name": "members"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 10060,
                            "end": 10132,
                            "loc": {
                              "start": {
                                "line": 228,
                                "column": 22
                              },
                              "end": {
                                "line": 228,
                                "column": 94
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10060,
                              "end": 10115,
                              "loc": {
                                "start": {
                                  "line": 228,
                                  "column": 22
                                },
                                "end": {
                                  "line": 228,
                                  "column": 77
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 10060,
                                "end": 10109,
                                "loc": {
                                  "start": {
                                    "line": 228,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 228,
                                    "column": 71
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 10060,
                                  "end": 10084,
                                  "loc": {
                                    "start": {
                                      "line": 228,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 228,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10060,
                                    "end": 10074,
                                    "loc": {
                                      "start": {
                                        "line": 228,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 228,
                                        "column": 36
                                      }
                                    },
                                    "name": "ClassCadObject"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10075,
                                    "end": 10084,
                                    "loc": {
                                      "start": {
                                        "line": 228,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 228,
                                        "column": 46
                                      }
                                    },
                                    "name": "prototype"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10085,
                                  "end": 10109,
                                  "loc": {
                                    "start": {
                                      "line": 228,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 228,
                                      "column": 71
                                    }
                                  },
                                  "name": "removeSuperfluousMembers"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10110,
                                "end": 10115,
                                "loc": {
                                  "start": {
                                    "line": 228,
                                    "column": 72
                                  },
                                  "end": {
                                    "line": 228,
                                    "column": 77
                                  }
                                },
                                "name": "apply"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 10116,
                                "end": 10120,
                                "loc": {
                                  "start": {
                                    "line": 228,
                                    "column": 78
                                  },
                                  "end": {
                                    "line": 228,
                                    "column": 82
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "start": 10122,
                                "end": 10131,
                                "loc": {
                                  "start": {
                                    "line": 228,
                                    "column": 84
                                  },
                                  "end": {
                                    "line": 228,
                                    "column": 93
                                  }
                                },
                                "name": "arguments"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10142,
                      "end": 10209,
                      "loc": {
                        "start": {
                          "line": 229,
                          "column": 8
                        },
                        "end": {
                          "line": 229,
                          "column": 75
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 10142,
                        "end": 10208,
                        "loc": {
                          "start": {
                            "line": 229,
                            "column": 8
                          },
                          "end": {
                            "line": 229,
                            "column": 74
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 10142,
                          "end": 10163,
                          "loc": {
                            "start": {
                              "line": 229,
                              "column": 8
                            },
                            "end": {
                              "line": 229,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10142,
                            "end": 10146,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 8
                              },
                              "end": {
                                "line": 229,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10147,
                            "end": 10163,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 13
                              },
                              "end": {
                                "line": 229,
                                "column": 29
                              }
                            },
                            "name": "removeFromSketch"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 10164,
                            "end": 10171,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 30
                              },
                              "end": {
                                "line": 229,
                                "column": 37
                              }
                            },
                            "name": "members"
                          },
                          {
                            "type": "ObjectExpression",
                            "start": 10173,
                            "end": 10207,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 39
                              },
                              "end": {
                                "line": 229,
                                "column": 73
                              }
                            },
                            "properties": [
                              {
                                "type": "Property",
                                "start": 10174,
                                "end": 10189,
                                "loc": {
                                  "start": {
                                    "line": 229,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 229,
                                    "column": 55
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 10174,
                                  "end": 10182,
                                  "loc": {
                                    "start": {
                                      "line": 229,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 229,
                                      "column": 48
                                    }
                                  },
                                  "name": "onServer"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 10184,
                                  "end": 10189,
                                  "loc": {
                                    "start": {
                                      "line": 229,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 229,
                                      "column": 55
                                    }
                                  },
                                  "value": false,
                                  "rawValue": false,
                                  "raw": "false"
                                },
                                "kind": "init"
                              },
                              {
                                "type": "Property",
                                "start": 10191,
                                "end": 10206,
                                "loc": {
                                  "start": {
                                    "line": 229,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 229,
                                    "column": 72
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 10191,
                                  "end": 10199,
                                  "loc": {
                                    "start": {
                                      "line": 229,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 229,
                                      "column": 65
                                    }
                                  },
                                  "name": "onClient"
                                },
                                "value": {
                                  "type": "Literal",
                                  "start": 10201,
                                  "end": 10206,
                                  "loc": {
                                    "start": {
                                      "line": 229,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 229,
                                      "column": 72
                                    }
                                  },
                                  "value": false,
                                  "rawValue": false,
                                  "raw": "false"
                                },
                                "kind": "init"
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 10218,
                      "end": 10233,
                      "loc": {
                        "start": {
                          "line": 230,
                          "column": 8
                        },
                        "end": {
                          "line": 230,
                          "column": 23
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 10225,
                        "end": 10232,
                        "loc": {
                          "start": {
                            "line": 230,
                            "column": 15
                          },
                          "end": {
                            "line": 230,
                            "column": 22
                          }
                        },
                        "name": "members"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 10245,
              "end": 10301,
              "loc": {
                "start": {
                  "line": 233,
                  "column": 4
                },
                "end": {
                  "line": 235,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10245,
                "end": 10252,
                "loc": {
                  "start": {
                    "line": 233,
                    "column": 4
                  },
                  "end": {
                    "line": 233,
                    "column": 11
                  }
                },
                "name": "showBox"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 10252,
                "end": 10301,
                "loc": {
                  "start": {
                    "line": 233,
                    "column": 11
                  },
                  "end": {
                    "line": 235,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 10255,
                  "end": 10301,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 14
                    },
                    "end": {
                      "line": 235,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 10265,
                      "end": 10295,
                      "loc": {
                        "start": {
                          "line": 234,
                          "column": 8
                        },
                        "end": {
                          "line": 234,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 10265,
                        "end": 10294,
                        "loc": {
                          "start": {
                            "line": 234,
                            "column": 8
                          },
                          "end": {
                            "line": 234,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 10265,
                          "end": 10282,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 8
                            },
                            "end": {
                              "line": 234,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10265,
                            "end": 10269,
                            "loc": {
                              "start": {
                                "line": 234,
                                "column": 8
                              },
                              "end": {
                                "line": 234,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10270,
                            "end": 10282,
                            "loc": {
                              "start": {
                                "line": 234,
                                "column": 13
                              },
                              "end": {
                                "line": 234,
                                "column": 25
                              }
                            },
                            "name": "addAuxObject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 10283,
                            "end": 10293,
                            "loc": {
                              "start": {
                                "line": 234,
                                "column": 26
                              },
                              "end": {
                                "line": 234,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 10283,
                              "end": 10287,
                              "loc": {
                                "start": {
                                  "line": 234,
                                  "column": 26
                                },
                                "end": {
                                  "line": 234,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10288,
                              "end": 10293,
                              "loc": {
                                "start": {
                                  "line": 234,
                                  "column": 31
                                },
                                "end": {
                                  "line": 234,
                                  "column": 36
                                }
                              },
                              "name": "__box"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 10307,
              "end": 10366,
              "loc": {
                "start": {
                  "line": 237,
                  "column": 4
                },
                "end": {
                  "line": 239,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10307,
                "end": 10314,
                "loc": {
                  "start": {
                    "line": 237,
                    "column": 4
                  },
                  "end": {
                    "line": 237,
                    "column": 11
                  }
                },
                "name": "hideBox"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 10314,
                "end": 10366,
                "loc": {
                  "start": {
                    "line": 237,
                    "column": 11
                  },
                  "end": {
                    "line": 239,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 10317,
                  "end": 10366,
                  "loc": {
                    "start": {
                      "line": 237,
                      "column": 14
                    },
                    "end": {
                      "line": 239,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 10327,
                      "end": 10360,
                      "loc": {
                        "start": {
                          "line": 238,
                          "column": 8
                        },
                        "end": {
                          "line": 238,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 10327,
                        "end": 10359,
                        "loc": {
                          "start": {
                            "line": 238,
                            "column": 8
                          },
                          "end": {
                            "line": 238,
                            "column": 40
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 10327,
                          "end": 10347,
                          "loc": {
                            "start": {
                              "line": 238,
                              "column": 8
                            },
                            "end": {
                              "line": 238,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10327,
                            "end": 10331,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 8
                              },
                              "end": {
                                "line": 238,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10332,
                            "end": 10347,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 13
                              },
                              "end": {
                                "line": 238,
                                "column": 28
                              }
                            },
                            "name": "removeAuxObject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 10348,
                            "end": 10358,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 29
                              },
                              "end": {
                                "line": 238,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 10348,
                              "end": 10352,
                              "loc": {
                                "start": {
                                  "line": 238,
                                  "column": 29
                                },
                                "end": {
                                  "line": 238,
                                  "column": 33
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10353,
                              "end": 10358,
                              "loc": {
                                "start": {
                                  "line": 238,
                                  "column": 34
                                },
                                "end": {
                                  "line": 238,
                                  "column": 39
                                }
                              },
                              "name": "__box"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 10372,
              "end": 11543,
              "loc": {
                "start": {
                  "line": 241,
                  "column": 4
                },
                "end": {
                  "line": 274,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10372,
                "end": 10381,
                "loc": {
                  "start": {
                    "line": 241,
                    "column": 4
                  },
                  "end": {
                    "line": 241,
                    "column": 13
                  }
                },
                "name": "updateBox"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 10381,
                "end": 11543,
                "loc": {
                  "start": {
                    "line": 241,
                    "column": 13
                  },
                  "end": {
                    "line": 274,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 10384,
                  "end": 11543,
                  "loc": {
                    "start": {
                      "line": 241,
                      "column": 16
                    },
                    "end": {
                      "line": 274,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 10394,
                      "end": 10419,
                      "loc": {
                        "start": {
                          "line": 242,
                          "column": 8
                        },
                        "end": {
                          "line": 242,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 10394,
                        "end": 10418,
                        "loc": {
                          "start": {
                            "line": 242,
                            "column": 8
                          },
                          "end": {
                            "line": 242,
                            "column": 32
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 10394,
                          "end": 10416,
                          "loc": {
                            "start": {
                              "line": 242,
                              "column": 8
                            },
                            "end": {
                              "line": 242,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10394,
                            "end": 10398,
                            "loc": {
                              "start": {
                                "line": 242,
                                "column": 8
                              },
                              "end": {
                                "line": 242,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10399,
                            "end": 10416,
                            "loc": {
                              "start": {
                                "line": 242,
                                "column": 13
                              },
                              "end": {
                                "line": 242,
                                "column": 30
                              }
                            },
                            "name": "updateMatrixWorld"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " bbox is bounding box in local to sketch coordinates",
                          "start": 10428,
                          "end": 10482,
                          "loc": {
                            "start": {
                              "line": 243,
                              "column": 8
                            },
                            "end": {
                              "line": 243,
                              "column": 62
                            }
                          },
                          "range": [
                            10428,
                            10482
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10491,
                      "end": 10519,
                      "loc": {
                        "start": {
                          "line": 244,
                          "column": 8
                        },
                        "end": {
                          "line": 244,
                          "column": 36
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10495,
                          "end": 10518,
                          "loc": {
                            "start": {
                              "line": 244,
                              "column": 12
                            },
                            "end": {
                              "line": 244,
                              "column": 35
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10495,
                            "end": 10499,
                            "loc": {
                              "start": {
                                "line": 244,
                                "column": 12
                              },
                              "end": {
                                "line": 244,
                                "column": 16
                              }
                            },
                            "name": "bbox",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 10502,
                            "end": 10518,
                            "loc": {
                              "start": {
                                "line": 244,
                                "column": 19
                              },
                              "end": {
                                "line": 244,
                                "column": 35
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10506,
                              "end": 10516,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 23
                                },
                                "end": {
                                  "line": 244,
                                  "column": 33
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10506,
                                "end": 10511,
                                "loc": {
                                  "start": {
                                    "line": 244,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 244,
                                    "column": 28
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10512,
                                "end": 10516,
                                "loc": {
                                  "start": {
                                    "line": 244,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 244,
                                    "column": 33
                                  }
                                },
                                "name": "Box3"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " bbox is bounding box in local to sketch coordinates",
                          "start": 10428,
                          "end": 10482,
                          "loc": {
                            "start": {
                              "line": 243,
                              "column": 8
                            },
                            "end": {
                              "line": 243,
                              "column": 62
                            }
                          },
                          "range": [
                            10428,
                            10482
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 10528,
                      "end": 10557,
                      "loc": {
                        "start": {
                          "line": 245,
                          "column": 8
                        },
                        "end": {
                          "line": 245,
                          "column": 37
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 10532,
                          "end": 10556,
                          "loc": {
                            "start": {
                              "line": 245,
                              "column": 12
                            },
                            "end": {
                              "line": 245,
                              "column": 36
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 10532,
                            "end": 10534,
                            "loc": {
                              "start": {
                                "line": 245,
                                "column": 12
                              },
                              "end": {
                                "line": 245,
                                "column": 14
                              }
                            },
                            "name": "v1"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 10537,
                            "end": 10556,
                            "loc": {
                              "start": {
                                "line": 245,
                                "column": 17
                              },
                              "end": {
                                "line": 245,
                                "column": 36
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10541,
                              "end": 10554,
                              "loc": {
                                "start": {
                                  "line": 245,
                                  "column": 21
                                },
                                "end": {
                                  "line": 245,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10541,
                                "end": 10546,
                                "loc": {
                                  "start": {
                                    "line": 245,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 245,
                                    "column": 26
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10547,
                                "end": 10554,
                                "loc": {
                                  "start": {
                                    "line": 245,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 245,
                                    "column": 34
                                  }
                                },
                                "name": "Vector3"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 10566,
                      "end": 11041,
                      "loc": {
                        "start": {
                          "line": 246,
                          "column": 8
                        },
                        "end": {
                          "line": 256,
                          "column": 12
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 10566,
                        "end": 11040,
                        "loc": {
                          "start": {
                            "line": 246,
                            "column": 8
                          },
                          "end": {
                            "line": 256,
                            "column": 11
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 10566,
                          "end": 10599,
                          "loc": {
                            "start": {
                              "line": 246,
                              "column": 8
                            },
                            "end": {
                              "line": 246,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 10566,
                            "end": 10591,
                            "loc": {
                              "start": {
                                "line": 246,
                                "column": 8
                              },
                              "end": {
                                "line": 246,
                                "column": 33
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10566,
                              "end": 10589,
                              "loc": {
                                "start": {
                                  "line": 246,
                                  "column": 8
                                },
                                "end": {
                                  "line": 246,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 10566,
                                "end": 10570,
                                "loc": {
                                  "start": {
                                    "line": 246,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 246,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10571,
                                "end": 10589,
                                "loc": {
                                  "start": {
                                    "line": 246,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 246,
                                    "column": 31
                                  }
                                },
                                "name": "getObjectsOnSketch"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10592,
                            "end": 10599,
                            "loc": {
                              "start": {
                                "line": 246,
                                "column": 34
                              },
                              "end": {
                                "line": 246,
                                "column": 41
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 10600,
                            "end": 11039,
                            "loc": {
                              "start": {
                                "line": 246,
                                "column": 42
                              },
                              "end": {
                                "line": 256,
                                "column": 10
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 10600,
                                "end": 10603,
                                "loc": {
                                  "start": {
                                    "line": 246,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 246,
                                    "column": 45
                                  }
                                },
                                "name": "obj"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 10607,
                              "end": 11039,
                              "loc": {
                                "start": {
                                  "line": 246,
                                  "column": 49
                                },
                                "end": {
                                  "line": 256,
                                  "column": 10
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 10607,
                                "end": 10626,
                                "loc": {
                                  "start": {
                                    "line": 246,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 246,
                                    "column": 68
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 10607,
                                  "end": 10610,
                                  "loc": {
                                    "start": {
                                      "line": 246,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 246,
                                      "column": 52
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10611,
                                  "end": 10626,
                                  "loc": {
                                    "start": {
                                      "line": 246,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 246,
                                      "column": 68
                                    }
                                  },
                                  "name": "traverseVisible"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 10627,
                                  "end": 11038,
                                  "loc": {
                                    "start": {
                                      "line": 246,
                                      "column": 69
                                    },
                                    "end": {
                                      "line": 256,
                                      "column": 9
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 10627,
                                      "end": 10631,
                                      "loc": {
                                        "start": {
                                          "line": 246,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 246,
                                          "column": 73
                                        }
                                      },
                                      "name": "node"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 10635,
                                    "end": 11038,
                                    "loc": {
                                      "start": {
                                        "line": 246,
                                        "column": 77
                                      },
                                      "end": {
                                        "line": 256,
                                        "column": 9
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "IfStatement",
                                        "start": 10649,
                                        "end": 10720,
                                        "loc": {
                                          "start": {
                                            "line": 247,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 248,
                                            "column": 23
                                          }
                                        },
                                        "test": {
                                          "type": "UnaryExpression",
                                          "start": 10653,
                                          "end": 10695,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 58
                                            }
                                          },
                                          "operator": "!",
                                          "prefix": true,
                                          "argument": {
                                            "type": "BinaryExpression",
                                            "start": 10655,
                                            "end": 10694,
                                            "loc": {
                                              "start": {
                                                "line": 247,
                                                "column": 18
                                              },
                                              "end": {
                                                "line": 247,
                                                "column": 57
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 10655,
                                              "end": 10668,
                                              "loc": {
                                                "start": {
                                                  "line": 247,
                                                  "column": 18
                                                },
                                                "end": {
                                                  "line": 247,
                                                  "column": 31
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 10655,
                                                "end": 10659,
                                                "loc": {
                                                  "start": {
                                                    "line": 247,
                                                    "column": 18
                                                  },
                                                  "end": {
                                                    "line": 247,
                                                    "column": 22
                                                  }
                                                },
                                                "name": "node"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10660,
                                                "end": 10668,
                                                "loc": {
                                                  "start": {
                                                    "line": 247,
                                                    "column": 23
                                                  },
                                                  "end": {
                                                    "line": 247,
                                                    "column": 31
                                                  }
                                                },
                                                "name": "geometry"
                                              },
                                              "computed": false
                                            },
                                            "operator": "instanceof",
                                            "right": {
                                              "type": "MemberExpression",
                                              "start": 10680,
                                              "end": 10694,
                                              "loc": {
                                                "start": {
                                                  "line": 247,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 247,
                                                  "column": 57
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 10680,
                                                "end": 10685,
                                                "loc": {
                                                  "start": {
                                                    "line": 247,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 247,
                                                    "column": 48
                                                  }
                                                },
                                                "name": "THREE"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10686,
                                                "end": 10694,
                                                "loc": {
                                                  "start": {
                                                    "line": 247,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 247,
                                                    "column": 57
                                                  }
                                                },
                                                "name": "Geometry"
                                              },
                                              "computed": false
                                            },
                                            "parenthesizedExpression": true
                                          }
                                        },
                                        "consequent": {
                                          "type": "ReturnStatement",
                                          "start": 10713,
                                          "end": 10720,
                                          "loc": {
                                            "start": {
                                              "line": 248,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 248,
                                              "column": 23
                                            }
                                          },
                                          "argument": null
                                        },
                                        "alternate": null
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 10733,
                                        "end": 11028,
                                        "loc": {
                                          "start": {
                                            "line": 249,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 255,
                                            "column": 15
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 10733,
                                          "end": 11027,
                                          "loc": {
                                            "start": {
                                              "line": 249,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 14
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 10733,
                                            "end": 10763,
                                            "loc": {
                                              "start": {
                                                "line": 249,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 249,
                                                "column": 42
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 10733,
                                              "end": 10755,
                                              "loc": {
                                                "start": {
                                                  "line": 249,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 249,
                                                  "column": 34
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 10733,
                                                "end": 10746,
                                                "loc": {
                                                  "start": {
                                                    "line": 249,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 249,
                                                    "column": 25
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 10733,
                                                  "end": 10737,
                                                  "loc": {
                                                    "start": {
                                                      "line": 249,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 249,
                                                      "column": 16
                                                    }
                                                  },
                                                  "name": "node"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 10738,
                                                  "end": 10746,
                                                  "loc": {
                                                    "start": {
                                                      "line": 249,
                                                      "column": 17
                                                    },
                                                    "end": {
                                                      "line": 249,
                                                      "column": 25
                                                    }
                                                  },
                                                  "name": "geometry"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 10747,
                                                "end": 10755,
                                                "loc": {
                                                  "start": {
                                                    "line": 249,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 249,
                                                    "column": 34
                                                  }
                                                },
                                                "name": "vertices"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 10756,
                                              "end": 10763,
                                              "loc": {
                                                "start": {
                                                  "line": 249,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 249,
                                                  "column": 42
                                                }
                                              },
                                              "name": "forEach"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "ArrowFunctionExpression",
                                              "start": 10764,
                                              "end": 11026,
                                              "loc": {
                                                "start": {
                                                  "line": 249,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 255,
                                                  "column": 13
                                                }
                                              },
                                              "id": null,
                                              "generator": false,
                                              "expression": false,
                                              "async": false,
                                              "params": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 10764,
                                                  "end": 10770,
                                                  "loc": {
                                                    "start": {
                                                      "line": 249,
                                                      "column": 43
                                                    },
                                                    "end": {
                                                      "line": 249,
                                                      "column": 49
                                                    }
                                                  },
                                                  "name": "vertex"
                                                }
                                              ],
                                              "body": {
                                                "type": "BlockStatement",
                                                "start": 10774,
                                                "end": 11026,
                                                "loc": {
                                                  "start": {
                                                    "line": 249,
                                                    "column": 53
                                                  },
                                                  "end": {
                                                    "line": 255,
                                                    "column": 13
                                                  }
                                                },
                                                "body": [
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "start": 10878,
                                                    "end": 10894,
                                                    "loc": {
                                                      "start": {
                                                        "line": 251,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 251,
                                                        "column": 32
                                                      }
                                                    },
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "start": 10878,
                                                      "end": 10893,
                                                      "loc": {
                                                        "start": {
                                                          "line": 251,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 251,
                                                          "column": 31
                                                        }
                                                      },
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "start": 10878,
                                                        "end": 10885,
                                                        "loc": {
                                                          "start": {
                                                            "line": 251,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 251,
                                                            "column": 23
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "Identifier",
                                                          "start": 10878,
                                                          "end": 10880,
                                                          "loc": {
                                                            "start": {
                                                              "line": 251,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 251,
                                                              "column": 18
                                                            }
                                                          },
                                                          "name": "v1",
                                                          "leadingComments": null
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 10881,
                                                          "end": 10885,
                                                          "loc": {
                                                            "start": {
                                                              "line": 251,
                                                              "column": 19
                                                            },
                                                            "end": {
                                                              "line": 251,
                                                              "column": 23
                                                            }
                                                          },
                                                          "name": "copy"
                                                        },
                                                        "computed": false,
                                                        "leadingComments": null
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "start": 10886,
                                                          "end": 10892,
                                                          "loc": {
                                                            "start": {
                                                              "line": 251,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 251,
                                                              "column": 30
                                                            }
                                                          },
                                                          "name": "vertex"
                                                        }
                                                      ],
                                                      "leadingComments": null
                                                    },
                                                    "leadingComments": [
                                                      {
                                                        "type": "CommentLine",
                                                        "value": " translate vertex coordinates from local-to-node to local-to-sketch",
                                                        "start": 10792,
                                                        "end": 10861,
                                                        "loc": {
                                                          "start": {
                                                            "line": 250,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 250,
                                                            "column": 85
                                                          }
                                                        },
                                                        "range": [
                                                          10792,
                                                          10861
                                                        ]
                                                      }
                                                    ]
                                                  },
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "start": 10911,
                                                    "end": 10933,
                                                    "loc": {
                                                      "start": {
                                                        "line": 252,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 252,
                                                        "column": 38
                                                      }
                                                    },
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "start": 10911,
                                                      "end": 10932,
                                                      "loc": {
                                                        "start": {
                                                          "line": 252,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 252,
                                                          "column": 37
                                                        }
                                                      },
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "start": 10911,
                                                        "end": 10928,
                                                        "loc": {
                                                          "start": {
                                                            "line": 252,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 252,
                                                            "column": 33
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "Identifier",
                                                          "start": 10911,
                                                          "end": 10915,
                                                          "loc": {
                                                            "start": {
                                                              "line": 252,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 252,
                                                              "column": 20
                                                            }
                                                          },
                                                          "name": "node"
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 10916,
                                                          "end": 10928,
                                                          "loc": {
                                                            "start": {
                                                              "line": 252,
                                                              "column": 21
                                                            },
                                                            "end": {
                                                              "line": 252,
                                                              "column": 33
                                                            }
                                                          },
                                                          "name": "localToWorld"
                                                        },
                                                        "computed": false
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "start": 10929,
                                                          "end": 10931,
                                                          "loc": {
                                                            "start": {
                                                              "line": 252,
                                                              "column": 34
                                                            },
                                                            "end": {
                                                              "line": 252,
                                                              "column": 36
                                                            }
                                                          },
                                                          "name": "v1"
                                                        }
                                                      ]
                                                    }
                                                  },
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "start": 10950,
                                                    "end": 10972,
                                                    "loc": {
                                                      "start": {
                                                        "line": 253,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 253,
                                                        "column": 38
                                                      }
                                                    },
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "start": 10950,
                                                      "end": 10971,
                                                      "loc": {
                                                        "start": {
                                                          "line": 253,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 253,
                                                          "column": 37
                                                        }
                                                      },
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "start": 10950,
                                                        "end": 10967,
                                                        "loc": {
                                                          "start": {
                                                            "line": 253,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 253,
                                                            "column": 33
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "ThisExpression",
                                                          "start": 10950,
                                                          "end": 10954,
                                                          "loc": {
                                                            "start": {
                                                              "line": 253,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 253,
                                                              "column": 20
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 10955,
                                                          "end": 10967,
                                                          "loc": {
                                                            "start": {
                                                              "line": 253,
                                                              "column": 21
                                                            },
                                                            "end": {
                                                              "line": 253,
                                                              "column": 33
                                                            }
                                                          },
                                                          "name": "worldToLocal"
                                                        },
                                                        "computed": false
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "start": 10968,
                                                          "end": 10970,
                                                          "loc": {
                                                            "start": {
                                                              "line": 253,
                                                              "column": 34
                                                            },
                                                            "end": {
                                                              "line": 253,
                                                              "column": 36
                                                            }
                                                          },
                                                          "name": "v1"
                                                        }
                                                      ]
                                                    }
                                                  },
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "start": 10989,
                                                    "end": 11012,
                                                    "loc": {
                                                      "start": {
                                                        "line": 254,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 254,
                                                        "column": 39
                                                      }
                                                    },
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "start": 10989,
                                                      "end": 11011,
                                                      "loc": {
                                                        "start": {
                                                          "line": 254,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 254,
                                                          "column": 38
                                                        }
                                                      },
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "start": 10989,
                                                        "end": 11007,
                                                        "loc": {
                                                          "start": {
                                                            "line": 254,
                                                            "column": 16
                                                          },
                                                          "end": {
                                                            "line": 254,
                                                            "column": 34
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "Identifier",
                                                          "start": 10989,
                                                          "end": 10993,
                                                          "loc": {
                                                            "start": {
                                                              "line": 254,
                                                              "column": 16
                                                            },
                                                            "end": {
                                                              "line": 254,
                                                              "column": 20
                                                            }
                                                          },
                                                          "name": "bbox"
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 10994,
                                                          "end": 11007,
                                                          "loc": {
                                                            "start": {
                                                              "line": 254,
                                                              "column": 21
                                                            },
                                                            "end": {
                                                              "line": 254,
                                                              "column": 34
                                                            }
                                                          },
                                                          "name": "expandByPoint"
                                                        },
                                                        "computed": false
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "start": 11008,
                                                          "end": 11010,
                                                          "loc": {
                                                            "start": {
                                                              "line": 254,
                                                              "column": 35
                                                            },
                                                            "end": {
                                                              "line": 254,
                                                              "column": 37
                                                            }
                                                          },
                                                          "name": "v1"
                                                        }
                                                      ]
                                                    }
                                                  }
                                                ]
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 11051,
                      "end": 11076,
                      "loc": {
                        "start": {
                          "line": 258,
                          "column": 8
                        },
                        "end": {
                          "line": 258,
                          "column": 33
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11055,
                          "end": 11075,
                          "loc": {
                            "start": {
                              "line": 258,
                              "column": 12
                            },
                            "end": {
                              "line": 258,
                              "column": 32
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11055,
                            "end": 11062,
                            "loc": {
                              "start": {
                                "line": 258,
                                "column": 12
                              },
                              "end": {
                                "line": 258,
                                "column": 19
                              }
                            },
                            "name": "thisBox"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 11065,
                            "end": 11075,
                            "loc": {
                              "start": {
                                "line": 258,
                                "column": 22
                              },
                              "end": {
                                "line": 258,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11065,
                              "end": 11069,
                              "loc": {
                                "start": {
                                  "line": 258,
                                  "column": 22
                                },
                                "end": {
                                  "line": 258,
                                  "column": 26
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11070,
                              "end": 11075,
                              "loc": {
                                "start": {
                                  "line": 258,
                                  "column": 27
                                },
                                "end": {
                                  "line": 258,
                                  "column": 32
                                }
                              },
                              "name": "__box"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11085,
                      "end": 11126,
                      "loc": {
                        "start": {
                          "line": 259,
                          "column": 8
                        },
                        "end": {
                          "line": 259,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 11085,
                        "end": 11125,
                        "loc": {
                          "start": {
                            "line": 259,
                            "column": 8
                          },
                          "end": {
                            "line": 259,
                            "column": 48
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 11085,
                          "end": 11101,
                          "loc": {
                            "start": {
                              "line": 259,
                              "column": 8
                            },
                            "end": {
                              "line": 259,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 11085,
                            "end": 11092,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 8
                              },
                              "end": {
                                "line": 259,
                                "column": 15
                              }
                            },
                            "name": "thisBox"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11093,
                            "end": 11101,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 16
                              },
                              "end": {
                                "line": 259,
                                "column": 24
                              }
                            },
                            "name": "material"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 11104,
                          "end": 11125,
                          "loc": {
                            "start": {
                              "line": 259,
                              "column": 27
                            },
                            "end": {
                              "line": 259,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 11104,
                            "end": 11108,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 27
                              },
                              "end": {
                                "line": 259,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11109,
                            "end": 11125,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 32
                              },
                              "end": {
                                "line": 259,
                                "column": 48
                              }
                            },
                            "name": "frameBoxMaterial"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 11136,
                      "end": 11537,
                      "loc": {
                        "start": {
                          "line": 261,
                          "column": 8
                        },
                        "end": {
                          "line": 273,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 11140,
                        "end": 11154,
                        "loc": {
                          "start": {
                            "line": 261,
                            "column": 12
                          },
                          "end": {
                            "line": 261,
                            "column": 26
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11140,
                          "end": 11152,
                          "loc": {
                            "start": {
                              "line": 261,
                              "column": 12
                            },
                            "end": {
                              "line": 261,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 11140,
                            "end": 11144,
                            "loc": {
                              "start": {
                                "line": 261,
                                "column": 12
                              },
                              "end": {
                                "line": 261,
                                "column": 16
                              }
                            },
                            "name": "bbox"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11145,
                            "end": 11152,
                            "loc": {
                              "start": {
                                "line": 261,
                                "column": 17
                              },
                              "end": {
                                "line": 261,
                                "column": 24
                              }
                            },
                            "name": "isEmpty"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 11156,
                        "end": 11294,
                        "loc": {
                          "start": {
                            "line": 261,
                            "column": 28
                          },
                          "end": {
                            "line": 265,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 11205,
                            "end": 11241,
                            "loc": {
                              "start": {
                                "line": 263,
                                "column": 12
                              },
                              "end": {
                                "line": 263,
                                "column": 48
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11205,
                              "end": 11240,
                              "loc": {
                                "start": {
                                  "line": 263,
                                  "column": 12
                                },
                                "end": {
                                  "line": 263,
                                  "column": 47
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11205,
                                "end": 11222,
                                "loc": {
                                  "start": {
                                    "line": 263,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 263,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11205,
                                  "end": 11218,
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11205,
                                    "end": 11212,
                                    "loc": {
                                      "start": {
                                        "line": 263,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 263,
                                        "column": 19
                                      }
                                    },
                                    "name": "thisBox",
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11213,
                                    "end": 11218,
                                    "loc": {
                                      "start": {
                                        "line": 263,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 263,
                                        "column": 25
                                      }
                                    },
                                    "name": "scale"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11219,
                                  "end": 11222,
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 29
                                    }
                                  },
                                  "name": "set"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 11223,
                                  "end": 11227,
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 34
                                    }
                                  },
                                  "value": 0.001,
                                  "rawValue": 0.001,
                                  "raw": "1e-3"
                                },
                                {
                                  "type": "Literal",
                                  "start": 11229,
                                  "end": 11233,
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 40
                                    }
                                  },
                                  "value": 0.001,
                                  "rawValue": 0.001,
                                  "raw": "1e-3"
                                },
                                {
                                  "type": "Literal",
                                  "start": 11235,
                                  "end": 11239,
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 42
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 46
                                    }
                                  },
                                  "value": 0.001,
                                  "rawValue": 0.001,
                                  "raw": "1e-3"
                                }
                              ],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " (nothing on sketch)",
                                "start": 11170,
                                "end": 11192,
                                "loc": {
                                  "start": {
                                    "line": 262,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 262,
                                    "column": 34
                                  }
                                },
                                "range": [
                                  11170,
                                  11192
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11254,
                            "end": 11284,
                            "loc": {
                              "start": {
                                "line": 264,
                                "column": 12
                              },
                              "end": {
                                "line": 264,
                                "column": 42
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11254,
                              "end": 11283,
                              "loc": {
                                "start": {
                                  "line": 264,
                                  "column": 12
                                },
                                "end": {
                                  "line": 264,
                                  "column": 41
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11254,
                                "end": 11274,
                                "loc": {
                                  "start": {
                                    "line": 264,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 264,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11254,
                                  "end": 11270,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11254,
                                    "end": 11261,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 19
                                      }
                                    },
                                    "name": "thisBox"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11262,
                                    "end": 11270,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 28
                                      }
                                    },
                                    "name": "position"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11271,
                                  "end": 11274,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 32
                                    }
                                  },
                                  "name": "set"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 11275,
                                  "end": 11276,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 34
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Literal",
                                  "start": 11278,
                                  "end": 11279,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 37
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Literal",
                                  "start": 11281,
                                  "end": 11282,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 40
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          }
                        ]
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 11308,
                        "end": 11537,
                        "loc": {
                          "start": {
                            "line": 266,
                            "column": 13
                          },
                          "end": {
                            "line": 273,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 11350,
                            "end": 11369,
                            "loc": {
                              "start": {
                                "line": 268,
                                "column": 12
                              },
                              "end": {
                                "line": 268,
                                "column": 31
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 11350,
                              "end": 11368,
                              "loc": {
                                "start": {
                                  "line": 268,
                                  "column": 12
                                },
                                "end": {
                                  "line": 268,
                                  "column": 30
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 11350,
                                "end": 11360,
                                "loc": {
                                  "start": {
                                    "line": 268,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 268,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11350,
                                  "end": 11358,
                                  "loc": {
                                    "start": {
                                      "line": 268,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 268,
                                      "column": 20
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11350,
                                    "end": 11354,
                                    "loc": {
                                      "start": {
                                        "line": 268,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 268,
                                        "column": 16
                                      }
                                    },
                                    "name": "bbox",
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11355,
                                    "end": 11358,
                                    "loc": {
                                      "start": {
                                        "line": 268,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 268,
                                        "column": 20
                                      }
                                    },
                                    "name": "min"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11359,
                                  "end": 11360,
                                  "loc": {
                                    "start": {
                                      "line": 268,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 268,
                                      "column": 22
                                    }
                                  },
                                  "name": "z"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "right": {
                                "type": "UnaryExpression",
                                "start": 11363,
                                "end": 11368,
                                "loc": {
                                  "start": {
                                    "line": 268,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 268,
                                    "column": 30
                                  }
                                },
                                "operator": "-",
                                "prefix": true,
                                "argument": {
                                  "type": "Literal",
                                  "start": 11364,
                                  "end": 11368,
                                  "loc": {
                                    "start": {
                                      "line": 268,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 268,
                                      "column": 30
                                    }
                                  },
                                  "value": 0.001,
                                  "rawValue": 0.001,
                                  "raw": "1e-3"
                                }
                              },
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": "make box flat",
                                "start": 11322,
                                "end": 11337,
                                "loc": {
                                  "start": {
                                    "line": 267,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 267,
                                    "column": 27
                                  }
                                },
                                "range": [
                                  11322,
                                  11337
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11382,
                            "end": 11400,
                            "loc": {
                              "start": {
                                "line": 269,
                                "column": 12
                              },
                              "end": {
                                "line": 269,
                                "column": 30
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 11382,
                              "end": 11399,
                              "loc": {
                                "start": {
                                  "line": 269,
                                  "column": 12
                                },
                                "end": {
                                  "line": 269,
                                  "column": 29
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 11382,
                                "end": 11392,
                                "loc": {
                                  "start": {
                                    "line": 269,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 269,
                                    "column": 22
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 11382,
                                  "end": 11390,
                                  "loc": {
                                    "start": {
                                      "line": 269,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 269,
                                      "column": 20
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11382,
                                    "end": 11386,
                                    "loc": {
                                      "start": {
                                        "line": 269,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 269,
                                        "column": 16
                                      }
                                    },
                                    "name": "bbox"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11387,
                                    "end": 11390,
                                    "loc": {
                                      "start": {
                                        "line": 269,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 269,
                                        "column": 20
                                      }
                                    },
                                    "name": "max"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11391,
                                  "end": 11392,
                                  "loc": {
                                    "start": {
                                      "line": 269,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 269,
                                      "column": 22
                                    }
                                  },
                                  "name": "z"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Literal",
                                "start": 11395,
                                "end": 11399,
                                "loc": {
                                  "start": {
                                    "line": 269,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 269,
                                    "column": 29
                                  }
                                },
                                "value": 0.001,
                                "rawValue": 0.001,
                                "raw": "1e-3"
                              }
                            },
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " !nb: updates thisBox from bbox",
                                "start": 11413,
                                "end": 11446,
                                "loc": {
                                  "start": {
                                    "line": 270,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 270,
                                    "column": 45
                                  }
                                },
                                "range": [
                                  11413,
                                  11446
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11459,
                            "end": 11484,
                            "loc": {
                              "start": {
                                "line": 271,
                                "column": 12
                              },
                              "end": {
                                "line": 271,
                                "column": 37
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11459,
                              "end": 11483,
                              "loc": {
                                "start": {
                                  "line": 271,
                                  "column": 12
                                },
                                "end": {
                                  "line": 271,
                                  "column": 36
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11459,
                                "end": 11468,
                                "loc": {
                                  "start": {
                                    "line": 271,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 271,
                                    "column": 21
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 11459,
                                  "end": 11463,
                                  "loc": {
                                    "start": {
                                      "line": 271,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 271,
                                      "column": 16
                                    }
                                  },
                                  "name": "bbox",
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11464,
                                  "end": 11468,
                                  "loc": {
                                    "start": {
                                      "line": 271,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 271,
                                      "column": 21
                                    }
                                  },
                                  "name": "size"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 11469,
                                  "end": 11482,
                                  "loc": {
                                    "start": {
                                      "line": 271,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 271,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11469,
                                    "end": 11476,
                                    "loc": {
                                      "start": {
                                        "line": 271,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 271,
                                        "column": 29
                                      }
                                    },
                                    "name": "thisBox"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11477,
                                    "end": 11482,
                                    "loc": {
                                      "start": {
                                        "line": 271,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 271,
                                        "column": 35
                                      }
                                    },
                                    "name": "scale"
                                  },
                                  "computed": false
                                }
                              ],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " !nb: updates thisBox from bbox",
                                "start": 11413,
                                "end": 11446,
                                "loc": {
                                  "start": {
                                    "line": 270,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 270,
                                    "column": 45
                                  }
                                },
                                "range": [
                                  11413,
                                  11446
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 11497,
                            "end": 11527,
                            "loc": {
                              "start": {
                                "line": 272,
                                "column": 12
                              },
                              "end": {
                                "line": 272,
                                "column": 42
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 11497,
                              "end": 11526,
                              "loc": {
                                "start": {
                                  "line": 272,
                                  "column": 12
                                },
                                "end": {
                                  "line": 272,
                                  "column": 41
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 11497,
                                "end": 11508,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 11497,
                                  "end": 11501,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 16
                                    }
                                  },
                                  "name": "bbox"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11502,
                                  "end": 11508,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 23
                                    }
                                  },
                                  "name": "center"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "MemberExpression",
                                  "start": 11509,
                                  "end": 11525,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 40
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 11509,
                                    "end": 11516,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 31
                                      }
                                    },
                                    "name": "thisBox"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 11517,
                                    "end": 11525,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 40
                                      }
                                    },
                                    "name": "position"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11549,
              "end": 11908,
              "loc": {
                "start": {
                  "line": 276,
                  "column": 4
                },
                "end": {
                  "line": 287,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11549,
                "end": 11560,
                "loc": {
                  "start": {
                    "line": 276,
                    "column": 4
                  },
                  "end": {
                    "line": 276,
                    "column": 15
                  }
                },
                "name": "infiniteBox"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11560,
                "end": 11908,
                "loc": {
                  "start": {
                    "line": 276,
                    "column": 15
                  },
                  "end": {
                    "line": 287,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 11563,
                  "end": 11908,
                  "loc": {
                    "start": {
                      "line": 276,
                      "column": 18
                    },
                    "end": {
                      "line": 287,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 11573,
                      "end": 11601,
                      "loc": {
                        "start": {
                          "line": 277,
                          "column": 8
                        },
                        "end": {
                          "line": 277,
                          "column": 36
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11577,
                          "end": 11600,
                          "loc": {
                            "start": {
                              "line": 277,
                              "column": 12
                            },
                            "end": {
                              "line": 277,
                              "column": 35
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11577,
                            "end": 11581,
                            "loc": {
                              "start": {
                                "line": 277,
                                "column": 12
                              },
                              "end": {
                                "line": 277,
                                "column": 16
                              }
                            },
                            "name": "bbox"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 11584,
                            "end": 11600,
                            "loc": {
                              "start": {
                                "line": 277,
                                "column": 19
                              },
                              "end": {
                                "line": 277,
                                "column": 35
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 11588,
                              "end": 11598,
                              "loc": {
                                "start": {
                                  "line": 277,
                                  "column": 23
                                },
                                "end": {
                                  "line": 277,
                                  "column": 33
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 11588,
                                "end": 11593,
                                "loc": {
                                  "start": {
                                    "line": 277,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 277,
                                    "column": 28
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 11594,
                                "end": 11598,
                                "loc": {
                                  "start": {
                                    "line": 277,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 277,
                                    "column": 33
                                  }
                                },
                                "name": "Box3"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11610,
                      "end": 11639,
                      "loc": {
                        "start": {
                          "line": 278,
                          "column": 8
                        },
                        "end": {
                          "line": 278,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11610,
                        "end": 11638,
                        "loc": {
                          "start": {
                            "line": 278,
                            "column": 8
                          },
                          "end": {
                            "line": 278,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11610,
                          "end": 11622,
                          "loc": {
                            "start": {
                              "line": 278,
                              "column": 8
                            },
                            "end": {
                              "line": 278,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 11610,
                            "end": 11618,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 8
                              },
                              "end": {
                                "line": 278,
                                "column": 16
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 11610,
                              "end": 11614,
                              "loc": {
                                "start": {
                                  "line": 278,
                                  "column": 8
                                },
                                "end": {
                                  "line": 278,
                                  "column": 12
                                }
                              },
                              "name": "bbox"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11615,
                              "end": 11618,
                              "loc": {
                                "start": {
                                  "line": 278,
                                  "column": 13
                                },
                                "end": {
                                  "line": 278,
                                  "column": 16
                                }
                              },
                              "name": "max"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11619,
                            "end": 11622,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 17
                              },
                              "end": {
                                "line": 278,
                                "column": 20
                              }
                            },
                            "name": "set"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 11623,
                            "end": 11626,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 21
                              },
                              "end": {
                                "line": 278,
                                "column": 24
                              }
                            },
                            "value": 1000,
                            "rawValue": 1000,
                            "raw": "1e3"
                          },
                          {
                            "type": "Literal",
                            "start": 11628,
                            "end": 11631,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 26
                              },
                              "end": {
                                "line": 278,
                                "column": 29
                              }
                            },
                            "value": 1000,
                            "rawValue": 1000,
                            "raw": "1e3"
                          },
                          {
                            "type": "Literal",
                            "start": 11633,
                            "end": 11637,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 31
                              },
                              "end": {
                                "line": 278,
                                "column": 35
                              }
                            },
                            "value": 0.001,
                            "rawValue": 0.001,
                            "raw": "1e-3"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11648,
                      "end": 11672,
                      "loc": {
                        "start": {
                          "line": 279,
                          "column": 8
                        },
                        "end": {
                          "line": 279,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11648,
                        "end": 11671,
                        "loc": {
                          "start": {
                            "line": 279,
                            "column": 8
                          },
                          "end": {
                            "line": 279,
                            "column": 31
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11648,
                          "end": 11661,
                          "loc": {
                            "start": {
                              "line": 279,
                              "column": 8
                            },
                            "end": {
                              "line": 279,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 11648,
                            "end": 11656,
                            "loc": {
                              "start": {
                                "line": 279,
                                "column": 8
                              },
                              "end": {
                                "line": 279,
                                "column": 16
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 11648,
                              "end": 11652,
                              "loc": {
                                "start": {
                                  "line": 279,
                                  "column": 8
                                },
                                "end": {
                                  "line": 279,
                                  "column": 12
                                }
                              },
                              "name": "bbox"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11653,
                              "end": 11656,
                              "loc": {
                                "start": {
                                  "line": 279,
                                  "column": 13
                                },
                                "end": {
                                  "line": 279,
                                  "column": 16
                                }
                              },
                              "name": "min"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11657,
                            "end": 11661,
                            "loc": {
                              "start": {
                                "line": 279,
                                "column": 17
                              },
                              "end": {
                                "line": 279,
                                "column": 21
                              }
                            },
                            "name": "copy"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 11662,
                            "end": 11670,
                            "loc": {
                              "start": {
                                "line": 279,
                                "column": 22
                              },
                              "end": {
                                "line": 279,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 11662,
                              "end": 11666,
                              "loc": {
                                "start": {
                                  "line": 279,
                                  "column": 22
                                },
                                "end": {
                                  "line": 279,
                                  "column": 26
                                }
                              },
                              "name": "bbox"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11667,
                              "end": 11670,
                              "loc": {
                                "start": {
                                  "line": 279,
                                  "column": 27
                                },
                                "end": {
                                  "line": 279,
                                  "column": 30
                                }
                              },
                              "name": "max"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11681,
                      "end": 11699,
                      "loc": {
                        "start": {
                          "line": 280,
                          "column": 8
                        },
                        "end": {
                          "line": 280,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11681,
                        "end": 11698,
                        "loc": {
                          "start": {
                            "line": 280,
                            "column": 8
                          },
                          "end": {
                            "line": 280,
                            "column": 25
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11681,
                          "end": 11696,
                          "loc": {
                            "start": {
                              "line": 280,
                              "column": 8
                            },
                            "end": {
                              "line": 280,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 11681,
                            "end": 11689,
                            "loc": {
                              "start": {
                                "line": 280,
                                "column": 8
                              },
                              "end": {
                                "line": 280,
                                "column": 16
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 11681,
                              "end": 11685,
                              "loc": {
                                "start": {
                                  "line": 280,
                                  "column": 8
                                },
                                "end": {
                                  "line": 280,
                                  "column": 12
                                }
                              },
                              "name": "bbox"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11686,
                              "end": 11689,
                              "loc": {
                                "start": {
                                  "line": 280,
                                  "column": 13
                                },
                                "end": {
                                  "line": 280,
                                  "column": 16
                                }
                              },
                              "name": "min"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11690,
                            "end": 11696,
                            "loc": {
                              "start": {
                                "line": 280,
                                "column": 17
                              },
                              "end": {
                                "line": 280,
                                "column": 23
                              }
                            },
                            "name": "negate"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 11709,
                      "end": 11734,
                      "loc": {
                        "start": {
                          "line": 282,
                          "column": 8
                        },
                        "end": {
                          "line": 282,
                          "column": 33
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 11713,
                          "end": 11733,
                          "loc": {
                            "start": {
                              "line": 282,
                              "column": 12
                            },
                            "end": {
                              "line": 282,
                              "column": 32
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 11713,
                            "end": 11720,
                            "loc": {
                              "start": {
                                "line": 282,
                                "column": 12
                              },
                              "end": {
                                "line": 282,
                                "column": 19
                              }
                            },
                            "name": "thisBox"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 11723,
                            "end": 11733,
                            "loc": {
                              "start": {
                                "line": 282,
                                "column": 22
                              },
                              "end": {
                                "line": 282,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 11723,
                              "end": 11727,
                              "loc": {
                                "start": {
                                  "line": 282,
                                  "column": 22
                                },
                                "end": {
                                  "line": 282,
                                  "column": 26
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11728,
                              "end": 11733,
                              "loc": {
                                "start": {
                                  "line": 282,
                                  "column": 27
                                },
                                "end": {
                                  "line": 282,
                                  "column": 32
                                }
                              },
                              "name": "__box"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11743,
                      "end": 11787,
                      "loc": {
                        "start": {
                          "line": 283,
                          "column": 8
                        },
                        "end": {
                          "line": 283,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 11743,
                        "end": 11786,
                        "loc": {
                          "start": {
                            "line": 283,
                            "column": 8
                          },
                          "end": {
                            "line": 283,
                            "column": 51
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 11743,
                          "end": 11759,
                          "loc": {
                            "start": {
                              "line": 283,
                              "column": 8
                            },
                            "end": {
                              "line": 283,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 11743,
                            "end": 11750,
                            "loc": {
                              "start": {
                                "line": 283,
                                "column": 8
                              },
                              "end": {
                                "line": 283,
                                "column": 15
                              }
                            },
                            "name": "thisBox"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11751,
                            "end": 11759,
                            "loc": {
                              "start": {
                                "line": 283,
                                "column": 16
                              },
                              "end": {
                                "line": 283,
                                "column": 24
                              }
                            },
                            "name": "material"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 11762,
                          "end": 11786,
                          "loc": {
                            "start": {
                              "line": 283,
                              "column": 27
                            },
                            "end": {
                              "line": 283,
                              "column": 51
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 11762,
                            "end": 11766,
                            "loc": {
                              "start": {
                                "line": 283,
                                "column": 27
                              },
                              "end": {
                                "line": 283,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11767,
                            "end": 11786,
                            "loc": {
                              "start": {
                                "line": 283,
                                "column": 32
                              },
                              "end": {
                                "line": 283,
                                "column": 51
                              }
                            },
                            "name": "infiniteBoxMaterial"
                          },
                          "computed": false
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " !nb: updates thisBox from bbox",
                          "start": 11796,
                          "end": 11829,
                          "loc": {
                            "start": {
                              "line": 284,
                              "column": 8
                            },
                            "end": {
                              "line": 284,
                              "column": 41
                            }
                          },
                          "range": [
                            11796,
                            11829
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11838,
                      "end": 11863,
                      "loc": {
                        "start": {
                          "line": 285,
                          "column": 8
                        },
                        "end": {
                          "line": 285,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11838,
                        "end": 11862,
                        "loc": {
                          "start": {
                            "line": 285,
                            "column": 8
                          },
                          "end": {
                            "line": 285,
                            "column": 32
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11838,
                          "end": 11847,
                          "loc": {
                            "start": {
                              "line": 285,
                              "column": 8
                            },
                            "end": {
                              "line": 285,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 11838,
                            "end": 11842,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 8
                              },
                              "end": {
                                "line": 285,
                                "column": 12
                              }
                            },
                            "name": "bbox",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11843,
                            "end": 11847,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 13
                              },
                              "end": {
                                "line": 285,
                                "column": 17
                              }
                            },
                            "name": "size"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 11848,
                            "end": 11861,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 18
                              },
                              "end": {
                                "line": 285,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 11848,
                              "end": 11855,
                              "loc": {
                                "start": {
                                  "line": 285,
                                  "column": 18
                                },
                                "end": {
                                  "line": 285,
                                  "column": 25
                                }
                              },
                              "name": "thisBox"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11856,
                              "end": 11861,
                              "loc": {
                                "start": {
                                  "line": 285,
                                  "column": 26
                                },
                                "end": {
                                  "line": 285,
                                  "column": 31
                                }
                              },
                              "name": "scale"
                            },
                            "computed": false
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " !nb: updates thisBox from bbox",
                          "start": 11796,
                          "end": 11829,
                          "loc": {
                            "start": {
                              "line": 284,
                              "column": 8
                            },
                            "end": {
                              "line": 284,
                              "column": 41
                            }
                          },
                          "range": [
                            11796,
                            11829
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11872,
                      "end": 11902,
                      "loc": {
                        "start": {
                          "line": 286,
                          "column": 8
                        },
                        "end": {
                          "line": 286,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11872,
                        "end": 11901,
                        "loc": {
                          "start": {
                            "line": 286,
                            "column": 8
                          },
                          "end": {
                            "line": 286,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11872,
                          "end": 11883,
                          "loc": {
                            "start": {
                              "line": 286,
                              "column": 8
                            },
                            "end": {
                              "line": 286,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 11872,
                            "end": 11876,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 8
                              },
                              "end": {
                                "line": 286,
                                "column": 12
                              }
                            },
                            "name": "bbox"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11877,
                            "end": 11883,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 13
                              },
                              "end": {
                                "line": 286,
                                "column": 19
                              }
                            },
                            "name": "center"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 11884,
                            "end": 11900,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 20
                              },
                              "end": {
                                "line": 286,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 11884,
                              "end": 11891,
                              "loc": {
                                "start": {
                                  "line": 286,
                                  "column": 20
                                },
                                "end": {
                                  "line": 286,
                                  "column": 27
                                }
                              },
                              "name": "thisBox"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 11892,
                              "end": 11900,
                              "loc": {
                                "start": {
                                  "line": 286,
                                  "column": 28
                                },
                                "end": {
                                  "line": 286,
                                  "column": 36
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 11914,
              "end": 12014,
              "loc": {
                "start": {
                  "line": 289,
                  "column": 4
                },
                "end": {
                  "line": 292,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11914,
                "end": 11922,
                "loc": {
                  "start": {
                    "line": 289,
                    "column": 4
                  },
                  "end": {
                    "line": 289,
                    "column": 12
                  }
                },
                "name": "showGrid"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 11922,
                "end": 12014,
                "loc": {
                  "start": {
                    "line": 289,
                    "column": 12
                  },
                  "end": {
                    "line": 292,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 11925,
                  "end": 12014,
                  "loc": {
                    "start": {
                      "line": 289,
                      "column": 15
                    },
                    "end": {
                      "line": 292,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 11935,
                      "end": 11981,
                      "loc": {
                        "start": {
                          "line": 290,
                          "column": 8
                        },
                        "end": {
                          "line": 290,
                          "column": 54
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 11935,
                        "end": 11980,
                        "loc": {
                          "start": {
                            "line": 290,
                            "column": 8
                          },
                          "end": {
                            "line": 290,
                            "column": 53
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11935,
                          "end": 11952,
                          "loc": {
                            "start": {
                              "line": 290,
                              "column": 8
                            },
                            "end": {
                              "line": 290,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 11935,
                            "end": 11939,
                            "loc": {
                              "start": {
                                "line": 290,
                                "column": 8
                              },
                              "end": {
                                "line": 290,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11940,
                            "end": 11952,
                            "loc": {
                              "start": {
                                "line": 290,
                                "column": 13
                              },
                              "end": {
                                "line": 290,
                                "column": 25
                              }
                            },
                            "name": "addAuxObject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrayExpression",
                            "start": 11953,
                            "end": 11979,
                            "loc": {
                              "start": {
                                "line": 290,
                                "column": 26
                              },
                              "end": {
                                "line": 290,
                                "column": 52
                              }
                            },
                            "elements": [
                              {
                                "type": "MemberExpression",
                                "start": 11954,
                                "end": 11965,
                                "loc": {
                                  "start": {
                                    "line": 290,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 290,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11954,
                                  "end": 11958,
                                  "loc": {
                                    "start": {
                                      "line": 290,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 290,
                                      "column": 31
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11959,
                                  "end": 11965,
                                  "loc": {
                                    "start": {
                                      "line": 290,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 290,
                                      "column": 38
                                    }
                                  },
                                  "name": "__grid"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 11967,
                                "end": 11978,
                                "loc": {
                                  "start": {
                                    "line": 290,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 290,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 11967,
                                  "end": 11971,
                                  "loc": {
                                    "start": {
                                      "line": 290,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 290,
                                      "column": 44
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 11972,
                                  "end": 11978,
                                  "loc": {
                                    "start": {
                                      "line": 290,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 290,
                                      "column": 51
                                    }
                                  },
                                  "name": "__axis"
                                },
                                "computed": false
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 11990,
                      "end": 12008,
                      "loc": {
                        "start": {
                          "line": 291,
                          "column": 8
                        },
                        "end": {
                          "line": 291,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 11990,
                        "end": 12007,
                        "loc": {
                          "start": {
                            "line": 291,
                            "column": 8
                          },
                          "end": {
                            "line": 291,
                            "column": 25
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 11990,
                          "end": 11999,
                          "loc": {
                            "start": {
                              "line": 291,
                              "column": 8
                            },
                            "end": {
                              "line": 291,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 11990,
                            "end": 11994,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 8
                              },
                              "end": {
                                "line": 291,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11995,
                            "end": 11999,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 13
                              },
                              "end": {
                                "line": 291,
                                "column": 17
                              }
                            },
                            "name": "zoom"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "UnaryExpression",
                          "start": 12002,
                          "end": 12007,
                          "loc": {
                            "start": {
                              "line": 291,
                              "column": 20
                            },
                            "end": {
                              "line": 291,
                              "column": 25
                            }
                          },
                          "operator": "-",
                          "prefix": true,
                          "argument": {
                            "type": "Literal",
                            "start": 12004,
                            "end": 12007,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 22
                              },
                              "end": {
                                "line": 291,
                                "column": 25
                              }
                            },
                            "value": 250,
                            "rawValue": 250,
                            "raw": "250"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12020,
              "end": 12096,
              "loc": {
                "start": {
                  "line": 294,
                  "column": 4
                },
                "end": {
                  "line": 296,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12020,
                "end": 12028,
                "loc": {
                  "start": {
                    "line": 294,
                    "column": 4
                  },
                  "end": {
                    "line": 294,
                    "column": 12
                  }
                },
                "name": "hideGrid"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12028,
                "end": 12096,
                "loc": {
                  "start": {
                    "line": 294,
                    "column": 12
                  },
                  "end": {
                    "line": 296,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 12031,
                  "end": 12096,
                  "loc": {
                    "start": {
                      "line": 294,
                      "column": 15
                    },
                    "end": {
                      "line": 296,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 12041,
                      "end": 12090,
                      "loc": {
                        "start": {
                          "line": 295,
                          "column": 8
                        },
                        "end": {
                          "line": 295,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 12041,
                        "end": 12089,
                        "loc": {
                          "start": {
                            "line": 295,
                            "column": 8
                          },
                          "end": {
                            "line": 295,
                            "column": 56
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 12041,
                          "end": 12061,
                          "loc": {
                            "start": {
                              "line": 295,
                              "column": 8
                            },
                            "end": {
                              "line": 295,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 12041,
                            "end": 12045,
                            "loc": {
                              "start": {
                                "line": 295,
                                "column": 8
                              },
                              "end": {
                                "line": 295,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 12046,
                            "end": 12061,
                            "loc": {
                              "start": {
                                "line": 295,
                                "column": 13
                              },
                              "end": {
                                "line": 295,
                                "column": 28
                              }
                            },
                            "name": "removeAuxObject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrayExpression",
                            "start": 12062,
                            "end": 12088,
                            "loc": {
                              "start": {
                                "line": 295,
                                "column": 29
                              },
                              "end": {
                                "line": 295,
                                "column": 55
                              }
                            },
                            "elements": [
                              {
                                "type": "MemberExpression",
                                "start": 12063,
                                "end": 12074,
                                "loc": {
                                  "start": {
                                    "line": 295,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 295,
                                    "column": 41
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12063,
                                  "end": 12067,
                                  "loc": {
                                    "start": {
                                      "line": 295,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 295,
                                      "column": 34
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12068,
                                  "end": 12074,
                                  "loc": {
                                    "start": {
                                      "line": 295,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 295,
                                      "column": 41
                                    }
                                  },
                                  "name": "__grid"
                                },
                                "computed": false
                              },
                              {
                                "type": "MemberExpression",
                                "start": 12076,
                                "end": 12087,
                                "loc": {
                                  "start": {
                                    "line": 295,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 295,
                                    "column": 54
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12076,
                                  "end": 12080,
                                  "loc": {
                                    "start": {
                                      "line": 295,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 295,
                                      "column": 47
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12081,
                                  "end": 12087,
                                  "loc": {
                                    "start": {
                                      "line": 295,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 295,
                                      "column": 54
                                    }
                                  },
                                  "name": "__axis"
                                },
                                "computed": false
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 12102,
              "end": 15901,
              "loc": {
                "start": {
                  "line": 298,
                  "column": 4
                },
                "end": {
                  "line": 376,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 12102,
                "end": 12112,
                "loc": {
                  "start": {
                    "line": 298,
                    "column": 4
                  },
                  "end": {
                    "line": 298,
                    "column": 14
                  }
                },
                "name": "updateGrid"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 12112,
                "end": 15901,
                "loc": {
                  "start": {
                    "line": 298,
                    "column": 14
                  },
                  "end": {
                    "line": 376,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 12113,
                    "end": 12127,
                    "loc": {
                      "start": {
                        "line": 298,
                        "column": 15
                      },
                      "end": {
                        "line": 298,
                        "column": 29
                      }
                    },
                    "name": "cameraDistance"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 12129,
                  "end": 15901,
                  "loc": {
                    "start": {
                      "line": 298,
                      "column": 31
                    },
                    "end": {
                      "line": 376,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 12139,
                      "end": 12178,
                      "loc": {
                        "start": {
                          "line": 299,
                          "column": 8
                        },
                        "end": {
                          "line": 299,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 12139,
                        "end": 12177,
                        "loc": {
                          "start": {
                            "line": 299,
                            "column": 8
                          },
                          "end": {
                            "line": 299,
                            "column": 46
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 12139,
                          "end": 12153,
                          "loc": {
                            "start": {
                              "line": 299,
                              "column": 8
                            },
                            "end": {
                              "line": 299,
                              "column": 22
                            }
                          },
                          "name": "cameraDistance"
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 12156,
                          "end": 12177,
                          "loc": {
                            "start": {
                              "line": 299,
                              "column": 25
                            },
                            "end": {
                              "line": 299,
                              "column": 46
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 12156,
                            "end": 12170,
                            "loc": {
                              "start": {
                                "line": 299,
                                "column": 25
                              },
                              "end": {
                                "line": 299,
                                "column": 39
                              }
                            },
                            "name": "cameraDistance"
                          },
                          "operator": "||",
                          "right": {
                            "type": "Literal",
                            "start": 12174,
                            "end": 12177,
                            "loc": {
                              "start": {
                                "line": 299,
                                "column": 43
                              },
                              "end": {
                                "line": 299,
                                "column": 46
                              }
                            },
                            "value": 100,
                            "rawValue": 100,
                            "raw": "100"
                          }
                        }
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "undefined on initial call",
                          "start": 12179,
                          "end": 12206,
                          "loc": {
                            "start": {
                              "line": 299,
                              "column": 48
                            },
                            "end": {
                              "line": 299,
                              "column": 75
                            }
                          },
                          "range": [
                            12179,
                            12206
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " lines length and number calculating",
                          "start": 12215,
                          "end": 12253,
                          "loc": {
                            "start": {
                              "line": 300,
                              "column": 8
                            },
                            "end": {
                              "line": 300,
                              "column": 46
                            }
                          },
                          "range": [
                            12215,
                            12253
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12262,
                      "end": 12322,
                      "loc": {
                        "start": {
                          "line": 301,
                          "column": 8
                        },
                        "end": {
                          "line": 301,
                          "column": 68
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12266,
                          "end": 12321,
                          "loc": {
                            "start": {
                              "line": 301,
                              "column": 12
                            },
                            "end": {
                              "line": 301,
                              "column": 67
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12266,
                            "end": 12270,
                            "loc": {
                              "start": {
                                "line": 301,
                                "column": 12
                              },
                              "end": {
                                "line": 301,
                                "column": 16
                              }
                            },
                            "name": "step",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 12273,
                            "end": 12321,
                            "loc": {
                              "start": {
                                "line": 301,
                                "column": 19
                              },
                              "end": {
                                "line": 301,
                                "column": 67
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12273,
                              "end": 12290,
                              "loc": {
                                "start": {
                                  "line": 301,
                                  "column": 19
                                },
                                "end": {
                                  "line": 301,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 12273,
                                "end": 12277,
                                "loc": {
                                  "start": {
                                    "line": 301,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 301,
                                    "column": 23
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12278,
                                "end": 12290,
                                "loc": {
                                  "start": {
                                    "line": 301,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 301,
                                    "column": 36
                                  }
                                },
                                "name": "calcGridStep"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 12291,
                                "end": 12305,
                                "loc": {
                                  "start": {
                                    "line": 301,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 301,
                                    "column": 51
                                  }
                                },
                                "name": "cameraDistance"
                              },
                              {
                                "type": "MemberExpression",
                                "start": 12307,
                                "end": 12320,
                                "loc": {
                                  "start": {
                                    "line": 301,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 301,
                                    "column": 66
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12307,
                                  "end": 12311,
                                  "loc": {
                                    "start": {
                                      "line": 301,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 301,
                                      "column": 57
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12312,
                                  "end": 12320,
                                  "loc": {
                                    "start": {
                                      "line": 301,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 301,
                                      "column": 66
                                    }
                                  },
                                  "name": "gridStep"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "undefined on initial call",
                          "start": 12179,
                          "end": 12206,
                          "loc": {
                            "start": {
                              "line": 299,
                              "column": 48
                            },
                            "end": {
                              "line": 299,
                              "column": 75
                            }
                          },
                          "range": [
                            12179,
                            12206
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " lines length and number calculating",
                          "start": 12215,
                          "end": 12253,
                          "loc": {
                            "start": {
                              "line": 300,
                              "column": 8
                            },
                            "end": {
                              "line": 300,
                              "column": 46
                            }
                          },
                          "range": [
                            12215,
                            12253
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12331,
                      "end": 12386,
                      "loc": {
                        "start": {
                          "line": 302,
                          "column": 8
                        },
                        "end": {
                          "line": 302,
                          "column": 63
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12335,
                          "end": 12385,
                          "loc": {
                            "start": {
                              "line": 302,
                              "column": 12
                            },
                            "end": {
                              "line": 302,
                              "column": 62
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12335,
                            "end": 12343,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 12
                              },
                              "end": {
                                "line": 302,
                                "column": 20
                              }
                            },
                            "name": "axisSize"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 12346,
                            "end": 12385,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 23
                              },
                              "end": {
                                "line": 302,
                                "column": 62
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 12346,
                              "end": 12363,
                              "loc": {
                                "start": {
                                  "line": 302,
                                  "column": 23
                                },
                                "end": {
                                  "line": 302,
                                  "column": 40
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 12346,
                                "end": 12350,
                                "loc": {
                                  "start": {
                                    "line": 302,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 302,
                                    "column": 27
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 12351,
                                "end": 12363,
                                "loc": {
                                  "start": {
                                    "line": 302,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 302,
                                    "column": 40
                                  }
                                },
                                "name": "calcAxisSize"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 12364,
                                "end": 12378,
                                "loc": {
                                  "start": {
                                    "line": 302,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 302,
                                    "column": 55
                                  }
                                },
                                "name": "cameraDistance"
                              },
                              {
                                "type": "Identifier",
                                "start": 12380,
                                "end": 12384,
                                "loc": {
                                  "start": {
                                    "line": 302,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 302,
                                    "column": 61
                                  }
                                },
                                "name": "step"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 12395,
                      "end": 12438,
                      "loc": {
                        "start": {
                          "line": 303,
                          "column": 8
                        },
                        "end": {
                          "line": 303,
                          "column": 51
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 12399,
                          "end": 12437,
                          "loc": {
                            "start": {
                              "line": 303,
                              "column": 12
                            },
                            "end": {
                              "line": 303,
                              "column": 50
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 12399,
                            "end": 12409,
                            "loc": {
                              "start": {
                                "line": 303,
                                "column": 12
                              },
                              "end": {
                                "line": 303,
                                "column": 22
                              }
                            },
                            "name": "screenSize"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 12412,
                            "end": 12437,
                            "loc": {
                              "start": {
                                "line": 303,
                                "column": 25
                              },
                              "end": {
                                "line": 303,
                                "column": 50
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 12412,
                              "end": 12433,
                              "loc": {
                                "start": {
                                  "line": 303,
                                  "column": 25
                                },
                                "end": {
                                  "line": 303,
                                  "column": 46
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 12412,
                                "end": 12416,
                                "loc": {
                                  "start": {
                                    "line": 303,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 303,
                                    "column": 29
                                  }
                                },
                                "name": "step"
                              },
                              "operator": "*",
                              "right": {
                                "type": "MemberExpression",
                                "start": 12420,
                                "end": 12433,
                                "loc": {
                                  "start": {
                                    "line": 303,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 303,
                                    "column": 46
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12420,
                                  "end": 12424,
                                  "loc": {
                                    "start": {
                                      "line": 303,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 303,
                                      "column": 37
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12425,
                                  "end": 12433,
                                  "loc": {
                                    "start": {
                                      "line": 303,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 303,
                                      "column": 46
                                    }
                                  },
                                  "name": "gridSize"
                                },
                                "computed": false
                              }
                            },
                            "operator": "*",
                            "right": {
                              "type": "Literal",
                              "start": 12436,
                              "end": 12437,
                              "loc": {
                                "start": {
                                  "line": 303,
                                  "column": 49
                                },
                                "end": {
                                  "line": 303,
                                  "column": 50
                                }
                              },
                              "value": 2,
                              "rawValue": 2,
                              "raw": "2"
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 12448,
                      "end": 15895,
                      "loc": {
                        "start": {
                          "line": 305,
                          "column": 8
                        },
                        "end": {
                          "line": 375,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 12452,
                        "end": 12504,
                        "loc": {
                          "start": {
                            "line": 305,
                            "column": 12
                          },
                          "end": {
                            "line": 305,
                            "column": 64
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 12452,
                          "end": 12474,
                          "loc": {
                            "start": {
                              "line": 305,
                              "column": 12
                            },
                            "end": {
                              "line": 305,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 12452,
                            "end": 12465,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 12
                              },
                              "end": {
                                "line": 305,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12452,
                              "end": 12456,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 12
                                },
                                "end": {
                                  "line": 305,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12457,
                              "end": 12465,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 17
                                },
                                "end": {
                                  "line": 305,
                                  "column": 25
                                }
                              },
                              "name": "gridStep"
                            },
                            "computed": false
                          },
                          "operator": "!==",
                          "right": {
                            "type": "Identifier",
                            "start": 12470,
                            "end": 12474,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 30
                              },
                              "end": {
                                "line": 305,
                                "column": 34
                              }
                            },
                            "name": "step"
                          }
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 12478,
                          "end": 12504,
                          "loc": {
                            "start": {
                              "line": 305,
                              "column": 38
                            },
                            "end": {
                              "line": 305,
                              "column": 64
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 12478,
                            "end": 12491,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 38
                              },
                              "end": {
                                "line": 305,
                                "column": 51
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 12478,
                              "end": 12482,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 38
                                },
                                "end": {
                                  "line": 305,
                                  "column": 42
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 12483,
                              "end": 12491,
                              "loc": {
                                "start": {
                                  "line": 305,
                                  "column": 43
                                },
                                "end": {
                                  "line": 305,
                                  "column": 51
                                }
                              },
                              "name": "axisSize"
                            },
                            "computed": false
                          },
                          "operator": "!==",
                          "right": {
                            "type": "Identifier",
                            "start": 12496,
                            "end": 12504,
                            "loc": {
                              "start": {
                                "line": 305,
                                "column": 56
                              },
                              "end": {
                                "line": 305,
                                "column": 64
                              }
                            },
                            "name": "axisSize"
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 12506,
                        "end": 15895,
                        "loc": {
                          "start": {
                            "line": 305,
                            "column": 66
                          },
                          "end": {
                            "line": 375,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 12520,
                            "end": 12541,
                            "loc": {
                              "start": {
                                "line": 306,
                                "column": 12
                              },
                              "end": {
                                "line": 306,
                                "column": 33
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 12520,
                              "end": 12540,
                              "loc": {
                                "start": {
                                  "line": 306,
                                  "column": 12
                                },
                                "end": {
                                  "line": 306,
                                  "column": 32
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 12520,
                                "end": 12533,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12520,
                                  "end": 12524,
                                  "loc": {
                                    "start": {
                                      "line": 306,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 306,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12525,
                                  "end": 12533,
                                  "loc": {
                                    "start": {
                                      "line": 306,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 306,
                                      "column": 25
                                    }
                                  },
                                  "name": "gridStep"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 12536,
                                "end": 12540,
                                "loc": {
                                  "start": {
                                    "line": 306,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 306,
                                    "column": 32
                                  }
                                },
                                "name": "step"
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 12554,
                            "end": 12579,
                            "loc": {
                              "start": {
                                "line": 307,
                                "column": 12
                              },
                              "end": {
                                "line": 307,
                                "column": 37
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 12554,
                              "end": 12578,
                              "loc": {
                                "start": {
                                  "line": 307,
                                  "column": 12
                                },
                                "end": {
                                  "line": 307,
                                  "column": 36
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 12554,
                                "end": 12567,
                                "loc": {
                                  "start": {
                                    "line": 307,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 307,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12554,
                                  "end": 12558,
                                  "loc": {
                                    "start": {
                                      "line": 307,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 307,
                                      "column": 16
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12559,
                                  "end": 12567,
                                  "loc": {
                                    "start": {
                                      "line": 307,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 307,
                                      "column": 25
                                    }
                                  },
                                  "name": "axisSize"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Identifier",
                                "start": 12570,
                                "end": 12578,
                                "loc": {
                                  "start": {
                                    "line": 307,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 307,
                                    "column": 36
                                  }
                                },
                                "name": "axisSize"
                              }
                            }
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 12593,
                            "end": 12626,
                            "loc": {
                              "start": {
                                "line": 309,
                                "column": 12
                              },
                              "end": {
                                "line": 309,
                                "column": 45
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 12597,
                                "end": 12610,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 29
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 12597,
                                  "end": 12606,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 25
                                    }
                                  },
                                  "name": "gridCount"
                                },
                                "init": {
                                  "type": "Literal",
                                  "start": 12609,
                                  "end": 12610,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 29
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              },
                              {
                                "type": "VariableDeclarator",
                                "start": 12612,
                                "end": 12625,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 44
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 12612,
                                  "end": 12621,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 40
                                    }
                                  },
                                  "name": "axisCount"
                                },
                                "init": {
                                  "type": "Literal",
                                  "start": 12624,
                                  "end": 12625,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 44
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 12639,
                            "end": 12773,
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 12
                              },
                              "end": {
                                "line": 312,
                                "column": 14
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 12643,
                                "end": 12772,
                                "loc": {
                                  "start": {
                                    "line": 310,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 312,
                                    "column": 13
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 12643,
                                  "end": 12652,
                                  "loc": {
                                    "start": {
                                      "line": 310,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 310,
                                      "column": 25
                                    }
                                  },
                                  "name": "addToGrid"
                                },
                                "init": {
                                  "type": "ArrowFunctionExpression",
                                  "start": 12655,
                                  "end": 12772,
                                  "loc": {
                                    "start": {
                                      "line": 310,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 312,
                                      "column": 13
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 12656,
                                      "end": 12657,
                                      "loc": {
                                        "start": {
                                          "line": 310,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 310,
                                          "column": 30
                                        }
                                      },
                                      "name": "x"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 12659,
                                      "end": 12660,
                                      "loc": {
                                        "start": {
                                          "line": 310,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 310,
                                          "column": 33
                                        }
                                      },
                                      "name": "y"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 12662,
                                      "end": 12663,
                                      "loc": {
                                        "start": {
                                          "line": 310,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 310,
                                          "column": 36
                                        }
                                      },
                                      "name": "z"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 12668,
                                    "end": 12772,
                                    "loc": {
                                      "start": {
                                        "line": 310,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 312,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 12686,
                                        "end": 12758,
                                        "loc": {
                                          "start": {
                                            "line": 311,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 311,
                                            "column": 88
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 12686,
                                          "end": 12757,
                                          "loc": {
                                            "start": {
                                              "line": 311,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 311,
                                              "column": 87
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 12686,
                                            "end": 12728,
                                            "loc": {
                                              "start": {
                                                "line": 311,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 311,
                                                "column": 58
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 12686,
                                              "end": 12715,
                                              "loc": {
                                                "start": {
                                                  "line": 311,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 311,
                                                  "column": 45
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 12686,
                                                "end": 12706,
                                                "loc": {
                                                  "start": {
                                                    "line": 311,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 311,
                                                    "column": 36
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 12686,
                                                  "end": 12697,
                                                  "loc": {
                                                    "start": {
                                                      "line": 311,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 311,
                                                      "column": 27
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 12686,
                                                    "end": 12690,
                                                    "loc": {
                                                      "start": {
                                                        "line": 311,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 311,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 12691,
                                                    "end": 12697,
                                                    "loc": {
                                                      "start": {
                                                        "line": 311,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 311,
                                                        "column": 27
                                                      }
                                                    },
                                                    "name": "__grid"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 12698,
                                                  "end": 12706,
                                                  "loc": {
                                                    "start": {
                                                      "line": 311,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 311,
                                                      "column": 36
                                                    }
                                                  },
                                                  "name": "geometry"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 12707,
                                                "end": 12715,
                                                "loc": {
                                                  "start": {
                                                    "line": 311,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 311,
                                                    "column": 45
                                                  }
                                                },
                                                "name": "vertices"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "UpdateExpression",
                                              "start": 12716,
                                              "end": 12727,
                                              "loc": {
                                                "start": {
                                                  "line": 311,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 311,
                                                  "column": 57
                                                }
                                              },
                                              "operator": "++",
                                              "prefix": false,
                                              "argument": {
                                                "type": "Identifier",
                                                "start": 12716,
                                                "end": 12725,
                                                "loc": {
                                                  "start": {
                                                    "line": 311,
                                                    "column": 46
                                                  },
                                                  "end": {
                                                    "line": 311,
                                                    "column": 55
                                                  }
                                                },
                                                "name": "gridCount"
                                              }
                                            },
                                            "computed": true
                                          },
                                          "right": {
                                            "type": "NewExpression",
                                            "start": 12731,
                                            "end": 12757,
                                            "loc": {
                                              "start": {
                                                "line": 311,
                                                "column": 61
                                              },
                                              "end": {
                                                "line": 311,
                                                "column": 87
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 12735,
                                              "end": 12748,
                                              "loc": {
                                                "start": {
                                                  "line": 311,
                                                  "column": 65
                                                },
                                                "end": {
                                                  "line": 311,
                                                  "column": 78
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 12735,
                                                "end": 12740,
                                                "loc": {
                                                  "start": {
                                                    "line": 311,
                                                    "column": 65
                                                  },
                                                  "end": {
                                                    "line": 311,
                                                    "column": 70
                                                  }
                                                },
                                                "name": "THREE"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 12741,
                                                "end": 12748,
                                                "loc": {
                                                  "start": {
                                                    "line": 311,
                                                    "column": 71
                                                  },
                                                  "end": {
                                                    "line": 311,
                                                    "column": 78
                                                  }
                                                },
                                                "name": "Vector3"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 12749,
                                                "end": 12750,
                                                "loc": {
                                                  "start": {
                                                    "line": 311,
                                                    "column": 79
                                                  },
                                                  "end": {
                                                    "line": 311,
                                                    "column": 80
                                                  }
                                                },
                                                "name": "x"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 12752,
                                                "end": 12753,
                                                "loc": {
                                                  "start": {
                                                    "line": 311,
                                                    "column": 82
                                                  },
                                                  "end": {
                                                    "line": 311,
                                                    "column": 83
                                                  }
                                                },
                                                "name": "y"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 12755,
                                                "end": 12756,
                                                "loc": {
                                                  "start": {
                                                    "line": 311,
                                                    "column": 85
                                                  },
                                                  "end": {
                                                    "line": 311,
                                                    "column": 86
                                                  }
                                                },
                                                "name": "z"
                                              }
                                            ]
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 12786,
                            "end": 12920,
                            "loc": {
                              "start": {
                                "line": 313,
                                "column": 12
                              },
                              "end": {
                                "line": 315,
                                "column": 14
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 12790,
                                "end": 12919,
                                "loc": {
                                  "start": {
                                    "line": 313,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 315,
                                    "column": 13
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 12790,
                                  "end": 12799,
                                  "loc": {
                                    "start": {
                                      "line": 313,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 313,
                                      "column": 25
                                    }
                                  },
                                  "name": "addToAxis"
                                },
                                "init": {
                                  "type": "ArrowFunctionExpression",
                                  "start": 12802,
                                  "end": 12919,
                                  "loc": {
                                    "start": {
                                      "line": 313,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 315,
                                      "column": 13
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 12803,
                                      "end": 12804,
                                      "loc": {
                                        "start": {
                                          "line": 313,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 313,
                                          "column": 30
                                        }
                                      },
                                      "name": "x"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 12806,
                                      "end": 12807,
                                      "loc": {
                                        "start": {
                                          "line": 313,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 313,
                                          "column": 33
                                        }
                                      },
                                      "name": "y"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 12809,
                                      "end": 12810,
                                      "loc": {
                                        "start": {
                                          "line": 313,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 313,
                                          "column": 36
                                        }
                                      },
                                      "name": "z"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 12815,
                                    "end": 12919,
                                    "loc": {
                                      "start": {
                                        "line": 313,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 315,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 12833,
                                        "end": 12905,
                                        "loc": {
                                          "start": {
                                            "line": 314,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 314,
                                            "column": 88
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 12833,
                                          "end": 12904,
                                          "loc": {
                                            "start": {
                                              "line": 314,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 314,
                                              "column": 87
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 12833,
                                            "end": 12875,
                                            "loc": {
                                              "start": {
                                                "line": 314,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 314,
                                                "column": 58
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 12833,
                                              "end": 12862,
                                              "loc": {
                                                "start": {
                                                  "line": 314,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 314,
                                                  "column": 45
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 12833,
                                                "end": 12853,
                                                "loc": {
                                                  "start": {
                                                    "line": 314,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 314,
                                                    "column": 36
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 12833,
                                                  "end": 12844,
                                                  "loc": {
                                                    "start": {
                                                      "line": 314,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 314,
                                                      "column": 27
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 12833,
                                                    "end": 12837,
                                                    "loc": {
                                                      "start": {
                                                        "line": 314,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 314,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 12838,
                                                    "end": 12844,
                                                    "loc": {
                                                      "start": {
                                                        "line": 314,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 314,
                                                        "column": 27
                                                      }
                                                    },
                                                    "name": "__axis"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 12845,
                                                  "end": 12853,
                                                  "loc": {
                                                    "start": {
                                                      "line": 314,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 314,
                                                      "column": 36
                                                    }
                                                  },
                                                  "name": "geometry"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 12854,
                                                "end": 12862,
                                                "loc": {
                                                  "start": {
                                                    "line": 314,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 314,
                                                    "column": 45
                                                  }
                                                },
                                                "name": "vertices"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "UpdateExpression",
                                              "start": 12863,
                                              "end": 12874,
                                              "loc": {
                                                "start": {
                                                  "line": 314,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 314,
                                                  "column": 57
                                                }
                                              },
                                              "operator": "++",
                                              "prefix": false,
                                              "argument": {
                                                "type": "Identifier",
                                                "start": 12863,
                                                "end": 12872,
                                                "loc": {
                                                  "start": {
                                                    "line": 314,
                                                    "column": 46
                                                  },
                                                  "end": {
                                                    "line": 314,
                                                    "column": 55
                                                  }
                                                },
                                                "name": "axisCount"
                                              }
                                            },
                                            "computed": true
                                          },
                                          "right": {
                                            "type": "NewExpression",
                                            "start": 12878,
                                            "end": 12904,
                                            "loc": {
                                              "start": {
                                                "line": 314,
                                                "column": 61
                                              },
                                              "end": {
                                                "line": 314,
                                                "column": 87
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 12882,
                                              "end": 12895,
                                              "loc": {
                                                "start": {
                                                  "line": 314,
                                                  "column": 65
                                                },
                                                "end": {
                                                  "line": 314,
                                                  "column": 78
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 12882,
                                                "end": 12887,
                                                "loc": {
                                                  "start": {
                                                    "line": 314,
                                                    "column": 65
                                                  },
                                                  "end": {
                                                    "line": 314,
                                                    "column": 70
                                                  }
                                                },
                                                "name": "THREE"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 12888,
                                                "end": 12895,
                                                "loc": {
                                                  "start": {
                                                    "line": 314,
                                                    "column": 71
                                                  },
                                                  "end": {
                                                    "line": 314,
                                                    "column": 78
                                                  }
                                                },
                                                "name": "Vector3"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 12896,
                                                "end": 12897,
                                                "loc": {
                                                  "start": {
                                                    "line": 314,
                                                    "column": 79
                                                  },
                                                  "end": {
                                                    "line": 314,
                                                    "column": 80
                                                  }
                                                },
                                                "name": "x"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 12899,
                                                "end": 12900,
                                                "loc": {
                                                  "start": {
                                                    "line": 314,
                                                    "column": 82
                                                  },
                                                  "end": {
                                                    "line": 314,
                                                    "column": 83
                                                  }
                                                },
                                                "name": "y"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 12902,
                                                "end": 12903,
                                                "loc": {
                                                  "start": {
                                                    "line": 314,
                                                    "column": 85
                                                  },
                                                  "end": {
                                                    "line": 314,
                                                    "column": 86
                                                  }
                                                },
                                                "name": "z"
                                              }
                                            ]
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ForStatement",
                            "start": 12934,
                            "end": 13976,
                            "loc": {
                              "start": {
                                "line": 317,
                                "column": 12
                              },
                              "end": {
                                "line": 338,
                                "column": 13
                              }
                            },
                            "init": {
                              "type": "VariableDeclaration",
                              "start": 12938,
                              "end": 12947,
                              "loc": {
                                "start": {
                                  "line": 317,
                                  "column": 16
                                },
                                "end": {
                                  "line": 317,
                                  "column": 25
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 12942,
                                  "end": 12947,
                                  "loc": {
                                    "start": {
                                      "line": 317,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 317,
                                      "column": 25
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 12942,
                                    "end": 12943,
                                    "loc": {
                                      "start": {
                                        "line": 317,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 317,
                                        "column": 21
                                      }
                                    },
                                    "name": "i"
                                  },
                                  "init": {
                                    "type": "Literal",
                                    "start": 12946,
                                    "end": 12947,
                                    "loc": {
                                      "start": {
                                        "line": 317,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 317,
                                        "column": 25
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  }
                                }
                              ],
                              "kind": "var"
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 12949,
                              "end": 12967,
                              "loc": {
                                "start": {
                                  "line": 317,
                                  "column": 27
                                },
                                "end": {
                                  "line": 317,
                                  "column": 45
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 12949,
                                "end": 12950,
                                "loc": {
                                  "start": {
                                    "line": 317,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 317,
                                    "column": 28
                                  }
                                },
                                "name": "i"
                              },
                              "operator": "<=",
                              "right": {
                                "type": "MemberExpression",
                                "start": 12954,
                                "end": 12967,
                                "loc": {
                                  "start": {
                                    "line": 317,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 317,
                                    "column": 45
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 12954,
                                  "end": 12958,
                                  "loc": {
                                    "start": {
                                      "line": 317,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 317,
                                      "column": 36
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 12959,
                                  "end": 12967,
                                  "loc": {
                                    "start": {
                                      "line": 317,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 317,
                                      "column": 45
                                    }
                                  },
                                  "name": "gridSize"
                                },
                                "computed": false
                              }
                            },
                            "update": {
                              "type": "UpdateExpression",
                              "start": 12969,
                              "end": 12972,
                              "loc": {
                                "start": {
                                  "line": 317,
                                  "column": 47
                                },
                                "end": {
                                  "line": 317,
                                  "column": 50
                                }
                              },
                              "operator": "++",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 12971,
                                "end": 12972,
                                "loc": {
                                  "start": {
                                    "line": 317,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 317,
                                    "column": 50
                                  }
                                },
                                "name": "i"
                              }
                            },
                            "body": {
                              "type": "BlockStatement",
                              "start": 12974,
                              "end": 13976,
                              "loc": {
                                "start": {
                                  "line": 317,
                                  "column": 52
                                },
                                "end": {
                                  "line": 338,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 12992,
                                  "end": 13033,
                                  "loc": {
                                    "start": {
                                      "line": 318,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 318,
                                      "column": 57
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 12992,
                                    "end": 13032,
                                    "loc": {
                                      "start": {
                                        "line": 318,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 318,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 12992,
                                      "end": 13001,
                                      "loc": {
                                        "start": {
                                          "line": 318,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 318,
                                          "column": 25
                                        }
                                      },
                                      "name": "addToGrid"
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13002,
                                        "end": 13017,
                                        "loc": {
                                          "start": {
                                            "line": 318,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 318,
                                            "column": 41
                                          }
                                        },
                                        "left": {
                                          "type": "UnaryExpression",
                                          "start": 13002,
                                          "end": 13013,
                                          "loc": {
                                            "start": {
                                              "line": 318,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 318,
                                              "column": 37
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Identifier",
                                            "start": 13003,
                                            "end": 13013,
                                            "loc": {
                                              "start": {
                                                "line": 318,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 318,
                                                "column": 37
                                              }
                                            },
                                            "name": "screenSize"
                                          }
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 13016,
                                          "end": 13017,
                                          "loc": {
                                            "start": {
                                              "line": 318,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 318,
                                              "column": 41
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13020,
                                        "end": 13028,
                                        "loc": {
                                          "start": {
                                            "line": 318,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 318,
                                            "column": 52
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 13020,
                                          "end": 13024,
                                          "loc": {
                                            "start": {
                                              "line": 318,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 318,
                                              "column": 48
                                            }
                                          },
                                          "name": "step"
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 13027,
                                          "end": 13028,
                                          "loc": {
                                            "start": {
                                              "line": 318,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 318,
                                              "column": 52
                                            }
                                          },
                                          "name": "i"
                                        }
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 13030,
                                        "end": 13031,
                                        "loc": {
                                          "start": {
                                            "line": 318,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 318,
                                            "column": 55
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 13050,
                                  "end": 13091,
                                  "loc": {
                                    "start": {
                                      "line": 319,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 319,
                                      "column": 57
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 13050,
                                    "end": 13090,
                                    "loc": {
                                      "start": {
                                        "line": 319,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 319,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 13050,
                                      "end": 13059,
                                      "loc": {
                                        "start": {
                                          "line": 319,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 319,
                                          "column": 25
                                        }
                                      },
                                      "name": "addToGrid"
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13061,
                                        "end": 13075,
                                        "loc": {
                                          "start": {
                                            "line": 319,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 319,
                                            "column": 41
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 13061,
                                          "end": 13071,
                                          "loc": {
                                            "start": {
                                              "line": 319,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 319,
                                              "column": 37
                                            }
                                          },
                                          "name": "screenSize"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 13074,
                                          "end": 13075,
                                          "loc": {
                                            "start": {
                                              "line": 319,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 319,
                                              "column": 41
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13078,
                                        "end": 13086,
                                        "loc": {
                                          "start": {
                                            "line": 319,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 319,
                                            "column": 52
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 13078,
                                          "end": 13082,
                                          "loc": {
                                            "start": {
                                              "line": 319,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 319,
                                              "column": 48
                                            }
                                          },
                                          "name": "step"
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 13085,
                                          "end": 13086,
                                          "loc": {
                                            "start": {
                                              "line": 319,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 319,
                                              "column": 52
                                            }
                                          },
                                          "name": "i"
                                        }
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 13088,
                                        "end": 13089,
                                        "loc": {
                                          "start": {
                                            "line": 319,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 319,
                                            "column": 55
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 13108,
                                  "end": 13149,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 57
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 13108,
                                    "end": 13148,
                                    "loc": {
                                      "start": {
                                        "line": 320,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 320,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 13108,
                                      "end": 13117,
                                      "loc": {
                                        "start": {
                                          "line": 320,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 320,
                                          "column": 25
                                        }
                                      },
                                      "name": "addToGrid"
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13118,
                                        "end": 13133,
                                        "loc": {
                                          "start": {
                                            "line": 320,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 320,
                                            "column": 41
                                          }
                                        },
                                        "left": {
                                          "type": "UnaryExpression",
                                          "start": 13118,
                                          "end": 13129,
                                          "loc": {
                                            "start": {
                                              "line": 320,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 320,
                                              "column": 37
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Identifier",
                                            "start": 13119,
                                            "end": 13129,
                                            "loc": {
                                              "start": {
                                                "line": 320,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 320,
                                                "column": 37
                                              }
                                            },
                                            "name": "screenSize"
                                          }
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 13132,
                                          "end": 13133,
                                          "loc": {
                                            "start": {
                                              "line": 320,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 320,
                                              "column": 41
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13135,
                                        "end": 13144,
                                        "loc": {
                                          "start": {
                                            "line": 320,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 320,
                                            "column": 52
                                          }
                                        },
                                        "left": {
                                          "type": "UnaryExpression",
                                          "start": 13135,
                                          "end": 13140,
                                          "loc": {
                                            "start": {
                                              "line": 320,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 320,
                                              "column": 48
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Identifier",
                                            "start": 13136,
                                            "end": 13140,
                                            "loc": {
                                              "start": {
                                                "line": 320,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 320,
                                                "column": 48
                                              }
                                            },
                                            "name": "step"
                                          }
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 13143,
                                          "end": 13144,
                                          "loc": {
                                            "start": {
                                              "line": 320,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 320,
                                              "column": 52
                                            }
                                          },
                                          "name": "i"
                                        }
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 13146,
                                        "end": 13147,
                                        "loc": {
                                          "start": {
                                            "line": 320,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 320,
                                            "column": 55
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 13166,
                                  "end": 13207,
                                  "loc": {
                                    "start": {
                                      "line": 321,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 321,
                                      "column": 57
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 13166,
                                    "end": 13206,
                                    "loc": {
                                      "start": {
                                        "line": 321,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 321,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 13166,
                                      "end": 13175,
                                      "loc": {
                                        "start": {
                                          "line": 321,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 321,
                                          "column": 25
                                        }
                                      },
                                      "name": "addToGrid"
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13177,
                                        "end": 13191,
                                        "loc": {
                                          "start": {
                                            "line": 321,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 321,
                                            "column": 41
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 13177,
                                          "end": 13187,
                                          "loc": {
                                            "start": {
                                              "line": 321,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 321,
                                              "column": 37
                                            }
                                          },
                                          "name": "screenSize"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 13190,
                                          "end": 13191,
                                          "loc": {
                                            "start": {
                                              "line": 321,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 321,
                                              "column": 41
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13193,
                                        "end": 13202,
                                        "loc": {
                                          "start": {
                                            "line": 321,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 321,
                                            "column": 52
                                          }
                                        },
                                        "left": {
                                          "type": "UnaryExpression",
                                          "start": 13193,
                                          "end": 13198,
                                          "loc": {
                                            "start": {
                                              "line": 321,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 321,
                                              "column": 48
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Identifier",
                                            "start": 13194,
                                            "end": 13198,
                                            "loc": {
                                              "start": {
                                                "line": 321,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 321,
                                                "column": 48
                                              }
                                            },
                                            "name": "step"
                                          }
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 13201,
                                          "end": 13202,
                                          "loc": {
                                            "start": {
                                              "line": 321,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 321,
                                              "column": 52
                                            }
                                          },
                                          "name": "i"
                                        }
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 13204,
                                        "end": 13205,
                                        "loc": {
                                          "start": {
                                            "line": 321,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 321,
                                            "column": 55
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 13224,
                                  "end": 13265,
                                  "loc": {
                                    "start": {
                                      "line": 322,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 322,
                                      "column": 57
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 13224,
                                    "end": 13264,
                                    "loc": {
                                      "start": {
                                        "line": 322,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 322,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 13224,
                                      "end": 13233,
                                      "loc": {
                                        "start": {
                                          "line": 322,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 322,
                                          "column": 25
                                        }
                                      },
                                      "name": "addToGrid"
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13235,
                                        "end": 13243,
                                        "loc": {
                                          "start": {
                                            "line": 322,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 322,
                                            "column": 35
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 13235,
                                          "end": 13239,
                                          "loc": {
                                            "start": {
                                              "line": 322,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 322,
                                              "column": 31
                                            }
                                          },
                                          "name": "step"
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 13242,
                                          "end": 13243,
                                          "loc": {
                                            "start": {
                                              "line": 322,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 322,
                                              "column": 35
                                            }
                                          },
                                          "name": "i"
                                        }
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13246,
                                        "end": 13260,
                                        "loc": {
                                          "start": {
                                            "line": 322,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 322,
                                            "column": 52
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 13246,
                                          "end": 13256,
                                          "loc": {
                                            "start": {
                                              "line": 322,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 322,
                                              "column": 48
                                            }
                                          },
                                          "name": "screenSize"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 13259,
                                          "end": 13260,
                                          "loc": {
                                            "start": {
                                              "line": 322,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 322,
                                              "column": 52
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 13262,
                                        "end": 13263,
                                        "loc": {
                                          "start": {
                                            "line": 322,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 322,
                                            "column": 55
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 13282,
                                  "end": 13323,
                                  "loc": {
                                    "start": {
                                      "line": 323,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 323,
                                      "column": 57
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 13282,
                                    "end": 13322,
                                    "loc": {
                                      "start": {
                                        "line": 323,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 323,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 13282,
                                      "end": 13291,
                                      "loc": {
                                        "start": {
                                          "line": 323,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 323,
                                          "column": 25
                                        }
                                      },
                                      "name": "addToGrid"
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13293,
                                        "end": 13301,
                                        "loc": {
                                          "start": {
                                            "line": 323,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 323,
                                            "column": 35
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 13293,
                                          "end": 13297,
                                          "loc": {
                                            "start": {
                                              "line": 323,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 323,
                                              "column": 31
                                            }
                                          },
                                          "name": "step"
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 13300,
                                          "end": 13301,
                                          "loc": {
                                            "start": {
                                              "line": 323,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 323,
                                              "column": 35
                                            }
                                          },
                                          "name": "i"
                                        }
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13303,
                                        "end": 13318,
                                        "loc": {
                                          "start": {
                                            "line": 323,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 323,
                                            "column": 52
                                          }
                                        },
                                        "left": {
                                          "type": "UnaryExpression",
                                          "start": 13303,
                                          "end": 13314,
                                          "loc": {
                                            "start": {
                                              "line": 323,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 323,
                                              "column": 48
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Identifier",
                                            "start": 13304,
                                            "end": 13314,
                                            "loc": {
                                              "start": {
                                                "line": 323,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 323,
                                                "column": 48
                                              }
                                            },
                                            "name": "screenSize"
                                          }
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 13317,
                                          "end": 13318,
                                          "loc": {
                                            "start": {
                                              "line": 323,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 323,
                                              "column": 52
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 13320,
                                        "end": 13321,
                                        "loc": {
                                          "start": {
                                            "line": 323,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 323,
                                            "column": 55
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 13340,
                                  "end": 13381,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 57
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 13340,
                                    "end": 13380,
                                    "loc": {
                                      "start": {
                                        "line": 324,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 324,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 13340,
                                      "end": 13349,
                                      "loc": {
                                        "start": {
                                          "line": 324,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 324,
                                          "column": 25
                                        }
                                      },
                                      "name": "addToGrid"
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13350,
                                        "end": 13359,
                                        "loc": {
                                          "start": {
                                            "line": 324,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 324,
                                            "column": 35
                                          }
                                        },
                                        "left": {
                                          "type": "UnaryExpression",
                                          "start": 13350,
                                          "end": 13355,
                                          "loc": {
                                            "start": {
                                              "line": 324,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 324,
                                              "column": 31
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Identifier",
                                            "start": 13351,
                                            "end": 13355,
                                            "loc": {
                                              "start": {
                                                "line": 324,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 324,
                                                "column": 31
                                              }
                                            },
                                            "name": "step"
                                          }
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 13358,
                                          "end": 13359,
                                          "loc": {
                                            "start": {
                                              "line": 324,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 324,
                                              "column": 35
                                            }
                                          },
                                          "name": "i"
                                        }
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13362,
                                        "end": 13376,
                                        "loc": {
                                          "start": {
                                            "line": 324,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 324,
                                            "column": 52
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 13362,
                                          "end": 13372,
                                          "loc": {
                                            "start": {
                                              "line": 324,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 324,
                                              "column": 48
                                            }
                                          },
                                          "name": "screenSize"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 13375,
                                          "end": 13376,
                                          "loc": {
                                            "start": {
                                              "line": 324,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 324,
                                              "column": 52
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 13378,
                                        "end": 13379,
                                        "loc": {
                                          "start": {
                                            "line": 324,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 324,
                                            "column": 55
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 13398,
                                  "end": 13439,
                                  "loc": {
                                    "start": {
                                      "line": 325,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 325,
                                      "column": 57
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 13398,
                                    "end": 13438,
                                    "loc": {
                                      "start": {
                                        "line": 325,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 325,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 13398,
                                      "end": 13407,
                                      "loc": {
                                        "start": {
                                          "line": 325,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 325,
                                          "column": 25
                                        }
                                      },
                                      "name": "addToGrid"
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13408,
                                        "end": 13417,
                                        "loc": {
                                          "start": {
                                            "line": 325,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 325,
                                            "column": 35
                                          }
                                        },
                                        "left": {
                                          "type": "UnaryExpression",
                                          "start": 13408,
                                          "end": 13413,
                                          "loc": {
                                            "start": {
                                              "line": 325,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 325,
                                              "column": 31
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Identifier",
                                            "start": 13409,
                                            "end": 13413,
                                            "loc": {
                                              "start": {
                                                "line": 325,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 325,
                                                "column": 31
                                              }
                                            },
                                            "name": "step"
                                          }
                                        },
                                        "operator": "*",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 13416,
                                          "end": 13417,
                                          "loc": {
                                            "start": {
                                              "line": 325,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 325,
                                              "column": 35
                                            }
                                          },
                                          "name": "i"
                                        }
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 13419,
                                        "end": 13434,
                                        "loc": {
                                          "start": {
                                            "line": 325,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 325,
                                            "column": 52
                                          }
                                        },
                                        "left": {
                                          "type": "UnaryExpression",
                                          "start": 13419,
                                          "end": 13430,
                                          "loc": {
                                            "start": {
                                              "line": 325,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 325,
                                              "column": 48
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Identifier",
                                            "start": 13420,
                                            "end": 13430,
                                            "loc": {
                                              "start": {
                                                "line": 325,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 325,
                                                "column": 48
                                              }
                                            },
                                            "name": "screenSize"
                                          }
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 13433,
                                          "end": 13434,
                                          "loc": {
                                            "start": {
                                              "line": 325,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 325,
                                              "column": 52
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 13436,
                                        "end": 13437,
                                        "loc": {
                                          "start": {
                                            "line": 325,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 325,
                                            "column": 55
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 13456,
                                  "end": 13962,
                                  "loc": {
                                    "start": {
                                      "line": 326,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 337,
                                      "column": 17
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 13460,
                                    "end": 13467,
                                    "loc": {
                                      "start": {
                                        "line": 326,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 326,
                                        "column": 27
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 13460,
                                      "end": 13461,
                                      "loc": {
                                        "start": {
                                          "line": 326,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 326,
                                          "column": 21
                                        }
                                      },
                                      "name": "i"
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "Literal",
                                      "start": 13466,
                                      "end": 13467,
                                      "loc": {
                                        "start": {
                                          "line": 326,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 326,
                                          "column": 27
                                        }
                                      },
                                      "value": 1,
                                      "rawValue": 1,
                                      "raw": "1"
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 13469,
                                    "end": 13962,
                                    "loc": {
                                      "start": {
                                        "line": 326,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 337,
                                        "column": 17
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 13524,
                                        "end": 13557,
                                        "loc": {
                                          "start": {
                                            "line": 328,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 328,
                                            "column": 53
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 13524,
                                          "end": 13556,
                                          "loc": {
                                            "start": {
                                              "line": 328,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 328,
                                              "column": 52
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 13524,
                                            "end": 13533,
                                            "loc": {
                                              "start": {
                                                "line": 328,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 328,
                                                "column": 29
                                              }
                                            },
                                            "name": "addToGrid",
                                            "leadingComments": null
                                          },
                                          "arguments": [
                                            {
                                              "type": "BinaryExpression",
                                              "start": 13534,
                                              "end": 13549,
                                              "loc": {
                                                "start": {
                                                  "line": 328,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 328,
                                                  "column": 45
                                                }
                                              },
                                              "left": {
                                                "type": "UnaryExpression",
                                                "start": 13534,
                                                "end": 13545,
                                                "loc": {
                                                  "start": {
                                                    "line": 328,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 328,
                                                    "column": 41
                                                  }
                                                },
                                                "operator": "-",
                                                "prefix": true,
                                                "argument": {
                                                  "type": "Identifier",
                                                  "start": 13535,
                                                  "end": 13545,
                                                  "loc": {
                                                    "start": {
                                                      "line": 328,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 328,
                                                      "column": 41
                                                    }
                                                  },
                                                  "name": "screenSize"
                                                }
                                              },
                                              "operator": "/",
                                              "right": {
                                                "type": "Literal",
                                                "start": 13548,
                                                "end": 13549,
                                                "loc": {
                                                  "start": {
                                                    "line": 328,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 328,
                                                    "column": 45
                                                  }
                                                },
                                                "value": 2,
                                                "rawValue": 2,
                                                "raw": "2"
                                              }
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 13551,
                                              "end": 13552,
                                              "loc": {
                                                "start": {
                                                  "line": 328,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 328,
                                                  "column": 48
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 13554,
                                              "end": 13555,
                                              "loc": {
                                                "start": {
                                                  "line": 328,
                                                  "column": 50
                                                },
                                                "end": {
                                                  "line": 328,
                                                  "column": 51
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          ],
                                          "leadingComments": null
                                        },
                                        "leadingComments": [
                                          {
                                            "type": "CommentLine",
                                            "value": " x \\ axisX",
                                            "start": 13491,
                                            "end": 13503,
                                            "loc": {
                                              "start": {
                                                "line": 327,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 327,
                                                "column": 32
                                              }
                                            },
                                            "range": [
                                              13491,
                                              13503
                                            ]
                                          }
                                        ]
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 13578,
                                        "end": 13605,
                                        "loc": {
                                          "start": {
                                            "line": 329,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 329,
                                            "column": 47
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 13578,
                                          "end": 13604,
                                          "loc": {
                                            "start": {
                                              "line": 329,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 329,
                                              "column": 46
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 13578,
                                            "end": 13587,
                                            "loc": {
                                              "start": {
                                                "line": 329,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 329,
                                                "column": 29
                                              }
                                            },
                                            "name": "addToGrid"
                                          },
                                          "arguments": [
                                            {
                                              "type": "UnaryExpression",
                                              "start": 13588,
                                              "end": 13597,
                                              "loc": {
                                                "start": {
                                                  "line": 329,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 329,
                                                  "column": 39
                                                }
                                              },
                                              "operator": "-",
                                              "prefix": true,
                                              "argument": {
                                                "type": "Identifier",
                                                "start": 13589,
                                                "end": 13597,
                                                "loc": {
                                                  "start": {
                                                    "line": 329,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 329,
                                                    "column": 39
                                                  }
                                                },
                                                "name": "axisSize"
                                              }
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 13599,
                                              "end": 13600,
                                              "loc": {
                                                "start": {
                                                  "line": 329,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 329,
                                                  "column": 42
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 13602,
                                              "end": 13603,
                                              "loc": {
                                                "start": {
                                                  "line": 329,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 329,
                                                  "column": 45
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 13626,
                                        "end": 13659,
                                        "loc": {
                                          "start": {
                                            "line": 330,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 330,
                                            "column": 53
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 13626,
                                          "end": 13658,
                                          "loc": {
                                            "start": {
                                              "line": 330,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 330,
                                              "column": 52
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 13626,
                                            "end": 13635,
                                            "loc": {
                                              "start": {
                                                "line": 330,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 330,
                                                "column": 29
                                              }
                                            },
                                            "name": "addToGrid"
                                          },
                                          "arguments": [
                                            {
                                              "type": "BinaryExpression",
                                              "start": 13637,
                                              "end": 13651,
                                              "loc": {
                                                "start": {
                                                  "line": 330,
                                                  "column": 31
                                                },
                                                "end": {
                                                  "line": 330,
                                                  "column": 45
                                                }
                                              },
                                              "left": {
                                                "type": "Identifier",
                                                "start": 13637,
                                                "end": 13647,
                                                "loc": {
                                                  "start": {
                                                    "line": 330,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 330,
                                                    "column": 41
                                                  }
                                                },
                                                "name": "screenSize"
                                              },
                                              "operator": "/",
                                              "right": {
                                                "type": "Literal",
                                                "start": 13650,
                                                "end": 13651,
                                                "loc": {
                                                  "start": {
                                                    "line": 330,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 330,
                                                    "column": 45
                                                  }
                                                },
                                                "value": 2,
                                                "rawValue": 2,
                                                "raw": "2"
                                              }
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 13653,
                                              "end": 13654,
                                              "loc": {
                                                "start": {
                                                  "line": 330,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 330,
                                                  "column": 48
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 13656,
                                              "end": 13657,
                                              "loc": {
                                                "start": {
                                                  "line": 330,
                                                  "column": 50
                                                },
                                                "end": {
                                                  "line": 330,
                                                  "column": 51
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 13680,
                                        "end": 13707,
                                        "loc": {
                                          "start": {
                                            "line": 331,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 331,
                                            "column": 47
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 13680,
                                          "end": 13706,
                                          "loc": {
                                            "start": {
                                              "line": 331,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 331,
                                              "column": 46
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 13680,
                                            "end": 13689,
                                            "loc": {
                                              "start": {
                                                "line": 331,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 331,
                                                "column": 29
                                              }
                                            },
                                            "name": "addToGrid"
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 13691,
                                              "end": 13699,
                                              "loc": {
                                                "start": {
                                                  "line": 331,
                                                  "column": 31
                                                },
                                                "end": {
                                                  "line": 331,
                                                  "column": 39
                                                }
                                              },
                                              "name": "axisSize"
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 13701,
                                              "end": 13702,
                                              "loc": {
                                                "start": {
                                                  "line": 331,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 331,
                                                  "column": 42
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 13704,
                                              "end": 13705,
                                              "loc": {
                                                "start": {
                                                  "line": 331,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 331,
                                                  "column": 45
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          ]
                                        },
                                        "trailingComments": [
                                          {
                                            "type": "CommentLine",
                                            "value": " y \\ axisY",
                                            "start": 13728,
                                            "end": 13740,
                                            "loc": {
                                              "start": {
                                                "line": 332,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 332,
                                                "column": 32
                                              }
                                            },
                                            "range": [
                                              13728,
                                              13740
                                            ]
                                          }
                                        ]
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 13761,
                                        "end": 13794,
                                        "loc": {
                                          "start": {
                                            "line": 333,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 333,
                                            "column": 53
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 13761,
                                          "end": 13793,
                                          "loc": {
                                            "start": {
                                              "line": 333,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 333,
                                              "column": 52
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 13761,
                                            "end": 13770,
                                            "loc": {
                                              "start": {
                                                "line": 333,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 333,
                                                "column": 29
                                              }
                                            },
                                            "name": "addToGrid",
                                            "leadingComments": null
                                          },
                                          "arguments": [
                                            {
                                              "type": "Literal",
                                              "start": 13771,
                                              "end": 13772,
                                              "loc": {
                                                "start": {
                                                  "line": 333,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 333,
                                                  "column": 31
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            {
                                              "type": "BinaryExpression",
                                              "start": 13775,
                                              "end": 13789,
                                              "loc": {
                                                "start": {
                                                  "line": 333,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 333,
                                                  "column": 48
                                                }
                                              },
                                              "left": {
                                                "type": "Identifier",
                                                "start": 13775,
                                                "end": 13785,
                                                "loc": {
                                                  "start": {
                                                    "line": 333,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 333,
                                                    "column": 44
                                                  }
                                                },
                                                "name": "screenSize"
                                              },
                                              "operator": "/",
                                              "right": {
                                                "type": "Literal",
                                                "start": 13788,
                                                "end": 13789,
                                                "loc": {
                                                  "start": {
                                                    "line": 333,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 333,
                                                    "column": 48
                                                  }
                                                },
                                                "value": 2,
                                                "rawValue": 2,
                                                "raw": "2"
                                              }
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 13791,
                                              "end": 13792,
                                              "loc": {
                                                "start": {
                                                  "line": 333,
                                                  "column": 50
                                                },
                                                "end": {
                                                  "line": 333,
                                                  "column": 51
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          ],
                                          "leadingComments": null
                                        },
                                        "leadingComments": [
                                          {
                                            "type": "CommentLine",
                                            "value": " y \\ axisY",
                                            "start": 13728,
                                            "end": 13740,
                                            "loc": {
                                              "start": {
                                                "line": 332,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 332,
                                                "column": 32
                                              }
                                            },
                                            "range": [
                                              13728,
                                              13740
                                            ]
                                          }
                                        ]
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 13815,
                                        "end": 13842,
                                        "loc": {
                                          "start": {
                                            "line": 334,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 334,
                                            "column": 47
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 13815,
                                          "end": 13841,
                                          "loc": {
                                            "start": {
                                              "line": 334,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 334,
                                              "column": 46
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 13815,
                                            "end": 13824,
                                            "loc": {
                                              "start": {
                                                "line": 334,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 334,
                                                "column": 29
                                              }
                                            },
                                            "name": "addToGrid"
                                          },
                                          "arguments": [
                                            {
                                              "type": "Literal",
                                              "start": 13825,
                                              "end": 13826,
                                              "loc": {
                                                "start": {
                                                  "line": 334,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 334,
                                                  "column": 31
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 13829,
                                              "end": 13837,
                                              "loc": {
                                                "start": {
                                                  "line": 334,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 334,
                                                  "column": 42
                                                }
                                              },
                                              "name": "axisSize"
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 13839,
                                              "end": 13840,
                                              "loc": {
                                                "start": {
                                                  "line": 334,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 334,
                                                  "column": 45
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 13863,
                                        "end": 13896,
                                        "loc": {
                                          "start": {
                                            "line": 335,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 335,
                                            "column": 53
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 13863,
                                          "end": 13895,
                                          "loc": {
                                            "start": {
                                              "line": 335,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 335,
                                              "column": 52
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 13863,
                                            "end": 13872,
                                            "loc": {
                                              "start": {
                                                "line": 335,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 335,
                                                "column": 29
                                              }
                                            },
                                            "name": "addToGrid"
                                          },
                                          "arguments": [
                                            {
                                              "type": "Literal",
                                              "start": 13873,
                                              "end": 13874,
                                              "loc": {
                                                "start": {
                                                  "line": 335,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 335,
                                                  "column": 31
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            {
                                              "type": "BinaryExpression",
                                              "start": 13876,
                                              "end": 13891,
                                              "loc": {
                                                "start": {
                                                  "line": 335,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 335,
                                                  "column": 48
                                                }
                                              },
                                              "left": {
                                                "type": "UnaryExpression",
                                                "start": 13876,
                                                "end": 13887,
                                                "loc": {
                                                  "start": {
                                                    "line": 335,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 335,
                                                    "column": 44
                                                  }
                                                },
                                                "operator": "-",
                                                "prefix": true,
                                                "argument": {
                                                  "type": "Identifier",
                                                  "start": 13877,
                                                  "end": 13887,
                                                  "loc": {
                                                    "start": {
                                                      "line": 335,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 335,
                                                      "column": 44
                                                    }
                                                  },
                                                  "name": "screenSize"
                                                }
                                              },
                                              "operator": "/",
                                              "right": {
                                                "type": "Literal",
                                                "start": 13890,
                                                "end": 13891,
                                                "loc": {
                                                  "start": {
                                                    "line": 335,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 335,
                                                    "column": 48
                                                  }
                                                },
                                                "value": 2,
                                                "rawValue": 2,
                                                "raw": "2"
                                              }
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 13893,
                                              "end": 13894,
                                              "loc": {
                                                "start": {
                                                  "line": 335,
                                                  "column": 50
                                                },
                                                "end": {
                                                  "line": 335,
                                                  "column": 51
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 13917,
                                        "end": 13944,
                                        "loc": {
                                          "start": {
                                            "line": 336,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 336,
                                            "column": 47
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 13917,
                                          "end": 13943,
                                          "loc": {
                                            "start": {
                                              "line": 336,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 336,
                                              "column": 46
                                            }
                                          },
                                          "callee": {
                                            "type": "Identifier",
                                            "start": 13917,
                                            "end": 13926,
                                            "loc": {
                                              "start": {
                                                "line": 336,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 336,
                                                "column": 29
                                              }
                                            },
                                            "name": "addToGrid"
                                          },
                                          "arguments": [
                                            {
                                              "type": "Literal",
                                              "start": 13927,
                                              "end": 13928,
                                              "loc": {
                                                "start": {
                                                  "line": 336,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 336,
                                                  "column": 31
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            {
                                              "type": "UnaryExpression",
                                              "start": 13930,
                                              "end": 13939,
                                              "loc": {
                                                "start": {
                                                  "line": 336,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 336,
                                                  "column": 42
                                                }
                                              },
                                              "operator": "-",
                                              "prefix": true,
                                              "argument": {
                                                "type": "Identifier",
                                                "start": 13931,
                                                "end": 13939,
                                                "loc": {
                                                  "start": {
                                                    "line": 336,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 336,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "axisSize"
                                              }
                                            },
                                            {
                                              "type": "Literal",
                                              "start": 13941,
                                              "end": 13942,
                                              "loc": {
                                                "start": {
                                                  "line": 336,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 336,
                                                  "column": 45
                                                }
                                              },
                                              "value": 0,
                                              "rawValue": 0,
                                              "raw": "0"
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  },
                                  "alternate": null
                                }
                              ],
                              "trailingComments": null
                            },
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " axis",
                                "start": 13990,
                                "end": 13997,
                                "loc": {
                                  "start": {
                                    "line": 340,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 340,
                                    "column": 19
                                  }
                                },
                                "range": [
                                  13990,
                                  13997
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14010,
                            "end": 14037,
                            "loc": {
                              "start": {
                                "line": 341,
                                "column": 12
                              },
                              "end": {
                                "line": 341,
                                "column": 39
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14010,
                              "end": 14036,
                              "loc": {
                                "start": {
                                  "line": 341,
                                  "column": 12
                                },
                                "end": {
                                  "line": 341,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14010,
                                "end": 14019,
                                "loc": {
                                  "start": {
                                    "line": 341,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 341,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis",
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "UnaryExpression",
                                  "start": 14020,
                                  "end": 14029,
                                  "loc": {
                                    "start": {
                                      "line": 341,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 341,
                                      "column": 31
                                    }
                                  },
                                  "operator": "-",
                                  "prefix": true,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 14021,
                                    "end": 14029,
                                    "loc": {
                                      "start": {
                                        "line": 341,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 341,
                                        "column": 31
                                      }
                                    },
                                    "name": "axisSize"
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 14031,
                                  "end": 14032,
                                  "loc": {
                                    "start": {
                                      "line": 341,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 341,
                                      "column": 34
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Literal",
                                  "start": 14034,
                                  "end": 14035,
                                  "loc": {
                                    "start": {
                                      "line": 341,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 341,
                                      "column": 37
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ],
                              "leadingComments": null
                            },
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " axis",
                                "start": 13990,
                                "end": 13997,
                                "loc": {
                                  "start": {
                                    "line": 340,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 340,
                                    "column": 19
                                  }
                                },
                                "range": [
                                  13990,
                                  13997
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14050,
                            "end": 14077,
                            "loc": {
                              "start": {
                                "line": 342,
                                "column": 12
                              },
                              "end": {
                                "line": 342,
                                "column": 39
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14050,
                              "end": 14076,
                              "loc": {
                                "start": {
                                  "line": 342,
                                  "column": 12
                                },
                                "end": {
                                  "line": 342,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14050,
                                "end": 14059,
                                "loc": {
                                  "start": {
                                    "line": 342,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 342,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 14061,
                                  "end": 14069,
                                  "loc": {
                                    "start": {
                                      "line": 342,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 342,
                                      "column": 31
                                    }
                                  },
                                  "name": "axisSize"
                                },
                                {
                                  "type": "Literal",
                                  "start": 14071,
                                  "end": 14072,
                                  "loc": {
                                    "start": {
                                      "line": 342,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 342,
                                      "column": 34
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Literal",
                                  "start": 14074,
                                  "end": 14075,
                                  "loc": {
                                    "start": {
                                      "line": 342,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 342,
                                      "column": 37
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14090,
                            "end": 14117,
                            "loc": {
                              "start": {
                                "line": 343,
                                "column": 12
                              },
                              "end": {
                                "line": 343,
                                "column": 39
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14090,
                              "end": 14116,
                              "loc": {
                                "start": {
                                  "line": 343,
                                  "column": 12
                                },
                                "end": {
                                  "line": 343,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14090,
                                "end": 14099,
                                "loc": {
                                  "start": {
                                    "line": 343,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 343,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 14100,
                                  "end": 14101,
                                  "loc": {
                                    "start": {
                                      "line": 343,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 343,
                                      "column": 23
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "UnaryExpression",
                                  "start": 14103,
                                  "end": 14112,
                                  "loc": {
                                    "start": {
                                      "line": 343,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 343,
                                      "column": 34
                                    }
                                  },
                                  "operator": "-",
                                  "prefix": true,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 14104,
                                    "end": 14112,
                                    "loc": {
                                      "start": {
                                        "line": 343,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 343,
                                        "column": 34
                                      }
                                    },
                                    "name": "axisSize"
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 14114,
                                  "end": 14115,
                                  "loc": {
                                    "start": {
                                      "line": 343,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 343,
                                      "column": 37
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14130,
                            "end": 14157,
                            "loc": {
                              "start": {
                                "line": 344,
                                "column": 12
                              },
                              "end": {
                                "line": 344,
                                "column": 39
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14130,
                              "end": 14156,
                              "loc": {
                                "start": {
                                  "line": 344,
                                  "column": 12
                                },
                                "end": {
                                  "line": 344,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14130,
                                "end": 14139,
                                "loc": {
                                  "start": {
                                    "line": 344,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 344,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 14140,
                                  "end": 14141,
                                  "loc": {
                                    "start": {
                                      "line": 344,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 344,
                                      "column": 23
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 14144,
                                  "end": 14152,
                                  "loc": {
                                    "start": {
                                      "line": 344,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 344,
                                      "column": 34
                                    }
                                  },
                                  "name": "axisSize"
                                },
                                {
                                  "type": "Literal",
                                  "start": 14154,
                                  "end": 14155,
                                  "loc": {
                                    "start": {
                                      "line": 344,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 344,
                                      "column": 37
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            },
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " arrows",
                                "start": 14170,
                                "end": 14179,
                                "loc": {
                                  "start": {
                                    "line": 345,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 345,
                                    "column": 21
                                  }
                                },
                                "range": [
                                  14170,
                                  14179
                                ]
                              }
                            ]
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 14192,
                            "end": 14225,
                            "loc": {
                              "start": {
                                "line": 346,
                                "column": 12
                              },
                              "end": {
                                "line": 346,
                                "column": 45
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 14196,
                                "end": 14224,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 44
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 14196,
                                  "end": 14206,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 26
                                    }
                                  },
                                  "name": "arrowWidth",
                                  "leadingComments": null
                                },
                                "init": {
                                  "type": "BinaryExpression",
                                  "start": 14209,
                                  "end": 14224,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 44
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 14209,
                                    "end": 14222,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 42
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14209,
                                      "end": 14213,
                                      "loc": {
                                        "start": {
                                          "line": 346,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 346,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14214,
                                      "end": 14222,
                                      "loc": {
                                        "start": {
                                          "line": 346,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 346,
                                          "column": 42
                                        }
                                      },
                                      "name": "gridStep"
                                    },
                                    "computed": false
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "Literal",
                                    "start": 14223,
                                    "end": 14224,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 44
                                      }
                                    },
                                    "value": 4,
                                    "rawValue": 4,
                                    "raw": "4"
                                  }
                                },
                                "leadingComments": null
                              }
                            ],
                            "kind": "var",
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " arrows",
                                "start": 14170,
                                "end": 14179,
                                "loc": {
                                  "start": {
                                    "line": 345,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 345,
                                    "column": 21
                                  }
                                },
                                "range": [
                                  14170,
                                  14179
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14238,
                            "end": 14291,
                            "loc": {
                              "start": {
                                "line": 347,
                                "column": 12
                              },
                              "end": {
                                "line": 347,
                                "column": 65
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14238,
                              "end": 14290,
                              "loc": {
                                "start": {
                                  "line": 347,
                                  "column": 12
                                },
                                "end": {
                                  "line": 347,
                                  "column": 64
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14238,
                                "end": 14247,
                                "loc": {
                                  "start": {
                                    "line": 347,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 347,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 14248,
                                  "end": 14272,
                                  "loc": {
                                    "start": {
                                      "line": 347,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 347,
                                      "column": 46
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14248,
                                    "end": 14256,
                                    "loc": {
                                      "start": {
                                        "line": 347,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 347,
                                        "column": 30
                                      }
                                    },
                                    "name": "axisSize"
                                  },
                                  "operator": "-",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 14259,
                                    "end": 14272,
                                    "loc": {
                                      "start": {
                                        "line": 347,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 347,
                                        "column": 46
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14259,
                                      "end": 14263,
                                      "loc": {
                                        "start": {
                                          "line": 347,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 347,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14264,
                                      "end": 14272,
                                      "loc": {
                                        "start": {
                                          "line": 347,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 347,
                                          "column": 46
                                        }
                                      },
                                      "name": "gridStep"
                                    },
                                    "computed": false
                                  }
                                },
                                {
                                  "type": "UnaryExpression",
                                  "start": 14274,
                                  "end": 14286,
                                  "loc": {
                                    "start": {
                                      "line": 347,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 347,
                                      "column": 60
                                    }
                                  },
                                  "operator": "-",
                                  "prefix": true,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 14276,
                                    "end": 14286,
                                    "loc": {
                                      "start": {
                                        "line": 347,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 347,
                                        "column": 60
                                      }
                                    },
                                    "name": "arrowWidth"
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 14288,
                                  "end": 14289,
                                  "loc": {
                                    "start": {
                                      "line": 347,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 347,
                                      "column": 63
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14304,
                            "end": 14330,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 12
                              },
                              "end": {
                                "line": 348,
                                "column": 38
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14304,
                              "end": 14329,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 12
                                },
                                "end": {
                                  "line": 348,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14304,
                                "end": 14313,
                                "loc": {
                                  "start": {
                                    "line": 348,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 348,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 14314,
                                  "end": 14322,
                                  "loc": {
                                    "start": {
                                      "line": 348,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 348,
                                      "column": 30
                                    }
                                  },
                                  "name": "axisSize"
                                },
                                {
                                  "type": "Literal",
                                  "start": 14324,
                                  "end": 14325,
                                  "loc": {
                                    "start": {
                                      "line": 348,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 348,
                                      "column": 33
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Literal",
                                  "start": 14327,
                                  "end": 14328,
                                  "loc": {
                                    "start": {
                                      "line": 348,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 348,
                                      "column": 36
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14343,
                            "end": 14396,
                            "loc": {
                              "start": {
                                "line": 349,
                                "column": 12
                              },
                              "end": {
                                "line": 349,
                                "column": 65
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14343,
                              "end": 14395,
                              "loc": {
                                "start": {
                                  "line": 349,
                                  "column": 12
                                },
                                "end": {
                                  "line": 349,
                                  "column": 64
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14343,
                                "end": 14352,
                                "loc": {
                                  "start": {
                                    "line": 349,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 349,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 14353,
                                  "end": 14377,
                                  "loc": {
                                    "start": {
                                      "line": 349,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 349,
                                      "column": 46
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14353,
                                    "end": 14361,
                                    "loc": {
                                      "start": {
                                        "line": 349,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 349,
                                        "column": 30
                                      }
                                    },
                                    "name": "axisSize"
                                  },
                                  "operator": "-",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 14364,
                                    "end": 14377,
                                    "loc": {
                                      "start": {
                                        "line": 349,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 349,
                                        "column": 46
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14364,
                                      "end": 14368,
                                      "loc": {
                                        "start": {
                                          "line": 349,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 349,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14369,
                                      "end": 14377,
                                      "loc": {
                                        "start": {
                                          "line": 349,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 349,
                                          "column": 46
                                        }
                                      },
                                      "name": "gridStep"
                                    },
                                    "computed": false
                                  }
                                },
                                {
                                  "type": "UnaryExpression",
                                  "start": 14379,
                                  "end": 14391,
                                  "loc": {
                                    "start": {
                                      "line": 349,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 349,
                                      "column": 60
                                    }
                                  },
                                  "operator": "+",
                                  "prefix": true,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 14381,
                                    "end": 14391,
                                    "loc": {
                                      "start": {
                                        "line": 349,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 349,
                                        "column": 60
                                      }
                                    },
                                    "name": "arrowWidth"
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 14393,
                                  "end": 14394,
                                  "loc": {
                                    "start": {
                                      "line": 349,
                                      "column": 62
                                    },
                                    "end": {
                                      "line": 349,
                                      "column": 63
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14409,
                            "end": 14435,
                            "loc": {
                              "start": {
                                "line": 350,
                                "column": 12
                              },
                              "end": {
                                "line": 350,
                                "column": 38
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14409,
                              "end": 14434,
                              "loc": {
                                "start": {
                                  "line": 350,
                                  "column": 12
                                },
                                "end": {
                                  "line": 350,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14409,
                                "end": 14418,
                                "loc": {
                                  "start": {
                                    "line": 350,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 350,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 14419,
                                  "end": 14427,
                                  "loc": {
                                    "start": {
                                      "line": 350,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 350,
                                      "column": 30
                                    }
                                  },
                                  "name": "axisSize"
                                },
                                {
                                  "type": "Literal",
                                  "start": 14429,
                                  "end": 14430,
                                  "loc": {
                                    "start": {
                                      "line": 350,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 350,
                                      "column": 33
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Literal",
                                  "start": 14432,
                                  "end": 14433,
                                  "loc": {
                                    "start": {
                                      "line": 350,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 350,
                                      "column": 36
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14448,
                            "end": 14500,
                            "loc": {
                              "start": {
                                "line": 351,
                                "column": 12
                              },
                              "end": {
                                "line": 351,
                                "column": 64
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14448,
                              "end": 14499,
                              "loc": {
                                "start": {
                                  "line": 351,
                                  "column": 12
                                },
                                "end": {
                                  "line": 351,
                                  "column": 63
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14448,
                                "end": 14457,
                                "loc": {
                                  "start": {
                                    "line": 351,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 351,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "UnaryExpression",
                                  "start": 14458,
                                  "end": 14469,
                                  "loc": {
                                    "start": {
                                      "line": 351,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 351,
                                      "column": 33
                                    }
                                  },
                                  "operator": "-",
                                  "prefix": true,
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 14459,
                                    "end": 14469,
                                    "loc": {
                                      "start": {
                                        "line": 351,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 351,
                                        "column": 33
                                      }
                                    },
                                    "name": "arrowWidth"
                                  }
                                },
                                {
                                  "type": "BinaryExpression",
                                  "start": 14471,
                                  "end": 14495,
                                  "loc": {
                                    "start": {
                                      "line": 351,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 351,
                                      "column": 59
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14471,
                                    "end": 14479,
                                    "loc": {
                                      "start": {
                                        "line": 351,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 351,
                                        "column": 43
                                      }
                                    },
                                    "name": "axisSize"
                                  },
                                  "operator": "-",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 14482,
                                    "end": 14495,
                                    "loc": {
                                      "start": {
                                        "line": 351,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 351,
                                        "column": 59
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14482,
                                      "end": 14486,
                                      "loc": {
                                        "start": {
                                          "line": 351,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 351,
                                          "column": 50
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14487,
                                      "end": 14495,
                                      "loc": {
                                        "start": {
                                          "line": 351,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 351,
                                          "column": 59
                                        }
                                      },
                                      "name": "gridStep"
                                    },
                                    "computed": false
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 14497,
                                  "end": 14498,
                                  "loc": {
                                    "start": {
                                      "line": 351,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 351,
                                      "column": 62
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14513,
                            "end": 14539,
                            "loc": {
                              "start": {
                                "line": 352,
                                "column": 12
                              },
                              "end": {
                                "line": 352,
                                "column": 38
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14513,
                              "end": 14538,
                              "loc": {
                                "start": {
                                  "line": 352,
                                  "column": 12
                                },
                                "end": {
                                  "line": 352,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14513,
                                "end": 14522,
                                "loc": {
                                  "start": {
                                    "line": 352,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 352,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 14523,
                                  "end": 14524,
                                  "loc": {
                                    "start": {
                                      "line": 352,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 352,
                                      "column": 23
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 14526,
                                  "end": 14534,
                                  "loc": {
                                    "start": {
                                      "line": 352,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 352,
                                      "column": 33
                                    }
                                  },
                                  "name": "axisSize"
                                },
                                {
                                  "type": "Literal",
                                  "start": 14536,
                                  "end": 14537,
                                  "loc": {
                                    "start": {
                                      "line": 352,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 352,
                                      "column": 36
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14552,
                            "end": 14604,
                            "loc": {
                              "start": {
                                "line": 353,
                                "column": 12
                              },
                              "end": {
                                "line": 353,
                                "column": 64
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14552,
                              "end": 14603,
                              "loc": {
                                "start": {
                                  "line": 353,
                                  "column": 12
                                },
                                "end": {
                                  "line": 353,
                                  "column": 63
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14552,
                                "end": 14561,
                                "loc": {
                                  "start": {
                                    "line": 353,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 353,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 14563,
                                  "end": 14573,
                                  "loc": {
                                    "start": {
                                      "line": 353,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 353,
                                      "column": 33
                                    }
                                  },
                                  "name": "arrowWidth"
                                },
                                {
                                  "type": "BinaryExpression",
                                  "start": 14575,
                                  "end": 14599,
                                  "loc": {
                                    "start": {
                                      "line": 353,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 353,
                                      "column": 59
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14575,
                                    "end": 14583,
                                    "loc": {
                                      "start": {
                                        "line": 353,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 353,
                                        "column": 43
                                      }
                                    },
                                    "name": "axisSize"
                                  },
                                  "operator": "-",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 14586,
                                    "end": 14599,
                                    "loc": {
                                      "start": {
                                        "line": 353,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 353,
                                        "column": 59
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 14586,
                                      "end": 14590,
                                      "loc": {
                                        "start": {
                                          "line": 353,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 353,
                                          "column": 50
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 14591,
                                      "end": 14599,
                                      "loc": {
                                        "start": {
                                          "line": 353,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 353,
                                          "column": 59
                                        }
                                      },
                                      "name": "gridStep"
                                    },
                                    "computed": false
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 14601,
                                  "end": 14602,
                                  "loc": {
                                    "start": {
                                      "line": 353,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 353,
                                      "column": 62
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14617,
                            "end": 14643,
                            "loc": {
                              "start": {
                                "line": 354,
                                "column": 12
                              },
                              "end": {
                                "line": 354,
                                "column": 38
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14617,
                              "end": 14642,
                              "loc": {
                                "start": {
                                  "line": 354,
                                  "column": 12
                                },
                                "end": {
                                  "line": 354,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14617,
                                "end": 14626,
                                "loc": {
                                  "start": {
                                    "line": 354,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 354,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 14627,
                                  "end": 14628,
                                  "loc": {
                                    "start": {
                                      "line": 354,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 354,
                                      "column": 23
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 14630,
                                  "end": 14638,
                                  "loc": {
                                    "start": {
                                      "line": 354,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 354,
                                      "column": 33
                                    }
                                  },
                                  "name": "axisSize"
                                },
                                {
                                  "type": "Literal",
                                  "start": 14640,
                                  "end": 14641,
                                  "loc": {
                                    "start": {
                                      "line": 354,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 354,
                                      "column": 36
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            },
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": " symbols \"x\", \"y\"",
                                "start": 14656,
                                "end": 14675,
                                "loc": {
                                  "start": {
                                    "line": 355,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 355,
                                    "column": 31
                                  }
                                },
                                "range": [
                                  14656,
                                  14675
                                ]
                              }
                            ]
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 14688,
                            "end": 14825,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 12
                              },
                              "end": {
                                "line": 358,
                                "column": 49
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 14692,
                                "end": 14718,
                                "loc": {
                                  "start": {
                                    "line": 356,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 356,
                                    "column": 42
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 14692,
                                  "end": 14704,
                                  "loc": {
                                    "start": {
                                      "line": 356,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 356,
                                      "column": 28
                                    }
                                  },
                                  "name": "letterOffset",
                                  "leadingComments": null
                                },
                                "init": {
                                  "type": "BinaryExpression",
                                  "start": 14707,
                                  "end": 14718,
                                  "loc": {
                                    "start": {
                                      "line": 356,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 356,
                                      "column": 42
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 14707,
                                    "end": 14715,
                                    "loc": {
                                      "start": {
                                        "line": 356,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 356,
                                        "column": 39
                                      }
                                    },
                                    "left": {
                                      "type": "Literal",
                                      "start": 14707,
                                      "end": 14708,
                                      "loc": {
                                        "start": {
                                          "line": 356,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 356,
                                          "column": 32
                                        }
                                      },
                                      "value": 3,
                                      "rawValue": 3,
                                      "raw": "3"
                                    },
                                    "operator": "*",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 14711,
                                      "end": 14715,
                                      "loc": {
                                        "start": {
                                          "line": 356,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 356,
                                          "column": 39
                                        }
                                      },
                                      "name": "step"
                                    }
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "Literal",
                                    "start": 14716,
                                    "end": 14718,
                                    "loc": {
                                      "start": {
                                        "line": 356,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 356,
                                        "column": 42
                                      }
                                    },
                                    "value": 10,
                                    "rawValue": 10,
                                    "raw": "10"
                                  }
                                },
                                "leadingComments": null
                              },
                              {
                                "type": "VariableDeclarator",
                                "start": 14736,
                                "end": 14774,
                                "loc": {
                                  "start": {
                                    "line": 357,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 357,
                                    "column": 54
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 14736,
                                  "end": 14748,
                                  "loc": {
                                    "start": {
                                      "line": 357,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 357,
                                      "column": 28
                                    }
                                  },
                                  "name": "letterHeight"
                                },
                                "init": {
                                  "type": "BinaryExpression",
                                  "start": 14751,
                                  "end": 14774,
                                  "loc": {
                                    "start": {
                                      "line": 357,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 357,
                                      "column": 54
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14751,
                                    "end": 14755,
                                    "loc": {
                                      "start": {
                                        "line": 357,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 357,
                                        "column": 35
                                      }
                                    },
                                    "name": "step"
                                  },
                                  "operator": "-",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 14758,
                                    "end": 14774,
                                    "loc": {
                                      "start": {
                                        "line": 357,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 357,
                                        "column": 54
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 14758,
                                      "end": 14770,
                                      "loc": {
                                        "start": {
                                          "line": 357,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 357,
                                          "column": 50
                                        }
                                      },
                                      "name": "letterOffset"
                                    },
                                    "operator": "*",
                                    "right": {
                                      "type": "Literal",
                                      "start": 14773,
                                      "end": 14774,
                                      "loc": {
                                        "start": {
                                          "line": 357,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 357,
                                          "column": 54
                                        }
                                      },
                                      "value": 2,
                                      "rawValue": 2,
                                      "raw": "2"
                                    }
                                  }
                                }
                              },
                              {
                                "type": "VariableDeclarator",
                                "start": 14792,
                                "end": 14824,
                                "loc": {
                                  "start": {
                                    "line": 358,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 358,
                                    "column": 48
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 14792,
                                  "end": 14803,
                                  "loc": {
                                    "start": {
                                      "line": 358,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 358,
                                      "column": 27
                                    }
                                  },
                                  "name": "letterWidth"
                                },
                                "init": {
                                  "type": "BinaryExpression",
                                  "start": 14806,
                                  "end": 14824,
                                  "loc": {
                                    "start": {
                                      "line": 358,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 358,
                                      "column": 48
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14806,
                                    "end": 14818,
                                    "loc": {
                                      "start": {
                                        "line": 358,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 358,
                                        "column": 42
                                      }
                                    },
                                    "name": "letterHeight"
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "Literal",
                                    "start": 14821,
                                    "end": 14824,
                                    "loc": {
                                      "start": {
                                        "line": 358,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 358,
                                        "column": 48
                                      }
                                    },
                                    "value": 0.6,
                                    "rawValue": 0.6,
                                    "raw": "0.6"
                                  }
                                }
                              }
                            ],
                            "kind": "var",
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": " symbols \"x\", \"y\"",
                                "start": 14656,
                                "end": 14675,
                                "loc": {
                                  "start": {
                                    "line": 355,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 355,
                                    "column": 31
                                  }
                                },
                                "range": [
                                  14656,
                                  14675
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14838,
                            "end": 14890,
                            "loc": {
                              "start": {
                                "line": 359,
                                "column": 12
                              },
                              "end": {
                                "line": 359,
                                "column": 64
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14838,
                              "end": 14889,
                              "loc": {
                                "start": {
                                  "line": 359,
                                  "column": 12
                                },
                                "end": {
                                  "line": 359,
                                  "column": 63
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14838,
                                "end": 14847,
                                "loc": {
                                  "start": {
                                    "line": 359,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 359,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 14848,
                                  "end": 14871,
                                  "loc": {
                                    "start": {
                                      "line": 359,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 359,
                                      "column": 45
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14848,
                                    "end": 14856,
                                    "loc": {
                                      "start": {
                                        "line": 359,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 359,
                                        "column": 30
                                      }
                                    },
                                    "name": "axisSize"
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 14859,
                                    "end": 14871,
                                    "loc": {
                                      "start": {
                                        "line": 359,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 359,
                                        "column": 45
                                      }
                                    },
                                    "name": "letterOffset"
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "start": 14873,
                                  "end": 14885,
                                  "loc": {
                                    "start": {
                                      "line": 359,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 359,
                                      "column": 59
                                    }
                                  },
                                  "name": "letterOffset"
                                },
                                {
                                  "type": "Literal",
                                  "start": 14887,
                                  "end": 14888,
                                  "loc": {
                                    "start": {
                                      "line": 359,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 359,
                                      "column": 62
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14903,
                            "end": 14984,
                            "loc": {
                              "start": {
                                "line": 360,
                                "column": 12
                              },
                              "end": {
                                "line": 360,
                                "column": 93
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14903,
                              "end": 14983,
                              "loc": {
                                "start": {
                                  "line": 360,
                                  "column": 12
                                },
                                "end": {
                                  "line": 360,
                                  "column": 92
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14903,
                                "end": 14912,
                                "loc": {
                                  "start": {
                                    "line": 360,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 360,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 14913,
                                  "end": 14950,
                                  "loc": {
                                    "start": {
                                      "line": 360,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 360,
                                      "column": 59
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 14913,
                                    "end": 14936,
                                    "loc": {
                                      "start": {
                                        "line": 360,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 360,
                                        "column": 45
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 14913,
                                      "end": 14921,
                                      "loc": {
                                        "start": {
                                          "line": 360,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 360,
                                          "column": 30
                                        }
                                      },
                                      "name": "axisSize"
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 14924,
                                      "end": 14936,
                                      "loc": {
                                        "start": {
                                          "line": 360,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 360,
                                          "column": 45
                                        }
                                      },
                                      "name": "letterOffset"
                                    }
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 14939,
                                    "end": 14950,
                                    "loc": {
                                      "start": {
                                        "line": 360,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 360,
                                        "column": 59
                                      }
                                    },
                                    "name": "letterWidth"
                                  }
                                },
                                {
                                  "type": "BinaryExpression",
                                  "start": 14952,
                                  "end": 14979,
                                  "loc": {
                                    "start": {
                                      "line": 360,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 360,
                                      "column": 88
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 14952,
                                    "end": 14964,
                                    "loc": {
                                      "start": {
                                        "line": 360,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 360,
                                        "column": 73
                                      }
                                    },
                                    "name": "letterOffset"
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 14967,
                                    "end": 14979,
                                    "loc": {
                                      "start": {
                                        "line": 360,
                                        "column": 76
                                      },
                                      "end": {
                                        "line": 360,
                                        "column": 88
                                      }
                                    },
                                    "name": "letterHeight"
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 14981,
                                  "end": 14982,
                                  "loc": {
                                    "start": {
                                      "line": 360,
                                      "column": 90
                                    },
                                    "end": {
                                      "line": 360,
                                      "column": 91
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 14997,
                            "end": 15064,
                            "loc": {
                              "start": {
                                "line": 361,
                                "column": 12
                              },
                              "end": {
                                "line": 361,
                                "column": 79
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 14997,
                              "end": 15063,
                              "loc": {
                                "start": {
                                  "line": 361,
                                  "column": 12
                                },
                                "end": {
                                  "line": 361,
                                  "column": 78
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 14997,
                                "end": 15006,
                                "loc": {
                                  "start": {
                                    "line": 361,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 361,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 15007,
                                  "end": 15030,
                                  "loc": {
                                    "start": {
                                      "line": 361,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 361,
                                      "column": 45
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 15007,
                                    "end": 15015,
                                    "loc": {
                                      "start": {
                                        "line": 361,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 361,
                                        "column": 30
                                      }
                                    },
                                    "name": "axisSize"
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 15018,
                                    "end": 15030,
                                    "loc": {
                                      "start": {
                                        "line": 361,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 361,
                                        "column": 45
                                      }
                                    },
                                    "name": "letterOffset"
                                  }
                                },
                                {
                                  "type": "BinaryExpression",
                                  "start": 15032,
                                  "end": 15059,
                                  "loc": {
                                    "start": {
                                      "line": 361,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 361,
                                      "column": 74
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 15032,
                                    "end": 15044,
                                    "loc": {
                                      "start": {
                                        "line": 361,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 361,
                                        "column": 59
                                      }
                                    },
                                    "name": "letterOffset"
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 15047,
                                    "end": 15059,
                                    "loc": {
                                      "start": {
                                        "line": 361,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 361,
                                        "column": 74
                                      }
                                    },
                                    "name": "letterHeight"
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 15061,
                                  "end": 15062,
                                  "loc": {
                                    "start": {
                                      "line": 361,
                                      "column": 76
                                    },
                                    "end": {
                                      "line": 361,
                                      "column": 77
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 15077,
                            "end": 15143,
                            "loc": {
                              "start": {
                                "line": 362,
                                "column": 12
                              },
                              "end": {
                                "line": 362,
                                "column": 78
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 15077,
                              "end": 15142,
                              "loc": {
                                "start": {
                                  "line": 362,
                                  "column": 12
                                },
                                "end": {
                                  "line": 362,
                                  "column": 77
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 15077,
                                "end": 15086,
                                "loc": {
                                  "start": {
                                    "line": 362,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 362,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 15087,
                                  "end": 15124,
                                  "loc": {
                                    "start": {
                                      "line": 362,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 362,
                                      "column": 59
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 15087,
                                    "end": 15110,
                                    "loc": {
                                      "start": {
                                        "line": 362,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 362,
                                        "column": 45
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 15087,
                                      "end": 15095,
                                      "loc": {
                                        "start": {
                                          "line": 362,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 362,
                                          "column": 30
                                        }
                                      },
                                      "name": "axisSize"
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 15098,
                                      "end": 15110,
                                      "loc": {
                                        "start": {
                                          "line": 362,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 362,
                                          "column": 45
                                        }
                                      },
                                      "name": "letterOffset"
                                    }
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 15113,
                                    "end": 15124,
                                    "loc": {
                                      "start": {
                                        "line": 362,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 362,
                                        "column": 59
                                      }
                                    },
                                    "name": "letterWidth"
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "start": 15126,
                                  "end": 15138,
                                  "loc": {
                                    "start": {
                                      "line": 362,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 362,
                                      "column": 73
                                    }
                                  },
                                  "name": "letterOffset"
                                },
                                {
                                  "type": "Literal",
                                  "start": 15140,
                                  "end": 15141,
                                  "loc": {
                                    "start": {
                                      "line": 362,
                                      "column": 75
                                    },
                                    "end": {
                                      "line": 362,
                                      "column": 76
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 15156,
                            "end": 15208,
                            "loc": {
                              "start": {
                                "line": 363,
                                "column": 12
                              },
                              "end": {
                                "line": 363,
                                "column": 64
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 15156,
                              "end": 15207,
                              "loc": {
                                "start": {
                                  "line": 363,
                                  "column": 12
                                },
                                "end": {
                                  "line": 363,
                                  "column": 63
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 15156,
                                "end": 15165,
                                "loc": {
                                  "start": {
                                    "line": 363,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 363,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 15166,
                                  "end": 15178,
                                  "loc": {
                                    "start": {
                                      "line": 363,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 363,
                                      "column": 34
                                    }
                                  },
                                  "name": "letterOffset"
                                },
                                {
                                  "type": "BinaryExpression",
                                  "start": 15180,
                                  "end": 15203,
                                  "loc": {
                                    "start": {
                                      "line": 363,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 363,
                                      "column": 59
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 15180,
                                    "end": 15188,
                                    "loc": {
                                      "start": {
                                        "line": 363,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 363,
                                        "column": 44
                                      }
                                    },
                                    "name": "axisSize"
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 15191,
                                    "end": 15203,
                                    "loc": {
                                      "start": {
                                        "line": 363,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 363,
                                        "column": 59
                                      }
                                    },
                                    "name": "letterOffset"
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 15205,
                                  "end": 15206,
                                  "loc": {
                                    "start": {
                                      "line": 363,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 363,
                                      "column": 62
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 15221,
                            "end": 15302,
                            "loc": {
                              "start": {
                                "line": 364,
                                "column": 12
                              },
                              "end": {
                                "line": 364,
                                "column": 93
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 15221,
                              "end": 15301,
                              "loc": {
                                "start": {
                                  "line": 364,
                                  "column": 12
                                },
                                "end": {
                                  "line": 364,
                                  "column": 92
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 15221,
                                "end": 15230,
                                "loc": {
                                  "start": {
                                    "line": 364,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 364,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 15231,
                                  "end": 15257,
                                  "loc": {
                                    "start": {
                                      "line": 364,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 364,
                                      "column": 48
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 15231,
                                    "end": 15243,
                                    "loc": {
                                      "start": {
                                        "line": 364,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 364,
                                        "column": 34
                                      }
                                    },
                                    "name": "letterOffset"
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 15246,
                                    "end": 15257,
                                    "loc": {
                                      "start": {
                                        "line": 364,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 364,
                                        "column": 48
                                      }
                                    },
                                    "name": "letterWidth"
                                  }
                                },
                                {
                                  "type": "BinaryExpression",
                                  "start": 15259,
                                  "end": 15297,
                                  "loc": {
                                    "start": {
                                      "line": 364,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 364,
                                      "column": 88
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 15259,
                                    "end": 15282,
                                    "loc": {
                                      "start": {
                                        "line": 364,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 364,
                                        "column": 73
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 15259,
                                      "end": 15267,
                                      "loc": {
                                        "start": {
                                          "line": 364,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 364,
                                          "column": 58
                                        }
                                      },
                                      "name": "axisSize"
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 15270,
                                      "end": 15282,
                                      "loc": {
                                        "start": {
                                          "line": 364,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 364,
                                          "column": 73
                                        }
                                      },
                                      "name": "letterOffset"
                                    }
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 15285,
                                    "end": 15297,
                                    "loc": {
                                      "start": {
                                        "line": 364,
                                        "column": 76
                                      },
                                      "end": {
                                        "line": 364,
                                        "column": 88
                                      }
                                    },
                                    "name": "letterHeight"
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 15299,
                                  "end": 15300,
                                  "loc": {
                                    "start": {
                                      "line": 364,
                                      "column": 90
                                    },
                                    "end": {
                                      "line": 364,
                                      "column": 91
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 15315,
                            "end": 15382,
                            "loc": {
                              "start": {
                                "line": 365,
                                "column": 12
                              },
                              "end": {
                                "line": 365,
                                "column": 79
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 15315,
                              "end": 15381,
                              "loc": {
                                "start": {
                                  "line": 365,
                                  "column": 12
                                },
                                "end": {
                                  "line": 365,
                                  "column": 78
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 15315,
                                "end": 15324,
                                "loc": {
                                  "start": {
                                    "line": 365,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 365,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 15325,
                                  "end": 15337,
                                  "loc": {
                                    "start": {
                                      "line": 365,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 365,
                                      "column": 34
                                    }
                                  },
                                  "name": "letterOffset"
                                },
                                {
                                  "type": "BinaryExpression",
                                  "start": 15339,
                                  "end": 15377,
                                  "loc": {
                                    "start": {
                                      "line": 365,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 365,
                                      "column": 74
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 15339,
                                    "end": 15362,
                                    "loc": {
                                      "start": {
                                        "line": 365,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 365,
                                        "column": 59
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 15339,
                                      "end": 15347,
                                      "loc": {
                                        "start": {
                                          "line": 365,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 365,
                                          "column": 44
                                        }
                                      },
                                      "name": "axisSize"
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 15350,
                                      "end": 15362,
                                      "loc": {
                                        "start": {
                                          "line": 365,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 365,
                                          "column": 59
                                        }
                                      },
                                      "name": "letterOffset"
                                    }
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 15365,
                                    "end": 15377,
                                    "loc": {
                                      "start": {
                                        "line": 365,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 365,
                                        "column": 74
                                      }
                                    },
                                    "name": "letterHeight"
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 15379,
                                  "end": 15380,
                                  "loc": {
                                    "start": {
                                      "line": 365,
                                      "column": 76
                                    },
                                    "end": {
                                      "line": 365,
                                      "column": 77
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 15395,
                            "end": 15484,
                            "loc": {
                              "start": {
                                "line": 366,
                                "column": 12
                              },
                              "end": {
                                "line": 366,
                                "column": 101
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 15395,
                              "end": 15483,
                              "loc": {
                                "start": {
                                  "line": 366,
                                  "column": 12
                                },
                                "end": {
                                  "line": 366,
                                  "column": 100
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 15395,
                                "end": 15404,
                                "loc": {
                                  "start": {
                                    "line": 366,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 366,
                                    "column": 21
                                  }
                                },
                                "name": "addToAxis"
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 15405,
                                  "end": 15435,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 52
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 15405,
                                    "end": 15417,
                                    "loc": {
                                      "start": {
                                        "line": 366,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 366,
                                        "column": 34
                                      }
                                    },
                                    "name": "letterOffset"
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 15420,
                                    "end": 15435,
                                    "loc": {
                                      "start": {
                                        "line": 366,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 366,
                                        "column": 52
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 15420,
                                      "end": 15431,
                                      "loc": {
                                        "start": {
                                          "line": 366,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 366,
                                          "column": 48
                                        }
                                      },
                                      "name": "letterWidth"
                                    },
                                    "operator": "/",
                                    "right": {
                                      "type": "Literal",
                                      "start": 15434,
                                      "end": 15435,
                                      "loc": {
                                        "start": {
                                          "line": 366,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 366,
                                          "column": 52
                                        }
                                      },
                                      "value": 2,
                                      "rawValue": 2,
                                      "raw": "2"
                                    }
                                  }
                                },
                                {
                                  "type": "BinaryExpression",
                                  "start": 15437,
                                  "end": 15479,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 96
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 15437,
                                    "end": 15460,
                                    "loc": {
                                      "start": {
                                        "line": 366,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 366,
                                        "column": 77
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 15437,
                                      "end": 15445,
                                      "loc": {
                                        "start": {
                                          "line": 366,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 366,
                                          "column": 62
                                        }
                                      },
                                      "name": "axisSize"
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 15448,
                                      "end": 15460,
                                      "loc": {
                                        "start": {
                                          "line": 366,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 366,
                                          "column": 77
                                        }
                                      },
                                      "name": "letterOffset"
                                    }
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 15463,
                                    "end": 15479,
                                    "loc": {
                                      "start": {
                                        "line": 366,
                                        "column": 80
                                      },
                                      "end": {
                                        "line": 366,
                                        "column": 96
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 15463,
                                      "end": 15475,
                                      "loc": {
                                        "start": {
                                          "line": 366,
                                          "column": 80
                                        },
                                        "end": {
                                          "line": 366,
                                          "column": 92
                                        }
                                      },
                                      "name": "letterHeight"
                                    },
                                    "operator": "/",
                                    "right": {
                                      "type": "Literal",
                                      "start": 15478,
                                      "end": 15479,
                                      "loc": {
                                        "start": {
                                          "line": 366,
                                          "column": 95
                                        },
                                        "end": {
                                          "line": 366,
                                          "column": 96
                                        }
                                      },
                                      "value": 2,
                                      "rawValue": 2,
                                      "raw": "2"
                                    }
                                  }
                                },
                                {
                                  "type": "Literal",
                                  "start": 15481,
                                  "end": 15482,
                                  "loc": {
                                    "start": {
                                      "line": 366,
                                      "column": 98
                                    },
                                    "end": {
                                      "line": 366,
                                      "column": 99
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            },
                            "trailingComments": [
                              {
                                "type": "CommentLine",
                                "value": "note: vertex counts must not change after first render",
                                "start": 15498,
                                "end": 15554,
                                "loc": {
                                  "start": {
                                    "line": 368,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 368,
                                    "column": 68
                                  }
                                },
                                "range": [
                                  15498,
                                  15554
                                ]
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "start": 15567,
                            "end": 15764,
                            "loc": {
                              "start": {
                                "line": 369,
                                "column": 12
                              },
                              "end": {
                                "line": 371,
                                "column": 73
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 15571,
                              "end": 15689,
                              "loc": {
                                "start": {
                                  "line": 369,
                                  "column": 16
                                },
                                "end": {
                                  "line": 370,
                                  "column": 65
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 15571,
                                "end": 15620,
                                "loc": {
                                  "start": {
                                    "line": 369,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 369,
                                    "column": 65
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 15571,
                                  "end": 15580,
                                  "loc": {
                                    "start": {
                                      "line": 369,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 369,
                                      "column": 25
                                    }
                                  },
                                  "name": "gridCount",
                                  "leadingComments": null
                                },
                                "operator": "!=",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 15584,
                                  "end": 15620,
                                  "loc": {
                                    "start": {
                                      "line": 369,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 369,
                                      "column": 65
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15584,
                                    "end": 15613,
                                    "loc": {
                                      "start": {
                                        "line": 369,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 369,
                                        "column": 58
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 15584,
                                      "end": 15604,
                                      "loc": {
                                        "start": {
                                          "line": 369,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 369,
                                          "column": 49
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 15584,
                                        "end": 15595,
                                        "loc": {
                                          "start": {
                                            "line": 369,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 369,
                                            "column": 40
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 15584,
                                          "end": 15588,
                                          "loc": {
                                            "start": {
                                              "line": 369,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 369,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15589,
                                          "end": 15595,
                                          "loc": {
                                            "start": {
                                              "line": 369,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 369,
                                              "column": 40
                                            }
                                          },
                                          "name": "__grid"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 15596,
                                        "end": 15604,
                                        "loc": {
                                          "start": {
                                            "line": 369,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 369,
                                            "column": 49
                                          }
                                        },
                                        "name": "geometry"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15605,
                                      "end": 15613,
                                      "loc": {
                                        "start": {
                                          "line": 369,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 369,
                                          "column": 58
                                        }
                                      },
                                      "name": "vertices"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15614,
                                    "end": 15620,
                                    "loc": {
                                      "start": {
                                        "line": 369,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 369,
                                        "column": 65
                                      }
                                    },
                                    "name": "length"
                                  },
                                  "computed": false
                                },
                                "leadingComments": null
                              },
                              "operator": "||",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 15640,
                                "end": 15689,
                                "loc": {
                                  "start": {
                                    "line": 370,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 370,
                                    "column": 65
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 15640,
                                  "end": 15649,
                                  "loc": {
                                    "start": {
                                      "line": 370,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 370,
                                      "column": 25
                                    }
                                  },
                                  "name": "axisCount"
                                },
                                "operator": "!=",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 15653,
                                  "end": 15689,
                                  "loc": {
                                    "start": {
                                      "line": 370,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 370,
                                      "column": 65
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15653,
                                    "end": 15682,
                                    "loc": {
                                      "start": {
                                        "line": 370,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 370,
                                        "column": 58
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 15653,
                                      "end": 15673,
                                      "loc": {
                                        "start": {
                                          "line": 370,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 370,
                                          "column": 49
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 15653,
                                        "end": 15664,
                                        "loc": {
                                          "start": {
                                            "line": 370,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 370,
                                            "column": 40
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 15653,
                                          "end": 15657,
                                          "loc": {
                                            "start": {
                                              "line": 370,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 370,
                                              "column": 33
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15658,
                                          "end": 15664,
                                          "loc": {
                                            "start": {
                                              "line": 370,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 370,
                                              "column": 40
                                            }
                                          },
                                          "name": "__axis"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 15665,
                                        "end": 15673,
                                        "loc": {
                                          "start": {
                                            "line": 370,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 370,
                                            "column": 49
                                          }
                                        },
                                        "name": "geometry"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15674,
                                      "end": 15682,
                                      "loc": {
                                        "start": {
                                          "line": 370,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 370,
                                          "column": 58
                                        }
                                      },
                                      "name": "vertices"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15683,
                                    "end": 15689,
                                    "loc": {
                                      "start": {
                                        "line": 370,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 370,
                                        "column": 65
                                      }
                                    },
                                    "name": "length"
                                  },
                                  "computed": false
                                }
                              },
                              "leadingComments": null
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 15707,
                              "end": 15764,
                              "loc": {
                                "start": {
                                  "line": 371,
                                  "column": 16
                                },
                                "end": {
                                  "line": 371,
                                  "column": 73
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 15707,
                                "end": 15763,
                                "loc": {
                                  "start": {
                                    "line": 371,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 371,
                                    "column": 72
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 15707,
                                  "end": 15720,
                                  "loc": {
                                    "start": {
                                      "line": 371,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 371,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 15707,
                                    "end": 15714,
                                    "loc": {
                                      "start": {
                                        "line": 371,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 371,
                                        "column": 23
                                      }
                                    },
                                    "name": "console"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15715,
                                    "end": 15720,
                                    "loc": {
                                      "start": {
                                        "line": 371,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 371,
                                        "column": 29
                                      }
                                    },
                                    "name": "error"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 15721,
                                    "end": 15762,
                                    "loc": {
                                      "start": {
                                        "line": 371,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 371,
                                        "column": 71
                                      }
                                    },
                                    "value": "Grid and axis vertex count has changed!",
                                    "rawValue": "Grid and axis vertex count has changed!",
                                    "raw": "\"Grid and axis vertex count has changed!\""
                                  }
                                ]
                              }
                            },
                            "alternate": null,
                            "leadingComments": [
                              {
                                "type": "CommentLine",
                                "value": "note: vertex counts must not change after first render",
                                "start": 15498,
                                "end": 15554,
                                "loc": {
                                  "start": {
                                    "line": 368,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 368,
                                    "column": 68
                                  }
                                },
                                "range": [
                                  15498,
                                  15554
                                ]
                              }
                            ]
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 15778,
                            "end": 15825,
                            "loc": {
                              "start": {
                                "line": 373,
                                "column": 12
                              },
                              "end": {
                                "line": 373,
                                "column": 59
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 15778,
                              "end": 15824,
                              "loc": {
                                "start": {
                                  "line": 373,
                                  "column": 12
                                },
                                "end": {
                                  "line": 373,
                                  "column": 58
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 15778,
                                "end": 15817,
                                "loc": {
                                  "start": {
                                    "line": 373,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 373,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 15778,
                                  "end": 15798,
                                  "loc": {
                                    "start": {
                                      "line": 373,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 373,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15778,
                                    "end": 15789,
                                    "loc": {
                                      "start": {
                                        "line": 373,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 373,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 15778,
                                      "end": 15782,
                                      "loc": {
                                        "start": {
                                          "line": 373,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 373,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15783,
                                      "end": 15789,
                                      "loc": {
                                        "start": {
                                          "line": 373,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 373,
                                          "column": 23
                                        }
                                      },
                                      "name": "__grid"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15790,
                                    "end": 15798,
                                    "loc": {
                                      "start": {
                                        "line": 373,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 373,
                                        "column": 32
                                      }
                                    },
                                    "name": "geometry"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15799,
                                  "end": 15817,
                                  "loc": {
                                    "start": {
                                      "line": 373,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 373,
                                      "column": 51
                                    }
                                  },
                                  "name": "verticesNeedUpdate"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Literal",
                                "start": 15820,
                                "end": 15824,
                                "loc": {
                                  "start": {
                                    "line": 373,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 373,
                                    "column": 58
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 15838,
                            "end": 15885,
                            "loc": {
                              "start": {
                                "line": 374,
                                "column": 12
                              },
                              "end": {
                                "line": 374,
                                "column": 59
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 15838,
                              "end": 15884,
                              "loc": {
                                "start": {
                                  "line": 374,
                                  "column": 12
                                },
                                "end": {
                                  "line": 374,
                                  "column": 58
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 15838,
                                "end": 15877,
                                "loc": {
                                  "start": {
                                    "line": 374,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 374,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 15838,
                                  "end": 15858,
                                  "loc": {
                                    "start": {
                                      "line": 374,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 374,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 15838,
                                    "end": 15849,
                                    "loc": {
                                      "start": {
                                        "line": 374,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 374,
                                        "column": 23
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 15838,
                                      "end": 15842,
                                      "loc": {
                                        "start": {
                                          "line": 374,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 374,
                                          "column": 16
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15843,
                                      "end": 15849,
                                      "loc": {
                                        "start": {
                                          "line": 374,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 374,
                                          "column": 23
                                        }
                                      },
                                      "name": "__axis"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 15850,
                                    "end": 15858,
                                    "loc": {
                                      "start": {
                                        "line": 374,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 374,
                                        "column": 32
                                      }
                                    },
                                    "name": "geometry"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15859,
                                  "end": 15877,
                                  "loc": {
                                    "start": {
                                      "line": 374,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 374,
                                      "column": 51
                                    }
                                  },
                                  "name": "verticesNeedUpdate"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Literal",
                                "start": 15880,
                                "end": 15884,
                                "loc": {
                                  "start": {
                                    "line": 374,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 374,
                                    "column": 58
                                  }
                                },
                                "value": true,
                                "rawValue": true,
                                "raw": "true"
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 15907,
              "end": 16069,
              "loc": {
                "start": {
                  "line": 378,
                  "column": 4
                },
                "end": {
                  "line": 381,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 15907,
                "end": 15919,
                "loc": {
                  "start": {
                    "line": 378,
                    "column": 4
                  },
                  "end": {
                    "line": 378,
                    "column": 16
                  }
                },
                "name": "calcGridStep"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 15919,
                "end": 16069,
                "loc": {
                  "start": {
                    "line": 378,
                    "column": 16
                  },
                  "end": {
                    "line": 381,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 15920,
                    "end": 15929,
                    "loc": {
                      "start": {
                        "line": 378,
                        "column": 17
                      },
                      "end": {
                        "line": 378,
                        "column": 26
                      }
                    },
                    "name": "modelSize"
                  },
                  {
                    "type": "Identifier",
                    "start": 15931,
                    "end": 15938,
                    "loc": {
                      "start": {
                        "line": 378,
                        "column": 28
                      },
                      "end": {
                        "line": 378,
                        "column": 35
                      }
                    },
                    "name": "oldstep"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 15940,
                  "end": 16069,
                  "loc": {
                    "start": {
                      "line": 378,
                      "column": 37
                    },
                    "end": {
                      "line": 381,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 15950,
                      "end": 16027,
                      "loc": {
                        "start": {
                          "line": 379,
                          "column": 8
                        },
                        "end": {
                          "line": 379,
                          "column": 85
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 15954,
                          "end": 16026,
                          "loc": {
                            "start": {
                              "line": 379,
                              "column": 12
                            },
                            "end": {
                              "line": 379,
                              "column": 84
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 15954,
                            "end": 15959,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 12
                              },
                              "end": {
                                "line": 379,
                                "column": 17
                              }
                            },
                            "name": "power"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 15962,
                            "end": 16026,
                            "loc": {
                              "start": {
                                "line": 379,
                                "column": 20
                              },
                              "end": {
                                "line": 379,
                                "column": 84
                              }
                            },
                            "left": {
                              "type": "CallExpression",
                              "start": 15962,
                              "end": 16022,
                              "loc": {
                                "start": {
                                  "line": 379,
                                  "column": 20
                                },
                                "end": {
                                  "line": 379,
                                  "column": 80
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 15962,
                                "end": 15972,
                                "loc": {
                                  "start": {
                                    "line": 379,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 379,
                                    "column": 30
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 15962,
                                  "end": 15966,
                                  "loc": {
                                    "start": {
                                      "line": 379,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 379,
                                      "column": 24
                                    }
                                  },
                                  "name": "Math"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 15967,
                                  "end": 15972,
                                  "loc": {
                                    "start": {
                                      "line": 379,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 379,
                                      "column": 30
                                    }
                                  },
                                  "name": "floor"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 15973,
                                  "end": 16021,
                                  "loc": {
                                    "start": {
                                      "line": 379,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 379,
                                      "column": 79
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 15973,
                                    "end": 15983,
                                    "loc": {
                                      "start": {
                                        "line": 379,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 379,
                                        "column": 41
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 15973,
                                      "end": 15977,
                                      "loc": {
                                        "start": {
                                          "line": 379,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 379,
                                          "column": 35
                                        }
                                      },
                                      "name": "Math"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 15978,
                                      "end": 15983,
                                      "loc": {
                                        "start": {
                                          "line": 379,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 379,
                                          "column": 41
                                        }
                                      },
                                      "name": "log10"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "start": 15984,
                                      "end": 16020,
                                      "loc": {
                                        "start": {
                                          "line": 379,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 379,
                                          "column": 78
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 15984,
                                        "end": 15992,
                                        "loc": {
                                          "start": {
                                            "line": 379,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 379,
                                            "column": 50
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 15984,
                                          "end": 15988,
                                          "loc": {
                                            "start": {
                                              "line": 379,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 379,
                                              "column": 46
                                            }
                                          },
                                          "name": "Math"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 15989,
                                          "end": 15992,
                                          "loc": {
                                            "start": {
                                              "line": 379,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 379,
                                              "column": 50
                                            }
                                          },
                                          "name": "abs"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "BinaryExpression",
                                          "start": 15993,
                                          "end": 16019,
                                          "loc": {
                                            "start": {
                                              "line": 379,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 379,
                                              "column": 77
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 15993,
                                            "end": 16002,
                                            "loc": {
                                              "start": {
                                                "line": 379,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 379,
                                                "column": 60
                                              }
                                            },
                                            "name": "modelSize"
                                          },
                                          "operator": "*",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 16005,
                                            "end": 16019,
                                            "loc": {
                                              "start": {
                                                "line": 379,
                                                "column": 63
                                              },
                                              "end": {
                                                "line": 379,
                                                "column": 77
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 16005,
                                              "end": 16009,
                                              "loc": {
                                                "start": {
                                                  "line": 379,
                                                  "column": 63
                                                },
                                                "end": {
                                                  "line": 379,
                                                  "column": 67
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 16010,
                                              "end": 16019,
                                              "loc": {
                                                "start": {
                                                  "line": 379,
                                                  "column": 68
                                                },
                                                "end": {
                                                  "line": 379,
                                                  "column": 77
                                                }
                                              },
                                              "name": "gridScale"
                                            },
                                            "computed": false
                                          }
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            },
                            "operator": "-",
                            "right": {
                              "type": "Literal",
                              "start": 16025,
                              "end": 16026,
                              "loc": {
                                "start": {
                                  "line": 379,
                                  "column": 83
                                },
                                "end": {
                                  "line": 379,
                                  "column": 84
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 16036,
                      "end": 16063,
                      "loc": {
                        "start": {
                          "line": 380,
                          "column": 8
                        },
                        "end": {
                          "line": 380,
                          "column": 35
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 16043,
                        "end": 16062,
                        "loc": {
                          "start": {
                            "line": 380,
                            "column": 15
                          },
                          "end": {
                            "line": 380,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16043,
                          "end": 16051,
                          "loc": {
                            "start": {
                              "line": 380,
                              "column": 15
                            },
                            "end": {
                              "line": 380,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 16043,
                            "end": 16047,
                            "loc": {
                              "start": {
                                "line": 380,
                                "column": 15
                              },
                              "end": {
                                "line": 380,
                                "column": 19
                              }
                            },
                            "name": "Math"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16048,
                            "end": 16051,
                            "loc": {
                              "start": {
                                "line": 380,
                                "column": 20
                              },
                              "end": {
                                "line": 380,
                                "column": 23
                              }
                            },
                            "name": "pow"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 16052,
                            "end": 16054,
                            "loc": {
                              "start": {
                                "line": 380,
                                "column": 24
                              },
                              "end": {
                                "line": 380,
                                "column": 26
                              }
                            },
                            "value": 10,
                            "rawValue": 10,
                            "raw": "10"
                          },
                          {
                            "type": "Identifier",
                            "start": 16056,
                            "end": 16061,
                            "loc": {
                              "start": {
                                "line": 380,
                                "column": 28
                              },
                              "end": {
                                "line": 380,
                                "column": 33
                              }
                            },
                            "name": "power"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 16075,
              "end": 16301,
              "loc": {
                "start": {
                  "line": 383,
                  "column": 4
                },
                "end": {
                  "line": 388,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 16075,
                "end": 16087,
                "loc": {
                  "start": {
                    "line": 383,
                    "column": 4
                  },
                  "end": {
                    "line": 383,
                    "column": 16
                  }
                },
                "name": "calcAxisSize"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 16087,
                "end": 16301,
                "loc": {
                  "start": {
                    "line": 383,
                    "column": 16
                  },
                  "end": {
                    "line": 388,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 16088,
                    "end": 16092,
                    "loc": {
                      "start": {
                        "line": 383,
                        "column": 17
                      },
                      "end": {
                        "line": 383,
                        "column": 21
                      }
                    },
                    "name": "size"
                  },
                  {
                    "type": "Identifier",
                    "start": 16094,
                    "end": 16098,
                    "loc": {
                      "start": {
                        "line": 383,
                        "column": 23
                      },
                      "end": {
                        "line": 383,
                        "column": 27
                      }
                    },
                    "name": "step"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 16100,
                  "end": 16301,
                  "loc": {
                    "start": {
                      "line": 383,
                      "column": 29
                    },
                    "end": {
                      "line": 388,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 16110,
                      "end": 16147,
                      "loc": {
                        "start": {
                          "line": 384,
                          "column": 8
                        },
                        "end": {
                          "line": 384,
                          "column": 45
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 16114,
                        "end": 16124,
                        "loc": {
                          "start": {
                            "line": 384,
                            "column": 12
                          },
                          "end": {
                            "line": 384,
                            "column": 22
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 16114,
                          "end": 16118,
                          "loc": {
                            "start": {
                              "line": 384,
                              "column": 12
                            },
                            "end": {
                              "line": 384,
                              "column": 16
                            }
                          },
                          "name": "size"
                        },
                        "operator": "<=",
                        "right": {
                          "type": "Literal",
                          "start": 16122,
                          "end": 16124,
                          "loc": {
                            "start": {
                              "line": 384,
                              "column": 20
                            },
                            "end": {
                              "line": 384,
                              "column": 22
                            }
                          },
                          "value": 10,
                          "rawValue": 10,
                          "raw": "10"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 16126,
                        "end": 16147,
                        "loc": {
                          "start": {
                            "line": 384,
                            "column": 24
                          },
                          "end": {
                            "line": 384,
                            "column": 45
                          }
                        },
                        "argument": {
                          "type": "MemberExpression",
                          "start": 16133,
                          "end": 16146,
                          "loc": {
                            "start": {
                              "line": 384,
                              "column": 31
                            },
                            "end": {
                              "line": 384,
                              "column": 44
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 16133,
                            "end": 16137,
                            "loc": {
                              "start": {
                                "line": 384,
                                "column": 31
                              },
                              "end": {
                                "line": 384,
                                "column": 35
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16138,
                            "end": 16146,
                            "loc": {
                              "start": {
                                "line": 384,
                                "column": 36
                              },
                              "end": {
                                "line": 384,
                                "column": 44
                              }
                            },
                            "name": "axisSize"
                          },
                          "computed": false
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 16156,
                      "end": 16211,
                      "loc": {
                        "start": {
                          "line": 385,
                          "column": 8
                        },
                        "end": {
                          "line": 385,
                          "column": 63
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 16160,
                          "end": 16210,
                          "loc": {
                            "start": {
                              "line": 385,
                              "column": 12
                            },
                            "end": {
                              "line": 385,
                              "column": 62
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 16160,
                            "end": 16172,
                            "loc": {
                              "start": {
                                "line": 385,
                                "column": 12
                              },
                              "end": {
                                "line": 385,
                                "column": 24
                              }
                            },
                            "name": "axisCellSize"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 16176,
                            "end": 16210,
                            "loc": {
                              "start": {
                                "line": 385,
                                "column": 28
                              },
                              "end": {
                                "line": 385,
                                "column": 62
                              }
                            },
                            "left": {
                              "type": "Literal",
                              "start": 16176,
                              "end": 16177,
                              "loc": {
                                "start": {
                                  "line": 385,
                                  "column": 28
                                },
                                "end": {
                                  "line": 385,
                                  "column": 29
                                }
                              },
                              "value": 5,
                              "rawValue": 5,
                              "raw": "5"
                            },
                            "operator": "*",
                            "right": {
                              "type": "CallExpression",
                              "start": 16180,
                              "end": 16210,
                              "loc": {
                                "start": {
                                  "line": 385,
                                  "column": 32
                                },
                                "end": {
                                  "line": 385,
                                  "column": 62
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 16180,
                                "end": 16190,
                                "loc": {
                                  "start": {
                                    "line": 385,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 385,
                                    "column": 42
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 16180,
                                  "end": 16184,
                                  "loc": {
                                    "start": {
                                      "line": 385,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 385,
                                      "column": 36
                                    }
                                  },
                                  "name": "Math"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 16185,
                                  "end": 16190,
                                  "loc": {
                                    "start": {
                                      "line": 385,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 385,
                                      "column": 42
                                    }
                                  },
                                  "name": "floor"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 16191,
                                  "end": 16209,
                                  "loc": {
                                    "start": {
                                      "line": 385,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 385,
                                      "column": 61
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 16191,
                                    "end": 16195,
                                    "loc": {
                                      "start": {
                                        "line": 385,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 385,
                                        "column": 47
                                      }
                                    },
                                    "name": "size"
                                  },
                                  "operator": "/",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 16199,
                                    "end": 16208,
                                    "loc": {
                                      "start": {
                                        "line": 385,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 385,
                                        "column": 60
                                      }
                                    },
                                    "left": {
                                      "type": "Literal",
                                      "start": 16199,
                                      "end": 16201,
                                      "loc": {
                                        "start": {
                                          "line": 385,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 385,
                                          "column": 53
                                        }
                                      },
                                      "value": 20,
                                      "rawValue": 20,
                                      "raw": "20"
                                    },
                                    "operator": "*",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 16204,
                                      "end": 16208,
                                      "loc": {
                                        "start": {
                                          "line": 385,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 385,
                                          "column": 60
                                        }
                                      },
                                      "name": "step"
                                    },
                                    "parenthesizedExpression": true
                                  }
                                }
                              ]
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 16220,
                      "end": 16259,
                      "loc": {
                        "start": {
                          "line": 386,
                          "column": 8
                        },
                        "end": {
                          "line": 386,
                          "column": 47
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 16224,
                        "end": 16240,
                        "loc": {
                          "start": {
                            "line": 386,
                            "column": 12
                          },
                          "end": {
                            "line": 386,
                            "column": 28
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 16224,
                          "end": 16236,
                          "loc": {
                            "start": {
                              "line": 386,
                              "column": 12
                            },
                            "end": {
                              "line": 386,
                              "column": 24
                            }
                          },
                          "name": "axisCellSize"
                        },
                        "operator": "<",
                        "right": {
                          "type": "Literal",
                          "start": 16239,
                          "end": 16240,
                          "loc": {
                            "start": {
                              "line": 386,
                              "column": 27
                            },
                            "end": {
                              "line": 386,
                              "column": 28
                            }
                          },
                          "value": 5,
                          "rawValue": 5,
                          "raw": "5"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 16242,
                        "end": 16259,
                        "loc": {
                          "start": {
                            "line": 386,
                            "column": 30
                          },
                          "end": {
                            "line": 386,
                            "column": 47
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 16242,
                          "end": 16258,
                          "loc": {
                            "start": {
                              "line": 386,
                              "column": 30
                            },
                            "end": {
                              "line": 386,
                              "column": 46
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 16242,
                            "end": 16254,
                            "loc": {
                              "start": {
                                "line": 386,
                                "column": 30
                              },
                              "end": {
                                "line": 386,
                                "column": 42
                              }
                            },
                            "name": "axisCellSize"
                          },
                          "right": {
                            "type": "Literal",
                            "start": 16257,
                            "end": 16258,
                            "loc": {
                              "start": {
                                "line": 386,
                                "column": 45
                              },
                              "end": {
                                "line": 386,
                                "column": 46
                              }
                            },
                            "value": 5,
                            "rawValue": 5,
                            "raw": "5"
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 16268,
                      "end": 16295,
                      "loc": {
                        "start": {
                          "line": 387,
                          "column": 8
                        },
                        "end": {
                          "line": 387,
                          "column": 35
                        }
                      },
                      "argument": {
                        "type": "BinaryExpression",
                        "start": 16275,
                        "end": 16294,
                        "loc": {
                          "start": {
                            "line": 387,
                            "column": 15
                          },
                          "end": {
                            "line": 387,
                            "column": 34
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 16275,
                          "end": 16287,
                          "loc": {
                            "start": {
                              "line": 387,
                              "column": 15
                            },
                            "end": {
                              "line": 387,
                              "column": 27
                            }
                          },
                          "name": "axisCellSize"
                        },
                        "operator": "*",
                        "right": {
                          "type": "Identifier",
                          "start": 16290,
                          "end": 16294,
                          "loc": {
                            "start": {
                              "line": 387,
                              "column": 30
                            },
                            "end": {
                              "line": 387,
                              "column": 34
                            }
                          },
                          "name": "step"
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 16307,
              "end": 17368,
              "loc": {
                "start": {
                  "line": 390,
                  "column": 4
                },
                "end": {
                  "line": 418,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 16307,
                "end": 16326,
                "loc": {
                  "start": {
                    "line": 390,
                    "column": 4
                  },
                  "end": {
                    "line": 390,
                    "column": 23
                  }
                },
                "name": "getClosestGeomPoint"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 16326,
                "end": 17368,
                "loc": {
                  "start": {
                    "line": 390,
                    "column": 23
                  },
                  "end": {
                    "line": 418,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 16327,
                    "end": 16335,
                    "loc": {
                      "start": {
                        "line": 390,
                        "column": 24
                      },
                      "end": {
                        "line": 390,
                        "column": 32
                      }
                    },
                    "name": "newPoint"
                  },
                  {
                    "type": "Identifier",
                    "start": 16337,
                    "end": 16348,
                    "loc": {
                      "start": {
                        "line": 390,
                        "column": 34
                      },
                      "end": {
                        "line": 390,
                        "column": 45
                      }
                    },
                    "name": "maxDistance"
                  },
                  {
                    "type": "Identifier",
                    "start": 16350,
                    "end": 16362,
                    "loc": {
                      "start": {
                        "line": 390,
                        "column": 47
                      },
                      "end": {
                        "line": 390,
                        "column": 59
                      }
                    },
                    "name": "ignoreFilter"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 16364,
                  "end": 17368,
                  "loc": {
                    "start": {
                      "line": 390,
                      "column": 61
                    },
                    "end": {
                      "line": 418,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 16374,
                      "end": 16452,
                      "loc": {
                        "start": {
                          "line": 391,
                          "column": 8
                        },
                        "end": {
                          "line": 392,
                          "column": 59
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 16378,
                        "end": 16391,
                        "loc": {
                          "start": {
                            "line": 391,
                            "column": 12
                          },
                          "end": {
                            "line": 391,
                            "column": 25
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 16379,
                          "end": 16391,
                          "loc": {
                            "start": {
                              "line": 391,
                              "column": 13
                            },
                            "end": {
                              "line": 391,
                              "column": 25
                            }
                          },
                          "name": "ignoreFilter"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 16405,
                        "end": 16452,
                        "loc": {
                          "start": {
                            "line": 392,
                            "column": 12
                          },
                          "end": {
                            "line": 392,
                            "column": 59
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 16405,
                          "end": 16451,
                          "loc": {
                            "start": {
                              "line": 392,
                              "column": 12
                            },
                            "end": {
                              "line": 392,
                              "column": 58
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 16405,
                            "end": 16417,
                            "loc": {
                              "start": {
                                "line": 392,
                                "column": 12
                              },
                              "end": {
                                "line": 392,
                                "column": 24
                              }
                            },
                            "name": "ignoreFilter"
                          },
                          "right": {
                            "type": "FunctionExpression",
                            "start": 16420,
                            "end": 16451,
                            "loc": {
                              "start": {
                                "line": 392,
                                "column": 27
                              },
                              "end": {
                                "line": 392,
                                "column": 58
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 16429,
                                "end": 16432,
                                "loc": {
                                  "start": {
                                    "line": 392,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 392,
                                    "column": 39
                                  }
                                },
                                "name": "obj"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 16434,
                              "end": 16451,
                              "loc": {
                                "start": {
                                  "line": 392,
                                  "column": 41
                                },
                                "end": {
                                  "line": 392,
                                  "column": 58
                                }
                              },
                              "body": [
                                {
                                  "type": "ReturnStatement",
                                  "start": 16436,
                                  "end": 16449,
                                  "loc": {
                                    "start": {
                                      "line": 392,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 392,
                                      "column": 56
                                    }
                                  },
                                  "argument": {
                                    "type": "Literal",
                                    "start": 16443,
                                    "end": 16448,
                                    "loc": {
                                      "start": {
                                        "line": 392,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 392,
                                        "column": 55
                                      }
                                    },
                                    "value": false,
                                    "rawValue": false,
                                    "raw": "false"
                                  }
                                }
                              ]
                            }
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 16462,
                      "end": 16489,
                      "loc": {
                        "start": {
                          "line": 394,
                          "column": 8
                        },
                        "end": {
                          "line": 394,
                          "column": 35
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 16466,
                          "end": 16488,
                          "loc": {
                            "start": {
                              "line": 394,
                              "column": 12
                            },
                            "end": {
                              "line": 394,
                              "column": 34
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 16466,
                            "end": 16474,
                            "loc": {
                              "start": {
                                "line": 394,
                                "column": 12
                              },
                              "end": {
                                "line": 394,
                                "column": 20
                              }
                            },
                            "name": "distance"
                          },
                          "init": {
                            "type": "Identifier",
                            "start": 16477,
                            "end": 16488,
                            "loc": {
                              "start": {
                                "line": 394,
                                "column": 23
                              },
                              "end": {
                                "line": 394,
                                "column": 34
                              }
                            },
                            "name": "maxDistance"
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 16498,
                      "end": 16534,
                      "loc": {
                        "start": {
                          "line": 395,
                          "column": 8
                        },
                        "end": {
                          "line": 395,
                          "column": 44
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 16502,
                          "end": 16533,
                          "loc": {
                            "start": {
                              "line": 395,
                              "column": 12
                            },
                            "end": {
                              "line": 395,
                              "column": 43
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 16502,
                            "end": 16514,
                            "loc": {
                              "start": {
                                "line": 395,
                                "column": 12
                              },
                              "end": {
                                "line": 395,
                                "column": 24
                              }
                            },
                            "name": "closestPoint"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 16517,
                            "end": 16533,
                            "loc": {
                              "start": {
                                "line": 395,
                                "column": 27
                              },
                              "end": {
                                "line": 395,
                                "column": 43
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 16517,
                              "end": 16531,
                              "loc": {
                                "start": {
                                  "line": 395,
                                  "column": 27
                                },
                                "end": {
                                  "line": 395,
                                  "column": 41
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 16517,
                                "end": 16525,
                                "loc": {
                                  "start": {
                                    "line": 395,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 395,
                                    "column": 35
                                  }
                                },
                                "name": "newPoint"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 16526,
                                "end": 16531,
                                "loc": {
                                  "start": {
                                    "line": 395,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 395,
                                    "column": 41
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 16543,
                      "end": 16565,
                      "loc": {
                        "start": {
                          "line": 396,
                          "column": 8
                        },
                        "end": {
                          "line": 396,
                          "column": 30
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 16547,
                          "end": 16564,
                          "loc": {
                            "start": {
                              "line": 396,
                              "column": 12
                            },
                            "end": {
                              "line": 396,
                              "column": 29
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 16547,
                            "end": 16556,
                            "loc": {
                              "start": {
                                "line": 396,
                                "column": 12
                              },
                              "end": {
                                "line": 396,
                                "column": 21
                              }
                            },
                            "name": "isSnapped"
                          },
                          "init": {
                            "type": "Literal",
                            "start": 16559,
                            "end": 16564,
                            "loc": {
                              "start": {
                                "line": 396,
                                "column": 24
                              },
                              "end": {
                                "line": 396,
                                "column": 29
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 16574,
                      "end": 17194,
                      "loc": {
                        "start": {
                          "line": 397,
                          "column": 8
                        },
                        "end": {
                          "line": 411,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 16574,
                        "end": 17193,
                        "loc": {
                          "start": {
                            "line": 397,
                            "column": 8
                          },
                          "end": {
                            "line": 411,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 16574,
                          "end": 16607,
                          "loc": {
                            "start": {
                              "line": 397,
                              "column": 8
                            },
                            "end": {
                              "line": 397,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 16574,
                            "end": 16599,
                            "loc": {
                              "start": {
                                "line": 397,
                                "column": 8
                              },
                              "end": {
                                "line": 397,
                                "column": 33
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 16574,
                              "end": 16597,
                              "loc": {
                                "start": {
                                  "line": 397,
                                  "column": 8
                                },
                                "end": {
                                  "line": 397,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 16574,
                                "end": 16578,
                                "loc": {
                                  "start": {
                                    "line": 397,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 397,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 16579,
                                "end": 16597,
                                "loc": {
                                  "start": {
                                    "line": 397,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 397,
                                    "column": 31
                                  }
                                },
                                "name": "getObjectsOnSketch"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 16600,
                            "end": 16607,
                            "loc": {
                              "start": {
                                "line": 397,
                                "column": 34
                              },
                              "end": {
                                "line": 397,
                                "column": 41
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 16608,
                            "end": 17192,
                            "loc": {
                              "start": {
                                "line": 397,
                                "column": 42
                              },
                              "end": {
                                "line": 411,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 16608,
                                "end": 16611,
                                "loc": {
                                  "start": {
                                    "line": 397,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 397,
                                    "column": 45
                                  }
                                },
                                "name": "obj"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 16616,
                              "end": 17192,
                              "loc": {
                                "start": {
                                  "line": 397,
                                  "column": 50
                                },
                                "end": {
                                  "line": 411,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 16630,
                                  "end": 17182,
                                  "loc": {
                                    "start": {
                                      "line": 398,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 410,
                                      "column": 15
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 16630,
                                    "end": 17181,
                                    "loc": {
                                      "start": {
                                        "line": 398,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 410,
                                        "column": 14
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 16630,
                                      "end": 16659,
                                      "loc": {
                                        "start": {
                                          "line": 398,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 398,
                                          "column": 41
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 16630,
                                        "end": 16636,
                                        "loc": {
                                          "start": {
                                            "line": 398,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 398,
                                            "column": 18
                                          }
                                        },
                                        "name": "Sketch"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 16637,
                                        "end": 16659,
                                        "loc": {
                                          "start": {
                                            "line": 398,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 398,
                                            "column": 41
                                          }
                                        },
                                        "name": "ForObjectsWithChildren"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 16660,
                                        "end": 16663,
                                        "loc": {
                                          "start": {
                                            "line": 398,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 398,
                                            "column": 45
                                          }
                                        },
                                        "name": "obj"
                                      },
                                      {
                                        "type": "FunctionExpression",
                                        "start": 16665,
                                        "end": 17180,
                                        "loc": {
                                          "start": {
                                            "line": 398,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 410,
                                            "column": 13
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 16674,
                                            "end": 16679,
                                            "loc": {
                                              "start": {
                                                "line": 398,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 398,
                                                "column": 61
                                              }
                                            },
                                            "name": "child"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 16681,
                                          "end": 17180,
                                          "loc": {
                                            "start": {
                                              "line": 398,
                                              "column": 63
                                            },
                                            "end": {
                                              "line": 410,
                                              "column": 13
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "IfStatement",
                                              "start": 16699,
                                              "end": 16751,
                                              "loc": {
                                                "start": {
                                                  "line": 399,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 400,
                                                  "column": 27
                                                }
                                              },
                                              "test": {
                                                "type": "CallExpression",
                                                "start": 16703,
                                                "end": 16722,
                                                "loc": {
                                                  "start": {
                                                    "line": 399,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 399,
                                                    "column": 39
                                                  }
                                                },
                                                "callee": {
                                                  "type": "Identifier",
                                                  "start": 16703,
                                                  "end": 16715,
                                                  "loc": {
                                                    "start": {
                                                      "line": 399,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 399,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "ignoreFilter"
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 16716,
                                                    "end": 16721,
                                                    "loc": {
                                                      "start": {
                                                        "line": 399,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 399,
                                                        "column": 38
                                                      }
                                                    },
                                                    "name": "child"
                                                  }
                                                ]
                                              },
                                              "consequent": {
                                                "type": "ReturnStatement",
                                                "start": 16744,
                                                "end": 16751,
                                                "loc": {
                                                  "start": {
                                                    "line": 400,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 400,
                                                    "column": 27
                                                  }
                                                },
                                                "argument": null
                                              },
                                              "alternate": null
                                            },
                                            {
                                              "type": "IfStatement",
                                              "start": 16768,
                                              "end": 17166,
                                              "loc": {
                                                "start": {
                                                  "line": 401,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 409,
                                                  "column": 17
                                                }
                                              },
                                              "test": {
                                                "type": "BinaryExpression",
                                                "start": 16772,
                                                "end": 16794,
                                                "loc": {
                                                  "start": {
                                                    "line": 401,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 401,
                                                    "column": 42
                                                  }
                                                },
                                                "left": {
                                                  "type": "Identifier",
                                                  "start": 16772,
                                                  "end": 16777,
                                                  "loc": {
                                                    "start": {
                                                      "line": 401,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 401,
                                                      "column": 25
                                                    }
                                                  },
                                                  "name": "child"
                                                },
                                                "operator": "instanceof",
                                                "right": {
                                                  "type": "Identifier",
                                                  "start": 16789,
                                                  "end": 16794,
                                                  "loc": {
                                                    "start": {
                                                      "line": 401,
                                                      "column": 37
                                                    },
                                                    "end": {
                                                      "line": 401,
                                                      "column": 42
                                                    }
                                                  },
                                                  "name": "Point"
                                                }
                                              },
                                              "consequent": {
                                                "type": "BlockStatement",
                                                "start": 16796,
                                                "end": 17166,
                                                "loc": {
                                                  "start": {
                                                    "line": 401,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 409,
                                                    "column": 17
                                                  }
                                                },
                                                "body": [
                                                  {
                                                    "type": "VariableDeclaration",
                                                    "start": 16818,
                                                    "end": 16836,
                                                    "loc": {
                                                      "start": {
                                                        "line": 402,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 402,
                                                        "column": 38
                                                      }
                                                    },
                                                    "declarations": [
                                                      {
                                                        "type": "VariableDeclarator",
                                                        "start": 16822,
                                                        "end": 16835,
                                                        "loc": {
                                                          "start": {
                                                            "line": 402,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 402,
                                                            "column": 37
                                                          }
                                                        },
                                                        "id": {
                                                          "type": "Identifier",
                                                          "start": 16822,
                                                          "end": 16827,
                                                          "loc": {
                                                            "start": {
                                                              "line": 402,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 402,
                                                              "column": 29
                                                            }
                                                          },
                                                          "name": "point"
                                                        },
                                                        "init": {
                                                          "type": "Identifier",
                                                          "start": 16830,
                                                          "end": 16835,
                                                          "loc": {
                                                            "start": {
                                                              "line": 402,
                                                              "column": 32
                                                            },
                                                            "end": {
                                                              "line": 402,
                                                              "column": 37
                                                            }
                                                          },
                                                          "name": "child"
                                                        }
                                                      }
                                                    ],
                                                    "kind": "var"
                                                  },
                                                  {
                                                    "type": "VariableDeclaration",
                                                    "start": 16857,
                                                    "end": 16915,
                                                    "loc": {
                                                      "start": {
                                                        "line": 403,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 403,
                                                        "column": 78
                                                      }
                                                    },
                                                    "declarations": [
                                                      {
                                                        "type": "VariableDeclarator",
                                                        "start": 16861,
                                                        "end": 16914,
                                                        "loc": {
                                                          "start": {
                                                            "line": 403,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 403,
                                                            "column": 77
                                                          }
                                                        },
                                                        "id": {
                                                          "type": "Identifier",
                                                          "start": 16861,
                                                          "end": 16876,
                                                          "loc": {
                                                            "start": {
                                                              "line": 403,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 403,
                                                              "column": 39
                                                            }
                                                          },
                                                          "name": "currentDistance"
                                                        },
                                                        "init": {
                                                          "type": "CallExpression",
                                                          "start": 16879,
                                                          "end": 16914,
                                                          "loc": {
                                                            "start": {
                                                              "line": 403,
                                                              "column": 42
                                                            },
                                                            "end": {
                                                              "line": 403,
                                                              "column": 77
                                                            }
                                                          },
                                                          "callee": {
                                                            "type": "MemberExpression",
                                                            "start": 16879,
                                                            "end": 16904,
                                                            "loc": {
                                                              "start": {
                                                                "line": 403,
                                                                "column": 42
                                                              },
                                                              "end": {
                                                                "line": 403,
                                                                "column": 67
                                                              }
                                                            },
                                                            "object": {
                                                              "type": "MemberExpression",
                                                              "start": 16879,
                                                              "end": 16893,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 403,
                                                                  "column": 42
                                                                },
                                                                "end": {
                                                                  "line": 403,
                                                                  "column": 56
                                                                }
                                                              },
                                                              "object": {
                                                                "type": "Identifier",
                                                                "start": 16879,
                                                                "end": 16884,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 403,
                                                                    "column": 42
                                                                  },
                                                                  "end": {
                                                                    "line": 403,
                                                                    "column": 47
                                                                  }
                                                                },
                                                                "name": "point"
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "start": 16885,
                                                                "end": 16893,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 403,
                                                                    "column": 48
                                                                  },
                                                                  "end": {
                                                                    "line": 403,
                                                                    "column": 56
                                                                  }
                                                                },
                                                                "name": "position"
                                                              },
                                                              "computed": false
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "start": 16894,
                                                              "end": 16904,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 403,
                                                                  "column": 57
                                                                },
                                                                "end": {
                                                                  "line": 403,
                                                                  "column": 67
                                                                }
                                                              },
                                                              "name": "distanceTo"
                                                            },
                                                            "computed": false
                                                          },
                                                          "arguments": [
                                                            {
                                                              "type": "Identifier",
                                                              "start": 16905,
                                                              "end": 16913,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 403,
                                                                  "column": 68
                                                                },
                                                                "end": {
                                                                  "line": 403,
                                                                  "column": 76
                                                                }
                                                              },
                                                              "name": "newPoint"
                                                            }
                                                          ]
                                                        }
                                                      }
                                                    ],
                                                    "kind": "var"
                                                  },
                                                  {
                                                    "type": "IfStatement",
                                                    "start": 16936,
                                                    "end": 17148,
                                                    "loc": {
                                                      "start": {
                                                        "line": 404,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 408,
                                                        "column": 21
                                                      }
                                                    },
                                                    "test": {
                                                      "type": "BinaryExpression",
                                                      "start": 16940,
                                                      "end": 16966,
                                                      "loc": {
                                                        "start": {
                                                          "line": 404,
                                                          "column": 24
                                                        },
                                                        "end": {
                                                          "line": 404,
                                                          "column": 50
                                                        }
                                                      },
                                                      "left": {
                                                        "type": "Identifier",
                                                        "start": 16940,
                                                        "end": 16955,
                                                        "loc": {
                                                          "start": {
                                                            "line": 404,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 404,
                                                            "column": 39
                                                          }
                                                        },
                                                        "name": "currentDistance"
                                                      },
                                                      "operator": "<",
                                                      "right": {
                                                        "type": "Identifier",
                                                        "start": 16958,
                                                        "end": 16966,
                                                        "loc": {
                                                          "start": {
                                                            "line": 404,
                                                            "column": 42
                                                          },
                                                          "end": {
                                                            "line": 404,
                                                            "column": 50
                                                          }
                                                        },
                                                        "name": "distance"
                                                      }
                                                    },
                                                    "consequent": {
                                                      "type": "BlockStatement",
                                                      "start": 16968,
                                                      "end": 17148,
                                                      "loc": {
                                                        "start": {
                                                          "line": 404,
                                                          "column": 52
                                                        },
                                                        "end": {
                                                          "line": 408,
                                                          "column": 21
                                                        }
                                                      },
                                                      "body": [
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "start": 16994,
                                                          "end": 17021,
                                                          "loc": {
                                                            "start": {
                                                              "line": 405,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 405,
                                                              "column": 51
                                                            }
                                                          },
                                                          "expression": {
                                                            "type": "AssignmentExpression",
                                                            "start": 16994,
                                                            "end": 17020,
                                                            "loc": {
                                                              "start": {
                                                                "line": 405,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 405,
                                                                "column": 50
                                                              }
                                                            },
                                                            "operator": "=",
                                                            "left": {
                                                              "type": "Identifier",
                                                              "start": 16994,
                                                              "end": 17002,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 405,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 405,
                                                                  "column": 32
                                                                }
                                                              },
                                                              "name": "distance"
                                                            },
                                                            "right": {
                                                              "type": "Identifier",
                                                              "start": 17005,
                                                              "end": 17020,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 405,
                                                                  "column": 35
                                                                },
                                                                "end": {
                                                                  "line": 405,
                                                                  "column": 50
                                                                }
                                                              },
                                                              "name": "currentDistance"
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "start": 17046,
                                                          "end": 17084,
                                                          "loc": {
                                                            "start": {
                                                              "line": 406,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 406,
                                                              "column": 62
                                                            }
                                                          },
                                                          "expression": {
                                                            "type": "AssignmentExpression",
                                                            "start": 17046,
                                                            "end": 17083,
                                                            "loc": {
                                                              "start": {
                                                                "line": 406,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 406,
                                                                "column": 61
                                                              }
                                                            },
                                                            "operator": "=",
                                                            "left": {
                                                              "type": "Identifier",
                                                              "start": 17046,
                                                              "end": 17058,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 406,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 406,
                                                                  "column": 36
                                                                }
                                                              },
                                                              "name": "closestPoint"
                                                            },
                                                            "right": {
                                                              "type": "CallExpression",
                                                              "start": 17061,
                                                              "end": 17083,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 406,
                                                                  "column": 39
                                                                },
                                                                "end": {
                                                                  "line": 406,
                                                                  "column": 61
                                                                }
                                                              },
                                                              "callee": {
                                                                "type": "MemberExpression",
                                                                "start": 17061,
                                                                "end": 17081,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 406,
                                                                    "column": 39
                                                                  },
                                                                  "end": {
                                                                    "line": 406,
                                                                    "column": 59
                                                                  }
                                                                },
                                                                "object": {
                                                                  "type": "MemberExpression",
                                                                  "start": 17061,
                                                                  "end": 17075,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 406,
                                                                      "column": 39
                                                                    },
                                                                    "end": {
                                                                      "line": 406,
                                                                      "column": 53
                                                                    }
                                                                  },
                                                                  "object": {
                                                                    "type": "Identifier",
                                                                    "start": 17061,
                                                                    "end": 17066,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 406,
                                                                        "column": 39
                                                                      },
                                                                      "end": {
                                                                        "line": 406,
                                                                        "column": 44
                                                                      }
                                                                    },
                                                                    "name": "point"
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "start": 17067,
                                                                    "end": 17075,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 406,
                                                                        "column": 45
                                                                      },
                                                                      "end": {
                                                                        "line": 406,
                                                                        "column": 53
                                                                      }
                                                                    },
                                                                    "name": "position"
                                                                  },
                                                                  "computed": false
                                                                },
                                                                "property": {
                                                                  "type": "Identifier",
                                                                  "start": 17076,
                                                                  "end": 17081,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 406,
                                                                      "column": 54
                                                                    },
                                                                    "end": {
                                                                      "line": 406,
                                                                      "column": 59
                                                                    }
                                                                  },
                                                                  "name": "clone"
                                                                },
                                                                "computed": false
                                                              },
                                                              "arguments": []
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "start": 17109,
                                                          "end": 17126,
                                                          "loc": {
                                                            "start": {
                                                              "line": 407,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 407,
                                                              "column": 41
                                                            }
                                                          },
                                                          "expression": {
                                                            "type": "AssignmentExpression",
                                                            "start": 17109,
                                                            "end": 17125,
                                                            "loc": {
                                                              "start": {
                                                                "line": 407,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 407,
                                                                "column": 40
                                                              }
                                                            },
                                                            "operator": "=",
                                                            "left": {
                                                              "type": "Identifier",
                                                              "start": 17109,
                                                              "end": 17118,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 407,
                                                                  "column": 24
                                                                },
                                                                "end": {
                                                                  "line": 407,
                                                                  "column": 33
                                                                }
                                                              },
                                                              "name": "isSnapped"
                                                            },
                                                            "right": {
                                                              "type": "Literal",
                                                              "start": 17121,
                                                              "end": 17125,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 407,
                                                                  "column": 36
                                                                },
                                                                "end": {
                                                                  "line": 407,
                                                                  "column": 40
                                                                }
                                                              },
                                                              "value": true,
                                                              "rawValue": true,
                                                              "raw": "true"
                                                            }
                                                          }
                                                        }
                                                      ]
                                                    },
                                                    "alternate": null
                                                  }
                                                ]
                                              },
                                              "alternate": null
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 17204,
                      "end": 17362,
                      "loc": {
                        "start": {
                          "line": 413,
                          "column": 8
                        },
                        "end": {
                          "line": 417,
                          "column": 10
                        }
                      },
                      "argument": {
                        "type": "ObjectExpression",
                        "start": 17211,
                        "end": 17361,
                        "loc": {
                          "start": {
                            "line": 413,
                            "column": 15
                          },
                          "end": {
                            "line": 417,
                            "column": 9
                          }
                        },
                        "properties": [
                          {
                            "type": "Property",
                            "start": 17225,
                            "end": 17254,
                            "loc": {
                              "start": {
                                "line": 414,
                                "column": 12
                              },
                              "end": {
                                "line": 414,
                                "column": 41
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 17225,
                              "end": 17240,
                              "loc": {
                                "start": {
                                  "line": 414,
                                  "column": 12
                                },
                                "end": {
                                  "line": 414,
                                  "column": 27
                                }
                              },
                              "name": "snappedPosition"
                            },
                            "value": {
                              "type": "Identifier",
                              "start": 17242,
                              "end": 17254,
                              "loc": {
                                "start": {
                                  "line": 414,
                                  "column": 29
                                },
                                "end": {
                                  "line": 414,
                                  "column": 41
                                }
                              },
                              "name": "closestPoint"
                            },
                            "kind": "init"
                          },
                          {
                            "type": "Property",
                            "start": 17268,
                            "end": 17317,
                            "loc": {
                              "start": {
                                "line": 415,
                                "column": 12
                              },
                              "end": {
                                "line": 415,
                                "column": 61
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 17268,
                              "end": 17281,
                              "loc": {
                                "start": {
                                  "line": 415,
                                  "column": 12
                                },
                                "end": {
                                  "line": 415,
                                  "column": 25
                                }
                              },
                              "name": "snappingShift"
                            },
                            "value": {
                              "type": "CallExpression",
                              "start": 17283,
                              "end": 17317,
                              "loc": {
                                "start": {
                                  "line": 415,
                                  "column": 27
                                },
                                "end": {
                                  "line": 415,
                                  "column": 61
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 17283,
                                "end": 17307,
                                "loc": {
                                  "start": {
                                    "line": 415,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 415,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 17283,
                                  "end": 17303,
                                  "loc": {
                                    "start": {
                                      "line": 415,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 415,
                                      "column": 47
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 17283,
                                    "end": 17301,
                                    "loc": {
                                      "start": {
                                        "line": 415,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 415,
                                        "column": 45
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 17283,
                                      "end": 17295,
                                      "loc": {
                                        "start": {
                                          "line": 415,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 415,
                                          "column": 39
                                        }
                                      },
                                      "name": "closestPoint"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 17296,
                                      "end": 17301,
                                      "loc": {
                                        "start": {
                                          "line": 415,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 415,
                                          "column": 45
                                        }
                                      },
                                      "name": "clone"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 17304,
                                  "end": 17307,
                                  "loc": {
                                    "start": {
                                      "line": 415,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 415,
                                      "column": 51
                                    }
                                  },
                                  "name": "sub"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 17308,
                                  "end": 17316,
                                  "loc": {
                                    "start": {
                                      "line": 415,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 415,
                                      "column": 60
                                    }
                                  },
                                  "name": "newPoint"
                                }
                              ]
                            },
                            "kind": "init"
                          },
                          {
                            "type": "Property",
                            "start": 17331,
                            "end": 17351,
                            "loc": {
                              "start": {
                                "line": 416,
                                "column": 12
                              },
                              "end": {
                                "line": 416,
                                "column": 32
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 17331,
                              "end": 17340,
                              "loc": {
                                "start": {
                                  "line": 416,
                                  "column": 12
                                },
                                "end": {
                                  "line": 416,
                                  "column": 21
                                }
                              },
                              "name": "isSnapped"
                            },
                            "value": {
                              "type": "Identifier",
                              "start": 17342,
                              "end": 17351,
                              "loc": {
                                "start": {
                                  "line": 416,
                                  "column": 23
                                },
                                "end": {
                                  "line": 416,
                                  "column": 32
                                }
                              },
                              "name": "isSnapped"
                            },
                            "kind": "init"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 17374,
              "end": 18181,
              "loc": {
                "start": {
                  "line": 420,
                  "column": 4
                },
                "end": {
                  "line": 439,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 17374,
                "end": 17393,
                "loc": {
                  "start": {
                    "line": 420,
                    "column": 4
                  },
                  "end": {
                    "line": 420,
                    "column": 23
                  }
                },
                "name": "getClosestGridPoint"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 17393,
                "end": 18181,
                "loc": {
                  "start": {
                    "line": 420,
                    "column": 23
                  },
                  "end": {
                    "line": 439,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 17394,
                    "end": 17402,
                    "loc": {
                      "start": {
                        "line": 420,
                        "column": 24
                      },
                      "end": {
                        "line": 420,
                        "column": 32
                      }
                    },
                    "name": "newPoint"
                  },
                  {
                    "type": "Identifier",
                    "start": 17404,
                    "end": 17415,
                    "loc": {
                      "start": {
                        "line": 420,
                        "column": 34
                      },
                      "end": {
                        "line": 420,
                        "column": 45
                      }
                    },
                    "name": "maxDistance"
                  },
                  {
                    "type": "Identifier",
                    "start": 17417,
                    "end": 17429,
                    "loc": {
                      "start": {
                        "line": 420,
                        "column": 47
                      },
                      "end": {
                        "line": 420,
                        "column": 59
                      }
                    },
                    "name": "ignoreFilter"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 17431,
                  "end": 18181,
                  "loc": {
                    "start": {
                      "line": 420,
                      "column": 61
                    },
                    "end": {
                      "line": 439,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 17441,
                      "end": 17477,
                      "loc": {
                        "start": {
                          "line": 421,
                          "column": 8
                        },
                        "end": {
                          "line": 421,
                          "column": 44
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 17445,
                          "end": 17476,
                          "loc": {
                            "start": {
                              "line": 421,
                              "column": 12
                            },
                            "end": {
                              "line": 421,
                              "column": 43
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 17445,
                            "end": 17457,
                            "loc": {
                              "start": {
                                "line": 421,
                                "column": 12
                              },
                              "end": {
                                "line": 421,
                                "column": 24
                              }
                            },
                            "name": "closestPoint"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 17460,
                            "end": 17476,
                            "loc": {
                              "start": {
                                "line": 421,
                                "column": 27
                              },
                              "end": {
                                "line": 421,
                                "column": 43
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 17460,
                              "end": 17474,
                              "loc": {
                                "start": {
                                  "line": 421,
                                  "column": 27
                                },
                                "end": {
                                  "line": 421,
                                  "column": 41
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 17460,
                                "end": 17468,
                                "loc": {
                                  "start": {
                                    "line": 421,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 421,
                                    "column": 35
                                  }
                                },
                                "name": "newPoint"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 17469,
                                "end": 17474,
                                "loc": {
                                  "start": {
                                    "line": 421,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 421,
                                    "column": 41
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 17486,
                      "end": 17508,
                      "loc": {
                        "start": {
                          "line": 422,
                          "column": 8
                        },
                        "end": {
                          "line": 422,
                          "column": 30
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 17490,
                          "end": 17507,
                          "loc": {
                            "start": {
                              "line": 422,
                              "column": 12
                            },
                            "end": {
                              "line": 422,
                              "column": 29
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 17490,
                            "end": 17499,
                            "loc": {
                              "start": {
                                "line": 422,
                                "column": 12
                              },
                              "end": {
                                "line": 422,
                                "column": 21
                              }
                            },
                            "name": "isSnapped"
                          },
                          "init": {
                            "type": "Literal",
                            "start": 17502,
                            "end": 17507,
                            "loc": {
                              "start": {
                                "line": 422,
                                "column": 24
                              },
                              "end": {
                                "line": 422,
                                "column": 29
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 17517,
                      "end": 18007,
                      "loc": {
                        "start": {
                          "line": 423,
                          "column": 8
                        },
                        "end": {
                          "line": 432,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 17521,
                        "end": 17540,
                        "loc": {
                          "start": {
                            "line": 423,
                            "column": 12
                          },
                          "end": {
                            "line": 423,
                            "column": 31
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 17521,
                          "end": 17534,
                          "loc": {
                            "start": {
                              "line": 423,
                              "column": 12
                            },
                            "end": {
                              "line": 423,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 17521,
                            "end": 17525,
                            "loc": {
                              "start": {
                                "line": 423,
                                "column": 12
                              },
                              "end": {
                                "line": 423,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 17526,
                            "end": 17534,
                            "loc": {
                              "start": {
                                "line": 423,
                                "column": 17
                              },
                              "end": {
                                "line": 423,
                                "column": 25
                              }
                            },
                            "name": "gridStep"
                          },
                          "computed": false
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 17537,
                          "end": 17540,
                          "loc": {
                            "start": {
                              "line": 423,
                              "column": 28
                            },
                            "end": {
                              "line": 423,
                              "column": 31
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0.0"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 17542,
                        "end": 18007,
                        "loc": {
                          "start": {
                            "line": 423,
                            "column": 33
                          },
                          "end": {
                            "line": 432,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 17556,
                            "end": 17614,
                            "loc": {
                              "start": {
                                "line": 424,
                                "column": 12
                              },
                              "end": {
                                "line": 424,
                                "column": 70
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 17560,
                                "end": 17613,
                                "loc": {
                                  "start": {
                                    "line": 424,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 424,
                                    "column": 69
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 17560,
                                  "end": 17568,
                                  "loc": {
                                    "start": {
                                      "line": 424,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 424,
                                      "column": 24
                                    }
                                  },
                                  "name": "distance"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 17571,
                                  "end": 17613,
                                  "loc": {
                                    "start": {
                                      "line": 424,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 424,
                                      "column": 69
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 17571,
                                    "end": 17579,
                                    "loc": {
                                      "start": {
                                        "line": 424,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 424,
                                        "column": 35
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 17571,
                                      "end": 17575,
                                      "loc": {
                                        "start": {
                                          "line": 424,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 424,
                                          "column": 31
                                        }
                                      },
                                      "name": "Math"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 17576,
                                      "end": 17579,
                                      "loc": {
                                        "start": {
                                          "line": 424,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 424,
                                          "column": 35
                                        }
                                      },
                                      "name": "min"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 17580,
                                      "end": 17591,
                                      "loc": {
                                        "start": {
                                          "line": 424,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 424,
                                          "column": 47
                                        }
                                      },
                                      "name": "maxDistance"
                                    },
                                    {
                                      "type": "BinaryExpression",
                                      "start": 17593,
                                      "end": 17612,
                                      "loc": {
                                        "start": {
                                          "line": 424,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 424,
                                          "column": 68
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 17593,
                                        "end": 17606,
                                        "loc": {
                                          "start": {
                                            "line": 424,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 424,
                                            "column": 62
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 17593,
                                          "end": 17597,
                                          "loc": {
                                            "start": {
                                              "line": 424,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 424,
                                              "column": 53
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 17598,
                                          "end": 17606,
                                          "loc": {
                                            "start": {
                                              "line": 424,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 424,
                                              "column": 62
                                            }
                                          },
                                          "name": "gridStep"
                                        },
                                        "computed": false
                                      },
                                      "operator": "/",
                                      "right": {
                                        "type": "Literal",
                                        "start": 17609,
                                        "end": 17612,
                                        "loc": {
                                          "start": {
                                            "line": 424,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 424,
                                            "column": 68
                                          }
                                        },
                                        "value": 3,
                                        "rawValue": 3,
                                        "raw": "3.0"
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 17627,
                            "end": 17690,
                            "loc": {
                              "start": {
                                "line": 425,
                                "column": 12
                              },
                              "end": {
                                "line": 425,
                                "column": 75
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 17631,
                                "end": 17689,
                                "loc": {
                                  "start": {
                                    "line": 425,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 425,
                                    "column": 74
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 17631,
                                  "end": 17632,
                                  "loc": {
                                    "start": {
                                      "line": 425,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 425,
                                      "column": 17
                                    }
                                  },
                                  "name": "x"
                                },
                                "init": {
                                  "type": "BinaryExpression",
                                  "start": 17635,
                                  "end": 17689,
                                  "loc": {
                                    "start": {
                                      "line": 425,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 425,
                                      "column": 74
                                    }
                                  },
                                  "left": {
                                    "type": "CallExpression",
                                    "start": 17635,
                                    "end": 17673,
                                    "loc": {
                                      "start": {
                                        "line": 425,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 425,
                                        "column": 58
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 17635,
                                      "end": 17645,
                                      "loc": {
                                        "start": {
                                          "line": 425,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 425,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 17635,
                                        "end": 17639,
                                        "loc": {
                                          "start": {
                                            "line": 425,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 425,
                                            "column": 24
                                          }
                                        },
                                        "name": "Math"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 17640,
                                        "end": 17645,
                                        "loc": {
                                          "start": {
                                            "line": 425,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 425,
                                            "column": 30
                                          }
                                        },
                                        "name": "round"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 17646,
                                        "end": 17672,
                                        "loc": {
                                          "start": {
                                            "line": 425,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 425,
                                            "column": 57
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 17646,
                                          "end": 17656,
                                          "loc": {
                                            "start": {
                                              "line": 425,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 425,
                                              "column": 41
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 17646,
                                            "end": 17654,
                                            "loc": {
                                              "start": {
                                                "line": 425,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 425,
                                                "column": 39
                                              }
                                            },
                                            "name": "newPoint"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 17655,
                                            "end": 17656,
                                            "loc": {
                                              "start": {
                                                "line": 425,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 425,
                                                "column": 41
                                              }
                                            },
                                            "name": "x"
                                          },
                                          "computed": false
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 17659,
                                          "end": 17672,
                                          "loc": {
                                            "start": {
                                              "line": 425,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 425,
                                              "column": 57
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 17659,
                                            "end": 17663,
                                            "loc": {
                                              "start": {
                                                "line": 425,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 425,
                                                "column": 48
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 17664,
                                            "end": 17672,
                                            "loc": {
                                              "start": {
                                                "line": 425,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 425,
                                                "column": 57
                                              }
                                            },
                                            "name": "gridStep"
                                          },
                                          "computed": false
                                        }
                                      }
                                    ]
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 17676,
                                    "end": 17689,
                                    "loc": {
                                      "start": {
                                        "line": 425,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 425,
                                        "column": 74
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 17676,
                                      "end": 17680,
                                      "loc": {
                                        "start": {
                                          "line": 425,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 425,
                                          "column": 65
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 17681,
                                      "end": 17689,
                                      "loc": {
                                        "start": {
                                          "line": 425,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 425,
                                          "column": 74
                                        }
                                      },
                                      "name": "gridStep"
                                    },
                                    "computed": false
                                  }
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 17703,
                            "end": 17766,
                            "loc": {
                              "start": {
                                "line": 426,
                                "column": 12
                              },
                              "end": {
                                "line": 426,
                                "column": 75
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 17707,
                                "end": 17765,
                                "loc": {
                                  "start": {
                                    "line": 426,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 426,
                                    "column": 74
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 17707,
                                  "end": 17708,
                                  "loc": {
                                    "start": {
                                      "line": 426,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 426,
                                      "column": 17
                                    }
                                  },
                                  "name": "y"
                                },
                                "init": {
                                  "type": "BinaryExpression",
                                  "start": 17711,
                                  "end": 17765,
                                  "loc": {
                                    "start": {
                                      "line": 426,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 426,
                                      "column": 74
                                    }
                                  },
                                  "left": {
                                    "type": "CallExpression",
                                    "start": 17711,
                                    "end": 17749,
                                    "loc": {
                                      "start": {
                                        "line": 426,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 426,
                                        "column": 58
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 17711,
                                      "end": 17721,
                                      "loc": {
                                        "start": {
                                          "line": 426,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 426,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 17711,
                                        "end": 17715,
                                        "loc": {
                                          "start": {
                                            "line": 426,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 426,
                                            "column": 24
                                          }
                                        },
                                        "name": "Math"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 17716,
                                        "end": 17721,
                                        "loc": {
                                          "start": {
                                            "line": 426,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 426,
                                            "column": 30
                                          }
                                        },
                                        "name": "round"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "BinaryExpression",
                                        "start": 17722,
                                        "end": 17748,
                                        "loc": {
                                          "start": {
                                            "line": 426,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 426,
                                            "column": 57
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 17722,
                                          "end": 17732,
                                          "loc": {
                                            "start": {
                                              "line": 426,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 426,
                                              "column": 41
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 17722,
                                            "end": 17730,
                                            "loc": {
                                              "start": {
                                                "line": 426,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 426,
                                                "column": 39
                                              }
                                            },
                                            "name": "newPoint"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 17731,
                                            "end": 17732,
                                            "loc": {
                                              "start": {
                                                "line": 426,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 426,
                                                "column": 41
                                              }
                                            },
                                            "name": "y"
                                          },
                                          "computed": false
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "MemberExpression",
                                          "start": 17735,
                                          "end": 17748,
                                          "loc": {
                                            "start": {
                                              "line": 426,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 426,
                                              "column": 57
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 17735,
                                            "end": 17739,
                                            "loc": {
                                              "start": {
                                                "line": 426,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 426,
                                                "column": 48
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 17740,
                                            "end": 17748,
                                            "loc": {
                                              "start": {
                                                "line": 426,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 426,
                                                "column": 57
                                              }
                                            },
                                            "name": "gridStep"
                                          },
                                          "computed": false
                                        }
                                      }
                                    ]
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 17752,
                                    "end": 17765,
                                    "loc": {
                                      "start": {
                                        "line": 426,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 426,
                                        "column": 74
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 17752,
                                      "end": 17756,
                                      "loc": {
                                        "start": {
                                          "line": 426,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 426,
                                          "column": 65
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 17757,
                                      "end": 17765,
                                      "loc": {
                                        "start": {
                                          "line": 426,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 426,
                                          "column": 74
                                        }
                                      },
                                      "name": "gridStep"
                                    },
                                    "computed": false
                                  }
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 17779,
                            "end": 17997,
                            "loc": {
                              "start": {
                                "line": 427,
                                "column": 12
                              },
                              "end": {
                                "line": 431,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 17783,
                              "end": 17874,
                              "loc": {
                                "start": {
                                  "line": 427,
                                  "column": 16
                                },
                                "end": {
                                  "line": 427,
                                  "column": 107
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 17784,
                                "end": 17853,
                                "loc": {
                                  "start": {
                                    "line": 427,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 427,
                                    "column": 86
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 17784,
                                  "end": 17817,
                                  "loc": {
                                    "start": {
                                      "line": 427,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 427,
                                      "column": 50
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 17785,
                                    "end": 17799,
                                    "loc": {
                                      "start": {
                                        "line": 427,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 427,
                                        "column": 32
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 17785,
                                      "end": 17786,
                                      "loc": {
                                        "start": {
                                          "line": 427,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 427,
                                          "column": 19
                                        }
                                      },
                                      "name": "x"
                                    },
                                    "operator": "-",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 17789,
                                      "end": 17799,
                                      "loc": {
                                        "start": {
                                          "line": 427,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 427,
                                          "column": 32
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 17789,
                                        "end": 17797,
                                        "loc": {
                                          "start": {
                                            "line": 427,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 427,
                                            "column": 30
                                          }
                                        },
                                        "name": "newPoint"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 17798,
                                        "end": 17799,
                                        "loc": {
                                          "start": {
                                            "line": 427,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 427,
                                            "column": 32
                                          }
                                        },
                                        "name": "x"
                                      },
                                      "computed": false
                                    },
                                    "parenthesizedExpression": true
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 17802,
                                    "end": 17816,
                                    "loc": {
                                      "start": {
                                        "line": 427,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 427,
                                        "column": 49
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 17802,
                                      "end": 17803,
                                      "loc": {
                                        "start": {
                                          "line": 427,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 427,
                                          "column": 36
                                        }
                                      },
                                      "name": "x"
                                    },
                                    "operator": "-",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 17806,
                                      "end": 17816,
                                      "loc": {
                                        "start": {
                                          "line": 427,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 427,
                                          "column": 49
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 17806,
                                        "end": 17814,
                                        "loc": {
                                          "start": {
                                            "line": 427,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 427,
                                            "column": 47
                                          }
                                        },
                                        "name": "newPoint"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 17815,
                                        "end": 17816,
                                        "loc": {
                                          "start": {
                                            "line": 427,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 427,
                                            "column": 49
                                          }
                                        },
                                        "name": "x"
                                      },
                                      "computed": false
                                    },
                                    "parenthesizedExpression": true
                                  }
                                },
                                "operator": "+",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 17820,
                                  "end": 17853,
                                  "loc": {
                                    "start": {
                                      "line": 427,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 427,
                                      "column": 86
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 17821,
                                    "end": 17835,
                                    "loc": {
                                      "start": {
                                        "line": 427,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 427,
                                        "column": 68
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 17821,
                                      "end": 17822,
                                      "loc": {
                                        "start": {
                                          "line": 427,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 427,
                                          "column": 55
                                        }
                                      },
                                      "name": "y"
                                    },
                                    "operator": "-",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 17825,
                                      "end": 17835,
                                      "loc": {
                                        "start": {
                                          "line": 427,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 427,
                                          "column": 68
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 17825,
                                        "end": 17833,
                                        "loc": {
                                          "start": {
                                            "line": 427,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 427,
                                            "column": 66
                                          }
                                        },
                                        "name": "newPoint"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 17834,
                                        "end": 17835,
                                        "loc": {
                                          "start": {
                                            "line": 427,
                                            "column": 67
                                          },
                                          "end": {
                                            "line": 427,
                                            "column": 68
                                          }
                                        },
                                        "name": "y"
                                      },
                                      "computed": false
                                    },
                                    "parenthesizedExpression": true
                                  },
                                  "operator": "*",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 17838,
                                    "end": 17852,
                                    "loc": {
                                      "start": {
                                        "line": 427,
                                        "column": 71
                                      },
                                      "end": {
                                        "line": 427,
                                        "column": 85
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 17838,
                                      "end": 17839,
                                      "loc": {
                                        "start": {
                                          "line": 427,
                                          "column": 71
                                        },
                                        "end": {
                                          "line": 427,
                                          "column": 72
                                        }
                                      },
                                      "name": "y"
                                    },
                                    "operator": "-",
                                    "right": {
                                      "type": "MemberExpression",
                                      "start": 17842,
                                      "end": 17852,
                                      "loc": {
                                        "start": {
                                          "line": 427,
                                          "column": 75
                                        },
                                        "end": {
                                          "line": 427,
                                          "column": 85
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 17842,
                                        "end": 17850,
                                        "loc": {
                                          "start": {
                                            "line": 427,
                                            "column": 75
                                          },
                                          "end": {
                                            "line": 427,
                                            "column": 83
                                          }
                                        },
                                        "name": "newPoint"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 17851,
                                        "end": 17852,
                                        "loc": {
                                          "start": {
                                            "line": 427,
                                            "column": 84
                                          },
                                          "end": {
                                            "line": 427,
                                            "column": 85
                                          }
                                        },
                                        "name": "y"
                                      },
                                      "computed": false
                                    },
                                    "parenthesizedExpression": true
                                  }
                                },
                                "parenthesizedExpression": true
                              },
                              "operator": "<",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 17857,
                                "end": 17874,
                                "loc": {
                                  "start": {
                                    "line": 427,
                                    "column": 90
                                  },
                                  "end": {
                                    "line": 427,
                                    "column": 107
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 17857,
                                  "end": 17865,
                                  "loc": {
                                    "start": {
                                      "line": 427,
                                      "column": 90
                                    },
                                    "end": {
                                      "line": 427,
                                      "column": 98
                                    }
                                  },
                                  "name": "distance"
                                },
                                "operator": "*",
                                "right": {
                                  "type": "Identifier",
                                  "start": 17866,
                                  "end": 17874,
                                  "loc": {
                                    "start": {
                                      "line": 427,
                                      "column": 99
                                    },
                                    "end": {
                                      "line": 427,
                                      "column": 107
                                    }
                                  },
                                  "name": "distance"
                                }
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 17876,
                              "end": 17997,
                              "loc": {
                                "start": {
                                  "line": 427,
                                  "column": 109
                                },
                                "end": {
                                  "line": 431,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 17894,
                                  "end": 17913,
                                  "loc": {
                                    "start": {
                                      "line": 428,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 428,
                                      "column": 35
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 17894,
                                    "end": 17912,
                                    "loc": {
                                      "start": {
                                        "line": 428,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 428,
                                        "column": 34
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 17894,
                                      "end": 17908,
                                      "loc": {
                                        "start": {
                                          "line": 428,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 428,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 17894,
                                        "end": 17906,
                                        "loc": {
                                          "start": {
                                            "line": 428,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 428,
                                            "column": 28
                                          }
                                        },
                                        "name": "closestPoint"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 17907,
                                        "end": 17908,
                                        "loc": {
                                          "start": {
                                            "line": 428,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 428,
                                            "column": 30
                                          }
                                        },
                                        "name": "x"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 17911,
                                      "end": 17912,
                                      "loc": {
                                        "start": {
                                          "line": 428,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 428,
                                          "column": 34
                                        }
                                      },
                                      "name": "x"
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 17930,
                                  "end": 17949,
                                  "loc": {
                                    "start": {
                                      "line": 429,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 429,
                                      "column": 35
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 17930,
                                    "end": 17948,
                                    "loc": {
                                      "start": {
                                        "line": 429,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 429,
                                        "column": 34
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 17930,
                                      "end": 17944,
                                      "loc": {
                                        "start": {
                                          "line": 429,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 429,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 17930,
                                        "end": 17942,
                                        "loc": {
                                          "start": {
                                            "line": 429,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 429,
                                            "column": 28
                                          }
                                        },
                                        "name": "closestPoint"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 17943,
                                        "end": 17944,
                                        "loc": {
                                          "start": {
                                            "line": 429,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 429,
                                            "column": 30
                                          }
                                        },
                                        "name": "y"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 17947,
                                      "end": 17948,
                                      "loc": {
                                        "start": {
                                          "line": 429,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 429,
                                          "column": 34
                                        }
                                      },
                                      "name": "y"
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 17966,
                                  "end": 17983,
                                  "loc": {
                                    "start": {
                                      "line": 430,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 430,
                                      "column": 33
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 17966,
                                    "end": 17982,
                                    "loc": {
                                      "start": {
                                        "line": 430,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 430,
                                        "column": 32
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 17966,
                                      "end": 17975,
                                      "loc": {
                                        "start": {
                                          "line": 430,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 430,
                                          "column": 25
                                        }
                                      },
                                      "name": "isSnapped"
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "start": 17978,
                                      "end": 17982,
                                      "loc": {
                                        "start": {
                                          "line": 430,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 430,
                                          "column": 32
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    }
                                  }
                                }
                              ]
                            },
                            "alternate": null
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 18017,
                      "end": 18175,
                      "loc": {
                        "start": {
                          "line": 434,
                          "column": 8
                        },
                        "end": {
                          "line": 438,
                          "column": 10
                        }
                      },
                      "argument": {
                        "type": "ObjectExpression",
                        "start": 18024,
                        "end": 18174,
                        "loc": {
                          "start": {
                            "line": 434,
                            "column": 15
                          },
                          "end": {
                            "line": 438,
                            "column": 9
                          }
                        },
                        "properties": [
                          {
                            "type": "Property",
                            "start": 18038,
                            "end": 18067,
                            "loc": {
                              "start": {
                                "line": 435,
                                "column": 12
                              },
                              "end": {
                                "line": 435,
                                "column": 41
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 18038,
                              "end": 18053,
                              "loc": {
                                "start": {
                                  "line": 435,
                                  "column": 12
                                },
                                "end": {
                                  "line": 435,
                                  "column": 27
                                }
                              },
                              "name": "snappedPosition"
                            },
                            "value": {
                              "type": "Identifier",
                              "start": 18055,
                              "end": 18067,
                              "loc": {
                                "start": {
                                  "line": 435,
                                  "column": 29
                                },
                                "end": {
                                  "line": 435,
                                  "column": 41
                                }
                              },
                              "name": "closestPoint"
                            },
                            "kind": "init"
                          },
                          {
                            "type": "Property",
                            "start": 18081,
                            "end": 18130,
                            "loc": {
                              "start": {
                                "line": 436,
                                "column": 12
                              },
                              "end": {
                                "line": 436,
                                "column": 61
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 18081,
                              "end": 18094,
                              "loc": {
                                "start": {
                                  "line": 436,
                                  "column": 12
                                },
                                "end": {
                                  "line": 436,
                                  "column": 25
                                }
                              },
                              "name": "snappingShift"
                            },
                            "value": {
                              "type": "CallExpression",
                              "start": 18096,
                              "end": 18130,
                              "loc": {
                                "start": {
                                  "line": 436,
                                  "column": 27
                                },
                                "end": {
                                  "line": 436,
                                  "column": 61
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 18096,
                                "end": 18120,
                                "loc": {
                                  "start": {
                                    "line": 436,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 436,
                                    "column": 51
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 18096,
                                  "end": 18116,
                                  "loc": {
                                    "start": {
                                      "line": 436,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 436,
                                      "column": 47
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 18096,
                                    "end": 18114,
                                    "loc": {
                                      "start": {
                                        "line": 436,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 436,
                                        "column": 45
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 18096,
                                      "end": 18108,
                                      "loc": {
                                        "start": {
                                          "line": 436,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 436,
                                          "column": 39
                                        }
                                      },
                                      "name": "closestPoint"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 18109,
                                      "end": 18114,
                                      "loc": {
                                        "start": {
                                          "line": 436,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 436,
                                          "column": 45
                                        }
                                      },
                                      "name": "clone"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18117,
                                  "end": 18120,
                                  "loc": {
                                    "start": {
                                      "line": 436,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 436,
                                      "column": 51
                                    }
                                  },
                                  "name": "sub"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 18121,
                                  "end": 18129,
                                  "loc": {
                                    "start": {
                                      "line": 436,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 436,
                                      "column": 60
                                    }
                                  },
                                  "name": "newPoint"
                                }
                              ]
                            },
                            "kind": "init"
                          },
                          {
                            "type": "Property",
                            "start": 18144,
                            "end": 18164,
                            "loc": {
                              "start": {
                                "line": 437,
                                "column": 12
                              },
                              "end": {
                                "line": 437,
                                "column": 32
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 18144,
                              "end": 18153,
                              "loc": {
                                "start": {
                                  "line": 437,
                                  "column": 12
                                },
                                "end": {
                                  "line": 437,
                                  "column": 21
                                }
                              },
                              "name": "isSnapped"
                            },
                            "value": {
                              "type": "Identifier",
                              "start": 18155,
                              "end": 18164,
                              "loc": {
                                "start": {
                                  "line": 437,
                                  "column": 23
                                },
                                "end": {
                                  "line": 437,
                                  "column": 32
                                }
                              },
                              "name": "isSnapped"
                            },
                            "kind": "init"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 18187,
              "end": 18793,
              "loc": {
                "start": {
                  "line": 441,
                  "column": 4
                },
                "end": {
                  "line": 450,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 18187,
                "end": 18206,
                "loc": {
                  "start": {
                    "line": 441,
                    "column": 4
                  },
                  "end": {
                    "line": 441,
                    "column": 23
                  }
                },
                "name": "getClosestSnapPoint"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 18206,
                "end": 18793,
                "loc": {
                  "start": {
                    "line": 441,
                    "column": 23
                  },
                  "end": {
                    "line": 450,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 18207,
                    "end": 18215,
                    "loc": {
                      "start": {
                        "line": 441,
                        "column": 24
                      },
                      "end": {
                        "line": 441,
                        "column": 32
                      }
                    },
                    "name": "position"
                  },
                  {
                    "type": "Identifier",
                    "start": 18217,
                    "end": 18228,
                    "loc": {
                      "start": {
                        "line": 441,
                        "column": 34
                      },
                      "end": {
                        "line": 441,
                        "column": 45
                      }
                    },
                    "name": "maxDistance"
                  },
                  {
                    "type": "Identifier",
                    "start": 18230,
                    "end": 18242,
                    "loc": {
                      "start": {
                        "line": 441,
                        "column": 47
                      },
                      "end": {
                        "line": 441,
                        "column": 59
                      }
                    },
                    "name": "ignoreFilter"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 18244,
                  "end": 18793,
                  "loc": {
                    "start": {
                      "line": 441,
                      "column": 61
                    },
                    "end": {
                      "line": 450,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 18254,
                      "end": 18286,
                      "loc": {
                        "start": {
                          "line": 442,
                          "column": 8
                        },
                        "end": {
                          "line": 442,
                          "column": 40
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 18258,
                          "end": 18285,
                          "loc": {
                            "start": {
                              "line": 442,
                              "column": 12
                            },
                            "end": {
                              "line": 442,
                              "column": 39
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 18258,
                            "end": 18266,
                            "loc": {
                              "start": {
                                "line": 442,
                                "column": 12
                              },
                              "end": {
                                "line": 442,
                                "column": 20
                              }
                            },
                            "name": "toReturn"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 18269,
                            "end": 18285,
                            "loc": {
                              "start": {
                                "line": 442,
                                "column": 23
                              },
                              "end": {
                                "line": 442,
                                "column": 39
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 18269,
                              "end": 18283,
                              "loc": {
                                "start": {
                                  "line": 442,
                                  "column": 23
                                },
                                "end": {
                                  "line": 442,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 18269,
                                "end": 18277,
                                "loc": {
                                  "start": {
                                    "line": 442,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 442,
                                    "column": 31
                                  }
                                },
                                "name": "position"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18278,
                                "end": 18283,
                                "loc": {
                                  "start": {
                                    "line": 442,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 442,
                                    "column": 37
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 18295,
                      "end": 18380,
                      "loc": {
                        "start": {
                          "line": 443,
                          "column": 8
                        },
                        "end": {
                          "line": 443,
                          "column": 93
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 18299,
                          "end": 18379,
                          "loc": {
                            "start": {
                              "line": 443,
                              "column": 12
                            },
                            "end": {
                              "line": 443,
                              "column": 92
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 18299,
                            "end": 18315,
                            "loc": {
                              "start": {
                                "line": 443,
                                "column": 12
                              },
                              "end": {
                                "line": 443,
                                "column": 28
                              }
                            },
                            "name": "gridClosestPoint"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 18318,
                            "end": 18379,
                            "loc": {
                              "start": {
                                "line": 443,
                                "column": 31
                              },
                              "end": {
                                "line": 443,
                                "column": 92
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 18318,
                              "end": 18342,
                              "loc": {
                                "start": {
                                  "line": 443,
                                  "column": 31
                                },
                                "end": {
                                  "line": 443,
                                  "column": 55
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 18318,
                                "end": 18322,
                                "loc": {
                                  "start": {
                                    "line": 443,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 443,
                                    "column": 35
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18323,
                                "end": 18342,
                                "loc": {
                                  "start": {
                                    "line": 443,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 443,
                                    "column": 55
                                  }
                                },
                                "name": "getClosestGridPoint"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 18343,
                                "end": 18351,
                                "loc": {
                                  "start": {
                                    "line": 443,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 443,
                                    "column": 64
                                  }
                                },
                                "name": "toReturn"
                              },
                              {
                                "type": "Identifier",
                                "start": 18353,
                                "end": 18364,
                                "loc": {
                                  "start": {
                                    "line": 443,
                                    "column": 66
                                  },
                                  "end": {
                                    "line": 443,
                                    "column": 77
                                  }
                                },
                                "name": "maxDistance"
                              },
                              {
                                "type": "Identifier",
                                "start": 18366,
                                "end": 18378,
                                "loc": {
                                  "start": {
                                    "line": 443,
                                    "column": 79
                                  },
                                  "end": {
                                    "line": 443,
                                    "column": 91
                                  }
                                },
                                "name": "ignoreFilter"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 18389,
                      "end": 18474,
                      "loc": {
                        "start": {
                          "line": 444,
                          "column": 8
                        },
                        "end": {
                          "line": 444,
                          "column": 93
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 18393,
                          "end": 18473,
                          "loc": {
                            "start": {
                              "line": 444,
                              "column": 12
                            },
                            "end": {
                              "line": 444,
                              "column": 92
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 18393,
                            "end": 18409,
                            "loc": {
                              "start": {
                                "line": 444,
                                "column": 12
                              },
                              "end": {
                                "line": 444,
                                "column": 28
                              }
                            },
                            "name": "geomClosestPoint"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 18412,
                            "end": 18473,
                            "loc": {
                              "start": {
                                "line": 444,
                                "column": 31
                              },
                              "end": {
                                "line": 444,
                                "column": 92
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 18412,
                              "end": 18436,
                              "loc": {
                                "start": {
                                  "line": 444,
                                  "column": 31
                                },
                                "end": {
                                  "line": 444,
                                  "column": 55
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 18412,
                                "end": 18416,
                                "loc": {
                                  "start": {
                                    "line": 444,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 444,
                                    "column": 35
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18417,
                                "end": 18436,
                                "loc": {
                                  "start": {
                                    "line": 444,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 444,
                                    "column": 55
                                  }
                                },
                                "name": "getClosestGeomPoint"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 18437,
                                "end": 18445,
                                "loc": {
                                  "start": {
                                    "line": 444,
                                    "column": 56
                                  },
                                  "end": {
                                    "line": 444,
                                    "column": 64
                                  }
                                },
                                "name": "toReturn"
                              },
                              {
                                "type": "Identifier",
                                "start": 18447,
                                "end": 18458,
                                "loc": {
                                  "start": {
                                    "line": 444,
                                    "column": 66
                                  },
                                  "end": {
                                    "line": 444,
                                    "column": 77
                                  }
                                },
                                "name": "maxDistance"
                              },
                              {
                                "type": "Identifier",
                                "start": 18460,
                                "end": 18472,
                                "loc": {
                                  "start": {
                                    "line": 444,
                                    "column": 79
                                  },
                                  "end": {
                                    "line": 444,
                                    "column": 91
                                  }
                                },
                                "name": "ignoreFilter"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 18484,
                      "end": 18787,
                      "loc": {
                        "start": {
                          "line": 446,
                          "column": 8
                        },
                        "end": {
                          "line": 449,
                          "column": 86
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 18488,
                        "end": 18544,
                        "loc": {
                          "start": {
                            "line": 446,
                            "column": 12
                          },
                          "end": {
                            "line": 446,
                            "column": 68
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 18488,
                          "end": 18514,
                          "loc": {
                            "start": {
                              "line": 446,
                              "column": 12
                            },
                            "end": {
                              "line": 446,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 18488,
                            "end": 18504,
                            "loc": {
                              "start": {
                                "line": 446,
                                "column": 12
                              },
                              "end": {
                                "line": 446,
                                "column": 28
                              }
                            },
                            "name": "geomClosestPoint"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 18505,
                            "end": 18514,
                            "loc": {
                              "start": {
                                "line": 446,
                                "column": 29
                              },
                              "end": {
                                "line": 446,
                                "column": 38
                              }
                            },
                            "name": "isSnapped"
                          },
                          "computed": false
                        },
                        "operator": "&&",
                        "right": {
                          "type": "MemberExpression",
                          "start": 18518,
                          "end": 18544,
                          "loc": {
                            "start": {
                              "line": 446,
                              "column": 42
                            },
                            "end": {
                              "line": 446,
                              "column": 68
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 18518,
                            "end": 18534,
                            "loc": {
                              "start": {
                                "line": 446,
                                "column": 42
                              },
                              "end": {
                                "line": 446,
                                "column": 58
                              }
                            },
                            "name": "gridClosestPoint"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 18535,
                            "end": 18544,
                            "loc": {
                              "start": {
                                "line": 446,
                                "column": 59
                              },
                              "end": {
                                "line": 446,
                                "column": 68
                              }
                            },
                            "name": "isSnapped"
                          },
                          "computed": false
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 18558,
                        "end": 18687,
                        "loc": {
                          "start": {
                            "line": 447,
                            "column": 12
                          },
                          "end": {
                            "line": 447,
                            "column": 141
                          }
                        },
                        "argument": {
                          "type": "ConditionalExpression",
                          "start": 18565,
                          "end": 18686,
                          "loc": {
                            "start": {
                              "line": 447,
                              "column": 19
                            },
                            "end": {
                              "line": 447,
                              "column": 140
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 18565,
                            "end": 18646,
                            "loc": {
                              "start": {
                                "line": 447,
                                "column": 19
                              },
                              "end": {
                                "line": 447,
                                "column": 100
                              }
                            },
                            "left": {
                              "type": "CallExpression",
                              "start": 18565,
                              "end": 18604,
                              "loc": {
                                "start": {
                                  "line": 447,
                                  "column": 19
                                },
                                "end": {
                                  "line": 447,
                                  "column": 58
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 18565,
                                "end": 18602,
                                "loc": {
                                  "start": {
                                    "line": 447,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 447,
                                    "column": 56
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 18565,
                                  "end": 18595,
                                  "loc": {
                                    "start": {
                                      "line": 447,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 447,
                                      "column": 49
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 18565,
                                    "end": 18581,
                                    "loc": {
                                      "start": {
                                        "line": 447,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 447,
                                        "column": 35
                                      }
                                    },
                                    "name": "geomClosestPoint"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18582,
                                    "end": 18595,
                                    "loc": {
                                      "start": {
                                        "line": 447,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 447,
                                        "column": 49
                                      }
                                    },
                                    "name": "snappingShift"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18596,
                                  "end": 18602,
                                  "loc": {
                                    "start": {
                                      "line": 447,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 447,
                                      "column": 56
                                    }
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "operator": "<",
                            "right": {
                              "type": "CallExpression",
                              "start": 18607,
                              "end": 18646,
                              "loc": {
                                "start": {
                                  "line": 447,
                                  "column": 61
                                },
                                "end": {
                                  "line": 447,
                                  "column": 100
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 18607,
                                "end": 18644,
                                "loc": {
                                  "start": {
                                    "line": 447,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 447,
                                    "column": 98
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 18607,
                                  "end": 18637,
                                  "loc": {
                                    "start": {
                                      "line": 447,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 447,
                                      "column": 91
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 18607,
                                    "end": 18623,
                                    "loc": {
                                      "start": {
                                        "line": 447,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 447,
                                        "column": 77
                                      }
                                    },
                                    "name": "gridClosestPoint"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 18624,
                                    "end": 18637,
                                    "loc": {
                                      "start": {
                                        "line": 447,
                                        "column": 78
                                      },
                                      "end": {
                                        "line": 447,
                                        "column": 91
                                      }
                                    },
                                    "name": "snappingShift"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 18638,
                                  "end": 18644,
                                  "loc": {
                                    "start": {
                                      "line": 447,
                                      "column": 92
                                    },
                                    "end": {
                                      "line": 447,
                                      "column": 98
                                    }
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          "consequent": {
                            "type": "Identifier",
                            "start": 18650,
                            "end": 18666,
                            "loc": {
                              "start": {
                                "line": 447,
                                "column": 104
                              },
                              "end": {
                                "line": 447,
                                "column": 120
                              }
                            },
                            "name": "geomClosestPoint"
                          },
                          "alternate": {
                            "type": "Identifier",
                            "start": 18670,
                            "end": 18686,
                            "loc": {
                              "start": {
                                "line": 447,
                                "column": 124
                              },
                              "end": {
                                "line": 447,
                                "column": 140
                              }
                            },
                            "name": "gridClosestPoint"
                          }
                        }
                      },
                      "alternate": {
                        "type": "ReturnStatement",
                        "start": 18713,
                        "end": 18787,
                        "loc": {
                          "start": {
                            "line": 449,
                            "column": 12
                          },
                          "end": {
                            "line": 449,
                            "column": 86
                          }
                        },
                        "argument": {
                          "type": "ConditionalExpression",
                          "start": 18720,
                          "end": 18786,
                          "loc": {
                            "start": {
                              "line": 449,
                              "column": 19
                            },
                            "end": {
                              "line": 449,
                              "column": 85
                            }
                          },
                          "test": {
                            "type": "MemberExpression",
                            "start": 18720,
                            "end": 18746,
                            "loc": {
                              "start": {
                                "line": 449,
                                "column": 19
                              },
                              "end": {
                                "line": 449,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 18720,
                              "end": 18736,
                              "loc": {
                                "start": {
                                  "line": 449,
                                  "column": 19
                                },
                                "end": {
                                  "line": 449,
                                  "column": 35
                                }
                              },
                              "name": "geomClosestPoint"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18737,
                              "end": 18746,
                              "loc": {
                                "start": {
                                  "line": 449,
                                  "column": 36
                                },
                                "end": {
                                  "line": 449,
                                  "column": 45
                                }
                              },
                              "name": "isSnapped"
                            },
                            "computed": false
                          },
                          "consequent": {
                            "type": "Identifier",
                            "start": 18750,
                            "end": 18766,
                            "loc": {
                              "start": {
                                "line": 449,
                                "column": 49
                              },
                              "end": {
                                "line": 449,
                                "column": 65
                              }
                            },
                            "name": "geomClosestPoint"
                          },
                          "alternate": {
                            "type": "Identifier",
                            "start": 18770,
                            "end": 18786,
                            "loc": {
                              "start": {
                                "line": 449,
                                "column": 69
                              },
                              "end": {
                                "line": 449,
                                "column": 85
                              }
                            },
                            "name": "gridClosestPoint"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 18799,
              "end": 21939,
              "loc": {
                "start": {
                  "line": 452,
                  "column": 4
                },
                "end": {
                  "line": 522,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 18799,
                "end": 18818,
                "loc": {
                  "start": {
                    "line": 452,
                    "column": 4
                  },
                  "end": {
                    "line": 452,
                    "column": 23
                  }
                },
                "name": "getSnappedPointWrap"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 18818,
                "end": 21939,
                "loc": {
                  "start": {
                    "line": 452,
                    "column": 23
                  },
                  "end": {
                    "line": 522,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 18819,
                    "end": 18832,
                    "loc": {
                      "start": {
                        "line": 452,
                        "column": 24
                      },
                      "end": {
                        "line": 452,
                        "column": 37
                      }
                    },
                    "name": "mousePosition"
                  },
                  {
                    "type": "Identifier",
                    "start": 18834,
                    "end": 18837,
                    "loc": {
                      "start": {
                        "line": 452,
                        "column": 39
                      },
                      "end": {
                        "line": 452,
                        "column": 42
                      }
                    },
                    "name": "obj"
                  },
                  {
                    "type": "Identifier",
                    "start": 18839,
                    "end": 18852,
                    "loc": {
                      "start": {
                        "line": 452,
                        "column": 44
                      },
                      "end": {
                        "line": 452,
                        "column": 57
                      }
                    },
                    "name": "lastDragPoint"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 18854,
                  "end": 21939,
                  "loc": {
                    "start": {
                      "line": 452,
                      "column": 59
                    },
                    "end": {
                      "line": 522,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 18864,
                      "end": 18895,
                      "loc": {
                        "start": {
                          "line": 453,
                          "column": 8
                        },
                        "end": {
                          "line": 453,
                          "column": 39
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 18868,
                        "end": 18872,
                        "loc": {
                          "start": {
                            "line": 453,
                            "column": 12
                          },
                          "end": {
                            "line": 453,
                            "column": 16
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 18869,
                          "end": 18872,
                          "loc": {
                            "start": {
                              "line": 453,
                              "column": 13
                            },
                            "end": {
                              "line": 453,
                              "column": 16
                            }
                          },
                          "name": "obj"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 18874,
                        "end": 18895,
                        "loc": {
                          "start": {
                            "line": 453,
                            "column": 18
                          },
                          "end": {
                            "line": 453,
                            "column": 39
                          }
                        },
                        "argument": {
                          "type": "Identifier",
                          "start": 18881,
                          "end": 18894,
                          "loc": {
                            "start": {
                              "line": 453,
                              "column": 25
                            },
                            "end": {
                              "line": 453,
                              "column": 38
                            }
                          },
                          "name": "mousePosition"
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 18905,
                      "end": 18934,
                      "loc": {
                        "start": {
                          "line": 455,
                          "column": 8
                        },
                        "end": {
                          "line": 455,
                          "column": 37
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 18909,
                          "end": 18933,
                          "loc": {
                            "start": {
                              "line": 455,
                              "column": 12
                            },
                            "end": {
                              "line": 455,
                              "column": 36
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 18909,
                            "end": 18917,
                            "loc": {
                              "start": {
                                "line": 455,
                                "column": 12
                              },
                              "end": {
                                "line": 455,
                                "column": 20
                              }
                            },
                            "name": "sketcher"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 18920,
                            "end": 18933,
                            "loc": {
                              "start": {
                                "line": 455,
                                "column": 23
                              },
                              "end": {
                                "line": 455,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 18920,
                              "end": 18924,
                              "loc": {
                                "start": {
                                  "line": 455,
                                  "column": 23
                                },
                                "end": {
                                  "line": 455,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 18925,
                              "end": 18933,
                              "loc": {
                                "start": {
                                  "line": 455,
                                  "column": 28
                                },
                                "end": {
                                  "line": 455,
                                  "column": 36
                                }
                              },
                              "name": "sketcher"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 18943,
                      "end": 19001,
                      "loc": {
                        "start": {
                          "line": 456,
                          "column": 8
                        },
                        "end": {
                          "line": 456,
                          "column": 66
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 18947,
                          "end": 19000,
                          "loc": {
                            "start": {
                              "line": 456,
                              "column": 12
                            },
                            "end": {
                              "line": 456,
                              "column": 65
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 18947,
                            "end": 18958,
                            "loc": {
                              "start": {
                                "line": 456,
                                "column": 12
                              },
                              "end": {
                                "line": 456,
                                "column": 23
                              }
                            },
                            "name": "maxDistance"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 18961,
                            "end": 19000,
                            "loc": {
                              "start": {
                                "line": 456,
                                "column": 26
                              },
                              "end": {
                                "line": 456,
                                "column": 65
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 18961,
                              "end": 18984,
                              "loc": {
                                "start": {
                                  "line": 456,
                                  "column": 26
                                },
                                "end": {
                                  "line": 456,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 18961,
                                "end": 18965,
                                "loc": {
                                  "start": {
                                    "line": 456,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 456,
                                    "column": 30
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18966,
                                "end": 18984,
                                "loc": {
                                  "start": {
                                    "line": 456,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 456,
                                    "column": 49
                                  }
                                },
                                "name": "snappingSizeInGrid"
                              },
                              "computed": false
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 18987,
                              "end": 19000,
                              "loc": {
                                "start": {
                                  "line": 456,
                                  "column": 52
                                },
                                "end": {
                                  "line": 456,
                                  "column": 65
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 18987,
                                "end": 18991,
                                "loc": {
                                  "start": {
                                    "line": 456,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 456,
                                    "column": 56
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 18992,
                                "end": 19000,
                                "loc": {
                                  "start": {
                                    "line": 456,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 456,
                                    "column": 65
                                  }
                                },
                                "name": "gridStep"
                              },
                              "computed": false
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "FunctionDeclaration",
                      "start": 19011,
                      "end": 20435,
                      "loc": {
                        "start": {
                          "line": 458,
                          "column": 8
                        },
                        "end": {
                          "line": 488,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 19020,
                        "end": 19035,
                        "loc": {
                          "start": {
                            "line": 458,
                            "column": 17
                          },
                          "end": {
                            "line": 458,
                            "column": 32
                          }
                        },
                        "name": "snapToDirection"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [],
                      "body": {
                        "type": "BlockStatement",
                        "start": 19038,
                        "end": 20435,
                        "loc": {
                          "start": {
                            "line": 458,
                            "column": 35
                          },
                          "end": {
                            "line": 488,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 19052,
                            "end": 19089,
                            "loc": {
                              "start": {
                                "line": 459,
                                "column": 12
                              },
                              "end": {
                                "line": 459,
                                "column": 49
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 19056,
                                "end": 19088,
                                "loc": {
                                  "start": {
                                    "line": 459,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 459,
                                    "column": 48
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 19056,
                                  "end": 19064,
                                  "loc": {
                                    "start": {
                                      "line": 459,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 459,
                                      "column": 24
                                    }
                                  },
                                  "name": "toReturn"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 19067,
                                  "end": 19088,
                                  "loc": {
                                    "start": {
                                      "line": 459,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 459,
                                      "column": 48
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 19067,
                                    "end": 19086,
                                    "loc": {
                                      "start": {
                                        "line": 459,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 459,
                                        "column": 46
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 19067,
                                      "end": 19080,
                                      "loc": {
                                        "start": {
                                          "line": 459,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 459,
                                          "column": 40
                                        }
                                      },
                                      "name": "mousePosition"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 19081,
                                      "end": 19086,
                                      "loc": {
                                        "start": {
                                          "line": 459,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 459,
                                          "column": 46
                                        }
                                      },
                                      "name": "clone"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 19103,
                            "end": 19125,
                            "loc": {
                              "start": {
                                "line": 461,
                                "column": 12
                              },
                              "end": {
                                "line": 461,
                                "column": 34
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 19107,
                                "end": 19124,
                                "loc": {
                                  "start": {
                                    "line": 461,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 461,
                                    "column": 33
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 19107,
                                  "end": 19111,
                                  "loc": {
                                    "start": {
                                      "line": 461,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 461,
                                      "column": 20
                                    }
                                  },
                                  "name": "line"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 19114,
                                  "end": 19124,
                                  "loc": {
                                    "start": {
                                      "line": 461,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 461,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 19114,
                                    "end": 19117,
                                    "loc": {
                                      "start": {
                                        "line": 461,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 461,
                                        "column": 26
                                      }
                                    },
                                    "name": "obj"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19118,
                                    "end": 19124,
                                    "loc": {
                                      "start": {
                                        "line": 461,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 461,
                                        "column": 33
                                      }
                                    },
                                    "name": "parent"
                                  },
                                  "computed": false
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 19138,
                            "end": 19179,
                            "loc": {
                              "start": {
                                "line": 462,
                                "column": 12
                              },
                              "end": {
                                "line": 462,
                                "column": 53
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 19142,
                                "end": 19177,
                                "loc": {
                                  "start": {
                                    "line": 462,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 462,
                                    "column": 51
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 19142,
                                  "end": 19145,
                                  "loc": {
                                    "start": {
                                      "line": 462,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 462,
                                      "column": 19
                                    }
                                  },
                                  "name": "idx"
                                },
                                "init": {
                                  "type": "ConditionalExpression",
                                  "start": 19148,
                                  "end": 19177,
                                  "loc": {
                                    "start": {
                                      "line": 462,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 462,
                                      "column": 51
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 19148,
                                    "end": 19169,
                                    "loc": {
                                      "start": {
                                        "line": 462,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 462,
                                        "column": 43
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 19148,
                                      "end": 19162,
                                      "loc": {
                                        "start": {
                                          "line": 462,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 462,
                                          "column": 36
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 19148,
                                        "end": 19159,
                                        "loc": {
                                          "start": {
                                            "line": 462,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 462,
                                            "column": 33
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 19148,
                                          "end": 19152,
                                          "loc": {
                                            "start": {
                                              "line": 462,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 462,
                                              "column": 26
                                            }
                                          },
                                          "name": "line"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 19153,
                                          "end": 19159,
                                          "loc": {
                                            "start": {
                                              "line": 462,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 462,
                                              "column": 33
                                            }
                                          },
                                          "name": "points"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Literal",
                                        "start": 19160,
                                        "end": 19161,
                                        "loc": {
                                          "start": {
                                            "line": 462,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 462,
                                            "column": 35
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "computed": true
                                    },
                                    "operator": "==",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 19166,
                                      "end": 19169,
                                      "loc": {
                                        "start": {
                                          "line": 462,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 462,
                                          "column": 43
                                        }
                                      },
                                      "name": "obj"
                                    }
                                  },
                                  "consequent": {
                                    "type": "Literal",
                                    "start": 19172,
                                    "end": 19173,
                                    "loc": {
                                      "start": {
                                        "line": 462,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 462,
                                        "column": 47
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "alternate": {
                                    "type": "Literal",
                                    "start": 19176,
                                    "end": 19177,
                                    "loc": {
                                      "start": {
                                        "line": 462,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 462,
                                        "column": 51
                                      }
                                    },
                                    "value": 1,
                                    "rawValue": 1,
                                    "raw": "1"
                                  }
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 19192,
                            "end": 19243,
                            "loc": {
                              "start": {
                                "line": 463,
                                "column": 12
                              },
                              "end": {
                                "line": 463,
                                "column": 63
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 19196,
                                "end": 19242,
                                "loc": {
                                  "start": {
                                    "line": 463,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 463,
                                    "column": 62
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 19196,
                                  "end": 19210,
                                  "loc": {
                                    "start": {
                                      "line": 463,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 463,
                                      "column": 30
                                    }
                                  },
                                  "name": "neighbourPoint"
                                },
                                "init": {
                                  "type": "MemberExpression",
                                  "start": 19213,
                                  "end": 19242,
                                  "loc": {
                                    "start": {
                                      "line": 463,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 463,
                                      "column": 62
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 19213,
                                    "end": 19233,
                                    "loc": {
                                      "start": {
                                        "line": 463,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 463,
                                        "column": 53
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 19213,
                                      "end": 19224,
                                      "loc": {
                                        "start": {
                                          "line": 463,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 463,
                                          "column": 44
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 19213,
                                        "end": 19217,
                                        "loc": {
                                          "start": {
                                            "line": 463,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 463,
                                            "column": 37
                                          }
                                        },
                                        "name": "line"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 19218,
                                        "end": 19224,
                                        "loc": {
                                          "start": {
                                            "line": 463,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 463,
                                            "column": 44
                                          }
                                        },
                                        "name": "points"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "BinaryExpression",
                                      "start": 19225,
                                      "end": 19232,
                                      "loc": {
                                        "start": {
                                          "line": 463,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 463,
                                          "column": 52
                                        }
                                      },
                                      "left": {
                                        "type": "Literal",
                                        "start": 19225,
                                        "end": 19226,
                                        "loc": {
                                          "start": {
                                            "line": 463,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 463,
                                            "column": 46
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      },
                                      "operator": "-",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 19229,
                                        "end": 19232,
                                        "loc": {
                                          "start": {
                                            "line": 463,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 463,
                                            "column": 52
                                          }
                                        },
                                        "name": "idx"
                                      }
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 19234,
                                    "end": 19242,
                                    "loc": {
                                      "start": {
                                        "line": 463,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 463,
                                        "column": 62
                                      }
                                    },
                                    "name": "position"
                                  },
                                  "computed": false
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 19257,
                            "end": 19289,
                            "loc": {
                              "start": {
                                "line": 465,
                                "column": 12
                              },
                              "end": {
                                "line": 465,
                                "column": 44
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 19261,
                                "end": 19288,
                                "loc": {
                                  "start": {
                                    "line": 465,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 465,
                                    "column": 43
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 19261,
                                  "end": 19266,
                                  "loc": {
                                    "start": {
                                      "line": 465,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 465,
                                      "column": 21
                                    }
                                  },
                                  "name": "delta"
                                },
                                "init": {
                                  "type": "NewExpression",
                                  "start": 19269,
                                  "end": 19288,
                                  "loc": {
                                    "start": {
                                      "line": 465,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 465,
                                      "column": 43
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 19273,
                                    "end": 19286,
                                    "loc": {
                                      "start": {
                                        "line": 465,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 465,
                                        "column": 41
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 19273,
                                      "end": 19278,
                                      "loc": {
                                        "start": {
                                          "line": 465,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 465,
                                          "column": 33
                                        }
                                      },
                                      "name": "THREE"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 19279,
                                      "end": 19286,
                                      "loc": {
                                        "start": {
                                          "line": 465,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 465,
                                          "column": 41
                                        }
                                      },
                                      "name": "Vector3"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 19302,
                            "end": 19345,
                            "loc": {
                              "start": {
                                "line": 466,
                                "column": 12
                              },
                              "end": {
                                "line": 466,
                                "column": 55
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 19302,
                              "end": 19344,
                              "loc": {
                                "start": {
                                  "line": 466,
                                  "column": 12
                                },
                                "end": {
                                  "line": 466,
                                  "column": 54
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 19302,
                                "end": 19318,
                                "loc": {
                                  "start": {
                                    "line": 466,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 466,
                                    "column": 28
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 19302,
                                  "end": 19307,
                                  "loc": {
                                    "start": {
                                      "line": 466,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 466,
                                      "column": 17
                                    }
                                  },
                                  "name": "delta"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19308,
                                  "end": 19318,
                                  "loc": {
                                    "start": {
                                      "line": 466,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 466,
                                      "column": 28
                                    }
                                  },
                                  "name": "subVectors"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 19319,
                                  "end": 19327,
                                  "loc": {
                                    "start": {
                                      "line": 466,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 466,
                                      "column": 37
                                    }
                                  },
                                  "name": "toReturn"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 19329,
                                  "end": 19343,
                                  "loc": {
                                    "start": {
                                      "line": 466,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 466,
                                      "column": 53
                                    }
                                  },
                                  "name": "neighbourPoint"
                                }
                              ]
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 19358,
                            "end": 19372,
                            "loc": {
                              "start": {
                                "line": 467,
                                "column": 12
                              },
                              "end": {
                                "line": 467,
                                "column": 26
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 19358,
                              "end": 19371,
                              "loc": {
                                "start": {
                                  "line": 467,
                                  "column": 12
                                },
                                "end": {
                                  "line": 467,
                                  "column": 25
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 19358,
                                "end": 19365,
                                "loc": {
                                  "start": {
                                    "line": 467,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 467,
                                    "column": 19
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 19358,
                                  "end": 19363,
                                  "loc": {
                                    "start": {
                                      "line": 467,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 467,
                                      "column": 17
                                    }
                                  },
                                  "name": "delta"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 19364,
                                  "end": 19365,
                                  "loc": {
                                    "start": {
                                      "line": 467,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 467,
                                      "column": 19
                                    }
                                  },
                                  "name": "z"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Literal",
                                "start": 19368,
                                "end": 19371,
                                "loc": {
                                  "start": {
                                    "line": 467,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 467,
                                    "column": 25
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0.0"
                              }
                            }
                          },
                          {
                            "type": "VariableDeclaration",
                            "start": 19386,
                            "end": 19411,
                            "loc": {
                              "start": {
                                "line": 469,
                                "column": 12
                              },
                              "end": {
                                "line": 469,
                                "column": 37
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 19390,
                                "end": 19410,
                                "loc": {
                                  "start": {
                                    "line": 469,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 469,
                                    "column": 36
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 19390,
                                  "end": 19393,
                                  "loc": {
                                    "start": {
                                      "line": 469,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 469,
                                      "column": 19
                                    }
                                  },
                                  "name": "len"
                                },
                                "init": {
                                  "type": "CallExpression",
                                  "start": 19396,
                                  "end": 19410,
                                  "loc": {
                                    "start": {
                                      "line": 469,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 469,
                                      "column": 36
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 19396,
                                    "end": 19408,
                                    "loc": {
                                      "start": {
                                        "line": 469,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 469,
                                        "column": 34
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 19396,
                                      "end": 19401,
                                      "loc": {
                                        "start": {
                                          "line": 469,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 469,
                                          "column": 27
                                        }
                                      },
                                      "name": "delta"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 19402,
                                      "end": 19408,
                                      "loc": {
                                        "start": {
                                          "line": 469,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 469,
                                          "column": 34
                                        }
                                      },
                                      "name": "length"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 19424,
                            "end": 20395,
                            "loc": {
                              "start": {
                                "line": 470,
                                "column": 12
                              },
                              "end": {
                                "line": 485,
                                "column": 13
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 19428,
                              "end": 19439,
                              "loc": {
                                "start": {
                                  "line": 470,
                                  "column": 16
                                },
                                "end": {
                                  "line": 470,
                                  "column": 27
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 19428,
                                "end": 19431,
                                "loc": {
                                  "start": {
                                    "line": 470,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 470,
                                    "column": 19
                                  }
                                },
                                "name": "len"
                              },
                              "operator": ">",
                              "right": {
                                "type": "Literal",
                                "start": 19434,
                                "end": 19439,
                                "loc": {
                                  "start": {
                                    "line": 470,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 470,
                                    "column": 27
                                  }
                                },
                                "value": 0.001,
                                "rawValue": 0.001,
                                "raw": "0.001"
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 19441,
                              "end": 20395,
                              "loc": {
                                "start": {
                                  "line": 470,
                                  "column": 29
                                },
                                "end": {
                                  "line": 485,
                                  "column": 13
                                }
                              },
                              "body": [
                                {
                                  "type": "VariableDeclaration",
                                  "start": 19459,
                                  "end": 19501,
                                  "loc": {
                                    "start": {
                                      "line": 471,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 471,
                                      "column": 58
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 19463,
                                      "end": 19500,
                                      "loc": {
                                        "start": {
                                          "line": 471,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 471,
                                          "column": 57
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 19463,
                                        "end": 19465,
                                        "loc": {
                                          "start": {
                                            "line": 471,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 471,
                                            "column": 22
                                          }
                                        },
                                        "name": "oX"
                                      },
                                      "init": {
                                        "type": "NewExpression",
                                        "start": 19468,
                                        "end": 19500,
                                        "loc": {
                                          "start": {
                                            "line": 471,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 471,
                                            "column": 57
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 19472,
                                          "end": 19485,
                                          "loc": {
                                            "start": {
                                              "line": 471,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 471,
                                              "column": 42
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 19472,
                                            "end": 19477,
                                            "loc": {
                                              "start": {
                                                "line": 471,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 471,
                                                "column": 34
                                              }
                                            },
                                            "name": "THREE"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 19478,
                                            "end": 19485,
                                            "loc": {
                                              "start": {
                                                "line": 471,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 471,
                                                "column": 42
                                              }
                                            },
                                            "name": "Vector3"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Literal",
                                            "start": 19486,
                                            "end": 19489,
                                            "loc": {
                                              "start": {
                                                "line": 471,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 471,
                                                "column": 46
                                              }
                                            },
                                            "value": 1,
                                            "rawValue": 1,
                                            "raw": "1.0"
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 19491,
                                            "end": 19494,
                                            "loc": {
                                              "start": {
                                                "line": 471,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 471,
                                                "column": 51
                                              }
                                            },
                                            "value": 0,
                                            "rawValue": 0,
                                            "raw": "0.0"
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 19496,
                                            "end": 19499,
                                            "loc": {
                                              "start": {
                                                "line": 471,
                                                "column": 53
                                              },
                                              "end": {
                                                "line": 471,
                                                "column": 56
                                              }
                                            },
                                            "value": 0,
                                            "rawValue": 0,
                                            "raw": "0.0"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 19518,
                                  "end": 19557,
                                  "loc": {
                                    "start": {
                                      "line": 472,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 472,
                                      "column": 55
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 19522,
                                      "end": 19556,
                                      "loc": {
                                        "start": {
                                          "line": 472,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 472,
                                          "column": 54
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 19522,
                                        "end": 19536,
                                        "loc": {
                                          "start": {
                                            "line": 472,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 472,
                                            "column": 34
                                          }
                                        },
                                        "name": "angleDeltaToOX"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 19539,
                                        "end": 19556,
                                        "loc": {
                                          "start": {
                                            "line": 472,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 472,
                                            "column": 54
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 19539,
                                          "end": 19552,
                                          "loc": {
                                            "start": {
                                              "line": 472,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 472,
                                              "column": 50
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 19539,
                                            "end": 19544,
                                            "loc": {
                                              "start": {
                                                "line": 472,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 472,
                                                "column": 42
                                              }
                                            },
                                            "name": "delta"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 19545,
                                            "end": 19552,
                                            "loc": {
                                              "start": {
                                                "line": 472,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 472,
                                                "column": 50
                                              }
                                            },
                                            "name": "angleTo"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 19553,
                                            "end": 19555,
                                            "loc": {
                                              "start": {
                                                "line": 472,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 472,
                                                "column": 53
                                              }
                                            },
                                            "name": "oX"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 19574,
                                  "end": 19661,
                                  "loc": {
                                    "start": {
                                      "line": 473,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 473,
                                      "column": 103
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 19574,
                                    "end": 19660,
                                    "loc": {
                                      "start": {
                                        "line": 473,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 473,
                                        "column": 102
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 19574,
                                      "end": 19588,
                                      "loc": {
                                        "start": {
                                          "line": 473,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 473,
                                          "column": 30
                                        }
                                      },
                                      "name": "angleDeltaToOX"
                                    },
                                    "right": {
                                      "type": "ConditionalExpression",
                                      "start": 19591,
                                      "end": 19660,
                                      "loc": {
                                        "start": {
                                          "line": 473,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 473,
                                          "column": 102
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 19592,
                                        "end": 19607,
                                        "loc": {
                                          "start": {
                                            "line": 473,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 473,
                                            "column": 49
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 19592,
                                          "end": 19599,
                                          "loc": {
                                            "start": {
                                              "line": 473,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 473,
                                              "column": 41
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 19592,
                                            "end": 19597,
                                            "loc": {
                                              "start": {
                                                "line": 473,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 473,
                                                "column": 39
                                              }
                                            },
                                            "name": "delta"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 19598,
                                            "end": 19599,
                                            "loc": {
                                              "start": {
                                                "line": 473,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 473,
                                                "column": 41
                                              }
                                            },
                                            "name": "y"
                                          },
                                          "computed": false
                                        },
                                        "operator": "<",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 19602,
                                          "end": 19607,
                                          "loc": {
                                            "start": {
                                              "line": 473,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 473,
                                              "column": 49
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Literal",
                                            "start": 19603,
                                            "end": 19607,
                                            "loc": {
                                              "start": {
                                                "line": 473,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 473,
                                                "column": 49
                                              }
                                            },
                                            "value": 0.000001,
                                            "rawValue": 0.000001,
                                            "raw": "1e-6"
                                          }
                                        },
                                        "parenthesizedExpression": true
                                      },
                                      "consequent": {
                                        "type": "BinaryExpression",
                                        "start": 19612,
                                        "end": 19642,
                                        "loc": {
                                          "start": {
                                            "line": 473,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 473,
                                            "column": 84
                                          }
                                        },
                                        "left": {
                                          "type": "BinaryExpression",
                                          "start": 19613,
                                          "end": 19624,
                                          "loc": {
                                            "start": {
                                              "line": 473,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 473,
                                              "column": 66
                                            }
                                          },
                                          "left": {
                                            "type": "Literal",
                                            "start": 19613,
                                            "end": 19614,
                                            "loc": {
                                              "start": {
                                                "line": 473,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 473,
                                                "column": 56
                                              }
                                            },
                                            "value": 2,
                                            "rawValue": 2,
                                            "raw": "2"
                                          },
                                          "operator": "*",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 19617,
                                            "end": 19624,
                                            "loc": {
                                              "start": {
                                                "line": 473,
                                                "column": 59
                                              },
                                              "end": {
                                                "line": 473,
                                                "column": 66
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 19617,
                                              "end": 19621,
                                              "loc": {
                                                "start": {
                                                  "line": 473,
                                                  "column": 59
                                                },
                                                "end": {
                                                  "line": 473,
                                                  "column": 63
                                                }
                                              },
                                              "name": "Math"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 19622,
                                              "end": 19624,
                                              "loc": {
                                                "start": {
                                                  "line": 473,
                                                  "column": 64
                                                },
                                                "end": {
                                                  "line": 473,
                                                  "column": 66
                                                }
                                              },
                                              "name": "PI"
                                            },
                                            "computed": false
                                          },
                                          "parenthesizedExpression": true
                                        },
                                        "operator": "-",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 19628,
                                          "end": 19642,
                                          "loc": {
                                            "start": {
                                              "line": 473,
                                              "column": 70
                                            },
                                            "end": {
                                              "line": 473,
                                              "column": 84
                                            }
                                          },
                                          "name": "angleDeltaToOX"
                                        },
                                        "parenthesizedExpression": true
                                      },
                                      "alternate": {
                                        "type": "Identifier",
                                        "start": 19646,
                                        "end": 19660,
                                        "loc": {
                                          "start": {
                                            "line": 473,
                                            "column": 88
                                          },
                                          "end": {
                                            "line": 473,
                                            "column": 102
                                          }
                                        },
                                        "name": "angleDeltaToOX"
                                      }
                                    }
                                  }
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 19678,
                                  "end": 19692,
                                  "loc": {
                                    "start": {
                                      "line": 474,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 474,
                                      "column": 30
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 19682,
                                      "end": 19691,
                                      "loc": {
                                        "start": {
                                          "line": 474,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 474,
                                          "column": 29
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 19682,
                                        "end": 19686,
                                        "loc": {
                                          "start": {
                                            "line": 474,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 474,
                                            "column": 24
                                          }
                                        },
                                        "name": "axis"
                                      },
                                      "init": {
                                        "type": "Identifier",
                                        "start": 19689,
                                        "end": 19691,
                                        "loc": {
                                          "start": {
                                            "line": 474,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 474,
                                            "column": 29
                                          }
                                        },
                                        "name": "oX"
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 19709,
                                  "end": 19746,
                                  "loc": {
                                    "start": {
                                      "line": 475,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 475,
                                      "column": 53
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 19713,
                                      "end": 19745,
                                      "loc": {
                                        "start": {
                                          "line": 475,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 475,
                                          "column": 52
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 19713,
                                        "end": 19726,
                                        "loc": {
                                          "start": {
                                            "line": 475,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 475,
                                            "column": 33
                                          }
                                        },
                                        "name": "angleAxisToOX"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 19729,
                                        "end": 19745,
                                        "loc": {
                                          "start": {
                                            "line": 475,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 475,
                                            "column": 52
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 19729,
                                          "end": 19741,
                                          "loc": {
                                            "start": {
                                              "line": 475,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 475,
                                              "column": 48
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 19729,
                                            "end": 19733,
                                            "loc": {
                                              "start": {
                                                "line": 475,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 475,
                                                "column": 40
                                              }
                                            },
                                            "name": "axis"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 19734,
                                            "end": 19741,
                                            "loc": {
                                              "start": {
                                                "line": 475,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 475,
                                                "column": 48
                                              }
                                            },
                                            "name": "angleTo"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 19742,
                                            "end": 19744,
                                            "loc": {
                                              "start": {
                                                "line": 475,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 475,
                                                "column": 51
                                              }
                                            },
                                            "name": "oX"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 19763,
                                  "end": 19846,
                                  "loc": {
                                    "start": {
                                      "line": 476,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 476,
                                      "column": 99
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 19763,
                                    "end": 19845,
                                    "loc": {
                                      "start": {
                                        "line": 476,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 476,
                                        "column": 98
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 19763,
                                      "end": 19776,
                                      "loc": {
                                        "start": {
                                          "line": 476,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 476,
                                          "column": 29
                                        }
                                      },
                                      "name": "angleAxisToOX"
                                    },
                                    "right": {
                                      "type": "ConditionalExpression",
                                      "start": 19779,
                                      "end": 19845,
                                      "loc": {
                                        "start": {
                                          "line": 476,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 476,
                                          "column": 98
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 19780,
                                        "end": 19794,
                                        "loc": {
                                          "start": {
                                            "line": 476,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 476,
                                            "column": 47
                                          }
                                        },
                                        "left": {
                                          "type": "MemberExpression",
                                          "start": 19780,
                                          "end": 19786,
                                          "loc": {
                                            "start": {
                                              "line": 476,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 476,
                                              "column": 39
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 19780,
                                            "end": 19784,
                                            "loc": {
                                              "start": {
                                                "line": 476,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 476,
                                                "column": 37
                                              }
                                            },
                                            "name": "axis"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 19785,
                                            "end": 19786,
                                            "loc": {
                                              "start": {
                                                "line": 476,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 476,
                                                "column": 39
                                              }
                                            },
                                            "name": "y"
                                          },
                                          "computed": false
                                        },
                                        "operator": "<",
                                        "right": {
                                          "type": "UnaryExpression",
                                          "start": 19789,
                                          "end": 19794,
                                          "loc": {
                                            "start": {
                                              "line": 476,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 476,
                                              "column": 47
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Literal",
                                            "start": 19790,
                                            "end": 19794,
                                            "loc": {
                                              "start": {
                                                "line": 476,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 476,
                                                "column": 47
                                              }
                                            },
                                            "value": 0.000001,
                                            "rawValue": 0.000001,
                                            "raw": "1e-6"
                                          }
                                        },
                                        "parenthesizedExpression": true
                                      },
                                      "consequent": {
                                        "type": "BinaryExpression",
                                        "start": 19799,
                                        "end": 19828,
                                        "loc": {
                                          "start": {
                                            "line": 476,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 476,
                                            "column": 81
                                          }
                                        },
                                        "left": {
                                          "type": "BinaryExpression",
                                          "start": 19800,
                                          "end": 19811,
                                          "loc": {
                                            "start": {
                                              "line": 476,
                                              "column": 53
                                            },
                                            "end": {
                                              "line": 476,
                                              "column": 64
                                            }
                                          },
                                          "left": {
                                            "type": "Literal",
                                            "start": 19800,
                                            "end": 19801,
                                            "loc": {
                                              "start": {
                                                "line": 476,
                                                "column": 53
                                              },
                                              "end": {
                                                "line": 476,
                                                "column": 54
                                              }
                                            },
                                            "value": 2,
                                            "rawValue": 2,
                                            "raw": "2"
                                          },
                                          "operator": "*",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 19804,
                                            "end": 19811,
                                            "loc": {
                                              "start": {
                                                "line": 476,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 476,
                                                "column": 64
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 19804,
                                              "end": 19808,
                                              "loc": {
                                                "start": {
                                                  "line": 476,
                                                  "column": 57
                                                },
                                                "end": {
                                                  "line": 476,
                                                  "column": 61
                                                }
                                              },
                                              "name": "Math"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 19809,
                                              "end": 19811,
                                              "loc": {
                                                "start": {
                                                  "line": 476,
                                                  "column": 62
                                                },
                                                "end": {
                                                  "line": 476,
                                                  "column": 64
                                                }
                                              },
                                              "name": "PI"
                                            },
                                            "computed": false
                                          },
                                          "parenthesizedExpression": true
                                        },
                                        "operator": "-",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 19815,
                                          "end": 19828,
                                          "loc": {
                                            "start": {
                                              "line": 476,
                                              "column": 68
                                            },
                                            "end": {
                                              "line": 476,
                                              "column": 81
                                            }
                                          },
                                          "name": "angleAxisToOX"
                                        },
                                        "parenthesizedExpression": true
                                      },
                                      "alternate": {
                                        "type": "Identifier",
                                        "start": 19832,
                                        "end": 19845,
                                        "loc": {
                                          "start": {
                                            "line": 476,
                                            "column": 85
                                          },
                                          "end": {
                                            "line": 476,
                                            "column": 98
                                          }
                                        },
                                        "name": "angleAxisToOX"
                                      }
                                    }
                                  }
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 19864,
                                  "end": 19994,
                                  "loc": {
                                    "start": {
                                      "line": 478,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 478,
                                      "column": 146
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 19868,
                                      "end": 19993,
                                      "loc": {
                                        "start": {
                                          "line": 478,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 478,
                                          "column": 145
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 19868,
                                        "end": 19872,
                                        "loc": {
                                          "start": {
                                            "line": 478,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 478,
                                            "column": 24
                                          }
                                        },
                                        "name": "diff"
                                      },
                                      "init": {
                                        "type": "ConditionalExpression",
                                        "start": 19875,
                                        "end": 19993,
                                        "loc": {
                                          "start": {
                                            "line": 478,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 478,
                                            "column": 145
                                          }
                                        },
                                        "test": {
                                          "type": "BinaryExpression",
                                          "start": 19876,
                                          "end": 19906,
                                          "loc": {
                                            "start": {
                                              "line": 478,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 478,
                                              "column": 58
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 19876,
                                            "end": 19890,
                                            "loc": {
                                              "start": {
                                                "line": 478,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 478,
                                                "column": 42
                                              }
                                            },
                                            "name": "angleDeltaToOX"
                                          },
                                          "operator": ">",
                                          "right": {
                                            "type": "Identifier",
                                            "start": 19893,
                                            "end": 19906,
                                            "loc": {
                                              "start": {
                                                "line": 478,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 478,
                                                "column": 58
                                              }
                                            },
                                            "name": "angleAxisToOX"
                                          },
                                          "parenthesizedExpression": true
                                        },
                                        "consequent": {
                                          "type": "BinaryExpression",
                                          "start": 19911,
                                          "end": 19941,
                                          "loc": {
                                            "start": {
                                              "line": 478,
                                              "column": 63
                                            },
                                            "end": {
                                              "line": 478,
                                              "column": 93
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 19911,
                                            "end": 19925,
                                            "loc": {
                                              "start": {
                                                "line": 478,
                                                "column": 63
                                              },
                                              "end": {
                                                "line": 478,
                                                "column": 77
                                              }
                                            },
                                            "name": "angleDeltaToOX"
                                          },
                                          "operator": "-",
                                          "right": {
                                            "type": "Identifier",
                                            "start": 19928,
                                            "end": 19941,
                                            "loc": {
                                              "start": {
                                                "line": 478,
                                                "column": 80
                                              },
                                              "end": {
                                                "line": 478,
                                                "column": 93
                                              }
                                            },
                                            "name": "angleAxisToOX"
                                          },
                                          "parenthesizedExpression": true
                                        },
                                        "alternate": {
                                          "type": "BinaryExpression",
                                          "start": 19946,
                                          "end": 19992,
                                          "loc": {
                                            "start": {
                                              "line": 478,
                                              "column": 98
                                            },
                                            "end": {
                                              "line": 478,
                                              "column": 144
                                            }
                                          },
                                          "left": {
                                            "type": "BinaryExpression",
                                            "start": 19946,
                                            "end": 19976,
                                            "loc": {
                                              "start": {
                                                "line": 478,
                                                "column": 98
                                              },
                                              "end": {
                                                "line": 478,
                                                "column": 128
                                              }
                                            },
                                            "left": {
                                              "type": "BinaryExpression",
                                              "start": 19947,
                                              "end": 19958,
                                              "loc": {
                                                "start": {
                                                  "line": 478,
                                                  "column": 99
                                                },
                                                "end": {
                                                  "line": 478,
                                                  "column": 110
                                                }
                                              },
                                              "left": {
                                                "type": "Literal",
                                                "start": 19947,
                                                "end": 19948,
                                                "loc": {
                                                  "start": {
                                                    "line": 478,
                                                    "column": 99
                                                  },
                                                  "end": {
                                                    "line": 478,
                                                    "column": 100
                                                  }
                                                },
                                                "value": 2,
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "operator": "*",
                                              "right": {
                                                "type": "MemberExpression",
                                                "start": 19951,
                                                "end": 19958,
                                                "loc": {
                                                  "start": {
                                                    "line": 478,
                                                    "column": 103
                                                  },
                                                  "end": {
                                                    "line": 478,
                                                    "column": 110
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 19951,
                                                  "end": 19955,
                                                  "loc": {
                                                    "start": {
                                                      "line": 478,
                                                      "column": 103
                                                    },
                                                    "end": {
                                                      "line": 478,
                                                      "column": 107
                                                    }
                                                  },
                                                  "name": "Math"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 19956,
                                                  "end": 19958,
                                                  "loc": {
                                                    "start": {
                                                      "line": 478,
                                                      "column": 108
                                                    },
                                                    "end": {
                                                      "line": 478,
                                                      "column": 110
                                                    }
                                                  },
                                                  "name": "PI"
                                                },
                                                "computed": false
                                              },
                                              "parenthesizedExpression": true
                                            },
                                            "operator": "+",
                                            "right": {
                                              "type": "Identifier",
                                              "start": 19962,
                                              "end": 19976,
                                              "loc": {
                                                "start": {
                                                  "line": 478,
                                                  "column": 114
                                                },
                                                "end": {
                                                  "line": 478,
                                                  "column": 128
                                                }
                                              },
                                              "name": "angleDeltaToOX"
                                            }
                                          },
                                          "operator": "-",
                                          "right": {
                                            "type": "Identifier",
                                            "start": 19979,
                                            "end": 19992,
                                            "loc": {
                                              "start": {
                                                "line": 478,
                                                "column": 131
                                              },
                                              "end": {
                                                "line": 478,
                                                "column": 144
                                              }
                                            },
                                            "name": "angleAxisToOX"
                                          },
                                          "parenthesizedExpression": true
                                        }
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 20011,
                                  "end": 20076,
                                  "loc": {
                                    "start": {
                                      "line": 479,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 479,
                                      "column": 81
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 20015,
                                      "end": 20075,
                                      "loc": {
                                        "start": {
                                          "line": 479,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 479,
                                          "column": 80
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 20015,
                                        "end": 20020,
                                        "loc": {
                                          "start": {
                                            "line": 479,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 479,
                                            "column": 25
                                          }
                                        },
                                        "name": "round"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 20023,
                                        "end": 20075,
                                        "loc": {
                                          "start": {
                                            "line": 479,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 479,
                                            "column": 80
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 20023,
                                          "end": 20033,
                                          "loc": {
                                            "start": {
                                              "line": 479,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 479,
                                              "column": 38
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 20023,
                                            "end": 20027,
                                            "loc": {
                                              "start": {
                                                "line": 479,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 479,
                                                "column": 32
                                              }
                                            },
                                            "name": "Math"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 20028,
                                            "end": 20033,
                                            "loc": {
                                              "start": {
                                                "line": 479,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 479,
                                                "column": 38
                                              }
                                            },
                                            "name": "round"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "BinaryExpression",
                                            "start": 20034,
                                            "end": 20074,
                                            "loc": {
                                              "start": {
                                                "line": 479,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 479,
                                                "column": 79
                                              }
                                            },
                                            "left": {
                                              "type": "BinaryExpression",
                                              "start": 20034,
                                              "end": 20058,
                                              "loc": {
                                                "start": {
                                                  "line": 479,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 479,
                                                  "column": 63
                                                }
                                              },
                                              "left": {
                                                "type": "Identifier",
                                                "start": 20034,
                                                "end": 20038,
                                                "loc": {
                                                  "start": {
                                                    "line": 479,
                                                    "column": 39
                                                  },
                                                  "end": {
                                                    "line": 479,
                                                    "column": 43
                                                  }
                                                },
                                                "name": "diff"
                                              },
                                              "operator": "*",
                                              "right": {
                                                "type": "Identifier",
                                                "start": 20041,
                                                "end": 20058,
                                                "loc": {
                                                  "start": {
                                                    "line": 479,
                                                    "column": 46
                                                  },
                                                  "end": {
                                                    "line": 479,
                                                    "column": 63
                                                  }
                                                },
                                                "name": "nbShiftDirections"
                                              }
                                            },
                                            "operator": "/",
                                            "right": {
                                              "type": "BinaryExpression",
                                              "start": 20062,
                                              "end": 20073,
                                              "loc": {
                                                "start": {
                                                  "line": 479,
                                                  "column": 67
                                                },
                                                "end": {
                                                  "line": 479,
                                                  "column": 78
                                                }
                                              },
                                              "left": {
                                                "type": "Literal",
                                                "start": 20062,
                                                "end": 20063,
                                                "loc": {
                                                  "start": {
                                                    "line": 479,
                                                    "column": 67
                                                  },
                                                  "end": {
                                                    "line": 479,
                                                    "column": 68
                                                  }
                                                },
                                                "value": 2,
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "operator": "*",
                                              "right": {
                                                "type": "MemberExpression",
                                                "start": 20066,
                                                "end": 20073,
                                                "loc": {
                                                  "start": {
                                                    "line": 479,
                                                    "column": 71
                                                  },
                                                  "end": {
                                                    "line": 479,
                                                    "column": 78
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 20066,
                                                  "end": 20070,
                                                  "loc": {
                                                    "start": {
                                                      "line": 479,
                                                      "column": 71
                                                    },
                                                    "end": {
                                                      "line": 479,
                                                      "column": 75
                                                    }
                                                  },
                                                  "name": "Math"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 20071,
                                                  "end": 20073,
                                                  "loc": {
                                                    "start": {
                                                      "line": 479,
                                                      "column": 76
                                                    },
                                                    "end": {
                                                      "line": 479,
                                                      "column": 78
                                                    }
                                                  },
                                                  "name": "PI"
                                                },
                                                "computed": false
                                              },
                                              "parenthesizedExpression": true
                                            }
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 20093,
                                  "end": 20147,
                                  "loc": {
                                    "start": {
                                      "line": 480,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 480,
                                      "column": 70
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 20097,
                                      "end": 20146,
                                      "loc": {
                                        "start": {
                                          "line": 480,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 480,
                                          "column": 69
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 20097,
                                        "end": 20102,
                                        "loc": {
                                          "start": {
                                            "line": 480,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 480,
                                            "column": 25
                                          }
                                        },
                                        "name": "angle"
                                      },
                                      "init": {
                                        "type": "BinaryExpression",
                                        "start": 20105,
                                        "end": 20146,
                                        "loc": {
                                          "start": {
                                            "line": 480,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 480,
                                            "column": 69
                                          }
                                        },
                                        "left": {
                                          "type": "BinaryExpression",
                                          "start": 20105,
                                          "end": 20126,
                                          "loc": {
                                            "start": {
                                              "line": 480,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 480,
                                              "column": 49
                                            }
                                          },
                                          "left": {
                                            "type": "BinaryExpression",
                                            "start": 20106,
                                            "end": 20117,
                                            "loc": {
                                              "start": {
                                                "line": 480,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 480,
                                                "column": 40
                                              }
                                            },
                                            "left": {
                                              "type": "Literal",
                                              "start": 20106,
                                              "end": 20107,
                                              "loc": {
                                                "start": {
                                                  "line": 480,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 480,
                                                  "column": 30
                                                }
                                              },
                                              "value": 2,
                                              "rawValue": 2,
                                              "raw": "2"
                                            },
                                            "operator": "*",
                                            "right": {
                                              "type": "MemberExpression",
                                              "start": 20110,
                                              "end": 20117,
                                              "loc": {
                                                "start": {
                                                  "line": 480,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 480,
                                                  "column": 40
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 20110,
                                                "end": 20114,
                                                "loc": {
                                                  "start": {
                                                    "line": 480,
                                                    "column": 33
                                                  },
                                                  "end": {
                                                    "line": 480,
                                                    "column": 37
                                                  }
                                                },
                                                "name": "Math"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 20115,
                                                "end": 20117,
                                                "loc": {
                                                  "start": {
                                                    "line": 480,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 480,
                                                    "column": 40
                                                  }
                                                },
                                                "name": "PI"
                                              },
                                              "computed": false
                                            },
                                            "parenthesizedExpression": true
                                          },
                                          "operator": "*",
                                          "right": {
                                            "type": "Identifier",
                                            "start": 20121,
                                            "end": 20126,
                                            "loc": {
                                              "start": {
                                                "line": 480,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 480,
                                                "column": 49
                                              }
                                            },
                                            "name": "round"
                                          }
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 20129,
                                          "end": 20146,
                                          "loc": {
                                            "start": {
                                              "line": 480,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 480,
                                              "column": 69
                                            }
                                          },
                                          "name": "nbShiftDirections"
                                        }
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 20164,
                                  "end": 20187,
                                  "loc": {
                                    "start": {
                                      "line": 481,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 481,
                                      "column": 39
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 20164,
                                    "end": 20186,
                                    "loc": {
                                      "start": {
                                        "line": 481,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 481,
                                        "column": 38
                                      }
                                    },
                                    "operator": "+=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 20164,
                                      "end": 20169,
                                      "loc": {
                                        "start": {
                                          "line": 481,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 481,
                                          "column": 21
                                        }
                                      },
                                      "name": "angle"
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 20173,
                                      "end": 20186,
                                      "loc": {
                                        "start": {
                                          "line": 481,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 481,
                                          "column": 38
                                        }
                                      },
                                      "name": "angleAxisToOX"
                                    }
                                  }
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 20204,
                                  "end": 20271,
                                  "loc": {
                                    "start": {
                                      "line": 482,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 482,
                                      "column": 83
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 20208,
                                      "end": 20270,
                                      "loc": {
                                        "start": {
                                          "line": 482,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 482,
                                          "column": 82
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 20208,
                                        "end": 20211,
                                        "loc": {
                                          "start": {
                                            "line": 482,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 482,
                                            "column": 23
                                          }
                                        },
                                        "name": "dir"
                                      },
                                      "init": {
                                        "type": "NewExpression",
                                        "start": 20214,
                                        "end": 20270,
                                        "loc": {
                                          "start": {
                                            "line": 482,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 482,
                                            "column": 82
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 20218,
                                          "end": 20231,
                                          "loc": {
                                            "start": {
                                              "line": 482,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 482,
                                              "column": 43
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 20218,
                                            "end": 20223,
                                            "loc": {
                                              "start": {
                                                "line": 482,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 482,
                                                "column": 35
                                              }
                                            },
                                            "name": "THREE"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 20224,
                                            "end": 20231,
                                            "loc": {
                                              "start": {
                                                "line": 482,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 482,
                                                "column": 43
                                              }
                                            },
                                            "name": "Vector3"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "CallExpression",
                                            "start": 20232,
                                            "end": 20247,
                                            "loc": {
                                              "start": {
                                                "line": 482,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 482,
                                                "column": 59
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 20232,
                                              "end": 20240,
                                              "loc": {
                                                "start": {
                                                  "line": 482,
                                                  "column": 44
                                                },
                                                "end": {
                                                  "line": 482,
                                                  "column": 52
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 20232,
                                                "end": 20236,
                                                "loc": {
                                                  "start": {
                                                    "line": 482,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 482,
                                                    "column": 48
                                                  }
                                                },
                                                "name": "Math"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 20237,
                                                "end": 20240,
                                                "loc": {
                                                  "start": {
                                                    "line": 482,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 482,
                                                    "column": 52
                                                  }
                                                },
                                                "name": "cos"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 20241,
                                                "end": 20246,
                                                "loc": {
                                                  "start": {
                                                    "line": 482,
                                                    "column": 53
                                                  },
                                                  "end": {
                                                    "line": 482,
                                                    "column": 58
                                                  }
                                                },
                                                "name": "angle"
                                              }
                                            ]
                                          },
                                          {
                                            "type": "CallExpression",
                                            "start": 20249,
                                            "end": 20264,
                                            "loc": {
                                              "start": {
                                                "line": 482,
                                                "column": 61
                                              },
                                              "end": {
                                                "line": 482,
                                                "column": 76
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 20249,
                                              "end": 20257,
                                              "loc": {
                                                "start": {
                                                  "line": 482,
                                                  "column": 61
                                                },
                                                "end": {
                                                  "line": 482,
                                                  "column": 69
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 20249,
                                                "end": 20253,
                                                "loc": {
                                                  "start": {
                                                    "line": 482,
                                                    "column": 61
                                                  },
                                                  "end": {
                                                    "line": 482,
                                                    "column": 65
                                                  }
                                                },
                                                "name": "Math"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 20254,
                                                "end": 20257,
                                                "loc": {
                                                  "start": {
                                                    "line": 482,
                                                    "column": 66
                                                  },
                                                  "end": {
                                                    "line": 482,
                                                    "column": 69
                                                  }
                                                },
                                                "name": "sin"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 20258,
                                                "end": 20263,
                                                "loc": {
                                                  "start": {
                                                    "line": 482,
                                                    "column": 70
                                                  },
                                                  "end": {
                                                    "line": 482,
                                                    "column": 75
                                                  }
                                                },
                                                "name": "angle"
                                              }
                                            ]
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 20266,
                                            "end": 20269,
                                            "loc": {
                                              "start": {
                                                "line": 482,
                                                "column": 78
                                              },
                                              "end": {
                                                "line": 482,
                                                "column": 81
                                              }
                                            },
                                            "value": 0,
                                            "rawValue": 0,
                                            "raw": "0.0"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 20288,
                                  "end": 20323,
                                  "loc": {
                                    "start": {
                                      "line": 483,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 483,
                                      "column": 51
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 20288,
                                    "end": 20322,
                                    "loc": {
                                      "start": {
                                        "line": 483,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 483,
                                        "column": 50
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 20288,
                                      "end": 20306,
                                      "loc": {
                                        "start": {
                                          "line": 483,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 483,
                                          "column": 34
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 20288,
                                        "end": 20291,
                                        "loc": {
                                          "start": {
                                            "line": 483,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 483,
                                            "column": 19
                                          }
                                        },
                                        "name": "dir"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 20292,
                                        "end": 20306,
                                        "loc": {
                                          "start": {
                                            "line": 483,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 483,
                                            "column": 34
                                          }
                                        },
                                        "name": "multiplyScalar"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "CallExpression",
                                        "start": 20307,
                                        "end": 20321,
                                        "loc": {
                                          "start": {
                                            "line": 483,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 483,
                                            "column": 49
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 20307,
                                          "end": 20314,
                                          "loc": {
                                            "start": {
                                              "line": 483,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 483,
                                              "column": 42
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 20307,
                                            "end": 20310,
                                            "loc": {
                                              "start": {
                                                "line": 483,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 483,
                                                "column": 38
                                              }
                                            },
                                            "name": "dir"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 20311,
                                            "end": 20314,
                                            "loc": {
                                              "start": {
                                                "line": 483,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 483,
                                                "column": 42
                                              }
                                            },
                                            "name": "dot"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 20315,
                                            "end": 20320,
                                            "loc": {
                                              "start": {
                                                "line": 483,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 483,
                                                "column": 48
                                              }
                                            },
                                            "name": "delta"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 20340,
                                  "end": 20381,
                                  "loc": {
                                    "start": {
                                      "line": 484,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 484,
                                      "column": 57
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 20340,
                                    "end": 20380,
                                    "loc": {
                                      "start": {
                                        "line": 484,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 484,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 20340,
                                      "end": 20359,
                                      "loc": {
                                        "start": {
                                          "line": 484,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 484,
                                          "column": 35
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 20340,
                                        "end": 20348,
                                        "loc": {
                                          "start": {
                                            "line": 484,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 484,
                                            "column": 24
                                          }
                                        },
                                        "name": "toReturn"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 20349,
                                        "end": 20359,
                                        "loc": {
                                          "start": {
                                            "line": 484,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 484,
                                            "column": 35
                                          }
                                        },
                                        "name": "addVectors"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 20360,
                                        "end": 20374,
                                        "loc": {
                                          "start": {
                                            "line": 484,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 484,
                                            "column": 50
                                          }
                                        },
                                        "name": "neighbourPoint"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 20376,
                                        "end": 20379,
                                        "loc": {
                                          "start": {
                                            "line": 484,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 484,
                                            "column": 55
                                          }
                                        },
                                        "name": "dir"
                                      }
                                    ]
                                  }
                                }
                              ]
                            },
                            "alternate": null
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 20409,
                            "end": 20425,
                            "loc": {
                              "start": {
                                "line": 487,
                                "column": 12
                              },
                              "end": {
                                "line": 487,
                                "column": 28
                              }
                            },
                            "argument": {
                              "type": "Identifier",
                              "start": 20416,
                              "end": 20424,
                              "loc": {
                                "start": {
                                  "line": 487,
                                  "column": 19
                                },
                                "end": {
                                  "line": 487,
                                  "column": 27
                                }
                              },
                              "name": "toReturn"
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 20445,
                      "end": 20567,
                      "loc": {
                        "start": {
                          "line": 490,
                          "column": 8
                        },
                        "end": {
                          "line": 490,
                          "column": 130
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 20449,
                          "end": 20566,
                          "loc": {
                            "start": {
                              "line": 490,
                              "column": 12
                            },
                            "end": {
                              "line": 490,
                              "column": 129
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 20449,
                            "end": 20466,
                            "loc": {
                              "start": {
                                "line": 490,
                                "column": 12
                              },
                              "end": {
                                "line": 490,
                                "column": 29
                              }
                            },
                            "name": "nbShiftDirections"
                          },
                          "init": {
                            "type": "ConditionalExpression",
                            "start": 20469,
                            "end": 20566,
                            "loc": {
                              "start": {
                                "line": 490,
                                "column": 32
                              },
                              "end": {
                                "line": 490,
                                "column": 129
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 20469,
                              "end": 20511,
                              "loc": {
                                "start": {
                                  "line": 490,
                                  "column": 32
                                },
                                "end": {
                                  "line": 490,
                                  "column": 74
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 20469,
                                "end": 20502,
                                "loc": {
                                  "start": {
                                    "line": 490,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 490,
                                    "column": 65
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 20469,
                                  "end": 20490,
                                  "loc": {
                                    "start": {
                                      "line": 490,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 490,
                                      "column": 53
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 20469,
                                    "end": 20477,
                                    "loc": {
                                      "start": {
                                        "line": 490,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 490,
                                        "column": 40
                                      }
                                    },
                                    "name": "sketcher"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 20478,
                                    "end": 20490,
                                    "loc": {
                                      "start": {
                                        "line": 490,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 490,
                                        "column": 53
                                      }
                                    },
                                    "name": "__parentView"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 20491,
                                  "end": 20502,
                                  "loc": {
                                    "start": {
                                      "line": 490,
                                      "column": 54
                                    },
                                    "end": {
                                      "line": 490,
                                      "column": 65
                                    }
                                  },
                                  "name": "interaction"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 20503,
                                "end": 20511,
                                "loc": {
                                  "start": {
                                    "line": 490,
                                    "column": 66
                                  },
                                  "end": {
                                    "line": 490,
                                    "column": 74
                                  }
                                },
                                "name": "shiftKey"
                              },
                              "computed": false
                            },
                            "consequent": {
                              "type": "MemberExpression",
                              "start": 20514,
                              "end": 20562,
                              "loc": {
                                "start": {
                                  "line": 490,
                                  "column": 77
                                },
                                "end": {
                                  "line": 490,
                                  "column": 125
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 20514,
                                "end": 20546,
                                "loc": {
                                  "start": {
                                    "line": 490,
                                    "column": 77
                                  },
                                  "end": {
                                    "line": 490,
                                    "column": 109
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 20514,
                                  "end": 20522,
                                  "loc": {
                                    "start": {
                                      "line": 490,
                                      "column": 77
                                    },
                                    "end": {
                                      "line": 490,
                                      "column": 85
                                    }
                                  },
                                  "name": "sketcher"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 20523,
                                  "end": 20546,
                                  "loc": {
                                    "start": {
                                      "line": 490,
                                      "column": 86
                                    },
                                    "end": {
                                      "line": 490,
                                      "column": 109
                                    }
                                  },
                                  "name": "__sketchControlsHandler"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 20547,
                                "end": 20562,
                                "loc": {
                                  "start": {
                                    "line": 490,
                                    "column": 110
                                  },
                                  "end": {
                                    "line": 490,
                                    "column": 125
                                  }
                                },
                                "name": "shiftDirections"
                              },
                              "computed": false
                            },
                            "alternate": {
                              "type": "Literal",
                              "start": 20565,
                              "end": 20566,
                              "loc": {
                                "start": {
                                  "line": 490,
                                  "column": 128
                                },
                                "end": {
                                  "line": 490,
                                  "column": 129
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 20576,
                      "end": 20654,
                      "loc": {
                        "start": {
                          "line": 491,
                          "column": 8
                        },
                        "end": {
                          "line": 491,
                          "column": 86
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 20580,
                        "end": 20627,
                        "loc": {
                          "start": {
                            "line": 491,
                            "column": 12
                          },
                          "end": {
                            "line": 491,
                            "column": 59
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 20580,
                          "end": 20597,
                          "loc": {
                            "start": {
                              "line": 491,
                              "column": 12
                            },
                            "end": {
                              "line": 491,
                              "column": 29
                            }
                          },
                          "name": "nbShiftDirections"
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 20601,
                          "end": 20627,
                          "loc": {
                            "start": {
                              "line": 491,
                              "column": 33
                            },
                            "end": {
                              "line": 491,
                              "column": 59
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 20601,
                            "end": 20611,
                            "loc": {
                              "start": {
                                "line": 491,
                                "column": 33
                              },
                              "end": {
                                "line": 491,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 20601,
                              "end": 20604,
                              "loc": {
                                "start": {
                                  "line": 491,
                                  "column": 33
                                },
                                "end": {
                                  "line": 491,
                                  "column": 36
                                }
                              },
                              "name": "obj"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 20605,
                              "end": 20611,
                              "loc": {
                                "start": {
                                  "line": 491,
                                  "column": 37
                                },
                                "end": {
                                  "line": 491,
                                  "column": 43
                                }
                              },
                              "name": "parent"
                            },
                            "computed": false
                          },
                          "operator": "instanceof",
                          "right": {
                            "type": "Identifier",
                            "start": 20623,
                            "end": 20627,
                            "loc": {
                              "start": {
                                "line": 491,
                                "column": 55
                              },
                              "end": {
                                "line": 491,
                                "column": 59
                              }
                            },
                            "name": "Line"
                          }
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 20629,
                        "end": 20654,
                        "loc": {
                          "start": {
                            "line": 491,
                            "column": 61
                          },
                          "end": {
                            "line": 491,
                            "column": 86
                          }
                        },
                        "argument": {
                          "type": "CallExpression",
                          "start": 20636,
                          "end": 20653,
                          "loc": {
                            "start": {
                              "line": 491,
                              "column": 68
                            },
                            "end": {
                              "line": 491,
                              "column": 85
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 20636,
                            "end": 20651,
                            "loc": {
                              "start": {
                                "line": 491,
                                "column": 68
                              },
                              "end": {
                                "line": 491,
                                "column": 83
                              }
                            },
                            "name": "snapToDirection"
                          },
                          "arguments": []
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 20664,
                      "end": 20701,
                      "loc": {
                        "start": {
                          "line": 493,
                          "column": 8
                        },
                        "end": {
                          "line": 493,
                          "column": 45
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 20668,
                          "end": 20700,
                          "loc": {
                            "start": {
                              "line": 493,
                              "column": 12
                            },
                            "end": {
                              "line": 493,
                              "column": 44
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 20668,
                            "end": 20676,
                            "loc": {
                              "start": {
                                "line": 493,
                                "column": 12
                              },
                              "end": {
                                "line": 493,
                                "column": 20
                              }
                            },
                            "name": "toReturn"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 20679,
                            "end": 20700,
                            "loc": {
                              "start": {
                                "line": 493,
                                "column": 23
                              },
                              "end": {
                                "line": 493,
                                "column": 44
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 20679,
                              "end": 20698,
                              "loc": {
                                "start": {
                                  "line": 493,
                                  "column": 23
                                },
                                "end": {
                                  "line": 493,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 20679,
                                "end": 20692,
                                "loc": {
                                  "start": {
                                    "line": 493,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 493,
                                    "column": 36
                                  }
                                },
                                "name": "mousePosition"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 20693,
                                "end": 20698,
                                "loc": {
                                  "start": {
                                    "line": 493,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 493,
                                    "column": 42
                                  }
                                },
                                "name": "clone"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 20711,
                      "end": 20733,
                      "loc": {
                        "start": {
                          "line": 495,
                          "column": 8
                        },
                        "end": {
                          "line": 495,
                          "column": 30
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 20715,
                          "end": 20732,
                          "loc": {
                            "start": {
                              "line": 495,
                              "column": 12
                            },
                            "end": {
                              "line": 495,
                              "column": 29
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 20715,
                            "end": 20727,
                            "loc": {
                              "start": {
                                "line": 495,
                                "column": 12
                              },
                              "end": {
                                "line": 495,
                                "column": 24
                              }
                            },
                            "name": "pointsToSnap"
                          },
                          "init": {
                            "type": "ArrayExpression",
                            "start": 20730,
                            "end": 20732,
                            "loc": {
                              "start": {
                                "line": 495,
                                "column": 27
                              },
                              "end": {
                                "line": 495,
                                "column": 29
                              }
                            },
                            "elements": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 20742,
                      "end": 20963,
                      "loc": {
                        "start": {
                          "line": 496,
                          "column": 8
                        },
                        "end": {
                          "line": 500,
                          "column": 115
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 20746,
                        "end": 20767,
                        "loc": {
                          "start": {
                            "line": 496,
                            "column": 12
                          },
                          "end": {
                            "line": 496,
                            "column": 33
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 20746,
                          "end": 20749,
                          "loc": {
                            "start": {
                              "line": 496,
                              "column": 12
                            },
                            "end": {
                              "line": 496,
                              "column": 15
                            }
                          },
                          "name": "obj"
                        },
                        "operator": "instanceof",
                        "right": {
                          "type": "Identifier",
                          "start": 20762,
                          "end": 20767,
                          "loc": {
                            "start": {
                              "line": 496,
                              "column": 28
                            },
                            "end": {
                              "line": 496,
                              "column": 33
                            }
                          },
                          "name": "Point"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 20781,
                        "end": 20802,
                        "loc": {
                          "start": {
                            "line": 497,
                            "column": 12
                          },
                          "end": {
                            "line": 497,
                            "column": 33
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 20781,
                          "end": 20801,
                          "loc": {
                            "start": {
                              "line": 497,
                              "column": 12
                            },
                            "end": {
                              "line": 497,
                              "column": 32
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 20781,
                            "end": 20793,
                            "loc": {
                              "start": {
                                "line": 497,
                                "column": 12
                              },
                              "end": {
                                "line": 497,
                                "column": 24
                              }
                            },
                            "name": "pointsToSnap"
                          },
                          "right": {
                            "type": "ArrayExpression",
                            "start": 20796,
                            "end": 20801,
                            "loc": {
                              "start": {
                                "line": 497,
                                "column": 27
                              },
                              "end": {
                                "line": 497,
                                "column": 32
                              }
                            },
                            "elements": [
                              {
                                "type": "Identifier",
                                "start": 20797,
                                "end": 20800,
                                "loc": {
                                  "start": {
                                    "line": 497,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 497,
                                    "column": 31
                                  }
                                },
                                "name": "obj"
                              }
                            ]
                          }
                        }
                      },
                      "alternate": {
                        "type": "ExpressionStatement",
                        "start": 20860,
                        "end": 20963,
                        "loc": {
                          "start": {
                            "line": 500,
                            "column": 12
                          },
                          "end": {
                            "line": 500,
                            "column": 115
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 20860,
                          "end": 20962,
                          "loc": {
                            "start": {
                              "line": 500,
                              "column": 12
                            },
                            "end": {
                              "line": 500,
                              "column": 114
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 20860,
                            "end": 20889,
                            "loc": {
                              "start": {
                                "line": 500,
                                "column": 12
                              },
                              "end": {
                                "line": 500,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 20860,
                              "end": 20866,
                              "loc": {
                                "start": {
                                  "line": 500,
                                  "column": 12
                                },
                                "end": {
                                  "line": 500,
                                  "column": 18
                                }
                              },
                              "name": "Sketch",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 20867,
                              "end": 20889,
                              "loc": {
                                "start": {
                                  "line": 500,
                                  "column": 19
                                },
                                "end": {
                                  "line": 500,
                                  "column": 41
                                }
                              },
                              "name": "ForObjectsWithChildren"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 20890,
                              "end": 20893,
                              "loc": {
                                "start": {
                                  "line": 500,
                                  "column": 42
                                },
                                "end": {
                                  "line": 500,
                                  "column": 45
                                }
                              },
                              "name": "obj"
                            },
                            {
                              "type": "FunctionExpression",
                              "start": 20895,
                              "end": 20961,
                              "loc": {
                                "start": {
                                  "line": 500,
                                  "column": 47
                                },
                                "end": {
                                  "line": 500,
                                  "column": 113
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 20905,
                                  "end": 20908,
                                  "loc": {
                                    "start": {
                                      "line": 500,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 500,
                                      "column": 60
                                    }
                                  },
                                  "name": "arg"
                                }
                              ],
                              "body": {
                                "type": "BlockStatement",
                                "start": 20910,
                                "end": 20961,
                                "loc": {
                                  "start": {
                                    "line": 500,
                                    "column": 62
                                  },
                                  "end": {
                                    "line": 500,
                                    "column": 113
                                  }
                                },
                                "body": [
                                  {
                                    "type": "IfStatement",
                                    "start": 20912,
                                    "end": 20960,
                                    "loc": {
                                      "start": {
                                        "line": 500,
                                        "column": 64
                                      },
                                      "end": {
                                        "line": 500,
                                        "column": 112
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 20915,
                                      "end": 20935,
                                      "loc": {
                                        "start": {
                                          "line": 500,
                                          "column": 67
                                        },
                                        "end": {
                                          "line": 500,
                                          "column": 87
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 20915,
                                        "end": 20918,
                                        "loc": {
                                          "start": {
                                            "line": 500,
                                            "column": 67
                                          },
                                          "end": {
                                            "line": 500,
                                            "column": 70
                                          }
                                        },
                                        "name": "arg"
                                      },
                                      "operator": "instanceof",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 20930,
                                        "end": 20935,
                                        "loc": {
                                          "start": {
                                            "line": 500,
                                            "column": 82
                                          },
                                          "end": {
                                            "line": 500,
                                            "column": 87
                                          }
                                        },
                                        "name": "Point"
                                      }
                                    },
                                    "consequent": {
                                      "type": "ExpressionStatement",
                                      "start": 20937,
                                      "end": 20960,
                                      "loc": {
                                        "start": {
                                          "line": 500,
                                          "column": 89
                                        },
                                        "end": {
                                          "line": 500,
                                          "column": 112
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 20937,
                                        "end": 20959,
                                        "loc": {
                                          "start": {
                                            "line": 500,
                                            "column": 89
                                          },
                                          "end": {
                                            "line": 500,
                                            "column": 111
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 20937,
                                          "end": 20954,
                                          "loc": {
                                            "start": {
                                              "line": 500,
                                              "column": 89
                                            },
                                            "end": {
                                              "line": 500,
                                              "column": 106
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 20937,
                                            "end": 20949,
                                            "loc": {
                                              "start": {
                                                "line": 500,
                                                "column": 89
                                              },
                                              "end": {
                                                "line": 500,
                                                "column": 101
                                              }
                                            },
                                            "name": "pointsToSnap"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 20950,
                                            "end": 20954,
                                            "loc": {
                                              "start": {
                                                "line": 500,
                                                "column": 102
                                              },
                                              "end": {
                                                "line": 500,
                                                "column": 106
                                              }
                                            },
                                            "name": "push"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 20955,
                                            "end": 20958,
                                            "loc": {
                                              "start": {
                                                "line": 500,
                                                "column": 107
                                              },
                                              "end": {
                                                "line": 500,
                                                "column": 110
                                              }
                                            },
                                            "name": "arg"
                                          }
                                        ]
                                      }
                                    },
                                    "alternate": null
                                  }
                                ]
                              }
                            }
                          ],
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": "/return toReturn;",
                            "start": 20828,
                            "end": 20847,
                            "loc": {
                              "start": {
                                "line": 499,
                                "column": 12
                              },
                              "end": {
                                "line": 499,
                                "column": 31
                              }
                            },
                            "range": [
                              20828,
                              20847
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 20973,
                      "end": 21029,
                      "loc": {
                        "start": {
                          "line": 502,
                          "column": 8
                        },
                        "end": {
                          "line": 502,
                          "column": 64
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 20977,
                          "end": 21028,
                          "loc": {
                            "start": {
                              "line": 502,
                              "column": 12
                            },
                            "end": {
                              "line": 502,
                              "column": 63
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 20977,
                            "end": 21001,
                            "loc": {
                              "start": {
                                "line": 502,
                                "column": 12
                              },
                              "end": {
                                "line": 502,
                                "column": 36
                              }
                            },
                            "name": "fromMousePositionToPoint"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 21004,
                            "end": 21028,
                            "loc": {
                              "start": {
                                "line": 502,
                                "column": 39
                              },
                              "end": {
                                "line": 502,
                                "column": 63
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 21008,
                              "end": 21021,
                              "loc": {
                                "start": {
                                  "line": 502,
                                  "column": 43
                                },
                                "end": {
                                  "line": 502,
                                  "column": 56
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 21008,
                                "end": 21013,
                                "loc": {
                                  "start": {
                                    "line": 502,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 502,
                                    "column": 48
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 21014,
                                "end": 21021,
                                "loc": {
                                  "start": {
                                    "line": 502,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 502,
                                    "column": 56
                                  }
                                },
                                "name": "Vector3"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 21022,
                                "end": 21023,
                                "loc": {
                                  "start": {
                                    "line": 502,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 502,
                                    "column": 58
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              {
                                "type": "Literal",
                                "start": 21024,
                                "end": 21025,
                                "loc": {
                                  "start": {
                                    "line": 502,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 502,
                                    "column": 60
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              {
                                "type": "Literal",
                                "start": 21026,
                                "end": 21027,
                                "loc": {
                                  "start": {
                                    "line": 502,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 502,
                                    "column": 62
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 21039,
                      "end": 21066,
                      "loc": {
                        "start": {
                          "line": 504,
                          "column": 8
                        },
                        "end": {
                          "line": 504,
                          "column": 35
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 21043,
                          "end": 21065,
                          "loc": {
                            "start": {
                              "line": 504,
                              "column": 12
                            },
                            "end": {
                              "line": 504,
                              "column": 34
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 21043,
                            "end": 21051,
                            "loc": {
                              "start": {
                                "line": 504,
                                "column": 12
                              },
                              "end": {
                                "line": 504,
                                "column": 20
                              }
                            },
                            "name": "distance"
                          },
                          "init": {
                            "type": "Identifier",
                            "start": 21054,
                            "end": 21065,
                            "loc": {
                              "start": {
                                "line": 504,
                                "column": 23
                              },
                              "end": {
                                "line": 504,
                                "column": 34
                              }
                            },
                            "name": "maxDistance"
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 21075,
                      "end": 21091,
                      "loc": {
                        "start": {
                          "line": 505,
                          "column": 8
                        },
                        "end": {
                          "line": 505,
                          "column": 24
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 21079,
                          "end": 21090,
                          "loc": {
                            "start": {
                              "line": 505,
                              "column": 12
                            },
                            "end": {
                              "line": 505,
                              "column": 23
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 21079,
                            "end": 21083,
                            "loc": {
                              "start": {
                                "line": 505,
                                "column": 12
                              },
                              "end": {
                                "line": 505,
                                "column": 16
                              }
                            },
                            "name": "self"
                          },
                          "init": {
                            "type": "ThisExpression",
                            "start": 21086,
                            "end": 21090,
                            "loc": {
                              "start": {
                                "line": 505,
                                "column": 19
                              },
                              "end": {
                                "line": 505,
                                "column": 23
                              }
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 21100,
                      "end": 21907,
                      "loc": {
                        "start": {
                          "line": 506,
                          "column": 8
                        },
                        "end": {
                          "line": 519,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 21100,
                        "end": 21906,
                        "loc": {
                          "start": {
                            "line": 506,
                            "column": 8
                          },
                          "end": {
                            "line": 519,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 21100,
                          "end": 21120,
                          "loc": {
                            "start": {
                              "line": 506,
                              "column": 8
                            },
                            "end": {
                              "line": 506,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 21100,
                            "end": 21112,
                            "loc": {
                              "start": {
                                "line": 506,
                                "column": 8
                              },
                              "end": {
                                "line": 506,
                                "column": 20
                              }
                            },
                            "name": "pointsToSnap"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 21113,
                            "end": 21120,
                            "loc": {
                              "start": {
                                "line": 506,
                                "column": 21
                              },
                              "end": {
                                "line": 506,
                                "column": 28
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "FunctionExpression",
                            "start": 21121,
                            "end": 21905,
                            "loc": {
                              "start": {
                                "line": 506,
                                "column": 29
                              },
                              "end": {
                                "line": 519,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 21130,
                                "end": 21139,
                                "loc": {
                                  "start": {
                                    "line": 506,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 506,
                                    "column": 47
                                  }
                                },
                                "name": "geomPoint"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 21141,
                              "end": 21905,
                              "loc": {
                                "start": {
                                  "line": 506,
                                  "column": 49
                                },
                                "end": {
                                  "line": 519,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "start": 21155,
                                  "end": 21261,
                                  "loc": {
                                    "start": {
                                      "line": 507,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 507,
                                      "column": 118
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 21159,
                                    "end": 21186,
                                    "loc": {
                                      "start": {
                                        "line": 507,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 507,
                                        "column": 43
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 21159,
                                      "end": 21172,
                                      "loc": {
                                        "start": {
                                          "line": 507,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 507,
                                          "column": 29
                                        }
                                      },
                                      "name": "lastDragPoint"
                                    },
                                    "operator": "!==",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 21177,
                                      "end": 21186,
                                      "loc": {
                                        "start": {
                                          "line": 507,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 507,
                                          "column": 43
                                        }
                                      },
                                      "name": "undefined"
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 21188,
                                    "end": 21261,
                                    "loc": {
                                      "start": {
                                        "line": 507,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 507,
                                        "column": 118
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 21188,
                                      "end": 21260,
                                      "loc": {
                                        "start": {
                                          "line": 507,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 507,
                                          "column": 117
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 21188,
                                        "end": 21212,
                                        "loc": {
                                          "start": {
                                            "line": 507,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 507,
                                            "column": 69
                                          }
                                        },
                                        "name": "fromMousePositionToPoint"
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 21215,
                                        "end": 21260,
                                        "loc": {
                                          "start": {
                                            "line": 507,
                                            "column": 72
                                          },
                                          "end": {
                                            "line": 507,
                                            "column": 117
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 21215,
                                          "end": 21245,
                                          "loc": {
                                            "start": {
                                              "line": 507,
                                              "column": 72
                                            },
                                            "end": {
                                              "line": 507,
                                              "column": 102
                                            }
                                          },
                                          "object": {
                                            "type": "CallExpression",
                                            "start": 21215,
                                            "end": 21241,
                                            "loc": {
                                              "start": {
                                                "line": 507,
                                                "column": 72
                                              },
                                              "end": {
                                                "line": 507,
                                                "column": 98
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 21215,
                                              "end": 21239,
                                              "loc": {
                                                "start": {
                                                  "line": 507,
                                                  "column": 72
                                                },
                                                "end": {
                                                  "line": 507,
                                                  "column": 96
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 21215,
                                                "end": 21233,
                                                "loc": {
                                                  "start": {
                                                    "line": 507,
                                                    "column": 72
                                                  },
                                                  "end": {
                                                    "line": 507,
                                                    "column": 90
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 21215,
                                                  "end": 21224,
                                                  "loc": {
                                                    "start": {
                                                      "line": 507,
                                                      "column": 72
                                                    },
                                                    "end": {
                                                      "line": 507,
                                                      "column": 81
                                                    }
                                                  },
                                                  "name": "geomPoint"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 21225,
                                                  "end": 21233,
                                                  "loc": {
                                                    "start": {
                                                      "line": 507,
                                                      "column": 82
                                                    },
                                                    "end": {
                                                      "line": 507,
                                                      "column": 90
                                                    }
                                                  },
                                                  "name": "position"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 21234,
                                                "end": 21239,
                                                "loc": {
                                                  "start": {
                                                    "line": 507,
                                                    "column": 91
                                                  },
                                                  "end": {
                                                    "line": 507,
                                                    "column": 96
                                                  }
                                                },
                                                "name": "clone"
                                              },
                                              "computed": false
                                            },
                                            "arguments": []
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 21242,
                                            "end": 21245,
                                            "loc": {
                                              "start": {
                                                "line": 507,
                                                "column": 99
                                              },
                                              "end": {
                                                "line": 507,
                                                "column": 102
                                              }
                                            },
                                            "name": "sub"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 21246,
                                            "end": 21259,
                                            "loc": {
                                              "start": {
                                                "line": 507,
                                                "column": 103
                                              },
                                              "end": {
                                                "line": 507,
                                                "column": 116
                                              }
                                            },
                                            "name": "lastDragPoint"
                                          }
                                        ]
                                      }
                                    }
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 21274,
                                  "end": 21315,
                                  "loc": {
                                    "start": {
                                      "line": 508,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 508,
                                      "column": 53
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 21278,
                                      "end": 21314,
                                      "loc": {
                                        "start": {
                                          "line": 508,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 508,
                                          "column": 52
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 21278,
                                        "end": 21290,
                                        "loc": {
                                          "start": {
                                            "line": 508,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 508,
                                            "column": 28
                                          }
                                        },
                                        "name": "snapPosition"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 21293,
                                        "end": 21314,
                                        "loc": {
                                          "start": {
                                            "line": 508,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 508,
                                            "column": 52
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 21293,
                                          "end": 21312,
                                          "loc": {
                                            "start": {
                                              "line": 508,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 508,
                                              "column": 50
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 21293,
                                            "end": 21306,
                                            "loc": {
                                              "start": {
                                                "line": 508,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 508,
                                                "column": 44
                                              }
                                            },
                                            "name": "mousePosition"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 21307,
                                            "end": 21312,
                                            "loc": {
                                              "start": {
                                                "line": 508,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 508,
                                                "column": 50
                                              }
                                            },
                                            "name": "clone"
                                          },
                                          "computed": false
                                        },
                                        "arguments": []
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 21328,
                                  "end": 21398,
                                  "loc": {
                                    "start": {
                                      "line": 509,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 509,
                                      "column": 82
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 21332,
                                    "end": 21353,
                                    "loc": {
                                      "start": {
                                        "line": 509,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 509,
                                        "column": 37
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 21332,
                                      "end": 21340,
                                      "loc": {
                                        "start": {
                                          "line": 509,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 509,
                                          "column": 24
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 21332,
                                        "end": 21335,
                                        "loc": {
                                          "start": {
                                            "line": 509,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 509,
                                            "column": 19
                                          }
                                        },
                                        "name": "obj"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 21336,
                                        "end": 21340,
                                        "loc": {
                                          "start": {
                                            "line": 509,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 509,
                                            "column": 24
                                          }
                                        },
                                        "name": "name"
                                      },
                                      "computed": false
                                    },
                                    "operator": "!==",
                                    "right": {
                                      "type": "Literal",
                                      "start": 21345,
                                      "end": 21353,
                                      "loc": {
                                        "start": {
                                          "line": 509,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 509,
                                          "column": 37
                                        }
                                      },
                                      "value": "center",
                                      "rawValue": "center",
                                      "raw": "'center'"
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 21355,
                                    "end": 21398,
                                    "loc": {
                                      "start": {
                                        "line": 509,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 509,
                                        "column": 82
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 21355,
                                      "end": 21397,
                                      "loc": {
                                        "start": {
                                          "line": 509,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 509,
                                          "column": 81
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 21355,
                                        "end": 21371,
                                        "loc": {
                                          "start": {
                                            "line": 509,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 509,
                                            "column": 55
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 21355,
                                          "end": 21367,
                                          "loc": {
                                            "start": {
                                              "line": 509,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 509,
                                              "column": 51
                                            }
                                          },
                                          "name": "snapPosition"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 21368,
                                          "end": 21371,
                                          "loc": {
                                            "start": {
                                              "line": 509,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 509,
                                              "column": 55
                                            }
                                          },
                                          "name": "add"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 21372,
                                          "end": 21396,
                                          "loc": {
                                            "start": {
                                              "line": 509,
                                              "column": 56
                                            },
                                            "end": {
                                              "line": 509,
                                              "column": 80
                                            }
                                          },
                                          "name": "fromMousePositionToPoint"
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 21411,
                                  "end": 21581,
                                  "loc": {
                                    "start": {
                                      "line": 510,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 512,
                                      "column": 14
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 21415,
                                      "end": 21580,
                                      "loc": {
                                        "start": {
                                          "line": 510,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 512,
                                          "column": 13
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 21415,
                                        "end": 21427,
                                        "loc": {
                                          "start": {
                                            "line": 510,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 510,
                                            "column": 28
                                          }
                                        },
                                        "name": "snappedPoint"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 21430,
                                        "end": 21580,
                                        "loc": {
                                          "start": {
                                            "line": 510,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 512,
                                            "column": 13
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 21430,
                                          "end": 21454,
                                          "loc": {
                                            "start": {
                                              "line": 510,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 510,
                                              "column": 55
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 21430,
                                            "end": 21434,
                                            "loc": {
                                              "start": {
                                                "line": 510,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 510,
                                                "column": 35
                                              }
                                            },
                                            "name": "self"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 21435,
                                            "end": 21454,
                                            "loc": {
                                              "start": {
                                                "line": 510,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 510,
                                                "column": 55
                                              }
                                            },
                                            "name": "getClosestSnapPoint"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 21472,
                                            "end": 21484,
                                            "loc": {
                                              "start": {
                                                "line": 511,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 511,
                                                "column": 28
                                              }
                                            },
                                            "name": "snapPosition"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 21486,
                                            "end": 21497,
                                            "loc": {
                                              "start": {
                                                "line": 511,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 511,
                                                "column": 41
                                              }
                                            },
                                            "name": "maxDistance"
                                          },
                                          {
                                            "type": "ArrowFunctionExpression",
                                            "start": 21499,
                                            "end": 21566,
                                            "loc": {
                                              "start": {
                                                "line": 511,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 511,
                                                "column": 110
                                              }
                                            },
                                            "id": null,
                                            "generator": false,
                                            "expression": true,
                                            "async": false,
                                            "params": [
                                              {
                                                "type": "Identifier",
                                                "start": 21499,
                                                "end": 21502,
                                                "loc": {
                                                  "start": {
                                                    "line": 511,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 511,
                                                    "column": 46
                                                  }
                                                },
                                                "name": "arg"
                                              }
                                            ],
                                            "body": {
                                              "type": "BinaryExpression",
                                              "start": 21506,
                                              "end": 21566,
                                              "loc": {
                                                "start": {
                                                  "line": 511,
                                                  "column": 50
                                                },
                                                "end": {
                                                  "line": 511,
                                                  "column": 110
                                                }
                                              },
                                              "left": {
                                                "type": "CallExpression",
                                                "start": 21506,
                                                "end": 21559,
                                                "loc": {
                                                  "start": {
                                                    "line": 511,
                                                    "column": 50
                                                  },
                                                  "end": {
                                                    "line": 511,
                                                    "column": 103
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 21506,
                                                  "end": 21548,
                                                  "loc": {
                                                    "start": {
                                                      "line": 511,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 511,
                                                      "column": 92
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "CallExpression",
                                                    "start": 21506,
                                                    "end": 21540,
                                                    "loc": {
                                                      "start": {
                                                        "line": 511,
                                                        "column": 50
                                                      },
                                                      "end": {
                                                        "line": 511,
                                                        "column": 84
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 21506,
                                                      "end": 21535,
                                                      "loc": {
                                                        "start": {
                                                          "line": 511,
                                                          "column": 50
                                                        },
                                                        "end": {
                                                          "line": 511,
                                                          "column": 79
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 21506,
                                                        "end": 21512,
                                                        "loc": {
                                                          "start": {
                                                            "line": 511,
                                                            "column": 50
                                                          },
                                                          "end": {
                                                            "line": 511,
                                                            "column": 56
                                                          }
                                                        },
                                                        "name": "Sketch"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 21513,
                                                        "end": 21535,
                                                        "loc": {
                                                          "start": {
                                                            "line": 511,
                                                            "column": 57
                                                          },
                                                          "end": {
                                                            "line": 511,
                                                            "column": 79
                                                          }
                                                        },
                                                        "name": "ForObjectsWithChildren"
                                                      },
                                                      "computed": false
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "Identifier",
                                                        "start": 21536,
                                                        "end": 21539,
                                                        "loc": {
                                                          "start": {
                                                            "line": 511,
                                                            "column": 80
                                                          },
                                                          "end": {
                                                            "line": 511,
                                                            "column": 83
                                                          }
                                                        },
                                                        "name": "arg"
                                                      }
                                                    ]
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 21541,
                                                    "end": 21548,
                                                    "loc": {
                                                      "start": {
                                                        "line": 511,
                                                        "column": 85
                                                      },
                                                      "end": {
                                                        "line": 511,
                                                        "column": 92
                                                      }
                                                    },
                                                    "name": "indexOf"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 21549,
                                                    "end": 21558,
                                                    "loc": {
                                                      "start": {
                                                        "line": 511,
                                                        "column": 93
                                                      },
                                                      "end": {
                                                        "line": 511,
                                                        "column": 102
                                                      }
                                                    },
                                                    "name": "geomPoint"
                                                  }
                                                ]
                                              },
                                              "operator": "!==",
                                              "right": {
                                                "type": "UnaryExpression",
                                                "start": 21564,
                                                "end": 21566,
                                                "loc": {
                                                  "start": {
                                                    "line": 511,
                                                    "column": 108
                                                  },
                                                  "end": {
                                                    "line": 511,
                                                    "column": 110
                                                  }
                                                },
                                                "operator": "-",
                                                "prefix": true,
                                                "argument": {
                                                  "type": "Literal",
                                                  "start": 21565,
                                                  "end": 21566,
                                                  "loc": {
                                                    "start": {
                                                      "line": 511,
                                                      "column": 109
                                                    },
                                                    "end": {
                                                      "line": 511,
                                                      "column": 110
                                                    }
                                                  },
                                                  "value": 1,
                                                  "rawValue": 1,
                                                  "raw": "1"
                                                }
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 21595,
                                  "end": 21895,
                                  "loc": {
                                    "start": {
                                      "line": 514,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 518,
                                      "column": 13
                                    }
                                  },
                                  "test": {
                                    "type": "LogicalExpression",
                                    "start": 21599,
                                    "end": 21671,
                                    "loc": {
                                      "start": {
                                        "line": 514,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 514,
                                        "column": 88
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 21599,
                                      "end": 21621,
                                      "loc": {
                                        "start": {
                                          "line": 514,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 514,
                                          "column": 38
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 21599,
                                        "end": 21611,
                                        "loc": {
                                          "start": {
                                            "line": 514,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 514,
                                            "column": 28
                                          }
                                        },
                                        "name": "snappedPoint"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 21612,
                                        "end": 21621,
                                        "loc": {
                                          "start": {
                                            "line": 514,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 514,
                                            "column": 38
                                          }
                                        },
                                        "name": "isSnapped"
                                      },
                                      "computed": false
                                    },
                                    "operator": "&&",
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 21625,
                                      "end": 21671,
                                      "loc": {
                                        "start": {
                                          "line": 514,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 514,
                                          "column": 88
                                        }
                                      },
                                      "left": {
                                        "type": "CallExpression",
                                        "start": 21625,
                                        "end": 21660,
                                        "loc": {
                                          "start": {
                                            "line": 514,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 514,
                                            "column": 77
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 21625,
                                          "end": 21658,
                                          "loc": {
                                            "start": {
                                              "line": 514,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 514,
                                              "column": 75
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 21625,
                                            "end": 21651,
                                            "loc": {
                                              "start": {
                                                "line": 514,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 514,
                                                "column": 68
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 21625,
                                              "end": 21637,
                                              "loc": {
                                                "start": {
                                                  "line": 514,
                                                  "column": 42
                                                },
                                                "end": {
                                                  "line": 514,
                                                  "column": 54
                                                }
                                              },
                                              "name": "snappedPoint"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 21638,
                                              "end": 21651,
                                              "loc": {
                                                "start": {
                                                  "line": 514,
                                                  "column": 55
                                                },
                                                "end": {
                                                  "line": 514,
                                                  "column": 68
                                                }
                                              },
                                              "name": "snappingShift"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 21652,
                                            "end": 21658,
                                            "loc": {
                                              "start": {
                                                "line": 514,
                                                "column": 69
                                              },
                                              "end": {
                                                "line": 514,
                                                "column": 75
                                              }
                                            },
                                            "name": "length"
                                          },
                                          "computed": false
                                        },
                                        "arguments": []
                                      },
                                      "operator": "<",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 21663,
                                        "end": 21671,
                                        "loc": {
                                          "start": {
                                            "line": 514,
                                            "column": 80
                                          },
                                          "end": {
                                            "line": 514,
                                            "column": 88
                                          }
                                        },
                                        "name": "distance"
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 21673,
                                    "end": 21895,
                                    "loc": {
                                      "start": {
                                        "line": 514,
                                        "column": 90
                                      },
                                      "end": {
                                        "line": 518,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 21691,
                                        "end": 21738,
                                        "loc": {
                                          "start": {
                                            "line": 515,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 515,
                                            "column": 63
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 21691,
                                          "end": 21737,
                                          "loc": {
                                            "start": {
                                              "line": 515,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 515,
                                              "column": 62
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 21691,
                                            "end": 21699,
                                            "loc": {
                                              "start": {
                                                "line": 515,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 515,
                                                "column": 24
                                              }
                                            },
                                            "name": "distance"
                                          },
                                          "right": {
                                            "type": "CallExpression",
                                            "start": 21702,
                                            "end": 21737,
                                            "loc": {
                                              "start": {
                                                "line": 515,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 515,
                                                "column": 62
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 21702,
                                              "end": 21735,
                                              "loc": {
                                                "start": {
                                                  "line": 515,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 515,
                                                  "column": 60
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 21702,
                                                "end": 21728,
                                                "loc": {
                                                  "start": {
                                                    "line": 515,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 515,
                                                    "column": 53
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 21702,
                                                  "end": 21714,
                                                  "loc": {
                                                    "start": {
                                                      "line": 515,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 515,
                                                      "column": 39
                                                    }
                                                  },
                                                  "name": "snappedPoint"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 21715,
                                                  "end": 21728,
                                                  "loc": {
                                                    "start": {
                                                      "line": 515,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 515,
                                                      "column": 53
                                                    }
                                                  },
                                                  "name": "snappingShift"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 21729,
                                                "end": 21735,
                                                "loc": {
                                                  "start": {
                                                    "line": 515,
                                                    "column": 54
                                                  },
                                                  "end": {
                                                    "line": 515,
                                                    "column": 60
                                                  }
                                                },
                                                "name": "length"
                                              },
                                              "computed": false
                                            },
                                            "arguments": []
                                          }
                                        }
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 21755,
                                        "end": 21795,
                                        "loc": {
                                          "start": {
                                            "line": 516,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 516,
                                            "column": 56
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 21755,
                                          "end": 21794,
                                          "loc": {
                                            "start": {
                                              "line": 516,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 516,
                                              "column": 55
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 21755,
                                            "end": 21763,
                                            "loc": {
                                              "start": {
                                                "line": 516,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 516,
                                                "column": 24
                                              }
                                            },
                                            "name": "toReturn"
                                          },
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 21766,
                                            "end": 21794,
                                            "loc": {
                                              "start": {
                                                "line": 516,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 516,
                                                "column": 55
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 21766,
                                              "end": 21778,
                                              "loc": {
                                                "start": {
                                                  "line": 516,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 516,
                                                  "column": 39
                                                }
                                              },
                                              "name": "snappedPoint"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 21779,
                                              "end": 21794,
                                              "loc": {
                                                "start": {
                                                  "line": 516,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 516,
                                                  "column": 55
                                                }
                                              },
                                              "name": "snappedPosition"
                                            },
                                            "computed": false
                                          }
                                        }
                                      },
                                      {
                                        "type": "IfStatement",
                                        "start": 21812,
                                        "end": 21881,
                                        "loc": {
                                          "start": {
                                            "line": 517,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 517,
                                            "column": 85
                                          }
                                        },
                                        "test": {
                                          "type": "UnaryExpression",
                                          "start": 21816,
                                          "end": 21840,
                                          "loc": {
                                            "start": {
                                              "line": 517,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 517,
                                              "column": 44
                                            }
                                          },
                                          "operator": "!",
                                          "prefix": true,
                                          "argument": {
                                            "type": "BinaryExpression",
                                            "start": 21818,
                                            "end": 21839,
                                            "loc": {
                                              "start": {
                                                "line": 517,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 517,
                                                "column": 43
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 21818,
                                              "end": 21821,
                                              "loc": {
                                                "start": {
                                                  "line": 517,
                                                  "column": 22
                                                },
                                                "end": {
                                                  "line": 517,
                                                  "column": 25
                                                }
                                              },
                                              "name": "obj"
                                            },
                                            "operator": "instanceof",
                                            "right": {
                                              "type": "Identifier",
                                              "start": 21834,
                                              "end": 21839,
                                              "loc": {
                                                "start": {
                                                  "line": 517,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 517,
                                                  "column": 43
                                                }
                                              },
                                              "name": "Point"
                                            },
                                            "parenthesizedExpression": true
                                          }
                                        },
                                        "consequent": {
                                          "type": "ExpressionStatement",
                                          "start": 21842,
                                          "end": 21881,
                                          "loc": {
                                            "start": {
                                              "line": 517,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 517,
                                              "column": 85
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 21842,
                                            "end": 21880,
                                            "loc": {
                                              "start": {
                                                "line": 517,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 517,
                                                "column": 84
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 21842,
                                              "end": 21854,
                                              "loc": {
                                                "start": {
                                                  "line": 517,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 517,
                                                  "column": 58
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 21842,
                                                "end": 21850,
                                                "loc": {
                                                  "start": {
                                                    "line": 517,
                                                    "column": 46
                                                  },
                                                  "end": {
                                                    "line": 517,
                                                    "column": 54
                                                  }
                                                },
                                                "name": "toReturn"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 21851,
                                                "end": 21854,
                                                "loc": {
                                                  "start": {
                                                    "line": 517,
                                                    "column": 55
                                                  },
                                                  "end": {
                                                    "line": 517,
                                                    "column": 58
                                                  }
                                                },
                                                "name": "sub"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 21855,
                                                "end": 21879,
                                                "loc": {
                                                  "start": {
                                                    "line": 517,
                                                    "column": 59
                                                  },
                                                  "end": {
                                                    "line": 517,
                                                    "column": 83
                                                  }
                                                },
                                                "name": "fromMousePositionToPoint"
                                              }
                                            ]
                                          }
                                        },
                                        "alternate": null
                                      }
                                    ]
                                  },
                                  "alternate": null
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 21917,
                      "end": 21933,
                      "loc": {
                        "start": {
                          "line": 521,
                          "column": 8
                        },
                        "end": {
                          "line": 521,
                          "column": 24
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 21924,
                        "end": 21932,
                        "loc": {
                          "start": {
                            "line": 521,
                            "column": 15
                          },
                          "end": {
                            "line": 521,
                            "column": 23
                          }
                        },
                        "name": "toReturn"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 21945,
              "end": 22015,
              "loc": {
                "start": {
                  "line": 524,
                  "column": 4
                },
                "end": {
                  "line": 526,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 21945,
                "end": 21959,
                "loc": {
                  "start": {
                    "line": 524,
                    "column": 4
                  },
                  "end": {
                    "line": 524,
                    "column": 18
                  }
                },
                "name": "showDimensions"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 21959,
                "end": 22015,
                "loc": {
                  "start": {
                    "line": 524,
                    "column": 18
                  },
                  "end": {
                    "line": 526,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 21962,
                  "end": 22015,
                  "loc": {
                    "start": {
                      "line": 524,
                      "column": 21
                    },
                    "end": {
                      "line": 526,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 21972,
                      "end": 22009,
                      "loc": {
                        "start": {
                          "line": 525,
                          "column": 8
                        },
                        "end": {
                          "line": 525,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 21972,
                        "end": 22008,
                        "loc": {
                          "start": {
                            "line": 525,
                            "column": 8
                          },
                          "end": {
                            "line": 525,
                            "column": 44
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 21972,
                          "end": 21989,
                          "loc": {
                            "start": {
                              "line": 525,
                              "column": 8
                            },
                            "end": {
                              "line": 525,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 21972,
                            "end": 21976,
                            "loc": {
                              "start": {
                                "line": 525,
                                "column": 8
                              },
                              "end": {
                                "line": 525,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 21977,
                            "end": 21989,
                            "loc": {
                              "start": {
                                "line": 525,
                                "column": 13
                              },
                              "end": {
                                "line": 525,
                                "column": 25
                              }
                            },
                            "name": "addAuxObject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 21990,
                            "end": 22007,
                            "loc": {
                              "start": {
                                "line": 525,
                                "column": 26
                              },
                              "end": {
                                "line": 525,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 21990,
                              "end": 21994,
                              "loc": {
                                "start": {
                                  "line": 525,
                                  "column": 26
                                },
                                "end": {
                                  "line": 525,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 21995,
                              "end": 22007,
                              "loc": {
                                "start": {
                                  "line": 525,
                                  "column": 31
                                },
                                "end": {
                                  "line": 525,
                                  "column": 43
                                }
                              },
                              "name": "__dimensions"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 22021,
              "end": 22094,
              "loc": {
                "start": {
                  "line": 528,
                  "column": 4
                },
                "end": {
                  "line": 530,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 22021,
                "end": 22035,
                "loc": {
                  "start": {
                    "line": 528,
                    "column": 4
                  },
                  "end": {
                    "line": 528,
                    "column": 18
                  }
                },
                "name": "hideDimensions"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 22035,
                "end": 22094,
                "loc": {
                  "start": {
                    "line": 528,
                    "column": 18
                  },
                  "end": {
                    "line": 530,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 22038,
                  "end": 22094,
                  "loc": {
                    "start": {
                      "line": 528,
                      "column": 21
                    },
                    "end": {
                      "line": 530,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 22048,
                      "end": 22088,
                      "loc": {
                        "start": {
                          "line": 529,
                          "column": 8
                        },
                        "end": {
                          "line": 529,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 22048,
                        "end": 22087,
                        "loc": {
                          "start": {
                            "line": 529,
                            "column": 8
                          },
                          "end": {
                            "line": 529,
                            "column": 47
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 22048,
                          "end": 22068,
                          "loc": {
                            "start": {
                              "line": 529,
                              "column": 8
                            },
                            "end": {
                              "line": 529,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 22048,
                            "end": 22052,
                            "loc": {
                              "start": {
                                "line": 529,
                                "column": 8
                              },
                              "end": {
                                "line": 529,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 22053,
                            "end": 22068,
                            "loc": {
                              "start": {
                                "line": 529,
                                "column": 13
                              },
                              "end": {
                                "line": 529,
                                "column": 28
                              }
                            },
                            "name": "removeAuxObject"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 22069,
                            "end": 22086,
                            "loc": {
                              "start": {
                                "line": 529,
                                "column": 29
                              },
                              "end": {
                                "line": 529,
                                "column": 46
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 22069,
                              "end": 22073,
                              "loc": {
                                "start": {
                                  "line": 529,
                                  "column": 29
                                },
                                "end": {
                                  "line": 529,
                                  "column": 33
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 22074,
                              "end": 22086,
                              "loc": {
                                "start": {
                                  "line": 529,
                                  "column": 34
                                },
                                "end": {
                                  "line": 529,
                                  "column": 46
                                }
                              },
                              "name": "__dimensions"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " intercept graphical objects created on the server",
                  "start": 22100,
                  "end": 22152,
                  "loc": {
                    "start": {
                      "line": 532,
                      "column": 4
                    },
                    "end": {
                      "line": 532,
                      "column": 56
                    }
                  },
                  "range": [
                    22100,
                    22152
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 22157,
              "end": 25330,
              "loc": {
                "start": {
                  "line": 533,
                  "column": 4
                },
                "end": {
                  "line": 603,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 22157,
                "end": 22180,
                "loc": {
                  "start": {
                    "line": 533,
                    "column": 4
                  },
                  "end": {
                    "line": 533,
                    "column": 27
                  }
                },
                "name": "updateDimensionsFactory",
                "leadingComments": null
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 22180,
                "end": 25330,
                "loc": {
                  "start": {
                    "line": 533,
                    "column": 27
                  },
                  "end": {
                    "line": 603,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 22181,
                    "end": 22186,
                    "loc": {
                      "start": {
                        "line": 533,
                        "column": 28
                      },
                      "end": {
                        "line": 533,
                        "column": 33
                      }
                    },
                    "name": "input"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 22188,
                  "end": 25330,
                  "loc": {
                    "start": {
                      "line": 533,
                      "column": 35
                    },
                    "end": {
                      "line": 603,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 22198,
                      "end": 22220,
                      "loc": {
                        "start": {
                          "line": 534,
                          "column": 8
                        },
                        "end": {
                          "line": 534,
                          "column": 30
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 22202,
                          "end": 22219,
                          "loc": {
                            "start": {
                              "line": 534,
                              "column": 12
                            },
                            "end": {
                              "line": 534,
                              "column": 29
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 22202,
                            "end": 22206,
                            "loc": {
                              "start": {
                                "line": 534,
                                "column": 12
                              },
                              "end": {
                                "line": 534,
                                "column": 16
                              }
                            },
                            "name": "data"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 22209,
                            "end": 22219,
                            "loc": {
                              "start": {
                                "line": 534,
                                "column": 19
                              },
                              "end": {
                                "line": 534,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 22209,
                              "end": 22214,
                              "loc": {
                                "start": {
                                  "line": 534,
                                  "column": 19
                                },
                                "end": {
                                  "line": 534,
                                  "column": 24
                                }
                              },
                              "name": "input"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 22215,
                              "end": 22219,
                              "loc": {
                                "start": {
                                  "line": 534,
                                  "column": 25
                                },
                                "end": {
                                  "line": 534,
                                  "column": 29
                                }
                              },
                              "name": "data"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 22229,
                      "end": 22294,
                      "loc": {
                        "start": {
                          "line": 535,
                          "column": 8
                        },
                        "end": {
                          "line": 535,
                          "column": 73
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 22233,
                          "end": 22293,
                          "loc": {
                            "start": {
                              "line": 535,
                              "column": 12
                            },
                            "end": {
                              "line": 535,
                              "column": 72
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 22233,
                            "end": 22245,
                            "loc": {
                              "start": {
                                "line": 535,
                                "column": 12
                              },
                              "end": {
                                "line": 535,
                                "column": 24
                              }
                            },
                            "name": "worldToLocal"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 22248,
                            "end": 22293,
                            "loc": {
                              "start": {
                                "line": 535,
                                "column": 27
                              },
                              "end": {
                                "line": 535,
                                "column": 72
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 22248,
                              "end": 22280,
                              "loc": {
                                "start": {
                                  "line": 535,
                                  "column": 27
                                },
                                "end": {
                                  "line": 535,
                                  "column": 59
                                }
                              },
                              "object": {
                                "type": "NewExpression",
                                "start": 22249,
                                "end": 22268,
                                "loc": {
                                  "start": {
                                    "line": 535,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 535,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 22253,
                                  "end": 22266,
                                  "loc": {
                                    "start": {
                                      "line": 535,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 535,
                                      "column": 45
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 22253,
                                    "end": 22258,
                                    "loc": {
                                      "start": {
                                        "line": 535,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 535,
                                        "column": 37
                                      }
                                    },
                                    "name": "THREE"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 22259,
                                    "end": 22266,
                                    "loc": {
                                      "start": {
                                        "line": 535,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 535,
                                        "column": 45
                                      }
                                    },
                                    "name": "Matrix4"
                                  },
                                  "computed": false
                                },
                                "arguments": [],
                                "parenthesizedExpression": true
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 22270,
                                "end": 22280,
                                "loc": {
                                  "start": {
                                    "line": 535,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 535,
                                    "column": 59
                                  }
                                },
                                "name": "getInverse"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 22281,
                                "end": 22292,
                                "loc": {
                                  "start": {
                                    "line": 535,
                                    "column": 60
                                  },
                                  "end": {
                                    "line": 535,
                                    "column": 71
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 22281,
                                  "end": 22285,
                                  "loc": {
                                    "start": {
                                      "line": 535,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 535,
                                      "column": 64
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 22286,
                                  "end": 22292,
                                  "loc": {
                                    "start": {
                                      "line": 535,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 535,
                                      "column": 71
                                    }
                                  },
                                  "name": "matrix"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "SwitchStatement",
                      "start": 22304,
                      "end": 25324,
                      "loc": {
                        "start": {
                          "line": 537,
                          "column": 8
                        },
                        "end": {
                          "line": 602,
                          "column": 9
                        }
                      },
                      "discriminant": {
                        "type": "MemberExpression",
                        "start": 22312,
                        "end": 22322,
                        "loc": {
                          "start": {
                            "line": 537,
                            "column": 16
                          },
                          "end": {
                            "line": 537,
                            "column": 26
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 22312,
                          "end": 22317,
                          "loc": {
                            "start": {
                              "line": 537,
                              "column": 16
                            },
                            "end": {
                              "line": 537,
                              "column": 21
                            }
                          },
                          "name": "input"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 22318,
                          "end": 22322,
                          "loc": {
                            "start": {
                              "line": 537,
                              "column": 22
                            },
                            "end": {
                              "line": 537,
                              "column": 26
                            }
                          },
                          "name": "type"
                        },
                        "computed": false
                      },
                      "cases": [
                        {
                          "type": "SwitchCase",
                          "start": 22338,
                          "end": 23597,
                          "loc": {
                            "start": {
                              "line": 538,
                              "column": 12
                            },
                            "end": {
                              "line": 564,
                              "column": 22
                            }
                          },
                          "consequent": [
                            {
                              "type": "VariableDeclaration",
                              "start": 22417,
                              "end": 22501,
                              "loc": {
                                "start": {
                                  "line": 540,
                                  "column": 16
                                },
                                "end": {
                                  "line": 540,
                                  "column": 100
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 22421,
                                  "end": 22500,
                                  "loc": {
                                    "start": {
                                      "line": 540,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 540,
                                      "column": 99
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 22421,
                                    "end": 22424,
                                    "loc": {
                                      "start": {
                                        "line": 540,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 540,
                                        "column": 23
                                      }
                                    },
                                    "name": "pos",
                                    "leadingComments": null
                                  },
                                  "init": {
                                    "type": "CallExpression",
                                    "start": 22427,
                                    "end": 22500,
                                    "loc": {
                                      "start": {
                                        "line": 540,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 540,
                                        "column": 99
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 22427,
                                      "end": 22486,
                                      "loc": {
                                        "start": {
                                          "line": 540,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 540,
                                          "column": 85
                                        }
                                      },
                                      "object": {
                                        "type": "CallExpression",
                                        "start": 22427,
                                        "end": 22473,
                                        "loc": {
                                          "start": {
                                            "line": 540,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 540,
                                            "column": 72
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 22427,
                                          "end": 22458,
                                          "loc": {
                                            "start": {
                                              "line": 540,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 540,
                                              "column": 57
                                            }
                                          },
                                          "object": {
                                            "type": "NewExpression",
                                            "start": 22428,
                                            "end": 22447,
                                            "loc": {
                                              "start": {
                                                "line": 540,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 540,
                                                "column": 46
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 22432,
                                              "end": 22445,
                                              "loc": {
                                                "start": {
                                                  "line": 540,
                                                  "column": 31
                                                },
                                                "end": {
                                                  "line": 540,
                                                  "column": 44
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 22432,
                                                "end": 22437,
                                                "loc": {
                                                  "start": {
                                                    "line": 540,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 540,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "THREE"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 22438,
                                                "end": 22445,
                                                "loc": {
                                                  "start": {
                                                    "line": 540,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 540,
                                                    "column": 44
                                                  }
                                                },
                                                "name": "Vector3"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [],
                                            "parenthesizedExpression": true
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 22449,
                                            "end": 22458,
                                            "loc": {
                                              "start": {
                                                "line": 540,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 540,
                                                "column": 57
                                              }
                                            },
                                            "name": "fromArray"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "start": 22459,
                                            "end": 22472,
                                            "loc": {
                                              "start": {
                                                "line": 540,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 540,
                                                "column": 71
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 22459,
                                              "end": 22463,
                                              "loc": {
                                                "start": {
                                                  "line": 540,
                                                  "column": 58
                                                },
                                                "end": {
                                                  "line": 540,
                                                  "column": 62
                                                }
                                              },
                                              "name": "data"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 22464,
                                              "end": 22472,
                                              "loc": {
                                                "start": {
                                                  "line": 540,
                                                  "column": 63
                                                },
                                                "end": {
                                                  "line": 540,
                                                  "column": 71
                                                }
                                              },
                                              "name": "position"
                                            },
                                            "computed": false
                                          }
                                        ]
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 22474,
                                        "end": 22486,
                                        "loc": {
                                          "start": {
                                            "line": 540,
                                            "column": 73
                                          },
                                          "end": {
                                            "line": 540,
                                            "column": 85
                                          }
                                        },
                                        "name": "applyMatrix4"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 22487,
                                        "end": 22499,
                                        "loc": {
                                          "start": {
                                            "line": 540,
                                            "column": 86
                                          },
                                          "end": {
                                            "line": 540,
                                            "column": 98
                                          }
                                        },
                                        "name": "worldToLocal"
                                      }
                                    ]
                                  },
                                  "leadingComments": null
                                }
                              ],
                              "kind": "var",
                              "leadingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "transform to sketch coordinates",
                                  "start": 22367,
                                  "end": 22400,
                                  "loc": {
                                    "start": {
                                      "line": 539,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 539,
                                      "column": 49
                                    }
                                  },
                                  "range": [
                                    22367,
                                    22400
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "VariableDeclaration",
                              "start": 22518,
                              "end": 22604,
                              "loc": {
                                "start": {
                                  "line": 541,
                                  "column": 16
                                },
                                "end": {
                                  "line": 541,
                                  "column": 102
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 22522,
                                  "end": 22603,
                                  "loc": {
                                    "start": {
                                      "line": 541,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 541,
                                      "column": 101
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 22522,
                                    "end": 22525,
                                    "loc": {
                                      "start": {
                                        "line": 541,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 541,
                                        "column": 23
                                      }
                                    },
                                    "name": "dir"
                                  },
                                  "init": {
                                    "type": "CallExpression",
                                    "start": 22528,
                                    "end": 22603,
                                    "loc": {
                                      "start": {
                                        "line": 541,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 541,
                                        "column": 101
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 22528,
                                      "end": 22589,
                                      "loc": {
                                        "start": {
                                          "line": 541,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 541,
                                          "column": 87
                                        }
                                      },
                                      "object": {
                                        "type": "CallExpression",
                                        "start": 22528,
                                        "end": 22570,
                                        "loc": {
                                          "start": {
                                            "line": 541,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 541,
                                            "column": 68
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 22528,
                                          "end": 22559,
                                          "loc": {
                                            "start": {
                                              "line": 541,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 541,
                                              "column": 57
                                            }
                                          },
                                          "object": {
                                            "type": "NewExpression",
                                            "start": 22529,
                                            "end": 22548,
                                            "loc": {
                                              "start": {
                                                "line": 541,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 541,
                                                "column": 46
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 22533,
                                              "end": 22546,
                                              "loc": {
                                                "start": {
                                                  "line": 541,
                                                  "column": 31
                                                },
                                                "end": {
                                                  "line": 541,
                                                  "column": 44
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 22533,
                                                "end": 22538,
                                                "loc": {
                                                  "start": {
                                                    "line": 541,
                                                    "column": 31
                                                  },
                                                  "end": {
                                                    "line": 541,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "THREE"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 22539,
                                                "end": 22546,
                                                "loc": {
                                                  "start": {
                                                    "line": 541,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 541,
                                                    "column": 44
                                                  }
                                                },
                                                "name": "Vector3"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [],
                                            "parenthesizedExpression": true
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 22550,
                                            "end": 22559,
                                            "loc": {
                                              "start": {
                                                "line": 541,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 541,
                                                "column": 57
                                              }
                                            },
                                            "name": "fromArray"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "start": 22560,
                                            "end": 22569,
                                            "loc": {
                                              "start": {
                                                "line": 541,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 541,
                                                "column": 67
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 22560,
                                              "end": 22564,
                                              "loc": {
                                                "start": {
                                                  "line": 541,
                                                  "column": 58
                                                },
                                                "end": {
                                                  "line": 541,
                                                  "column": 62
                                                }
                                              },
                                              "name": "data"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 22565,
                                              "end": 22569,
                                              "loc": {
                                                "start": {
                                                  "line": 541,
                                                  "column": 63
                                                },
                                                "end": {
                                                  "line": 541,
                                                  "column": 67
                                                }
                                              },
                                              "name": "axis"
                                            },
                                            "computed": false
                                          }
                                        ]
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 22571,
                                        "end": 22589,
                                        "loc": {
                                          "start": {
                                            "line": 541,
                                            "column": 69
                                          },
                                          "end": {
                                            "line": 541,
                                            "column": 87
                                          }
                                        },
                                        "name": "transformDirection"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 22590,
                                        "end": 22602,
                                        "loc": {
                                          "start": {
                                            "line": 541,
                                            "column": 88
                                          },
                                          "end": {
                                            "line": 541,
                                            "column": 100
                                          }
                                        },
                                        "name": "worldToLocal"
                                      }
                                    ]
                                  }
                                }
                              ],
                              "kind": "var"
                            },
                            {
                              "type": "VariableDeclaration",
                              "start": 22621,
                              "end": 22647,
                              "loc": {
                                "start": {
                                  "line": 542,
                                  "column": 16
                                },
                                "end": {
                                  "line": 542,
                                  "column": 42
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 22625,
                                  "end": 22646,
                                  "loc": {
                                    "start": {
                                      "line": 542,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 542,
                                      "column": 41
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 22625,
                                    "end": 22631,
                                    "loc": {
                                      "start": {
                                        "line": 542,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 542,
                                        "column": 26
                                      }
                                    },
                                    "name": "height"
                                  },
                                  "init": {
                                    "type": "CallExpression",
                                    "start": 22634,
                                    "end": 22646,
                                    "loc": {
                                      "start": {
                                        "line": 542,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 542,
                                        "column": 41
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 22634,
                                      "end": 22644,
                                      "loc": {
                                        "start": {
                                          "line": 542,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 542,
                                          "column": 39
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 22634,
                                        "end": 22637,
                                        "loc": {
                                          "start": {
                                            "line": 542,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 542,
                                            "column": 32
                                          }
                                        },
                                        "name": "dir"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 22638,
                                        "end": 22644,
                                        "loc": {
                                          "start": {
                                            "line": 542,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 542,
                                            "column": 39
                                          }
                                        },
                                        "name": "length"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                }
                              ],
                              "kind": "var"
                            },
                            {
                              "type": "VariableDeclaration",
                              "start": 22664,
                              "end": 22722,
                              "loc": {
                                "start": {
                                  "line": 543,
                                  "column": 16
                                },
                                "end": {
                                  "line": 543,
                                  "column": 74
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 22668,
                                  "end": 22721,
                                  "loc": {
                                    "start": {
                                      "line": 543,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 543,
                                      "column": 73
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 22668,
                                    "end": 22672,
                                    "loc": {
                                      "start": {
                                        "line": 543,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 543,
                                        "column": 24
                                      }
                                    },
                                    "name": "diam"
                                  },
                                  "init": {
                                    "type": "CallExpression",
                                    "start": 22675,
                                    "end": 22721,
                                    "loc": {
                                      "start": {
                                        "line": 543,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 543,
                                        "column": 73
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 22675,
                                      "end": 22683,
                                      "loc": {
                                        "start": {
                                          "line": 543,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 543,
                                          "column": 35
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 22675,
                                        "end": 22679,
                                        "loc": {
                                          "start": {
                                            "line": 543,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 543,
                                            "column": 31
                                          }
                                        },
                                        "name": "Math"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 22680,
                                        "end": 22683,
                                        "loc": {
                                          "start": {
                                            "line": 543,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 543,
                                            "column": 35
                                          }
                                        },
                                        "name": "max"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 22684,
                                        "end": 22701,
                                        "loc": {
                                          "start": {
                                            "line": 543,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 543,
                                            "column": 53
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 22684,
                                          "end": 22698,
                                          "loc": {
                                            "start": {
                                              "line": 543,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 543,
                                              "column": 50
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 22684,
                                            "end": 22688,
                                            "loc": {
                                              "start": {
                                                "line": 543,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 543,
                                                "column": 40
                                              }
                                            },
                                            "name": "data"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 22689,
                                            "end": 22698,
                                            "loc": {
                                              "start": {
                                                "line": 543,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 543,
                                                "column": 50
                                              }
                                            },
                                            "name": "diameters"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 22699,
                                          "end": 22700,
                                          "loc": {
                                            "start": {
                                              "line": 543,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 543,
                                              "column": 52
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "computed": true
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "start": 22703,
                                        "end": 22720,
                                        "loc": {
                                          "start": {
                                            "line": 543,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 543,
                                            "column": 72
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 22703,
                                          "end": 22717,
                                          "loc": {
                                            "start": {
                                              "line": 543,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 543,
                                              "column": 69
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 22703,
                                            "end": 22707,
                                            "loc": {
                                              "start": {
                                                "line": 543,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 543,
                                                "column": 59
                                              }
                                            },
                                            "name": "data"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 22708,
                                            "end": 22717,
                                            "loc": {
                                              "start": {
                                                "line": 543,
                                                "column": 60
                                              },
                                              "end": {
                                                "line": 543,
                                                "column": 69
                                              }
                                            },
                                            "name": "diameters"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 22718,
                                          "end": 22719,
                                          "loc": {
                                            "start": {
                                              "line": 543,
                                              "column": 70
                                            },
                                            "end": {
                                              "line": 543,
                                              "column": 71
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "computed": true
                                      }
                                    ]
                                  }
                                }
                              ],
                              "kind": "var",
                              "trailingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "create two-sided arrow",
                                  "start": 22740,
                                  "end": 22764,
                                  "loc": {
                                    "start": {
                                      "line": 545,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 545,
                                      "column": 40
                                    }
                                  },
                                  "range": [
                                    22740,
                                    22764
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "VariableDeclaration",
                              "start": 22781,
                              "end": 22813,
                              "loc": {
                                "start": {
                                  "line": 546,
                                  "column": 16
                                },
                                "end": {
                                  "line": 546,
                                  "column": 48
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 22785,
                                  "end": 22812,
                                  "loc": {
                                    "start": {
                                      "line": 546,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 546,
                                      "column": 47
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 22785,
                                    "end": 22789,
                                    "loc": {
                                      "start": {
                                        "line": 546,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 546,
                                        "column": 24
                                      }
                                    },
                                    "name": "geom",
                                    "leadingComments": null
                                  },
                                  "init": {
                                    "type": "NewExpression",
                                    "start": 22792,
                                    "end": 22812,
                                    "loc": {
                                      "start": {
                                        "line": 546,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 546,
                                        "column": 47
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 22796,
                                      "end": 22810,
                                      "loc": {
                                        "start": {
                                          "line": 546,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 546,
                                          "column": 45
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 22796,
                                        "end": 22801,
                                        "loc": {
                                          "start": {
                                            "line": 546,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 546,
                                            "column": 36
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 22802,
                                        "end": 22810,
                                        "loc": {
                                          "start": {
                                            "line": 546,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 546,
                                            "column": 45
                                          }
                                        },
                                        "name": "Geometry"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "leadingComments": null
                                }
                              ],
                              "kind": "var",
                              "leadingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "create two-sided arrow",
                                  "start": 22740,
                                  "end": 22764,
                                  "loc": {
                                    "start": {
                                      "line": 545,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 545,
                                      "column": 40
                                    }
                                  },
                                  "range": [
                                    22740,
                                    22764
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 22830,
                              "end": 23062,
                              "loc": {
                                "start": {
                                  "line": 547,
                                  "column": 16
                                },
                                "end": {
                                  "line": 551,
                                  "column": 18
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 22830,
                                "end": 23061,
                                "loc": {
                                  "start": {
                                    "line": 547,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 551,
                                    "column": 17
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 22830,
                                  "end": 22848,
                                  "loc": {
                                    "start": {
                                      "line": 547,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 547,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 22830,
                                    "end": 22843,
                                    "loc": {
                                      "start": {
                                        "line": 547,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 547,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 22830,
                                      "end": 22834,
                                      "loc": {
                                        "start": {
                                          "line": 547,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 547,
                                          "column": 20
                                        }
                                      },
                                      "name": "geom"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 22835,
                                      "end": 22843,
                                      "loc": {
                                        "start": {
                                          "line": 547,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 547,
                                          "column": 29
                                        }
                                      },
                                      "name": "vertices"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 22844,
                                    "end": 22848,
                                    "loc": {
                                      "start": {
                                        "line": 547,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 547,
                                        "column": 34
                                      }
                                    },
                                    "name": "push"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "start": 22876,
                                    "end": 22913,
                                    "loc": {
                                      "start": {
                                        "line": 548,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 548,
                                        "column": 63
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 22880,
                                      "end": 22893,
                                      "loc": {
                                        "start": {
                                          "line": 548,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 548,
                                          "column": 43
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 22880,
                                        "end": 22885,
                                        "loc": {
                                          "start": {
                                            "line": 548,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 548,
                                            "column": 35
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 22886,
                                        "end": 22893,
                                        "loc": {
                                          "start": {
                                            "line": 548,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 548,
                                            "column": 43
                                          }
                                        },
                                        "name": "Vector3"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 22894,
                                        "end": 22900,
                                        "loc": {
                                          "start": {
                                            "line": 548,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 548,
                                            "column": 50
                                          }
                                        },
                                        "name": "height"
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 22902,
                                        "end": 22909,
                                        "loc": {
                                          "start": {
                                            "line": 548,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 548,
                                            "column": 59
                                          }
                                        },
                                        "left": {
                                          "type": "UnaryExpression",
                                          "start": 22902,
                                          "end": 22907,
                                          "loc": {
                                            "start": {
                                              "line": 548,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 548,
                                              "column": 57
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "Identifier",
                                            "start": 22903,
                                            "end": 22907,
                                            "loc": {
                                              "start": {
                                                "line": 548,
                                                "column": 53
                                              },
                                              "end": {
                                                "line": 548,
                                                "column": 57
                                              }
                                            },
                                            "name": "diam"
                                          }
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 22908,
                                          "end": 22909,
                                          "loc": {
                                            "start": {
                                              "line": 548,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 548,
                                              "column": 59
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 22911,
                                        "end": 22912,
                                        "loc": {
                                          "start": {
                                            "line": 548,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 548,
                                            "column": 62
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "NewExpression",
                                    "start": 22941,
                                    "end": 22978,
                                    "loc": {
                                      "start": {
                                        "line": 549,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 549,
                                        "column": 63
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 22945,
                                      "end": 22958,
                                      "loc": {
                                        "start": {
                                          "line": 549,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 549,
                                          "column": 43
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 22945,
                                        "end": 22950,
                                        "loc": {
                                          "start": {
                                            "line": 549,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 549,
                                            "column": 35
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 22951,
                                        "end": 22958,
                                        "loc": {
                                          "start": {
                                            "line": 549,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 549,
                                            "column": 43
                                          }
                                        },
                                        "name": "Vector3"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 22959,
                                        "end": 22965,
                                        "loc": {
                                          "start": {
                                            "line": 549,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 549,
                                            "column": 50
                                          }
                                        },
                                        "name": "height"
                                      },
                                      {
                                        "type": "BinaryExpression",
                                        "start": 22968,
                                        "end": 22974,
                                        "loc": {
                                          "start": {
                                            "line": 549,
                                            "column": 53
                                          },
                                          "end": {
                                            "line": 549,
                                            "column": 59
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 22968,
                                          "end": 22972,
                                          "loc": {
                                            "start": {
                                              "line": 549,
                                              "column": 53
                                            },
                                            "end": {
                                              "line": 549,
                                              "column": 57
                                            }
                                          },
                                          "name": "diam"
                                        },
                                        "operator": "/",
                                        "right": {
                                          "type": "Literal",
                                          "start": 22973,
                                          "end": 22974,
                                          "loc": {
                                            "start": {
                                              "line": 549,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 549,
                                              "column": 59
                                            }
                                          },
                                          "value": 2,
                                          "rawValue": 2,
                                          "raw": "2"
                                        }
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 22976,
                                        "end": 22977,
                                        "loc": {
                                          "start": {
                                            "line": 549,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 549,
                                            "column": 62
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "NewExpression",
                                    "start": 23006,
                                    "end": 23043,
                                    "loc": {
                                      "start": {
                                        "line": 550,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 550,
                                        "column": 63
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 23010,
                                      "end": 23023,
                                      "loc": {
                                        "start": {
                                          "line": 550,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 550,
                                          "column": 43
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 23010,
                                        "end": 23015,
                                        "loc": {
                                          "start": {
                                            "line": 550,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 550,
                                            "column": 35
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 23016,
                                        "end": 23023,
                                        "loc": {
                                          "start": {
                                            "line": 550,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 550,
                                            "column": 43
                                          }
                                        },
                                        "name": "Vector3"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 23029,
                                        "end": 23030,
                                        "loc": {
                                          "start": {
                                            "line": 550,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 550,
                                            "column": 50
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 23038,
                                        "end": 23039,
                                        "loc": {
                                          "start": {
                                            "line": 550,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 550,
                                            "column": 59
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 23041,
                                        "end": 23042,
                                        "loc": {
                                          "start": {
                                            "line": 550,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 550,
                                            "column": 62
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      }
                                    ]
                                  }
                                ]
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 23079,
                              "end": 23205,
                              "loc": {
                                "start": {
                                  "line": 552,
                                  "column": 16
                                },
                                "end": {
                                  "line": 555,
                                  "column": 18
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 23079,
                                "end": 23204,
                                "loc": {
                                  "start": {
                                    "line": 552,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 555,
                                    "column": 17
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 23079,
                                  "end": 23094,
                                  "loc": {
                                    "start": {
                                      "line": 552,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 552,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 23079,
                                    "end": 23089,
                                    "loc": {
                                      "start": {
                                        "line": 552,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 552,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 23079,
                                      "end": 23083,
                                      "loc": {
                                        "start": {
                                          "line": 552,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 552,
                                          "column": 20
                                        }
                                      },
                                      "name": "geom"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 23084,
                                      "end": 23089,
                                      "loc": {
                                        "start": {
                                          "line": 552,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 552,
                                          "column": 26
                                        }
                                      },
                                      "name": "faces"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 23090,
                                    "end": 23094,
                                    "loc": {
                                      "start": {
                                        "line": 552,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 552,
                                        "column": 31
                                      }
                                    },
                                    "name": "push"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "start": 23116,
                                    "end": 23140,
                                    "loc": {
                                      "start": {
                                        "line": 553,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 553,
                                        "column": 44
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 23120,
                                      "end": 23131,
                                      "loc": {
                                        "start": {
                                          "line": 553,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 553,
                                          "column": 35
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 23120,
                                        "end": 23125,
                                        "loc": {
                                          "start": {
                                            "line": 553,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 553,
                                            "column": 29
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 23126,
                                        "end": 23131,
                                        "loc": {
                                          "start": {
                                            "line": 553,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 553,
                                            "column": 35
                                          }
                                        },
                                        "name": "Face3"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 23132,
                                        "end": 23133,
                                        "loc": {
                                          "start": {
                                            "line": 553,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 553,
                                            "column": 37
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 23135,
                                        "end": 23136,
                                        "loc": {
                                          "start": {
                                            "line": 553,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 553,
                                            "column": 40
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 23138,
                                        "end": 23139,
                                        "loc": {
                                          "start": {
                                            "line": 553,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 553,
                                            "column": 43
                                          }
                                        },
                                        "value": 2,
                                        "rawValue": 2,
                                        "raw": "2"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "NewExpression",
                                    "start": 23162,
                                    "end": 23186,
                                    "loc": {
                                      "start": {
                                        "line": 554,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 554,
                                        "column": 44
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 23166,
                                      "end": 23177,
                                      "loc": {
                                        "start": {
                                          "line": 554,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 554,
                                          "column": 35
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 23166,
                                        "end": 23171,
                                        "loc": {
                                          "start": {
                                            "line": 554,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 554,
                                            "column": 29
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 23172,
                                        "end": 23177,
                                        "loc": {
                                          "start": {
                                            "line": 554,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 554,
                                            "column": 35
                                          }
                                        },
                                        "name": "Face3"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 23178,
                                        "end": 23179,
                                        "loc": {
                                          "start": {
                                            "line": 554,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 554,
                                            "column": 37
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 23181,
                                        "end": 23182,
                                        "loc": {
                                          "start": {
                                            "line": 554,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 554,
                                            "column": 40
                                          }
                                        },
                                        "value": 2,
                                        "rawValue": 2,
                                        "raw": "2"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 23184,
                                        "end": 23185,
                                        "loc": {
                                          "start": {
                                            "line": 554,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 554,
                                            "column": 43
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      }
                                    ]
                                  }
                                ]
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 23222,
                              "end": 23248,
                              "loc": {
                                "start": {
                                  "line": 556,
                                  "column": 16
                                },
                                "end": {
                                  "line": 556,
                                  "column": 42
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 23222,
                                "end": 23247,
                                "loc": {
                                  "start": {
                                    "line": 556,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 556,
                                    "column": 41
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 23222,
                                  "end": 23245,
                                  "loc": {
                                    "start": {
                                      "line": 556,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 556,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 23222,
                                    "end": 23226,
                                    "loc": {
                                      "start": {
                                        "line": 556,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 556,
                                        "column": 20
                                      }
                                    },
                                    "name": "geom"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 23227,
                                    "end": 23245,
                                    "loc": {
                                      "start": {
                                        "line": 556,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 556,
                                        "column": 39
                                      }
                                    },
                                    "name": "computeFaceNormals"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "start": 23266,
                              "end": 23346,
                              "loc": {
                                "start": {
                                  "line": 558,
                                  "column": 16
                                },
                                "end": {
                                  "line": 558,
                                  "column": 96
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 23270,
                                  "end": 23345,
                                  "loc": {
                                    "start": {
                                      "line": 558,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 558,
                                      "column": 95
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 23270,
                                    "end": 23274,
                                    "loc": {
                                      "start": {
                                        "line": 558,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 558,
                                        "column": 24
                                      }
                                    },
                                    "name": "mesh"
                                  },
                                  "init": {
                                    "type": "NewExpression",
                                    "start": 23277,
                                    "end": 23345,
                                    "loc": {
                                      "start": {
                                        "line": 558,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 558,
                                        "column": 95
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 23281,
                                      "end": 23291,
                                      "loc": {
                                        "start": {
                                          "line": 558,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 558,
                                          "column": 41
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 23281,
                                        "end": 23286,
                                        "loc": {
                                          "start": {
                                            "line": 558,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 558,
                                            "column": 36
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 23287,
                                        "end": 23291,
                                        "loc": {
                                          "start": {
                                            "line": 558,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 558,
                                            "column": 41
                                          }
                                        },
                                        "name": "Mesh"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 23292,
                                        "end": 23296,
                                        "loc": {
                                          "start": {
                                            "line": 558,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 558,
                                            "column": 46
                                          }
                                        },
                                        "name": "geom"
                                      },
                                      {
                                        "type": "NewExpression",
                                        "start": 23298,
                                        "end": 23344,
                                        "loc": {
                                          "start": {
                                            "line": 558,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 558,
                                            "column": 94
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 23302,
                                          "end": 23325,
                                          "loc": {
                                            "start": {
                                              "line": 558,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 558,
                                              "column": 75
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 23302,
                                            "end": 23307,
                                            "loc": {
                                              "start": {
                                                "line": 558,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 558,
                                                "column": 57
                                              }
                                            },
                                            "name": "THREE"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 23308,
                                            "end": 23325,
                                            "loc": {
                                              "start": {
                                                "line": 558,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 558,
                                                "column": 75
                                              }
                                            },
                                            "name": "MeshBasicMaterial"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ObjectExpression",
                                            "start": 23326,
                                            "end": 23343,
                                            "loc": {
                                              "start": {
                                                "line": 558,
                                                "column": 76
                                              },
                                              "end": {
                                                "line": 558,
                                                "column": 93
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "start": 23327,
                                                "end": 23342,
                                                "loc": {
                                                  "start": {
                                                    "line": 558,
                                                    "column": 77
                                                  },
                                                  "end": {
                                                    "line": 558,
                                                    "column": 92
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 23327,
                                                  "end": 23332,
                                                  "loc": {
                                                    "start": {
                                                      "line": 558,
                                                      "column": 77
                                                    },
                                                    "end": {
                                                      "line": 558,
                                                      "column": 82
                                                    }
                                                  },
                                                  "name": "color"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 23334,
                                                  "end": 23342,
                                                  "loc": {
                                                    "start": {
                                                      "line": 558,
                                                      "column": 84
                                                    },
                                                    "end": {
                                                      "line": 558,
                                                      "column": 92
                                                    }
                                                  },
                                                  "value": 8388479,
                                                  "rawValue": 8388479,
                                                  "raw": "0x7fff7f"
                                                },
                                                "kind": "init"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                }
                              ],
                              "kind": "var",
                              "trailingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "set position and orientation of arrow",
                                  "start": 23363,
                                  "end": 23402,
                                  "loc": {
                                    "start": {
                                      "line": 559,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 559,
                                      "column": 55
                                    }
                                  },
                                  "range": [
                                    23363,
                                    23402
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 23419,
                              "end": 23443,
                              "loc": {
                                "start": {
                                  "line": 560,
                                  "column": 16
                                },
                                "end": {
                                  "line": 560,
                                  "column": 40
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 23419,
                                "end": 23442,
                                "loc": {
                                  "start": {
                                    "line": 560,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 560,
                                    "column": 39
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 23419,
                                  "end": 23437,
                                  "loc": {
                                    "start": {
                                      "line": 560,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 560,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 23419,
                                    "end": 23432,
                                    "loc": {
                                      "start": {
                                        "line": 560,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 560,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 23419,
                                      "end": 23423,
                                      "loc": {
                                        "start": {
                                          "line": 560,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 560,
                                          "column": 20
                                        }
                                      },
                                      "name": "mesh",
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 23424,
                                      "end": 23432,
                                      "loc": {
                                        "start": {
                                          "line": 560,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 560,
                                          "column": 29
                                        }
                                      },
                                      "name": "position"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 23433,
                                    "end": 23437,
                                    "loc": {
                                      "start": {
                                        "line": 560,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 560,
                                        "column": 34
                                      }
                                    },
                                    "name": "copy"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 23438,
                                    "end": 23441,
                                    "loc": {
                                      "start": {
                                        "line": 560,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 560,
                                        "column": 38
                                      }
                                    },
                                    "name": "pos"
                                  }
                                ],
                                "leadingComments": null
                              },
                              "leadingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "set position and orientation of arrow",
                                  "start": 23363,
                                  "end": 23402,
                                  "loc": {
                                    "start": {
                                      "line": 559,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 559,
                                      "column": 55
                                    }
                                  },
                                  "range": [
                                    23363,
                                    23402
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 23460,
                              "end": 23528,
                              "loc": {
                                "start": {
                                  "line": 561,
                                  "column": 16
                                },
                                "end": {
                                  "line": 561,
                                  "column": 84
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 23460,
                                "end": 23527,
                                "loc": {
                                  "start": {
                                    "line": 561,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 561,
                                    "column": 83
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 23460,
                                  "end": 23494,
                                  "loc": {
                                    "start": {
                                      "line": 561,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 561,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 23460,
                                    "end": 23475,
                                    "loc": {
                                      "start": {
                                        "line": 561,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 561,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 23460,
                                      "end": 23464,
                                      "loc": {
                                        "start": {
                                          "line": 561,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 561,
                                          "column": 20
                                        }
                                      },
                                      "name": "mesh"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 23465,
                                      "end": 23475,
                                      "loc": {
                                        "start": {
                                          "line": 561,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 561,
                                          "column": 31
                                        }
                                      },
                                      "name": "quaternion"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 23476,
                                    "end": 23494,
                                    "loc": {
                                      "start": {
                                        "line": 561,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 561,
                                        "column": 50
                                      }
                                    },
                                    "name": "setFromUnitVectors"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "start": 23495,
                                    "end": 23521,
                                    "loc": {
                                      "start": {
                                        "line": 561,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 561,
                                        "column": 77
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 23499,
                                      "end": 23512,
                                      "loc": {
                                        "start": {
                                          "line": 561,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 561,
                                          "column": 68
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 23499,
                                        "end": 23504,
                                        "loc": {
                                          "start": {
                                            "line": 561,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 561,
                                            "column": 60
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 23505,
                                        "end": 23512,
                                        "loc": {
                                          "start": {
                                            "line": 561,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 561,
                                            "column": 68
                                          }
                                        },
                                        "name": "Vector3"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 23513,
                                        "end": 23514,
                                        "loc": {
                                          "start": {
                                            "line": 561,
                                            "column": 69
                                          },
                                          "end": {
                                            "line": 561,
                                            "column": 70
                                          }
                                        },
                                        "value": 1,
                                        "rawValue": 1,
                                        "raw": "1"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 23516,
                                        "end": 23517,
                                        "loc": {
                                          "start": {
                                            "line": 561,
                                            "column": 72
                                          },
                                          "end": {
                                            "line": 561,
                                            "column": 73
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 23519,
                                        "end": 23520,
                                        "loc": {
                                          "start": {
                                            "line": 561,
                                            "column": 75
                                          },
                                          "end": {
                                            "line": 561,
                                            "column": 76
                                          }
                                        },
                                        "value": 0,
                                        "rawValue": 0,
                                        "raw": "0"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 23523,
                                    "end": 23526,
                                    "loc": {
                                      "start": {
                                        "line": 561,
                                        "column": 79
                                      },
                                      "end": {
                                        "line": 561,
                                        "column": 82
                                      }
                                    },
                                    "name": "dir"
                                  }
                                ]
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 23546,
                              "end": 23574,
                              "loc": {
                                "start": {
                                  "line": 563,
                                  "column": 16
                                },
                                "end": {
                                  "line": 563,
                                  "column": 44
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 23546,
                                "end": 23573,
                                "loc": {
                                  "start": {
                                    "line": 563,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 563,
                                    "column": 43
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 23546,
                                  "end": 23567,
                                  "loc": {
                                    "start": {
                                      "line": 563,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 563,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 23546,
                                    "end": 23563,
                                    "loc": {
                                      "start": {
                                        "line": 563,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 563,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 23546,
                                      "end": 23550,
                                      "loc": {
                                        "start": {
                                          "line": 563,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 563,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 23551,
                                      "end": 23563,
                                      "loc": {
                                        "start": {
                                          "line": 563,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 563,
                                          "column": 33
                                        }
                                      },
                                      "name": "__dimensions"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 23564,
                                    "end": 23567,
                                    "loc": {
                                      "start": {
                                        "line": 563,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 563,
                                        "column": 37
                                      }
                                    },
                                    "name": "add"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 23568,
                                    "end": 23572,
                                    "loc": {
                                      "start": {
                                        "line": 563,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 563,
                                        "column": 42
                                      }
                                    },
                                    "name": "mesh"
                                  }
                                ]
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "start": 23591,
                              "end": 23597,
                              "loc": {
                                "start": {
                                  "line": 564,
                                  "column": 16
                                },
                                "end": {
                                  "line": 564,
                                  "column": 22
                                }
                              },
                              "label": null
                            }
                          ],
                          "test": {
                            "type": "Literal",
                            "start": 22343,
                            "end": 22349,
                            "loc": {
                              "start": {
                                "line": 538,
                                "column": 17
                              },
                              "end": {
                                "line": 538,
                                "column": 23
                              }
                            },
                            "value": "Cone",
                            "rawValue": "Cone",
                            "raw": "'Cone'"
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "start": 23611,
                          "end": 25083,
                          "loc": {
                            "start": {
                              "line": 566,
                              "column": 12
                            },
                            "end": {
                              "line": 595,
                              "column": 22
                            }
                          },
                          "consequent": [
                            {
                              "type": "IfStatement",
                              "start": 23640,
                              "end": 23668,
                              "loc": {
                                "start": {
                                  "line": 567,
                                  "column": 16
                                },
                                "end": {
                                  "line": 567,
                                  "column": 44
                                }
                              },
                              "test": {
                                "type": "BinaryExpression",
                                "start": 23644,
                                "end": 23660,
                                "loc": {
                                  "start": {
                                    "line": 567,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 567,
                                    "column": 36
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 23644,
                                  "end": 23653,
                                  "loc": {
                                    "start": {
                                      "line": 567,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 567,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 23644,
                                    "end": 23648,
                                    "loc": {
                                      "start": {
                                        "line": 567,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 567,
                                        "column": 24
                                      }
                                    },
                                    "name": "data"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 23649,
                                    "end": 23653,
                                    "loc": {
                                      "start": {
                                        "line": 567,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 567,
                                        "column": 29
                                      }
                                    },
                                    "name": "text"
                                  },
                                  "computed": false
                                },
                                "operator": "==",
                                "right": {
                                  "type": "Literal",
                                  "start": 23657,
                                  "end": 23660,
                                  "loc": {
                                    "start": {
                                      "line": 567,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 567,
                                      "column": 36
                                    }
                                  },
                                  "value": "@",
                                  "rawValue": "@",
                                  "raw": "'@'"
                                }
                              },
                              "consequent": {
                                "type": "BreakStatement",
                                "start": 23662,
                                "end": 23668,
                                "loc": {
                                  "start": {
                                    "line": 567,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 567,
                                    "column": 44
                                  }
                                },
                                "label": null,
                                "leadingComments": null,
                                "trailingComments": null
                              },
                              "alternate": null,
                              "trailingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "no idea why this trash comes",
                                  "start": 23669,
                                  "end": 23699,
                                  "loc": {
                                    "start": {
                                      "line": 567,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 567,
                                      "column": 75
                                    }
                                  },
                                  "range": [
                                    23669,
                                    23699
                                  ]
                                },
                                {
                                  "type": "CommentLine",
                                  "value": "note: only following types of text are properly supported:",
                                  "start": 23716,
                                  "end": 23776,
                                  "loc": {
                                    "start": {
                                      "line": 568,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 568,
                                      "column": 76
                                    }
                                  },
                                  "range": [
                                    23716,
                                    23776
                                  ]
                                },
                                {
                                  "type": "CommentLine",
                                  "value": "  textType  = 1   (screen-oriented, fixed-sized text)",
                                  "start": 23793,
                                  "end": 23848,
                                  "loc": {
                                    "start": {
                                      "line": 569,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 569,
                                      "column": 71
                                    }
                                  },
                                  "range": [
                                    23793,
                                    23848
                                  ]
                                },
                                {
                                  "type": "CommentLine",
                                  "value": "  alignment = 0   (left/baseline-aligned text)",
                                  "start": 23865,
                                  "end": 23913,
                                  "loc": {
                                    "start": {
                                      "line": 570,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 570,
                                      "column": 64
                                    }
                                  },
                                  "range": [
                                    23865,
                                    23913
                                  ]
                                },
                                {
                                  "type": "CommentLine",
                                  "value": "create 3D text",
                                  "start": 23931,
                                  "end": 23947,
                                  "loc": {
                                    "start": {
                                      "line": 572,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 572,
                                      "column": 32
                                    }
                                  },
                                  "range": [
                                    23931,
                                    23947
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "VariableDeclaration",
                              "start": 23964,
                              "end": 24024,
                              "loc": {
                                "start": {
                                  "line": 573,
                                  "column": 16
                                },
                                "end": {
                                  "line": 573,
                                  "column": 76
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 23968,
                                  "end": 24023,
                                  "loc": {
                                    "start": {
                                      "line": 573,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 573,
                                      "column": 75
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 23968,
                                    "end": 23974,
                                    "loc": {
                                      "start": {
                                        "line": 573,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 573,
                                        "column": 26
                                      }
                                    },
                                    "name": "params",
                                    "leadingComments": null
                                  },
                                  "init": {
                                    "type": "ObjectExpression",
                                    "start": 23977,
                                    "end": 24023,
                                    "loc": {
                                      "start": {
                                        "line": 573,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 573,
                                        "column": 75
                                      }
                                    },
                                    "properties": [
                                      {
                                        "type": "Property",
                                        "start": 23978,
                                        "end": 23985,
                                        "loc": {
                                          "start": {
                                            "line": 573,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 573,
                                            "column": 37
                                          }
                                        },
                                        "method": false,
                                        "shorthand": false,
                                        "computed": false,
                                        "key": {
                                          "type": "Identifier",
                                          "start": 23978,
                                          "end": 23982,
                                          "loc": {
                                            "start": {
                                              "line": 573,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 573,
                                              "column": 34
                                            }
                                          },
                                          "name": "size"
                                        },
                                        "value": {
                                          "type": "Literal",
                                          "start": 23984,
                                          "end": 23985,
                                          "loc": {
                                            "start": {
                                              "line": 573,
                                              "column": 36
                                            },
                                            "end": {
                                              "line": 573,
                                              "column": 37
                                            }
                                          },
                                          "value": 1,
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "kind": "init"
                                      },
                                      {
                                        "type": "Property",
                                        "start": 23987,
                                        "end": 23996,
                                        "loc": {
                                          "start": {
                                            "line": 573,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 573,
                                            "column": 48
                                          }
                                        },
                                        "method": false,
                                        "shorthand": false,
                                        "computed": false,
                                        "key": {
                                          "type": "Identifier",
                                          "start": 23987,
                                          "end": 23993,
                                          "loc": {
                                            "start": {
                                              "line": 573,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 573,
                                              "column": 45
                                            }
                                          },
                                          "name": "height"
                                        },
                                        "value": {
                                          "type": "Literal",
                                          "start": 23995,
                                          "end": 23996,
                                          "loc": {
                                            "start": {
                                              "line": 573,
                                              "column": 47
                                            },
                                            "end": {
                                              "line": 573,
                                              "column": 48
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "kind": "init"
                                      },
                                      {
                                        "type": "Property",
                                        "start": 23998,
                                        "end": 24022,
                                        "loc": {
                                          "start": {
                                            "line": 573,
                                            "column": 50
                                          },
                                          "end": {
                                            "line": 573,
                                            "column": 74
                                          }
                                        },
                                        "method": false,
                                        "shorthand": false,
                                        "computed": false,
                                        "key": {
                                          "type": "Identifier",
                                          "start": 23998,
                                          "end": 24002,
                                          "loc": {
                                            "start": {
                                              "line": 573,
                                              "column": 50
                                            },
                                            "end": {
                                              "line": 573,
                                              "column": 54
                                            }
                                          },
                                          "name": "font"
                                        },
                                        "value": {
                                          "type": "MemberExpression",
                                          "start": 24004,
                                          "end": 24022,
                                          "loc": {
                                            "start": {
                                              "line": 573,
                                              "column": 56
                                            },
                                            "end": {
                                              "line": 573,
                                              "column": 74
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 24004,
                                            "end": 24017,
                                            "loc": {
                                              "start": {
                                                "line": 573,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 573,
                                                "column": 69
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 24004,
                                              "end": 24008,
                                              "loc": {
                                                "start": {
                                                  "line": 573,
                                                  "column": 56
                                                },
                                                "end": {
                                                  "line": 573,
                                                  "column": 60
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 24009,
                                              "end": 24017,
                                              "loc": {
                                                "start": {
                                                  "line": 573,
                                                  "column": 61
                                                },
                                                "end": {
                                                  "line": 573,
                                                  "column": 69
                                                }
                                              },
                                              "name": "sketcher"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 24018,
                                            "end": 24022,
                                            "loc": {
                                              "start": {
                                                "line": 573,
                                                "column": 70
                                              },
                                              "end": {
                                                "line": 573,
                                                "column": 74
                                              }
                                            },
                                            "name": "font"
                                          },
                                          "computed": false
                                        },
                                        "kind": "init"
                                      }
                                    ]
                                  },
                                  "leadingComments": null
                                }
                              ],
                              "kind": "var",
                              "leadingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "no idea why this trash comes",
                                  "start": 23669,
                                  "end": 23699,
                                  "loc": {
                                    "start": {
                                      "line": 567,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 567,
                                      "column": 75
                                    }
                                  },
                                  "range": [
                                    23669,
                                    23699
                                  ]
                                },
                                {
                                  "type": "CommentLine",
                                  "value": "note: only following types of text are properly supported:",
                                  "start": 23716,
                                  "end": 23776,
                                  "loc": {
                                    "start": {
                                      "line": 568,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 568,
                                      "column": 76
                                    }
                                  },
                                  "range": [
                                    23716,
                                    23776
                                  ]
                                },
                                {
                                  "type": "CommentLine",
                                  "value": "  textType  = 1   (screen-oriented, fixed-sized text)",
                                  "start": 23793,
                                  "end": 23848,
                                  "loc": {
                                    "start": {
                                      "line": 569,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 569,
                                      "column": 71
                                    }
                                  },
                                  "range": [
                                    23793,
                                    23848
                                  ]
                                },
                                {
                                  "type": "CommentLine",
                                  "value": "  alignment = 0   (left/baseline-aligned text)",
                                  "start": 23865,
                                  "end": 23913,
                                  "loc": {
                                    "start": {
                                      "line": 570,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 570,
                                      "column": 64
                                    }
                                  },
                                  "range": [
                                    23865,
                                    23913
                                  ]
                                },
                                {
                                  "type": "CommentLine",
                                  "value": "create 3D text",
                                  "start": 23931,
                                  "end": 23947,
                                  "loc": {
                                    "start": {
                                      "line": 572,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 572,
                                      "column": 32
                                    }
                                  },
                                  "range": [
                                    23931,
                                    23947
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "VariableDeclaration",
                              "start": 24041,
                              "end": 24094,
                              "loc": {
                                "start": {
                                  "line": 574,
                                  "column": 16
                                },
                                "end": {
                                  "line": 574,
                                  "column": 69
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 24045,
                                  "end": 24093,
                                  "loc": {
                                    "start": {
                                      "line": 574,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 574,
                                      "column": 68
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 24045,
                                    "end": 24049,
                                    "loc": {
                                      "start": {
                                        "line": 574,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 574,
                                        "column": 24
                                      }
                                    },
                                    "name": "geom"
                                  },
                                  "init": {
                                    "type": "NewExpression",
                                    "start": 24052,
                                    "end": 24093,
                                    "loc": {
                                      "start": {
                                        "line": 574,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 574,
                                        "column": 68
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 24056,
                                      "end": 24074,
                                      "loc": {
                                        "start": {
                                          "line": 574,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 574,
                                          "column": 49
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 24056,
                                        "end": 24061,
                                        "loc": {
                                          "start": {
                                            "line": 574,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 574,
                                            "column": 36
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 24062,
                                        "end": 24074,
                                        "loc": {
                                          "start": {
                                            "line": 574,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 574,
                                            "column": 49
                                          }
                                        },
                                        "name": "TextGeometry"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 24075,
                                        "end": 24084,
                                        "loc": {
                                          "start": {
                                            "line": 574,
                                            "column": 50
                                          },
                                          "end": {
                                            "line": 574,
                                            "column": 59
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 24075,
                                          "end": 24079,
                                          "loc": {
                                            "start": {
                                              "line": 574,
                                              "column": 50
                                            },
                                            "end": {
                                              "line": 574,
                                              "column": 54
                                            }
                                          },
                                          "name": "data"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 24080,
                                          "end": 24084,
                                          "loc": {
                                            "start": {
                                              "line": 574,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 574,
                                              "column": 59
                                            }
                                          },
                                          "name": "text"
                                        },
                                        "computed": false
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 24086,
                                        "end": 24092,
                                        "loc": {
                                          "start": {
                                            "line": 574,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 574,
                                            "column": 67
                                          }
                                        },
                                        "name": "params"
                                      }
                                    ]
                                  }
                                }
                              ],
                              "kind": "var"
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 24111,
                              "end": 24137,
                              "loc": {
                                "start": {
                                  "line": 575,
                                  "column": 16
                                },
                                "end": {
                                  "line": 575,
                                  "column": 42
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 24111,
                                "end": 24136,
                                "loc": {
                                  "start": {
                                    "line": 575,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 575,
                                    "column": 41
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 24111,
                                  "end": 24134,
                                  "loc": {
                                    "start": {
                                      "line": 575,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 575,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 24111,
                                    "end": 24115,
                                    "loc": {
                                      "start": {
                                        "line": 575,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 575,
                                        "column": 20
                                      }
                                    },
                                    "name": "geom"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 24116,
                                    "end": 24134,
                                    "loc": {
                                      "start": {
                                        "line": 575,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 575,
                                        "column": 39
                                      }
                                    },
                                    "name": "computeBoundingBox"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "trailingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "for debugging",
                                  "start": 24139,
                                  "end": 24154,
                                  "loc": {
                                    "start": {
                                      "line": 575,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 575,
                                      "column": 59
                                    }
                                  },
                                  "range": [
                                    24139,
                                    24154
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "VariableDeclaration",
                              "start": 24171,
                              "end": 24251,
                              "loc": {
                                "start": {
                                  "line": 576,
                                  "column": 16
                                },
                                "end": {
                                  "line": 576,
                                  "column": 96
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 24175,
                                  "end": 24250,
                                  "loc": {
                                    "start": {
                                      "line": 576,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 576,
                                      "column": 95
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 24175,
                                    "end": 24179,
                                    "loc": {
                                      "start": {
                                        "line": 576,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 576,
                                        "column": 24
                                      }
                                    },
                                    "name": "mesh",
                                    "leadingComments": null
                                  },
                                  "init": {
                                    "type": "NewExpression",
                                    "start": 24182,
                                    "end": 24250,
                                    "loc": {
                                      "start": {
                                        "line": 576,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 576,
                                        "column": 95
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 24186,
                                      "end": 24196,
                                      "loc": {
                                        "start": {
                                          "line": 576,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 576,
                                          "column": 41
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 24186,
                                        "end": 24191,
                                        "loc": {
                                          "start": {
                                            "line": 576,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 576,
                                            "column": 36
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 24192,
                                        "end": 24196,
                                        "loc": {
                                          "start": {
                                            "line": 576,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 576,
                                            "column": 41
                                          }
                                        },
                                        "name": "Mesh"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 24197,
                                        "end": 24201,
                                        "loc": {
                                          "start": {
                                            "line": 576,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 576,
                                            "column": 46
                                          }
                                        },
                                        "name": "geom"
                                      },
                                      {
                                        "type": "NewExpression",
                                        "start": 24203,
                                        "end": 24249,
                                        "loc": {
                                          "start": {
                                            "line": 576,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 576,
                                            "column": 94
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 24207,
                                          "end": 24230,
                                          "loc": {
                                            "start": {
                                              "line": 576,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 576,
                                              "column": 75
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 24207,
                                            "end": 24212,
                                            "loc": {
                                              "start": {
                                                "line": 576,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 576,
                                                "column": 57
                                              }
                                            },
                                            "name": "THREE"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 24213,
                                            "end": 24230,
                                            "loc": {
                                              "start": {
                                                "line": 576,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 576,
                                                "column": 75
                                              }
                                            },
                                            "name": "MeshBasicMaterial"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ObjectExpression",
                                            "start": 24231,
                                            "end": 24248,
                                            "loc": {
                                              "start": {
                                                "line": 576,
                                                "column": 76
                                              },
                                              "end": {
                                                "line": 576,
                                                "column": 93
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "start": 24232,
                                                "end": 24247,
                                                "loc": {
                                                  "start": {
                                                    "line": 576,
                                                    "column": 77
                                                  },
                                                  "end": {
                                                    "line": 576,
                                                    "column": 92
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 24232,
                                                  "end": 24237,
                                                  "loc": {
                                                    "start": {
                                                      "line": 576,
                                                      "column": 77
                                                    },
                                                    "end": {
                                                      "line": 576,
                                                      "column": 82
                                                    }
                                                  },
                                                  "name": "color"
                                                },
                                                "value": {
                                                  "type": "Literal",
                                                  "start": 24239,
                                                  "end": 24247,
                                                  "loc": {
                                                    "start": {
                                                      "line": 576,
                                                      "column": 84
                                                    },
                                                    "end": {
                                                      "line": 576,
                                                      "column": 92
                                                    }
                                                  },
                                                  "value": 4194239,
                                                  "rawValue": 4194239,
                                                  "raw": "0x3fffbf"
                                                },
                                                "kind": "init"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  },
                                  "leadingComments": null
                                }
                              ],
                              "kind": "var",
                              "leadingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "for debugging",
                                  "start": 24139,
                                  "end": 24154,
                                  "loc": {
                                    "start": {
                                      "line": 575,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 575,
                                      "column": 59
                                    }
                                  },
                                  "range": [
                                    24139,
                                    24154
                                  ]
                                }
                              ],
                              "trailingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "set position in sketch coordinates",
                                  "start": 24268,
                                  "end": 24304,
                                  "loc": {
                                    "start": {
                                      "line": 577,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 577,
                                      "column": 52
                                    }
                                  },
                                  "range": [
                                    24268,
                                    24304
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "VariableDeclaration",
                              "start": 24321,
                              "end": 24352,
                              "loc": {
                                "start": {
                                  "line": 578,
                                  "column": 16
                                },
                                "end": {
                                  "line": 578,
                                  "column": 47
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 24325,
                                  "end": 24351,
                                  "loc": {
                                    "start": {
                                      "line": 578,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 578,
                                      "column": 46
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 24325,
                                    "end": 24328,
                                    "loc": {
                                      "start": {
                                        "line": 578,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 578,
                                        "column": 23
                                      }
                                    },
                                    "name": "obj",
                                    "leadingComments": null
                                  },
                                  "init": {
                                    "type": "NewExpression",
                                    "start": 24331,
                                    "end": 24351,
                                    "loc": {
                                      "start": {
                                        "line": 578,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 578,
                                        "column": 46
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 24335,
                                      "end": 24349,
                                      "loc": {
                                        "start": {
                                          "line": 578,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 578,
                                          "column": 44
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 24335,
                                        "end": 24340,
                                        "loc": {
                                          "start": {
                                            "line": 578,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 578,
                                            "column": 35
                                          }
                                        },
                                        "name": "THREE"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 24341,
                                        "end": 24349,
                                        "loc": {
                                          "start": {
                                            "line": 578,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 578,
                                            "column": 44
                                          }
                                        },
                                        "name": "Object3D"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "leadingComments": null
                                }
                              ],
                              "kind": "var",
                              "leadingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "set position in sketch coordinates",
                                  "start": 24268,
                                  "end": 24304,
                                  "loc": {
                                    "start": {
                                      "line": 577,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 577,
                                      "column": 52
                                    }
                                  },
                                  "range": [
                                    24268,
                                    24304
                                  ]
                                }
                              ],
                              "trailingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "obj.fullName = factoryPart.name;\t//no idea what it is...",
                                  "start": 24369,
                                  "end": 24427,
                                  "loc": {
                                    "start": {
                                      "line": 579,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 579,
                                      "column": 74
                                    }
                                  },
                                  "range": [
                                    24369,
                                    24427
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 24444,
                              "end": 24460,
                              "loc": {
                                "start": {
                                  "line": 580,
                                  "column": 16
                                },
                                "end": {
                                  "line": 580,
                                  "column": 32
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 24444,
                                "end": 24459,
                                "loc": {
                                  "start": {
                                    "line": 580,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 580,
                                    "column": 31
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 24444,
                                  "end": 24452,
                                  "loc": {
                                    "start": {
                                      "line": 580,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 580,
                                      "column": 24
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 24444,
                                    "end": 24447,
                                    "loc": {
                                      "start": {
                                        "line": 580,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 580,
                                        "column": 19
                                      }
                                    },
                                    "name": "obj",
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 24448,
                                    "end": 24452,
                                    "loc": {
                                      "start": {
                                        "line": 580,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 580,
                                        "column": 24
                                      }
                                    },
                                    "name": "mesh"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "right": {
                                  "type": "Identifier",
                                  "start": 24455,
                                  "end": 24459,
                                  "loc": {
                                    "start": {
                                      "line": 580,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 580,
                                      "column": 31
                                    }
                                  },
                                  "name": "mesh"
                                },
                                "leadingComments": null
                              },
                              "leadingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "obj.fullName = factoryPart.name;\t//no idea what it is...",
                                  "start": 24369,
                                  "end": 24427,
                                  "loc": {
                                    "start": {
                                      "line": 579,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 579,
                                      "column": 74
                                    }
                                  },
                                  "range": [
                                    24369,
                                    24427
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 24477,
                              "end": 24491,
                              "loc": {
                                "start": {
                                  "line": 581,
                                  "column": 16
                                },
                                "end": {
                                  "line": 581,
                                  "column": 30
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 24477,
                                "end": 24490,
                                "loc": {
                                  "start": {
                                    "line": 581,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 581,
                                    "column": 29
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 24477,
                                  "end": 24484,
                                  "loc": {
                                    "start": {
                                      "line": 581,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 581,
                                      "column": 23
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 24477,
                                    "end": 24480,
                                    "loc": {
                                      "start": {
                                        "line": 581,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 581,
                                        "column": 19
                                      }
                                    },
                                    "name": "obj"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 24481,
                                    "end": 24484,
                                    "loc": {
                                      "start": {
                                        "line": 581,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 581,
                                        "column": 23
                                      }
                                    },
                                    "name": "add"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 24485,
                                    "end": 24489,
                                    "loc": {
                                      "start": {
                                        "line": 581,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 581,
                                        "column": 28
                                      }
                                    },
                                    "name": "mesh"
                                  }
                                ]
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 24508,
                              "end": 24573,
                              "loc": {
                                "start": {
                                  "line": 582,
                                  "column": 16
                                },
                                "end": {
                                  "line": 582,
                                  "column": 81
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 24508,
                                "end": 24572,
                                "loc": {
                                  "start": {
                                    "line": 582,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 582,
                                    "column": 80
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 24508,
                                  "end": 24558,
                                  "loc": {
                                    "start": {
                                      "line": 582,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 582,
                                      "column": 66
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 24508,
                                    "end": 24545,
                                    "loc": {
                                      "start": {
                                        "line": 582,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 582,
                                        "column": 53
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 24508,
                                      "end": 24530,
                                      "loc": {
                                        "start": {
                                          "line": 582,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 582,
                                          "column": 38
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 24508,
                                        "end": 24520,
                                        "loc": {
                                          "start": {
                                            "line": 582,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 582,
                                            "column": 28
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 24508,
                                          "end": 24511,
                                          "loc": {
                                            "start": {
                                              "line": 582,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 582,
                                              "column": 19
                                            }
                                          },
                                          "name": "obj"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 24512,
                                          "end": 24520,
                                          "loc": {
                                            "start": {
                                              "line": 582,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 582,
                                              "column": 28
                                            }
                                          },
                                          "name": "position"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 24521,
                                        "end": 24530,
                                        "loc": {
                                          "start": {
                                            "line": 582,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 582,
                                            "column": 38
                                          }
                                        },
                                        "name": "fromArray"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 24531,
                                        "end": 24544,
                                        "loc": {
                                          "start": {
                                            "line": 582,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 582,
                                            "column": 52
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 24531,
                                          "end": 24535,
                                          "loc": {
                                            "start": {
                                              "line": 582,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 582,
                                              "column": 43
                                            }
                                          },
                                          "name": "data"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 24536,
                                          "end": 24544,
                                          "loc": {
                                            "start": {
                                              "line": 582,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 582,
                                              "column": 52
                                            }
                                          },
                                          "name": "position"
                                        },
                                        "computed": false
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 24546,
                                    "end": 24558,
                                    "loc": {
                                      "start": {
                                        "line": 582,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 582,
                                        "column": 66
                                      }
                                    },
                                    "name": "applyMatrix4"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 24559,
                                    "end": 24571,
                                    "loc": {
                                      "start": {
                                        "line": 582,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 582,
                                        "column": 79
                                      }
                                    },
                                    "name": "worldToLocal"
                                  }
                                ]
                              },
                              "trailingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "add pixel-based sizing",
                                  "start": 24591,
                                  "end": 24615,
                                  "loc": {
                                    "start": {
                                      "line": 584,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 584,
                                      "column": 40
                                    }
                                  },
                                  "range": [
                                    24591,
                                    24615
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 24632,
                              "end": 24775,
                              "loc": {
                                "start": {
                                  "line": 585,
                                  "column": 16
                                },
                                "end": {
                                  "line": 588,
                                  "column": 18
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 24632,
                                "end": 24774,
                                "loc": {
                                  "start": {
                                    "line": 585,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 588,
                                    "column": 17
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 24632,
                                  "end": 24648,
                                  "loc": {
                                    "start": {
                                      "line": 585,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 585,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 24632,
                                    "end": 24635,
                                    "loc": {
                                      "start": {
                                        "line": 585,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 585,
                                        "column": 19
                                      }
                                    },
                                    "name": "obj",
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 24636,
                                    "end": 24648,
                                    "loc": {
                                      "start": {
                                        "line": 585,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 585,
                                        "column": 32
                                      }
                                    },
                                    "name": "setGeomSizes"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "right": {
                                  "type": "FunctionExpression",
                                  "start": 24651,
                                  "end": 24774,
                                  "loc": {
                                    "start": {
                                      "line": 585,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 588,
                                      "column": 17
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": false,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 24660,
                                      "end": 24665,
                                      "loc": {
                                        "start": {
                                          "line": 585,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 585,
                                          "column": 49
                                        }
                                      },
                                      "name": "sizes"
                                    }
                                  ],
                                  "body": {
                                    "type": "BlockStatement",
                                    "start": 24667,
                                    "end": 24774,
                                    "loc": {
                                      "start": {
                                        "line": 585,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 588,
                                        "column": 17
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "VariableDeclaration",
                                        "start": 24689,
                                        "end": 24706,
                                        "loc": {
                                          "start": {
                                            "line": 586,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 586,
                                            "column": 37
                                          }
                                        },
                                        "declarations": [
                                          {
                                            "type": "VariableDeclarator",
                                            "start": 24693,
                                            "end": 24705,
                                            "loc": {
                                              "start": {
                                                "line": 586,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 586,
                                                "column": 36
                                              }
                                            },
                                            "id": {
                                              "type": "Identifier",
                                              "start": 24693,
                                              "end": 24694,
                                              "loc": {
                                                "start": {
                                                  "line": 586,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 586,
                                                  "column": 25
                                                }
                                              },
                                              "name": "s"
                                            },
                                            "init": {
                                              "type": "MemberExpression",
                                              "start": 24697,
                                              "end": 24705,
                                              "loc": {
                                                "start": {
                                                  "line": 586,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 586,
                                                  "column": 36
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 24697,
                                                "end": 24702,
                                                "loc": {
                                                  "start": {
                                                    "line": 586,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 586,
                                                    "column": 33
                                                  }
                                                },
                                                "name": "sizes"
                                              },
                                              "property": {
                                                "type": "Literal",
                                                "start": 24703,
                                                "end": 24704,
                                                "loc": {
                                                  "start": {
                                                    "line": 586,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 586,
                                                    "column": 35
                                                  }
                                                },
                                                "value": 0,
                                                "rawValue": 0,
                                                "raw": "0"
                                              },
                                              "computed": true
                                            }
                                          }
                                        ],
                                        "kind": "var"
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 24727,
                                        "end": 24756,
                                        "loc": {
                                          "start": {
                                            "line": 587,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 587,
                                            "column": 49
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 24727,
                                          "end": 24755,
                                          "loc": {
                                            "start": {
                                              "line": 587,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 587,
                                              "column": 48
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 24727,
                                            "end": 24746,
                                            "loc": {
                                              "start": {
                                                "line": 587,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 587,
                                                "column": 39
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 24727,
                                              "end": 24742,
                                              "loc": {
                                                "start": {
                                                  "line": 587,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 587,
                                                  "column": 35
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 24727,
                                                "end": 24736,
                                                "loc": {
                                                  "start": {
                                                    "line": 587,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 587,
                                                    "column": 29
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 24727,
                                                  "end": 24731,
                                                  "loc": {
                                                    "start": {
                                                      "line": 587,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 587,
                                                      "column": 24
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 24732,
                                                  "end": 24736,
                                                  "loc": {
                                                    "start": {
                                                      "line": 587,
                                                      "column": 25
                                                    },
                                                    "end": {
                                                      "line": 587,
                                                      "column": 29
                                                    }
                                                  },
                                                  "name": "mesh"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 24737,
                                                "end": 24742,
                                                "loc": {
                                                  "start": {
                                                    "line": 587,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 587,
                                                    "column": 35
                                                  }
                                                },
                                                "name": "scale"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 24743,
                                              "end": 24746,
                                              "loc": {
                                                "start": {
                                                  "line": 587,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 587,
                                                  "column": 39
                                                }
                                              },
                                              "name": "set"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 24747,
                                              "end": 24748,
                                              "loc": {
                                                "start": {
                                                  "line": 587,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 587,
                                                  "column": 41
                                                }
                                              },
                                              "name": "s"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 24750,
                                              "end": 24751,
                                              "loc": {
                                                "start": {
                                                  "line": 587,
                                                  "column": 43
                                                },
                                                "end": {
                                                  "line": 587,
                                                  "column": 44
                                                }
                                              },
                                              "name": "s"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 24753,
                                              "end": 24754,
                                              "loc": {
                                                "start": {
                                                  "line": 587,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 587,
                                                  "column": 47
                                                }
                                              },
                                              "name": "s"
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                },
                                "leadingComments": null
                              },
                              "leadingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "add pixel-based sizing",
                                  "start": 24591,
                                  "end": 24615,
                                  "loc": {
                                    "start": {
                                      "line": 584,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 584,
                                      "column": 40
                                    }
                                  },
                                  "range": [
                                    24591,
                                    24615
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 24792,
                              "end": 24856,
                              "loc": {
                                "start": {
                                  "line": 589,
                                  "column": 16
                                },
                                "end": {
                                  "line": 589,
                                  "column": 80
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 24792,
                                "end": 24855,
                                "loc": {
                                  "start": {
                                    "line": 589,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 589,
                                    "column": 79
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 24792,
                                  "end": 24829,
                                  "loc": {
                                    "start": {
                                      "line": 589,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 589,
                                      "column": 53
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 24792,
                                    "end": 24824,
                                    "loc": {
                                      "start": {
                                        "line": 589,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 589,
                                        "column": 48
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 24792,
                                      "end": 24800,
                                      "loc": {
                                        "start": {
                                          "line": 589,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 589,
                                          "column": 24
                                        }
                                      },
                                      "name": "Sketcher"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 24801,
                                      "end": 24824,
                                      "loc": {
                                        "start": {
                                          "line": 589,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 589,
                                          "column": 48
                                        }
                                      },
                                      "name": "mixinPixelSizedGeometry"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 24825,
                                    "end": 24829,
                                    "loc": {
                                      "start": {
                                        "line": 589,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 589,
                                        "column": 53
                                      }
                                    },
                                    "name": "call"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 24830,
                                    "end": 24833,
                                    "loc": {
                                      "start": {
                                        "line": 589,
                                        "column": 54
                                      },
                                      "end": {
                                        "line": 589,
                                        "column": 57
                                      }
                                    },
                                    "name": "obj"
                                  },
                                  {
                                    "type": "LogicalExpression",
                                    "start": 24835,
                                    "end": 24854,
                                    "loc": {
                                      "start": {
                                        "line": 589,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 589,
                                        "column": 78
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 24835,
                                      "end": 24848,
                                      "loc": {
                                        "start": {
                                          "line": 589,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 589,
                                          "column": 72
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 24835,
                                        "end": 24839,
                                        "loc": {
                                          "start": {
                                            "line": 589,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 589,
                                            "column": 63
                                          }
                                        },
                                        "name": "data"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 24840,
                                        "end": 24848,
                                        "loc": {
                                          "start": {
                                            "line": 589,
                                            "column": 64
                                          },
                                          "end": {
                                            "line": 589,
                                            "column": 72
                                          }
                                        },
                                        "name": "fontSize"
                                      },
                                      "computed": false
                                    },
                                    "operator": "||",
                                    "right": {
                                      "type": "Literal",
                                      "start": 24852,
                                      "end": 24854,
                                      "loc": {
                                        "start": {
                                          "line": 589,
                                          "column": 76
                                        },
                                        "end": {
                                          "line": 589,
                                          "column": 78
                                        }
                                      },
                                      "value": 12,
                                      "rawValue": 12,
                                      "raw": "12"
                                    }
                                  }
                                ]
                              },
                              "trailingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "register automatic updates",
                                  "start": 24873,
                                  "end": 24901,
                                  "loc": {
                                    "start": {
                                      "line": 590,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 590,
                                      "column": 44
                                    }
                                  },
                                  "range": [
                                    24873,
                                    24901
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "VariableDeclaration",
                              "start": 24918,
                              "end": 24956,
                              "loc": {
                                "start": {
                                  "line": 591,
                                  "column": 16
                                },
                                "end": {
                                  "line": 591,
                                  "column": 54
                                }
                              },
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "start": 24922,
                                  "end": 24955,
                                  "loc": {
                                    "start": {
                                      "line": 591,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 591,
                                      "column": 53
                                    }
                                  },
                                  "id": {
                                    "type": "Identifier",
                                    "start": 24922,
                                    "end": 24926,
                                    "loc": {
                                      "start": {
                                        "line": 591,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 591,
                                        "column": 24
                                      }
                                    },
                                    "name": "view",
                                    "leadingComments": null
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "start": 24929,
                                    "end": 24955,
                                    "loc": {
                                      "start": {
                                        "line": 591,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 591,
                                        "column": 53
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 24929,
                                      "end": 24942,
                                      "loc": {
                                        "start": {
                                          "line": 591,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 591,
                                          "column": 40
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 24929,
                                        "end": 24933,
                                        "loc": {
                                          "start": {
                                            "line": 591,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 591,
                                            "column": 31
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 24934,
                                        "end": 24942,
                                        "loc": {
                                          "start": {
                                            "line": 591,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 591,
                                            "column": 40
                                          }
                                        },
                                        "name": "sketcher"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 24943,
                                      "end": 24955,
                                      "loc": {
                                        "start": {
                                          "line": 591,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 591,
                                          "column": 53
                                        }
                                      },
                                      "name": "__parentView"
                                    },
                                    "computed": false
                                  },
                                  "leadingComments": null
                                }
                              ],
                              "kind": "var",
                              "leadingComments": [
                                {
                                  "type": "CommentLine",
                                  "value": "register automatic updates",
                                  "start": 24873,
                                  "end": 24901,
                                  "loc": {
                                    "start": {
                                      "line": 590,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 590,
                                      "column": 44
                                    }
                                  },
                                  "range": [
                                    24873,
                                    24901
                                  ]
                                }
                              ]
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 24973,
                              "end": 25015,
                              "loc": {
                                "start": {
                                  "line": 592,
                                  "column": 16
                                },
                                "end": {
                                  "line": 592,
                                  "column": 58
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 24973,
                                "end": 25014,
                                "loc": {
                                  "start": {
                                    "line": 592,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 592,
                                    "column": 57
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 24973,
                                  "end": 25003,
                                  "loc": {
                                    "start": {
                                      "line": 592,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 592,
                                      "column": 46
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 24973,
                                    "end": 24981,
                                    "loc": {
                                      "start": {
                                        "line": 592,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 592,
                                        "column": 24
                                      }
                                    },
                                    "name": "Sketcher"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 24982,
                                    "end": 25003,
                                    "loc": {
                                      "start": {
                                        "line": 592,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 592,
                                        "column": 46
                                      }
                                    },
                                    "name": "registerVisualization"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 25004,
                                    "end": 25008,
                                    "loc": {
                                      "start": {
                                        "line": 592,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 592,
                                        "column": 51
                                      }
                                    },
                                    "name": "view"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 25010,
                                    "end": 25013,
                                    "loc": {
                                      "start": {
                                        "line": 592,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 592,
                                        "column": 56
                                      }
                                    },
                                    "name": "obj"
                                  }
                                ]
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 25033,
                              "end": 25060,
                              "loc": {
                                "start": {
                                  "line": 594,
                                  "column": 16
                                },
                                "end": {
                                  "line": 594,
                                  "column": 43
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 25033,
                                "end": 25059,
                                "loc": {
                                  "start": {
                                    "line": 594,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 594,
                                    "column": 42
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 25033,
                                  "end": 25054,
                                  "loc": {
                                    "start": {
                                      "line": 594,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 594,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 25033,
                                    "end": 25050,
                                    "loc": {
                                      "start": {
                                        "line": 594,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 594,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 25033,
                                      "end": 25037,
                                      "loc": {
                                        "start": {
                                          "line": 594,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 594,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 25038,
                                      "end": 25050,
                                      "loc": {
                                        "start": {
                                          "line": 594,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 594,
                                          "column": 33
                                        }
                                      },
                                      "name": "__dimensions"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 25051,
                                    "end": 25054,
                                    "loc": {
                                      "start": {
                                        "line": 594,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 594,
                                        "column": 37
                                      }
                                    },
                                    "name": "add"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 25055,
                                    "end": 25058,
                                    "loc": {
                                      "start": {
                                        "line": 594,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 594,
                                        "column": 41
                                      }
                                    },
                                    "name": "obj"
                                  }
                                ]
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "start": 25077,
                              "end": 25083,
                              "loc": {
                                "start": {
                                  "line": 595,
                                  "column": 16
                                },
                                "end": {
                                  "line": 595,
                                  "column": 22
                                }
                              },
                              "label": null
                            }
                          ],
                          "test": {
                            "type": "Literal",
                            "start": 23616,
                            "end": 23622,
                            "loc": {
                              "start": {
                                "line": 566,
                                "column": 17
                              },
                              "end": {
                                "line": 566,
                                "column": 23
                              }
                            },
                            "value": "Text",
                            "rawValue": "Text",
                            "raw": "'Text'"
                          }
                        },
                        {
                          "type": "SwitchCase",
                          "start": 25097,
                          "end": 25314,
                          "loc": {
                            "start": {
                              "line": 597,
                              "column": 12
                            },
                            "end": {
                              "line": 601,
                              "column": 22
                            }
                          },
                          "consequent": [
                            {
                              "type": "ExpressionStatement",
                              "start": 25126,
                              "end": 25166,
                              "loc": {
                                "start": {
                                  "line": 598,
                                  "column": 16
                                },
                                "end": {
                                  "line": 598,
                                  "column": 56
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 25126,
                                "end": 25165,
                                "loc": {
                                  "start": {
                                    "line": 598,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 598,
                                    "column": 55
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 25126,
                                  "end": 25151,
                                  "loc": {
                                    "start": {
                                      "line": 598,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 598,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 25126,
                                    "end": 25139,
                                    "loc": {
                                      "start": {
                                        "line": 598,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 598,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 25126,
                                      "end": 25130,
                                      "loc": {
                                        "start": {
                                          "line": 598,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 598,
                                          "column": 20
                                        }
                                      },
                                      "name": "data"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 25131,
                                      "end": 25139,
                                      "loc": {
                                        "start": {
                                          "line": 598,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 598,
                                          "column": 29
                                        }
                                      },
                                      "name": "geometry"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 25140,
                                    "end": 25151,
                                    "loc": {
                                      "start": {
                                        "line": 598,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 598,
                                        "column": 41
                                      }
                                    },
                                    "name": "applyMatrix"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 25152,
                                    "end": 25164,
                                    "loc": {
                                      "start": {
                                        "line": 598,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 598,
                                        "column": 54
                                      }
                                    },
                                    "name": "worldToLocal"
                                  }
                                ]
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 25183,
                              "end": 25246,
                              "loc": {
                                "start": {
                                  "line": 599,
                                  "column": 16
                                },
                                "end": {
                                  "line": 599,
                                  "column": 79
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 25183,
                                "end": 25245,
                                "loc": {
                                  "start": {
                                    "line": 599,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 599,
                                    "column": 78
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 25183,
                                  "end": 25196,
                                  "loc": {
                                    "start": {
                                      "line": 599,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 599,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 25183,
                                    "end": 25187,
                                    "loc": {
                                      "start": {
                                        "line": 599,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 599,
                                        "column": 20
                                      }
                                    },
                                    "name": "data"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 25188,
                                    "end": 25196,
                                    "loc": {
                                      "start": {
                                        "line": 599,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 599,
                                        "column": 29
                                      }
                                    },
                                    "name": "material"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "NewExpression",
                                  "start": 25199,
                                  "end": 25245,
                                  "loc": {
                                    "start": {
                                      "line": 599,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 599,
                                      "column": 78
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 25203,
                                    "end": 25226,
                                    "loc": {
                                      "start": {
                                        "line": 599,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 599,
                                        "column": 59
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 25203,
                                      "end": 25208,
                                      "loc": {
                                        "start": {
                                          "line": 599,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 599,
                                          "column": 41
                                        }
                                      },
                                      "name": "THREE"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 25209,
                                      "end": 25226,
                                      "loc": {
                                        "start": {
                                          "line": 599,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 599,
                                          "column": 59
                                        }
                                      },
                                      "name": "MeshBasicMaterial"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ObjectExpression",
                                      "start": 25227,
                                      "end": 25244,
                                      "loc": {
                                        "start": {
                                          "line": 599,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 599,
                                          "column": 77
                                        }
                                      },
                                      "properties": [
                                        {
                                          "type": "Property",
                                          "start": 25228,
                                          "end": 25243,
                                          "loc": {
                                            "start": {
                                              "line": 599,
                                              "column": 61
                                            },
                                            "end": {
                                              "line": 599,
                                              "column": 76
                                            }
                                          },
                                          "method": false,
                                          "shorthand": false,
                                          "computed": false,
                                          "key": {
                                            "type": "Identifier",
                                            "start": 25228,
                                            "end": 25233,
                                            "loc": {
                                              "start": {
                                                "line": 599,
                                                "column": 61
                                              },
                                              "end": {
                                                "line": 599,
                                                "column": 66
                                              }
                                            },
                                            "name": "color"
                                          },
                                          "value": {
                                            "type": "Literal",
                                            "start": 25235,
                                            "end": 25243,
                                            "loc": {
                                              "start": {
                                                "line": 599,
                                                "column": 68
                                              },
                                              "end": {
                                                "line": 599,
                                                "column": 76
                                              }
                                            },
                                            "value": 8388479,
                                            "rawValue": 8388479,
                                            "raw": "0x7fff7f"
                                          },
                                          "kind": "init"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "start": 25263,
                              "end": 25291,
                              "loc": {
                                "start": {
                                  "line": 600,
                                  "column": 16
                                },
                                "end": {
                                  "line": 600,
                                  "column": 44
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 25263,
                                "end": 25290,
                                "loc": {
                                  "start": {
                                    "line": 600,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 600,
                                    "column": 43
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 25263,
                                  "end": 25284,
                                  "loc": {
                                    "start": {
                                      "line": 600,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 600,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 25263,
                                    "end": 25280,
                                    "loc": {
                                      "start": {
                                        "line": 600,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 600,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 25263,
                                      "end": 25267,
                                      "loc": {
                                        "start": {
                                          "line": 600,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 600,
                                          "column": 20
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 25268,
                                      "end": 25280,
                                      "loc": {
                                        "start": {
                                          "line": 600,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 600,
                                          "column": 33
                                        }
                                      },
                                      "name": "__dimensions"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 25281,
                                    "end": 25284,
                                    "loc": {
                                      "start": {
                                        "line": 600,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 600,
                                        "column": 37
                                      }
                                    },
                                    "name": "add"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 25285,
                                    "end": 25289,
                                    "loc": {
                                      "start": {
                                        "line": 600,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 600,
                                        "column": 42
                                      }
                                    },
                                    "name": "data"
                                  }
                                ]
                              }
                            },
                            {
                              "type": "BreakStatement",
                              "start": 25308,
                              "end": 25314,
                              "loc": {
                                "start": {
                                  "line": 601,
                                  "column": 16
                                },
                                "end": {
                                  "line": 601,
                                  "column": 22
                                }
                              },
                              "label": null
                            }
                          ],
                          "test": {
                            "type": "Literal",
                            "start": 25102,
                            "end": 25108,
                            "loc": {
                              "start": {
                                "line": 597,
                                "column": 17
                              },
                              "end": {
                                "line": 597,
                                "column": 23
                              }
                            },
                            "value": "Line",
                            "rawValue": "Line",
                            "raw": "'Line'"
                          }
                        }
                      ]
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " intercept graphical objects created on the server",
                  "start": 22100,
                  "end": 22152,
                  "loc": {
                    "start": {
                      "line": 532,
                      "column": 4
                    },
                    "end": {
                      "line": 532,
                      "column": 56
                    }
                  },
                  "range": [
                    22100,
                    22152
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 25336,
              "end": 25610,
              "loc": {
                "start": {
                  "line": 605,
                  "column": 4
                },
                "end": {
                  "line": 613,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 25336,
                "end": 25351,
                "loc": {
                  "start": {
                    "line": 605,
                    "column": 4
                  },
                  "end": {
                    "line": 605,
                    "column": 19
                  }
                },
                "name": "showConstraints"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 25351,
                "end": 25610,
                "loc": {
                  "start": {
                    "line": 605,
                    "column": 19
                  },
                  "end": {
                    "line": 613,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 25352,
                    "end": 25355,
                    "loc": {
                      "start": {
                        "line": 605,
                        "column": 20
                      },
                      "end": {
                        "line": 605,
                        "column": 23
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 25357,
                  "end": 25610,
                  "loc": {
                    "start": {
                      "line": 605,
                      "column": 25
                    },
                    "end": {
                      "line": 613,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 25367,
                      "end": 25418,
                      "loc": {
                        "start": {
                          "line": 606,
                          "column": 8
                        },
                        "end": {
                          "line": 606,
                          "column": 59
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 25371,
                          "end": 25417,
                          "loc": {
                            "start": {
                              "line": 606,
                              "column": 12
                            },
                            "end": {
                              "line": 606,
                              "column": 58
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 25371,
                            "end": 25382,
                            "loc": {
                              "start": {
                                "line": 606,
                                "column": 12
                              },
                              "end": {
                                "line": 606,
                                "column": 23
                              }
                            },
                            "name": "constraints"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 25385,
                            "end": 25417,
                            "loc": {
                              "start": {
                                "line": 606,
                                "column": 26
                              },
                              "end": {
                                "line": 606,
                                "column": 58
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 25385,
                              "end": 25412,
                              "loc": {
                                "start": {
                                  "line": 606,
                                  "column": 26
                                },
                                "end": {
                                  "line": 606,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 25385,
                                "end": 25389,
                                "loc": {
                                  "start": {
                                    "line": 606,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 606,
                                    "column": 30
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 25390,
                                "end": 25412,
                                "loc": {
                                  "start": {
                                    "line": 606,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 606,
                                    "column": 53
                                  }
                                },
                                "name": "getConstraintsOnSketch"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 25413,
                                "end": 25416,
                                "loc": {
                                  "start": {
                                    "line": 606,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 606,
                                    "column": 57
                                  }
                                },
                                "name": "obj"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 25427,
                      "end": 25464,
                      "loc": {
                        "start": {
                          "line": 607,
                          "column": 8
                        },
                        "end": {
                          "line": 607,
                          "column": 45
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 25431,
                        "end": 25455,
                        "loc": {
                          "start": {
                            "line": 607,
                            "column": 12
                          },
                          "end": {
                            "line": 607,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 25431,
                          "end": 25449,
                          "loc": {
                            "start": {
                              "line": 607,
                              "column": 12
                            },
                            "end": {
                              "line": 607,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 25431,
                            "end": 25442,
                            "loc": {
                              "start": {
                                "line": 607,
                                "column": 12
                              },
                              "end": {
                                "line": 607,
                                "column": 23
                              }
                            },
                            "name": "constraints"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 25443,
                            "end": 25449,
                            "loc": {
                              "start": {
                                "line": 607,
                                "column": 24
                              },
                              "end": {
                                "line": 607,
                                "column": 30
                              }
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 25454,
                          "end": 25455,
                          "loc": {
                            "start": {
                              "line": 607,
                              "column": 35
                            },
                            "end": {
                              "line": 607,
                              "column": 36
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 25457,
                        "end": 25464,
                        "loc": {
                          "start": {
                            "line": 607,
                            "column": 38
                          },
                          "end": {
                            "line": 607,
                            "column": 45
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 25474,
                      "end": 25514,
                      "loc": {
                        "start": {
                          "line": 609,
                          "column": 8
                        },
                        "end": {
                          "line": 609,
                          "column": 48
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 25474,
                        "end": 25513,
                        "loc": {
                          "start": {
                            "line": 609,
                            "column": 8
                          },
                          "end": {
                            "line": 609,
                            "column": 47
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 25474,
                          "end": 25506,
                          "loc": {
                            "start": {
                              "line": 609,
                              "column": 8
                            },
                            "end": {
                              "line": 609,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 25474,
                            "end": 25498,
                            "loc": {
                              "start": {
                                "line": 609,
                                "column": 8
                              },
                              "end": {
                                "line": 609,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 25474,
                              "end": 25477,
                              "loc": {
                                "start": {
                                  "line": 609,
                                  "column": 8
                                },
                                "end": {
                                  "line": 609,
                                  "column": 11
                                }
                              },
                              "name": "obj"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 25478,
                              "end": 25498,
                              "loc": {
                                "start": {
                                  "line": 609,
                                  "column": 12
                                },
                                "end": {
                                  "line": 609,
                                  "column": 32
                                }
                              },
                              "name": "constraintsSubstrate"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 25499,
                            "end": 25506,
                            "loc": {
                              "start": {
                                "line": 609,
                                "column": 33
                              },
                              "end": {
                                "line": 609,
                                "column": 40
                              }
                            },
                            "name": "visible"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 25509,
                          "end": 25513,
                          "loc": {
                            "start": {
                              "line": 609,
                              "column": 43
                            },
                            "end": {
                              "line": 609,
                              "column": 47
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 25524,
                      "end": 25552,
                      "loc": {
                        "start": {
                          "line": 611,
                          "column": 8
                        },
                        "end": {
                          "line": 611,
                          "column": 36
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 25524,
                        "end": 25551,
                        "loc": {
                          "start": {
                            "line": 611,
                            "column": 8
                          },
                          "end": {
                            "line": 611,
                            "column": 35
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 25524,
                          "end": 25546,
                          "loc": {
                            "start": {
                              "line": 611,
                              "column": 8
                            },
                            "end": {
                              "line": 611,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 25524,
                            "end": 25528,
                            "loc": {
                              "start": {
                                "line": 611,
                                "column": 8
                              },
                              "end": {
                                "line": 611,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 25529,
                            "end": 25546,
                            "loc": {
                              "start": {
                                "line": 611,
                                "column": 13
                              },
                              "end": {
                                "line": 611,
                                "column": 30
                              }
                            },
                            "name": "updateConstraints"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 25547,
                            "end": 25550,
                            "loc": {
                              "start": {
                                "line": 611,
                                "column": 31
                              },
                              "end": {
                                "line": 611,
                                "column": 34
                              }
                            },
                            "name": "obj"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 25561,
                      "end": 25604,
                      "loc": {
                        "start": {
                          "line": 612,
                          "column": 8
                        },
                        "end": {
                          "line": 612,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 25561,
                        "end": 25603,
                        "loc": {
                          "start": {
                            "line": 612,
                            "column": 8
                          },
                          "end": {
                            "line": 612,
                            "column": 50
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 25561,
                          "end": 25580,
                          "loc": {
                            "start": {
                              "line": 612,
                              "column": 8
                            },
                            "end": {
                              "line": 612,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 25561,
                            "end": 25572,
                            "loc": {
                              "start": {
                                "line": 612,
                                "column": 8
                              },
                              "end": {
                                "line": 612,
                                "column": 19
                              }
                            },
                            "name": "constraints"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 25573,
                            "end": 25580,
                            "loc": {
                              "start": {
                                "line": 612,
                                "column": 20
                              },
                              "end": {
                                "line": 612,
                                "column": 27
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 25581,
                            "end": 25602,
                            "loc": {
                              "start": {
                                "line": 612,
                                "column": 28
                              },
                              "end": {
                                "line": 612,
                                "column": 49
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 25581,
                                "end": 25586,
                                "loc": {
                                  "start": {
                                    "line": 612,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 612,
                                    "column": 33
                                  }
                                },
                                "name": "child"
                              }
                            ],
                            "body": {
                              "type": "CallExpression",
                              "start": 25590,
                              "end": 25602,
                              "loc": {
                                "start": {
                                  "line": 612,
                                  "column": 37
                                },
                                "end": {
                                  "line": 612,
                                  "column": 49
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 25590,
                                "end": 25600,
                                "loc": {
                                  "start": {
                                    "line": 612,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 612,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 25590,
                                  "end": 25595,
                                  "loc": {
                                    "start": {
                                      "line": 612,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 612,
                                      "column": 42
                                    }
                                  },
                                  "name": "child"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 25596,
                                  "end": 25600,
                                  "loc": {
                                    "start": {
                                      "line": 612,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 612,
                                      "column": 47
                                    }
                                  },
                                  "name": "show"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 25616,
              "end": 26092,
              "loc": {
                "start": {
                  "line": 615,
                  "column": 4
                },
                "end": {
                  "line": 630,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 25616,
                "end": 25631,
                "loc": {
                  "start": {
                    "line": 615,
                    "column": 4
                  },
                  "end": {
                    "line": 615,
                    "column": 19
                  }
                },
                "name": "hideConstraints"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 25631,
                "end": 26092,
                "loc": {
                  "start": {
                    "line": 615,
                    "column": 19
                  },
                  "end": {
                    "line": 630,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 25634,
                  "end": 26092,
                  "loc": {
                    "start": {
                      "line": 615,
                      "column": 22
                    },
                    "end": {
                      "line": 630,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 25644,
                      "end": 25692,
                      "loc": {
                        "start": {
                          "line": 616,
                          "column": 8
                        },
                        "end": {
                          "line": 616,
                          "column": 56
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 25648,
                          "end": 25691,
                          "loc": {
                            "start": {
                              "line": 616,
                              "column": 12
                            },
                            "end": {
                              "line": 616,
                              "column": 55
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 25648,
                            "end": 25659,
                            "loc": {
                              "start": {
                                "line": 616,
                                "column": 12
                              },
                              "end": {
                                "line": 616,
                                "column": 23
                              }
                            },
                            "name": "constraints"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 25662,
                            "end": 25691,
                            "loc": {
                              "start": {
                                "line": 616,
                                "column": 26
                              },
                              "end": {
                                "line": 616,
                                "column": 55
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 25662,
                              "end": 25689,
                              "loc": {
                                "start": {
                                  "line": 616,
                                  "column": 26
                                },
                                "end": {
                                  "line": 616,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 25662,
                                "end": 25666,
                                "loc": {
                                  "start": {
                                    "line": 616,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 616,
                                    "column": 30
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 25667,
                                "end": 25689,
                                "loc": {
                                  "start": {
                                    "line": 616,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 616,
                                    "column": 53
                                  }
                                },
                                "name": "getConstraintsOnSketch"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 25702,
                      "end": 25835,
                      "loc": {
                        "start": {
                          "line": 618,
                          "column": 8
                        },
                        "end": {
                          "line": 621,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 25702,
                        "end": 25834,
                        "loc": {
                          "start": {
                            "line": 618,
                            "column": 8
                          },
                          "end": {
                            "line": 621,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 25702,
                          "end": 25721,
                          "loc": {
                            "start": {
                              "line": 618,
                              "column": 8
                            },
                            "end": {
                              "line": 618,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 25702,
                            "end": 25713,
                            "loc": {
                              "start": {
                                "line": 618,
                                "column": 8
                              },
                              "end": {
                                "line": 618,
                                "column": 19
                              }
                            },
                            "name": "constraints"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 25714,
                            "end": 25721,
                            "loc": {
                              "start": {
                                "line": 618,
                                "column": 20
                              },
                              "end": {
                                "line": 618,
                                "column": 27
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 25722,
                            "end": 25833,
                            "loc": {
                              "start": {
                                "line": 618,
                                "column": 28
                              },
                              "end": {
                                "line": 621,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 25722,
                                "end": 25727,
                                "loc": {
                                  "start": {
                                    "line": 618,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 618,
                                    "column": 33
                                  }
                                },
                                "name": "child"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 25731,
                              "end": 25833,
                              "loc": {
                                "start": {
                                  "line": 618,
                                  "column": 37
                                },
                                "end": {
                                  "line": 621,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 25745,
                                  "end": 25797,
                                  "loc": {
                                    "start": {
                                      "line": 619,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 619,
                                      "column": 64
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 25745,
                                    "end": 25796,
                                    "loc": {
                                      "start": {
                                        "line": 619,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 619,
                                        "column": 63
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 25745,
                                      "end": 25763,
                                      "loc": {
                                        "start": {
                                          "line": 619,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 619,
                                          "column": 30
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 25745,
                                        "end": 25755,
                                        "loc": {
                                          "start": {
                                            "line": 619,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 619,
                                            "column": 22
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 25745,
                                          "end": 25750,
                                          "loc": {
                                            "start": {
                                              "line": 619,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 619,
                                              "column": 17
                                            }
                                          },
                                          "name": "child"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 25751,
                                          "end": 25755,
                                          "loc": {
                                            "start": {
                                              "line": 619,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 619,
                                              "column": 22
                                            }
                                          },
                                          "name": "args"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 25756,
                                        "end": 25763,
                                        "loc": {
                                          "start": {
                                            "line": 619,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 619,
                                            "column": 30
                                          }
                                        },
                                        "name": "forEach"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "start": 25764,
                                        "end": 25795,
                                        "loc": {
                                          "start": {
                                            "line": 619,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 619,
                                            "column": 62
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 25764,
                                            "end": 25767,
                                            "loc": {
                                              "start": {
                                                "line": 619,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 619,
                                                "column": 34
                                              }
                                            },
                                            "name": "arg"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 25771,
                                          "end": 25795,
                                          "loc": {
                                            "start": {
                                              "line": 619,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 619,
                                              "column": 62
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 25773,
                                              "end": 25793,
                                              "loc": {
                                                "start": {
                                                  "line": 619,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 619,
                                                  "column": 60
                                                }
                                              },
                                              "expression": {
                                                "type": "AssignmentExpression",
                                                "start": 25773,
                                                "end": 25792,
                                                "loc": {
                                                  "start": {
                                                    "line": 619,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 619,
                                                    "column": 59
                                                  }
                                                },
                                                "operator": "=",
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 25773,
                                                  "end": 25784,
                                                  "loc": {
                                                    "start": {
                                                      "line": 619,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 619,
                                                      "column": 51
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 25773,
                                                    "end": 25776,
                                                    "loc": {
                                                      "start": {
                                                        "line": 619,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 619,
                                                        "column": 43
                                                      }
                                                    },
                                                    "name": "arg"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 25777,
                                                    "end": 25784,
                                                    "loc": {
                                                      "start": {
                                                        "line": 619,
                                                        "column": 44
                                                      },
                                                      "end": {
                                                        "line": 619,
                                                        "column": 51
                                                      }
                                                    },
                                                    "name": "hovered"
                                                  },
                                                  "computed": false
                                                },
                                                "right": {
                                                  "type": "Literal",
                                                  "start": 25787,
                                                  "end": 25792,
                                                  "loc": {
                                                    "start": {
                                                      "line": 619,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 619,
                                                      "column": 59
                                                    }
                                                  },
                                                  "value": false,
                                                  "rawValue": false,
                                                  "raw": "false"
                                                }
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 25810,
                                  "end": 25823,
                                  "loc": {
                                    "start": {
                                      "line": 620,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 620,
                                      "column": 25
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 25810,
                                    "end": 25822,
                                    "loc": {
                                      "start": {
                                        "line": 620,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 620,
                                        "column": 24
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 25810,
                                      "end": 25820,
                                      "loc": {
                                        "start": {
                                          "line": 620,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 620,
                                          "column": 22
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 25810,
                                        "end": 25815,
                                        "loc": {
                                          "start": {
                                            "line": 620,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 620,
                                            "column": 17
                                          }
                                        },
                                        "name": "child"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 25816,
                                        "end": 25820,
                                        "loc": {
                                          "start": {
                                            "line": 620,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 620,
                                            "column": 22
                                          }
                                        },
                                        "name": "hide"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 25845,
                      "end": 26086,
                      "loc": {
                        "start": {
                          "line": 623,
                          "column": 8
                        },
                        "end": {
                          "line": 629,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 25845,
                        "end": 26085,
                        "loc": {
                          "start": {
                            "line": 623,
                            "column": 8
                          },
                          "end": {
                            "line": 629,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 25845,
                          "end": 25878,
                          "loc": {
                            "start": {
                              "line": 623,
                              "column": 8
                            },
                            "end": {
                              "line": 623,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 25845,
                            "end": 25870,
                            "loc": {
                              "start": {
                                "line": 623,
                                "column": 8
                              },
                              "end": {
                                "line": 623,
                                "column": 33
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 25845,
                              "end": 25868,
                              "loc": {
                                "start": {
                                  "line": 623,
                                  "column": 8
                                },
                                "end": {
                                  "line": 623,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 25845,
                                "end": 25849,
                                "loc": {
                                  "start": {
                                    "line": 623,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 623,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 25850,
                                "end": 25868,
                                "loc": {
                                  "start": {
                                    "line": 623,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 623,
                                    "column": 31
                                  }
                                },
                                "name": "getObjectsOnSketch"
                              },
                              "computed": false
                            },
                            "arguments": []
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 25871,
                            "end": 25878,
                            "loc": {
                              "start": {
                                "line": 623,
                                "column": 34
                              },
                              "end": {
                                "line": 623,
                                "column": 41
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 25879,
                            "end": 26084,
                            "loc": {
                              "start": {
                                "line": 623,
                                "column": 42
                              },
                              "end": {
                                "line": 629,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 25879,
                                "end": 25882,
                                "loc": {
                                  "start": {
                                    "line": 623,
                                    "column": 42
                                  },
                                  "end": {
                                    "line": 623,
                                    "column": 45
                                  }
                                },
                                "name": "obj"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 25886,
                              "end": 26084,
                              "loc": {
                                "start": {
                                  "line": 623,
                                  "column": 49
                                },
                                "end": {
                                  "line": 629,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 25900,
                                  "end": 26073,
                                  "loc": {
                                    "start": {
                                      "line": 624,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 627,
                                      "column": 15
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 25900,
                                    "end": 26072,
                                    "loc": {
                                      "start": {
                                        "line": 624,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 627,
                                        "column": 14
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 25900,
                                      "end": 25929,
                                      "loc": {
                                        "start": {
                                          "line": 624,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 624,
                                          "column": 41
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 25900,
                                        "end": 25906,
                                        "loc": {
                                          "start": {
                                            "line": 624,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 624,
                                            "column": 18
                                          }
                                        },
                                        "name": "Sketch"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 25907,
                                        "end": 25929,
                                        "loc": {
                                          "start": {
                                            "line": 624,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 624,
                                            "column": 41
                                          }
                                        },
                                        "name": "ForObjectsWithChildren"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 25930,
                                        "end": 25933,
                                        "loc": {
                                          "start": {
                                            "line": 624,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 624,
                                            "column": 45
                                          }
                                        },
                                        "name": "obj"
                                      },
                                      {
                                        "type": "FunctionExpression",
                                        "start": 25935,
                                        "end": 26071,
                                        "loc": {
                                          "start": {
                                            "line": 624,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 627,
                                            "column": 13
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 25944,
                                            "end": 25947,
                                            "loc": {
                                              "start": {
                                                "line": 624,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 624,
                                                "column": 59
                                              }
                                            },
                                            "name": "arg"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 25948,
                                          "end": 26071,
                                          "loc": {
                                            "start": {
                                              "line": 624,
                                              "column": 60
                                            },
                                            "end": {
                                              "line": 627,
                                              "column": 13
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "IfStatement",
                                              "start": 25966,
                                              "end": 26057,
                                              "loc": {
                                                "start": {
                                                  "line": 625,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 626,
                                                  "column": 61
                                                }
                                              },
                                              "test": {
                                                "type": "MemberExpression",
                                                "start": 25970,
                                                "end": 25994,
                                                "loc": {
                                                  "start": {
                                                    "line": 625,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 625,
                                                    "column": 44
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 25970,
                                                  "end": 25973,
                                                  "loc": {
                                                    "start": {
                                                      "line": 625,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 625,
                                                      "column": 23
                                                    }
                                                  },
                                                  "name": "arg"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 25974,
                                                  "end": 25994,
                                                  "loc": {
                                                    "start": {
                                                      "line": 625,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 625,
                                                      "column": 44
                                                    }
                                                  },
                                                  "name": "constraintsSubstrate"
                                                },
                                                "computed": false
                                              },
                                              "consequent": {
                                                "type": "ExpressionStatement",
                                                "start": 26016,
                                                "end": 26057,
                                                "loc": {
                                                  "start": {
                                                    "line": 626,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 626,
                                                    "column": 61
                                                  }
                                                },
                                                "expression": {
                                                  "type": "AssignmentExpression",
                                                  "start": 26016,
                                                  "end": 26056,
                                                  "loc": {
                                                    "start": {
                                                      "line": 626,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 626,
                                                      "column": 60
                                                    }
                                                  },
                                                  "operator": "=",
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "start": 26016,
                                                    "end": 26048,
                                                    "loc": {
                                                      "start": {
                                                        "line": 626,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 626,
                                                        "column": 52
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "MemberExpression",
                                                      "start": 26016,
                                                      "end": 26040,
                                                      "loc": {
                                                        "start": {
                                                          "line": 626,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 626,
                                                          "column": 44
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 26016,
                                                        "end": 26019,
                                                        "loc": {
                                                          "start": {
                                                            "line": 626,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 626,
                                                            "column": 23
                                                          }
                                                        },
                                                        "name": "arg"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 26020,
                                                        "end": 26040,
                                                        "loc": {
                                                          "start": {
                                                            "line": 626,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 626,
                                                            "column": 44
                                                          }
                                                        },
                                                        "name": "constraintsSubstrate"
                                                      },
                                                      "computed": false
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 26041,
                                                      "end": 26048,
                                                      "loc": {
                                                        "start": {
                                                          "line": 626,
                                                          "column": 45
                                                        },
                                                        "end": {
                                                          "line": 626,
                                                          "column": 52
                                                        }
                                                      },
                                                      "name": "visible"
                                                    },
                                                    "computed": false
                                                  },
                                                  "right": {
                                                    "type": "Literal",
                                                    "start": 26051,
                                                    "end": 26056,
                                                    "loc": {
                                                      "start": {
                                                        "line": 626,
                                                        "column": 55
                                                      },
                                                      "end": {
                                                        "line": 626,
                                                        "column": 60
                                                      }
                                                    },
                                                    "value": false,
                                                    "rawValue": false,
                                                    "raw": "false"
                                                  }
                                                }
                                              },
                                              "alternate": null
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 26098,
              "end": 27026,
              "loc": {
                "start": {
                  "line": 632,
                  "column": 4
                },
                "end": {
                  "line": 653,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 26098,
                "end": 26115,
                "loc": {
                  "start": {
                    "line": 632,
                    "column": 4
                  },
                  "end": {
                    "line": 632,
                    "column": 21
                  }
                },
                "name": "updateConstraints"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 26115,
                "end": 27026,
                "loc": {
                  "start": {
                    "line": 632,
                    "column": 21
                  },
                  "end": {
                    "line": 653,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 26116,
                    "end": 26119,
                    "loc": {
                      "start": {
                        "line": 632,
                        "column": 22
                      },
                      "end": {
                        "line": 632,
                        "column": 25
                      }
                    },
                    "name": "obj"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 26121,
                  "end": 27026,
                  "loc": {
                    "start": {
                      "line": 632,
                      "column": 27
                    },
                    "end": {
                      "line": 653,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 26131,
                      "end": 26172,
                      "loc": {
                        "start": {
                          "line": 633,
                          "column": 8
                        },
                        "end": {
                          "line": 633,
                          "column": 49
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 26135,
                          "end": 26171,
                          "loc": {
                            "start": {
                              "line": 633,
                              "column": 12
                            },
                            "end": {
                              "line": 633,
                              "column": 48
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 26135,
                            "end": 26144,
                            "loc": {
                              "start": {
                                "line": 633,
                                "column": 12
                              },
                              "end": {
                                "line": 633,
                                "column": 21
                              }
                            },
                            "name": "substrate"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 26147,
                            "end": 26171,
                            "loc": {
                              "start": {
                                "line": 633,
                                "column": 24
                              },
                              "end": {
                                "line": 633,
                                "column": 48
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 26147,
                              "end": 26150,
                              "loc": {
                                "start": {
                                  "line": 633,
                                  "column": 24
                                },
                                "end": {
                                  "line": 633,
                                  "column": 27
                                }
                              },
                              "name": "obj"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 26151,
                              "end": 26171,
                              "loc": {
                                "start": {
                                  "line": 633,
                                  "column": 28
                                },
                                "end": {
                                  "line": 633,
                                  "column": 48
                                }
                              },
                              "name": "constraintsSubstrate"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 26181,
                      "end": 26232,
                      "loc": {
                        "start": {
                          "line": 634,
                          "column": 8
                        },
                        "end": {
                          "line": 634,
                          "column": 59
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 26185,
                          "end": 26231,
                          "loc": {
                            "start": {
                              "line": 634,
                              "column": 12
                            },
                            "end": {
                              "line": 634,
                              "column": 58
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 26185,
                            "end": 26196,
                            "loc": {
                              "start": {
                                "line": 634,
                                "column": 12
                              },
                              "end": {
                                "line": 634,
                                "column": 23
                              }
                            },
                            "name": "constraints"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 26199,
                            "end": 26231,
                            "loc": {
                              "start": {
                                "line": 634,
                                "column": 26
                              },
                              "end": {
                                "line": 634,
                                "column": 58
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 26199,
                              "end": 26226,
                              "loc": {
                                "start": {
                                  "line": 634,
                                  "column": 26
                                },
                                "end": {
                                  "line": 634,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 26199,
                                "end": 26203,
                                "loc": {
                                  "start": {
                                    "line": 634,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 634,
                                    "column": 30
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 26204,
                                "end": 26226,
                                "loc": {
                                  "start": {
                                    "line": 634,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 634,
                                    "column": 53
                                  }
                                },
                                "name": "getConstraintsOnSketch"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 26227,
                                "end": 26230,
                                "loc": {
                                  "start": {
                                    "line": 634,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 634,
                                    "column": 57
                                  }
                                },
                                "name": "obj"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 26242,
                      "end": 26419,
                      "loc": {
                        "start": {
                          "line": 636,
                          "column": 8
                        },
                        "end": {
                          "line": 640,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 26246,
                        "end": 26270,
                        "loc": {
                          "start": {
                            "line": 636,
                            "column": 12
                          },
                          "end": {
                            "line": 636,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 26246,
                          "end": 26264,
                          "loc": {
                            "start": {
                              "line": 636,
                              "column": 12
                            },
                            "end": {
                              "line": 636,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 26246,
                            "end": 26257,
                            "loc": {
                              "start": {
                                "line": 636,
                                "column": 12
                              },
                              "end": {
                                "line": 636,
                                "column": 23
                              }
                            },
                            "name": "constraints"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 26258,
                            "end": 26264,
                            "loc": {
                              "start": {
                                "line": 636,
                                "column": 24
                              },
                              "end": {
                                "line": 636,
                                "column": 30
                              }
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 26269,
                          "end": 26270,
                          "loc": {
                            "start": {
                              "line": 636,
                              "column": 35
                            },
                            "end": {
                              "line": 636,
                              "column": 36
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 26272,
                        "end": 26419,
                        "loc": {
                          "start": {
                            "line": 636,
                            "column": 38
                          },
                          "end": {
                            "line": 640,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 26286,
                            "end": 26327,
                            "loc": {
                              "start": {
                                "line": 637,
                                "column": 12
                              },
                              "end": {
                                "line": 637,
                                "column": 53
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 26286,
                              "end": 26326,
                              "loc": {
                                "start": {
                                  "line": 637,
                                  "column": 12
                                },
                                "end": {
                                  "line": 637,
                                  "column": 52
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 26286,
                                "end": 26318,
                                "loc": {
                                  "start": {
                                    "line": 637,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 637,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 26286,
                                  "end": 26310,
                                  "loc": {
                                    "start": {
                                      "line": 637,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 637,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 26286,
                                    "end": 26289,
                                    "loc": {
                                      "start": {
                                        "line": 637,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 637,
                                        "column": 15
                                      }
                                    },
                                    "name": "obj"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 26290,
                                    "end": 26310,
                                    "loc": {
                                      "start": {
                                        "line": 637,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 637,
                                        "column": 36
                                      }
                                    },
                                    "name": "constraintsSubstrate"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 26311,
                                  "end": 26318,
                                  "loc": {
                                    "start": {
                                      "line": 637,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 637,
                                      "column": 44
                                    }
                                  },
                                  "name": "visible"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "Literal",
                                "start": 26321,
                                "end": 26326,
                                "loc": {
                                  "start": {
                                    "line": 637,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 637,
                                    "column": 52
                                  }
                                },
                                "value": false,
                                "rawValue": false,
                                "raw": "false"
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 26340,
                            "end": 26387,
                            "loc": {
                              "start": {
                                "line": 638,
                                "column": 12
                              },
                              "end": {
                                "line": 638,
                                "column": 59
                              }
                            },
                            "expression": {
                              "type": "LogicalExpression",
                              "start": 26340,
                              "end": 26386,
                              "loc": {
                                "start": {
                                  "line": 638,
                                  "column": 12
                                },
                                "end": {
                                  "line": 638,
                                  "column": 58
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 26340,
                                "end": 26360,
                                "loc": {
                                  "start": {
                                    "line": 638,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 638,
                                    "column": 32
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 26340,
                                  "end": 26352,
                                  "loc": {
                                    "start": {
                                      "line": 638,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 638,
                                      "column": 24
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 26340,
                                    "end": 26343,
                                    "loc": {
                                      "start": {
                                        "line": 638,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 638,
                                        "column": 15
                                      }
                                    },
                                    "name": "obj"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 26344,
                                    "end": 26352,
                                    "loc": {
                                      "start": {
                                        "line": 638,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 638,
                                        "column": 24
                                      }
                                    },
                                    "name": "interact"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 26353,
                                  "end": 26360,
                                  "loc": {
                                    "start": {
                                      "line": 638,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 638,
                                      "column": 32
                                    }
                                  },
                                  "name": "unhover"
                                },
                                "computed": false
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 26364,
                                "end": 26386,
                                "loc": {
                                  "start": {
                                    "line": 638,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 638,
                                    "column": 58
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 26364,
                                  "end": 26384,
                                  "loc": {
                                    "start": {
                                      "line": 638,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 638,
                                      "column": 56
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 26364,
                                    "end": 26376,
                                    "loc": {
                                      "start": {
                                        "line": 638,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 638,
                                        "column": 48
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 26364,
                                      "end": 26367,
                                      "loc": {
                                        "start": {
                                          "line": 638,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 638,
                                          "column": 39
                                        }
                                      },
                                      "name": "obj"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 26368,
                                      "end": 26376,
                                      "loc": {
                                        "start": {
                                          "line": 638,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 638,
                                          "column": 48
                                        }
                                      },
                                      "name": "interact"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 26377,
                                    "end": 26384,
                                    "loc": {
                                      "start": {
                                        "line": 638,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 638,
                                        "column": 56
                                      }
                                    },
                                    "name": "unhover"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 26400,
                            "end": 26409,
                            "loc": {
                              "start": {
                                "line": 639,
                                "column": 12
                              },
                              "end": {
                                "line": 639,
                                "column": 21
                              }
                            },
                            "argument": {
                              "type": "Literal",
                              "start": 26407,
                              "end": 26408,
                              "loc": {
                                "start": {
                                  "line": 639,
                                  "column": 19
                                },
                                "end": {
                                  "line": 639,
                                  "column": 20
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 26429,
                      "end": 26458,
                      "loc": {
                        "start": {
                          "line": 642,
                          "column": 8
                        },
                        "end": {
                          "line": 642,
                          "column": 37
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 26433,
                          "end": 26457,
                          "loc": {
                            "start": {
                              "line": 642,
                              "column": 12
                            },
                            "end": {
                              "line": 642,
                              "column": 36
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 26433,
                            "end": 26436,
                            "loc": {
                              "start": {
                                "line": 642,
                                "column": 12
                              },
                              "end": {
                                "line": 642,
                                "column": 15
                              }
                            },
                            "name": "len"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 26439,
                            "end": 26457,
                            "loc": {
                              "start": {
                                "line": 642,
                                "column": 18
                              },
                              "end": {
                                "line": 642,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 26439,
                              "end": 26450,
                              "loc": {
                                "start": {
                                  "line": 642,
                                  "column": 18
                                },
                                "end": {
                                  "line": 642,
                                  "column": 29
                                }
                              },
                              "name": "constraints"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 26451,
                              "end": 26457,
                              "loc": {
                                "start": {
                                  "line": 642,
                                  "column": 30
                                },
                                "end": {
                                  "line": 642,
                                  "column": 36
                                }
                              },
                              "name": "length"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 26467,
                      "end": 26507,
                      "loc": {
                        "start": {
                          "line": 643,
                          "column": 8
                        },
                        "end": {
                          "line": 643,
                          "column": 48
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 26471,
                          "end": 26506,
                          "loc": {
                            "start": {
                              "line": 643,
                              "column": 12
                            },
                            "end": {
                              "line": 643,
                              "column": 47
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 26471,
                            "end": 26476,
                            "loc": {
                              "start": {
                                "line": 643,
                                "column": 12
                              },
                              "end": {
                                "line": 643,
                                "column": 17
                              }
                            },
                            "name": "scale"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 26479,
                            "end": 26506,
                            "loc": {
                              "start": {
                                "line": 643,
                                "column": 20
                              },
                              "end": {
                                "line": 643,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 26479,
                              "end": 26504,
                              "loc": {
                                "start": {
                                  "line": 643,
                                  "column": 20
                                },
                                "end": {
                                  "line": 643,
                                  "column": 45
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 26479,
                                "end": 26498,
                                "loc": {
                                  "start": {
                                    "line": 643,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 643,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 26479,
                                  "end": 26493,
                                  "loc": {
                                    "start": {
                                      "line": 643,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 643,
                                      "column": 34
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 26479,
                                    "end": 26490,
                                    "loc": {
                                      "start": {
                                        "line": 643,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 643,
                                        "column": 31
                                      }
                                    },
                                    "name": "constraints"
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 26491,
                                    "end": 26492,
                                    "loc": {
                                      "start": {
                                        "line": 643,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 643,
                                        "column": 33
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 26494,
                                  "end": 26498,
                                  "loc": {
                                    "start": {
                                      "line": 643,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 643,
                                      "column": 39
                                    }
                                  },
                                  "name": "mesh"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 26499,
                                "end": 26504,
                                "loc": {
                                  "start": {
                                    "line": 643,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 643,
                                    "column": 45
                                  }
                                },
                                "name": "scale"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 26505,
                              "end": 26506,
                              "loc": {
                                "start": {
                                  "line": 643,
                                  "column": 46
                                },
                                "end": {
                                  "line": 643,
                                  "column": 47
                                }
                              },
                              "name": "x"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 26516,
                      "end": 26539,
                      "loc": {
                        "start": {
                          "line": 644,
                          "column": 8
                        },
                        "end": {
                          "line": 644,
                          "column": 31
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 26520,
                          "end": 26538,
                          "loc": {
                            "start": {
                              "line": 644,
                              "column": 12
                            },
                            "end": {
                              "line": 644,
                              "column": 30
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 26520,
                            "end": 26524,
                            "loc": {
                              "start": {
                                "line": 644,
                                "column": 12
                              },
                              "end": {
                                "line": 644,
                                "column": 16
                              }
                            },
                            "name": "size"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 26527,
                            "end": 26538,
                            "loc": {
                              "start": {
                                "line": 644,
                                "column": 19
                              },
                              "end": {
                                "line": 644,
                                "column": 30
                              }
                            },
                            "left": {
                              "type": "Literal",
                              "start": 26527,
                              "end": 26530,
                              "loc": {
                                "start": {
                                  "line": 644,
                                  "column": 19
                                },
                                "end": {
                                  "line": 644,
                                  "column": 22
                                }
                              },
                              "value": 1.2,
                              "rawValue": 1.2,
                              "raw": "1.2"
                            },
                            "operator": "*",
                            "right": {
                              "type": "Identifier",
                              "start": 26533,
                              "end": 26538,
                              "loc": {
                                "start": {
                                  "line": 644,
                                  "column": 25
                                },
                                "end": {
                                  "line": 644,
                                  "column": 30
                                }
                              },
                              "name": "scale"
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 26548,
                      "end": 26620,
                      "loc": {
                        "start": {
                          "line": 645,
                          "column": 8
                        },
                        "end": {
                          "line": 645,
                          "column": 80
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 26548,
                        "end": 26619,
                        "loc": {
                          "start": {
                            "line": 645,
                            "column": 8
                          },
                          "end": {
                            "line": 645,
                            "column": 79
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 26548,
                          "end": 26567,
                          "loc": {
                            "start": {
                              "line": 645,
                              "column": 8
                            },
                            "end": {
                              "line": 645,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 26548,
                            "end": 26563,
                            "loc": {
                              "start": {
                                "line": 645,
                                "column": 8
                              },
                              "end": {
                                "line": 645,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 26548,
                              "end": 26557,
                              "loc": {
                                "start": {
                                  "line": 645,
                                  "column": 8
                                },
                                "end": {
                                  "line": 645,
                                  "column": 17
                                }
                              },
                              "name": "substrate"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 26558,
                              "end": 26563,
                              "loc": {
                                "start": {
                                  "line": 645,
                                  "column": 18
                                },
                                "end": {
                                  "line": 645,
                                  "column": 23
                                }
                              },
                              "name": "scale"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 26564,
                            "end": 26567,
                            "loc": {
                              "start": {
                                "line": 645,
                                "column": 24
                              },
                              "end": {
                                "line": 645,
                                "column": 27
                              }
                            },
                            "name": "set"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 26568,
                            "end": 26593,
                            "loc": {
                              "start": {
                                "line": 645,
                                "column": 28
                              },
                              "end": {
                                "line": 645,
                                "column": 53
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 26568,
                              "end": 26572,
                              "loc": {
                                "start": {
                                  "line": 645,
                                  "column": 28
                                },
                                "end": {
                                  "line": 645,
                                  "column": 32
                                }
                              },
                              "name": "size"
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 26575,
                              "end": 26593,
                              "loc": {
                                "start": {
                                  "line": 645,
                                  "column": 35
                                },
                                "end": {
                                  "line": 645,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 26575,
                                "end": 26586,
                                "loc": {
                                  "start": {
                                    "line": 645,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 645,
                                    "column": 46
                                  }
                                },
                                "name": "constraints"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 26587,
                                "end": 26593,
                                "loc": {
                                  "start": {
                                    "line": 645,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 645,
                                    "column": 53
                                  }
                                },
                                "name": "length"
                              },
                              "computed": false
                            }
                          },
                          {
                            "type": "Identifier",
                            "start": 26595,
                            "end": 26599,
                            "loc": {
                              "start": {
                                "line": 645,
                                "column": 55
                              },
                              "end": {
                                "line": 645,
                                "column": 59
                              }
                            },
                            "name": "size"
                          },
                          {
                            "type": "CallExpression",
                            "start": 26601,
                            "end": 26618,
                            "loc": {
                              "start": {
                                "line": 645,
                                "column": 61
                              },
                              "end": {
                                "line": 645,
                                "column": 78
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 26601,
                              "end": 26609,
                              "loc": {
                                "start": {
                                  "line": 645,
                                  "column": 61
                                },
                                "end": {
                                  "line": 645,
                                  "column": 69
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 26601,
                                "end": 26605,
                                "loc": {
                                  "start": {
                                    "line": 645,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 645,
                                    "column": 65
                                  }
                                },
                                "name": "Math"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 26606,
                                "end": 26609,
                                "loc": {
                                  "start": {
                                    "line": 645,
                                    "column": 66
                                  },
                                  "end": {
                                    "line": 645,
                                    "column": 69
                                  }
                                },
                                "name": "min"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 26610,
                                "end": 26614,
                                "loc": {
                                  "start": {
                                    "line": 645,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 645,
                                    "column": 74
                                  }
                                },
                                "name": "size"
                              },
                              {
                                "type": "Literal",
                                "start": 26616,
                                "end": 26617,
                                "loc": {
                                  "start": {
                                    "line": 645,
                                    "column": 76
                                  },
                                  "end": {
                                    "line": 645,
                                    "column": 77
                                  }
                                },
                                "value": 1,
                                "rawValue": 1,
                                "raw": "1"
                              }
                            ]
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 26629,
                      "end": 26689,
                      "loc": {
                        "start": {
                          "line": 646,
                          "column": 8
                        },
                        "end": {
                          "line": 646,
                          "column": 68
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 26633,
                          "end": 26688,
                          "loc": {
                            "start": {
                              "line": 646,
                              "column": 12
                            },
                            "end": {
                              "line": 646,
                              "column": 67
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 26633,
                            "end": 26636,
                            "loc": {
                              "start": {
                                "line": 646,
                                "column": 12
                              },
                              "end": {
                                "line": 646,
                                "column": 15
                              }
                            },
                            "name": "pos"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 26639,
                            "end": 26688,
                            "loc": {
                              "start": {
                                "line": 646,
                                "column": 18
                              },
                              "end": {
                                "line": 646,
                                "column": 67
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 26639,
                              "end": 26663,
                              "loc": {
                                "start": {
                                  "line": 646,
                                  "column": 18
                                },
                                "end": {
                                  "line": 646,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 26639,
                                "end": 26642,
                                "loc": {
                                  "start": {
                                    "line": 646,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 646,
                                    "column": 21
                                  }
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 26643,
                                "end": 26663,
                                "loc": {
                                  "start": {
                                    "line": 646,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 646,
                                    "column": 42
                                  }
                                },
                                "name": "getSubstratePosition"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 26664,
                                "end": 26681,
                                "loc": {
                                  "start": {
                                    "line": 646,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 646,
                                    "column": 60
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 26664,
                                  "end": 26679,
                                  "loc": {
                                    "start": {
                                      "line": 646,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 646,
                                      "column": 58
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 26664,
                                    "end": 26673,
                                    "loc": {
                                      "start": {
                                        "line": 646,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 646,
                                        "column": 52
                                      }
                                    },
                                    "name": "substrate"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 26674,
                                    "end": 26679,
                                    "loc": {
                                      "start": {
                                        "line": 646,
                                        "column": 53
                                      },
                                      "end": {
                                        "line": 646,
                                        "column": 58
                                      }
                                    },
                                    "name": "scale"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 26680,
                                  "end": 26681,
                                  "loc": {
                                    "start": {
                                      "line": 646,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 646,
                                      "column": 60
                                    }
                                  },
                                  "name": "x"
                                },
                                "computed": false
                              },
                              {
                                "type": "Identifier",
                                "start": 26683,
                                "end": 26687,
                                "loc": {
                                  "start": {
                                    "line": 646,
                                    "column": 62
                                  },
                                  "end": {
                                    "line": 646,
                                    "column": 66
                                  }
                                },
                                "name": "size"
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 26698,
                      "end": 26739,
                      "loc": {
                        "start": {
                          "line": 647,
                          "column": 8
                        },
                        "end": {
                          "line": 647,
                          "column": 49
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 26698,
                        "end": 26738,
                        "loc": {
                          "start": {
                            "line": 647,
                            "column": 8
                          },
                          "end": {
                            "line": 647,
                            "column": 48
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 26698,
                          "end": 26720,
                          "loc": {
                            "start": {
                              "line": 647,
                              "column": 8
                            },
                            "end": {
                              "line": 647,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 26698,
                            "end": 26716,
                            "loc": {
                              "start": {
                                "line": 647,
                                "column": 8
                              },
                              "end": {
                                "line": 647,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 26698,
                              "end": 26707,
                              "loc": {
                                "start": {
                                  "line": 647,
                                  "column": 8
                                },
                                "end": {
                                  "line": 647,
                                  "column": 17
                                }
                              },
                              "name": "substrate"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 26708,
                              "end": 26716,
                              "loc": {
                                "start": {
                                  "line": 647,
                                  "column": 18
                                },
                                "end": {
                                  "line": 647,
                                  "column": 26
                                }
                              },
                              "name": "position"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 26717,
                            "end": 26720,
                            "loc": {
                              "start": {
                                "line": 647,
                                "column": 27
                              },
                              "end": {
                                "line": 647,
                                "column": 30
                              }
                            },
                            "name": "set"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 26721,
                            "end": 26726,
                            "loc": {
                              "start": {
                                "line": 647,
                                "column": 31
                              },
                              "end": {
                                "line": 647,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 26721,
                              "end": 26724,
                              "loc": {
                                "start": {
                                  "line": 647,
                                  "column": 31
                                },
                                "end": {
                                  "line": 647,
                                  "column": 34
                                }
                              },
                              "name": "pos"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 26725,
                              "end": 26726,
                              "loc": {
                                "start": {
                                  "line": 647,
                                  "column": 35
                                },
                                "end": {
                                  "line": 647,
                                  "column": 36
                                }
                              },
                              "name": "x"
                            },
                            "computed": false
                          },
                          {
                            "type": "MemberExpression",
                            "start": 26728,
                            "end": 26733,
                            "loc": {
                              "start": {
                                "line": 647,
                                "column": 38
                              },
                              "end": {
                                "line": 647,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 26728,
                              "end": 26731,
                              "loc": {
                                "start": {
                                  "line": 647,
                                  "column": 38
                                },
                                "end": {
                                  "line": 647,
                                  "column": 41
                                }
                              },
                              "name": "pos"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 26732,
                              "end": 26733,
                              "loc": {
                                "start": {
                                  "line": 647,
                                  "column": 42
                                },
                                "end": {
                                  "line": 647,
                                  "column": 43
                                }
                              },
                              "name": "y"
                            },
                            "computed": false
                          },
                          {
                            "type": "UnaryExpression",
                            "start": 26735,
                            "end": 26737,
                            "loc": {
                              "start": {
                                "line": 647,
                                "column": 45
                              },
                              "end": {
                                "line": 647,
                                "column": 47
                              }
                            },
                            "operator": "-",
                            "prefix": true,
                            "argument": {
                              "type": "Literal",
                              "start": 26736,
                              "end": 26737,
                              "loc": {
                                "start": {
                                  "line": 647,
                                  "column": 46
                                },
                                "end": {
                                  "line": 647,
                                  "column": 47
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 26748,
                      "end": 26826,
                      "loc": {
                        "start": {
                          "line": 648,
                          "column": 8
                        },
                        "end": {
                          "line": 648,
                          "column": 86
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 26752,
                          "end": 26825,
                          "loc": {
                            "start": {
                              "line": 648,
                              "column": 12
                            },
                            "end": {
                              "line": 648,
                              "column": 85
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 26752,
                            "end": 26761,
                            "loc": {
                              "start": {
                                "line": 648,
                                "column": 12
                              },
                              "end": {
                                "line": 648,
                                "column": 21
                              }
                            },
                            "name": "mostLeftX"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 26764,
                            "end": 26825,
                            "loc": {
                              "start": {
                                "line": 648,
                                "column": 24
                              },
                              "end": {
                                "line": 648,
                                "column": 85
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 26764,
                              "end": 26801,
                              "loc": {
                                "start": {
                                  "line": 648,
                                  "column": 24
                                },
                                "end": {
                                  "line": 648,
                                  "column": 61
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 26764,
                                "end": 26784,
                                "loc": {
                                  "start": {
                                    "line": 648,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 648,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 26764,
                                  "end": 26782,
                                  "loc": {
                                    "start": {
                                      "line": 648,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 648,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 26764,
                                    "end": 26773,
                                    "loc": {
                                      "start": {
                                        "line": 648,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 648,
                                        "column": 33
                                      }
                                    },
                                    "name": "substrate"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 26774,
                                    "end": 26782,
                                    "loc": {
                                      "start": {
                                        "line": 648,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 648,
                                        "column": 42
                                      }
                                    },
                                    "name": "position"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 26783,
                                  "end": 26784,
                                  "loc": {
                                    "start": {
                                      "line": 648,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 648,
                                      "column": 44
                                    }
                                  },
                                  "name": "x"
                                },
                                "computed": false
                              },
                              "operator": "+",
                              "right": {
                                "type": "MemberExpression",
                                "start": 26787,
                                "end": 26801,
                                "loc": {
                                  "start": {
                                    "line": 648,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 648,
                                    "column": 61
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 26787,
                                  "end": 26799,
                                  "loc": {
                                    "start": {
                                      "line": 648,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 648,
                                      "column": 59
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 26787,
                                    "end": 26790,
                                    "loc": {
                                      "start": {
                                        "line": 648,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 648,
                                        "column": 50
                                      }
                                    },
                                    "name": "obj"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 26791,
                                    "end": 26799,
                                    "loc": {
                                      "start": {
                                        "line": 648,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 648,
                                        "column": 59
                                      }
                                    },
                                    "name": "position"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 26800,
                                  "end": 26801,
                                  "loc": {
                                    "start": {
                                      "line": 648,
                                      "column": 60
                                    },
                                    "end": {
                                      "line": 648,
                                      "column": 61
                                    }
                                  },
                                  "name": "x"
                                },
                                "computed": false
                              }
                            },
                            "operator": "-",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 26804,
                              "end": 26825,
                              "loc": {
                                "start": {
                                  "line": 648,
                                  "column": 64
                                },
                                "end": {
                                  "line": 648,
                                  "column": 85
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 26804,
                                "end": 26821,
                                "loc": {
                                  "start": {
                                    "line": 648,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 648,
                                    "column": 81
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 26804,
                                  "end": 26819,
                                  "loc": {
                                    "start": {
                                      "line": 648,
                                      "column": 64
                                    },
                                    "end": {
                                      "line": 648,
                                      "column": 79
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 26804,
                                    "end": 26813,
                                    "loc": {
                                      "start": {
                                        "line": 648,
                                        "column": 64
                                      },
                                      "end": {
                                        "line": 648,
                                        "column": 73
                                      }
                                    },
                                    "name": "substrate"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 26814,
                                    "end": 26819,
                                    "loc": {
                                      "start": {
                                        "line": 648,
                                        "column": 74
                                      },
                                      "end": {
                                        "line": 648,
                                        "column": 79
                                      }
                                    },
                                    "name": "scale"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 26820,
                                  "end": 26821,
                                  "loc": {
                                    "start": {
                                      "line": 648,
                                      "column": 80
                                    },
                                    "end": {
                                      "line": 648,
                                      "column": 81
                                    }
                                  },
                                  "name": "x"
                                },
                                "computed": false
                              },
                              "operator": "/",
                              "right": {
                                "type": "Literal",
                                "start": 26824,
                                "end": 26825,
                                "loc": {
                                  "start": {
                                    "line": 648,
                                    "column": 84
                                  },
                                  "end": {
                                    "line": 648,
                                    "column": 85
                                  }
                                },
                                "value": 2,
                                "rawValue": 2,
                                "raw": "2"
                              }
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 26835,
                      "end": 26887,
                      "loc": {
                        "start": {
                          "line": 649,
                          "column": 8
                        },
                        "end": {
                          "line": 649,
                          "column": 60
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 26839,
                          "end": 26886,
                          "loc": {
                            "start": {
                              "line": 649,
                              "column": 12
                            },
                            "end": {
                              "line": 649,
                              "column": 59
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 26839,
                            "end": 26846,
                            "loc": {
                              "start": {
                                "line": 649,
                                "column": 12
                              },
                              "end": {
                                "line": 649,
                                "column": 19
                              }
                            },
                            "name": "middleY"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 26849,
                            "end": 26886,
                            "loc": {
                              "start": {
                                "line": 649,
                                "column": 22
                              },
                              "end": {
                                "line": 649,
                                "column": 59
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 26849,
                              "end": 26869,
                              "loc": {
                                "start": {
                                  "line": 649,
                                  "column": 22
                                },
                                "end": {
                                  "line": 649,
                                  "column": 42
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 26849,
                                "end": 26867,
                                "loc": {
                                  "start": {
                                    "line": 649,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 649,
                                    "column": 40
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 26849,
                                  "end": 26858,
                                  "loc": {
                                    "start": {
                                      "line": 649,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 649,
                                      "column": 31
                                    }
                                  },
                                  "name": "substrate"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 26859,
                                  "end": 26867,
                                  "loc": {
                                    "start": {
                                      "line": 649,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 649,
                                      "column": 40
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 26868,
                                "end": 26869,
                                "loc": {
                                  "start": {
                                    "line": 649,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 649,
                                    "column": 42
                                  }
                                },
                                "name": "y"
                              },
                              "computed": false
                            },
                            "operator": "+",
                            "right": {
                              "type": "MemberExpression",
                              "start": 26872,
                              "end": 26886,
                              "loc": {
                                "start": {
                                  "line": 649,
                                  "column": 45
                                },
                                "end": {
                                  "line": 649,
                                  "column": 59
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 26872,
                                "end": 26884,
                                "loc": {
                                  "start": {
                                    "line": 649,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 649,
                                    "column": 57
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 26872,
                                  "end": 26875,
                                  "loc": {
                                    "start": {
                                      "line": 649,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 649,
                                      "column": 48
                                    }
                                  },
                                  "name": "obj"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 26876,
                                  "end": 26884,
                                  "loc": {
                                    "start": {
                                      "line": 649,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 649,
                                      "column": 57
                                    }
                                  },
                                  "name": "position"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 26885,
                                "end": 26886,
                                "loc": {
                                  "start": {
                                    "line": 649,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 649,
                                    "column": 59
                                  }
                                },
                                "name": "y"
                              },
                              "computed": false
                            }
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ForStatement",
                      "start": 26896,
                      "end": 27020,
                      "loc": {
                        "start": {
                          "line": 650,
                          "column": 8
                        },
                        "end": {
                          "line": 652,
                          "column": 9
                        }
                      },
                      "init": {
                        "type": "VariableDeclaration",
                        "start": 26901,
                        "end": 26910,
                        "loc": {
                          "start": {
                            "line": 650,
                            "column": 13
                          },
                          "end": {
                            "line": 650,
                            "column": 22
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 26905,
                            "end": 26910,
                            "loc": {
                              "start": {
                                "line": 650,
                                "column": 17
                              },
                              "end": {
                                "line": 650,
                                "column": 22
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 26905,
                              "end": 26906,
                              "loc": {
                                "start": {
                                  "line": 650,
                                  "column": 17
                                },
                                "end": {
                                  "line": 650,
                                  "column": 18
                                }
                              },
                              "name": "i"
                            },
                            "init": {
                              "type": "Literal",
                              "start": 26909,
                              "end": 26910,
                              "loc": {
                                "start": {
                                  "line": 650,
                                  "column": 21
                                },
                                "end": {
                                  "line": 650,
                                  "column": 22
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            }
                          }
                        ],
                        "kind": "var"
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 26912,
                        "end": 26919,
                        "loc": {
                          "start": {
                            "line": 650,
                            "column": 24
                          },
                          "end": {
                            "line": 650,
                            "column": 31
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 26912,
                          "end": 26913,
                          "loc": {
                            "start": {
                              "line": 650,
                              "column": 24
                            },
                            "end": {
                              "line": 650,
                              "column": 25
                            }
                          },
                          "name": "i"
                        },
                        "operator": "<",
                        "right": {
                          "type": "Identifier",
                          "start": 26916,
                          "end": 26919,
                          "loc": {
                            "start": {
                              "line": 650,
                              "column": 28
                            },
                            "end": {
                              "line": 650,
                              "column": 31
                            }
                          },
                          "name": "len"
                        }
                      },
                      "update": {
                        "type": "UpdateExpression",
                        "start": 26921,
                        "end": 26924,
                        "loc": {
                          "start": {
                            "line": 650,
                            "column": 33
                          },
                          "end": {
                            "line": 650,
                            "column": 36
                          }
                        },
                        "operator": "++",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 26923,
                          "end": 26924,
                          "loc": {
                            "start": {
                              "line": 650,
                              "column": 35
                            },
                            "end": {
                              "line": 650,
                              "column": 36
                            }
                          },
                          "name": "i"
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "start": 26926,
                        "end": 27020,
                        "loc": {
                          "start": {
                            "line": 650,
                            "column": 38
                          },
                          "end": {
                            "line": 652,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 26940,
                            "end": 27010,
                            "loc": {
                              "start": {
                                "line": 651,
                                "column": 12
                              },
                              "end": {
                                "line": 651,
                                "column": 82
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 26940,
                              "end": 27009,
                              "loc": {
                                "start": {
                                  "line": 651,
                                  "column": 12
                                },
                                "end": {
                                  "line": 651,
                                  "column": 81
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 26940,
                                "end": 26967,
                                "loc": {
                                  "start": {
                                    "line": 651,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 651,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 26940,
                                  "end": 26963,
                                  "loc": {
                                    "start": {
                                      "line": 651,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 651,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 26940,
                                    "end": 26954,
                                    "loc": {
                                      "start": {
                                        "line": 651,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 651,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 26940,
                                      "end": 26951,
                                      "loc": {
                                        "start": {
                                          "line": 651,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 651,
                                          "column": 23
                                        }
                                      },
                                      "name": "constraints"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 26952,
                                      "end": 26953,
                                      "loc": {
                                        "start": {
                                          "line": 651,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 651,
                                          "column": 25
                                        }
                                      },
                                      "name": "i"
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 26955,
                                    "end": 26963,
                                    "loc": {
                                      "start": {
                                        "line": 651,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 651,
                                        "column": 35
                                      }
                                    },
                                    "name": "position"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 26964,
                                  "end": 26967,
                                  "loc": {
                                    "start": {
                                      "line": 651,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 651,
                                      "column": 39
                                    }
                                  },
                                  "name": "set"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 26968,
                                  "end": 26996,
                                  "loc": {
                                    "start": {
                                      "line": 651,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 651,
                                      "column": 68
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 26968,
                                    "end": 26977,
                                    "loc": {
                                      "start": {
                                        "line": 651,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 651,
                                        "column": 49
                                      }
                                    },
                                    "name": "mostLeftX"
                                  },
                                  "operator": "+",
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 26980,
                                    "end": 26996,
                                    "loc": {
                                      "start": {
                                        "line": 651,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 651,
                                        "column": 68
                                      }
                                    },
                                    "left": {
                                      "type": "BinaryExpression",
                                      "start": 26981,
                                      "end": 26988,
                                      "loc": {
                                        "start": {
                                          "line": 651,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 651,
                                          "column": 60
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 26981,
                                        "end": 26982,
                                        "loc": {
                                          "start": {
                                            "line": 651,
                                            "column": 53
                                          },
                                          "end": {
                                            "line": 651,
                                            "column": 54
                                          }
                                        },
                                        "name": "i"
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "Literal",
                                        "start": 26985,
                                        "end": 26988,
                                        "loc": {
                                          "start": {
                                            "line": 651,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 651,
                                            "column": 60
                                          }
                                        },
                                        "value": 0.5,
                                        "rawValue": 0.5,
                                        "raw": "0.5"
                                      },
                                      "parenthesizedExpression": true
                                    },
                                    "operator": "*",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 26992,
                                      "end": 26996,
                                      "loc": {
                                        "start": {
                                          "line": 651,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 651,
                                          "column": 68
                                        }
                                      },
                                      "name": "size"
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "start": 26998,
                                  "end": 27005,
                                  "loc": {
                                    "start": {
                                      "line": 651,
                                      "column": 70
                                    },
                                    "end": {
                                      "line": 651,
                                      "column": 77
                                    }
                                  },
                                  "name": "middleY"
                                },
                                {
                                  "type": "Literal",
                                  "start": 27007,
                                  "end": 27008,
                                  "loc": {
                                    "start": {
                                      "line": 651,
                                      "column": 79
                                    },
                                    "end": {
                                      "line": 651,
                                      "column": 80
                                    }
                                  },
                                  "value": 0,
                                  "rawValue": 0,
                                  "raw": "0"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 27032,
              "end": 27207,
              "loc": {
                "start": {
                  "line": 655,
                  "column": 4
                },
                "end": {
                  "line": 660,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 27032,
                "end": 27040,
                "loc": {
                  "start": {
                    "line": 655,
                    "column": 4
                  },
                  "end": {
                    "line": 655,
                    "column": 12
                  }
                },
                "name": "getState"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 27040,
                "end": 27207,
                "loc": {
                  "start": {
                    "line": 655,
                    "column": 12
                  },
                  "end": {
                    "line": 660,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 27043,
                  "end": 27207,
                  "loc": {
                    "start": {
                      "line": 655,
                      "column": 15
                    },
                    "end": {
                      "line": 660,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 27053,
                      "end": 27075,
                      "loc": {
                        "start": {
                          "line": 656,
                          "column": 8
                        },
                        "end": {
                          "line": 656,
                          "column": 30
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 27057,
                          "end": 27074,
                          "loc": {
                            "start": {
                              "line": 656,
                              "column": 12
                            },
                            "end": {
                              "line": 656,
                              "column": 29
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 27057,
                            "end": 27062,
                            "loc": {
                              "start": {
                                "line": 656,
                                "column": 12
                              },
                              "end": {
                                "line": 656,
                                "column": 17
                              }
                            },
                            "name": "state"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 27065,
                            "end": 27074,
                            "loc": {
                              "start": {
                                "line": 656,
                                "column": 20
                              },
                              "end": {
                                "line": 656,
                                "column": 29
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 27069,
                              "end": 27072,
                              "loc": {
                                "start": {
                                  "line": 656,
                                  "column": 24
                                },
                                "end": {
                                  "line": 656,
                                  "column": 27
                                }
                              },
                              "name": "Map"
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 27084,
                      "end": 27179,
                      "loc": {
                        "start": {
                          "line": 657,
                          "column": 8
                        },
                        "end": {
                          "line": 658,
                          "column": 49
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 27089,
                        "end": 27099,
                        "loc": {
                          "start": {
                            "line": 657,
                            "column": 13
                          },
                          "end": {
                            "line": 657,
                            "column": 23
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 27093,
                            "end": 27099,
                            "loc": {
                              "start": {
                                "line": 657,
                                "column": 17
                              },
                              "end": {
                                "line": 657,
                                "column": 23
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 27093,
                              "end": 27099,
                              "loc": {
                                "start": {
                                  "line": 657,
                                  "column": 17
                                },
                                "end": {
                                  "line": 657,
                                  "column": 23
                                }
                              },
                              "name": "object"
                            },
                            "init": null
                          }
                        ],
                        "kind": "var"
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 27103,
                        "end": 27128,
                        "loc": {
                          "start": {
                            "line": 657,
                            "column": 27
                          },
                          "end": {
                            "line": 657,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 27103,
                          "end": 27126,
                          "loc": {
                            "start": {
                              "line": 657,
                              "column": 27
                            },
                            "end": {
                              "line": 657,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 27103,
                            "end": 27107,
                            "loc": {
                              "start": {
                                "line": 657,
                                "column": 27
                              },
                              "end": {
                                "line": 657,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 27108,
                            "end": 27126,
                            "loc": {
                              "start": {
                                "line": 657,
                                "column": 32
                              },
                              "end": {
                                "line": 657,
                                "column": 50
                              }
                            },
                            "name": "getObjectsOnSketch"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "body": {
                        "type": "ExpressionStatement",
                        "start": 27142,
                        "end": 27179,
                        "loc": {
                          "start": {
                            "line": 658,
                            "column": 12
                          },
                          "end": {
                            "line": 658,
                            "column": 49
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 27142,
                          "end": 27178,
                          "loc": {
                            "start": {
                              "line": 658,
                              "column": 12
                            },
                            "end": {
                              "line": 658,
                              "column": 48
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 27142,
                            "end": 27151,
                            "loc": {
                              "start": {
                                "line": 658,
                                "column": 12
                              },
                              "end": {
                                "line": 658,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 27142,
                              "end": 27147,
                              "loc": {
                                "start": {
                                  "line": 658,
                                  "column": 12
                                },
                                "end": {
                                  "line": 658,
                                  "column": 17
                                }
                              },
                              "name": "state"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 27148,
                              "end": 27151,
                              "loc": {
                                "start": {
                                  "line": 658,
                                  "column": 18
                                },
                                "end": {
                                  "line": 658,
                                  "column": 21
                                }
                              },
                              "name": "set"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 27152,
                              "end": 27158,
                              "loc": {
                                "start": {
                                  "line": 658,
                                  "column": 22
                                },
                                "end": {
                                  "line": 658,
                                  "column": 28
                                }
                              },
                              "name": "object"
                            },
                            {
                              "type": "CallExpression",
                              "start": 27160,
                              "end": 27177,
                              "loc": {
                                "start": {
                                  "line": 658,
                                  "column": 30
                                },
                                "end": {
                                  "line": 658,
                                  "column": 47
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 27160,
                                "end": 27175,
                                "loc": {
                                  "start": {
                                    "line": 658,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 658,
                                    "column": 45
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 27160,
                                  "end": 27166,
                                  "loc": {
                                    "start": {
                                      "line": 658,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 658,
                                      "column": 36
                                    }
                                  },
                                  "name": "object"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 27167,
                                  "end": 27175,
                                  "loc": {
                                    "start": {
                                      "line": 658,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 658,
                                      "column": 45
                                    }
                                  },
                                  "name": "getState"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 27188,
                      "end": 27201,
                      "loc": {
                        "start": {
                          "line": 659,
                          "column": 8
                        },
                        "end": {
                          "line": 659,
                          "column": 21
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 27195,
                        "end": 27200,
                        "loc": {
                          "start": {
                            "line": 659,
                            "column": 15
                          },
                          "end": {
                            "line": 659,
                            "column": 20
                          }
                        },
                        "name": "state"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 27213,
              "end": 29427,
              "loc": {
                "start": {
                  "line": 662,
                  "column": 4
                },
                "end": {
                  "line": 709,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 27213,
                "end": 27239,
                "loc": {
                  "start": {
                    "line": 662,
                    "column": 4
                  },
                  "end": {
                    "line": 662,
                    "column": 30
                  }
                },
                "name": "getStateLinearContinuation"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 27239,
                "end": 29427,
                "loc": {
                  "start": {
                    "line": 662,
                    "column": 30
                  },
                  "end": {
                    "line": 709,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 27240,
                    "end": 27246,
                    "loc": {
                      "start": {
                        "line": 662,
                        "column": 31
                      },
                      "end": {
                        "line": 662,
                        "column": 37
                      }
                    },
                    "name": "states"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 27248,
                  "end": 29427,
                  "loc": {
                    "start": {
                      "line": 662,
                      "column": 39
                    },
                    "end": {
                      "line": 709,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 27258,
                      "end": 27311,
                      "loc": {
                        "start": {
                          "line": 663,
                          "column": 8
                        },
                        "end": {
                          "line": 663,
                          "column": 61
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 27262,
                        "end": 27302,
                        "loc": {
                          "start": {
                            "line": 663,
                            "column": 12
                          },
                          "end": {
                            "line": 663,
                            "column": 52
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 27262,
                          "end": 27280,
                          "loc": {
                            "start": {
                              "line": 663,
                              "column": 12
                            },
                            "end": {
                              "line": 663,
                              "column": 30
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 27262,
                            "end": 27271,
                            "loc": {
                              "start": {
                                "line": 663,
                                "column": 12
                              },
                              "end": {
                                "line": 663,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 27262,
                              "end": 27268,
                              "loc": {
                                "start": {
                                  "line": 663,
                                  "column": 12
                                },
                                "end": {
                                  "line": 663,
                                  "column": 18
                                }
                              },
                              "name": "states"
                            },
                            "property": {
                              "type": "Literal",
                              "start": 27269,
                              "end": 27270,
                              "loc": {
                                "start": {
                                  "line": 663,
                                  "column": 19
                                },
                                "end": {
                                  "line": 663,
                                  "column": 20
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "computed": true
                          },
                          "operator": "===",
                          "right": {
                            "type": "Literal",
                            "start": 27276,
                            "end": 27280,
                            "loc": {
                              "start": {
                                "line": 663,
                                "column": 26
                              },
                              "end": {
                                "line": 663,
                                "column": 30
                              }
                            },
                            "value": null,
                            "rawValue": null,
                            "raw": "null"
                          }
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 27284,
                          "end": 27302,
                          "loc": {
                            "start": {
                              "line": 663,
                              "column": 34
                            },
                            "end": {
                              "line": 663,
                              "column": 52
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 27284,
                            "end": 27293,
                            "loc": {
                              "start": {
                                "line": 663,
                                "column": 34
                              },
                              "end": {
                                "line": 663,
                                "column": 43
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 27284,
                              "end": 27290,
                              "loc": {
                                "start": {
                                  "line": 663,
                                  "column": 34
                                },
                                "end": {
                                  "line": 663,
                                  "column": 40
                                }
                              },
                              "name": "states"
                            },
                            "property": {
                              "type": "Literal",
                              "start": 27291,
                              "end": 27292,
                              "loc": {
                                "start": {
                                  "line": 663,
                                  "column": 41
                                },
                                "end": {
                                  "line": 663,
                                  "column": 42
                                }
                              },
                              "value": 1,
                              "rawValue": 1,
                              "raw": "1"
                            },
                            "computed": true
                          },
                          "operator": "===",
                          "right": {
                            "type": "Literal",
                            "start": 27298,
                            "end": 27302,
                            "loc": {
                              "start": {
                                "line": 663,
                                "column": 48
                              },
                              "end": {
                                "line": 663,
                                "column": 52
                              }
                            },
                            "value": null,
                            "rawValue": null,
                            "raw": "null"
                          }
                        }
                      },
                      "consequent": {
                        "type": "ReturnStatement",
                        "start": 27304,
                        "end": 27311,
                        "loc": {
                          "start": {
                            "line": 663,
                            "column": 54
                          },
                          "end": {
                            "line": 663,
                            "column": 61
                          }
                        },
                        "argument": null
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 27320,
                      "end": 27346,
                      "loc": {
                        "start": {
                          "line": 664,
                          "column": 8
                        },
                        "end": {
                          "line": 664,
                          "column": 34
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 27324,
                          "end": 27345,
                          "loc": {
                            "start": {
                              "line": 664,
                              "column": 12
                            },
                            "end": {
                              "line": 664,
                              "column": 33
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 27324,
                            "end": 27333,
                            "loc": {
                              "start": {
                                "line": 664,
                                "column": 12
                              },
                              "end": {
                                "line": 664,
                                "column": 21
                              }
                            },
                            "name": "stateDiff"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 27336,
                            "end": 27345,
                            "loc": {
                              "start": {
                                "line": 664,
                                "column": 24
                              },
                              "end": {
                                "line": 664,
                                "column": 33
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 27340,
                              "end": 27343,
                              "loc": {
                                "start": {
                                  "line": 664,
                                  "column": 28
                                },
                                "end": {
                                  "line": 664,
                                  "column": 31
                                }
                              },
                              "name": "Map"
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "FunctionDeclaration",
                      "start": 27356,
                      "end": 27628,
                      "loc": {
                        "start": {
                          "line": 666,
                          "column": 8
                        },
                        "end": {
                          "line": 670,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 27365,
                        "end": 27377,
                        "loc": {
                          "start": {
                            "line": 666,
                            "column": 17
                          },
                          "end": {
                            "line": 666,
                            "column": 29
                          }
                        },
                        "name": "getPointDiff"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "Identifier",
                          "start": 27379,
                          "end": 27385,
                          "loc": {
                            "start": {
                              "line": 666,
                              "column": 31
                            },
                            "end": {
                              "line": 666,
                              "column": 37
                            }
                          },
                          "name": "states"
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 27387,
                        "end": 27628,
                        "loc": {
                          "start": {
                            "line": 666,
                            "column": 39
                          },
                          "end": {
                            "line": 670,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 27401,
                            "end": 27464,
                            "loc": {
                              "start": {
                                "line": 667,
                                "column": 12
                              },
                              "end": {
                                "line": 667,
                                "column": 75
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 27405,
                              "end": 27427,
                              "loc": {
                                "start": {
                                  "line": 667,
                                  "column": 16
                                },
                                "end": {
                                  "line": 667,
                                  "column": 38
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "CallExpression",
                                "start": 27406,
                                "end": 27427,
                                "loc": {
                                  "start": {
                                    "line": 667,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 667,
                                    "column": 38
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 27406,
                                  "end": 27419,
                                  "loc": {
                                    "start": {
                                      "line": 667,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 667,
                                      "column": 30
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 27406,
                                    "end": 27411,
                                    "loc": {
                                      "start": {
                                        "line": 667,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 667,
                                        "column": 22
                                      }
                                    },
                                    "name": "Array"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 27412,
                                    "end": 27419,
                                    "loc": {
                                      "start": {
                                        "line": 667,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 667,
                                        "column": 30
                                      }
                                    },
                                    "name": "isArray"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 27420,
                                    "end": 27426,
                                    "loc": {
                                      "start": {
                                        "line": 667,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 667,
                                        "column": 37
                                      }
                                    },
                                    "name": "states"
                                  }
                                ]
                              }
                            },
                            "consequent": {
                              "type": "ReturnStatement",
                              "start": 27429,
                              "end": 27464,
                              "loc": {
                                "start": {
                                  "line": 667,
                                  "column": 40
                                },
                                "end": {
                                  "line": 667,
                                  "column": 75
                                }
                              },
                              "argument": {
                                "type": "NewExpression",
                                "start": 27436,
                                "end": 27463,
                                "loc": {
                                  "start": {
                                    "line": 667,
                                    "column": 47
                                  },
                                  "end": {
                                    "line": 667,
                                    "column": 74
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 27440,
                                  "end": 27443,
                                  "loc": {
                                    "start": {
                                      "line": 667,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 667,
                                      "column": 54
                                    }
                                  },
                                  "name": "Map"
                                },
                                "arguments": [
                                  {
                                    "type": "ArrayExpression",
                                    "start": 27444,
                                    "end": 27462,
                                    "loc": {
                                      "start": {
                                        "line": 667,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 667,
                                        "column": 73
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "ArrayExpression",
                                        "start": 27445,
                                        "end": 27452,
                                        "loc": {
                                          "start": {
                                            "line": 667,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 667,
                                            "column": 63
                                          }
                                        },
                                        "elements": [
                                          {
                                            "type": "Literal",
                                            "start": 27446,
                                            "end": 27449,
                                            "loc": {
                                              "start": {
                                                "line": 667,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 667,
                                                "column": 60
                                              }
                                            },
                                            "value": "x",
                                            "rawValue": "x",
                                            "raw": "'x'"
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 27450,
                                            "end": 27451,
                                            "loc": {
                                              "start": {
                                                "line": 667,
                                                "column": 61
                                              },
                                              "end": {
                                                "line": 667,
                                                "column": 62
                                              }
                                            },
                                            "value": 0,
                                            "rawValue": 0,
                                            "raw": "0"
                                          }
                                        ]
                                      },
                                      {
                                        "type": "ArrayExpression",
                                        "start": 27453,
                                        "end": 27461,
                                        "loc": {
                                          "start": {
                                            "line": 667,
                                            "column": 64
                                          },
                                          "end": {
                                            "line": 667,
                                            "column": 72
                                          }
                                        },
                                        "elements": [
                                          {
                                            "type": "Literal",
                                            "start": 27454,
                                            "end": 27457,
                                            "loc": {
                                              "start": {
                                                "line": 667,
                                                "column": 65
                                              },
                                              "end": {
                                                "line": 667,
                                                "column": 68
                                              }
                                            },
                                            "value": "y",
                                            "rawValue": "y",
                                            "raw": "'y'"
                                          },
                                          {
                                            "type": "Literal",
                                            "start": 27459,
                                            "end": 27460,
                                            "loc": {
                                              "start": {
                                                "line": 667,
                                                "column": 70
                                              },
                                              "end": {
                                                "line": 667,
                                                "column": 71
                                              }
                                            },
                                            "value": 0,
                                            "rawValue": 0,
                                            "raw": "0"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "ReturnStatement",
                            "start": 27477,
                            "end": 27618,
                            "loc": {
                              "start": {
                                "line": 668,
                                "column": 12
                              },
                              "end": {
                                "line": 669,
                                "column": 77
                              }
                            },
                            "argument": {
                              "type": "NewExpression",
                              "start": 27484,
                              "end": 27617,
                              "loc": {
                                "start": {
                                  "line": 668,
                                  "column": 19
                                },
                                "end": {
                                  "line": 669,
                                  "column": 76
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 27488,
                                "end": 27491,
                                "loc": {
                                  "start": {
                                    "line": 668,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 668,
                                    "column": 26
                                  }
                                },
                                "name": "Map"
                              },
                              "arguments": [
                                {
                                  "type": "ArrayExpression",
                                  "start": 27492,
                                  "end": 27616,
                                  "loc": {
                                    "start": {
                                      "line": 668,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 669,
                                      "column": 75
                                    }
                                  },
                                  "elements": [
                                    {
                                      "type": "ArrayExpression",
                                      "start": 27493,
                                      "end": 27539,
                                      "loc": {
                                        "start": {
                                          "line": 668,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 668,
                                          "column": 74
                                        }
                                      },
                                      "elements": [
                                        {
                                          "type": "Literal",
                                          "start": 27494,
                                          "end": 27497,
                                          "loc": {
                                            "start": {
                                              "line": 668,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 668,
                                              "column": 32
                                            }
                                          },
                                          "value": "x",
                                          "rawValue": "x",
                                          "raw": "'x'"
                                        },
                                        {
                                          "type": "BinaryExpression",
                                          "start": 27499,
                                          "end": 27538,
                                          "loc": {
                                            "start": {
                                              "line": 668,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 668,
                                              "column": 73
                                            }
                                          },
                                          "left": {
                                            "type": "CallExpression",
                                            "start": 27499,
                                            "end": 27517,
                                            "loc": {
                                              "start": {
                                                "line": 668,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 668,
                                                "column": 52
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 27499,
                                              "end": 27512,
                                              "loc": {
                                                "start": {
                                                  "line": 668,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 668,
                                                  "column": 47
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 27499,
                                                "end": 27508,
                                                "loc": {
                                                  "start": {
                                                    "line": 668,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 668,
                                                    "column": 43
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 27499,
                                                  "end": 27505,
                                                  "loc": {
                                                    "start": {
                                                      "line": 668,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 668,
                                                      "column": 40
                                                    }
                                                  },
                                                  "name": "states"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 27506,
                                                  "end": 27507,
                                                  "loc": {
                                                    "start": {
                                                      "line": 668,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 668,
                                                      "column": 42
                                                    }
                                                  },
                                                  "value": 1,
                                                  "rawValue": 1,
                                                  "raw": "1"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 27509,
                                                "end": 27512,
                                                "loc": {
                                                  "start": {
                                                    "line": 668,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 668,
                                                    "column": 47
                                                  }
                                                },
                                                "name": "get"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 27513,
                                                "end": 27516,
                                                "loc": {
                                                  "start": {
                                                    "line": 668,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 668,
                                                    "column": 51
                                                  }
                                                },
                                                "value": "x",
                                                "rawValue": "x",
                                                "raw": "'x'"
                                              }
                                            ]
                                          },
                                          "operator": "-",
                                          "right": {
                                            "type": "CallExpression",
                                            "start": 27520,
                                            "end": 27538,
                                            "loc": {
                                              "start": {
                                                "line": 668,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 668,
                                                "column": 73
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 27520,
                                              "end": 27533,
                                              "loc": {
                                                "start": {
                                                  "line": 668,
                                                  "column": 55
                                                },
                                                "end": {
                                                  "line": 668,
                                                  "column": 68
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 27520,
                                                "end": 27529,
                                                "loc": {
                                                  "start": {
                                                    "line": 668,
                                                    "column": 55
                                                  },
                                                  "end": {
                                                    "line": 668,
                                                    "column": 64
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 27520,
                                                  "end": 27526,
                                                  "loc": {
                                                    "start": {
                                                      "line": 668,
                                                      "column": 55
                                                    },
                                                    "end": {
                                                      "line": 668,
                                                      "column": 61
                                                    }
                                                  },
                                                  "name": "states"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 27527,
                                                  "end": 27528,
                                                  "loc": {
                                                    "start": {
                                                      "line": 668,
                                                      "column": 62
                                                    },
                                                    "end": {
                                                      "line": 668,
                                                      "column": 63
                                                    }
                                                  },
                                                  "value": 0,
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 27530,
                                                "end": 27533,
                                                "loc": {
                                                  "start": {
                                                    "line": 668,
                                                    "column": 65
                                                  },
                                                  "end": {
                                                    "line": 668,
                                                    "column": 68
                                                  }
                                                },
                                                "name": "get"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 27534,
                                                "end": 27537,
                                                "loc": {
                                                  "start": {
                                                    "line": 668,
                                                    "column": 69
                                                  },
                                                  "end": {
                                                    "line": 668,
                                                    "column": 72
                                                  }
                                                },
                                                "value": "x",
                                                "rawValue": "x",
                                                "raw": "'x'"
                                              }
                                            ]
                                          }
                                        }
                                      ]
                                    },
                                    {
                                      "type": "ArrayExpression",
                                      "start": 27569,
                                      "end": 27615,
                                      "loc": {
                                        "start": {
                                          "line": 669,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 669,
                                          "column": 74
                                        }
                                      },
                                      "elements": [
                                        {
                                          "type": "Literal",
                                          "start": 27570,
                                          "end": 27573,
                                          "loc": {
                                            "start": {
                                              "line": 669,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 669,
                                              "column": 32
                                            }
                                          },
                                          "value": "y",
                                          "rawValue": "y",
                                          "raw": "'y'"
                                        },
                                        {
                                          "type": "BinaryExpression",
                                          "start": 27575,
                                          "end": 27614,
                                          "loc": {
                                            "start": {
                                              "line": 669,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 669,
                                              "column": 73
                                            }
                                          },
                                          "left": {
                                            "type": "CallExpression",
                                            "start": 27575,
                                            "end": 27593,
                                            "loc": {
                                              "start": {
                                                "line": 669,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 669,
                                                "column": 52
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 27575,
                                              "end": 27588,
                                              "loc": {
                                                "start": {
                                                  "line": 669,
                                                  "column": 34
                                                },
                                                "end": {
                                                  "line": 669,
                                                  "column": 47
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 27575,
                                                "end": 27584,
                                                "loc": {
                                                  "start": {
                                                    "line": 669,
                                                    "column": 34
                                                  },
                                                  "end": {
                                                    "line": 669,
                                                    "column": 43
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 27575,
                                                  "end": 27581,
                                                  "loc": {
                                                    "start": {
                                                      "line": 669,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 669,
                                                      "column": 40
                                                    }
                                                  },
                                                  "name": "states"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 27582,
                                                  "end": 27583,
                                                  "loc": {
                                                    "start": {
                                                      "line": 669,
                                                      "column": 41
                                                    },
                                                    "end": {
                                                      "line": 669,
                                                      "column": 42
                                                    }
                                                  },
                                                  "value": 1,
                                                  "rawValue": 1,
                                                  "raw": "1"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 27585,
                                                "end": 27588,
                                                "loc": {
                                                  "start": {
                                                    "line": 669,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 669,
                                                    "column": 47
                                                  }
                                                },
                                                "name": "get"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 27589,
                                                "end": 27592,
                                                "loc": {
                                                  "start": {
                                                    "line": 669,
                                                    "column": 48
                                                  },
                                                  "end": {
                                                    "line": 669,
                                                    "column": 51
                                                  }
                                                },
                                                "value": "y",
                                                "rawValue": "y",
                                                "raw": "'y'"
                                              }
                                            ]
                                          },
                                          "operator": "-",
                                          "right": {
                                            "type": "CallExpression",
                                            "start": 27596,
                                            "end": 27614,
                                            "loc": {
                                              "start": {
                                                "line": 669,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 669,
                                                "column": 73
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 27596,
                                              "end": 27609,
                                              "loc": {
                                                "start": {
                                                  "line": 669,
                                                  "column": 55
                                                },
                                                "end": {
                                                  "line": 669,
                                                  "column": 68
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 27596,
                                                "end": 27605,
                                                "loc": {
                                                  "start": {
                                                    "line": 669,
                                                    "column": 55
                                                  },
                                                  "end": {
                                                    "line": 669,
                                                    "column": 64
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 27596,
                                                  "end": 27602,
                                                  "loc": {
                                                    "start": {
                                                      "line": 669,
                                                      "column": 55
                                                    },
                                                    "end": {
                                                      "line": 669,
                                                      "column": 61
                                                    }
                                                  },
                                                  "name": "states"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 27603,
                                                  "end": 27604,
                                                  "loc": {
                                                    "start": {
                                                      "line": 669,
                                                      "column": 62
                                                    },
                                                    "end": {
                                                      "line": 669,
                                                      "column": 63
                                                    }
                                                  },
                                                  "value": 0,
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 27606,
                                                "end": 27609,
                                                "loc": {
                                                  "start": {
                                                    "line": 669,
                                                    "column": 65
                                                  },
                                                  "end": {
                                                    "line": 669,
                                                    "column": 68
                                                  }
                                                },
                                                "name": "get"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 27610,
                                                "end": 27613,
                                                "loc": {
                                                  "start": {
                                                    "line": 669,
                                                    "column": 69
                                                  },
                                                  "end": {
                                                    "line": 669,
                                                    "column": 72
                                                  }
                                                },
                                                "value": "y",
                                                "rawValue": "y",
                                                "raw": "'y'"
                                              }
                                            ]
                                          }
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "start": 27638,
                      "end": 28106,
                      "loc": {
                        "start": {
                          "line": 672,
                          "column": 8
                        },
                        "end": {
                          "line": 679,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 27647,
                        "end": 27658,
                        "loc": {
                          "start": {
                            "line": 672,
                            "column": 17
                          },
                          "end": {
                            "line": 672,
                            "column": 28
                          }
                        },
                        "name": "getLineDiff"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "Identifier",
                          "start": 27660,
                          "end": 27666,
                          "loc": {
                            "start": {
                              "line": 672,
                              "column": 30
                            },
                            "end": {
                              "line": 672,
                              "column": 36
                            }
                          },
                          "name": "object"
                        },
                        {
                          "type": "Identifier",
                          "start": 27668,
                          "end": 27674,
                          "loc": {
                            "start": {
                              "line": 672,
                              "column": 38
                            },
                            "end": {
                              "line": 672,
                              "column": 44
                            }
                          },
                          "name": "states"
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 27676,
                        "end": 28106,
                        "loc": {
                          "start": {
                            "line": 672,
                            "column": 46
                          },
                          "end": {
                            "line": 679,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 27690,
                            "end": 27719,
                            "loc": {
                              "start": {
                                "line": 673,
                                "column": 12
                              },
                              "end": {
                                "line": 673,
                                "column": 41
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 27694,
                                "end": 27718,
                                "loc": {
                                  "start": {
                                    "line": 673,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 673,
                                    "column": 40
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 27694,
                                  "end": 27706,
                                  "loc": {
                                    "start": {
                                      "line": 673,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 673,
                                      "column": 28
                                    }
                                  },
                                  "name": "subStateDiff"
                                },
                                "init": {
                                  "type": "NewExpression",
                                  "start": 27709,
                                  "end": 27718,
                                  "loc": {
                                    "start": {
                                      "line": 673,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 673,
                                      "column": 40
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 27713,
                                    "end": 27716,
                                    "loc": {
                                      "start": {
                                        "line": 673,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 673,
                                        "column": 38
                                      }
                                    },
                                    "name": "Map"
                                  },
                                  "arguments": []
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 27732,
                            "end": 27887,
                            "loc": {
                              "start": {
                                "line": 674,
                                "column": 12
                              },
                              "end": {
                                "line": 675,
                                "column": 122
                              }
                            },
                            "test": {
                              "type": "CallExpression",
                              "start": 27736,
                              "end": 27763,
                              "loc": {
                                "start": {
                                  "line": 674,
                                  "column": 16
                                },
                                "end": {
                                  "line": 674,
                                  "column": 43
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 27736,
                                "end": 27749,
                                "loc": {
                                  "start": {
                                    "line": 674,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 674,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 27736,
                                  "end": 27745,
                                  "loc": {
                                    "start": {
                                      "line": 674,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 674,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 27736,
                                    "end": 27742,
                                    "loc": {
                                      "start": {
                                        "line": 674,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 674,
                                        "column": 22
                                      }
                                    },
                                    "name": "states"
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 27743,
                                    "end": 27744,
                                    "loc": {
                                      "start": {
                                        "line": 674,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 674,
                                        "column": 24
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 27746,
                                  "end": 27749,
                                  "loc": {
                                    "start": {
                                      "line": 674,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 674,
                                      "column": 29
                                    }
                                  },
                                  "name": "has"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 27750,
                                  "end": 27762,
                                  "loc": {
                                    "start": {
                                      "line": 674,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 674,
                                      "column": 42
                                    }
                                  },
                                  "value": "startPoint",
                                  "rawValue": "startPoint",
                                  "raw": "'startPoint'"
                                }
                              ]
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 27781,
                              "end": 27887,
                              "loc": {
                                "start": {
                                  "line": 675,
                                  "column": 16
                                },
                                "end": {
                                  "line": 675,
                                  "column": 122
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 27781,
                                "end": 27886,
                                "loc": {
                                  "start": {
                                    "line": 675,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 675,
                                    "column": 121
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 27781,
                                  "end": 27797,
                                  "loc": {
                                    "start": {
                                      "line": 675,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 675,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 27781,
                                    "end": 27793,
                                    "loc": {
                                      "start": {
                                        "line": 675,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 675,
                                        "column": 28
                                      }
                                    },
                                    "name": "subStateDiff"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 27794,
                                    "end": 27797,
                                    "loc": {
                                      "start": {
                                        "line": 675,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 675,
                                        "column": 32
                                      }
                                    },
                                    "name": "set"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 27798,
                                    "end": 27810,
                                    "loc": {
                                      "start": {
                                        "line": 675,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 675,
                                        "column": 45
                                      }
                                    },
                                    "value": "startPoint",
                                    "rawValue": "startPoint",
                                    "raw": "'startPoint'"
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 27812,
                                    "end": 27885,
                                    "loc": {
                                      "start": {
                                        "line": 675,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 675,
                                        "column": 120
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 27812,
                                      "end": 27824,
                                      "loc": {
                                        "start": {
                                          "line": 675,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 675,
                                          "column": 59
                                        }
                                      },
                                      "name": "getPointDiff"
                                    },
                                    "arguments": [
                                      {
                                        "type": "ArrayExpression",
                                        "start": 27826,
                                        "end": 27884,
                                        "loc": {
                                          "start": {
                                            "line": 675,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 675,
                                            "column": 119
                                          }
                                        },
                                        "elements": [
                                          {
                                            "type": "CallExpression",
                                            "start": 27827,
                                            "end": 27854,
                                            "loc": {
                                              "start": {
                                                "line": 675,
                                                "column": 62
                                              },
                                              "end": {
                                                "line": 675,
                                                "column": 89
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 27827,
                                              "end": 27840,
                                              "loc": {
                                                "start": {
                                                  "line": 675,
                                                  "column": 62
                                                },
                                                "end": {
                                                  "line": 675,
                                                  "column": 75
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 27827,
                                                "end": 27836,
                                                "loc": {
                                                  "start": {
                                                    "line": 675,
                                                    "column": 62
                                                  },
                                                  "end": {
                                                    "line": 675,
                                                    "column": 71
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 27827,
                                                  "end": 27833,
                                                  "loc": {
                                                    "start": {
                                                      "line": 675,
                                                      "column": 62
                                                    },
                                                    "end": {
                                                      "line": 675,
                                                      "column": 68
                                                    }
                                                  },
                                                  "name": "states"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 27834,
                                                  "end": 27835,
                                                  "loc": {
                                                    "start": {
                                                      "line": 675,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 675,
                                                      "column": 70
                                                    }
                                                  },
                                                  "value": 0,
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 27837,
                                                "end": 27840,
                                                "loc": {
                                                  "start": {
                                                    "line": 675,
                                                    "column": 72
                                                  },
                                                  "end": {
                                                    "line": 675,
                                                    "column": 75
                                                  }
                                                },
                                                "name": "get"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 27841,
                                                "end": 27853,
                                                "loc": {
                                                  "start": {
                                                    "line": 675,
                                                    "column": 76
                                                  },
                                                  "end": {
                                                    "line": 675,
                                                    "column": 88
                                                  }
                                                },
                                                "value": "startPoint",
                                                "rawValue": "startPoint",
                                                "raw": "'startPoint'"
                                              }
                                            ]
                                          },
                                          {
                                            "type": "CallExpression",
                                            "start": 27856,
                                            "end": 27883,
                                            "loc": {
                                              "start": {
                                                "line": 675,
                                                "column": 91
                                              },
                                              "end": {
                                                "line": 675,
                                                "column": 118
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 27856,
                                              "end": 27869,
                                              "loc": {
                                                "start": {
                                                  "line": 675,
                                                  "column": 91
                                                },
                                                "end": {
                                                  "line": 675,
                                                  "column": 104
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 27856,
                                                "end": 27865,
                                                "loc": {
                                                  "start": {
                                                    "line": 675,
                                                    "column": 91
                                                  },
                                                  "end": {
                                                    "line": 675,
                                                    "column": 100
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 27856,
                                                  "end": 27862,
                                                  "loc": {
                                                    "start": {
                                                      "line": 675,
                                                      "column": 91
                                                    },
                                                    "end": {
                                                      "line": 675,
                                                      "column": 97
                                                    }
                                                  },
                                                  "name": "states"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 27863,
                                                  "end": 27864,
                                                  "loc": {
                                                    "start": {
                                                      "line": 675,
                                                      "column": 98
                                                    },
                                                    "end": {
                                                      "line": 675,
                                                      "column": 99
                                                    }
                                                  },
                                                  "value": 1,
                                                  "rawValue": 1,
                                                  "raw": "1"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 27866,
                                                "end": 27869,
                                                "loc": {
                                                  "start": {
                                                    "line": 675,
                                                    "column": 101
                                                  },
                                                  "end": {
                                                    "line": 675,
                                                    "column": 104
                                                  }
                                                },
                                                "name": "get"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 27870,
                                                "end": 27882,
                                                "loc": {
                                                  "start": {
                                                    "line": 675,
                                                    "column": 105
                                                  },
                                                  "end": {
                                                    "line": 675,
                                                    "column": 117
                                                  }
                                                },
                                                "value": "startPoint",
                                                "rawValue": "startPoint",
                                                "raw": "'startPoint'"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "IfStatement",
                            "start": 27900,
                            "end": 28047,
                            "loc": {
                              "start": {
                                "line": 676,
                                "column": 12
                              },
                              "end": {
                                "line": 677,
                                "column": 116
                              }
                            },
                            "test": {
                              "type": "CallExpression",
                              "start": 27904,
                              "end": 27929,
                              "loc": {
                                "start": {
                                  "line": 676,
                                  "column": 16
                                },
                                "end": {
                                  "line": 676,
                                  "column": 41
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 27904,
                                "end": 27917,
                                "loc": {
                                  "start": {
                                    "line": 676,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 676,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 27904,
                                  "end": 27913,
                                  "loc": {
                                    "start": {
                                      "line": 676,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 676,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 27904,
                                    "end": 27910,
                                    "loc": {
                                      "start": {
                                        "line": 676,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 676,
                                        "column": 22
                                      }
                                    },
                                    "name": "states"
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 27911,
                                    "end": 27912,
                                    "loc": {
                                      "start": {
                                        "line": 676,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 676,
                                        "column": 24
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 27914,
                                  "end": 27917,
                                  "loc": {
                                    "start": {
                                      "line": 676,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 676,
                                      "column": 29
                                    }
                                  },
                                  "name": "has"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 27918,
                                  "end": 27928,
                                  "loc": {
                                    "start": {
                                      "line": 676,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 676,
                                      "column": 40
                                    }
                                  },
                                  "value": "endPoint",
                                  "rawValue": "endPoint",
                                  "raw": "'endPoint'"
                                }
                              ]
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 27947,
                              "end": 28047,
                              "loc": {
                                "start": {
                                  "line": 677,
                                  "column": 16
                                },
                                "end": {
                                  "line": 677,
                                  "column": 116
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 27947,
                                "end": 28046,
                                "loc": {
                                  "start": {
                                    "line": 677,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 677,
                                    "column": 115
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 27947,
                                  "end": 27963,
                                  "loc": {
                                    "start": {
                                      "line": 677,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 677,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 27947,
                                    "end": 27959,
                                    "loc": {
                                      "start": {
                                        "line": 677,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 677,
                                        "column": 28
                                      }
                                    },
                                    "name": "subStateDiff"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 27960,
                                    "end": 27963,
                                    "loc": {
                                      "start": {
                                        "line": 677,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 677,
                                        "column": 32
                                      }
                                    },
                                    "name": "set"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 27964,
                                    "end": 27974,
                                    "loc": {
                                      "start": {
                                        "line": 677,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 677,
                                        "column": 43
                                      }
                                    },
                                    "value": "endPoint",
                                    "rawValue": "endPoint",
                                    "raw": "'endPoint'"
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 27976,
                                    "end": 28045,
                                    "loc": {
                                      "start": {
                                        "line": 677,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 677,
                                        "column": 114
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 27976,
                                      "end": 27988,
                                      "loc": {
                                        "start": {
                                          "line": 677,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 677,
                                          "column": 57
                                        }
                                      },
                                      "name": "getPointDiff"
                                    },
                                    "arguments": [
                                      {
                                        "type": "ArrayExpression",
                                        "start": 27990,
                                        "end": 28044,
                                        "loc": {
                                          "start": {
                                            "line": 677,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 677,
                                            "column": 113
                                          }
                                        },
                                        "elements": [
                                          {
                                            "type": "CallExpression",
                                            "start": 27991,
                                            "end": 28016,
                                            "loc": {
                                              "start": {
                                                "line": 677,
                                                "column": 60
                                              },
                                              "end": {
                                                "line": 677,
                                                "column": 85
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 27991,
                                              "end": 28004,
                                              "loc": {
                                                "start": {
                                                  "line": 677,
                                                  "column": 60
                                                },
                                                "end": {
                                                  "line": 677,
                                                  "column": 73
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 27991,
                                                "end": 28000,
                                                "loc": {
                                                  "start": {
                                                    "line": 677,
                                                    "column": 60
                                                  },
                                                  "end": {
                                                    "line": 677,
                                                    "column": 69
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 27991,
                                                  "end": 27997,
                                                  "loc": {
                                                    "start": {
                                                      "line": 677,
                                                      "column": 60
                                                    },
                                                    "end": {
                                                      "line": 677,
                                                      "column": 66
                                                    }
                                                  },
                                                  "name": "states"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 27998,
                                                  "end": 27999,
                                                  "loc": {
                                                    "start": {
                                                      "line": 677,
                                                      "column": 67
                                                    },
                                                    "end": {
                                                      "line": 677,
                                                      "column": 68
                                                    }
                                                  },
                                                  "value": 0,
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 28001,
                                                "end": 28004,
                                                "loc": {
                                                  "start": {
                                                    "line": 677,
                                                    "column": 70
                                                  },
                                                  "end": {
                                                    "line": 677,
                                                    "column": 73
                                                  }
                                                },
                                                "name": "get"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 28005,
                                                "end": 28015,
                                                "loc": {
                                                  "start": {
                                                    "line": 677,
                                                    "column": 74
                                                  },
                                                  "end": {
                                                    "line": 677,
                                                    "column": 84
                                                  }
                                                },
                                                "value": "endPoint",
                                                "rawValue": "endPoint",
                                                "raw": "'endPoint'"
                                              }
                                            ]
                                          },
                                          {
                                            "type": "CallExpression",
                                            "start": 28018,
                                            "end": 28043,
                                            "loc": {
                                              "start": {
                                                "line": 677,
                                                "column": 87
                                              },
                                              "end": {
                                                "line": 677,
                                                "column": 112
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 28018,
                                              "end": 28031,
                                              "loc": {
                                                "start": {
                                                  "line": 677,
                                                  "column": 87
                                                },
                                                "end": {
                                                  "line": 677,
                                                  "column": 100
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 28018,
                                                "end": 28027,
                                                "loc": {
                                                  "start": {
                                                    "line": 677,
                                                    "column": 87
                                                  },
                                                  "end": {
                                                    "line": 677,
                                                    "column": 96
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 28018,
                                                  "end": 28024,
                                                  "loc": {
                                                    "start": {
                                                      "line": 677,
                                                      "column": 87
                                                    },
                                                    "end": {
                                                      "line": 677,
                                                      "column": 93
                                                    }
                                                  },
                                                  "name": "states"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 28025,
                                                  "end": 28026,
                                                  "loc": {
                                                    "start": {
                                                      "line": 677,
                                                      "column": 94
                                                    },
                                                    "end": {
                                                      "line": 677,
                                                      "column": 95
                                                    }
                                                  },
                                                  "value": 1,
                                                  "rawValue": 1,
                                                  "raw": "1"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 28028,
                                                "end": 28031,
                                                "loc": {
                                                  "start": {
                                                    "line": 677,
                                                    "column": 97
                                                  },
                                                  "end": {
                                                    "line": 677,
                                                    "column": 100
                                                  }
                                                },
                                                "name": "get"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 28032,
                                                "end": 28042,
                                                "loc": {
                                                  "start": {
                                                    "line": 677,
                                                    "column": 101
                                                  },
                                                  "end": {
                                                    "line": 677,
                                                    "column": 111
                                                  }
                                                },
                                                "value": "endPoint",
                                                "rawValue": "endPoint",
                                                "raw": "'endPoint'"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 28060,
                            "end": 28096,
                            "loc": {
                              "start": {
                                "line": 678,
                                "column": 12
                              },
                              "end": {
                                "line": 678,
                                "column": 48
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 28060,
                              "end": 28095,
                              "loc": {
                                "start": {
                                  "line": 678,
                                  "column": 12
                                },
                                "end": {
                                  "line": 678,
                                  "column": 47
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 28060,
                                "end": 28073,
                                "loc": {
                                  "start": {
                                    "line": 678,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 678,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 28060,
                                  "end": 28069,
                                  "loc": {
                                    "start": {
                                      "line": 678,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 678,
                                      "column": 21
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 28070,
                                  "end": 28073,
                                  "loc": {
                                    "start": {
                                      "line": 678,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 678,
                                      "column": 25
                                    }
                                  },
                                  "name": "set"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 28074,
                                  "end": 28080,
                                  "loc": {
                                    "start": {
                                      "line": 678,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 678,
                                      "column": 32
                                    }
                                  },
                                  "name": "object"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 28082,
                                  "end": 28094,
                                  "loc": {
                                    "start": {
                                      "line": 678,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 678,
                                      "column": 46
                                    }
                                  },
                                  "name": "subStateDiff"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "FunctionDeclaration",
                      "start": 28116,
                      "end": 28855,
                      "loc": {
                        "start": {
                          "line": 681,
                          "column": 8
                        },
                        "end": {
                          "line": 693,
                          "column": 9
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 28125,
                        "end": 28135,
                        "loc": {
                          "start": {
                            "line": 681,
                            "column": 17
                          },
                          "end": {
                            "line": 681,
                            "column": 27
                          }
                        },
                        "name": "getArcDiff"
                      },
                      "generator": false,
                      "expression": false,
                      "async": false,
                      "params": [
                        {
                          "type": "Identifier",
                          "start": 28137,
                          "end": 28143,
                          "loc": {
                            "start": {
                              "line": 681,
                              "column": 29
                            },
                            "end": {
                              "line": 681,
                              "column": 35
                            }
                          },
                          "name": "object"
                        },
                        {
                          "type": "Identifier",
                          "start": 28145,
                          "end": 28151,
                          "loc": {
                            "start": {
                              "line": 681,
                              "column": 37
                            },
                            "end": {
                              "line": 681,
                              "column": 43
                            }
                          },
                          "name": "states"
                        }
                      ],
                      "body": {
                        "type": "BlockStatement",
                        "start": 28153,
                        "end": 28855,
                        "loc": {
                          "start": {
                            "line": 681,
                            "column": 45
                          },
                          "end": {
                            "line": 693,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 28168,
                            "end": 28197,
                            "loc": {
                              "start": {
                                "line": 683,
                                "column": 12
                              },
                              "end": {
                                "line": 683,
                                "column": 41
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 28172,
                                "end": 28196,
                                "loc": {
                                  "start": {
                                    "line": 683,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 683,
                                    "column": 40
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 28172,
                                  "end": 28184,
                                  "loc": {
                                    "start": {
                                      "line": 683,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 683,
                                      "column": 28
                                    }
                                  },
                                  "name": "subStateDiff"
                                },
                                "init": {
                                  "type": "NewExpression",
                                  "start": 28187,
                                  "end": 28196,
                                  "loc": {
                                    "start": {
                                      "line": 683,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 683,
                                      "column": 40
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 28191,
                                    "end": 28194,
                                    "loc": {
                                      "start": {
                                        "line": 683,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 683,
                                        "column": 38
                                      }
                                    },
                                    "name": "Map"
                                  },
                                  "arguments": []
                                }
                              }
                            ],
                            "kind": "var"
                          },
                          {
                            "type": "IfStatement",
                            "start": 28210,
                            "end": 28365,
                            "loc": {
                              "start": {
                                "line": 684,
                                "column": 12
                              },
                              "end": {
                                "line": 685,
                                "column": 122
                              }
                            },
                            "test": {
                              "type": "CallExpression",
                              "start": 28214,
                              "end": 28241,
                              "loc": {
                                "start": {
                                  "line": 684,
                                  "column": 16
                                },
                                "end": {
                                  "line": 684,
                                  "column": 43
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 28214,
                                "end": 28227,
                                "loc": {
                                  "start": {
                                    "line": 684,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 684,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 28214,
                                  "end": 28223,
                                  "loc": {
                                    "start": {
                                      "line": 684,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 684,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 28214,
                                    "end": 28220,
                                    "loc": {
                                      "start": {
                                        "line": 684,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 684,
                                        "column": 22
                                      }
                                    },
                                    "name": "states"
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 28221,
                                    "end": 28222,
                                    "loc": {
                                      "start": {
                                        "line": 684,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 684,
                                        "column": 24
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 28224,
                                  "end": 28227,
                                  "loc": {
                                    "start": {
                                      "line": 684,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 684,
                                      "column": 29
                                    }
                                  },
                                  "name": "has"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 28228,
                                  "end": 28240,
                                  "loc": {
                                    "start": {
                                      "line": 684,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 684,
                                      "column": 42
                                    }
                                  },
                                  "value": "startPoint",
                                  "rawValue": "startPoint",
                                  "raw": "'startPoint'"
                                }
                              ]
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 28259,
                              "end": 28365,
                              "loc": {
                                "start": {
                                  "line": 685,
                                  "column": 16
                                },
                                "end": {
                                  "line": 685,
                                  "column": 122
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 28259,
                                "end": 28364,
                                "loc": {
                                  "start": {
                                    "line": 685,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 685,
                                    "column": 121
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 28259,
                                  "end": 28275,
                                  "loc": {
                                    "start": {
                                      "line": 685,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 685,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 28259,
                                    "end": 28271,
                                    "loc": {
                                      "start": {
                                        "line": 685,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 685,
                                        "column": 28
                                      }
                                    },
                                    "name": "subStateDiff"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 28272,
                                    "end": 28275,
                                    "loc": {
                                      "start": {
                                        "line": 685,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 685,
                                        "column": 32
                                      }
                                    },
                                    "name": "set"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 28276,
                                    "end": 28288,
                                    "loc": {
                                      "start": {
                                        "line": 685,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 685,
                                        "column": 45
                                      }
                                    },
                                    "value": "startPoint",
                                    "rawValue": "startPoint",
                                    "raw": "'startPoint'"
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 28290,
                                    "end": 28363,
                                    "loc": {
                                      "start": {
                                        "line": 685,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 685,
                                        "column": 120
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 28290,
                                      "end": 28302,
                                      "loc": {
                                        "start": {
                                          "line": 685,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 685,
                                          "column": 59
                                        }
                                      },
                                      "name": "getPointDiff"
                                    },
                                    "arguments": [
                                      {
                                        "type": "ArrayExpression",
                                        "start": 28304,
                                        "end": 28362,
                                        "loc": {
                                          "start": {
                                            "line": 685,
                                            "column": 61
                                          },
                                          "end": {
                                            "line": 685,
                                            "column": 119
                                          }
                                        },
                                        "elements": [
                                          {
                                            "type": "CallExpression",
                                            "start": 28305,
                                            "end": 28332,
                                            "loc": {
                                              "start": {
                                                "line": 685,
                                                "column": 62
                                              },
                                              "end": {
                                                "line": 685,
                                                "column": 89
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 28305,
                                              "end": 28318,
                                              "loc": {
                                                "start": {
                                                  "line": 685,
                                                  "column": 62
                                                },
                                                "end": {
                                                  "line": 685,
                                                  "column": 75
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 28305,
                                                "end": 28314,
                                                "loc": {
                                                  "start": {
                                                    "line": 685,
                                                    "column": 62
                                                  },
                                                  "end": {
                                                    "line": 685,
                                                    "column": 71
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 28305,
                                                  "end": 28311,
                                                  "loc": {
                                                    "start": {
                                                      "line": 685,
                                                      "column": 62
                                                    },
                                                    "end": {
                                                      "line": 685,
                                                      "column": 68
                                                    }
                                                  },
                                                  "name": "states"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 28312,
                                                  "end": 28313,
                                                  "loc": {
                                                    "start": {
                                                      "line": 685,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 685,
                                                      "column": 70
                                                    }
                                                  },
                                                  "value": 0,
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 28315,
                                                "end": 28318,
                                                "loc": {
                                                  "start": {
                                                    "line": 685,
                                                    "column": 72
                                                  },
                                                  "end": {
                                                    "line": 685,
                                                    "column": 75
                                                  }
                                                },
                                                "name": "get"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 28319,
                                                "end": 28331,
                                                "loc": {
                                                  "start": {
                                                    "line": 685,
                                                    "column": 76
                                                  },
                                                  "end": {
                                                    "line": 685,
                                                    "column": 88
                                                  }
                                                },
                                                "value": "startPoint",
                                                "rawValue": "startPoint",
                                                "raw": "'startPoint'"
                                              }
                                            ]
                                          },
                                          {
                                            "type": "CallExpression",
                                            "start": 28334,
                                            "end": 28361,
                                            "loc": {
                                              "start": {
                                                "line": 685,
                                                "column": 91
                                              },
                                              "end": {
                                                "line": 685,
                                                "column": 118
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 28334,
                                              "end": 28347,
                                              "loc": {
                                                "start": {
                                                  "line": 685,
                                                  "column": 91
                                                },
                                                "end": {
                                                  "line": 685,
                                                  "column": 104
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 28334,
                                                "end": 28343,
                                                "loc": {
                                                  "start": {
                                                    "line": 685,
                                                    "column": 91
                                                  },
                                                  "end": {
                                                    "line": 685,
                                                    "column": 100
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 28334,
                                                  "end": 28340,
                                                  "loc": {
                                                    "start": {
                                                      "line": 685,
                                                      "column": 91
                                                    },
                                                    "end": {
                                                      "line": 685,
                                                      "column": 97
                                                    }
                                                  },
                                                  "name": "states"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 28341,
                                                  "end": 28342,
                                                  "loc": {
                                                    "start": {
                                                      "line": 685,
                                                      "column": 98
                                                    },
                                                    "end": {
                                                      "line": 685,
                                                      "column": 99
                                                    }
                                                  },
                                                  "value": 1,
                                                  "rawValue": 1,
                                                  "raw": "1"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 28344,
                                                "end": 28347,
                                                "loc": {
                                                  "start": {
                                                    "line": 685,
                                                    "column": 101
                                                  },
                                                  "end": {
                                                    "line": 685,
                                                    "column": 104
                                                  }
                                                },
                                                "name": "get"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 28348,
                                                "end": 28360,
                                                "loc": {
                                                  "start": {
                                                    "line": 685,
                                                    "column": 105
                                                  },
                                                  "end": {
                                                    "line": 685,
                                                    "column": 117
                                                  }
                                                },
                                                "value": "startPoint",
                                                "rawValue": "startPoint",
                                                "raw": "'startPoint'"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "IfStatement",
                            "start": 28378,
                            "end": 28525,
                            "loc": {
                              "start": {
                                "line": 686,
                                "column": 12
                              },
                              "end": {
                                "line": 687,
                                "column": 116
                              }
                            },
                            "test": {
                              "type": "CallExpression",
                              "start": 28382,
                              "end": 28407,
                              "loc": {
                                "start": {
                                  "line": 686,
                                  "column": 16
                                },
                                "end": {
                                  "line": 686,
                                  "column": 41
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 28382,
                                "end": 28395,
                                "loc": {
                                  "start": {
                                    "line": 686,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 686,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 28382,
                                  "end": 28391,
                                  "loc": {
                                    "start": {
                                      "line": 686,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 686,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 28382,
                                    "end": 28388,
                                    "loc": {
                                      "start": {
                                        "line": 686,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 686,
                                        "column": 22
                                      }
                                    },
                                    "name": "states"
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 28389,
                                    "end": 28390,
                                    "loc": {
                                      "start": {
                                        "line": 686,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 686,
                                        "column": 24
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 28392,
                                  "end": 28395,
                                  "loc": {
                                    "start": {
                                      "line": 686,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 686,
                                      "column": 29
                                    }
                                  },
                                  "name": "has"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 28396,
                                  "end": 28406,
                                  "loc": {
                                    "start": {
                                      "line": 686,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 686,
                                      "column": 40
                                    }
                                  },
                                  "value": "endPoint",
                                  "rawValue": "endPoint",
                                  "raw": "'endPoint'"
                                }
                              ]
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 28425,
                              "end": 28525,
                              "loc": {
                                "start": {
                                  "line": 687,
                                  "column": 16
                                },
                                "end": {
                                  "line": 687,
                                  "column": 116
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 28425,
                                "end": 28524,
                                "loc": {
                                  "start": {
                                    "line": 687,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 687,
                                    "column": 115
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 28425,
                                  "end": 28441,
                                  "loc": {
                                    "start": {
                                      "line": 687,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 687,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 28425,
                                    "end": 28437,
                                    "loc": {
                                      "start": {
                                        "line": 687,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 687,
                                        "column": 28
                                      }
                                    },
                                    "name": "subStateDiff"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 28438,
                                    "end": 28441,
                                    "loc": {
                                      "start": {
                                        "line": 687,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 687,
                                        "column": 32
                                      }
                                    },
                                    "name": "set"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 28442,
                                    "end": 28452,
                                    "loc": {
                                      "start": {
                                        "line": 687,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 687,
                                        "column": 43
                                      }
                                    },
                                    "value": "endPoint",
                                    "rawValue": "endPoint",
                                    "raw": "'endPoint'"
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 28454,
                                    "end": 28523,
                                    "loc": {
                                      "start": {
                                        "line": 687,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 687,
                                        "column": 114
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 28454,
                                      "end": 28466,
                                      "loc": {
                                        "start": {
                                          "line": 687,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 687,
                                          "column": 57
                                        }
                                      },
                                      "name": "getPointDiff"
                                    },
                                    "arguments": [
                                      {
                                        "type": "ArrayExpression",
                                        "start": 28468,
                                        "end": 28522,
                                        "loc": {
                                          "start": {
                                            "line": 687,
                                            "column": 59
                                          },
                                          "end": {
                                            "line": 687,
                                            "column": 113
                                          }
                                        },
                                        "elements": [
                                          {
                                            "type": "CallExpression",
                                            "start": 28469,
                                            "end": 28494,
                                            "loc": {
                                              "start": {
                                                "line": 687,
                                                "column": 60
                                              },
                                              "end": {
                                                "line": 687,
                                                "column": 85
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 28469,
                                              "end": 28482,
                                              "loc": {
                                                "start": {
                                                  "line": 687,
                                                  "column": 60
                                                },
                                                "end": {
                                                  "line": 687,
                                                  "column": 73
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 28469,
                                                "end": 28478,
                                                "loc": {
                                                  "start": {
                                                    "line": 687,
                                                    "column": 60
                                                  },
                                                  "end": {
                                                    "line": 687,
                                                    "column": 69
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 28469,
                                                  "end": 28475,
                                                  "loc": {
                                                    "start": {
                                                      "line": 687,
                                                      "column": 60
                                                    },
                                                    "end": {
                                                      "line": 687,
                                                      "column": 66
                                                    }
                                                  },
                                                  "name": "states"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 28476,
                                                  "end": 28477,
                                                  "loc": {
                                                    "start": {
                                                      "line": 687,
                                                      "column": 67
                                                    },
                                                    "end": {
                                                      "line": 687,
                                                      "column": 68
                                                    }
                                                  },
                                                  "value": 0,
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 28479,
                                                "end": 28482,
                                                "loc": {
                                                  "start": {
                                                    "line": 687,
                                                    "column": 70
                                                  },
                                                  "end": {
                                                    "line": 687,
                                                    "column": 73
                                                  }
                                                },
                                                "name": "get"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 28483,
                                                "end": 28493,
                                                "loc": {
                                                  "start": {
                                                    "line": 687,
                                                    "column": 74
                                                  },
                                                  "end": {
                                                    "line": 687,
                                                    "column": 84
                                                  }
                                                },
                                                "value": "endPoint",
                                                "rawValue": "endPoint",
                                                "raw": "'endPoint'"
                                              }
                                            ]
                                          },
                                          {
                                            "type": "CallExpression",
                                            "start": 28496,
                                            "end": 28521,
                                            "loc": {
                                              "start": {
                                                "line": 687,
                                                "column": 87
                                              },
                                              "end": {
                                                "line": 687,
                                                "column": 112
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 28496,
                                              "end": 28509,
                                              "loc": {
                                                "start": {
                                                  "line": 687,
                                                  "column": 87
                                                },
                                                "end": {
                                                  "line": 687,
                                                  "column": 100
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 28496,
                                                "end": 28505,
                                                "loc": {
                                                  "start": {
                                                    "line": 687,
                                                    "column": 87
                                                  },
                                                  "end": {
                                                    "line": 687,
                                                    "column": 96
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 28496,
                                                  "end": 28502,
                                                  "loc": {
                                                    "start": {
                                                      "line": 687,
                                                      "column": 87
                                                    },
                                                    "end": {
                                                      "line": 687,
                                                      "column": 93
                                                    }
                                                  },
                                                  "name": "states"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 28503,
                                                  "end": 28504,
                                                  "loc": {
                                                    "start": {
                                                      "line": 687,
                                                      "column": 94
                                                    },
                                                    "end": {
                                                      "line": 687,
                                                      "column": 95
                                                    }
                                                  },
                                                  "value": 1,
                                                  "rawValue": 1,
                                                  "raw": "1"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 28506,
                                                "end": 28509,
                                                "loc": {
                                                  "start": {
                                                    "line": 687,
                                                    "column": 97
                                                  },
                                                  "end": {
                                                    "line": 687,
                                                    "column": 100
                                                  }
                                                },
                                                "name": "get"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 28510,
                                                "end": 28520,
                                                "loc": {
                                                  "start": {
                                                    "line": 687,
                                                    "column": 101
                                                  },
                                                  "end": {
                                                    "line": 687,
                                                    "column": 111
                                                  }
                                                },
                                                "value": "endPoint",
                                                "rawValue": "endPoint",
                                                "raw": "'endPoint'"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "IfStatement",
                            "start": 28538,
                            "end": 28677,
                            "loc": {
                              "start": {
                                "line": 688,
                                "column": 12
                              },
                              "end": {
                                "line": 689,
                                "column": 110
                              }
                            },
                            "test": {
                              "type": "CallExpression",
                              "start": 28542,
                              "end": 28565,
                              "loc": {
                                "start": {
                                  "line": 688,
                                  "column": 16
                                },
                                "end": {
                                  "line": 688,
                                  "column": 39
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 28542,
                                "end": 28555,
                                "loc": {
                                  "start": {
                                    "line": 688,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 688,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 28542,
                                  "end": 28551,
                                  "loc": {
                                    "start": {
                                      "line": 688,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 688,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 28542,
                                    "end": 28548,
                                    "loc": {
                                      "start": {
                                        "line": 688,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 688,
                                        "column": 22
                                      }
                                    },
                                    "name": "states"
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 28549,
                                    "end": 28550,
                                    "loc": {
                                      "start": {
                                        "line": 688,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 688,
                                        "column": 24
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 28552,
                                  "end": 28555,
                                  "loc": {
                                    "start": {
                                      "line": 688,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 688,
                                      "column": 29
                                    }
                                  },
                                  "name": "has"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 28556,
                                  "end": 28564,
                                  "loc": {
                                    "start": {
                                      "line": 688,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 688,
                                      "column": 38
                                    }
                                  },
                                  "value": "center",
                                  "rawValue": "center",
                                  "raw": "'center'"
                                }
                              ]
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 28583,
                              "end": 28677,
                              "loc": {
                                "start": {
                                  "line": 689,
                                  "column": 16
                                },
                                "end": {
                                  "line": 689,
                                  "column": 110
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 28583,
                                "end": 28676,
                                "loc": {
                                  "start": {
                                    "line": 689,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 689,
                                    "column": 109
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 28583,
                                  "end": 28599,
                                  "loc": {
                                    "start": {
                                      "line": 689,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 689,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 28583,
                                    "end": 28595,
                                    "loc": {
                                      "start": {
                                        "line": 689,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 689,
                                        "column": 28
                                      }
                                    },
                                    "name": "subStateDiff"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 28596,
                                    "end": 28599,
                                    "loc": {
                                      "start": {
                                        "line": 689,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 689,
                                        "column": 32
                                      }
                                    },
                                    "name": "set"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 28600,
                                    "end": 28608,
                                    "loc": {
                                      "start": {
                                        "line": 689,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 689,
                                        "column": 41
                                      }
                                    },
                                    "value": "center",
                                    "rawValue": "center",
                                    "raw": "'center'"
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 28610,
                                    "end": 28675,
                                    "loc": {
                                      "start": {
                                        "line": 689,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 689,
                                        "column": 108
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 28610,
                                      "end": 28622,
                                      "loc": {
                                        "start": {
                                          "line": 689,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 689,
                                          "column": 55
                                        }
                                      },
                                      "name": "getPointDiff"
                                    },
                                    "arguments": [
                                      {
                                        "type": "ArrayExpression",
                                        "start": 28624,
                                        "end": 28674,
                                        "loc": {
                                          "start": {
                                            "line": 689,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 689,
                                            "column": 107
                                          }
                                        },
                                        "elements": [
                                          {
                                            "type": "CallExpression",
                                            "start": 28625,
                                            "end": 28648,
                                            "loc": {
                                              "start": {
                                                "line": 689,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 689,
                                                "column": 81
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 28625,
                                              "end": 28638,
                                              "loc": {
                                                "start": {
                                                  "line": 689,
                                                  "column": 58
                                                },
                                                "end": {
                                                  "line": 689,
                                                  "column": 71
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 28625,
                                                "end": 28634,
                                                "loc": {
                                                  "start": {
                                                    "line": 689,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 689,
                                                    "column": 67
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 28625,
                                                  "end": 28631,
                                                  "loc": {
                                                    "start": {
                                                      "line": 689,
                                                      "column": 58
                                                    },
                                                    "end": {
                                                      "line": 689,
                                                      "column": 64
                                                    }
                                                  },
                                                  "name": "states"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 28632,
                                                  "end": 28633,
                                                  "loc": {
                                                    "start": {
                                                      "line": 689,
                                                      "column": 65
                                                    },
                                                    "end": {
                                                      "line": 689,
                                                      "column": 66
                                                    }
                                                  },
                                                  "value": 0,
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 28635,
                                                "end": 28638,
                                                "loc": {
                                                  "start": {
                                                    "line": 689,
                                                    "column": 68
                                                  },
                                                  "end": {
                                                    "line": 689,
                                                    "column": 71
                                                  }
                                                },
                                                "name": "get"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 28639,
                                                "end": 28647,
                                                "loc": {
                                                  "start": {
                                                    "line": 689,
                                                    "column": 72
                                                  },
                                                  "end": {
                                                    "line": 689,
                                                    "column": 80
                                                  }
                                                },
                                                "value": "center",
                                                "rawValue": "center",
                                                "raw": "'center'"
                                              }
                                            ]
                                          },
                                          {
                                            "type": "CallExpression",
                                            "start": 28650,
                                            "end": 28673,
                                            "loc": {
                                              "start": {
                                                "line": 689,
                                                "column": 83
                                              },
                                              "end": {
                                                "line": 689,
                                                "column": 106
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 28650,
                                              "end": 28663,
                                              "loc": {
                                                "start": {
                                                  "line": 689,
                                                  "column": 83
                                                },
                                                "end": {
                                                  "line": 689,
                                                  "column": 96
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 28650,
                                                "end": 28659,
                                                "loc": {
                                                  "start": {
                                                    "line": 689,
                                                    "column": 83
                                                  },
                                                  "end": {
                                                    "line": 689,
                                                    "column": 92
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 28650,
                                                  "end": 28656,
                                                  "loc": {
                                                    "start": {
                                                      "line": 689,
                                                      "column": 83
                                                    },
                                                    "end": {
                                                      "line": 689,
                                                      "column": 89
                                                    }
                                                  },
                                                  "name": "states"
                                                },
                                                "property": {
                                                  "type": "Literal",
                                                  "start": 28657,
                                                  "end": 28658,
                                                  "loc": {
                                                    "start": {
                                                      "line": 689,
                                                      "column": 90
                                                    },
                                                    "end": {
                                                      "line": 689,
                                                      "column": 91
                                                    }
                                                  },
                                                  "value": 1,
                                                  "rawValue": 1,
                                                  "raw": "1"
                                                },
                                                "computed": true
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 28660,
                                                "end": 28663,
                                                "loc": {
                                                  "start": {
                                                    "line": 689,
                                                    "column": 93
                                                  },
                                                  "end": {
                                                    "line": 689,
                                                    "column": 96
                                                  }
                                                },
                                                "name": "get"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 28664,
                                                "end": 28672,
                                                "loc": {
                                                  "start": {
                                                    "line": 689,
                                                    "column": 97
                                                  },
                                                  "end": {
                                                    "line": 689,
                                                    "column": 105
                                                  }
                                                },
                                                "value": "center",
                                                "rawValue": "center",
                                                "raw": "'center'"
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "IfStatement",
                            "start": 28690,
                            "end": 28796,
                            "loc": {
                              "start": {
                                "line": 690,
                                "column": 12
                              },
                              "end": {
                                "line": 691,
                                "column": 74
                              }
                            },
                            "test": {
                              "type": "CallExpression",
                              "start": 28694,
                              "end": 28720,
                              "loc": {
                                "start": {
                                  "line": 690,
                                  "column": 16
                                },
                                "end": {
                                  "line": 690,
                                  "column": 42
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 28694,
                                "end": 28707,
                                "loc": {
                                  "start": {
                                    "line": 690,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 690,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 28694,
                                  "end": 28703,
                                  "loc": {
                                    "start": {
                                      "line": 690,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 690,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 28694,
                                    "end": 28700,
                                    "loc": {
                                      "start": {
                                        "line": 690,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 690,
                                        "column": 22
                                      }
                                    },
                                    "name": "states"
                                  },
                                  "property": {
                                    "type": "Literal",
                                    "start": 28701,
                                    "end": 28702,
                                    "loc": {
                                      "start": {
                                        "line": 690,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 690,
                                        "column": 24
                                      }
                                    },
                                    "value": 0,
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "computed": true
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 28704,
                                  "end": 28707,
                                  "loc": {
                                    "start": {
                                      "line": 690,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 690,
                                      "column": 29
                                    }
                                  },
                                  "name": "has"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Literal",
                                  "start": 28708,
                                  "end": 28719,
                                  "loc": {
                                    "start": {
                                      "line": 690,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 690,
                                      "column": 41
                                    }
                                  },
                                  "value": "clockwise",
                                  "rawValue": "clockwise",
                                  "raw": "'clockwise'"
                                }
                              ]
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 28738,
                              "end": 28796,
                              "loc": {
                                "start": {
                                  "line": 691,
                                  "column": 16
                                },
                                "end": {
                                  "line": 691,
                                  "column": 74
                                }
                              },
                              "expression": {
                                "type": "CallExpression",
                                "start": 28738,
                                "end": 28795,
                                "loc": {
                                  "start": {
                                    "line": 691,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 691,
                                    "column": 73
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 28738,
                                  "end": 28754,
                                  "loc": {
                                    "start": {
                                      "line": 691,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 691,
                                      "column": 32
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 28738,
                                    "end": 28750,
                                    "loc": {
                                      "start": {
                                        "line": 691,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 691,
                                        "column": 28
                                      }
                                    },
                                    "name": "subStateDiff"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 28751,
                                    "end": 28754,
                                    "loc": {
                                      "start": {
                                        "line": 691,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 691,
                                        "column": 32
                                      }
                                    },
                                    "name": "set"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Literal",
                                    "start": 28755,
                                    "end": 28766,
                                    "loc": {
                                      "start": {
                                        "line": 691,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 691,
                                        "column": 44
                                      }
                                    },
                                    "value": "clockwise",
                                    "rawValue": "clockwise",
                                    "raw": "'clockwise'"
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 28768,
                                    "end": 28794,
                                    "loc": {
                                      "start": {
                                        "line": 691,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 691,
                                        "column": 72
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 28768,
                                      "end": 28781,
                                      "loc": {
                                        "start": {
                                          "line": 691,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 691,
                                          "column": 59
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 28768,
                                        "end": 28777,
                                        "loc": {
                                          "start": {
                                            "line": 691,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 691,
                                            "column": 55
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 28768,
                                          "end": 28774,
                                          "loc": {
                                            "start": {
                                              "line": 691,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 691,
                                              "column": 52
                                            }
                                          },
                                          "name": "states"
                                        },
                                        "property": {
                                          "type": "Literal",
                                          "start": 28775,
                                          "end": 28776,
                                          "loc": {
                                            "start": {
                                              "line": 691,
                                              "column": 53
                                            },
                                            "end": {
                                              "line": 691,
                                              "column": 54
                                            }
                                          },
                                          "value": 0,
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 28778,
                                        "end": 28781,
                                        "loc": {
                                          "start": {
                                            "line": 691,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 691,
                                            "column": 59
                                          }
                                        },
                                        "name": "get"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 28782,
                                        "end": 28793,
                                        "loc": {
                                          "start": {
                                            "line": 691,
                                            "column": 60
                                          },
                                          "end": {
                                            "line": 691,
                                            "column": 71
                                          }
                                        },
                                        "value": "clockwise",
                                        "rawValue": "clockwise",
                                        "raw": "'clockwise'"
                                      }
                                    ]
                                  }
                                ]
                              }
                            },
                            "alternate": null
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 28809,
                            "end": 28845,
                            "loc": {
                              "start": {
                                "line": 692,
                                "column": 12
                              },
                              "end": {
                                "line": 692,
                                "column": 48
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 28809,
                              "end": 28844,
                              "loc": {
                                "start": {
                                  "line": 692,
                                  "column": 12
                                },
                                "end": {
                                  "line": 692,
                                  "column": 47
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 28809,
                                "end": 28822,
                                "loc": {
                                  "start": {
                                    "line": 692,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 692,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 28809,
                                  "end": 28818,
                                  "loc": {
                                    "start": {
                                      "line": 692,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 692,
                                      "column": 21
                                    }
                                  },
                                  "name": "stateDiff"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 28819,
                                  "end": 28822,
                                  "loc": {
                                    "start": {
                                      "line": 692,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 692,
                                      "column": 25
                                    }
                                  },
                                  "name": "set"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 28823,
                                  "end": 28829,
                                  "loc": {
                                    "start": {
                                      "line": 692,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 692,
                                      "column": 32
                                    }
                                  },
                                  "name": "object"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 28831,
                                  "end": 28843,
                                  "loc": {
                                    "start": {
                                      "line": 692,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 692,
                                      "column": 46
                                    }
                                  },
                                  "name": "subStateDiff"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 28865,
                      "end": 29394,
                      "loc": {
                        "start": {
                          "line": 695,
                          "column": 8
                        },
                        "end": {
                          "line": 706,
                          "column": 17
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 28865,
                        "end": 29393,
                        "loc": {
                          "start": {
                            "line": 695,
                            "column": 8
                          },
                          "end": {
                            "line": 706,
                            "column": 16
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 28865,
                          "end": 28882,
                          "loc": {
                            "start": {
                              "line": 695,
                              "column": 8
                            },
                            "end": {
                              "line": 695,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 28865,
                            "end": 28874,
                            "loc": {
                              "start": {
                                "line": 695,
                                "column": 8
                              },
                              "end": {
                                "line": 695,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 28865,
                              "end": 28871,
                              "loc": {
                                "start": {
                                  "line": 695,
                                  "column": 8
                                },
                                "end": {
                                  "line": 695,
                                  "column": 14
                                }
                              },
                              "name": "states"
                            },
                            "property": {
                              "type": "Literal",
                              "start": 28872,
                              "end": 28873,
                              "loc": {
                                "start": {
                                  "line": 695,
                                  "column": 15
                                },
                                "end": {
                                  "line": 695,
                                  "column": 16
                                }
                              },
                              "value": 0,
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "computed": true
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 28875,
                            "end": 28882,
                            "loc": {
                              "start": {
                                "line": 695,
                                "column": 18
                              },
                              "end": {
                                "line": 695,
                                "column": 25
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "FunctionExpression",
                            "start": 28883,
                            "end": 29386,
                            "loc": {
                              "start": {
                                "line": 695,
                                "column": 26
                              },
                              "end": {
                                "line": 706,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 28892,
                                "end": 28900,
                                "loc": {
                                  "start": {
                                    "line": 695,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 695,
                                    "column": 43
                                  }
                                },
                                "name": "subState"
                              },
                              {
                                "type": "Identifier",
                                "start": 28902,
                                "end": 28908,
                                "loc": {
                                  "start": {
                                    "line": 695,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 695,
                                    "column": 51
                                  }
                                },
                                "name": "object"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 28910,
                              "end": 29386,
                              "loc": {
                                "start": {
                                  "line": 695,
                                  "column": 53
                                },
                                "end": {
                                  "line": 706,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "start": 28924,
                                  "end": 28956,
                                  "loc": {
                                    "start": {
                                      "line": 696,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 696,
                                      "column": 44
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 28928,
                                    "end": 28947,
                                    "loc": {
                                      "start": {
                                        "line": 696,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 696,
                                        "column": 35
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 28928,
                                      "end": 28941,
                                      "loc": {
                                        "start": {
                                          "line": 696,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 696,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 28928,
                                        "end": 28936,
                                        "loc": {
                                          "start": {
                                            "line": 696,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 696,
                                            "column": 24
                                          }
                                        },
                                        "name": "subState"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 28937,
                                        "end": 28941,
                                        "loc": {
                                          "start": {
                                            "line": 696,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 696,
                                            "column": 29
                                          }
                                        },
                                        "name": "size"
                                      },
                                      "computed": false
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "Literal",
                                      "start": 28946,
                                      "end": 28947,
                                      "loc": {
                                        "start": {
                                          "line": 696,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 696,
                                          "column": 35
                                        }
                                      },
                                      "value": 0,
                                      "rawValue": 0,
                                      "raw": "0"
                                    }
                                  },
                                  "consequent": {
                                    "type": "ReturnStatement",
                                    "start": 28949,
                                    "end": 28956,
                                    "loc": {
                                      "start": {
                                        "line": 696,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 696,
                                        "column": 44
                                      }
                                    },
                                    "argument": null
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 28969,
                                  "end": 29010,
                                  "loc": {
                                    "start": {
                                      "line": 697,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 697,
                                      "column": 53
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 28973,
                                      "end": 29009,
                                      "loc": {
                                        "start": {
                                          "line": 697,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 697,
                                          "column": 52
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 28973,
                                        "end": 28985,
                                        "loc": {
                                          "start": {
                                            "line": 697,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 697,
                                            "column": 28
                                          }
                                        },
                                        "name": "nextSubState"
                                      },
                                      "init": {
                                        "type": "CallExpression",
                                        "start": 28988,
                                        "end": 29009,
                                        "loc": {
                                          "start": {
                                            "line": 697,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 697,
                                            "column": 52
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 28988,
                                          "end": 29001,
                                          "loc": {
                                            "start": {
                                              "line": 697,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 697,
                                              "column": 44
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 28988,
                                            "end": 28997,
                                            "loc": {
                                              "start": {
                                                "line": 697,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 697,
                                                "column": 40
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 28988,
                                              "end": 28994,
                                              "loc": {
                                                "start": {
                                                  "line": 697,
                                                  "column": 31
                                                },
                                                "end": {
                                                  "line": 697,
                                                  "column": 37
                                                }
                                              },
                                              "name": "states"
                                            },
                                            "property": {
                                              "type": "Literal",
                                              "start": 28995,
                                              "end": 28996,
                                              "loc": {
                                                "start": {
                                                  "line": 697,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 697,
                                                  "column": 39
                                                }
                                              },
                                              "value": 1,
                                              "rawValue": 1,
                                              "raw": "1"
                                            },
                                            "computed": true
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 28998,
                                            "end": 29001,
                                            "loc": {
                                              "start": {
                                                "line": 697,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 697,
                                                "column": 44
                                              }
                                            },
                                            "name": "get"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 29002,
                                            "end": 29008,
                                            "loc": {
                                              "start": {
                                                "line": 697,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 697,
                                                "column": 51
                                              }
                                            },
                                            "name": "object"
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "kind": "var"
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 29024,
                                  "end": 29376,
                                  "loc": {
                                    "start": {
                                      "line": 699,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 705,
                                      "column": 13
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 29028,
                                    "end": 29051,
                                    "loc": {
                                      "start": {
                                        "line": 699,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 699,
                                        "column": 39
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 29028,
                                      "end": 29034,
                                      "loc": {
                                        "start": {
                                          "line": 699,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 699,
                                          "column": 22
                                        }
                                      },
                                      "name": "object"
                                    },
                                    "operator": "instanceof",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 29046,
                                      "end": 29051,
                                      "loc": {
                                        "start": {
                                          "line": 699,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 699,
                                          "column": 39
                                        }
                                      },
                                      "name": "Point"
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 29053,
                                    "end": 29154,
                                    "loc": {
                                      "start": {
                                        "line": 699,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 701,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 29071,
                                        "end": 29140,
                                        "loc": {
                                          "start": {
                                            "line": 700,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 700,
                                            "column": 85
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 29071,
                                          "end": 29139,
                                          "loc": {
                                            "start": {
                                              "line": 700,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 700,
                                              "column": 84
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 29071,
                                            "end": 29083,
                                            "loc": {
                                              "start": {
                                                "line": 700,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 700,
                                                "column": 28
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 29071,
                                              "end": 29079,
                                              "loc": {
                                                "start": {
                                                  "line": 700,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 700,
                                                  "column": 24
                                                }
                                              },
                                              "name": "subState"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 29080,
                                              "end": 29083,
                                              "loc": {
                                                "start": {
                                                  "line": 700,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 700,
                                                  "column": 28
                                                }
                                              },
                                              "name": "set"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 29084,
                                              "end": 29090,
                                              "loc": {
                                                "start": {
                                                  "line": 700,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 700,
                                                  "column": 35
                                                }
                                              },
                                              "name": "object"
                                            },
                                            {
                                              "type": "CallExpression",
                                              "start": 29092,
                                              "end": 29138,
                                              "loc": {
                                                "start": {
                                                  "line": 700,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 700,
                                                  "column": 83
                                                }
                                              },
                                              "callee": {
                                                "type": "Identifier",
                                                "start": 29092,
                                                "end": 29104,
                                                "loc": {
                                                  "start": {
                                                    "line": 700,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 700,
                                                    "column": 49
                                                  }
                                                },
                                                "name": "getPointDiff"
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 29105,
                                                  "end": 29111,
                                                  "loc": {
                                                    "start": {
                                                      "line": 700,
                                                      "column": 50
                                                    },
                                                    "end": {
                                                      "line": 700,
                                                      "column": 56
                                                    }
                                                  },
                                                  "name": "object"
                                                },
                                                {
                                                  "type": "ArrayExpression",
                                                  "start": 29113,
                                                  "end": 29137,
                                                  "loc": {
                                                    "start": {
                                                      "line": 700,
                                                      "column": 58
                                                    },
                                                    "end": {
                                                      "line": 700,
                                                      "column": 82
                                                    }
                                                  },
                                                  "elements": [
                                                    {
                                                      "type": "Identifier",
                                                      "start": 29114,
                                                      "end": 29122,
                                                      "loc": {
                                                        "start": {
                                                          "line": 700,
                                                          "column": 59
                                                        },
                                                        "end": {
                                                          "line": 700,
                                                          "column": 67
                                                        }
                                                      },
                                                      "name": "subState"
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "start": 29124,
                                                      "end": 29136,
                                                      "loc": {
                                                        "start": {
                                                          "line": 700,
                                                          "column": 69
                                                        },
                                                        "end": {
                                                          "line": 700,
                                                          "column": 81
                                                        }
                                                      },
                                                      "name": "nextSubState"
                                                    }
                                                  ]
                                                }
                                              ]
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  },
                                  "alternate": {
                                    "type": "IfStatement",
                                    "start": 29160,
                                    "end": 29376,
                                    "loc": {
                                      "start": {
                                        "line": 701,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 705,
                                        "column": 13
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 29164,
                                      "end": 29186,
                                      "loc": {
                                        "start": {
                                          "line": 701,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 701,
                                          "column": 45
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 29164,
                                        "end": 29170,
                                        "loc": {
                                          "start": {
                                            "line": 701,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 701,
                                            "column": 29
                                          }
                                        },
                                        "name": "object"
                                      },
                                      "operator": "instanceof",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 29182,
                                        "end": 29186,
                                        "loc": {
                                          "start": {
                                            "line": 701,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 701,
                                            "column": 45
                                          }
                                        },
                                        "name": "Line"
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 29188,
                                      "end": 29266,
                                      "loc": {
                                        "start": {
                                          "line": 701,
                                          "column": 47
                                        },
                                        "end": {
                                          "line": 703,
                                          "column": 13
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 29206,
                                          "end": 29252,
                                          "loc": {
                                            "start": {
                                              "line": 702,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 702,
                                              "column": 62
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 29206,
                                            "end": 29251,
                                            "loc": {
                                              "start": {
                                                "line": 702,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 702,
                                                "column": 61
                                              }
                                            },
                                            "callee": {
                                              "type": "Identifier",
                                              "start": 29206,
                                              "end": 29217,
                                              "loc": {
                                                "start": {
                                                  "line": 702,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 702,
                                                  "column": 27
                                                }
                                              },
                                              "name": "getLineDiff"
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 29218,
                                                "end": 29224,
                                                "loc": {
                                                  "start": {
                                                    "line": 702,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 702,
                                                    "column": 34
                                                  }
                                                },
                                                "name": "object"
                                              },
                                              {
                                                "type": "ArrayExpression",
                                                "start": 29226,
                                                "end": 29250,
                                                "loc": {
                                                  "start": {
                                                    "line": 702,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 702,
                                                    "column": 60
                                                  }
                                                },
                                                "elements": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 29227,
                                                    "end": 29235,
                                                    "loc": {
                                                      "start": {
                                                        "line": 702,
                                                        "column": 37
                                                      },
                                                      "end": {
                                                        "line": 702,
                                                        "column": 45
                                                      }
                                                    },
                                                    "name": "subState"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 29237,
                                                    "end": 29249,
                                                    "loc": {
                                                      "start": {
                                                        "line": 702,
                                                        "column": 47
                                                      },
                                                      "end": {
                                                        "line": 702,
                                                        "column": 59
                                                      }
                                                    },
                                                    "name": "nextSubState"
                                                  }
                                                ]
                                              }
                                            ]
                                          }
                                        }
                                      ]
                                    },
                                    "alternate": {
                                      "type": "IfStatement",
                                      "start": 29272,
                                      "end": 29376,
                                      "loc": {
                                        "start": {
                                          "line": 703,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 705,
                                          "column": 13
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 29276,
                                        "end": 29297,
                                        "loc": {
                                          "start": {
                                            "line": 703,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 703,
                                            "column": 44
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 29276,
                                          "end": 29282,
                                          "loc": {
                                            "start": {
                                              "line": 703,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 703,
                                              "column": 29
                                            }
                                          },
                                          "name": "object"
                                        },
                                        "operator": "instanceof",
                                        "right": {
                                          "type": "Identifier",
                                          "start": 29294,
                                          "end": 29297,
                                          "loc": {
                                            "start": {
                                              "line": 703,
                                              "column": 41
                                            },
                                            "end": {
                                              "line": 703,
                                              "column": 44
                                            }
                                          },
                                          "name": "Arc"
                                        }
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "start": 29299,
                                        "end": 29376,
                                        "loc": {
                                          "start": {
                                            "line": 703,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 705,
                                            "column": 13
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "start": 29317,
                                            "end": 29362,
                                            "loc": {
                                              "start": {
                                                "line": 704,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 704,
                                                "column": 61
                                              }
                                            },
                                            "expression": {
                                              "type": "CallExpression",
                                              "start": 29317,
                                              "end": 29361,
                                              "loc": {
                                                "start": {
                                                  "line": 704,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 704,
                                                  "column": 60
                                                }
                                              },
                                              "callee": {
                                                "type": "Identifier",
                                                "start": 29317,
                                                "end": 29327,
                                                "loc": {
                                                  "start": {
                                                    "line": 704,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 704,
                                                    "column": 26
                                                  }
                                                },
                                                "name": "getArcDiff"
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 29328,
                                                  "end": 29334,
                                                  "loc": {
                                                    "start": {
                                                      "line": 704,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 704,
                                                      "column": 33
                                                    }
                                                  },
                                                  "name": "object"
                                                },
                                                {
                                                  "type": "ArrayExpression",
                                                  "start": 29336,
                                                  "end": 29360,
                                                  "loc": {
                                                    "start": {
                                                      "line": 704,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 704,
                                                      "column": 59
                                                    }
                                                  },
                                                  "elements": [
                                                    {
                                                      "type": "Identifier",
                                                      "start": 29337,
                                                      "end": 29345,
                                                      "loc": {
                                                        "start": {
                                                          "line": 704,
                                                          "column": 36
                                                        },
                                                        "end": {
                                                          "line": 704,
                                                          "column": 44
                                                        }
                                                      },
                                                      "name": "subState"
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "start": 29347,
                                                      "end": 29359,
                                                      "loc": {
                                                        "start": {
                                                          "line": 704,
                                                          "column": 46
                                                        },
                                                        "end": {
                                                          "line": 704,
                                                          "column": 58
                                                        }
                                                      },
                                                      "name": "nextSubState"
                                                    }
                                                  ]
                                                }
                                              ]
                                            }
                                          }
                                        ]
                                      },
                                      "alternate": null
                                    }
                                  }
                                }
                              ]
                            }
                          },
                          {
                            "type": "ThisExpression",
                            "start": 29388,
                            "end": 29392,
                            "loc": {
                              "start": {
                                "line": 706,
                                "column": 11
                              },
                              "end": {
                                "line": 706,
                                "column": 15
                              }
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 29404,
                      "end": 29421,
                      "loc": {
                        "start": {
                          "line": 708,
                          "column": 8
                        },
                        "end": {
                          "line": 708,
                          "column": 25
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 29411,
                        "end": 29420,
                        "loc": {
                          "start": {
                            "line": 708,
                            "column": 15
                          },
                          "end": {
                            "line": 708,
                            "column": 24
                          }
                        },
                        "name": "stateDiff"
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 29433,
              "end": 30078,
              "loc": {
                "start": {
                  "line": 711,
                  "column": 4
                },
                "end": {
                  "line": 725,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 29433,
                "end": 29447,
                "loc": {
                  "start": {
                    "line": 711,
                    "column": 4
                  },
                  "end": {
                    "line": 711,
                    "column": 18
                  }
                },
                "name": "applyStateDiff"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 29447,
                "end": 30078,
                "loc": {
                  "start": {
                    "line": 711,
                    "column": 18
                  },
                  "end": {
                    "line": 725,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 29448,
                    "end": 29457,
                    "loc": {
                      "start": {
                        "line": 711,
                        "column": 19
                      },
                      "end": {
                        "line": 711,
                        "column": 28
                      }
                    },
                    "name": "stateDiff"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 29459,
                  "end": 30078,
                  "loc": {
                    "start": {
                      "line": 711,
                      "column": 30
                    },
                    "end": {
                      "line": 725,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 29469,
                      "end": 29895,
                      "loc": {
                        "start": {
                          "line": 712,
                          "column": 8
                        },
                        "end": {
                          "line": 721,
                          "column": 17
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 29469,
                        "end": 29894,
                        "loc": {
                          "start": {
                            "line": 712,
                            "column": 8
                          },
                          "end": {
                            "line": 721,
                            "column": 16
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 29469,
                          "end": 29486,
                          "loc": {
                            "start": {
                              "line": 712,
                              "column": 8
                            },
                            "end": {
                              "line": 712,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 29469,
                            "end": 29478,
                            "loc": {
                              "start": {
                                "line": 712,
                                "column": 8
                              },
                              "end": {
                                "line": 712,
                                "column": 17
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 29479,
                            "end": 29486,
                            "loc": {
                              "start": {
                                "line": 712,
                                "column": 18
                              },
                              "end": {
                                "line": 712,
                                "column": 25
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "FunctionExpression",
                            "start": 29487,
                            "end": 29887,
                            "loc": {
                              "start": {
                                "line": 712,
                                "column": 26
                              },
                              "end": {
                                "line": 721,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 29496,
                                "end": 29503,
                                "loc": {
                                  "start": {
                                    "line": 712,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 712,
                                    "column": 42
                                  }
                                },
                                "name": "subDiff"
                              },
                              {
                                "type": "Identifier",
                                "start": 29505,
                                "end": 29511,
                                "loc": {
                                  "start": {
                                    "line": 712,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 712,
                                    "column": 50
                                  }
                                },
                                "name": "object"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 29513,
                              "end": 29887,
                              "loc": {
                                "start": {
                                  "line": 712,
                                  "column": 52
                                },
                                "end": {
                                  "line": 721,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "start": 29527,
                                  "end": 29749,
                                  "loc": {
                                    "start": {
                                      "line": 713,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 717,
                                      "column": 13
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 29531,
                                    "end": 29552,
                                    "loc": {
                                      "start": {
                                        "line": 713,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 713,
                                        "column": 37
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 29531,
                                      "end": 29538,
                                      "loc": {
                                        "start": {
                                          "line": 713,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 713,
                                          "column": 23
                                        }
                                      },
                                      "name": "subDiff"
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 29543,
                                      "end": 29552,
                                      "loc": {
                                        "start": {
                                          "line": 713,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 713,
                                          "column": 37
                                        }
                                      },
                                      "name": "undefined"
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 29554,
                                    "end": 29749,
                                    "loc": {
                                      "start": {
                                        "line": 713,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 717,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "IfStatement",
                                        "start": 29572,
                                        "end": 29664,
                                        "loc": {
                                          "start": {
                                            "line": 714,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 714,
                                            "column": 108
                                          }
                                        },
                                        "test": {
                                          "type": "UnaryExpression",
                                          "start": 29576,
                                          "end": 29600,
                                          "loc": {
                                            "start": {
                                              "line": 714,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 714,
                                              "column": 44
                                            }
                                          },
                                          "operator": "!",
                                          "prefix": true,
                                          "argument": {
                                            "type": "CallExpression",
                                            "start": 29577,
                                            "end": 29600,
                                            "loc": {
                                              "start": {
                                                "line": 714,
                                                "column": 21
                                              },
                                              "end": {
                                                "line": 714,
                                                "column": 44
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 29577,
                                              "end": 29592,
                                              "loc": {
                                                "start": {
                                                  "line": 714,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 714,
                                                  "column": 36
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 29577,
                                                "end": 29581,
                                                "loc": {
                                                  "start": {
                                                    "line": 714,
                                                    "column": 21
                                                  },
                                                  "end": {
                                                    "line": 714,
                                                    "column": 25
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 29582,
                                                "end": 29592,
                                                "loc": {
                                                  "start": {
                                                    "line": 714,
                                                    "column": 26
                                                  },
                                                  "end": {
                                                    "line": 714,
                                                    "column": 36
                                                  }
                                                },
                                                "name": "isOnSketch"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 29593,
                                                "end": 29599,
                                                "loc": {
                                                  "start": {
                                                    "line": 714,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 714,
                                                    "column": 43
                                                  }
                                                },
                                                "name": "object"
                                              }
                                            ]
                                          }
                                        },
                                        "consequent": {
                                          "type": "ExpressionStatement",
                                          "start": 29602,
                                          "end": 29664,
                                          "loc": {
                                            "start": {
                                              "line": 714,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 714,
                                              "column": 108
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 29602,
                                            "end": 29663,
                                            "loc": {
                                              "start": {
                                                "line": 714,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 714,
                                                "column": 107
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 29602,
                                              "end": 29615,
                                              "loc": {
                                                "start": {
                                                  "line": 714,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 714,
                                                  "column": 59
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 29602,
                                                "end": 29609,
                                                "loc": {
                                                  "start": {
                                                    "line": 714,
                                                    "column": 46
                                                  },
                                                  "end": {
                                                    "line": 714,
                                                    "column": 53
                                                  }
                                                },
                                                "name": "console"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 29610,
                                                "end": 29615,
                                                "loc": {
                                                  "start": {
                                                    "line": 714,
                                                    "column": 54
                                                  },
                                                  "end": {
                                                    "line": 714,
                                                    "column": 59
                                                  }
                                                },
                                                "name": "error"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Literal",
                                                "start": 29616,
                                                "end": 29651,
                                                "loc": {
                                                  "start": {
                                                    "line": 714,
                                                    "column": 60
                                                  },
                                                  "end": {
                                                    "line": 714,
                                                    "column": 95
                                                  }
                                                },
                                                "value": "sketch invariant fail: don't have",
                                                "rawValue": "sketch invariant fail: don't have",
                                                "raw": "\"sketch invariant fail: don't have\""
                                              },
                                              {
                                                "type": "MemberExpression",
                                                "start": 29653,
                                                "end": 29662,
                                                "loc": {
                                                  "start": {
                                                    "line": 714,
                                                    "column": 97
                                                  },
                                                  "end": {
                                                    "line": 714,
                                                    "column": 106
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 29653,
                                                  "end": 29659,
                                                  "loc": {
                                                    "start": {
                                                      "line": 714,
                                                      "column": 97
                                                    },
                                                    "end": {
                                                      "line": 714,
                                                      "column": 103
                                                    }
                                                  },
                                                  "name": "object"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 29660,
                                                  "end": 29662,
                                                  "loc": {
                                                    "start": {
                                                      "line": 714,
                                                      "column": 104
                                                    },
                                                    "end": {
                                                      "line": 714,
                                                      "column": 106
                                                    }
                                                  },
                                                  "name": "id"
                                                },
                                                "computed": false
                                              }
                                            ]
                                          }
                                        },
                                        "alternate": null
                                      },
                                      {
                                        "type": "ExpressionStatement",
                                        "start": 29681,
                                        "end": 29711,
                                        "loc": {
                                          "start": {
                                            "line": 715,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 715,
                                            "column": 46
                                          }
                                        },
                                        "expression": {
                                          "type": "CallExpression",
                                          "start": 29681,
                                          "end": 29710,
                                          "loc": {
                                            "start": {
                                              "line": 715,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 715,
                                              "column": 45
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 29681,
                                            "end": 29702,
                                            "loc": {
                                              "start": {
                                                "line": 715,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 715,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 29681,
                                              "end": 29685,
                                              "loc": {
                                                "start": {
                                                  "line": 715,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 715,
                                                  "column": 20
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 29686,
                                              "end": 29702,
                                              "loc": {
                                                "start": {
                                                  "line": 715,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 715,
                                                  "column": 37
                                                }
                                              },
                                              "name": "removeFromSketch"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 29703,
                                              "end": 29709,
                                              "loc": {
                                                "start": {
                                                  "line": 715,
                                                  "column": 38
                                                },
                                                "end": {
                                                  "line": 715,
                                                  "column": 44
                                                }
                                              },
                                              "name": "object"
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        "type": "ReturnStatement",
                                        "start": 29728,
                                        "end": 29735,
                                        "loc": {
                                          "start": {
                                            "line": 716,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 716,
                                            "column": 23
                                          }
                                        },
                                        "argument": null
                                      }
                                    ]
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 29762,
                                  "end": 29833,
                                  "loc": {
                                    "start": {
                                      "line": 718,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 719,
                                      "column": 41
                                    }
                                  },
                                  "test": {
                                    "type": "UnaryExpression",
                                    "start": 29766,
                                    "end": 29790,
                                    "loc": {
                                      "start": {
                                        "line": 718,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 718,
                                        "column": 40
                                      }
                                    },
                                    "operator": "!",
                                    "prefix": true,
                                    "argument": {
                                      "type": "CallExpression",
                                      "start": 29767,
                                      "end": 29790,
                                      "loc": {
                                        "start": {
                                          "line": 718,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 718,
                                          "column": 40
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 29767,
                                        "end": 29782,
                                        "loc": {
                                          "start": {
                                            "line": 718,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 718,
                                            "column": 32
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 29767,
                                          "end": 29771,
                                          "loc": {
                                            "start": {
                                              "line": 718,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 718,
                                              "column": 21
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 29772,
                                          "end": 29782,
                                          "loc": {
                                            "start": {
                                              "line": 718,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 718,
                                              "column": 32
                                            }
                                          },
                                          "name": "isOnSketch"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 29783,
                                          "end": 29789,
                                          "loc": {
                                            "start": {
                                              "line": 718,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 718,
                                              "column": 39
                                            }
                                          },
                                          "name": "object"
                                        }
                                      ]
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 29808,
                                    "end": 29833,
                                    "loc": {
                                      "start": {
                                        "line": 719,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 719,
                                        "column": 41
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 29808,
                                      "end": 29832,
                                      "loc": {
                                        "start": {
                                          "line": 719,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 719,
                                          "column": 40
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 29808,
                                        "end": 29824,
                                        "loc": {
                                          "start": {
                                            "line": 719,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 719,
                                            "column": 32
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 29808,
                                          "end": 29812,
                                          "loc": {
                                            "start": {
                                              "line": 719,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 719,
                                              "column": 20
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 29813,
                                          "end": 29824,
                                          "loc": {
                                            "start": {
                                              "line": 719,
                                              "column": 21
                                            },
                                            "end": {
                                              "line": 719,
                                              "column": 32
                                            }
                                          },
                                          "name": "addToSketch"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 29825,
                                          "end": 29831,
                                          "loc": {
                                            "start": {
                                              "line": 719,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 719,
                                              "column": 39
                                            }
                                          },
                                          "name": "object"
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 29846,
                                  "end": 29877,
                                  "loc": {
                                    "start": {
                                      "line": 720,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 720,
                                      "column": 43
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 29846,
                                    "end": 29876,
                                    "loc": {
                                      "start": {
                                        "line": 720,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 720,
                                        "column": 42
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 29846,
                                      "end": 29867,
                                      "loc": {
                                        "start": {
                                          "line": 720,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 720,
                                          "column": 33
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 29846,
                                        "end": 29852,
                                        "loc": {
                                          "start": {
                                            "line": 720,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 720,
                                            "column": 18
                                          }
                                        },
                                        "name": "object"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 29853,
                                        "end": 29867,
                                        "loc": {
                                          "start": {
                                            "line": 720,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 720,
                                            "column": 33
                                          }
                                        },
                                        "name": "applyStateDiff"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 29868,
                                        "end": 29875,
                                        "loc": {
                                          "start": {
                                            "line": 720,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 720,
                                            "column": 41
                                          }
                                        },
                                        "name": "subDiff"
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          },
                          {
                            "type": "ThisExpression",
                            "start": 29889,
                            "end": 29893,
                            "loc": {
                              "start": {
                                "line": 721,
                                "column": 11
                              },
                              "end": {
                                "line": 721,
                                "column": 15
                              }
                            }
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " geometry of any object (even not in stateDiff) could have been invalidated",
                          "start": 29904,
                          "end": 29981,
                          "loc": {
                            "start": {
                              "line": 722,
                              "column": 8
                            },
                            "end": {
                              "line": 722,
                              "column": 85
                            }
                          },
                          "range": [
                            29904,
                            29981
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 29990,
                      "end": 30072,
                      "loc": {
                        "start": {
                          "line": 723,
                          "column": 8
                        },
                        "end": {
                          "line": 724,
                          "column": 36
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 29995,
                        "end": 30005,
                        "loc": {
                          "start": {
                            "line": 723,
                            "column": 13
                          },
                          "end": {
                            "line": 723,
                            "column": 23
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 29999,
                            "end": 30005,
                            "loc": {
                              "start": {
                                "line": 723,
                                "column": 17
                              },
                              "end": {
                                "line": 723,
                                "column": 23
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 29999,
                              "end": 30005,
                              "loc": {
                                "start": {
                                  "line": 723,
                                  "column": 17
                                },
                                "end": {
                                  "line": 723,
                                  "column": 23
                                }
                              },
                              "name": "object",
                              "leadingComments": null
                            },
                            "init": null,
                            "leadingComments": null
                          }
                        ],
                        "kind": "var",
                        "leadingComments": null
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 30009,
                        "end": 30034,
                        "loc": {
                          "start": {
                            "line": 723,
                            "column": 27
                          },
                          "end": {
                            "line": 723,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 30009,
                          "end": 30032,
                          "loc": {
                            "start": {
                              "line": 723,
                              "column": 27
                            },
                            "end": {
                              "line": 723,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 30009,
                            "end": 30013,
                            "loc": {
                              "start": {
                                "line": 723,
                                "column": 27
                              },
                              "end": {
                                "line": 723,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 30014,
                            "end": 30032,
                            "loc": {
                              "start": {
                                "line": 723,
                                "column": 32
                              },
                              "end": {
                                "line": 723,
                                "column": 50
                              }
                            },
                            "name": "getObjectsOnSketch"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "body": {
                        "type": "ExpressionStatement",
                        "start": 30048,
                        "end": 30072,
                        "loc": {
                          "start": {
                            "line": 724,
                            "column": 12
                          },
                          "end": {
                            "line": 724,
                            "column": 36
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 30048,
                          "end": 30071,
                          "loc": {
                            "start": {
                              "line": 724,
                              "column": 12
                            },
                            "end": {
                              "line": 724,
                              "column": 35
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 30048,
                            "end": 30069,
                            "loc": {
                              "start": {
                                "line": 724,
                                "column": 12
                              },
                              "end": {
                                "line": 724,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 30048,
                              "end": 30054,
                              "loc": {
                                "start": {
                                  "line": 724,
                                  "column": 12
                                },
                                "end": {
                                  "line": 724,
                                  "column": 18
                                }
                              },
                              "name": "object"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 30055,
                              "end": 30069,
                              "loc": {
                                "start": {
                                  "line": 724,
                                  "column": 19
                                },
                                "end": {
                                  "line": 724,
                                  "column": 33
                                }
                              },
                              "name": "updateGeometry"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " geometry of any object (even not in stateDiff) could have been invalidated",
                          "start": 29904,
                          "end": 29981,
                          "loc": {
                            "start": {
                              "line": 722,
                              "column": 8
                            },
                            "end": {
                              "line": 722,
                              "column": 85
                            }
                          },
                          "range": [
                            29904,
                            29981
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 30084,
              "end": 30522,
              "loc": {
                "start": {
                  "line": 727,
                  "column": 4
                },
                "end": {
                  "line": 737,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 30084,
                "end": 30096,
                "loc": {
                  "start": {
                    "line": 727,
                    "column": 4
                  },
                  "end": {
                    "line": 727,
                    "column": 16
                  }
                },
                "name": "addStateDiff"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 30096,
                "end": 30522,
                "loc": {
                  "start": {
                    "line": 727,
                    "column": 16
                  },
                  "end": {
                    "line": 737,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 30097,
                    "end": 30106,
                    "loc": {
                      "start": {
                        "line": 727,
                        "column": 17
                      },
                      "end": {
                        "line": 727,
                        "column": 26
                      }
                    },
                    "name": "stateDiff"
                  },
                  {
                    "type": "Identifier",
                    "start": 30108,
                    "end": 30113,
                    "loc": {
                      "start": {
                        "line": 727,
                        "column": 28
                      },
                      "end": {
                        "line": 727,
                        "column": 33
                      }
                    },
                    "name": "alpha"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 30115,
                  "end": 30522,
                  "loc": {
                    "start": {
                      "line": 727,
                      "column": 35
                    },
                    "end": {
                      "line": 737,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 30125,
                      "end": 30339,
                      "loc": {
                        "start": {
                          "line": 728,
                          "column": 8
                        },
                        "end": {
                          "line": 733,
                          "column": 17
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 30125,
                        "end": 30338,
                        "loc": {
                          "start": {
                            "line": 728,
                            "column": 8
                          },
                          "end": {
                            "line": 733,
                            "column": 16
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 30125,
                          "end": 30142,
                          "loc": {
                            "start": {
                              "line": 728,
                              "column": 8
                            },
                            "end": {
                              "line": 728,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 30125,
                            "end": 30134,
                            "loc": {
                              "start": {
                                "line": 728,
                                "column": 8
                              },
                              "end": {
                                "line": 728,
                                "column": 17
                              }
                            },
                            "name": "stateDiff"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 30135,
                            "end": 30142,
                            "loc": {
                              "start": {
                                "line": 728,
                                "column": 18
                              },
                              "end": {
                                "line": 728,
                                "column": 25
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "FunctionExpression",
                            "start": 30143,
                            "end": 30331,
                            "loc": {
                              "start": {
                                "line": 728,
                                "column": 26
                              },
                              "end": {
                                "line": 733,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 30152,
                                "end": 30159,
                                "loc": {
                                  "start": {
                                    "line": 728,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 728,
                                    "column": 42
                                  }
                                },
                                "name": "subDiff"
                              },
                              {
                                "type": "Identifier",
                                "start": 30161,
                                "end": 30167,
                                "loc": {
                                  "start": {
                                    "line": 728,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 728,
                                    "column": 50
                                  }
                                },
                                "name": "object"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 30169,
                              "end": 30331,
                              "loc": {
                                "start": {
                                  "line": 728,
                                  "column": 52
                                },
                                "end": {
                                  "line": 733,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "start": 30183,
                                  "end": 30272,
                                  "loc": {
                                    "start": {
                                      "line": 729,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 731,
                                      "column": 13
                                    }
                                  },
                                  "test": {
                                    "type": "LogicalExpression",
                                    "start": 30187,
                                    "end": 30231,
                                    "loc": {
                                      "start": {
                                        "line": 729,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 729,
                                        "column": 60
                                      }
                                    },
                                    "left": {
                                      "type": "BinaryExpression",
                                      "start": 30187,
                                      "end": 30203,
                                      "loc": {
                                        "start": {
                                          "line": 729,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 729,
                                          "column": 32
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 30187,
                                        "end": 30194,
                                        "loc": {
                                          "start": {
                                            "line": 729,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 729,
                                            "column": 23
                                          }
                                        },
                                        "name": "subDiff"
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "Literal",
                                        "start": 30199,
                                        "end": 30203,
                                        "loc": {
                                          "start": {
                                            "line": 729,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 729,
                                            "column": 32
                                          }
                                        },
                                        "value": null,
                                        "rawValue": null,
                                        "raw": "null"
                                      }
                                    },
                                    "operator": "||",
                                    "right": {
                                      "type": "UnaryExpression",
                                      "start": 30207,
                                      "end": 30231,
                                      "loc": {
                                        "start": {
                                          "line": 729,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 729,
                                          "column": 60
                                        }
                                      },
                                      "operator": "!",
                                      "prefix": true,
                                      "argument": {
                                        "type": "CallExpression",
                                        "start": 30208,
                                        "end": 30231,
                                        "loc": {
                                          "start": {
                                            "line": 729,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 729,
                                            "column": 60
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 30208,
                                          "end": 30223,
                                          "loc": {
                                            "start": {
                                              "line": 729,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 729,
                                              "column": 52
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 30208,
                                            "end": 30212,
                                            "loc": {
                                              "start": {
                                                "line": 729,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 729,
                                                "column": 41
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 30213,
                                            "end": 30223,
                                            "loc": {
                                              "start": {
                                                "line": 729,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 729,
                                                "column": 52
                                              }
                                            },
                                            "name": "isOnSketch"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 30224,
                                            "end": 30230,
                                            "loc": {
                                              "start": {
                                                "line": 729,
                                                "column": 53
                                              },
                                              "end": {
                                                "line": 729,
                                                "column": 59
                                              }
                                            },
                                            "name": "object"
                                          }
                                        ]
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "start": 30233,
                                    "end": 30272,
                                    "loc": {
                                      "start": {
                                        "line": 729,
                                        "column": 62
                                      },
                                      "end": {
                                        "line": 731,
                                        "column": 13
                                      }
                                    },
                                    "body": [
                                      {
                                        "type": "ReturnStatement",
                                        "start": 30251,
                                        "end": 30258,
                                        "loc": {
                                          "start": {
                                            "line": 730,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 730,
                                            "column": 23
                                          }
                                        },
                                        "argument": null
                                      }
                                    ]
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 30285,
                                  "end": 30321,
                                  "loc": {
                                    "start": {
                                      "line": 732,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 732,
                                      "column": 48
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 30285,
                                    "end": 30320,
                                    "loc": {
                                      "start": {
                                        "line": 732,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 732,
                                        "column": 47
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 30285,
                                      "end": 30304,
                                      "loc": {
                                        "start": {
                                          "line": 732,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 732,
                                          "column": 31
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 30285,
                                        "end": 30291,
                                        "loc": {
                                          "start": {
                                            "line": 732,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 732,
                                            "column": 18
                                          }
                                        },
                                        "name": "object"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 30292,
                                        "end": 30304,
                                        "loc": {
                                          "start": {
                                            "line": 732,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 732,
                                            "column": 31
                                          }
                                        },
                                        "name": "addStateDiff"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 30305,
                                        "end": 30312,
                                        "loc": {
                                          "start": {
                                            "line": 732,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 732,
                                            "column": 39
                                          }
                                        },
                                        "name": "subDiff"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 30314,
                                        "end": 30319,
                                        "loc": {
                                          "start": {
                                            "line": 732,
                                            "column": 41
                                          },
                                          "end": {
                                            "line": 732,
                                            "column": 46
                                          }
                                        },
                                        "name": "alpha"
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          },
                          {
                            "type": "ThisExpression",
                            "start": 30333,
                            "end": 30337,
                            "loc": {
                              "start": {
                                "line": 733,
                                "column": 11
                              },
                              "end": {
                                "line": 733,
                                "column": 15
                              }
                            }
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " geometry of any object (even not in stateDiff) could have been invalidated",
                          "start": 30348,
                          "end": 30425,
                          "loc": {
                            "start": {
                              "line": 734,
                              "column": 8
                            },
                            "end": {
                              "line": 734,
                              "column": 85
                            }
                          },
                          "range": [
                            30348,
                            30425
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 30434,
                      "end": 30516,
                      "loc": {
                        "start": {
                          "line": 735,
                          "column": 8
                        },
                        "end": {
                          "line": 736,
                          "column": 36
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 30439,
                        "end": 30449,
                        "loc": {
                          "start": {
                            "line": 735,
                            "column": 13
                          },
                          "end": {
                            "line": 735,
                            "column": 23
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 30443,
                            "end": 30449,
                            "loc": {
                              "start": {
                                "line": 735,
                                "column": 17
                              },
                              "end": {
                                "line": 735,
                                "column": 23
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 30443,
                              "end": 30449,
                              "loc": {
                                "start": {
                                  "line": 735,
                                  "column": 17
                                },
                                "end": {
                                  "line": 735,
                                  "column": 23
                                }
                              },
                              "name": "object",
                              "leadingComments": null
                            },
                            "init": null,
                            "leadingComments": null
                          }
                        ],
                        "kind": "var",
                        "leadingComments": null
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 30453,
                        "end": 30478,
                        "loc": {
                          "start": {
                            "line": 735,
                            "column": 27
                          },
                          "end": {
                            "line": 735,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 30453,
                          "end": 30476,
                          "loc": {
                            "start": {
                              "line": 735,
                              "column": 27
                            },
                            "end": {
                              "line": 735,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 30453,
                            "end": 30457,
                            "loc": {
                              "start": {
                                "line": 735,
                                "column": 27
                              },
                              "end": {
                                "line": 735,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 30458,
                            "end": 30476,
                            "loc": {
                              "start": {
                                "line": 735,
                                "column": 32
                              },
                              "end": {
                                "line": 735,
                                "column": 50
                              }
                            },
                            "name": "getObjectsOnSketch"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "body": {
                        "type": "ExpressionStatement",
                        "start": 30492,
                        "end": 30516,
                        "loc": {
                          "start": {
                            "line": 736,
                            "column": 12
                          },
                          "end": {
                            "line": 736,
                            "column": 36
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 30492,
                          "end": 30515,
                          "loc": {
                            "start": {
                              "line": 736,
                              "column": 12
                            },
                            "end": {
                              "line": 736,
                              "column": 35
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 30492,
                            "end": 30513,
                            "loc": {
                              "start": {
                                "line": 736,
                                "column": 12
                              },
                              "end": {
                                "line": 736,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 30492,
                              "end": 30498,
                              "loc": {
                                "start": {
                                  "line": 736,
                                  "column": 12
                                },
                                "end": {
                                  "line": 736,
                                  "column": 18
                                }
                              },
                              "name": "object"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 30499,
                              "end": 30513,
                              "loc": {
                                "start": {
                                  "line": 736,
                                  "column": 19
                                },
                                "end": {
                                  "line": 736,
                                  "column": 33
                                }
                              },
                              "name": "updateGeometry"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " geometry of any object (even not in stateDiff) could have been invalidated",
                          "start": 30348,
                          "end": 30425,
                          "loc": {
                            "start": {
                              "line": 734,
                              "column": 8
                            },
                            "end": {
                              "line": 734,
                              "column": 85
                            }
                          },
                          "range": [
                            30348,
                            30425
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 30528,
              "end": 30723,
              "loc": {
                "start": {
                  "line": 739,
                  "column": 4
                },
                "end": {
                  "line": 745,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 30528,
                "end": 30544,
                "loc": {
                  "start": {
                    "line": 739,
                    "column": 4
                  },
                  "end": {
                    "line": 739,
                    "column": 20
                  }
                },
                "name": "finishedUpdating"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 30544,
                "end": 30723,
                "loc": {
                  "start": {
                    "line": 739,
                    "column": 20
                  },
                  "end": {
                    "line": 745,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 30547,
                  "end": 30723,
                  "loc": {
                    "start": {
                      "line": 739,
                      "column": 23
                    },
                    "end": {
                      "line": 745,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 30557,
                      "end": 30693,
                      "loc": {
                        "start": {
                          "line": 740,
                          "column": 8
                        },
                        "end": {
                          "line": 743,
                          "column": 29
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 30561,
                        "end": 30597,
                        "loc": {
                          "start": {
                            "line": 740,
                            "column": 12
                          },
                          "end": {
                            "line": 740,
                            "column": 48
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 30561,
                          "end": 30588,
                          "loc": {
                            "start": {
                              "line": 740,
                              "column": 12
                            },
                            "end": {
                              "line": 740,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 30561,
                            "end": 30574,
                            "loc": {
                              "start": {
                                "line": 740,
                                "column": 12
                              },
                              "end": {
                                "line": 740,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 30561,
                              "end": 30565,
                              "loc": {
                                "start": {
                                  "line": 740,
                                  "column": 12
                                },
                                "end": {
                                  "line": 740,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 30566,
                              "end": 30574,
                              "loc": {
                                "start": {
                                  "line": 740,
                                  "column": 17
                                },
                                "end": {
                                  "line": 740,
                                  "column": 25
                                }
                              },
                              "name": "sketcher"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 30575,
                            "end": 30588,
                            "loc": {
                              "start": {
                                "line": 740,
                                "column": 26
                              },
                              "end": {
                                "line": 740,
                                "column": 39
                              }
                            },
                            "name": "currentSketch"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "ThisExpression",
                          "start": 30593,
                          "end": 30597,
                          "loc": {
                            "start": {
                              "line": 740,
                              "column": 44
                            },
                            "end": {
                              "line": 740,
                              "column": 48
                            }
                          }
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 30631,
                        "end": 30650,
                        "loc": {
                          "start": {
                            "line": 741,
                            "column": 12
                          },
                          "end": {
                            "line": 741,
                            "column": 31
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 30631,
                          "end": 30649,
                          "loc": {
                            "start": {
                              "line": 741,
                              "column": 12
                            },
                            "end": {
                              "line": 741,
                              "column": 30
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 30631,
                            "end": 30647,
                            "loc": {
                              "start": {
                                "line": 741,
                                "column": 12
                              },
                              "end": {
                                "line": 741,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 30631,
                              "end": 30635,
                              "loc": {
                                "start": {
                                  "line": 741,
                                  "column": 12
                                },
                                "end": {
                                  "line": 741,
                                  "column": 16
                                }
                              },
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 30636,
                              "end": 30647,
                              "loc": {
                                "start": {
                                  "line": 741,
                                  "column": 17
                                },
                                "end": {
                                  "line": 741,
                                  "column": 28
                                }
                              },
                              "name": "infiniteBox"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "arguments": [],
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentLine",
                            "value": " FIXME less hacky",
                            "start": 30599,
                            "end": 30618,
                            "loc": {
                              "start": {
                                "line": 740,
                                "column": 50
                              },
                              "end": {
                                "line": 740,
                                "column": 69
                              }
                            },
                            "range": [
                              30599,
                              30618
                            ]
                          }
                        ]
                      },
                      "alternate": {
                        "type": "ExpressionStatement",
                        "start": 30676,
                        "end": 30693,
                        "loc": {
                          "start": {
                            "line": 743,
                            "column": 12
                          },
                          "end": {
                            "line": 743,
                            "column": 29
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 30676,
                          "end": 30692,
                          "loc": {
                            "start": {
                              "line": 743,
                              "column": 12
                            },
                            "end": {
                              "line": 743,
                              "column": 28
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 30676,
                            "end": 30690,
                            "loc": {
                              "start": {
                                "line": 743,
                                "column": 12
                              },
                              "end": {
                                "line": 743,
                                "column": 26
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 30676,
                              "end": 30680,
                              "loc": {
                                "start": {
                                  "line": 743,
                                  "column": 12
                                },
                                "end": {
                                  "line": 743,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 30681,
                              "end": 30690,
                              "loc": {
                                "start": {
                                  "line": 743,
                                  "column": 17
                                },
                                "end": {
                                  "line": 743,
                                  "column": 26
                                }
                              },
                              "name": "updateBox"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 30702,
                      "end": 30717,
                      "loc": {
                        "start": {
                          "line": 744,
                          "column": 8
                        },
                        "end": {
                          "line": 744,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 30702,
                        "end": 30716,
                        "loc": {
                          "start": {
                            "line": 744,
                            "column": 8
                          },
                          "end": {
                            "line": 744,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 30702,
                          "end": 30714,
                          "loc": {
                            "start": {
                              "line": 744,
                              "column": 8
                            },
                            "end": {
                              "line": 744,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 30702,
                            "end": 30706,
                            "loc": {
                              "start": {
                                "line": 744,
                                "column": 8
                              },
                              "end": {
                                "line": 744,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 30707,
                            "end": 30714,
                            "loc": {
                              "start": {
                                "line": 744,
                                "column": 13
                              },
                              "end": {
                                "line": 744,
                                "column": 20
                              }
                            },
                            "name": "showBox"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 30729,
              "end": 31272,
              "loc": {
                "start": {
                  "line": 747,
                  "column": 4
                },
                "end": {
                  "line": 755,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 30729,
                "end": 30745,
                "loc": {
                  "start": {
                    "line": 747,
                    "column": 4
                  },
                  "end": {
                    "line": 747,
                    "column": 20
                  }
                },
                "name": "updateFromServer"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 30745,
                "end": 31272,
                "loc": {
                  "start": {
                    "line": 747,
                    "column": 20
                  },
                  "end": {
                    "line": 755,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 30746,
                    "end": 30752,
                    "loc": {
                      "start": {
                        "line": 747,
                        "column": 21
                      },
                      "end": {
                        "line": 747,
                        "column": 27
                      }
                    },
                    "name": "server"
                  },
                  {
                    "type": "Identifier",
                    "start": 30754,
                    "end": 30772,
                    "loc": {
                      "start": {
                        "line": 747,
                        "column": 29
                      },
                      "end": {
                        "line": 747,
                        "column": 47
                      }
                    },
                    "name": "preparedStatements"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 30774,
                  "end": 31272,
                  "loc": {
                    "start": {
                      "line": 747,
                      "column": 49
                    },
                    "end": {
                      "line": 755,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 30784,
                      "end": 30810,
                      "loc": {
                        "start": {
                          "line": 748,
                          "column": 8
                        },
                        "end": {
                          "line": 748,
                          "column": 34
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 30788,
                          "end": 30809,
                          "loc": {
                            "start": {
                              "line": 748,
                              "column": 12
                            },
                            "end": {
                              "line": 748,
                              "column": 33
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 30788,
                            "end": 30792,
                            "loc": {
                              "start": {
                                "line": 748,
                                "column": 12
                              },
                              "end": {
                                "line": 748,
                                "column": 16
                              }
                            },
                            "name": "part"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 30795,
                            "end": 30809,
                            "loc": {
                              "start": {
                                "line": 748,
                                "column": 19
                              },
                              "end": {
                                "line": 748,
                                "column": 33
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 30795,
                              "end": 30807,
                              "loc": {
                                "start": {
                                  "line": 748,
                                  "column": 19
                                },
                                "end": {
                                  "line": 748,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 30795,
                                "end": 30799,
                                "loc": {
                                  "start": {
                                    "line": 748,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 748,
                                    "column": 23
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 30800,
                                "end": 30807,
                                "loc": {
                                  "start": {
                                    "line": 748,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 748,
                                    "column": 31
                                  }
                                },
                                "name": "getPart"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 30819,
                      "end": 30897,
                      "loc": {
                        "start": {
                          "line": 749,
                          "column": 8
                        },
                        "end": {
                          "line": 749,
                          "column": 86
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 30819,
                        "end": 30896,
                        "loc": {
                          "start": {
                            "line": 749,
                            "column": 8
                          },
                          "end": {
                            "line": 749,
                            "column": 85
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 30819,
                          "end": 30849,
                          "loc": {
                            "start": {
                              "line": 749,
                              "column": 8
                            },
                            "end": {
                              "line": 749,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 30819,
                            "end": 30843,
                            "loc": {
                              "start": {
                                "line": 749,
                                "column": 8
                              },
                              "end": {
                                "line": 749,
                                "column": 32
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 30819,
                              "end": 30836,
                              "loc": {
                                "start": {
                                  "line": 749,
                                  "column": 8
                                },
                                "end": {
                                  "line": 749,
                                  "column": 25
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 30819,
                                "end": 30823,
                                "loc": {
                                  "start": {
                                    "line": 749,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 749,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 30824,
                                "end": 30836,
                                "loc": {
                                  "start": {
                                    "line": 749,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 749,
                                    "column": 25
                                  }
                                },
                                "name": "__dimensions"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 30837,
                              "end": 30843,
                              "loc": {
                                "start": {
                                  "line": 749,
                                  "column": 26
                                },
                                "end": {
                                  "line": 749,
                                  "column": 32
                                }
                              },
                              "name": "remove"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 30844,
                            "end": 30849,
                            "loc": {
                              "start": {
                                "line": 749,
                                "column": 33
                              },
                              "end": {
                                "line": 749,
                                "column": 38
                              }
                            },
                            "name": "apply"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 30850,
                            "end": 30867,
                            "loc": {
                              "start": {
                                "line": 749,
                                "column": 39
                              },
                              "end": {
                                "line": 749,
                                "column": 56
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 30850,
                              "end": 30854,
                              "loc": {
                                "start": {
                                  "line": 749,
                                  "column": 39
                                },
                                "end": {
                                  "line": 749,
                                  "column": 43
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 30855,
                              "end": 30867,
                              "loc": {
                                "start": {
                                  "line": 749,
                                  "column": 44
                                },
                                "end": {
                                  "line": 749,
                                  "column": 56
                                }
                              },
                              "name": "__dimensions"
                            },
                            "computed": false
                          },
                          {
                            "type": "MemberExpression",
                            "start": 30869,
                            "end": 30895,
                            "loc": {
                              "start": {
                                "line": 749,
                                "column": 58
                              },
                              "end": {
                                "line": 749,
                                "column": 84
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 30869,
                              "end": 30886,
                              "loc": {
                                "start": {
                                  "line": 749,
                                  "column": 58
                                },
                                "end": {
                                  "line": 749,
                                  "column": 75
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 30869,
                                "end": 30873,
                                "loc": {
                                  "start": {
                                    "line": 749,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 749,
                                    "column": 62
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 30874,
                                "end": 30886,
                                "loc": {
                                  "start": {
                                    "line": 749,
                                    "column": 63
                                  },
                                  "end": {
                                    "line": 749,
                                    "column": 75
                                  }
                                },
                                "name": "__dimensions"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 30887,
                              "end": 30895,
                              "loc": {
                                "start": {
                                  "line": 749,
                                  "column": 76
                                },
                                "end": {
                                  "line": 749,
                                  "column": 84
                                }
                              },
                              "name": "children"
                            },
                            "computed": false
                          }
                        ]
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 30906,
                      "end": 31173,
                      "loc": {
                        "start": {
                          "line": 750,
                          "column": 8
                        },
                        "end": {
                          "line": 753,
                          "column": 11
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 30910,
                          "end": 31172,
                          "loc": {
                            "start": {
                              "line": 750,
                              "column": 12
                            },
                            "end": {
                              "line": 753,
                              "column": 10
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 30910,
                            "end": 30920,
                            "loc": {
                              "start": {
                                "line": 750,
                                "column": 12
                              },
                              "end": {
                                "line": 750,
                                "column": 22
                              }
                            },
                            "name": "statements"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 30923,
                            "end": 31172,
                            "loc": {
                              "start": {
                                "line": 750,
                                "column": 25
                              },
                              "end": {
                                "line": 753,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 30923,
                              "end": 30956,
                              "loc": {
                                "start": {
                                  "line": 750,
                                  "column": 25
                                },
                                "end": {
                                  "line": 750,
                                  "column": 58
                                }
                              },
                              "object": {
                                "type": "LogicalExpression",
                                "start": 30924,
                                "end": 30948,
                                "loc": {
                                  "start": {
                                    "line": 750,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 750,
                                    "column": 50
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 30924,
                                  "end": 30942,
                                  "loc": {
                                    "start": {
                                      "line": 750,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 750,
                                      "column": 44
                                    }
                                  },
                                  "name": "preparedStatements"
                                },
                                "operator": "||",
                                "right": {
                                  "type": "ArrayExpression",
                                  "start": 30946,
                                  "end": 30948,
                                  "loc": {
                                    "start": {
                                      "line": 750,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 750,
                                      "column": 50
                                    }
                                  },
                                  "elements": []
                                },
                                "parenthesizedExpression": true
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 30950,
                                "end": 30956,
                                "loc": {
                                  "start": {
                                    "line": 750,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 750,
                                    "column": 58
                                  }
                                },
                                "name": "concat"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ArrayExpression",
                                "start": 30957,
                                "end": 31171,
                                "loc": {
                                  "start": {
                                    "line": 750,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 753,
                                    "column": 9
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "CallExpression",
                                    "start": 30971,
                                    "end": 31013,
                                    "loc": {
                                      "start": {
                                        "line": 751,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 751,
                                        "column": 54
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 30971,
                                      "end": 31001,
                                      "loc": {
                                        "start": {
                                          "line": 751,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 751,
                                          "column": 42
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 30971,
                                        "end": 30978,
                                        "loc": {
                                          "start": {
                                            "line": 751,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 751,
                                            "column": 19
                                          }
                                        },
                                        "name": "Interop"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 30979,
                                        "end": 31001,
                                        "loc": {
                                          "start": {
                                            "line": 751,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 751,
                                            "column": 42
                                          }
                                        },
                                        "name": "CreateSketchDimensions"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "ThisExpression",
                                        "start": 31002,
                                        "end": 31006,
                                        "loc": {
                                          "start": {
                                            "line": 751,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 751,
                                            "column": 47
                                          }
                                        }
                                      },
                                      {
                                        "type": "Literal",
                                        "start": 31008,
                                        "end": 31012,
                                        "loc": {
                                          "start": {
                                            "line": 751,
                                            "column": 49
                                          },
                                          "end": {
                                            "line": 751,
                                            "column": 53
                                          }
                                        },
                                        "value": true,
                                        "rawValue": true,
                                        "raw": "true"
                                      }
                                    ]
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 31050,
                                    "end": 31094,
                                    "loc": {
                                      "start": {
                                        "line": 752,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 752,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 31050,
                                      "end": 31088,
                                      "loc": {
                                        "start": {
                                          "line": 752,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 752,
                                          "column": 50
                                        }
                                      },
                                      "object": {
                                        "type": "CallExpression",
                                        "start": 31050,
                                        "end": 31074,
                                        "loc": {
                                          "start": {
                                            "line": 752,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 752,
                                            "column": 36
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 31050,
                                          "end": 31068,
                                          "loc": {
                                            "start": {
                                              "line": 752,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 752,
                                              "column": 30
                                            }
                                          },
                                          "name": "getObjectStatement",
                                          "leadingComments": null
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 31069,
                                            "end": 31073,
                                            "loc": {
                                              "start": {
                                                "line": 752,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 752,
                                                "column": 35
                                              }
                                            },
                                            "name": "part"
                                          }
                                        ],
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 31075,
                                        "end": 31088,
                                        "loc": {
                                          "start": {
                                            "line": 752,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 752,
                                            "column": 50
                                          }
                                        },
                                        "name": "parseToObject"
                                      },
                                      "computed": false,
                                      "leadingComments": null
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 31089,
                                        "end": 31093,
                                        "loc": {
                                          "start": {
                                            "line": 752,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 752,
                                            "column": 55
                                          }
                                        },
                                        "name": "part"
                                      }
                                    ],
                                    "leadingComments": [
                                      {
                                        "type": "CommentLine",
                                        "value": " recreate dimensions",
                                        "start": 31015,
                                        "end": 31037,
                                        "loc": {
                                          "start": {
                                            "line": 751,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 751,
                                            "column": 78
                                          }
                                        },
                                        "range": [
                                          31015,
                                          31037
                                        ]
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 31182,
                      "end": 31266,
                      "loc": {
                        "start": {
                          "line": 754,
                          "column": 8
                        },
                        "end": {
                          "line": 754,
                          "column": 92
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 31189,
                        "end": 31265,
                        "loc": {
                          "start": {
                            "line": 754,
                            "column": 15
                          },
                          "end": {
                            "line": 754,
                            "column": 91
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 31189,
                          "end": 31204,
                          "loc": {
                            "start": {
                              "line": 754,
                              "column": 15
                            },
                            "end": {
                              "line": 754,
                              "column": 30
                            }
                          },
                          "name": "executePrepared",
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 31205,
                            "end": 31211,
                            "loc": {
                              "start": {
                                "line": 754,
                                "column": 31
                              },
                              "end": {
                                "line": 754,
                                "column": 37
                              }
                            },
                            "name": "server"
                          },
                          {
                            "type": "Identifier",
                            "start": 31213,
                            "end": 31223,
                            "loc": {
                              "start": {
                                "line": 754,
                                "column": 39
                              },
                              "end": {
                                "line": 754,
                                "column": 49
                              }
                            },
                            "name": "statements"
                          },
                          {
                            "type": "CallExpression",
                            "start": 31225,
                            "end": 31264,
                            "loc": {
                              "start": {
                                "line": 754,
                                "column": 51
                              },
                              "end": {
                                "line": 754,
                                "column": 90
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 31225,
                              "end": 31258,
                              "loc": {
                                "start": {
                                  "line": 754,
                                  "column": 51
                                },
                                "end": {
                                  "line": 754,
                                  "column": 84
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 31225,
                                "end": 31253,
                                "loc": {
                                  "start": {
                                    "line": 754,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 754,
                                    "column": 79
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 31225,
                                  "end": 31229,
                                  "loc": {
                                    "start": {
                                      "line": 754,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 754,
                                      "column": 55
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 31230,
                                  "end": 31253,
                                  "loc": {
                                    "start": {
                                      "line": 754,
                                      "column": 56
                                    },
                                    "end": {
                                      "line": 754,
                                      "column": 79
                                    }
                                  },
                                  "name": "updateDimensionsFactory"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 31254,
                                "end": 31258,
                                "loc": {
                                  "start": {
                                    "line": 754,
                                    "column": 80
                                  },
                                  "end": {
                                    "line": 754,
                                    "column": 84
                                  }
                                },
                                "name": "bind"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "start": 31259,
                                "end": 31263,
                                "loc": {
                                  "start": {
                                    "line": 754,
                                    "column": 85
                                  },
                                  "end": {
                                    "line": 754,
                                    "column": 89
                                  }
                                }
                              }
                            ]
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " update sketch and related sets (expression/geometry/dimension)",
                          "start": 31096,
                          "end": 31161,
                          "loc": {
                            "start": {
                              "line": 752,
                              "column": 58
                            },
                            "end": {
                              "line": 752,
                              "column": 123
                            }
                          },
                          "range": [
                            31096,
                            31161
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 31278,
              "end": 31570,
              "loc": {
                "start": {
                  "line": 757,
                  "column": 4
                },
                "end": {
                  "line": 761,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 31278,
                "end": 31294,
                "loc": {
                  "start": {
                    "line": 757,
                    "column": 4
                  },
                  "end": {
                    "line": 757,
                    "column": 20
                  }
                },
                "name": "solveConstraints"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 31294,
                "end": 31570,
                "loc": {
                  "start": {
                    "line": 757,
                    "column": 20
                  },
                  "end": {
                    "line": 761,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 31297,
                  "end": 31570,
                  "loc": {
                    "start": {
                      "line": 757,
                      "column": 23
                    },
                    "end": {
                      "line": 761,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 31463,
                      "end": 31564,
                      "loc": {
                        "start": {
                          "line": 760,
                          "column": 8
                        },
                        "end": {
                          "line": 760,
                          "column": 109
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 31470,
                        "end": 31563,
                        "loc": {
                          "start": {
                            "line": 760,
                            "column": 15
                          },
                          "end": {
                            "line": 760,
                            "column": 108
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 31470,
                          "end": 31552,
                          "loc": {
                            "start": {
                              "line": 760,
                              "column": 15
                            },
                            "end": {
                              "line": 760,
                              "column": 97
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 31470,
                            "end": 31547,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 15
                              },
                              "end": {
                                "line": 760,
                                "column": 92
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 31470,
                              "end": 31491,
                              "loc": {
                                "start": {
                                  "line": 760,
                                  "column": 15
                                },
                                "end": {
                                  "line": 760,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 31470,
                                "end": 31474,
                                "loc": {
                                  "start": {
                                    "line": 760,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 760,
                                    "column": 19
                                  }
                                },
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 31475,
                                "end": 31491,
                                "loc": {
                                  "start": {
                                    "line": 760,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 760,
                                    "column": 36
                                  }
                                },
                                "name": "updateFromServer"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 31492,
                                "end": 31512,
                                "loc": {
                                  "start": {
                                    "line": 760,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 760,
                                    "column": 57
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 31492,
                                  "end": 31505,
                                  "loc": {
                                    "start": {
                                      "line": 760,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 760,
                                      "column": 50
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 31492,
                                    "end": 31496,
                                    "loc": {
                                      "start": {
                                        "line": 760,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 760,
                                        "column": 41
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 31497,
                                    "end": 31505,
                                    "loc": {
                                      "start": {
                                        "line": 760,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 760,
                                        "column": 50
                                      }
                                    },
                                    "name": "sketcher"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 31506,
                                  "end": 31512,
                                  "loc": {
                                    "start": {
                                      "line": 760,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 760,
                                      "column": 57
                                    }
                                  },
                                  "name": "server"
                                },
                                "computed": false
                              },
                              {
                                "type": "ArrayExpression",
                                "start": 31514,
                                "end": 31546,
                                "loc": {
                                  "start": {
                                    "line": 760,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 760,
                                    "column": 91
                                  }
                                },
                                "elements": [
                                  {
                                    "type": "CallExpression",
                                    "start": 31515,
                                    "end": 31545,
                                    "loc": {
                                      "start": {
                                        "line": 760,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 760,
                                        "column": 90
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 31515,
                                      "end": 31539,
                                      "loc": {
                                        "start": {
                                          "line": 760,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 760,
                                          "column": 84
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 31515,
                                        "end": 31522,
                                        "loc": {
                                          "start": {
                                            "line": 760,
                                            "column": 60
                                          },
                                          "end": {
                                            "line": 760,
                                            "column": 67
                                          }
                                        },
                                        "name": "Interop"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 31523,
                                        "end": 31539,
                                        "loc": {
                                          "start": {
                                            "line": 760,
                                            "column": 68
                                          },
                                          "end": {
                                            "line": 760,
                                            "column": 84
                                          }
                                        },
                                        "name": "SolveConstraints"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "ThisExpression",
                                        "start": 31540,
                                        "end": 31544,
                                        "loc": {
                                          "start": {
                                            "line": 760,
                                            "column": 85
                                          },
                                          "end": {
                                            "line": 760,
                                            "column": 89
                                          }
                                        }
                                      }
                                    ]
                                  }
                                ]
                              }
                            ],
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 31548,
                            "end": 31552,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 93
                              },
                              "end": {
                                "line": 760,
                                "column": 97
                              }
                            },
                            "name": "then"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 31553,
                            "end": 31562,
                            "loc": {
                              "start": {
                                "line": 760,
                                "column": 98
                              },
                              "end": {
                                "line": 760,
                                "column": 107
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 31553,
                                "end": 31554,
                                "loc": {
                                  "start": {
                                    "line": 760,
                                    "column": 98
                                  },
                                  "end": {
                                    "line": 760,
                                    "column": 99
                                  }
                                },
                                "name": "r"
                              }
                            ],
                            "body": {
                              "type": "MemberExpression",
                              "start": 31558,
                              "end": 31562,
                              "loc": {
                                "start": {
                                  "line": 760,
                                  "column": 103
                                },
                                "end": {
                                  "line": 760,
                                  "column": 107
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 31558,
                                "end": 31559,
                                "loc": {
                                  "start": {
                                    "line": 760,
                                    "column": 103
                                  },
                                  "end": {
                                    "line": 760,
                                    "column": 104
                                  }
                                },
                                "name": "r"
                              },
                              "property": {
                                "type": "Literal",
                                "start": 31560,
                                "end": 31561,
                                "loc": {
                                  "start": {
                                    "line": 760,
                                    "column": 105
                                  },
                                  "end": {
                                    "line": 760,
                                    "column": 106
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "computed": true
                            }
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " return SolveConstraints result after calling updateFromServer",
                          "start": 31307,
                          "end": 31371,
                          "loc": {
                            "start": {
                              "line": 758,
                              "column": 8
                            },
                            "end": {
                              "line": 758,
                              "column": 72
                            }
                          },
                          "range": [
                            31307,
                            31371
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " see SketcherInterface.cclass for description of return values (0, 1, 2)",
                          "start": 31380,
                          "end": 31454,
                          "loc": {
                            "start": {
                              "line": 759,
                              "column": 8
                            },
                            "end": {
                              "line": 759,
                              "column": 82
                            }
                          },
                          "range": [
                            31380,
                            31454
                          ]
                        }
                      ]
                    }
                  ],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " for loop over object or objects, including child points",
                  "start": 31576,
                  "end": 31634,
                  "loc": {
                    "start": {
                      "line": 763,
                      "column": 4
                    },
                    "end": {
                      "line": 763,
                      "column": 62
                    }
                  },
                  "range": [
                    31576,
                    31634
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " if no callback specified, then all the objects are returned in array",
                  "start": 31639,
                  "end": 31710,
                  "loc": {
                    "start": {
                      "line": 764,
                      "column": 4
                    },
                    "end": {
                      "line": 764,
                      "column": 75
                    }
                  },
                  "range": [
                    31639,
                    31710
                  ]
                }
              ]
            },
            {
              "type": "MethodDefinition",
              "start": 31715,
              "end": 32262,
              "loc": {
                "start": {
                  "line": 765,
                  "column": 4
                },
                "end": {
                  "line": 784,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 31722,
                "end": 31744,
                "loc": {
                  "start": {
                    "line": 765,
                    "column": 11
                  },
                  "end": {
                    "line": 765,
                    "column": 33
                  }
                },
                "name": "ForObjectsWithChildren"
              },
              "static": true,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 31744,
                "end": 32262,
                "loc": {
                  "start": {
                    "line": 765,
                    "column": 33
                  },
                  "end": {
                    "line": 784,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 31745,
                    "end": 31749,
                    "loc": {
                      "start": {
                        "line": 765,
                        "column": 34
                      },
                      "end": {
                        "line": 765,
                        "column": 38
                      }
                    },
                    "name": "objs"
                  },
                  {
                    "type": "Identifier",
                    "start": 31751,
                    "end": 31759,
                    "loc": {
                      "start": {
                        "line": 765,
                        "column": 40
                      },
                      "end": {
                        "line": 765,
                        "column": 48
                      }
                    },
                    "name": "callback"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 31761,
                  "end": 32262,
                  "loc": {
                    "start": {
                      "line": 765,
                      "column": 50
                    },
                    "end": {
                      "line": 784,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 31771,
                      "end": 31794,
                      "loc": {
                        "start": {
                          "line": 766,
                          "column": 8
                        },
                        "end": {
                          "line": 766,
                          "column": 31
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 31775,
                          "end": 31793,
                          "loc": {
                            "start": {
                              "line": 766,
                              "column": 12
                            },
                            "end": {
                              "line": 766,
                              "column": 30
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 31775,
                            "end": 31781,
                            "loc": {
                              "start": {
                                "line": 766,
                                "column": 12
                              },
                              "end": {
                                "line": 766,
                                "column": 18
                              }
                            },
                            "name": "result"
                          },
                          "init": {
                            "type": "Identifier",
                            "start": 31784,
                            "end": 31793,
                            "loc": {
                              "start": {
                                "line": 766,
                                "column": 21
                              },
                              "end": {
                                "line": 766,
                                "column": 30
                              }
                            },
                            "name": "undefined"
                          }
                        }
                      ],
                      "kind": "var"
                    },
                    {
                      "type": "IfStatement",
                      "start": 31803,
                      "end": 31904,
                      "loc": {
                        "start": {
                          "line": 767,
                          "column": 8
                        },
                        "end": {
                          "line": 770,
                          "column": 9
                        }
                      },
                      "test": {
                        "type": "UnaryExpression",
                        "start": 31807,
                        "end": 31816,
                        "loc": {
                          "start": {
                            "line": 767,
                            "column": 12
                          },
                          "end": {
                            "line": 767,
                            "column": 21
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 31808,
                          "end": 31816,
                          "loc": {
                            "start": {
                              "line": 767,
                              "column": 13
                            },
                            "end": {
                              "line": 767,
                              "column": 21
                            }
                          },
                          "name": "callback"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 31818,
                        "end": 31904,
                        "loc": {
                          "start": {
                            "line": 767,
                            "column": 23
                          },
                          "end": {
                            "line": 770,
                            "column": 9
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 31832,
                            "end": 31844,
                            "loc": {
                              "start": {
                                "line": 768,
                                "column": 12
                              },
                              "end": {
                                "line": 768,
                                "column": 24
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 31832,
                              "end": 31843,
                              "loc": {
                                "start": {
                                  "line": 768,
                                  "column": 12
                                },
                                "end": {
                                  "line": 768,
                                  "column": 23
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 31832,
                                "end": 31838,
                                "loc": {
                                  "start": {
                                    "line": 768,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 768,
                                    "column": 18
                                  }
                                },
                                "name": "result"
                              },
                              "right": {
                                "type": "ArrayExpression",
                                "start": 31841,
                                "end": 31843,
                                "loc": {
                                  "start": {
                                    "line": 768,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 768,
                                    "column": 23
                                  }
                                },
                                "elements": []
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 31857,
                            "end": 31894,
                            "loc": {
                              "start": {
                                "line": 769,
                                "column": 12
                              },
                              "end": {
                                "line": 769,
                                "column": 49
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 31857,
                              "end": 31893,
                              "loc": {
                                "start": {
                                  "line": 769,
                                  "column": 12
                                },
                                "end": {
                                  "line": 769,
                                  "column": 48
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 31857,
                                "end": 31865,
                                "loc": {
                                  "start": {
                                    "line": 769,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 769,
                                    "column": 20
                                  }
                                },
                                "name": "callback"
                              },
                              "right": {
                                "type": "ArrowFunctionExpression",
                                "start": 31869,
                                "end": 31892,
                                "loc": {
                                  "start": {
                                    "line": 769,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 769,
                                    "column": 47
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": true,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 31869,
                                    "end": 31872,
                                    "loc": {
                                      "start": {
                                        "line": 769,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 769,
                                        "column": 27
                                      }
                                    },
                                    "name": "obj"
                                  }
                                ],
                                "body": {
                                  "type": "CallExpression",
                                  "start": 31876,
                                  "end": 31892,
                                  "loc": {
                                    "start": {
                                      "line": 769,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 769,
                                      "column": 47
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 31876,
                                    "end": 31887,
                                    "loc": {
                                      "start": {
                                        "line": 769,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 769,
                                        "column": 42
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 31876,
                                      "end": 31882,
                                      "loc": {
                                        "start": {
                                          "line": 769,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 769,
                                          "column": 37
                                        }
                                      },
                                      "name": "result"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 31883,
                                      "end": 31887,
                                      "loc": {
                                        "start": {
                                          "line": 769,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 769,
                                          "column": 42
                                        }
                                      },
                                      "name": "push"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 31888,
                                      "end": 31891,
                                      "loc": {
                                        "start": {
                                          "line": 769,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 769,
                                          "column": 46
                                        }
                                      },
                                      "name": "obj"
                                    }
                                  ]
                                },
                                "parenthesizedExpression": true
                              }
                            }
                          }
                        ]
                      },
                      "alternate": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 31914,
                      "end": 31937,
                      "loc": {
                        "start": {
                          "line": 772,
                          "column": 8
                        },
                        "end": {
                          "line": 772,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 31914,
                        "end": 31936,
                        "loc": {
                          "start": {
                            "line": 772,
                            "column": 8
                          },
                          "end": {
                            "line": 772,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 31914,
                          "end": 31918,
                          "loc": {
                            "start": {
                              "line": 772,
                              "column": 8
                            },
                            "end": {
                              "line": 772,
                              "column": 12
                            }
                          },
                          "name": "objs"
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 31921,
                          "end": 31936,
                          "loc": {
                            "start": {
                              "line": 772,
                              "column": 15
                            },
                            "end": {
                              "line": 772,
                              "column": 30
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 31921,
                            "end": 31930,
                            "loc": {
                              "start": {
                                "line": 772,
                                "column": 15
                              },
                              "end": {
                                "line": 772,
                                "column": 24
                              }
                            },
                            "object": {
                              "type": "ArrayExpression",
                              "start": 31921,
                              "end": 31923,
                              "loc": {
                                "start": {
                                  "line": 772,
                                  "column": 15
                                },
                                "end": {
                                  "line": 772,
                                  "column": 17
                                }
                              },
                              "elements": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 31924,
                              "end": 31930,
                              "loc": {
                                "start": {
                                  "line": 772,
                                  "column": 18
                                },
                                "end": {
                                  "line": 772,
                                  "column": 24
                                }
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 31931,
                              "end": 31935,
                              "loc": {
                                "start": {
                                  "line": 772,
                                  "column": 25
                                },
                                "end": {
                                  "line": 772,
                                  "column": 29
                                }
                              },
                              "name": "objs"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 31946,
                      "end": 32232,
                      "loc": {
                        "start": {
                          "line": 773,
                          "column": 8
                        },
                        "end": {
                          "line": 781,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 31946,
                        "end": 32231,
                        "loc": {
                          "start": {
                            "line": 773,
                            "column": 8
                          },
                          "end": {
                            "line": 781,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 31946,
                          "end": 31958,
                          "loc": {
                            "start": {
                              "line": 773,
                              "column": 8
                            },
                            "end": {
                              "line": 773,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 31946,
                            "end": 31950,
                            "loc": {
                              "start": {
                                "line": 773,
                                "column": 8
                              },
                              "end": {
                                "line": 773,
                                "column": 12
                              }
                            },
                            "name": "objs"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 31951,
                            "end": 31958,
                            "loc": {
                              "start": {
                                "line": 773,
                                "column": 13
                              },
                              "end": {
                                "line": 773,
                                "column": 20
                              }
                            },
                            "name": "forEach"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 31959,
                            "end": 32230,
                            "loc": {
                              "start": {
                                "line": 773,
                                "column": 21
                              },
                              "end": {
                                "line": 781,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 31959,
                                "end": 31962,
                                "loc": {
                                  "start": {
                                    "line": 773,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 773,
                                    "column": 24
                                  }
                                },
                                "name": "obj"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 31966,
                              "end": 32230,
                              "loc": {
                                "start": {
                                  "line": 773,
                                  "column": 28
                                },
                                "end": {
                                  "line": 781,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "start": 31980,
                                  "end": 31997,
                                  "loc": {
                                    "start": {
                                      "line": 774,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 774,
                                      "column": 29
                                    }
                                  },
                                  "test": {
                                    "type": "UnaryExpression",
                                    "start": 31984,
                                    "end": 31988,
                                    "loc": {
                                      "start": {
                                        "line": 774,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 774,
                                        "column": 20
                                      }
                                    },
                                    "operator": "!",
                                    "prefix": true,
                                    "argument": {
                                      "type": "Identifier",
                                      "start": 31985,
                                      "end": 31988,
                                      "loc": {
                                        "start": {
                                          "line": 774,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 774,
                                          "column": 20
                                        }
                                      },
                                      "name": "obj"
                                    }
                                  },
                                  "consequent": {
                                    "type": "ReturnStatement",
                                    "start": 31990,
                                    "end": 31997,
                                    "loc": {
                                      "start": {
                                        "line": 774,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 774,
                                        "column": 29
                                      }
                                    },
                                    "argument": null
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 32010,
                                  "end": 32024,
                                  "loc": {
                                    "start": {
                                      "line": 775,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 775,
                                      "column": 26
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 32010,
                                    "end": 32023,
                                    "loc": {
                                      "start": {
                                        "line": 775,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 775,
                                        "column": 25
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 32010,
                                      "end": 32018,
                                      "loc": {
                                        "start": {
                                          "line": 775,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 775,
                                          "column": 20
                                        }
                                      },
                                      "name": "callback"
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 32019,
                                        "end": 32022,
                                        "loc": {
                                          "start": {
                                            "line": 775,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 775,
                                            "column": 24
                                          }
                                        },
                                        "name": "obj"
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 32037,
                                  "end": 32070,
                                  "loc": {
                                    "start": {
                                      "line": 776,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 776,
                                      "column": 45
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 32041,
                                    "end": 32061,
                                    "loc": {
                                      "start": {
                                        "line": 776,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 776,
                                        "column": 36
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 32041,
                                      "end": 32044,
                                      "loc": {
                                        "start": {
                                          "line": 776,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 776,
                                          "column": 19
                                        }
                                      },
                                      "name": "obj"
                                    },
                                    "operator": "instanceof",
                                    "right": {
                                      "type": "Identifier",
                                      "start": 32056,
                                      "end": 32061,
                                      "loc": {
                                        "start": {
                                          "line": 776,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 776,
                                          "column": 36
                                        }
                                      },
                                      "name": "Point"
                                    }
                                  },
                                  "consequent": {
                                    "type": "ReturnStatement",
                                    "start": 32063,
                                    "end": 32070,
                                    "loc": {
                                      "start": {
                                        "line": 776,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 776,
                                        "column": 45
                                      }
                                    },
                                    "argument": null
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 32083,
                                  "end": 32144,
                                  "loc": {
                                    "start": {
                                      "line": 777,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 778,
                                      "column": 45
                                    }
                                  },
                                  "test": {
                                    "type": "MemberExpression",
                                    "start": 32087,
                                    "end": 32097,
                                    "loc": {
                                      "start": {
                                        "line": 777,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 777,
                                        "column": 26
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 32087,
                                      "end": 32090,
                                      "loc": {
                                        "start": {
                                          "line": 777,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 777,
                                          "column": 19
                                        }
                                      },
                                      "name": "obj"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 32091,
                                      "end": 32097,
                                      "loc": {
                                        "start": {
                                          "line": 777,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 777,
                                          "column": 26
                                        }
                                      },
                                      "name": "points"
                                    },
                                    "computed": false
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 32115,
                                    "end": 32144,
                                    "loc": {
                                      "start": {
                                        "line": 778,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 778,
                                        "column": 45
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 32115,
                                      "end": 32143,
                                      "loc": {
                                        "start": {
                                          "line": 778,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 778,
                                          "column": 44
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 32115,
                                        "end": 32133,
                                        "loc": {
                                          "start": {
                                            "line": 778,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 778,
                                            "column": 34
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 32115,
                                          "end": 32125,
                                          "loc": {
                                            "start": {
                                              "line": 778,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 778,
                                              "column": 26
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 32115,
                                            "end": 32118,
                                            "loc": {
                                              "start": {
                                                "line": 778,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 778,
                                                "column": 19
                                              }
                                            },
                                            "name": "obj"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 32119,
                                            "end": 32125,
                                            "loc": {
                                              "start": {
                                                "line": 778,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 778,
                                                "column": 26
                                              }
                                            },
                                            "name": "points"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 32126,
                                          "end": 32133,
                                          "loc": {
                                            "start": {
                                              "line": 778,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 778,
                                              "column": 34
                                            }
                                          },
                                          "name": "forEach"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 32134,
                                          "end": 32142,
                                          "loc": {
                                            "start": {
                                              "line": 778,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 778,
                                              "column": 43
                                            }
                                          },
                                          "name": "callback"
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 32157,
                                  "end": 32220,
                                  "loc": {
                                    "start": {
                                      "line": 779,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 780,
                                      "column": 42
                                    }
                                  },
                                  "test": {
                                    "type": "MemberExpression",
                                    "start": 32161,
                                    "end": 32176,
                                    "loc": {
                                      "start": {
                                        "line": 779,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 779,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 32161,
                                      "end": 32164,
                                      "loc": {
                                        "start": {
                                          "line": 779,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 779,
                                          "column": 19
                                        }
                                      },
                                      "name": "obj"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 32165,
                                      "end": 32176,
                                      "loc": {
                                        "start": {
                                          "line": 779,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 779,
                                          "column": 31
                                        }
                                      },
                                      "name": "centerPoint"
                                    },
                                    "computed": false
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 32194,
                                    "end": 32220,
                                    "loc": {
                                      "start": {
                                        "line": 780,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 780,
                                        "column": 42
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 32194,
                                      "end": 32219,
                                      "loc": {
                                        "start": {
                                          "line": 780,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 780,
                                          "column": 41
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 32194,
                                        "end": 32202,
                                        "loc": {
                                          "start": {
                                            "line": 780,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 780,
                                            "column": 24
                                          }
                                        },
                                        "name": "callback"
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 32203,
                                          "end": 32218,
                                          "loc": {
                                            "start": {
                                              "line": 780,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 780,
                                              "column": 40
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 32203,
                                            "end": 32206,
                                            "loc": {
                                              "start": {
                                                "line": 780,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 780,
                                                "column": 28
                                              }
                                            },
                                            "name": "obj"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 32207,
                                            "end": 32218,
                                            "loc": {
                                              "start": {
                                                "line": 780,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 780,
                                                "column": 40
                                              }
                                            },
                                            "name": "centerPoint"
                                          },
                                          "computed": false
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                }
                              ]
                            }
                          }
                        ]
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 32242,
                      "end": 32256,
                      "loc": {
                        "start": {
                          "line": 783,
                          "column": 8
                        },
                        "end": {
                          "line": 783,
                          "column": 22
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 32249,
                        "end": 32255,
                        "loc": {
                          "start": {
                            "line": 783,
                            "column": 15
                          },
                          "end": {
                            "line": 783,
                            "column": 21
                          }
                        },
                        "name": "result"
                      }
                    }
                  ]
                }
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " for loop over object or objects, including child points",
                  "start": 31576,
                  "end": 31634,
                  "loc": {
                    "start": {
                      "line": 763,
                      "column": 4
                    },
                    "end": {
                      "line": 763,
                      "column": 62
                    }
                  },
                  "range": [
                    31576,
                    31634
                  ]
                },
                {
                  "type": "CommentLine",
                  "value": " if no callback specified, then all the objects are returned in array",
                  "start": 31639,
                  "end": 31710,
                  "loc": {
                    "start": {
                      "line": 764,
                      "column": 4
                    },
                    "end": {
                      "line": 764,
                      "column": 75
                    }
                  },
                  "range": [
                    31639,
                    31710
                  ]
                }
              ]
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      }
    },
    {
      "type": "ExpressionStatement",
      "start": 32266,
      "end": 32316,
      "loc": {
        "start": {
          "line": 787,
          "column": 0
        },
        "end": {
          "line": 787,
          "column": 50
        }
      },
      "expression": {
        "type": "AssignmentExpression",
        "start": 32266,
        "end": 32315,
        "loc": {
          "start": {
            "line": 787,
            "column": 0
          },
          "end": {
            "line": 787,
            "column": 49
          }
        },
        "operator": "=",
        "left": {
          "type": "MemberExpression",
          "start": 32266,
          "end": 32306,
          "loc": {
            "start": {
              "line": 787,
              "column": 0
            },
            "end": {
              "line": 787,
              "column": 40
            }
          },
          "object": {
            "type": "MemberExpression",
            "start": 32266,
            "end": 32293,
            "loc": {
              "start": {
                "line": 787,
                "column": 0
              },
              "end": {
                "line": 787,
                "column": 27
              }
            },
            "object": {
              "type": "Identifier",
              "start": 32266,
              "end": 32280,
              "loc": {
                "start": {
                  "line": 787,
                  "column": 0
                },
                "end": {
                  "line": 787,
                  "column": 14
                }
              },
              "name": "ClassCadObject"
            },
            "property": {
              "type": "Identifier",
              "start": 32281,
              "end": 32293,
              "loc": {
                "start": {
                  "line": 787,
                  "column": 15
                },
                "end": {
                  "line": 787,
                  "column": 27
                }
              },
              "name": "classMapping"
            },
            "computed": false
          },
          "property": {
            "type": "Literal",
            "start": 32294,
            "end": 32305,
            "loc": {
              "start": {
                "line": 787,
                "column": 28
              },
              "end": {
                "line": 787,
                "column": 39
              }
            },
            "value": "CC_Sketch",
            "rawValue": "CC_Sketch",
            "raw": "'CC_Sketch'"
          },
          "computed": true
        },
        "right": {
          "type": "Identifier",
          "start": 32309,
          "end": 32315,
          "loc": {
            "start": {
              "line": 787,
              "column": 43
            },
            "end": {
              "line": 787,
              "column": 49
            }
          },
          "name": "Sketch"
        }
      }
    }
  ]
}